@covalent/core 6.4.0 → 6.4.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 (271) hide show
  1. package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  2. package/common/styles/font/_font.scss +1 -35
  3. package/dialogs/src/README.md +223 -0
  4. package/dialogs/window-dialog/window-dialog.component.d.ts +1 -1
  5. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +1 -1
  6. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +1 -1
  7. package/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  8. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
  9. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +131 -0
  10. package/{esm2022 → esm2020}/breadcrumbs/breadcrumbs.module.mjs +5 -5
  11. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
  12. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  13. package/{esm2022 → esm2020}/common/behaviors/disabled.mixin.mjs +2 -2
  14. package/{esm2022 → esm2020}/common/common.module.mjs +17 -17
  15. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  16. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  17. package/esm2020/common/functions/convert.mjs +84 -0
  18. package/esm2020/common/functions/download.mjs +75 -0
  19. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
  20. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  21. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  22. package/{esm2022 → esm2020}/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
  23. package/{esm2022 → esm2020}/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
  24. package/{esm2022 → esm2020}/common/pipes/time-until/time-until.pipe.mjs +4 -4
  25. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  26. package/esm2020/common/services/icon.service.mjs +1089 -0
  27. package/esm2020/common/services/router-path.service.mjs +29 -0
  28. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
  29. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
  30. package/esm2020/dialogs/dialog.component.mjs +57 -0
  31. package/{esm2022 → esm2020}/dialogs/dialogs.module.mjs +39 -39
  32. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +75 -0
  33. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
  34. package/esm2020/dialogs/services/dialog.service.mjs +174 -0
  35. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
  36. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  37. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
  38. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
  39. package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.module.mjs +19 -19
  40. package/esm2020/file/directives/file-drop.directive.mjs +139 -0
  41. package/esm2020/file/directives/file-select.directive.mjs +77 -0
  42. package/esm2020/file/file-input/file-input.component.mjs +128 -0
  43. package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
  44. package/{esm2022 → esm2020}/file/file.module.mjs +21 -21
  45. package/esm2020/file/services/file.service.mjs +64 -0
  46. package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
  47. package/{esm2022 → esm2020}/json-formatter/json-formatter.module.mjs +5 -5
  48. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
  49. package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
  50. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
  51. package/{esm2022 → esm2020}/layout/layout-manage-list/layout-manage-list.directives.mjs +10 -10
  52. package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
  53. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
  54. package/{esm2022 → esm2020}/layout/layout-nav-list/layout-nav-list.directives.mjs +10 -10
  55. package/esm2020/layout/layout-toggle.class.mjs +92 -0
  56. package/esm2020/layout/layout.component.mjs +92 -0
  57. package/{esm2022 → esm2020}/layout/layout.directives.mjs +10 -10
  58. package/{esm2022 → esm2020}/layout/layout.module.mjs +55 -55
  59. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +163 -0
  60. package/esm2020/loading/directives/loading.directive.mjs +126 -0
  61. package/esm2020/loading/loading.component.mjs +187 -0
  62. package/{esm2022 → esm2020}/loading/loading.module.mjs +13 -13
  63. package/esm2020/loading/services/loading.factory.mjs +207 -0
  64. package/esm2020/loading/services/loading.service.mjs +213 -0
  65. package/{esm2022 → esm2020}/menu/menu.component.mjs +4 -4
  66. package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
  67. package/esm2020/message/message.component.mjs +203 -0
  68. package/{esm2022 → esm2020}/message/message.module.mjs +7 -7
  69. package/esm2020/search/search-box/search-box.component.mjs +194 -0
  70. package/esm2020/search/search-input/search-input.component.mjs +207 -0
  71. package/{esm2022 → esm2020}/search/search.module.mjs +13 -13
  72. package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
  73. package/esm2020/side-sheet/side-sheet-ref.mjs +26 -0
  74. package/{esm2022 → esm2020}/side-sheet/side-sheet.config.mjs +5 -2
  75. package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
  76. package/esm2020/side-sheet/side-sheet.mjs +228 -0
  77. package/{esm2022 → esm2020}/side-sheet/side-sheet.module.mjs +14 -14
  78. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +23 -0
  79. package/esm2020/user-profile/user-profile.component.mjs +19 -0
  80. package/{esm2022 → esm2020}/user-profile/user-profile.module.mjs +15 -15
  81. package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs +22 -28
  82. package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs.map +1 -1
  83. package/fesm2015/covalent-core-common.mjs +2281 -0
  84. package/fesm2015/covalent-core-common.mjs.map +1 -0
  85. package/fesm2015/covalent-core-dialogs.mjs +668 -0
  86. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  87. package/fesm2015/covalent-core-dynamic-menu.mjs +126 -0
  88. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  89. package/fesm2015/covalent-core-file.mjs +621 -0
  90. package/fesm2015/covalent-core-file.mjs.map +1 -0
  91. package/fesm2015/covalent-core-json-formatter.mjs +298 -0
  92. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  93. package/fesm2015/covalent-core-layout.mjs +1024 -0
  94. package/{fesm2022 → fesm2015}/covalent-core-layout.mjs.map +1 -1
  95. package/fesm2015/covalent-core-loading.mjs +766 -0
  96. package/fesm2015/covalent-core-loading.mjs.map +1 -0
  97. package/{fesm2022 → fesm2015}/covalent-core-menu.mjs +7 -7
  98. package/{fesm2022 → fesm2015}/covalent-core-menu.mjs.map +1 -1
  99. package/fesm2015/covalent-core-message.mjs +284 -0
  100. package/fesm2015/covalent-core-message.mjs.map +1 -0
  101. package/fesm2015/covalent-core-search.mjs +430 -0
  102. package/fesm2015/covalent-core-search.mjs.map +1 -0
  103. package/fesm2015/covalent-core-side-sheet.mjs +784 -0
  104. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  105. package/fesm2015/covalent-core-user-profile.mjs +83 -0
  106. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  107. package/fesm2020/covalent-core-breadcrumbs.mjs +243 -0
  108. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
  109. package/{fesm2022 → fesm2020}/covalent-core-common.mjs +1125 -1131
  110. package/fesm2020/covalent-core-common.mjs.map +1 -0
  111. package/{fesm2022 → fesm2020}/covalent-core-dialogs.mjs +82 -111
  112. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  113. package/fesm2020/covalent-core-dynamic-menu.mjs +126 -0
  114. package/{fesm2022 → fesm2020}/covalent-core-dynamic-menu.mjs.map +1 -1
  115. package/{fesm2022 → fesm2020}/covalent-core-file.mjs +110 -148
  116. package/{fesm2022 → fesm2020}/covalent-core-file.mjs.map +1 -1
  117. package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs +21 -26
  118. package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs.map +1 -1
  119. package/{fesm2022 → fesm2020}/covalent-core-layout.mjs +271 -396
  120. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  121. package/{fesm2022 → fesm2020}/covalent-core-loading.mjs +78 -100
  122. package/{fesm2022 → fesm2020}/covalent-core-loading.mjs.map +1 -1
  123. package/fesm2020/covalent-core-menu.mjs +37 -0
  124. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  125. package/{fesm2022 → fesm2020}/covalent-core-message.mjs +23 -42
  126. package/{fesm2022 → fesm2020}/covalent-core-message.mjs.map +1 -1
  127. package/fesm2020/covalent-core-search.mjs +427 -0
  128. package/fesm2020/covalent-core-search.mjs.map +1 -0
  129. package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs +99 -124
  130. package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs.map +1 -1
  131. package/fesm2020/covalent-core-user-profile.mjs +83 -0
  132. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  133. package/fesm2020/covalent-core.mjs +4 -0
  134. package/fesm2020/covalent-core.mjs.map +1 -0
  135. package/file/directives/file-drop.directive.d.ts +1 -1
  136. package/file/directives/file-select.directive.d.ts +1 -1
  137. package/file/file-input/file-input.component.d.ts +1 -1
  138. package/file/file-upload/file-upload.component.d.ts +1 -1
  139. package/file/src/file-input/README.md +147 -0
  140. package/file/src/file-upload/README.md +136 -0
  141. package/json-formatter/json-formatter.component.d.ts +1 -1
  142. package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
  143. package/layout/layout-footer/layout-footer.component.d.ts +1 -1
  144. package/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
  145. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
  146. package/layout/layout-nav/layout-nav.component.d.ts +1 -1
  147. package/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
  148. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
  149. package/layout/layout-toggle.class.d.ts +1 -1
  150. package/layout/layout.component.d.ts +1 -1
  151. package/layout/layout.directives.d.ts +3 -3
  152. package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  153. package/layout/src/layout-card-over/README.md +43 -0
  154. package/layout/src/layout-manage-list/README.md +80 -0
  155. package/layout/src/layout-nav/README.md +50 -0
  156. package/layout/src/layout-nav-list/README.md +105 -0
  157. package/loading/directives/loading.directive.d.ts +1 -1
  158. package/message/message.component.d.ts +1 -1
  159. package/package.json +91 -55
  160. package/search/search-box/search-box.component.d.ts +1 -1
  161. package/search/search-input/search-input.component.d.ts +1 -1
  162. package/search/src/search-box/README.md +73 -0
  163. package/search/src/search-input/README.md +74 -0
  164. package/side-sheet/side-sheet.content-directives.d.ts +2 -2
  165. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  166. package/user-profile/user-profile.component.d.ts +1 -1
  167. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  168. package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -94
  169. package/esm2022/breadcrumbs/breadcrumbs.component.mjs +0 -135
  170. package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +0 -43
  171. package/esm2022/common/behaviors/disable-ripple.mixin.mjs +0 -24
  172. package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +0 -87
  173. package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +0 -37
  174. package/esm2022/common/functions/convert.mjs +0 -84
  175. package/esm2022/common/functions/download.mjs +0 -75
  176. package/esm2022/common/pipes/bytes/bytes.pipe.mjs +0 -42
  177. package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
  178. package/esm2022/common/pipes/digits/digits.pipe.mjs +0 -41
  179. package/esm2022/common/pipes/truncate/truncate.pipe.mjs +0 -27
  180. package/esm2022/common/services/icon.service.mjs +0 -1087
  181. package/esm2022/common/services/router-path.service.mjs +0 -30
  182. package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +0 -26
  183. package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -31
  184. package/esm2022/dialogs/dialog.component.mjs +0 -60
  185. package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -84
  186. package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -220
  187. package/esm2022/dialogs/services/dialog.service.mjs +0 -179
  188. package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +0 -40
  189. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
  190. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -23
  191. package/esm2022/dynamic-menu/dynamic-menu.component.mjs +0 -28
  192. package/esm2022/file/directives/file-drop.directive.mjs +0 -145
  193. package/esm2022/file/directives/file-select.directive.mjs +0 -78
  194. package/esm2022/file/file-input/file-input.component.mjs +0 -146
  195. package/esm2022/file/file-upload/file-upload.component.mjs +0 -185
  196. package/esm2022/file/services/file.service.mjs +0 -66
  197. package/esm2022/json-formatter/json-formatter.component.mjs +0 -222
  198. package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +0 -50
  199. package/esm2022/layout/layout-footer/layout-footer.component.mjs +0 -36
  200. package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +0 -92
  201. package/esm2022/layout/layout-nav/layout-nav.component.mjs +0 -76
  202. package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +0 -154
  203. package/esm2022/layout/layout-toggle.class.mjs +0 -96
  204. package/esm2022/layout/layout.component.mjs +0 -91
  205. package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +0 -221
  206. package/esm2022/loading/directives/loading.directive.mjs +0 -133
  207. package/esm2022/loading/loading.component.mjs +0 -193
  208. package/esm2022/loading/services/loading.factory.mjs +0 -210
  209. package/esm2022/loading/services/loading.service.mjs +0 -219
  210. package/esm2022/message/message.component.mjs +0 -222
  211. package/esm2022/search/search-box/search-box.component.mjs +0 -198
  212. package/esm2022/search/search-input/search-input.component.mjs +0 -214
  213. package/esm2022/side-sheet/side-sheet-container.mjs +0 -285
  214. package/esm2022/side-sheet/side-sheet-ref.mjs +0 -30
  215. package/esm2022/side-sheet/side-sheet.content-directives.mjs +0 -206
  216. package/esm2022/side-sheet/side-sheet.mjs +0 -236
  217. package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -25
  218. package/esm2022/user-profile/user-profile.component.mjs +0 -21
  219. package/fesm2022/covalent-core-common.mjs.map +0 -1
  220. package/fesm2022/covalent-core-dialogs.mjs.map +0 -1
  221. package/fesm2022/covalent-core-dynamic-menu.mjs +0 -125
  222. package/fesm2022/covalent-core-search.mjs +0 -438
  223. package/fesm2022/covalent-core-search.mjs.map +0 -1
  224. package/fesm2022/covalent-core-user-profile.mjs +0 -87
  225. package/fesm2022/covalent-core-user-profile.mjs.map +0 -1
  226. /package/{esm2022 → esm2020}/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -0
  227. /package/{esm2022 → esm2020}/breadcrumbs/public_api.mjs +0 -0
  228. /package/{esm2022 → esm2020}/common/animations/bounce/bounce.animation.mjs +0 -0
  229. /package/{esm2022 → esm2020}/common/animations/collapse/collapse.animation.mjs +0 -0
  230. /package/{esm2022 → esm2020}/common/animations/common/interfaces.mjs +0 -0
  231. /package/{esm2022 → esm2020}/common/animations/fade/fadeInOut.animation.mjs +0 -0
  232. /package/{esm2022 → esm2020}/common/animations/flash/flash.animation.mjs +0 -0
  233. /package/{esm2022 → esm2020}/common/animations/headshake/headshake.animation.mjs +0 -0
  234. /package/{esm2022 → esm2020}/common/animations/jello/jello.animation.mjs +0 -0
  235. /package/{esm2022 → esm2020}/common/animations/pulse/pulse.animation.mjs +0 -0
  236. /package/{esm2022 → esm2020}/common/animations/rotate/rotate.animation.mjs +0 -0
  237. /package/{esm2022 → esm2020}/common/covalent-core-common.mjs +0 -0
  238. /package/{esm2022 → esm2020}/common/forms/validators/validators.mjs +0 -0
  239. /package/{esm2022 → esm2020}/common/functions/clipboard.mjs +0 -0
  240. /package/{esm2022 → esm2020}/common/functions/file.mjs +0 -0
  241. /package/{esm2022 → esm2020}/common/public_api.mjs +0 -0
  242. /package/{esm2022 → esm2020}/covalent-core.mjs +0 -0
  243. /package/{esm2022 → esm2020}/dialogs/covalent-core-dialogs.mjs +0 -0
  244. /package/{esm2022 → esm2020}/dialogs/public_api.mjs +0 -0
  245. /package/{esm2022 → esm2020}/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -0
  246. /package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.menu.mjs +0 -0
  247. /package/{esm2022 → esm2020}/dynamic-menu/public_api.mjs +0 -0
  248. /package/{esm2022 → esm2020}/file/covalent-core-file.mjs +0 -0
  249. /package/{esm2022 → esm2020}/file/public_api.mjs +0 -0
  250. /package/{esm2022 → esm2020}/json-formatter/collapse.animation.mjs +0 -0
  251. /package/{esm2022 → esm2020}/json-formatter/covalent-core-json-formatter.mjs +0 -0
  252. /package/{esm2022 → esm2020}/json-formatter/public_api.mjs +0 -0
  253. /package/{esm2022 → esm2020}/layout/covalent-core-layout.mjs +0 -0
  254. /package/{esm2022 → esm2020}/layout/public_api.mjs +0 -0
  255. /package/{esm2022 → esm2020}/loading/covalent-core-loading.mjs +0 -0
  256. /package/{esm2022 → esm2020}/loading/public_api.mjs +0 -0
  257. /package/{esm2022 → esm2020}/menu/covalent-core-menu.mjs +0 -0
  258. /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
  259. /package/{esm2022 → esm2020}/message/collapse.animation.mjs +0 -0
  260. /package/{esm2022 → esm2020}/message/covalent-core-message.mjs +0 -0
  261. /package/{esm2022 → esm2020}/message/public_api.mjs +0 -0
  262. /package/{esm2022 → esm2020}/public_api.mjs +0 -0
  263. /package/{esm2022 → esm2020}/search/covalent-core-search.mjs +0 -0
  264. /package/{esm2022 → esm2020}/search/public_api.mjs +0 -0
  265. /package/{esm2022 → esm2020}/side-sheet/covalent-core-side-sheet.mjs +0 -0
  266. /package/{esm2022 → esm2020}/side-sheet/public_api.mjs +0 -0
  267. /package/{esm2022 → esm2020}/side-sheet/side-sheet.animation.mjs +0 -0
  268. /package/{esm2022 → esm2020}/user-profile/covalent-core-user-profile.mjs +0 -0
  269. /package/{esm2022 → esm2020}/user-profile/public_api.mjs +0 -0
  270. /package/{fesm2022 → fesm2015}/covalent-core.mjs +0 -0
  271. /package/{fesm2022 → fesm2015}/covalent-core.mjs.map +0 -0
@@ -1,179 +0,0 @@
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
- _document;
14
- _dialogService;
15
- _dragDrop;
16
- rendererFactory;
17
- _renderer2;
18
- constructor(_document, _dialogService, _dragDrop, rendererFactory) {
19
- this._document = _document;
20
- this._dialogService = _dialogService;
21
- this._dragDrop = _dragDrop;
22
- this.rendererFactory = rendererFactory;
23
- this._renderer2 = rendererFactory.createRenderer(undefined, null);
24
- }
25
- /**
26
- * params:
27
- * - component: ComponentType<T>
28
- * - config: MatDialogConfig
29
- * Wrapper function over the open() method in MatDialog.
30
- * Opens a modal dialog containing the given component.
31
- */
32
- open(component, config) {
33
- return this._dialogService.open(component, config);
34
- }
35
- /**
36
- * Wrapper function over the closeAll() method in MatDialog.
37
- * Closes all of the currently-open dialogs.
38
- */
39
- closeAll() {
40
- this._dialogService.closeAll();
41
- }
42
- /**
43
- * params:
44
- * - config: IAlertConfig {
45
- * message: string;
46
- * title?: string;
47
- * viewContainerRef?: ViewContainerRef;
48
- * closeButton?: string;
49
- * }
50
- *
51
- * Opens an alert dialog with the provided config.
52
- * Returns an MatDialogRef<TdAlertDialogComponent> object.
53
- */
54
- openAlert(config) {
55
- const dialogConfig = this._createConfig(config);
56
- const dialogRef = this._dialogService.open(TdAlertDialogComponent, dialogConfig);
57
- const alertDialogComponent = dialogRef.componentInstance;
58
- alertDialogComponent.title = config.title;
59
- alertDialogComponent.message = config.message;
60
- if (config.closeButton) {
61
- alertDialogComponent.closeButton = config.closeButton;
62
- }
63
- return dialogRef;
64
- }
65
- /**
66
- * params:
67
- * - config: IConfirmConfig {
68
- * message: string;
69
- * title?: string;
70
- * viewContainerRef?: ViewContainerRef;
71
- * acceptButton?: string;
72
- * cancelButton?: string;
73
- * isDestructive?: boolean;
74
- * }
75
- *
76
- * Opens a confirm dialog with the provided config.
77
- * Returns an MatDialogRef<TdConfirmDialogComponent> object.
78
- */
79
- openConfirm(config) {
80
- const dialogConfig = this._createConfig(config);
81
- const dialogRef = this._dialogService.open(TdConfirmDialogComponent, dialogConfig);
82
- const confirmDialogComponent = dialogRef.componentInstance;
83
- confirmDialogComponent.title = config.title;
84
- confirmDialogComponent.message = config.message;
85
- if (config.acceptButton) {
86
- confirmDialogComponent.acceptButton = config.acceptButton;
87
- }
88
- if (config.isDestructive) {
89
- confirmDialogComponent.isDestructive = config.isDestructive;
90
- }
91
- if (config.cancelButton) {
92
- confirmDialogComponent.cancelButton = config.cancelButton;
93
- }
94
- return dialogRef;
95
- }
96
- /**
97
- * params:
98
- * - config: IPromptConfig {
99
- * message: string;
100
- * title?: string;
101
- * value?: string;
102
- * viewContainerRef?: ViewContainerRef;
103
- * acceptButton?: string;
104
- * cancelButton?: string;
105
- * }
106
- *
107
- * Opens a prompt dialog with the provided config.
108
- * Returns an MatDialogRef<TdPromptDialogComponent> object.
109
- */
110
- openPrompt(config) {
111
- const dialogConfig = this._createConfig(config);
112
- const dialogRef = this._dialogService.open(TdPromptDialogComponent, dialogConfig);
113
- const promptDialogComponent = dialogRef.componentInstance;
114
- promptDialogComponent.title = config.title;
115
- promptDialogComponent.message = config.message;
116
- promptDialogComponent.value = config.value;
117
- if (config.acceptButton) {
118
- promptDialogComponent.acceptButton = config.acceptButton;
119
- }
120
- if (config.cancelButton) {
121
- promptDialogComponent.cancelButton = config.cancelButton;
122
- }
123
- return dialogRef;
124
- }
125
- /**
126
- * Opens a draggable dialog containing the given component.
127
- */
128
- openDraggable({ component, config, dragHandleSelectors, draggableClass, }) {
129
- const matDialogRef = this._dialogService.open(component, config);
130
- const dragRefSubject = new Subject();
131
- const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';
132
- const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';
133
- matDialogRef.afterOpened().subscribe(() => {
134
- const dialogElement = (this._document.getElementById(matDialogRef.id));
135
- if (!dialogElement) {
136
- return;
137
- }
138
- const draggableElement = this._dragDrop.createDrag(dialogElement);
139
- if (draggableClass) {
140
- const childComponent = dialogElement.firstElementChild;
141
- this._renderer2.addClass(childComponent, draggableClass);
142
- }
143
- if (dragHandleSelectors && dragHandleSelectors.length) {
144
- const dragHandles = dragHandleSelectors.reduce((acc, curr) => [
145
- ...acc,
146
- ...Array.from(dialogElement.querySelectorAll(curr)),
147
- ], []);
148
- if (dragHandles.length > 0) {
149
- draggableElement.withHandles(dragHandles);
150
- }
151
- }
152
- const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);
153
- if (rootElement) {
154
- draggableElement.withRootElement(rootElement);
155
- }
156
- const boundaryElement = dialogElement.closest(CDK_OVERLAY_CONTAINER_SELECTOR);
157
- if (boundaryElement) {
158
- draggableElement.withBoundaryElement(boundaryElement);
159
- }
160
- dragRefSubject.next(draggableElement);
161
- });
162
- return { matDialogRef, dragRefSubject };
163
- }
164
- _createConfig(config) {
165
- const dialogConfig = new MatDialogConfig();
166
- dialogConfig.width = '400px';
167
- Object.assign(dialogConfig, config);
168
- return dialogConfig;
169
- }
170
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDialogService, deps: [{ token: DOCUMENT }, { token: i1.MatDialog }, { token: i2.DragDrop }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
171
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDialogService });
172
- }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDialogService, decorators: [{
174
- type: Injectable
175
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
176
- type: Inject,
177
- args: [DOCUMENT]
178
- }] }, { type: i1.MatDialog }, { type: i2.DragDrop }, { type: i0.RendererFactory2 }]; } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUNMLFNBQVMsRUFFVCxlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBb0MvQixNQUFNLE9BQU8sZUFBZTtJQUlFO0lBQ2xCO0lBQ0E7SUFDQTtJQU5GLFVBQVUsQ0FBWTtJQUU5QixZQUM0QixTQUFjLEVBQ2hDLGNBQXlCLEVBQ3pCLFNBQW1CLEVBQ25CLGVBQWlDO1FBSGYsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBVztRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUV6QyxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQ1QsU0FBMkIsRUFDM0IsTUFBd0I7UUFFeEIsT0FB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QixXQUFXLENBQUMsQ0FBQztpQkFDMUQ7YUFDRjtZQUNELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUNyRSxJQUFJLFdBQVcsRUFBRTtnQkFDZixnQkFBZ0IsQ0FBQyxlQUFlLENBQWMsV0FBVyxDQUFDLENBQUM7YUFDNUQ7WUFFRCxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUMzQyw4QkFBOEIsQ0FDL0IsQ0FBQztZQUNGLElBQUksZUFBZSxFQUFFO2dCQUNuQixnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBYyxlQUFlLENBQUMsQ0FBQzthQUNwRTtZQUNELGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFxQjtRQUN6QyxNQUFNLFlBQVksR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM1RCxZQUFZLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO3VHQXRNVSxlQUFlLGtCQUloQixRQUFROzJHQUpQLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQUtOLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXREaWFsb2csXG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nQ29uZmlnLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQgeyBUZEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvbXB0LWRpYWxvZy9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnRHJvcCwgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcgZXh0ZW5kcyBNYXREaWFsb2dDb25maWcge1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xuICBjbG9zZUJ1dHRvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlybUNvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xuICBhY2NlcHRCdXR0b24/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvbj86IHN0cmluZztcbiAgaXNEZXN0cnVjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb21wdENvbmZpZyBleHRlbmRzIElDb25maXJtQ29uZmlnIHtcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZUNvbmZpZzxUPiB7XG4gIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbiAgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnO1xuICAvLyBDU1Mgc2VsZWN0b3JzIG9mIGVsZW1lbnQocykgaW5zaWRlIHRoZSBjb21wb25lbnQgbWVhbnQgdG8gYmUgZHJhZyBoYW5kbGUocylcbiAgZHJhZ0hhbmRsZVNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAvLyBDbGFzcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNvbXBvbmVudCBzaWduaWZ5aW5nIGRyYWctYWJpbGl0eVxuICBkcmFnZ2FibGVDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRHJhZ2dhYmxlUmVmczxUPiB7XG4gIG1hdERpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFQ+O1xuICBkcmFnUmVmU3ViamVjdDogU3ViamVjdDxEcmFnUmVmPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRkRGlhbG9nU2VydmljZSB7XG4gIHByaXZhdGUgX3JlbmRlcmVyMjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2RyYWdEcm9wOiBEcmFnRHJvcCxcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+XG4gICAqIC0gY29uZmlnOiBNYXREaWFsb2dDb25maWdcbiAgICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBvcGVuKCkgbWV0aG9kIGluIE1hdERpYWxvZy5cbiAgICogT3BlbnMgYSBtb2RhbCBkaWFsb2cgY29udGFpbmluZyB0aGUgZ2l2ZW4gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9wZW48VD4oXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LFxuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZ1xuICApOiBNYXREaWFsb2dSZWY8VD4ge1xuICAgIHJldHVybiB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBwZXIgZnVuY3Rpb24gb3ZlciB0aGUgY2xvc2VBbGwoKSBtZXRob2QgaW4gTWF0RGlhbG9nLlxuICAgKiBDbG9zZXMgYWxsIG9mIHRoZSBjdXJyZW50bHktb3BlbiBkaWFsb2dzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2UuY2xvc2VBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29uZmlnOiBJQWxlcnRDb25maWcge1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgICogICAgIGNsb3NlQnV0dG9uPzogc3RyaW5nO1xuICAgKiB9XG4gICAqXG4gICAqIE9wZW5zIGFuIGFsZXJ0IGRpYWxvZyB3aXRoIHRoZSBwcm92aWRlZCBjb25maWcuXG4gICAqIFJldHVybnMgYW4gTWF0RGlhbG9nUmVmPFRkQWxlcnREaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBvcGVuQWxlcnQoY29uZmlnOiBJQWxlcnRDb25maWcpOiBNYXREaWFsb2dSZWY8VGRBbGVydERpYWxvZ0NvbXBvbmVudD4ge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZyk7XG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGRBbGVydERpYWxvZ0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFRkQWxlcnREaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgY29uc3QgYWxlcnREaWFsb2dDb21wb25lbnQ6IFRkQWxlcnREaWFsb2dDb21wb25lbnQgPVxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIGFsZXJ0RGlhbG9nQ29tcG9uZW50LnRpdGxlID0gY29uZmlnLnRpdGxlO1xuICAgIGFsZXJ0RGlhbG9nQ29tcG9uZW50Lm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICBpZiAoY29uZmlnLmNsb3NlQnV0dG9uKSB7XG4gICAgICBhbGVydERpYWxvZ0NvbXBvbmVudC5jbG9zZUJ1dHRvbiA9IGNvbmZpZy5jbG9zZUJ1dHRvbjtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29uZmlnOiBJQ29uZmlybUNvbmZpZyB7XG4gICAqICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAqICAgICB0aXRsZT86IHN0cmluZztcbiAgICogICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgKiAgICAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xuICAgKiAgICAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xuICAgKiAgICAgaXNEZXN0cnVjdGl2ZT86IGJvb2xlYW47XG4gICAqIH1cbiAgICpcbiAgICogT3BlbnMgYSBjb25maXJtIGRpYWxvZyB3aXRoIHRoZSBwcm92aWRlZCBjb25maWcuXG4gICAqIFJldHVybnMgYW4gTWF0RGlhbG9nUmVmPFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIG9wZW5Db25maXJtKFxuICAgIGNvbmZpZzogSUNvbmZpcm1Db25maWdcbiAgKTogTWF0RGlhbG9nUmVmPFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4ge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZyk7XG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGRDb25maXJtRGlhbG9nQ29tcG9uZW50PiA9XG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oVGRDb25maXJtRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgIGNvbnN0IGNvbmZpcm1EaWFsb2dDb21wb25lbnQ6IFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudCA9XG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC50aXRsZSA9IGNvbmZpZy50aXRsZTtcbiAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50Lm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICBpZiAoY29uZmlnLmFjY2VwdEJ1dHRvbikge1xuICAgICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmlzRGVzdHJ1Y3RpdmUpIHtcbiAgICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQuaXNEZXN0cnVjdGl2ZSA9IGNvbmZpZy5pc0Rlc3RydWN0aXZlO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNhbmNlbEJ1dHRvbikge1xuICAgICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xuICAgIH1cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb25maWc6IElQcm9tcHRDb25maWcge1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2YWx1ZT86IHN0cmluZztcbiAgICogICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgKiAgICAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xuICAgKiAgICAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xuICAgKiB9XG4gICAqXG4gICAqIE9wZW5zIGEgcHJvbXB0IGRpYWxvZyB3aXRoIHRoZSBwcm92aWRlZCBjb25maWcuXG4gICAqIFJldHVybnMgYW4gTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgb3BlblByb21wdChcbiAgICBjb25maWc6IElQcm9tcHRDb25maWdcbiAgKTogTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcbiAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZFByb21wdERpYWxvZ0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgIGNvbnN0IHByb21wdERpYWxvZ0NvbXBvbmVudDogVGRQcm9tcHREaWFsb2dDb21wb25lbnQgPVxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC50aXRsZSA9IGNvbmZpZy50aXRsZTtcbiAgICBwcm9tcHREaWFsb2dDb21wb25lbnQubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICBpZiAoY29uZmlnLmFjY2VwdEJ1dHRvbikge1xuICAgICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50LmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XG4gICAgfVxuICAgIGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XG4gICAgICBwcm9tcHREaWFsb2dDb21wb25lbnQuY2FuY2VsQnV0dG9uID0gY29uZmlnLmNhbmNlbEJ1dHRvbjtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGRyYWdnYWJsZSBkaWFsb2cgY29udGFpbmluZyB0aGUgZ2l2ZW4gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9wZW5EcmFnZ2FibGU8VD4oe1xuICAgIGNvbXBvbmVudCxcbiAgICBjb25maWcsXG4gICAgZHJhZ0hhbmRsZVNlbGVjdG9ycyxcbiAgICBkcmFnZ2FibGVDbGFzcyxcbiAgfTogSURyYWdnYWJsZUNvbmZpZzxUPik6IElEcmFnZ2FibGVSZWZzPFQ+IHtcbiAgICBjb25zdCBtYXREaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxULCBhbnk+ID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgICBjb25zdCBkcmFnUmVmU3ViamVjdDogU3ViamVjdDxEcmFnUmVmPiA9IG5ldyBTdWJqZWN0PERyYWdSZWY+KCk7XG5cbiAgICBjb25zdCBDREtfT1ZFUkxBWV9QQU5FX1NFTEVDVE9SID0gJy5jZGstb3ZlcmxheS1wYW5lJztcbiAgICBjb25zdCBDREtfT1ZFUkxBWV9DT05UQUlORVJfU0VMRUNUT1IgPSAnLmNkay1vdmVybGF5LWNvbnRhaW5lcic7XG5cbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgZGlhbG9nRWxlbWVudDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+KFxuICAgICAgICB0aGlzLl9kb2N1bWVudC5nZXRFbGVtZW50QnlJZChtYXREaWFsb2dSZWYuaWQpXG4gICAgICApO1xuXG4gICAgICBpZiAoIWRpYWxvZ0VsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcmFnZ2FibGVFbGVtZW50OiBEcmFnUmVmID1cbiAgICAgICAgdGhpcy5fZHJhZ0Ryb3AuY3JlYXRlRHJhZyhkaWFsb2dFbGVtZW50KTtcblxuICAgICAgaWYgKGRyYWdnYWJsZUNsYXNzKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkQ29tcG9uZW50ID0gZGlhbG9nRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKGNoaWxkQ29tcG9uZW50LCBkcmFnZ2FibGVDbGFzcyk7XG4gICAgICB9XG4gICAgICBpZiAoZHJhZ0hhbmRsZVNlbGVjdG9ycyAmJiBkcmFnSGFuZGxlU2VsZWN0b3JzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkcmFnSGFuZGxlczogRWxlbWVudFtdID0gZHJhZ0hhbmRsZVNlbGVjdG9ycy5yZWR1Y2UoXG4gICAgICAgICAgKGFjYzogRWxlbWVudFtdLCBjdXJyOiBzdHJpbmcpID0+IFtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIC4uLkFycmF5LmZyb20oZGlhbG9nRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGN1cnIpKSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIFtdXG4gICAgICAgICk7XG4gICAgICAgIGlmIChkcmFnSGFuZGxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZHJhZ2dhYmxlRWxlbWVudC53aXRoSGFuZGxlcyg8SFRNTEVsZW1lbnRbXT5kcmFnSGFuZGxlcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZGlhbG9nRWxlbWVudC5jbG9zZXN0KENES19PVkVSTEFZX1BBTkVfU0VMRUNUT1IpO1xuICAgICAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgICAgIGRyYWdnYWJsZUVsZW1lbnQud2l0aFJvb3RFbGVtZW50KDxIVE1MRWxlbWVudD5yb290RWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kYXJ5RWxlbWVudCA9IGRpYWxvZ0VsZW1lbnQuY2xvc2VzdChcbiAgICAgICAgQ0RLX09WRVJMQVlfQ09OVEFJTkVSX1NFTEVDVE9SXG4gICAgICApO1xuICAgICAgaWYgKGJvdW5kYXJ5RWxlbWVudCkge1xuICAgICAgICBkcmFnZ2FibGVFbGVtZW50LndpdGhCb3VuZGFyeUVsZW1lbnQoPEhUTUxFbGVtZW50PmJvdW5kYXJ5RWxlbWVudCk7XG4gICAgICB9XG4gICAgICBkcmFnUmVmU3ViamVjdC5uZXh0KGRyYWdnYWJsZUVsZW1lbnQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgbWF0RGlhbG9nUmVmLCBkcmFnUmVmU3ViamVjdCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29uZmlnKGNvbmZpZzogSURpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ0NvbmZpZyB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzQwMHB4JztcbiAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0NvbmZpZywgY29uZmlnKTtcbiAgICByZXR1cm4gZGlhbG9nQ29uZmlnO1xuICB9XG59XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/button";
4
- import * as i2 from "@angular/material/toolbar";
5
- import * as i3 from "@angular/material/tooltip";
6
- import * as i4 from "@angular/material/icon";
7
- export class TdWindowDialogComponent {
8
- toolbarColor;
9
- docked = false;
10
- title;
11
- toggleDockedStateLabel;
12
- closeLabel;
13
- dockToggled = new EventEmitter();
14
- closed = new EventEmitter();
15
- toolbarHeight = 56;
16
- toggleDockedState() {
17
- this.dockToggled.emit(this.docked);
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdWindowDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdWindowDialogComponent, selector: "td-window-dialog", inputs: { toolbarColor: "toolbarColor", docked: "docked", title: "title", toggleDockedStateLabel: "toggleDockedStateLabel", closeLabel: "closeLabel" }, outputs: { dockToggled: "dockToggled", closed: "closed" }, ngImport: i0, 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:flex;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"], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdWindowDialogComponent, decorators: [{
23
- type: Component,
24
- 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:flex;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"] }]
25
- }], propDecorators: { toolbarColor: [{
26
- type: Input
27
- }], docked: [{
28
- type: Input
29
- }], title: [{
30
- type: Input
31
- }], toggleDockedStateLabel: [{
32
- type: Input
33
- }], closeLabel: [{
34
- type: Input
35
- }], dockToggled: [{
36
- type: Output
37
- }], closed: [{
38
- type: Output
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvd2luZG93LWRpYWxvZy93aW5kb3ctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9kaWFsb2dzL3NyYy93aW5kb3ctZGlhbG9nL3dpbmRvdy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFlBQVksQ0FBZ0I7SUFDNUIsTUFBTSxHQUFJLEtBQUssQ0FBQztJQUVoQixLQUFLLENBQVU7SUFDZixzQkFBc0IsQ0FBVTtJQUNoQyxVQUFVLENBQVU7SUFFbkIsV0FBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hELE1BQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUxRCxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRW5CLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQWZVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDJRQ2ZwQyx5b0NBK0JBOzsyRkRoQmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLXdpbmRvdy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2luZG93LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpbmRvdy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkV2luZG93RGlhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBASW5wdXQoKSBkb2NrZWQ/ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvZ2dsZURvY2tlZFN0YXRlTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsb3NlTGFiZWw/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0b29sYmFySGVpZ2h0ID0gNTY7XG5cbiAgdG9nZ2xlRG9ja2VkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5kb2NrVG9nZ2xlZC5lbWl0KHRoaXMuZG9ja2VkKTtcbiAgfVxufVxuIiwiPG1hdC10b29sYmFyXG4gIFtjb2xvcl09XCJ0b29sYmFyQ29sb3JcIlxuICBjbGFzcz1cInRkLXdpbmRvdy1kaWFsb2ctdG9vbGJhclwiXG4gIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cInRvb2xiYXJIZWlnaHRcIlxuICBbc3R5bGUuY3Vyc29yXT1cImRvY2tlZCA/ICdpbmhlcml0JyA6ICdtb3ZlJ1wiXG4+XG4gIDxtYXQtdG9vbGJhci1yb3cgW3N0eWxlLmhlaWdodC5weF09XCJ0b29sYmFySGVpZ2h0XCI+XG4gICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIiBmbGV4PlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtdGl0bGUgdGQtd2luZG93LWRpYWxvZy10aXRsZSB0cnVuY2F0ZVwiIGZsZXg+XG4gICAgICAgIHt7IHRpdGxlIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8IS0tIFRPRE86IFJlc2l6aW5nIGEgZHJhZy1hbmQtZHJvcCBlbGVtZW50IHdhcyBub3Qgd29ya2luZyBzbyByZW1vdmVkIGRvY2tpbmcvdW5kb2NraW5nIGZvciBub3ctLT5cbiAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwidG9nZ2xlRG9ja2VkU3RhdGVMYWJlbFwiIChjbGljayk9XCJ0b2dnbGVEb2NrZWRTdGF0ZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvZ2dsZURvY2tlZFN0YXRlTGFiZWxcIj5cbiAgICAgICAgICB7eyBkb2NrZWQgPyAndW5mb2xkX21vcmUnIDogJ3VuZm9sZF9sZXNzJyB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+IC0tPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjbG9zZUxhYmVsID8/ICcnXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlZC5lbWl0KClcIlxuICAgICAgICBjbGFzcz1cInRkLXdpbmRvdy1kaWFsb2ctY2xvc2VcIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ2Nsb3NlLWJ1dHRvbidcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUxhYmVsXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { MatMenu } from '@angular/material/menu';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/icon";
6
- import * as i3 from "@angular/material/divider";
7
- import * as i4 from "@angular/material/menu";
8
- import * as i5 from "./dynamic-menu-link/dynamic-menu-link.component";
9
- export class TdDynamicMenuItemComponent {
10
- items;
11
- itemClicked = new EventEmitter();
12
- childMenu;
13
- emitClicked(event) {
14
- this.itemClicked.emit(event);
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: { items: "items" }, outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }, { kind: "component", type: i5.TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: ["item"], outputs: ["itemClicked"] }] });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuItemComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'td-dynamic-menu-item', template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"] }]
22
- }], propDecorators: { items: [{
23
- type: Input
24
- }], itemClicked: [{
25
- type: Output
26
- }], childMenu: [{
27
- type: ViewChild,
28
- args: ['childMenu', { static: true }]
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2R5bmFtaWMtbWVudS9zcmMvZHluYW1pYy1tZW51LWl0ZW0vZHluYW1pYy1tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2R5bmFtaWMtbWVudS9zcmMvZHluYW1pYy1tZW51LWl0ZW0vZHluYW1pYy1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBUWpELE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsS0FBSyxDQUFlO0lBRW5CLFdBQVcsR0FDbkIsSUFBSSxZQUFZLEVBQWdDLENBQUM7SUFFRixTQUFTLENBQVc7SUFFckUsV0FBVyxDQUFDLEtBQW1DO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7dUdBVlUsMEJBQTBCOzJGQUExQiwwQkFBMEIsdVBDZnZDLGc2Q0FxQ0EsMjdCRHRCYSwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFHMEMsU0FBUztzQkFBekQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBJTWVudUl0ZW0sIElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQgfSBmcm9tICcuLi9keW5hbWljLW1lbnUubWVudSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWR5bmFtaWMtbWVudS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljTWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtcyE6IElNZW51SXRlbVtdO1xuXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2tlZDogRXZlbnRFbWl0dGVyPElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2hpbGRNZW51JywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGNoaWxkTWVudSE6IE1hdE1lbnU7XG5cbiAgZW1pdENsaWNrZWQoZXZlbnQ6IElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8bWF0LW1lbnUgI2NoaWxkTWVudT1cIm1hdE1lbnVcIiBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCIgbmdGb3IgW25nRm9yT2ZdPVwiaXRlbXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbaWRdPVwiaXRlbS5pZFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51LmNoaWxkTWVudVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAqbmdJZj1cIml0ZW0uc3ZnSWNvblwiXG4gICAgICAgICAgW2NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzZXNcIlxuICAgICAgICAgIFtzdmdJY29uXT1cIml0ZW0uc3ZnSWNvblwiXG4gICAgICAgID48L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uQ2xhc3Nlc1wiPnt7XG4gICAgICAgICAgaXRlbS5pY29uXG4gICAgICAgIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRleHRcIj5cbiAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8dGQtZHluYW1pYy1tZW51LWl0ZW1cbiAgICAgICAgI21lbnVcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW0uY2hpbGRyZW5cIlxuICAgICAgPjwvdGQtZHluYW1pYy1tZW51LWl0ZW0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmNoaWxkcmVuIHx8IGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0ubGluayAmJiAhaXRlbS5hY3Rpb25cIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiZ3JvdXAtZGl2aWRlclwiICpuZ0lmPVwiaW5kZXggPiAwXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLWxhYmVsIHRleHQtc21cIj57eyBpdGVtLnRleHQgfX08L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0ubGluayB8fCBpdGVtLmFjdGlvblwiPlxuICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJwYWQtbm9uZVwiPlxuICAgICAgICAgIDx0ZC1keW5hbWljLW1lbnUtbGlua1xuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAoaXRlbUNsaWNrZWQpPVwiZW1pdENsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvdGQtZHluYW1pYy1tZW51LWxpbms+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1tZW51PlxuIl19
@@ -1,23 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/menu";
6
- export class TdDynamicMenuLinkComponent {
7
- item;
8
- itemClicked = new EventEmitter();
9
- emitClicked() {
10
- this.itemClicked.emit({ text: this.item.text, action: this.item.action });
11
- }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: { item: "item" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n", styles: [".new-tab{display:flex;justify-content:flex-start;align-items:center}.new-tab span{flex:1}.new-tab .new-tab-icon{margin:0 0 0 16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }] });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuLinkComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'td-dynamic-menu-link', template: "<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n", styles: [".new-tab{display:flex;justify-content:flex-start;align-items:center}.new-tab span{flex:1}.new-tab .new-tab-icon{margin:0 0 0 16px}\n"] }]
18
- }], propDecorators: { item: [{
19
- type: Input
20
- }], itemClicked: [{
21
- type: Output
22
- }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2R5bmFtaWMtbWVudS9zcmMvZHluYW1pYy1tZW51LWl0ZW0vZHluYW1pYy1tZW51LWxpbmsvZHluYW1pYy1tZW51LWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2R5bmFtaWMtbWVudS9zcmMvZHluYW1pYy1tZW51LWl0ZW0vZHluYW1pYy1tZW51LWxpbmsvZHluYW1pYy1tZW51LWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXdkUsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixJQUFJLENBQWE7SUFFaEIsV0FBVyxHQUNuQixJQUFJLFlBQVksRUFBZ0MsQ0FBQztJQUVuRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO3VHQVJVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLCtIQ1h2Qyw0M0JBb0NBOzsyRkR6QmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsSUFBSTtzQkFBWixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1lbnVJdGVtLFxuICBJVGREeW5hbWljTWVudUxpbmtDbGlja0V2ZW50LFxufSBmcm9tICcuLi8uLi9keW5hbWljLW1lbnUubWVudSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWR5bmFtaWMtbWVudS1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbWVudS1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1tZW51LWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljTWVudUxpbmtDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtITogSU1lbnVJdGVtO1xuXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2tlZDogRXZlbnRFbWl0dGVyPElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQ+KCk7XG5cbiAgZW1pdENsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KHsgdGV4dDogdGhpcy5pdGVtLnRleHQsIGFjdGlvbjogdGhpcy5pdGVtLmFjdGlvbiB9KTtcbiAgfVxufVxuIiwiPGFcbiAgKm5nSWY9XCJpdGVtLmxpbmtcIlxuICBjbGFzcz1cIm5ldy10YWJcIlxuICBtYXQtbWVudS1pdGVtXG4gIFtpZF09XCJpdGVtLmlkXCJcbiAgW2hyZWZdPVwiaXRlbS5saW5rXCJcbiAgW3RhcmdldF09XCJpdGVtLm5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gIChjbGljayk9XCJlbWl0Q2xpY2tlZCgpXCJcbj5cbiAgPG1hdC1pY29uXG4gICAgKm5nSWY9XCJpdGVtLnN2Z0ljb25cIlxuICAgIFtjbGFzc109XCJpdGVtLmljb25DbGFzc2VzXCJcbiAgICBbc3ZnSWNvbl09XCJpdGVtLnN2Z0ljb25cIlxuICA+PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCIgW2NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzZXNcIj57e1xuICAgIGl0ZW0uaWNvblxuICB9fTwvbWF0LWljb24+XG4gIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5uZXdUYWJcIiBjbGFzcz1cIm5ldy10YWItaWNvblwiPmxhdW5jaDwvbWF0LWljb24+XG48L2E+XG48YnV0dG9uXG4gICpuZ0lmPVwiaXRlbS5hY3Rpb25cIlxuICBtYXQtbWVudS1pdGVtXG4gIFtpZF09XCJpdGVtLmlkXCJcbiAgKGNsaWNrKT1cImVtaXRDbGlja2VkKClcIlxuPlxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cIml0ZW0uc3ZnSWNvblwiXG4gICAgW2NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzZXNcIlxuICAgIFtzdmdJY29uXT1cIml0ZW0uc3ZnSWNvblwiXG4gID48L21hdC1pY29uPlxuICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uQ2xhc3Nlc1wiPnt7XG4gICAgaXRlbS5pY29uXG4gIH19PC9tYXQtaWNvbj5cbiAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/button";
5
- import * as i3 from "@angular/material/icon";
6
- import * as i4 from "@angular/material/menu";
7
- import * as i5 from "./dynamic-menu-item/dynamic-menu-item.component";
8
- export class TdDynamicMenuComponent {
9
- trigger;
10
- items;
11
- itemClicked = new EventEmitter();
12
- emitClicked(event) {
13
- this.itemClicked.emit(event);
14
- }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdDynamicMenuComponent, selector: "td-dynamic-menu", inputs: { trigger: "trigger", items: "items" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }] });
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicMenuComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'td-dynamic-menu', template: "<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n" }]
21
- }], propDecorators: { trigger: [{
22
- type: Input
23
- }], items: [{
24
- type: Input
25
- }], itemClicked: [{
26
- type: Output
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9keW5hbWljLW1lbnUvc3JjL2R5bmFtaWMtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZHluYW1pYy1tZW51L3NyYy9keW5hbWljLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVl2RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sQ0FBZ0I7SUFDdkIsS0FBSyxDQUFlO0lBRW5CLFdBQVcsR0FDbkIsSUFBSSxZQUFZLEVBQWdDLENBQUM7SUFFbkQsV0FBVyxDQUFDLEtBQW1DO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7dUdBVFUsc0JBQXNCOzJGQUF0QixzQkFBc0IsZ0pDWm5DLDA2QkF1Q0E7OzJGRDNCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1lbnVJdGVtLFxuICBJTWVudVRyaWdnZXIsXG4gIElUZER5bmFtaWNNZW51TGlua0NsaWNrRXZlbnQsXG59IGZyb20gJy4vZHluYW1pYy1tZW51Lm1lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1keW5hbWljLW1lbnUnLFxuICBzdHlsZVVybHM6IFsnZHluYW1pYy1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZER5bmFtaWNNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdHJpZ2dlciE6IElNZW51VHJpZ2dlcjtcbiAgQElucHV0KCkgaXRlbXMhOiBJTWVudUl0ZW1bXTtcblxuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGREeW5hbWljTWVudUxpbmtDbGlja0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxJVGREeW5hbWljTWVudUxpbmtDbGlja0V2ZW50PigpO1xuXG4gIGVtaXRDbGlja2VkKGV2ZW50OiBJVGREeW5hbWljTWVudUxpbmtDbGlja0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cIiF0cmlnZ2VyLnRleHRcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgaWQ9XCJ7eyB0cmlnZ2VyLmlkIH19XCJcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnUuY2hpbGRNZW51XCJcbj5cbiAgPG1hdC1pY29uXG4gICAgKm5nSWY9XCJ0cmlnZ2VyLnN2Z0ljb25cIlxuICAgIFtjbGFzc109XCJ0cmlnZ2VyLmljb25DbGFzc2VzXCJcbiAgICBbc3ZnSWNvbl09XCJ0cmlnZ2VyLnN2Z0ljb25cIlxuICA+PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwidHJpZ2dlci5pY29uXCIgW2NsYXNzXT1cInRyaWdnZXIuaWNvbkNsYXNzZXNcIj57e1xuICAgIHRyaWdnZXIuaWNvblxuICB9fTwvbWF0LWljb24+XG48L2J1dHRvbj5cbjxidXR0b25cbiAgKm5nSWY9XCJ0cmlnZ2VyLnRleHRcIlxuICBtYXQtYnV0dG9uXG4gIGlkPVwie3sgdHJpZ2dlci5pZCB9fVwiXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51LmNoaWxkTWVudVwiXG4+XG4gIDxtYXQtaWNvblxuICAgICpuZ0lmPVwidHJpZ2dlci5zdmdJY29uXCJcbiAgICBbY2xhc3NdPVwidHJpZ2dlci5pY29uQ2xhc3Nlc1wiXG4gICAgW3N2Z0ljb25dPVwidHJpZ2dlci5zdmdJY29uXCJcbiAgPjwvbWF0LWljb24+XG4gIDxtYXQtaWNvbiAqbmdJZj1cInRyaWdnZXIuaWNvblwiIFtjbGFzc109XCJ0cmlnZ2VyLmljb25DbGFzc2VzXCI+e3tcbiAgICB0cmlnZ2VyLmljb25cbiAgfX08L21hdC1pY29uPlxuICA8c3BhbiAqbmdJZj1cInRyaWdnZXIudGV4dFwiPlxuICAgIHt7IHRyaWdnZXIudGV4dCB9fVxuICA8L3NwYW4+XG48L2J1dHRvbj5cblxuPHRkLWR5bmFtaWMtbWVudS1pdGVtXG4gICNtZW51XG4gIFtpdGVtc109XCJpdGVtc1wiXG4gIChpdGVtQ2xpY2tlZCk9XCJlbWl0Q2xpY2tlZCgkZXZlbnQpXCJcbj48L3RkLWR5bmFtaWMtbWVudS1pdGVtPlxuIl19
@@ -1,145 +0,0 @@
1
- import { Directive, Input, Output, EventEmitter, HostListener, HostBinding, ElementRef, Renderer2, NgZone, } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import * as i0 from "@angular/core";
4
- export class TdFileDropBase {
5
- }
6
- export class TdFileDropDirective {
7
- _renderer;
8
- _element;
9
- _ngZone;
10
- _multiple = false;
11
- _dragenterListener;
12
- _dragleaveListener;
13
- _dragoverListener;
14
- /**
15
- * multiple?: boolean
16
- * Sets whether multiple files can be dropped at once in host element, or just a single file.
17
- * Can also be 'multiple' native attribute.
18
- */
19
- set multiple(multiple) {
20
- this._multiple = coerceBooleanProperty(multiple);
21
- }
22
- disabled = false;
23
- /**
24
- * fileDrop?: function
25
- * Event emitted when a file or files are dropped in host element after being validated.
26
- * Emits a [FileList | File] object.
27
- */
28
- fileDrop = new EventEmitter();
29
- /**
30
- * Binds native 'multiple' attribute if [multiple] property is 'true'.
31
- */
32
- get multipleBinding() {
33
- return this._multiple ? '' : undefined;
34
- }
35
- /**
36
- * Binds native 'disabled' attribute if [disabled] property is 'true'.
37
- */
38
- get disabledBinding() {
39
- return this.disabled ? '' : undefined;
40
- }
41
- constructor(_renderer, _element, _ngZone) {
42
- this._renderer = _renderer;
43
- this._element = _element;
44
- this._ngZone = _ngZone;
45
- }
46
- ngOnInit() {
47
- this._ngZone.runOutsideAngular(() => {
48
- // Listens to 'dragenter' host event to add animation class 'drop-zone' which can be overriden in host.
49
- // Stops event propagation and default action from browser for 'dragenter' event.
50
- this._dragenterListener = this._renderer.listen(this._element.nativeElement, 'dragenter', (event) => {
51
- if (!this.disabled) {
52
- this._renderer.addClass(this._element.nativeElement, 'drop-zone');
53
- }
54
- this._stopEvent(event);
55
- });
56
- // Listens to 'dragleave' host event to remove animation class 'drop-zone'.
57
- // Stops event propagation and default action from browser for 'dragleave' event.
58
- this._dragleaveListener = this._renderer.listen(this._element.nativeElement, 'dragleave', (event) => {
59
- this._renderer.removeClass(this._element.nativeElement, 'drop-zone');
60
- this._stopEvent(event);
61
- });
62
- // Listens to 'dragover' host event to validate transfer items.
63
- // Checks if 'multiple' attr exists in host to allow multiple file drops.
64
- // Stops event propagation and default action from browser for 'dragover' event.
65
- this._dragoverListener = this._renderer.listen(this._element.nativeElement, 'dragover', (event) => {
66
- const transfer = event.dataTransfer || new DataTransfer();
67
- transfer.dropEffect = this._typeCheck(transfer.types);
68
- if (this.disabled ||
69
- (!this._multiple &&
70
- ((transfer.items && transfer.items.length > 1) ||
71
- transfer.mozItemCount > 1))) {
72
- transfer.dropEffect = 'none';
73
- }
74
- else {
75
- transfer.dropEffect = 'copy';
76
- }
77
- this._stopEvent(event);
78
- });
79
- });
80
- }
81
- ngOnDestroy() {
82
- this._dragenterListener?.();
83
- this._dragleaveListener?.();
84
- this._dragoverListener?.();
85
- }
86
- /**
87
- * Listens to 'drop' host event to get validated transfer items.
88
- * Emits the 'fileDrop' event with a [FileList] or [File] depending if 'multiple' attr exists in host.
89
- * Stops event propagation and default action from browser for 'drop' event.
90
- */
91
- onDrop(event) {
92
- if (!this.disabled) {
93
- const transfer = event.dataTransfer ?? new DataTransfer();
94
- const files = transfer.files;
95
- if (files.length) {
96
- const value = this._multiple
97
- ? files.length > 1
98
- ? files
99
- : files[0]
100
- : files[0];
101
- this.fileDrop.emit(value);
102
- }
103
- }
104
- this._renderer.removeClass(this._element.nativeElement, 'drop-zone');
105
- this._stopEvent(event);
106
- }
107
- /**
108
- * Validates if the transfer item types are 'Files'.
109
- */
110
- _typeCheck(types) {
111
- let dropEffect = 'none';
112
- if (types &&
113
- ((types.contains && types.contains('Files')) ||
114
- (types.indexOf && types.indexOf('Files') !== -1))) {
115
- dropEffect = 'copy';
116
- }
117
- return dropEffect;
118
- }
119
- _stopEvent(event) {
120
- event.preventDefault();
121
- event.stopPropagation();
122
- }
123
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdFileDropDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
124
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: TdFileDropDirective, selector: "[tdFileDrop]", inputs: { multiple: "multiple", disabled: "disabled" }, outputs: { fileDrop: "fileDrop" }, host: { listeners: { "drop": "onDrop($event)" }, properties: { "attr.multiple": "this.multipleBinding", "attr.disabled": "this.disabledBinding" } }, ngImport: i0 });
125
- }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdFileDropDirective, decorators: [{
127
- type: Directive,
128
- args: [{ selector: '[tdFileDrop]' }]
129
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { multiple: [{
130
- type: Input
131
- }], disabled: [{
132
- type: Input
133
- }], fileDrop: [{
134
- type: Output
135
- }], multipleBinding: [{
136
- type: HostBinding,
137
- args: ['attr.multiple']
138
- }], disabledBinding: [{
139
- type: HostBinding,
140
- args: ['attr.disabled']
141
- }], onDrop: [{
142
- type: HostListener,
143
- args: ['drop', ['$event']]
144
- }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9maWxlL3NyYy9kaXJlY3RpdmVzL2ZpbGUtZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBR1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU5RCxNQUFNLE9BQU8sY0FBYztDQUFHO0FBRzlCLE1BQU0sT0FBTyxtQkFBbUI7SUE0Q3BCO0lBQ0E7SUFDQTtJQTdDRixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGtCQUFrQixDQUFnQjtJQUNsQyxrQkFBa0IsQ0FBZ0I7SUFDbEMsaUJBQWlCLENBQWdCO0lBRXpDOzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxRQUEwQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFUSxRQUFRLEdBQUksS0FBSyxDQUFDO0lBRTNCOzs7O09BSUc7SUFDTyxRQUFRLEdBQWtDLElBQUksWUFBWSxFQUVqRSxDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFDVSxTQUFvQixF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c0JBQWpCLE1BQU07Z0JBUUgsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyxlQUFlO2dCQVN4QixlQUFlO3NCQURsQixXQUFXO3VCQUFDLGVBQWU7Z0JBMkU1QixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSG9zdEJpbmRpbmcsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5leHBvcnQgY2xhc3MgVGRGaWxlRHJvcEJhc2Uge31cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RkRmlsZURyb3BdJyB9KVxuZXhwb3J0IGNsYXNzIFRkRmlsZURyb3BEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX211bHRpcGxlID0gZmFsc2U7XG4gIHByaXZhdGUgX2RyYWdlbnRlckxpc3RlbmVyPzogVm9pZEZ1bmN0aW9uO1xuICBwcml2YXRlIF9kcmFnbGVhdmVMaXN0ZW5lcj86IFZvaWRGdW5jdGlvbjtcbiAgcHJpdmF0ZSBfZHJhZ292ZXJMaXN0ZW5lcj86IFZvaWRGdW5jdGlvbjtcblxuICAvKipcbiAgICogbXVsdGlwbGU/OiBib29sZWFuXG4gICAqIFNldHMgd2hldGhlciBtdWx0aXBsZSBmaWxlcyBjYW4gYmUgZHJvcHBlZCBhdCBvbmNlIGluIGhvc3QgZWxlbWVudCwgb3IganVzdCBhIHNpbmdsZSBmaWxlLlxuICAgKiBDYW4gYWxzbyBiZSAnbXVsdGlwbGUnIG5hdGl2ZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbXVsdGlwbGUobXVsdGlwbGU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShtdWx0aXBsZSk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlZD8gPSBmYWxzZTtcblxuICAvKipcbiAgICogZmlsZURyb3A/OiBmdW5jdGlvblxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBmaWxlIG9yIGZpbGVzIGFyZSBkcm9wcGVkIGluIGhvc3QgZWxlbWVudCBhZnRlciBiZWluZyB2YWxpZGF0ZWQuXG4gICAqIEVtaXRzIGEgW0ZpbGVMaXN0IHwgRmlsZV0gb2JqZWN0LlxuICAgKi9cbiAgQE91dHB1dCgpIGZpbGVEcm9wOiBFdmVudEVtaXR0ZXI8RmlsZUxpc3QgfCBGaWxlPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgRmlsZUxpc3QgfCBGaWxlXG4gID4oKTtcblxuICAvKipcbiAgICogQmluZHMgbmF0aXZlICdtdWx0aXBsZScgYXR0cmlidXRlIGlmIFttdWx0aXBsZV0gcHJvcGVydHkgaXMgJ3RydWUnLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm11bHRpcGxlJylcbiAgZ2V0IG11bHRpcGxlQmluZGluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZSA/ICcnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIG5hdGl2ZSAnZGlzYWJsZWQnIGF0dHJpYnV0ZSBpZiBbZGlzYWJsZWRdIHByb3BlcnR5IGlzICd0cnVlJy5cbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZEJpbmRpbmcoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIC8vIExpc3RlbnMgdG8gJ2RyYWdlbnRlcicgaG9zdCBldmVudCB0byBhZGQgYW5pbWF0aW9uIGNsYXNzICdkcm9wLXpvbmUnIHdoaWNoIGNhbiBiZSBvdmVycmlkZW4gaW4gaG9zdC5cbiAgICAgIC8vIFN0b3BzIGV2ZW50IHByb3BhZ2F0aW9uIGFuZCBkZWZhdWx0IGFjdGlvbiBmcm9tIGJyb3dzZXIgZm9yICdkcmFnZW50ZXInIGV2ZW50LlxuICAgICAgdGhpcy5fZHJhZ2VudGVyTGlzdGVuZXIgPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2RyYWdlbnRlcicsXG4gICAgICAgIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Ryb3Atem9uZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9zdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICAvLyBMaXN0ZW5zIHRvICdkcmFnbGVhdmUnIGhvc3QgZXZlbnQgdG8gcmVtb3ZlIGFuaW1hdGlvbiBjbGFzcyAnZHJvcC16b25lJy5cbiAgICAgIC8vIFN0b3BzIGV2ZW50IHByb3BhZ2F0aW9uIGFuZCBkZWZhdWx0IGFjdGlvbiBmcm9tIGJyb3dzZXIgZm9yICdkcmFnbGVhdmUnIGV2ZW50LlxuICAgICAgdGhpcy5fZHJhZ2xlYXZlTGlzdGVuZXIgPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2RyYWdsZWF2ZScsXG4gICAgICAgIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkcm9wLXpvbmUnKTtcbiAgICAgICAgICB0aGlzLl9zdG9wRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICAvLyBMaXN0ZW5zIHRvICdkcmFnb3ZlcicgaG9zdCBldmVudCB0byB2YWxpZGF0ZSB0cmFuc2ZlciBpdGVtcy5cbiAgICAgIC8vIENoZWNrcyBpZiAnbXVsdGlwbGUnIGF0dHIgZXhpc3RzIGluIGhvc3QgdG8gYWxsb3cgbXVsdGlwbGUgZmlsZSBkcm9wcy5cbiAgICAgIC8vIFN0b3BzIGV2ZW50IHByb3BhZ2F0aW9uIGFuZCBkZWZhdWx0IGFjdGlvbiBmcm9tIGJyb3dzZXIgZm9yICdkcmFnb3ZlcicgZXZlbnQuXG4gICAgICB0aGlzLl9kcmFnb3Zlckxpc3RlbmVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdkcmFnb3ZlcicsXG4gICAgICAgIChldmVudDogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmZXI6IERhdGFUcmFuc2ZlciA9XG4gICAgICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIgfHwgbmV3IERhdGFUcmFuc2ZlcigpO1xuICAgICAgICAgIHRyYW5zZmVyLmRyb3BFZmZlY3QgPSB0aGlzLl90eXBlQ2hlY2sodHJhbnNmZXIudHlwZXMpO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHxcbiAgICAgICAgICAgICghdGhpcy5fbXVsdGlwbGUgJiZcbiAgICAgICAgICAgICAgKCh0cmFuc2Zlci5pdGVtcyAmJiB0cmFuc2Zlci5pdGVtcy5sZW5ndGggPiAxKSB8fFxuICAgICAgICAgICAgICAgICg8YW55PnRyYW5zZmVyKS5tb3pJdGVtQ291bnQgPiAxKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbm9uZSc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3N0b3BFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kcmFnZW50ZXJMaXN0ZW5lcj8uKCk7XG4gICAgdGhpcy5fZHJhZ2xlYXZlTGlzdGVuZXI/LigpO1xuICAgIHRoaXMuX2RyYWdvdmVyTGlzdGVuZXI/LigpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gJ2Ryb3AnIGhvc3QgZXZlbnQgdG8gZ2V0IHZhbGlkYXRlZCB0cmFuc2ZlciBpdGVtcy5cbiAgICogRW1pdHMgdGhlICdmaWxlRHJvcCcgZXZlbnQgd2l0aCBhIFtGaWxlTGlzdF0gb3IgW0ZpbGVdIGRlcGVuZGluZyBpZiAnbXVsdGlwbGUnIGF0dHIgZXhpc3RzIGluIGhvc3QuXG4gICAqIFN0b3BzIGV2ZW50IHByb3BhZ2F0aW9uIGFuZCBkZWZhdWx0IGFjdGlvbiBmcm9tIGJyb3dzZXIgZm9yICdkcm9wJyBldmVudC5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBvbkRyb3AoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCB0cmFuc2ZlcjogRGF0YVRyYW5zZmVyID1cbiAgICAgICAgKDxEcmFnRXZlbnQ+ZXZlbnQpLmRhdGFUcmFuc2ZlciA/PyBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgICBjb25zdCBmaWxlczogRmlsZUxpc3QgPSB0cmFuc2Zlci5maWxlcztcbiAgICAgIGlmIChmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdmFsdWU6IEZpbGVMaXN0IHwgRmlsZSA9IHRoaXMuX211bHRpcGxlXG4gICAgICAgICAgPyBmaWxlcy5sZW5ndGggPiAxXG4gICAgICAgICAgICA/IGZpbGVzXG4gICAgICAgICAgICA6IGZpbGVzWzBdXG4gICAgICAgICAgOiBmaWxlc1swXTtcbiAgICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZHJvcC16b25lJyk7XG4gICAgdGhpcy5fc3RvcEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgaWYgdGhlIHRyYW5zZmVyIGl0ZW0gdHlwZXMgYXJlICdGaWxlcycuXG4gICAqL1xuICBwcml2YXRlIF90eXBlQ2hlY2soXG4gICAgdHlwZXM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPiB8IERPTVN0cmluZ0xpc3RcbiAgKTogJ25vbmUnIHwgJ2NvcHknIHwgJ2xpbmsnIHwgJ21vdmUnIHtcbiAgICBsZXQgZHJvcEVmZmVjdDogJ25vbmUnIHwgJ2NvcHknIHwgJ2xpbmsnIHwgJ21vdmUnID0gJ25vbmUnO1xuICAgIGlmIChcbiAgICAgIHR5cGVzICYmXG4gICAgICAoKCg8YW55PnR5cGVzKS5jb250YWlucyAmJiAoPGFueT50eXBlcykuY29udGFpbnMoJ0ZpbGVzJykpIHx8XG4gICAgICAgICgoPGFueT50eXBlcykuaW5kZXhPZiAmJiAoPGFueT50eXBlcykuaW5kZXhPZignRmlsZXMnKSAhPT0gLTEpKVxuICAgICkge1xuICAgICAgZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICB9XG5cbiAgICByZXR1cm4gZHJvcEVmZmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgX3N0b3BFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iXX0=