@covalent/core 4.0.0-alpha.0 → 4.0.0-beta.1

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 (545) hide show
  1. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +3 -0
  2. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +3 -0
  3. package/breadcrumbs/breadcrumbs.component.d.ts +3 -0
  4. package/breadcrumbs/breadcrumbs.component.scss +1 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  6. package/breadcrumbs/covalent-core-breadcrumbs.d.ts +1 -0
  7. package/breadcrumbs/package.json +6 -7
  8. package/common/_common-theme.scss +2 -0
  9. package/common/common.module.d.ts +15 -0
  10. package/common/covalent-core-common.d.ts +1 -2
  11. package/common/directives/fullscreen/fullscreen.directive.d.ts +3 -0
  12. package/common/forms/auto-trim/auto-trim.directive.d.ts +3 -0
  13. package/common/material-icons.css +31 -18
  14. package/common/material-icons.css.map +1 -1
  15. package/common/package.json +6 -7
  16. package/common/pipes/bytes/bytes.pipe.d.ts +3 -0
  17. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +3 -0
  18. package/common/pipes/digits/digits.pipe.d.ts +3 -0
  19. package/common/pipes/time-ago/time-ago.pipe.d.ts +3 -0
  20. package/common/pipes/time-difference/time-difference.pipe.d.ts +3 -0
  21. package/common/pipes/time-until/time-until.pipe.d.ts +3 -0
  22. package/common/pipes/truncate/truncate.pipe.d.ts +3 -0
  23. package/common/platform.css +11828 -10433
  24. package/common/platform.css.map +1 -1
  25. package/common/services/icon.service.d.ts +3 -0
  26. package/common/services/router-path.service.d.ts +3 -0
  27. package/common/styles/_layout.scss +12 -10
  28. package/common/styles/_palette-dark.scss +2 -2
  29. package/common/styles/_palette-light.scss +6 -6
  30. package/common/styles/_rtl.scss +3 -0
  31. package/common/styles/_variables.scss +5 -5
  32. package/common/styles/colors/_colors-dark.scss +327 -0
  33. package/common/styles/colors/_colors-light.scss +748 -0
  34. package/common/styles/core/_button.scss +2 -1
  35. package/common/styles/core/_card.scss +27 -7
  36. package/common/styles/core/_content.scss +2 -1
  37. package/common/styles/core/_divider.scss +1 -0
  38. package/common/styles/core/_icons.scss +2 -0
  39. package/common/styles/core/_sidenav.scss +2 -0
  40. package/common/styles/core/_structure.scss +6 -7
  41. package/common/styles/core/_toolbar.scss +7 -0
  42. package/common/styles/core/_whiteframe.scss +2 -2
  43. package/common/styles/font/_font.scss +10 -4
  44. package/common/styles/utilities/_general.scss +14 -0
  45. package/common/styles/utilities/_text.scss +21 -0
  46. package/covalent-core.d.ts +1 -0
  47. package/dialogs/_dialog-theme.scss +1 -0
  48. package/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -0
  49. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -0
  50. package/dialogs/covalent-core-dialogs.d.ts +1 -1
  51. package/dialogs/dialog.component.d.ts +9 -0
  52. package/dialogs/dialog.component.scss +5 -0
  53. package/dialogs/dialogs.module.d.ts +17 -0
  54. package/dialogs/package.json +6 -7
  55. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +3 -0
  56. package/dialogs/prompt-dialog/prompt-dialog.component.scss +1 -0
  57. package/dialogs/public-api.d.ts +1 -0
  58. package/dialogs/services/dialog.service.d.ts +3 -0
  59. package/dialogs/window-dialog/window-dialog.component.d.ts +3 -0
  60. package/dynamic-menu/covalent-core-dynamic-menu.d.ts +1 -1
  61. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +3 -0
  62. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +1 -0
  63. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +3 -0
  64. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.scss +3 -1
  65. package/dynamic-menu/dynamic-menu.component.d.ts +3 -0
  66. package/dynamic-menu/dynamic-menu.module.d.ts +13 -0
  67. package/dynamic-menu/package.json +6 -7
  68. package/dynamic-menu/public_api.d.ts +1 -0
  69. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +108 -0
  70. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +139 -0
  71. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +21 -0
  72. package/esm2020/breadcrumbs/covalent-core-breadcrumbs.mjs +5 -0
  73. package/esm2020/breadcrumbs/index.mjs +2 -0
  74. package/esm2020/breadcrumbs/public-api.mjs +4 -0
  75. package/esm2020/common/animations/bounce/bounce.animation.mjs +70 -0
  76. package/esm2020/common/animations/collapse/collapse.animation.mjs +51 -0
  77. package/esm2020/common/animations/common/interfaces.mjs +2 -0
  78. package/esm2020/common/animations/fade/fadeInOut.animation.mjs +37 -0
  79. package/esm2020/common/animations/flash/flash.animation.mjs +34 -0
  80. package/esm2020/common/animations/headshake/headshake.animation.mjs +35 -0
  81. package/esm2020/common/animations/jello/jello.animation.mjs +38 -0
  82. package/esm2020/common/animations/pulse/pulse.animation.mjs +32 -0
  83. package/esm2020/common/animations/rotate/rotate.animation.mjs +25 -0
  84. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +39 -0
  85. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  86. package/esm2020/common/behaviors/disabled.mixin.mjs +24 -0
  87. package/esm2020/common/common.module.mjs +64 -0
  88. package/esm2020/common/covalent-core-common.mjs +5 -0
  89. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  90. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  91. package/esm2020/common/forms/validators/validators.mjs +29 -0
  92. package/{esm2015/common/functions/clipboard.js → esm2020/common/functions/clipboard.mjs} +3 -10
  93. package/esm2020/common/functions/convert.mjs +84 -0
  94. package/esm2020/common/functions/download.mjs +75 -0
  95. package/esm2020/common/functions/file.mjs +16 -0
  96. package/esm2020/common/index.mjs +2 -0
  97. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +32 -0
  98. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +32 -0
  99. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  100. package/esm2020/common/pipes/time-ago/time-ago.pipe.mjs +72 -0
  101. package/esm2020/common/pipes/time-difference/time-difference.pipe.mjs +51 -0
  102. package/esm2020/common/pipes/time-until/time-until.pipe.mjs +72 -0
  103. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  104. package/esm2020/common/public-api.mjs +39 -0
  105. package/esm2020/common/services/icon.service.mjs +1089 -0
  106. package/esm2020/common/services/router-path.service.mjs +29 -0
  107. package/esm2020/covalent-core.mjs +5 -0
  108. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +54 -0
  109. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +68 -0
  110. package/esm2020/dialogs/covalent-core-dialogs.mjs +5 -0
  111. package/esm2020/dialogs/dialog.component.mjs +97 -0
  112. package/esm2020/dialogs/dialogs.module.mjs +86 -0
  113. package/esm2020/dialogs/index.mjs +2 -0
  114. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +104 -0
  115. package/esm2020/dialogs/public-api.mjs +9 -0
  116. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +199 -0
  117. package/esm2020/dialogs/services/dialog.service.mjs +168 -0
  118. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +69 -0
  119. package/esm2020/dynamic-menu/covalent-core-dynamic-menu.mjs +5 -0
  120. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +147 -0
  121. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +113 -0
  122. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +111 -0
  123. package/esm2020/dynamic-menu/dynamic-menu.module.mjs +32 -0
  124. package/esm2020/dynamic-menu/index.mjs +2 -0
  125. package/esm2020/dynamic-menu/public_api.mjs +5 -0
  126. package/esm2020/file/covalent-core-file.mjs +5 -0
  127. package/esm2020/file/directives/file-drop.directive.mjs +148 -0
  128. package/esm2020/file/directives/file-select.directive.mjs +76 -0
  129. package/esm2020/file/file-input/file-input.component.mjs +137 -0
  130. package/esm2020/file/file-upload/file-upload.component.mjs +210 -0
  131. package/esm2020/file/file.module.mjs +43 -0
  132. package/esm2020/file/index.mjs +2 -0
  133. package/esm2020/file/public-api.mjs +7 -0
  134. package/esm2020/file/services/file.service.mjs +62 -0
  135. package/esm2020/index.mjs +2 -0
  136. package/esm2020/json-formatter/covalent-core-json-formatter.mjs +5 -0
  137. package/esm2020/json-formatter/index.mjs +2 -0
  138. package/esm2020/json-formatter/json-formatter.component.mjs +302 -0
  139. package/esm2020/json-formatter/json-formatter.module.mjs +21 -0
  140. package/esm2020/json-formatter/public-api.mjs +3 -0
  141. package/esm2020/layout/covalent-core-layout.mjs +5 -0
  142. package/esm2020/layout/index.mjs +2 -0
  143. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +87 -0
  144. package/esm2020/layout/layout-footer/layout-footer.component.mjs +38 -0
  145. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +122 -0
  146. package/esm2020/layout/layout-manage-list/layout-manage-list.directives.mjs +90 -0
  147. package/esm2020/layout/layout-nav/layout-nav.component.mjs +112 -0
  148. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +215 -0
  149. package/esm2020/layout/layout-nav-list/layout-nav-list.directives.mjs +90 -0
  150. package/esm2020/layout/layout-toggle.class.mjs +95 -0
  151. package/esm2020/layout/layout.component.mjs +113 -0
  152. package/esm2020/layout/layout.directives.mjs +87 -0
  153. package/esm2020/layout/layout.module.mjs +118 -0
  154. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +306 -0
  155. package/esm2020/layout/public-api.mjs +13 -0
  156. package/esm2020/menu/covalent-core-menu.mjs +5 -0
  157. package/esm2020/menu/index.mjs +2 -0
  158. package/esm2020/menu/menu.component.mjs +23 -0
  159. package/esm2020/menu/menu.module.mjs +22 -0
  160. package/esm2020/menu/public-api.mjs +3 -0
  161. package/esm2020/message/covalent-core-message.mjs +5 -0
  162. package/esm2020/message/index.mjs +2 -0
  163. package/esm2020/message/message.component.mjs +261 -0
  164. package/esm2020/message/message.module.mjs +21 -0
  165. package/esm2020/message/public-api.mjs +3 -0
  166. package/esm2020/search/covalent-core-search.mjs +5 -0
  167. package/esm2020/search/index.mjs +2 -0
  168. package/esm2020/search/public-api.mjs +4 -0
  169. package/esm2020/search/search-box/search-box.component.mjs +220 -0
  170. package/esm2020/search/search-input/search-input.component.mjs +240 -0
  171. package/esm2020/search/search.module.mjs +24 -0
  172. package/esm2020/side-sheet/covalent-core-side-sheet.mjs +5 -0
  173. package/esm2020/side-sheet/index.mjs +2 -0
  174. package/esm2020/side-sheet/public-api.mjs +6 -0
  175. package/esm2020/side-sheet/side-sheet-container.mjs +242 -0
  176. package/esm2020/side-sheet/side-sheet-ref.mjs +21 -0
  177. package/esm2020/side-sheet/side-sheet.animation.mjs +12 -0
  178. package/esm2020/side-sheet/side-sheet.config.mjs +4 -0
  179. package/esm2020/side-sheet/side-sheet.content-directives.mjs +178 -0
  180. package/esm2020/side-sheet/side-sheet.mjs +208 -0
  181. package/esm2020/side-sheet/side-sheet.module.mjs +46 -0
  182. package/esm2020/user-profile/covalent-core-user-profile.mjs +5 -0
  183. package/esm2020/user-profile/index.mjs +2 -0
  184. package/esm2020/user-profile/public_api.mjs +4 -0
  185. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +75 -0
  186. package/esm2020/user-profile/user-profile.component.mjs +41 -0
  187. package/esm2020/user-profile/user-profile.module.mjs +26 -0
  188. package/fesm2015/covalent-core-breadcrumbs.mjs +287 -0
  189. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -0
  190. package/fesm2015/covalent-core-common.mjs +2251 -0
  191. package/fesm2015/covalent-core-common.mjs.map +1 -0
  192. package/fesm2015/covalent-core-dialogs.mjs +872 -0
  193. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  194. package/fesm2015/covalent-core-dynamic-menu.mjs +480 -0
  195. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  196. package/fesm2015/covalent-core-file.mjs +698 -0
  197. package/fesm2015/covalent-core-file.mjs.map +1 -0
  198. package/fesm2015/covalent-core-json-formatter.mjs +353 -0
  199. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  200. package/fesm2015/covalent-core-layout.mjs +1577 -0
  201. package/fesm2015/covalent-core-layout.mjs.map +1 -0
  202. package/fesm2015/covalent-core-menu.mjs +55 -0
  203. package/fesm2015/covalent-core-menu.mjs.map +1 -0
  204. package/fesm2015/covalent-core-message.mjs +309 -0
  205. package/fesm2015/covalent-core-message.mjs.map +1 -0
  206. package/fesm2015/covalent-core-search.mjs +508 -0
  207. package/fesm2015/covalent-core-search.mjs.map +1 -0
  208. package/fesm2015/covalent-core-side-sheet.mjs +733 -0
  209. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  210. package/fesm2015/covalent-core-user-profile.mjs +162 -0
  211. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  212. package/fesm2015/covalent-core.mjs +4 -0
  213. package/fesm2015/covalent-core.mjs.map +1 -0
  214. package/fesm2020/covalent-core-breadcrumbs.mjs +268 -0
  215. package/{fesm2015/covalent-core-breadcrumbs.js.map → fesm2020/covalent-core-breadcrumbs.mjs.map} +1 -1
  216. package/{fesm2015/covalent-core-common.js → fesm2020/covalent-core-common.mjs} +213 -768
  217. package/fesm2020/covalent-core-common.mjs.map +1 -0
  218. package/fesm2020/covalent-core-dialogs.mjs +812 -0
  219. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  220. package/fesm2020/covalent-core-dynamic-menu.mjs +393 -0
  221. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -0
  222. package/fesm2020/covalent-core-file.mjs +651 -0
  223. package/fesm2020/covalent-core-file.mjs.map +1 -0
  224. package/fesm2020/covalent-core-json-formatter.mjs +326 -0
  225. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -0
  226. package/fesm2020/covalent-core-layout.mjs +1414 -0
  227. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  228. package/fesm2020/covalent-core-menu.mjs +49 -0
  229. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  230. package/fesm2020/covalent-core-message.mjs +286 -0
  231. package/fesm2020/covalent-core-message.mjs.map +1 -0
  232. package/fesm2020/covalent-core-search.mjs +473 -0
  233. package/fesm2020/covalent-core-search.mjs.map +1 -0
  234. package/{fesm2015/covalent-core-side-sheet.js → fesm2020/covalent-core-side-sheet.mjs} +202 -646
  235. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -0
  236. package/fesm2020/covalent-core-user-profile.mjs +141 -0
  237. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  238. package/fesm2020/covalent-core.mjs +4 -0
  239. package/fesm2020/covalent-core.mjs.map +1 -0
  240. package/file/_file-theme.scss +1 -0
  241. package/file/covalent-core-file.d.ts +1 -0
  242. package/file/directives/file-drop.directive.d.ts +3 -0
  243. package/file/directives/file-select.directive.d.ts +3 -0
  244. package/file/file-input/file-input.component.d.ts +5 -0
  245. package/file/file-input/file-input.component.scss +2 -0
  246. package/file/file-upload/file-upload.component.d.ts +3 -0
  247. package/file/file-upload/file-upload.component.scss +4 -0
  248. package/file/file.module.d.ts +13 -0
  249. package/file/package.json +6 -7
  250. package/file/services/file.service.d.ts +3 -0
  251. package/json-formatter/_json-formatter-theme.scss +10 -0
  252. package/json-formatter/covalent-core-json-formatter.d.ts +1 -0
  253. package/json-formatter/json-formatter.component.d.ts +3 -0
  254. package/json-formatter/json-formatter.component.scss +13 -0
  255. package/json-formatter/json-formatter.module.d.ts +8 -0
  256. package/json-formatter/package.json +6 -7
  257. package/layout/_layout-theme.scss +12 -0
  258. package/layout/covalent-core-layout.d.ts +1 -0
  259. package/layout/layout-card-over/layout-card-over.component.d.ts +3 -0
  260. package/layout/layout-card-over/layout-card-over.component.scss +3 -0
  261. package/layout/layout-footer/layout-footer.component.d.ts +3 -0
  262. package/layout/layout-manage-list/layout-manage-list.component.d.ts +3 -0
  263. package/layout/layout-manage-list/layout-manage-list.component.scss +9 -5
  264. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +7 -0
  265. package/layout/layout-nav/layout-nav.component.d.ts +3 -0
  266. package/layout/layout-nav/layout-nav.component.scss +4 -0
  267. package/layout/layout-nav-list/layout-nav-list.component.d.ts +3 -0
  268. package/layout/layout-nav-list/layout-nav-list.component.scss +9 -4
  269. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +7 -0
  270. package/layout/layout-toggle.class.d.ts +3 -0
  271. package/layout/layout.component.d.ts +3 -0
  272. package/layout/layout.component.scss +0 -4
  273. package/layout/layout.directives.d.ts +7 -0
  274. package/layout/layout.module.d.ts +23 -0
  275. package/layout/navigation-drawer/navigation-drawer.component.d.ts +7 -0
  276. package/layout/navigation-drawer/navigation-drawer.component.scss +8 -0
  277. package/layout/package.json +6 -7
  278. package/menu/covalent-core-menu.d.ts +1 -0
  279. package/menu/menu.component.d.ts +3 -0
  280. package/menu/menu.component.scss +9 -1
  281. package/menu/menu.module.d.ts +8 -0
  282. package/menu/package.json +6 -7
  283. package/message/_message-theme.scss +3 -0
  284. package/message/covalent-core-message.d.ts +1 -0
  285. package/message/message.component.d.ts +5 -0
  286. package/message/message.component.scss +3 -0
  287. package/message/message.module.d.ts +7 -0
  288. package/message/package.json +6 -7
  289. package/package.json +126 -15
  290. package/search/covalent-core-search.d.ts +1 -0
  291. package/search/package.json +6 -7
  292. package/search/search-box/search-box.component.d.ts +3 -0
  293. package/search/search-box/search-box.component.scss +5 -0
  294. package/search/search-input/search-input.component.d.ts +3 -0
  295. package/search/search-input/search-input.component.scss +12 -0
  296. package/search/search.module.d.ts +11 -0
  297. package/side-sheet/covalent-core-side-sheet.d.ts +1 -2
  298. package/side-sheet/package.json +6 -7
  299. package/side-sheet/side-sheet-container.d.ts +5 -0
  300. package/side-sheet/side-sheet.content-directives.d.ts +11 -0
  301. package/side-sheet/side-sheet.d.ts +5 -0
  302. package/side-sheet/side-sheet.module.d.ts +9 -0
  303. package/side-sheet/side-sheet.scss +1 -2
  304. package/theming/prebuilt/blue-grey-deep-orange.css +1714 -1333
  305. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  306. package/theming/prebuilt/blue-grey-deep-orange.scss +15 -8
  307. package/theming/prebuilt/blue-orange.css +1714 -1333
  308. package/theming/prebuilt/blue-orange.css.map +1 -1
  309. package/theming/prebuilt/blue-orange.scss +15 -8
  310. package/theming/prebuilt/indigo-pink.css +1714 -1333
  311. package/theming/prebuilt/indigo-pink.css.map +1 -1
  312. package/theming/prebuilt/indigo-pink.scss +15 -8
  313. package/theming/prebuilt/orange-light-blue.css +1714 -1333
  314. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  315. package/theming/prebuilt/orange-light-blue.scss +15 -8
  316. package/theming/prebuilt/teal-orange.css +1714 -1333
  317. package/theming/prebuilt/teal-orange.css.map +1 -1
  318. package/theming/prebuilt/teal-orange.scss +15 -8
  319. package/user-profile/covalent-core-user-profile.d.ts +1 -0
  320. package/user-profile/package.json +6 -7
  321. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +3 -0
  322. package/user-profile/user-profile-menu/user-profile-menu.component.scss +3 -0
  323. package/user-profile/user-profile.component.d.ts +3 -0
  324. package/user-profile/user-profile.module.d.ts +12 -0
  325. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +0 -1
  326. package/bundles/covalent-core-breadcrumbs.umd.js +0 -490
  327. package/bundles/covalent-core-breadcrumbs.umd.js.map +0 -1
  328. package/bundles/covalent-core-breadcrumbs.umd.min.js +0 -2
  329. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +0 -1
  330. package/bundles/covalent-core-common.umd.js +0 -3188
  331. package/bundles/covalent-core-common.umd.js.map +0 -1
  332. package/bundles/covalent-core-common.umd.min.js +0 -17
  333. package/bundles/covalent-core-common.umd.min.js.map +0 -1
  334. package/bundles/covalent-core-dialogs.umd.js +0 -1318
  335. package/bundles/covalent-core-dialogs.umd.js.map +0 -1
  336. package/bundles/covalent-core-dialogs.umd.min.js +0 -2
  337. package/bundles/covalent-core-dialogs.umd.min.js.map +0 -1
  338. package/bundles/covalent-core-dynamic-menu.umd.js +0 -215
  339. package/bundles/covalent-core-dynamic-menu.umd.js.map +0 -1
  340. package/bundles/covalent-core-dynamic-menu.umd.min.js +0 -2
  341. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +0 -1
  342. package/bundles/covalent-core-file.umd.js +0 -1211
  343. package/bundles/covalent-core-file.umd.js.map +0 -1
  344. package/bundles/covalent-core-file.umd.min.js +0 -17
  345. package/bundles/covalent-core-file.umd.min.js.map +0 -1
  346. package/bundles/covalent-core-json-formatter.umd.js +0 -408
  347. package/bundles/covalent-core-json-formatter.umd.js.map +0 -1
  348. package/bundles/covalent-core-json-formatter.umd.min.js +0 -2
  349. package/bundles/covalent-core-json-formatter.umd.min.js.map +0 -1
  350. package/bundles/covalent-core-layout.umd.js +0 -2084
  351. package/bundles/covalent-core-layout.umd.js.map +0 -1
  352. package/bundles/covalent-core-layout.umd.min.js +0 -17
  353. package/bundles/covalent-core-layout.umd.min.js.map +0 -1
  354. package/bundles/covalent-core-menu.umd.js +0 -69
  355. package/bundles/covalent-core-menu.umd.js.map +0 -1
  356. package/bundles/covalent-core-menu.umd.min.js +0 -2
  357. package/bundles/covalent-core-menu.umd.min.js.map +0 -1
  358. package/bundles/covalent-core-message.umd.js +0 -375
  359. package/bundles/covalent-core-message.umd.js.map +0 -1
  360. package/bundles/covalent-core-message.umd.min.js +0 -2
  361. package/bundles/covalent-core-message.umd.min.js.map +0 -1
  362. package/bundles/covalent-core-search.umd.js +0 -877
  363. package/bundles/covalent-core-search.umd.js.map +0 -1
  364. package/bundles/covalent-core-search.umd.min.js +0 -16
  365. package/bundles/covalent-core-search.umd.min.js.map +0 -1
  366. package/bundles/covalent-core-side-sheet.umd.js +0 -1458
  367. package/bundles/covalent-core-side-sheet.umd.js.map +0 -1
  368. package/bundles/covalent-core-side-sheet.umd.min.js +0 -16
  369. package/bundles/covalent-core-side-sheet.umd.min.js.map +0 -1
  370. package/bundles/covalent-core-user-profile.umd.js +0 -116
  371. package/bundles/covalent-core-user-profile.umd.js.map +0 -1
  372. package/bundles/covalent-core-user-profile.umd.min.js +0 -2
  373. package/bundles/covalent-core-user-profile.umd.min.js.map +0 -1
  374. package/bundles/covalent-core.umd.js +0 -9
  375. package/bundles/covalent-core.umd.js.map +0 -1
  376. package/bundles/covalent-core.umd.min.js +0 -2
  377. package/bundles/covalent-core.umd.min.js.map +0 -1
  378. package/common/covalent-core-common.metadata.json +0 -1
  379. package/covalent-core.metadata.json +0 -1
  380. package/dialogs/covalent-core-dialogs.metadata.json +0 -1
  381. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +0 -1
  382. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -171
  383. package/esm2015/breadcrumbs/breadcrumbs.component.js +0 -241
  384. package/esm2015/breadcrumbs/breadcrumbs.module.js +0 -20
  385. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +0 -10
  386. package/esm2015/breadcrumbs/index.js +0 -7
  387. package/esm2015/breadcrumbs/public-api.js +0 -9
  388. package/esm2015/common/animations/bounce/bounce.animation.js +0 -76
  389. package/esm2015/common/animations/collapse/collapse.animation.js +0 -67
  390. package/esm2015/common/animations/common/interfaces.js +0 -18
  391. package/esm2015/common/animations/fade/fadeInOut.animation.js +0 -53
  392. package/esm2015/common/animations/flash/flash.animation.js +0 -40
  393. package/esm2015/common/animations/headshake/headshake.animation.js +0 -41
  394. package/esm2015/common/animations/jello/jello.animation.js +0 -44
  395. package/esm2015/common/animations/pulse/pulse.animation.js +0 -38
  396. package/esm2015/common/animations/rotate/rotate.animation.js +0 -41
  397. package/esm2015/common/behaviors/control-value-accesor.mixin.js +0 -107
  398. package/esm2015/common/behaviors/disable-ripple.mixin.js +0 -63
  399. package/esm2015/common/behaviors/disabled.mixin.js +0 -63
  400. package/esm2015/common/common.module.js +0 -54
  401. package/esm2015/common/covalent-core-common.js +0 -12
  402. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +0 -180
  403. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +0 -46
  404. package/esm2015/common/forms/validators/validators.js +0 -58
  405. package/esm2015/common/functions/convert.js +0 -103
  406. package/esm2015/common/functions/download.js +0 -88
  407. package/esm2015/common/functions/file.js +0 -29
  408. package/esm2015/common/index.js +0 -7
  409. package/esm2015/common/pipes/bytes/bytes.pipe.js +0 -41
  410. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -41
  411. package/esm2015/common/pipes/digits/digits.pipe.js +0 -65
  412. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +0 -81
  413. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +0 -66
  414. package/esm2015/common/pipes/time-until/time-until.pipe.js +0 -81
  415. package/esm2015/common/pipes/truncate/truncate.pipe.js +0 -34
  416. package/esm2015/common/public-api.js +0 -44
  417. package/esm2015/common/services/icon.service.js +0 -1109
  418. package/esm2015/common/services/router-path.service.js +0 -60
  419. package/esm2015/covalent-core.js +0 -10
  420. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +0 -47
  421. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +0 -59
  422. package/esm2015/dialogs/covalent-core-dialogs.js +0 -11
  423. package/esm2015/dialogs/dialog.component.js +0 -58
  424. package/esm2015/dialogs/dialogs.module.js +0 -57
  425. package/esm2015/dialogs/index.js +0 -7
  426. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +0 -83
  427. package/esm2015/dialogs/public-api.js +0 -13
  428. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -325
  429. package/esm2015/dialogs/services/dialog.service.js +0 -316
  430. package/esm2015/dialogs/window-dialog/window-dialog.component.js +0 -56
  431. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +0 -11
  432. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -40
  433. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -35
  434. package/esm2015/dynamic-menu/dynamic-menu.component.js +0 -89
  435. package/esm2015/dynamic-menu/dynamic-menu.module.js +0 -26
  436. package/esm2015/dynamic-menu/index.js +0 -7
  437. package/esm2015/dynamic-menu/public_api.js +0 -9
  438. package/esm2015/file/covalent-core-file.js +0 -10
  439. package/esm2015/file/directives/file-drop.directive.js +0 -191
  440. package/esm2015/file/directives/file-select.directive.js +0 -98
  441. package/esm2015/file/file-input/file-input.component.js +0 -186
  442. package/esm2015/file/file-upload/file-upload.component.js +0 -237
  443. package/esm2015/file/file.module.js +0 -35
  444. package/esm2015/file/index.js +0 -7
  445. package/esm2015/file/public-api.js +0 -12
  446. package/esm2015/file/services/file.service.js +0 -109
  447. package/esm2015/index.js +0 -7
  448. package/esm2015/json-formatter/covalent-core-json-formatter.js +0 -10
  449. package/esm2015/json-formatter/index.js +0 -7
  450. package/esm2015/json-formatter/json-formatter.component.js +0 -338
  451. package/esm2015/json-formatter/json-formatter.module.js +0 -20
  452. package/esm2015/json-formatter/public-api.js +0 -8
  453. package/esm2015/layout/covalent-core-layout.js +0 -10
  454. package/esm2015/layout/index.js +0 -7
  455. package/esm2015/layout/layout-card-over/layout-card-over.component.js +0 -71
  456. package/esm2015/layout/layout-footer/layout-footer.component.js +0 -71
  457. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +0 -145
  458. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +0 -132
  459. package/esm2015/layout/layout-nav/layout-nav.component.js +0 -100
  460. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +0 -220
  461. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +0 -132
  462. package/esm2015/layout/layout-toggle.class.js +0 -188
  463. package/esm2015/layout/layout.component.js +0 -145
  464. package/esm2015/layout/layout.directives.js +0 -129
  465. package/esm2015/layout/layout.module.js +0 -64
  466. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +0 -280
  467. package/esm2015/layout/public-api.js +0 -18
  468. package/esm2015/menu/covalent-core-menu.js +0 -10
  469. package/esm2015/menu/index.js +0 -7
  470. package/esm2015/menu/menu.component.js +0 -16
  471. package/esm2015/menu/menu.module.js +0 -22
  472. package/esm2015/menu/public-api.js +0 -8
  473. package/esm2015/message/covalent-core-message.js +0 -10
  474. package/esm2015/message/index.js +0 -7
  475. package/esm2015/message/message.component.js +0 -307
  476. package/esm2015/message/message.module.js +0 -21
  477. package/esm2015/message/public-api.js +0 -8
  478. package/esm2015/search/covalent-core-search.js +0 -10
  479. package/esm2015/search/index.js +0 -7
  480. package/esm2015/search/public-api.js +0 -9
  481. package/esm2015/search/search-box/search-box.component.js +0 -270
  482. package/esm2015/search/search-input/search-input.component.js +0 -260
  483. package/esm2015/search/search.module.js +0 -23
  484. package/esm2015/side-sheet/covalent-core-side-sheet.js +0 -12
  485. package/esm2015/side-sheet/index.js +0 -7
  486. package/esm2015/side-sheet/public-api.js +0 -11
  487. package/esm2015/side-sheet/side-sheet-container.js +0 -402
  488. package/esm2015/side-sheet/side-sheet-ref.js +0 -50
  489. package/esm2015/side-sheet/side-sheet.animation.js +0 -20
  490. package/esm2015/side-sheet/side-sheet.config.js +0 -12
  491. package/esm2015/side-sheet/side-sheet.content-directives.js +0 -255
  492. package/esm2015/side-sheet/side-sheet.js +0 -360
  493. package/esm2015/side-sheet/side-sheet.module.js +0 -36
  494. package/esm2015/user-profile/covalent-core-user-profile.js +0 -10
  495. package/esm2015/user-profile/index.js +0 -7
  496. package/esm2015/user-profile/public_api.js +0 -9
  497. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +0 -35
  498. package/esm2015/user-profile/user-profile.component.js +0 -26
  499. package/esm2015/user-profile/user-profile.module.js +0 -25
  500. package/fesm2015/covalent-core-breadcrumbs.js +0 -448
  501. package/fesm2015/covalent-core-common.js.map +0 -1
  502. package/fesm2015/covalent-core-dialogs.js +0 -1001
  503. package/fesm2015/covalent-core-dialogs.js.map +0 -1
  504. package/fesm2015/covalent-core-dynamic-menu.js +0 -204
  505. package/fesm2015/covalent-core-dynamic-menu.js.map +0 -1
  506. package/fesm2015/covalent-core-file.js +0 -855
  507. package/fesm2015/covalent-core-file.js.map +0 -1
  508. package/fesm2015/covalent-core-json-formatter.js +0 -377
  509. package/fesm2015/covalent-core-json-formatter.js.map +0 -1
  510. package/fesm2015/covalent-core-layout.js +0 -1663
  511. package/fesm2015/covalent-core-layout.js.map +0 -1
  512. package/fesm2015/covalent-core-menu.js +0 -57
  513. package/fesm2015/covalent-core-menu.js.map +0 -1
  514. package/fesm2015/covalent-core-message.js +0 -347
  515. package/fesm2015/covalent-core-message.js.map +0 -1
  516. package/fesm2015/covalent-core-search.js +0 -564
  517. package/fesm2015/covalent-core-search.js.map +0 -1
  518. package/fesm2015/covalent-core-side-sheet.js.map +0 -1
  519. package/fesm2015/covalent-core-user-profile.js +0 -103
  520. package/fesm2015/covalent-core-user-profile.js.map +0 -1
  521. package/fesm2015/covalent-core.js +0 -12
  522. package/fesm2015/covalent-core.js.map +0 -1
  523. package/file/covalent-core-file.metadata.json +0 -1
  524. package/json-formatter/covalent-core-json-formatter.metadata.json +0 -1
  525. package/layout/covalent-core-layout.metadata.json +0 -1
  526. package/menu/covalent-core-menu.metadata.json +0 -1
  527. package/message/covalent-core-message.metadata.json +0 -1
  528. package/schematics/collection.json +0 -11
  529. package/schematics/components.js +0 -111
  530. package/schematics/components.js.map +0 -1
  531. package/schematics/migration.json +0 -10
  532. package/schematics/ng-add/index.js +0 -58
  533. package/schematics/ng-add/index.js.map +0 -1
  534. package/schematics/ng-add/schema.js +0 -3
  535. package/schematics/ng-add/schema.js.map +0 -1
  536. package/schematics/ng-add/schema.json +0 -81
  537. package/schematics/ng-update/index.js +0 -52
  538. package/schematics/ng-update/index.js.map +0 -1
  539. package/schematics/ng-update/target-version.js +0 -8
  540. package/schematics/ng-update/target-version.js.map +0 -1
  541. package/schematics/version-names.js +0 -6
  542. package/schematics/version-names.js.map +0 -1
  543. package/search/covalent-core-search.metadata.json +0 -1
  544. package/side-sheet/covalent-core-side-sheet.metadata.json +0 -1
  545. package/user-profile/covalent-core-user-profile.metadata.json +0 -1
@@ -0,0 +1,199 @@
1
+ import { merge, fromEvent } from 'rxjs';
2
+ var corners;
3
+ (function (corners) {
4
+ corners["topRight"] = "topRight";
5
+ corners["bottomRight"] = "bottomRight";
6
+ corners["bottomLeft"] = "bottomLeft";
7
+ corners["topLeft"] = "topLeft";
8
+ })(corners || (corners = {}));
9
+ var cursors;
10
+ (function (cursors) {
11
+ cursors["nesw"] = "nesw-resize";
12
+ cursors["nwse"] = "nwse-resize";
13
+ })(cursors || (cursors = {}));
14
+ var verticalAlignment;
15
+ (function (verticalAlignment) {
16
+ verticalAlignment["top"] = "top";
17
+ verticalAlignment["bottom"] = "bottom";
18
+ })(verticalAlignment || (verticalAlignment = {}));
19
+ var horizontalAlignment;
20
+ (function (horizontalAlignment) {
21
+ horizontalAlignment["right"] = "right";
22
+ horizontalAlignment["left"] = "left";
23
+ })(horizontalAlignment || (horizontalAlignment = {}));
24
+ const cornerWidth = '16px';
25
+ const offset = '0px';
26
+ const minWidth = 200;
27
+ const minHeight = 200;
28
+ function getPixels(sizeString) {
29
+ return parseFloat((sizeString || '').replace('px', ''));
30
+ }
31
+ function clamp(min, num, max) {
32
+ return Math.min(Math.max(num, min), max);
33
+ }
34
+ export class ResizableDraggableDialog {
35
+ constructor(_document, _renderer2, _dialogRef, _dragRef) {
36
+ this._document = _document;
37
+ this._renderer2 = _renderer2;
38
+ this._dialogRef = _dialogRef;
39
+ this._dragRef = _dragRef;
40
+ this.cornerElements = [];
41
+ this.pointerDownSubs = [];
42
+ this._initialPositionReset();
43
+ this._attachCorners();
44
+ }
45
+ attach() {
46
+ this.detach();
47
+ this._attachCorners();
48
+ }
49
+ detach() {
50
+ this.pointerDownSubs.forEach((sub) => sub.unsubscribe());
51
+ this.pointerDownSubs = [];
52
+ this.cornerElements.forEach((elem) => this._renderer2.removeChild(this._getDialogWrapper(), elem));
53
+ this.cornerElements = [];
54
+ }
55
+ _getDialogWrapper() {
56
+ return (this._document.getElementById(this._dialogRef.id) || {}).parentElement;
57
+ }
58
+ _getViewportDimensions() {
59
+ return this._getDialogWrapper().parentElement.getBoundingClientRect();
60
+ }
61
+ _getDialogWrapperDimensions() {
62
+ const dimensions = getComputedStyle(this._getDialogWrapper());
63
+ return {
64
+ width: getPixels(dimensions.width),
65
+ height: getPixels(dimensions.height),
66
+ };
67
+ }
68
+ _initialPositionReset() {
69
+ const { right: viewportWidth, bottom: viewportHeight } = this._getViewportDimensions();
70
+ const { width, height } = this._getDialogWrapperDimensions();
71
+ const { marginRight: originalDialogRight, marginLeft: originalDialogLeft, marginBottom: originalDialogBottom, marginTop: originalDialogTop, } = this._getDialogWrapper().style;
72
+ let x;
73
+ if (originalDialogLeft) {
74
+ x = getPixels(originalDialogLeft);
75
+ }
76
+ else if (originalDialogRight) {
77
+ x = viewportWidth - getPixels(originalDialogRight) - width;
78
+ }
79
+ else {
80
+ x = (viewportWidth - width) / 2;
81
+ }
82
+ let y;
83
+ if (originalDialogTop) {
84
+ y = getPixels(originalDialogTop);
85
+ }
86
+ else if (originalDialogBottom) {
87
+ y = viewportHeight - getPixels(originalDialogBottom) - height;
88
+ }
89
+ else {
90
+ y = (viewportHeight - height) / 2;
91
+ }
92
+ // use drag ref's mechanisms for positioning instead of the dialog's
93
+ this._dialogRef.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });
94
+ this._dragRef.setFreeDragPosition({ x, y });
95
+ }
96
+ _attachCorners() {
97
+ Object.values(corners).forEach((corner) => {
98
+ const element = this._renderer2.createElement('div');
99
+ this.cornerElements = [...this.cornerElements, element];
100
+ this._renderer2.setStyle(element, 'position', 'absolute');
101
+ this._renderer2.setStyle(element, 'width', cornerWidth);
102
+ this._renderer2.setStyle(element, 'height', cornerWidth);
103
+ this._renderer2.appendChild(this._getDialogWrapper(), element);
104
+ let cursor;
105
+ let topBottom;
106
+ let rightLeft;
107
+ if (corner === corners.topRight) {
108
+ cursor = cursors.nesw;
109
+ topBottom = verticalAlignment.top;
110
+ rightLeft = horizontalAlignment.right;
111
+ }
112
+ else if (corner === corners.bottomRight) {
113
+ cursor = cursors.nwse;
114
+ topBottom = verticalAlignment.bottom;
115
+ rightLeft = horizontalAlignment.right;
116
+ const icon = this._renderer2.createElement('i');
117
+ this._renderer2.addClass(icon, 'material-icons');
118
+ this._renderer2.appendChild(icon, this._renderer2.createText('filter_list'));
119
+ this._renderer2.appendChild(element, icon);
120
+ this._renderer2.setStyle(icon, 'transform', `rotate(${315}deg) translate(0px, ${offset})`);
121
+ this._renderer2.setStyle(icon, 'font-size', cornerWidth);
122
+ }
123
+ else if (corner === corners.bottomLeft) {
124
+ cursor = cursors.nesw;
125
+ topBottom = verticalAlignment.bottom;
126
+ rightLeft = horizontalAlignment.left;
127
+ }
128
+ else if (corner === corners.topLeft) {
129
+ cursor = cursors.nwse;
130
+ topBottom = verticalAlignment.top;
131
+ rightLeft = horizontalAlignment.left;
132
+ }
133
+ this._renderer2.setStyle(element, topBottom, offset);
134
+ this._renderer2.setStyle(element, rightLeft, offset);
135
+ this._renderer2.setStyle(element, 'cursor', cursor);
136
+ const pointerDownSub = fromEvent(element, 'pointerdown').subscribe((event) => {
137
+ this._handleMouseDown(event, corner);
138
+ });
139
+ this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];
140
+ });
141
+ }
142
+ _handleMouseDown(event, corner) {
143
+ this._renderer2.setStyle(this._document.body, 'user-select', 'none');
144
+ const { width: originalWidth, height: originalHeight } = this._getDialogWrapperDimensions();
145
+ const originalMouseX = event.pageX;
146
+ const originalMouseY = event.pageY;
147
+ const { x: currentTransformX, y: currentTransformY } = this._dragRef.getFreeDragPosition();
148
+ const { bottom: distanceFromBottom, right: distanceFromRight } = this._getDialogWrapper().getBoundingClientRect();
149
+ const { right: viewportWidth, bottom: viewportHeight } = this._getViewportDimensions();
150
+ const mouseMoveSub = fromEvent(window, 'pointermove').subscribe((e) => {
151
+ e.preventDefault(); // prevent highlighting of text when dragging
152
+ const yDelta = clamp(0, e.pageY, viewportHeight) - originalMouseY;
153
+ const xDelta = clamp(0, e.pageX, viewportWidth) - originalMouseX;
154
+ let newHeight;
155
+ let newWidth;
156
+ let newTransformY = 0;
157
+ let newTransformX = 0;
158
+ // top right
159
+ if (corner === corners.topRight) {
160
+ newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
161
+ newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
162
+ newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
163
+ newTransformX = currentTransformX;
164
+ }
165
+ // bottom right
166
+ else if (corner === corners.bottomRight) {
167
+ newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
168
+ newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
169
+ newTransformY = currentTransformY;
170
+ newTransformX = currentTransformX;
171
+ }
172
+ // bottom left
173
+ else if (corner === corners.bottomLeft) {
174
+ newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
175
+ newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
176
+ newTransformY = currentTransformY;
177
+ newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
178
+ }
179
+ // top left
180
+ else if (corner === corners.topLeft) {
181
+ newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
182
+ newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
183
+ newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
184
+ newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
185
+ }
186
+ this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);
187
+ this._dragRef.setFreeDragPosition({
188
+ x: newTransformX,
189
+ y: newTransformY,
190
+ });
191
+ });
192
+ const mouseUpSub = merge(fromEvent(window, 'pointerup'), fromEvent(window, 'pointercancel')).subscribe(() => {
193
+ this._renderer2.removeStyle(this._document.body, 'user-select');
194
+ mouseMoveSub.unsubscribe();
195
+ mouseUpSub.unsubscribe();
196
+ });
197
+ }
198
+ }
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9kaWFsb2dzL3Jlc2l6YWJsZS1kcmFnZ2FibGUtZGlhbG9nL3Jlc2l6YWJsZS1kcmFnZ2FibGUtZGlhbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxJQUFLLE9BS0o7QUFMRCxXQUFLLE9BQU87SUFDVixnQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBMkIsQ0FBQTtJQUMzQixvQ0FBeUIsQ0FBQTtJQUN6Qiw4QkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTEksT0FBTyxLQUFQLE9BQU8sUUFLWDtBQUNELElBQUssT0FHSjtBQUhELFdBQUssT0FBTztJQUNWLCtCQUFvQixDQUFBO0lBQ3BCLCtCQUFvQixDQUFBO0FBQ3RCLENBQUMsRUFISSxPQUFPLEtBQVAsT0FBTyxRQUdYO0FBQ0QsSUFBSyxpQkFHSjtBQUhELFdBQUssaUJBQWlCO0lBQ3BCLGdDQUFXLENBQUE7SUFDWCxzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSEksaUJBQWlCLEtBQWpCLGlCQUFpQixRQUdyQjtBQUNELElBQUssbUJBR0o7QUFIRCxXQUFLLG1CQUFtQjtJQUN0QixzQ0FBZSxDQUFBO0lBQ2Ysb0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFISSxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBR3ZCO0FBRUQsTUFBTSxXQUFXLEdBQVcsTUFBTSxDQUFDO0FBQ25DLE1BQU0sTUFBTSxHQUFXLEtBQUssQ0FBQztBQUM3QixNQUFNLFFBQVEsR0FBVyxHQUFHLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQVcsR0FBRyxDQUFDO0FBRTlCLFNBQVMsU0FBUyxDQUFDLFVBQWtCO0lBQ25DLE9BQU8sVUFBVSxDQUFDLENBQUMsVUFBVSxJQUFJLEVB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YSxDQUFDLENBQUM7WUFDN0UsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IG1lcmdlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wL2RyYWctcmVmJztcblxuZW51bSBjb3JuZXJzIHtcbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG59XG5lbnVtIGN1cnNvcnMge1xuICBuZXN3ID0gJ25lc3ctcmVzaXplJyxcbiAgbndzZSA9ICdud3NlLXJlc2l6ZScsXG59XG5lbnVtIHZlcnRpY2FsQWxpZ25tZW50IHtcbiAgdG9wID0gJ3RvcCcsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxufVxuZW51bSBob3Jpem9udGFsQWxpZ25tZW50IHtcbiAgcmlnaHQgPSAncmlnaHQnLFxuICBsZWZ0ID0gJ2xlZnQnLFxufVxuXG5jb25zdCBjb3JuZXJXaWR0aDogc3RyaW5nID0gJzE2cHgnO1xuY29uc3Qgb2Zmc2V0OiBzdHJpbmcgPSAnMHB4JztcbmNvbnN0IG1pbldpZHRoOiBudW1iZXIgPSAyMDA7XG5jb25zdCBtaW5IZWlnaHQ6IG51bWJlciA9IDIwMDtcblxuZnVuY3Rpb24gZ2V0UGl4ZWxzKHNpemVTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUZsb2F0KChzaXplU3RyaW5nIHx8ICcnKS5yZXBsYWNlKCdweCcsICcnKSk7XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbjogbnVtYmVyLCBudW06IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtLCBtaW4pLCBtYXgpO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nIHtcbiAgY29ybmVyRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcG9pbnRlckRvd25TdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsUG9zaXRpb25SZXNldCgpO1xuICAgIHRoaXMuX2F0dGFjaENvcm5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2goKTtcbiAgICB0aGlzLl9hdHRhY2hDb3JuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMucG9pbnRlckRvd25TdWJzLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5wb2ludGVyRG93blN1YnMgPSBbXTtcbiAgICB0aGlzLmNvcm5lckVsZW1lbnRzLmZvckVhY2goKGVsZW06IEhUTUxFbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLCBlbGVtKSk7XG4gICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nV3JhcHBlcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuICg8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fZGlhbG9nUmVmLmlkKSB8fCB7fSkucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpZXdwb3J0RGltZW5zaW9ucygpOiBDbGllbnRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWFsb2dXcmFwcGVyRGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IGRpbWVuc2lvbnM6IENTU1N0eWxlRGVjbGFyYXRpb24gPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBnZXRQaXhlbHMoZGltZW5zaW9ucy53aWR0aCksXG4gICAgICBoZWlnaHQ6IGdldFBpeGVscyhkaW1lbnNpb25zLmhlaWdodCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxQb3NpdGlvblJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgcmlnaHQ6IHZpZXdwb3J0V2lkdGgsIGJvdHRvbTogdmlld3BvcnRIZWlnaHQgfTogQ2xpZW50UmVjdCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlckRpbWVuc2lvbnMoKTtcbiAgICBjb25zdCB7XG4gICAgICBtYXJnaW5SaWdodDogb3JpZ2luYWxEaWFsb2dSaWdodCxcbiAgICAgIG1hcmdpbkxlZnQ6IG9yaWdpbmFsRGlhbG9nTGVmdCxcbiAgICAgIG1hcmdpbkJvdHRvbTogb3JpZ2luYWxEaWFsb2dCb3R0b20sXG4gICAgICBtYXJnaW5Ub3A6IG9yaWdpbmFsRGlhbG9nVG9wLFxuICAgIH0gPSB0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCkuc3R5bGU7XG4gICAgbGV0IHg6IG51bWJlcjtcbiAgICBpZiAob3JpZ2luYWxEaWFsb2dMZWZ0KSB7XG4gICAgICB4ID0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nTGVmdCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ1JpZ2h0KSB7XG4gICAgICB4ID0gdmlld3BvcnRXaWR0aCAtIGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1JpZ2h0KSAtIHdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICB4ID0gKHZpZXdwb3J0V2lkdGggLSB3aWR0aCkgLyAyO1xuICAgIH1cbiAgICBsZXQgeTogbnVtYmVyO1xuICAgIGlmIChvcmlnaW5hbERpYWxvZ1RvcCkge1xuICAgICAgeSA9IGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1RvcCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ0JvdHRvbSkge1xuICAgICAgeSA9IHZpZXdwb3J0SGVpZ2h0IC0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nQm90dG9tKSAtIGhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgeSA9ICh2aWV3cG9ydEhlaWdodCAtIGhlaWdodCkgLyAyO1xuICAgIH1cbiAgICAvLyB1c2UgZHJhZyByZWYncyBtZWNoYW5pc21zIGZvciBwb3NpdGlvbmluZyBpbnN0ZWFkIG9mIHRoZSBkaWFsb2cnc1xuICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVQb3NpdGlvbih7IHRvcDogJzBweCcsIHJpZ2h0OiAnMHB4JywgYm90dG9tOiAnMHB4JywgbGVmdDogJzBweCcgfSk7XG4gICAgdGhpcy5fZHJhZ1JlZi5zZXRGcmVlRHJhZ1Bvc2l0aW9uKHsgeCwgeSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaENvcm5lcnMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyhjb3JuZXJzKS5mb3JFYWNoKChjb3JuZXI6IGNvcm5lcnMpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFsuLi50aGlzLmNvcm5lckVsZW1lbnRzLCBlbGVtZW50XTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnd2lkdGgnLCBjb3JuZXJXaWR0aCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgJ2hlaWdodCcsIGNvcm5lcldpZHRoKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCksIGVsZW1lbnQpO1xuXG4gICAgICBsZXQgY3Vyc29yOiBjdXJzb3JzO1xuICAgICAgbGV0IHRvcEJvdHRvbTogdmVydGljYWxBbGlnbm1lbnQ7XG4gICAgICBsZXQgcmlnaHRMZWZ0OiBob3Jpem9udGFsQWxpZ25tZW50O1xuXG4gICAgICBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcFJpZ2h0KSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvcnMubmVzdztcbiAgICAgICAgdG9wQm90dG9tID0gdmVydGljYWxBbGlnbm1lbnQudG9wO1xuICAgICAgICByaWdodExlZnQgPSBob3Jpem9udGFsQWxpZ25tZW50LnJpZ2h0O1xuICAgICAgfSBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tUmlnaHQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQucmlnaHQ7XG5cbiAgICAgICAgY29uc3QgaWNvbjogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnaScpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3MoaWNvbiwgJ21hdGVyaWFsLWljb25zJyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChpY29uLCB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlVGV4dCgnZmlsdGVyX2xpc3QnKSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChlbGVtZW50LCBpY29uKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGljb24sICd0cmFuc2Zvcm0nLCBgcm90YXRlKCR7MzE1fWRlZykgdHJhbnNsYXRlKDBweCwgJHtvZmZzZXR9KWApO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaWNvbiwgJ2ZvbnQtc2l6ZScsIGNvcm5lcldpZHRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbUxlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcExlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC50b3A7XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCB0b3BCb3R0b20sIG9mZnNldCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgcmlnaHRMZWZ0LCBvZmZzZXQpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICdjdXJzb3InLCBjdXJzb3IpO1xuXG4gICAgICBjb25zdCBwb2ludGVyRG93blN1YjogU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGVsZW1lbnQsICdwb2ludGVyZG93bicpLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9oYW5kbGVNb3VzZURvd24oZXZlbnQsIGNvcm5lcik7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucG9pbnRlckRvd25TdWJzID0gWy4uLnRoaXMucG9pbnRlckRvd25TdWJzLCBwb2ludGVyRG93blN1Yl07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVNb3VzZURvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCwgY29ybmVyOiBjb3JuZXJzKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIGNvbnN0IHsgd2lkdGg6IG9yaWdpbmFsV2lkdGgsIGhlaWdodDogb3JpZ2luYWxIZWlnaHQgfSA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgb3JpZ2luYWxNb3VzZVg6IG51bWJlciA9IGV2ZW50LnBhZ2VYO1xuICAgIGNvbnN0IG9yaWdpbmFsTW91c2VZOiBudW1iZXIgPSBldmVudC5wYWdlWTtcbiAgICBjb25zdCB7IHg6IGN1cnJlbnRUcmFuc2Zvcm1YLCB5OiBjdXJyZW50VHJhbnNmb3JtWSB9OiBQb2ludCA9IHRoaXMuX2RyYWdSZWYuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xuICAgIGNvbnN0IHsgYm90dG9tOiBkaXN0YW5jZUZyb21Cb3R0b20sIHJpZ2h0OiBkaXN0YW5jZUZyb21SaWdodCB9OiBDbGllbnRSZWN0ID1cbiAgICAgIHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7IHJpZ2h0OiB2aWV3cG9ydFdpZHRoLCBib3R0b206IHZpZXdwb3J0SGVpZ2h0IH06IENsaWVudFJlY3QgPSB0aGlzLl9nZXRWaWV3cG9ydERpbWVuc2lvbnMoKTtcblxuICAgIGNvbnN0IG1vdXNlTW92ZVN1YjogU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3BvaW50ZXJtb3ZlJykuc3Vic2NyaWJlKChlOiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCBoaWdobGlnaHRpbmcgb2YgdGV4dCB3aGVuIGRyYWdnaW5nXG5cbiAgICAgIGNvbnN0IHlEZWx0YTogbnVtYmVyID0gY2xhbXAoMCwgZS5wYWdlWSwgdmlld3BvcnRIZWlnaHQpIC0gb3JpZ2luYWxNb3VzZVk7XG4gICAgICBjb25zdCB4RGVsdGE6IG51bWJlciA9IGNsYW1wKDAsIGUucGFnZVgsIHZpZXdwb3J0V2lkdGgpIC0gb3JpZ2luYWxNb3VzZVg7XG4gICAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXI7XG4gICAgICBsZXQgbmV3V2lkdGg6IG51bWJlcjtcbiAgICAgIGxldCBuZXdUcmFuc2Zvcm1ZOiBudW1iZXIgPSAwO1xuICAgICAgbGV0IG5ld1RyYW5zZm9ybVg6IG51bWJlciA9IDA7XG5cbiAgICAgIC8vIHRvcCByaWdodFxuICAgICAgaWYgKGNvcm5lciA9PT0gY29ybmVycy50b3BSaWdodCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0IC0geURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggKyB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY2xhbXAoMCwgY3VycmVudFRyYW5zZm9ybVkgKyB5RGVsdGEsIGRpc3RhbmNlRnJvbUJvdHRvbSAtIG5ld0hlaWdodCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjdXJyZW50VHJhbnNmb3JtWDtcbiAgICAgIH1cbiAgICAgIC8vIGJvdHRvbSByaWdodFxuICAgICAgZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbVJpZ2h0KSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgKyB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCArIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjdXJyZW50VHJhbnNmb3JtWTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGN1cnJlbnRUcmFuc2Zvcm1YO1xuICAgICAgfVxuICAgICAgLy8gYm90dG9tIGxlZnRcbiAgICAgIGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21MZWZ0KSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgKyB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCAtIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjdXJyZW50VHJhbnNmb3JtWTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGNsYW1wKDAsIGN1cnJlbnRUcmFuc2Zvcm1YICsgeERlbHRhLCBkaXN0YW5jZUZyb21SaWdodCAtIG5ld1dpZHRoKTtcbiAgICAgIH1cbiAgICAgIC8vIHRvcCBsZWZ0XG4gICAgICBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMudG9wTGVmdCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0IC0geURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggLSB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuXG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjbGFtcCgwLCBjdXJyZW50VHJhbnNmb3JtWCArIHhEZWx0YSwgZGlzdGFuY2VGcm9tUmlnaHQgLSBuZXdXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjbGFtcCgwLCBjdXJyZW50VHJhbnNmb3JtWSArIHlEZWx0YSwgZGlzdGFuY2VGcm9tQm90dG9tIC0gbmV3SGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVTaXplKGAke25ld1dpZHRofXB4YCwgYCR7bmV3SGVpZ2h0fXB4YCk7XG4gICAgICB0aGlzLl9kcmFnUmVmLnNldEZyZWVEcmFnUG9zaXRpb24oe1xuICAgICAgICB4OiBuZXdUcmFuc2Zvcm1YLFxuICAgICAgICB5OiBuZXdUcmFuc2Zvcm1ZLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtb3VzZVVwU3ViOiBTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVydXAnKSxcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVyY2FuY2VsJyksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZVN0eWxlKDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnKTtcbiAgICAgIG1vdXNlTW92ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgbW91c2VVcFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,168 @@
1
+ import { Injectable, Inject, RendererFactory2 } from '@angular/core';
2
+ import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
3
+ import { TdAlertDialogComponent } from '../alert-dialog/alert-dialog.component';
4
+ import { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';
5
+ import { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';
6
+ import { DragDrop } from '@angular/cdk/drag-drop';
7
+ import { DOCUMENT } from '@angular/common';
8
+ import { Subject } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/dialog";
11
+ import * as i2 from "@angular/cdk/drag-drop";
12
+ export class TdDialogService {
13
+ constructor(_document, _dialogService, _dragDrop, rendererFactory) {
14
+ this._document = _document;
15
+ this._dialogService = _dialogService;
16
+ this._dragDrop = _dragDrop;
17
+ this.rendererFactory = rendererFactory;
18
+ this._renderer2 = rendererFactory.createRenderer(undefined, undefined);
19
+ }
20
+ /**
21
+ * params:
22
+ * - component: ComponentType<T>
23
+ * - config: MatDialogConfig
24
+ * Wrapper function over the open() method in MatDialog.
25
+ * Opens a modal dialog containing the given component.
26
+ */
27
+ open(component, config) {
28
+ return this._dialogService.open(component, config);
29
+ }
30
+ /**
31
+ * Wrapper function over the closeAll() method in MatDialog.
32
+ * Closes all of the currently-open dialogs.
33
+ */
34
+ closeAll() {
35
+ this._dialogService.closeAll();
36
+ }
37
+ /**
38
+ * params:
39
+ * - config: IAlertConfig {
40
+ * message: string;
41
+ * title?: string;
42
+ * viewContainerRef?: ViewContainerRef;
43
+ * closeButton?: string;
44
+ * }
45
+ *
46
+ * Opens an alert dialog with the provided config.
47
+ * Returns an MatDialogRef<TdAlertDialogComponent> object.
48
+ */
49
+ openAlert(config) {
50
+ const dialogConfig = this._createConfig(config);
51
+ const dialogRef = this._dialogService.open(TdAlertDialogComponent, dialogConfig);
52
+ const alertDialogComponent = dialogRef.componentInstance;
53
+ alertDialogComponent.title = config.title;
54
+ alertDialogComponent.message = config.message;
55
+ if (config.closeButton) {
56
+ alertDialogComponent.closeButton = config.closeButton;
57
+ }
58
+ return dialogRef;
59
+ }
60
+ /**
61
+ * params:
62
+ * - config: IConfirmConfig {
63
+ * message: string;
64
+ * title?: string;
65
+ * viewContainerRef?: ViewContainerRef;
66
+ * acceptButton?: string;
67
+ * cancelButton?: string;
68
+ * isDestructive?: boolean;
69
+ * }
70
+ *
71
+ * Opens a confirm dialog with the provided config.
72
+ * Returns an MatDialogRef<TdConfirmDialogComponent> object.
73
+ */
74
+ openConfirm(config) {
75
+ const dialogConfig = this._createConfig(config);
76
+ const dialogRef = this._dialogService.open(TdConfirmDialogComponent, dialogConfig);
77
+ const confirmDialogComponent = dialogRef.componentInstance;
78
+ confirmDialogComponent.title = config.title;
79
+ confirmDialogComponent.message = config.message;
80
+ if (config.acceptButton) {
81
+ confirmDialogComponent.acceptButton = config.acceptButton;
82
+ }
83
+ if (config.isDestructive) {
84
+ confirmDialogComponent.isDestructive = config.isDestructive;
85
+ }
86
+ if (config.cancelButton) {
87
+ confirmDialogComponent.cancelButton = config.cancelButton;
88
+ }
89
+ return dialogRef;
90
+ }
91
+ /**
92
+ * params:
93
+ * - config: IPromptConfig {
94
+ * message: string;
95
+ * title?: string;
96
+ * value?: string;
97
+ * viewContainerRef?: ViewContainerRef;
98
+ * acceptButton?: string;
99
+ * cancelButton?: string;
100
+ * }
101
+ *
102
+ * Opens a prompt dialog with the provided config.
103
+ * Returns an MatDialogRef<TdPromptDialogComponent> object.
104
+ */
105
+ openPrompt(config) {
106
+ const dialogConfig = this._createConfig(config);
107
+ const dialogRef = this._dialogService.open(TdPromptDialogComponent, dialogConfig);
108
+ const promptDialogComponent = dialogRef.componentInstance;
109
+ promptDialogComponent.title = config.title;
110
+ promptDialogComponent.message = config.message;
111
+ promptDialogComponent.value = config.value;
112
+ if (config.acceptButton) {
113
+ promptDialogComponent.acceptButton = config.acceptButton;
114
+ }
115
+ if (config.cancelButton) {
116
+ promptDialogComponent.cancelButton = config.cancelButton;
117
+ }
118
+ return dialogRef;
119
+ }
120
+ /**
121
+ * Opens a draggable dialog containing the given component.
122
+ */
123
+ openDraggable({ component, config, dragHandleSelectors, draggableClass, }) {
124
+ const matDialogRef = this._dialogService.open(component, config);
125
+ const dragRefSubject = new Subject();
126
+ const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';
127
+ const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';
128
+ matDialogRef.afterOpened().subscribe(() => {
129
+ const dialogElement = this._document.getElementById(matDialogRef.id);
130
+ const draggableElement = this._dragDrop.createDrag(dialogElement);
131
+ if (draggableClass) {
132
+ const childComponent = dialogElement.firstElementChild;
133
+ this._renderer2.addClass(childComponent, draggableClass);
134
+ }
135
+ if (dragHandleSelectors && dragHandleSelectors.length) {
136
+ const dragHandles = dragHandleSelectors.reduce((acc, curr) => [...acc, ...Array.from(dialogElement.querySelectorAll(curr))], []);
137
+ if (dragHandles.length > 0) {
138
+ draggableElement.withHandles(dragHandles);
139
+ }
140
+ }
141
+ const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);
142
+ if (rootElement) {
143
+ draggableElement.withRootElement(rootElement);
144
+ }
145
+ const boundaryElement = dialogElement.closest(CDK_OVERLAY_CONTAINER_SELECTOR);
146
+ if (boundaryElement) {
147
+ draggableElement.withBoundaryElement(boundaryElement);
148
+ }
149
+ dragRefSubject.next(draggableElement);
150
+ });
151
+ return { matDialogRef, dragRefSubject };
152
+ }
153
+ _createConfig(config) {
154
+ const dialogConfig = new MatDialogConfig();
155
+ dialogConfig.width = '400px';
156
+ Object.assign(dialogConfig, config);
157
+ return dialogConfig;
158
+ }
159
+ }
160
+ /** @nocollapse */ /** @nocollapse */ TdDialogService.ɵfac = function TdDialogService_Factory(t) { return new (t || TdDialogService)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.DragDrop), i0.ɵɵinject(i0.RendererFactory2)); };
161
+ /** @nocollapse */ /** @nocollapse */ TdDialogService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: TdDialogService, factory: TdDialogService.ɵfac });
162
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDialogService, [{
163
+ type: Injectable
164
+ }], function () { return [{ type: undefined, decorators: [{
165
+ type: Inject,
166
+ args: [DOCUMENT]
167
+ }] }, { type: i1.MatDialog }, { type: i2.DragDrop }, { type: i0.RendererFactory2 }]; }, null); })();
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxRQUFRLEVBQVcsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQW9DL0IsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDNEIsU0FBYyxFQUNoQyxjQUF5QixFQUN6QixTQUFtQixFQUNuQixlQUFpQztRQUhmLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQVc7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFFekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFJLFNBQTJCLEVBQUUsTUFBd0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFT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OUUsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsZ0JBQWdCLENBQUMsZUFBZSxDQUFjLFdBQVcsQ0FBQyxDQUFDO2FBQzVEO1lBRUQsTUFBTSxlQUFlLEdBQVksYUFBYSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksZUFBZSxFQUFFO2dCQUNuQixnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBYyxlQUFlLENBQUMsQ0FBQzthQUNwRTtZQUNELGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFxQjtRQUN6QyxNQUFNLFlBQVksR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM1RCxZQUFZLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOztvSEFuTFUsZUFBZSxjQUloQixRQUFRO3VIQUpQLGVBQWUsV0FBZixlQUFlO3VGQUFmLGVBQWU7Y0FEM0IsVUFBVTs7c0JBS04sTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQgeyBUZEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvbXB0LWRpYWxvZy9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnRHJvcCwgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcgZXh0ZW5kcyBNYXREaWFsb2dDb25maWcge1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xuICBjbG9zZUJ1dHRvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlybUNvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xuICBhY2NlcHRCdXR0b24/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvbj86IHN0cmluZztcbiAgaXNEZXN0cnVjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb21wdENvbmZpZyBleHRlbmRzIElDb25maXJtQ29uZmlnIHtcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZUNvbmZpZzxUPiB7XG4gIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbiAgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnO1xuICAvLyBDU1Mgc2VsZWN0b3JzIG9mIGVsZW1lbnQocykgaW5zaWRlIHRoZSBjb21wb25lbnQgbWVhbnQgdG8gYmUgZHJhZyBoYW5kbGUocylcbiAgZHJhZ0hhbmRsZVNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAvLyBDbGFzcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNvbXBvbmVudCBzaWduaWZ5aW5nIGRyYWctYWJpbGl0eVxuICBkcmFnZ2FibGVDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRHJhZ2dhYmxlUmVmczxUPiB7XG4gIG1hdERpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFQ+O1xuICBkcmFnUmVmU3ViamVjdDogU3ViamVjdDxEcmFnUmVmPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRkRGlhbG9nU2VydmljZSB7XG4gIHByaXZhdGUgX3JlbmRlcmVyMjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2RyYWdEcm9wOiBEcmFnRHJvcCxcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+XG4gICAqIC0gY29uZmlnOiBNYXREaWFsb2dDb25maWdcbiAgICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBvcGVuKCkgbWV0aG9kIGluIE1hdERpYWxvZy5cbiAgICogT3BlbnMgYSBtb2RhbCBkaWFsb2cgY29udGFpbmluZyB0aGUgZ2l2ZW4gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9wZW48VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc/OiBNYXREaWFsb2dDb25maWcpOiBNYXREaWFsb2dSZWY8VD4ge1xuICAgIHJldHVybiB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBwZXIgZnVuY3Rpb24gb3ZlciB0aGUgY2xvc2VBbGwoKSBtZXRob2QgaW4gTWF0RGlhbG9nLlxuICAgKiBDbG9zZXMgYWxsIG9mIHRoZSBjdXJyZW50bHktb3BlbiBkaWFsb2dzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2UuY2xvc2VBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29uZmlnOiBJQWxlcnRDb25maWcge1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgICogICAgIGNsb3NlQnV0dG9uPzogc3RyaW5nO1xuICAgKiB9XG4gICAqXG4gICAqIE9wZW5zIGFuIGFsZXJ0IGRpYWxvZyB3aXRoIHRoZSBwcm92aWRlZCBjb25maWcuXG4gICAqIFJldHVybnMgYW4gTWF0RGlhbG9nUmVmPFRkQWxlcnREaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBvcGVuQWxlcnQoY29uZmlnOiBJQWxlcnRDb25maWcpOiBNYXREaWFsb2dSZWY8VGRBbGVydERpYWxvZ0NvbXBvbmVudD4ge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZyk7XG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGRBbGVydERpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oXG4gICAgICBUZEFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICAgICAgZGlhbG9nQ29uZmlnLFxuICAgICk7XG4gICAgY29uc3QgYWxlcnREaWFsb2dDb21wb25lbnQ6IFRkQWxlcnREaWFsb2dDb21wb25lbnQgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgYWxlcnREaWFsb2dDb21wb25lbnQudGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgYWxlcnREaWFsb2dDb21wb25lbnQubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgIGlmIChjb25maWcuY2xvc2VCdXR0b24pIHtcbiAgICAgIGFsZXJ0RGlhbG9nQ29tcG9uZW50LmNsb3NlQnV0dG9uID0gY29uZmlnLmNsb3NlQnV0dG9uO1xuICAgIH1cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb25maWc6IElDb25maXJtQ29uZmlnIHtcbiAgICogICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICogICAgIHRpdGxlPzogc3RyaW5nO1xuICAgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG4gICAqICAgICBhY2NlcHRCdXR0b24/OiBzdHJpbmc7XG4gICAqICAgICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XG4gICAqICAgICBpc0Rlc3RydWN0aXZlPzogYm9vbGVhbjtcbiAgICogfVxuICAgKlxuICAgKiBPcGVucyBhIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cbiAgICogUmV0dXJucyBhbiBNYXREaWFsb2dSZWY8VGRDb25maXJtRGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbkNvbmZpcm0oY29uZmlnOiBJQ29uZmlybUNvbmZpZyk6IE1hdERpYWxvZ1JlZjxUZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oXG4gICAgICBUZENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgICBkaWFsb2dDb25maWcsXG4gICAgKTtcbiAgICBjb25zdCBjb25maXJtRGlhbG9nQ29tcG9uZW50OiBUZENvbmZpcm1EaWFsb2dDb21wb25lbnQgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC50aXRsZSA9IGNvbmZpZy50aXRsZTtcbiAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50Lm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICBpZiAoY29uZmlnLmFjY2VwdEJ1dHRvbikge1xuICAgICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmlzRGVzdHJ1Y3RpdmUpIHtcbiAgICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQuaXNEZXN0cnVjdGl2ZSA9IGNvbmZpZy5pc0Rlc3RydWN0aXZlO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNhbmNlbEJ1dHRvbikge1xuICAgICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xuICAgIH1cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb25maWc6IElQcm9tcHRDb25maWcge1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2YWx1ZT86IHN0cmluZztcbiAgICogICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgKiAgICAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xuICAgKiAgICAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xuICAgKiB9XG4gICAqXG4gICAqIE9wZW5zIGEgcHJvbXB0IGRpYWxvZyB3aXRoIHRoZSBwcm92aWRlZCBjb25maWcuXG4gICAqIFJldHVybnMgYW4gTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgb3BlblByb21wdChjb25maWc6IElQcm9tcHRDb25maWcpOiBNYXREaWFsb2dSZWY8VGRQcm9tcHREaWFsb2dDb21wb25lbnQ+IHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgIFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50LFxuICAgICAgZGlhbG9nQ29uZmlnLFxuICAgICk7XG4gICAgY29uc3QgcHJvbXB0RGlhbG9nQ29tcG9uZW50OiBUZFByb21wdERpYWxvZ0NvbXBvbmVudCA9IGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBwcm9tcHREaWFsb2dDb21wb25lbnQudGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50Lm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICBwcm9tcHREaWFsb2dDb21wb25lbnQudmFsdWUgPSBjb25maWcudmFsdWU7XG4gICAgaWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcbiAgICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNhbmNlbEJ1dHRvbikge1xuICAgICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50LmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XG4gICAgfVxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBkcmFnZ2FibGUgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvcGVuRHJhZ2dhYmxlPFQ+KHtcbiAgICBjb21wb25lbnQsXG4gICAgY29uZmlnLFxuICAgIGRyYWdIYW5kbGVTZWxlY3RvcnMsXG4gICAgZHJhZ2dhYmxlQ2xhc3MsXG4gIH06IElEcmFnZ2FibGVDb25maWc8VD4pOiBJRHJhZ2dhYmxlUmVmczxUPiB7XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VCwgYW55PiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG5cbiAgICBjb25zdCBkcmFnUmVmU3ViamVjdDogU3ViamVjdDxEcmFnUmVmPiA9IG5ldyBTdWJqZWN0PERyYWdSZWY+KCk7XG5cbiAgICBjb25zdCBDREtfT1ZFUkxBWV9QQU5FX1NFTEVDVE9SOiBzdHJpbmcgPSAnLmNkay1vdmVybGF5LXBhbmUnO1xuICAgIGNvbnN0IENES19PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUjogc3RyaW5nID0gJy5jZGstb3ZlcmxheS1jb250YWluZXInO1xuXG4gICAgbWF0RGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1hdERpYWxvZ1JlZi5pZCk7XG4gICAgICBjb25zdCBkcmFnZ2FibGVFbGVtZW50OiBEcmFnUmVmID0gdGhpcy5fZHJhZ0Ryb3AuY3JlYXRlRHJhZyhkaWFsb2dFbGVtZW50KTtcblxuICAgICAgaWYgKGRyYWdnYWJsZUNsYXNzKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkQ29tcG9uZW50OiBFbGVtZW50ID0gZGlhbG9nRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKGNoaWxkQ29tcG9uZW50LCBkcmFnZ2FibGVDbGFzcyk7XG4gICAgICB9XG4gICAgICBpZiAoZHJhZ0hhbmRsZVNlbGVjdG9ycyAmJiBkcmFnSGFuZGxlU2VsZWN0b3JzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkcmFnSGFuZGxlczogRWxlbWVudFtdID0gZHJhZ0hhbmRsZVNlbGVjdG9ycy5yZWR1Y2UoXG4gICAgICAgICAgKGFjYzogRWxlbWVudFtdLCBjdXJyOiBzdHJpbmcpID0+IFsuLi5hY2MsIC4uLkFycmF5LmZyb20oZGlhbG9nRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGN1cnIpKV0sXG4gICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgICAgIGlmIChkcmFnSGFuZGxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZHJhZ2dhYmxlRWxlbWVudC53aXRoSGFuZGxlcyg8SFRNTEVsZW1lbnRbXT5kcmFnSGFuZGxlcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvb3RFbGVtZW50OiBFbGVtZW50ID0gZGlhbG9nRWxlbWVudC5jbG9zZXN0KENES19PVkVSTEFZX1BBTkVfU0VMRUNUT1IpO1xuICAgICAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgICAgIGRyYWdnYWJsZUVsZW1lbnQud2l0aFJvb3RFbGVtZW50KDxIVE1MRWxlbWVudD5yb290RWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kYXJ5RWxlbWVudDogRWxlbWVudCA9IGRpYWxvZ0VsZW1lbnQuY2xvc2VzdChDREtfT1ZFUkxBWV9DT05UQUlORVJfU0VMRUNUT1IpO1xuICAgICAgaWYgKGJvdW5kYXJ5RWxlbWVudCkge1xuICAgICAgICBkcmFnZ2FibGVFbGVtZW50LndpdGhCb3VuZGFyeUVsZW1lbnQoPEhUTUxFbGVtZW50PmJvdW5kYXJ5RWxlbWVudCk7XG4gICAgICB9XG4gICAgICBkcmFnUmVmU3ViamVjdC5uZXh0KGRyYWdnYWJsZUVsZW1lbnQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgbWF0RGlhbG9nUmVmLCBkcmFnUmVmU3ViamVjdCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29uZmlnKGNvbmZpZzogSURpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ0NvbmZpZyB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzQwMHB4JztcbiAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0NvbmZpZywgY29uZmlnKTtcbiAgICByZXR1cm4gZGlhbG9nQ29uZmlnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/toolbar";
4
+ import * as i2 from "@angular/material/button";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ import * as i4 from "@angular/material/icon";
7
+ const _c0 = ["*"];
8
+ export class TdWindowDialogComponent {
9
+ constructor() {
10
+ this.docked = false;
11
+ this.dockToggled = new EventEmitter();
12
+ this.closed = new EventEmitter();
13
+ this.toolbarHeight = 56;
14
+ }
15
+ toggleDockedState() {
16
+ this.dockToggled.emit(this.docked);
17
+ }
18
+ }
19
+ /** @nocollapse */ /** @nocollapse */ TdWindowDialogComponent.ɵfac = function TdWindowDialogComponent_Factory(t) { return new (t || TdWindowDialogComponent)(); };
20
+ /** @nocollapse */ /** @nocollapse */ TdWindowDialogComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdWindowDialogComponent, selectors: [["td-window-dialog"]], inputs: { toolbarColor: "toolbarColor", docked: "docked", title: "title", toggleDockedStateLabel: "toggleDockedStateLabel", closeLabel: "closeLabel" }, outputs: { dockToggled: "dockToggled", closed: "closed" }, ngContentSelectors: _c0, decls: 9, vars: 11, consts: [[1, "td-window-dialog-toolbar", 3, "color"], ["layout", "row", "layout-align", "start center", "flex", ""], ["flex", "", 1, "mat-title", "td-window-dialog-title", "truncate"], ["mat-icon-button", "", 1, "td-window-dialog-close", 3, "matTooltip", "click"]], template: function TdWindowDialogComponent_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵprojectionDef();
22
+ i0.ɵɵelementStart(0, "mat-toolbar", 0);
23
+ i0.ɵɵelementStart(1, "mat-toolbar-row");
24
+ i0.ɵɵelementStart(2, "div", 1);
25
+ i0.ɵɵelementStart(3, "span", 2);
26
+ i0.ɵɵtext(4);
27
+ i0.ɵɵelementEnd();
28
+ i0.ɵɵelementStart(5, "button", 3);
29
+ i0.ɵɵlistener("click", function TdWindowDialogComponent_Template_button_click_5_listener() { return ctx.closed.emit(); });
30
+ i0.ɵɵelementStart(6, "mat-icon");
31
+ i0.ɵɵtext(7, "close");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementEnd();
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵprojection(8);
38
+ } if (rf & 2) {
39
+ i0.ɵɵstyleProp("min-height", ctx.toolbarHeight, "px")("cursor", ctx.docked ? "inherit" : "move");
40
+ i0.ɵɵproperty("color", ctx.toolbarColor);
41
+ i0.ɵɵadvance(1);
42
+ i0.ɵɵstyleProp("height", ctx.toolbarHeight, "px");
43
+ i0.ɵɵadvance(3);
44
+ i0.ɵɵtextInterpolate1(" ", ctx.title, " ");
45
+ i0.ɵɵadvance(1);
46
+ i0.ɵɵproperty("matTooltip", ctx.closeLabel);
47
+ i0.ɵɵattribute("data-test", "close-button");
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵattribute("aria-label", ctx.closeLabel);
50
+ } }, directives: [i1.MatToolbar, i1.MatToolbarRow, i2.MatButton, i3.MatTooltip, i4.MatIcon], styles: ["[_nghost-%COMP%]{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-window-dialog-toolbar[_ngcontent-%COMP%]{background:none}.td-window-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.td-window-dialog-close[_ngcontent-%COMP%]{margin-right:-8px} .td-window-dialog .mat-dialog-container{padding:0}"], changeDetection: 0 });
51
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdWindowDialogComponent, [{
52
+ type: Component,
53
+ args: [{ selector: 'td-window-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar\n [color]=\"toolbarColor\"\n class=\"td-window-dialog-toolbar\"\n [style.min-height.px]=\"toolbarHeight\"\n [style.cursor]=\"docked ? 'inherit' : 'move'\"\n>\n <mat-toolbar-row [style.height.px]=\"toolbarHeight\">\n <div layout=\"row\" layout-align=\"start center\" flex>\n <span class=\"mat-title td-window-dialog-title truncate\" flex>\n {{ title }}\n </span>\n <!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now-->\n <!-- <button mat-icon-button [matTooltip]=\"toggleDockedStateLabel\" (click)=\"toggleDockedState()\">\n <mat-icon [attr.aria-label]=\"toggleDockedStateLabel\">\n {{ docked ? 'unfold_more' : 'unfold_less' }}\n </mat-icon>\n </button> -->\n\n <button\n mat-icon-button\n [matTooltip]=\"closeLabel\"\n (click)=\"closed.emit()\"\n class=\"td-window-dialog-close\"\n [attr.data-test]=\"'close-button'\"\n >\n <mat-icon [attr.aria-label]=\"closeLabel\">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n", styles: [":host{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-window-dialog-toolbar{background:none}.td-window-dialog-title{margin-bottom:0}.td-window-dialog-close{margin-right:-8px}::ng-deep .td-window-dialog .mat-dialog-container{padding:0}\n"] }]
54
+ }], null, { toolbarColor: [{
55
+ type: Input
56
+ }], docked: [{
57
+ type: Input
58
+ }], title: [{
59
+ type: Input
60
+ }], toggleDockedStateLabel: [{
61
+ type: Input
62
+ }], closeLabel: [{
63
+ type: Input
64
+ }], dockToggled: [{
65
+ type: Output
66
+ }], closed: [{
67
+ type: Output
68
+ }] }); })();
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9kaWFsb2dzL3dpbmRvdy1kaWFsb2cvd2luZG93LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9kaWFsb2dzL3dpbmRvdy1kaWFsb2cvd2luZG93LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBU2hHLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFRVyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBTXZCLGdCQUFXLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEQsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFELGtCQUFhLEdBQVcsRUFBRSxDQUFDO0tBSzVCO0lBSEMsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O29JQWZVLHVCQUF1Qjs0SEFBdkIsdUJBQXVCOztRQ1RwQyxzQ0FLQztRQUNDLHVDQUFtRDtRQUNqRCw4QkFBbUQ7UUFDakQsK0JBQTZEO1FBQzNELFlBQ0Y7UUFBQSxpQkFBTztRQVFQLGlDQU1DO1FBSEMsb0dBQVMsaUJBQWEsSUFBQztRQUl2QixnQ0FBeUM7UUFBQSxxQkFBSztRQUFBLGlCQUFXO1FBQzNELGlCQUFTO1FBQ1gsaUJBQU07UUFDUixpQkFBa0I7UUFDcEIsaUJBQWM7UUFDZCxrQkFBeUI7O1FBM0J2QixxREFBcUMsMkNBQUE7UUFGckMsd0NBQXNCO1FBS0wsZUFBaUM7UUFBakMsaURBQWlDO1FBRzVDLGVBQ0Y7UUFERSwwQ0FDRjtRQVVFLGVBQXlCO1FBQXpCLDJDQUF5QjtRQUd6QiwyQ0FBaUM7UUFFdkIsZUFBOEI7UUFBOUIsNENBQThCOzt1RkRoQm5DLHVCQUF1QjtjQU5uQyxTQUFTOzJCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO2dCQUd0QyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUVJLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxNQUFNO2tCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC13aW5kb3ctZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpbmRvdy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aW5kb3ctZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZFdpbmRvd0RpYWxvZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlO1xuICBASW5wdXQoKSBkb2NrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSB0b2dnbGVEb2NrZWRTdGF0ZUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsb3NlTGFiZWw6IHN0cmluZztcblxuICBAT3V0cHV0KCkgZG9ja1RvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHRvb2xiYXJIZWlnaHQ6IG51bWJlciA9IDU2O1xuXG4gIHRvZ2dsZURvY2tlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZG9ja1RvZ2dsZWQuZW1pdCh0aGlzLmRvY2tlZCk7XG4gIH1cbn1cbiIsIjxtYXQtdG9vbGJhclxuICBbY29sb3JdPVwidG9vbGJhckNvbG9yXCJcbiAgY2xhc3M9XCJ0ZC13aW5kb3ctZGlhbG9nLXRvb2xiYXJcIlxuICBbc3R5bGUubWluLWhlaWdodC5weF09XCJ0b29sYmFySGVpZ2h0XCJcbiAgW3N0eWxlLmN1cnNvcl09XCJkb2NrZWQgPyAnaW5oZXJpdCcgOiAnbW92ZSdcIlxuPlxuICA8bWF0LXRvb2xiYXItcm93IFtzdHlsZS5oZWlnaHQucHhdPVwidG9vbGJhckhlaWdodFwiPlxuICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCIgZmxleD5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXRpdGxlIHRkLXdpbmRvdy1kaWFsb2ctdGl0bGUgdHJ1bmNhdGVcIiBmbGV4PlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPCEtLSBUT0RPOiBSZXNpemluZyBhIGRyYWctYW5kLWRyb3AgZWxlbWVudCB3YXMgbm90IHdvcmtpbmcgc28gcmVtb3ZlZCBkb2NraW5nL3VuZG9ja2luZyBmb3Igbm93LS0+XG4gICAgICA8IS0tIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cInRvZ2dsZURvY2tlZFN0YXRlTGFiZWxcIiAoY2xpY2spPVwidG9nZ2xlRG9ja2VkU3RhdGUoKVwiPlxuICAgICAgICA8bWF0LWljb24gW2F0dHIuYXJpYS1sYWJlbF09XCJ0b2dnbGVEb2NrZWRTdGF0ZUxhYmVsXCI+XG4gICAgICAgICAge3sgZG9ja2VkID8gJ3VuZm9sZF9tb3JlJyA6ICd1bmZvbGRfbGVzcycgfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPiAtLT5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY2xvc2VMYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZWQuZW1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJ0ZC13aW5kb3ctZGlhbG9nLWNsb3NlXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidjbG9zZS1idXR0b24nXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xvc2VMYWJlbFwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC10b29sYmFyLXJvdz5cbjwvbWF0LXRvb2xiYXI+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtY29yZS1keW5hbWljLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9keW5hbWljLW1lbnUvY292YWxlbnQtY29yZS1keW5hbWljLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=