@covalent/core 6.4.0 → 6.4.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 (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
@@ -0,0 +1,174 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild, ContentChild, ChangeDetectorRef, forwardRef, } from '@angular/core';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
+ import { TdFileInputComponent, TdFileInputLabelDirective, } from '../file-input/file-input.component';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/icon";
9
+ import * as i4 from "@angular/material/button";
10
+ import * as i5 from "@angular/cdk/portal";
11
+ import * as i6 from "../file-input/file-input.component";
12
+ export class TdFileUploadBase {
13
+ constructor(_changeDetectorRef) {
14
+ this._changeDetectorRef = _changeDetectorRef;
15
+ }
16
+ }
17
+ export class TdFileUploadComponent {
18
+ /**
19
+ * multiple?: boolean
20
+ * Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent].
21
+ */
22
+ set multiple(multiple) {
23
+ this._multiple = coerceBooleanProperty(multiple);
24
+ }
25
+ get multiple() {
26
+ return this._multiple;
27
+ }
28
+ /**
29
+ * required?: boolean
30
+ * Forces at least one file upload.
31
+ * Defaults to 'false'
32
+ */
33
+ set required(required) {
34
+ this._required = coerceBooleanProperty(required);
35
+ }
36
+ get required() {
37
+ return this._required;
38
+ }
39
+ set disabled(disabled) {
40
+ this._disabled = disabled;
41
+ this.onDisabledChange(disabled);
42
+ }
43
+ get disabled() {
44
+ return this._disabled;
45
+ }
46
+ constructor(_changeDetectorRef) {
47
+ this._changeDetectorRef = _changeDetectorRef;
48
+ this._multiple = false;
49
+ this._required = false;
50
+ this._disabled = false;
51
+ /**
52
+ * defaultColor?: 'accent' | 'primary' | 'warn'
53
+ * Sets browse button color. Uses same color palette accepted as [MatButton] and defaults to 'primary'.
54
+ */
55
+ this.defaultColor = 'primary';
56
+ /**
57
+ * activeColor?: 'accent' | 'primary' | 'warn'
58
+ * Sets upload button color. Uses same color palette accepted as [MatButton] and defaults to 'accent'.
59
+ */
60
+ this.activeColor = 'accent';
61
+ /**
62
+ * cancelColor?: 'accent' | 'primary' | 'warn'
63
+ * Sets cancel button color. Uses same color palette accepted as [MatButton] and defaults to 'warn'.
64
+ */
65
+ this.cancelColor = 'warn';
66
+ /**
67
+ * select?: function
68
+ * Event emitted when a file is selected.
69
+ * Emits a [File | FileList] object.
70
+ */
71
+ this.selectFile = new EventEmitter();
72
+ /**
73
+ * upload?: function
74
+ * Event emitted when upload button is clicked.
75
+ * Emits a [File | FileList] object.
76
+ */
77
+ this.upload = new EventEmitter();
78
+ /**
79
+ * cancel?: function
80
+ * Event emitted when cancel button is clicked.
81
+ */
82
+ this.cancel = new EventEmitter();
83
+ }
84
+ writeValue(value) {
85
+ this.value = value;
86
+ this._changeDetectorRef.markForCheck();
87
+ }
88
+ registerOnChange() {
89
+ //
90
+ }
91
+ registerOnTouched() {
92
+ //
93
+ }
94
+ /**
95
+ * Method executed when upload button is clicked.
96
+ */
97
+ uploadPressed() {
98
+ if (this.value) {
99
+ this.upload.emit(this.value);
100
+ }
101
+ }
102
+ /**
103
+ * Method executed when a file is selected.
104
+ */
105
+ handleSelect(value) {
106
+ this.value = value;
107
+ this.selectFile.emit(value);
108
+ }
109
+ /**
110
+ * Methods executed when cancel button is clicked.
111
+ * Clears files.
112
+ */
113
+ _cancel() {
114
+ this.value = undefined;
115
+ this.cancel.emit();
116
+ // check if the file input is rendered before clearing it
117
+ if (this.fileInput) {
118
+ this.fileInput.clear();
119
+ }
120
+ }
121
+ /** Method executed when the disabled value changes */
122
+ onDisabledChange(v) {
123
+ if (v) {
124
+ this._cancel();
125
+ }
126
+ }
127
+ }
128
+ TdFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
129
+ TdFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TdFileUploadComponent, selector: "td-file-upload", inputs: { defaultColor: "defaultColor", activeColor: "activeColor", cancelColor: "cancelColor", multiple: "multiple", required: "required", accept: "accept", disabled: "disabled", value: "value" }, outputs: { selectFile: "selectFile", upload: "upload", cancel: "cancel" }, providers: [
130
+ {
131
+ provide: NG_VALUE_ACCESSOR,
132
+ useExisting: forwardRef(() => TdFileUploadComponent),
133
+ multi: true,
134
+ },
135
+ ], queries: [{ propertyName: "inputLabel", first: true, predicate: TdFileInputLabelDirective, descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: TdFileInputComponent, descendants: true }], ngImport: i0, template: "<td-file-input\n *ngIf=\"!value\"\n [(ngModel)]=\"value\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n [color]=\"defaultColor\"\n (selectFile)=\"(handleSelect)\"\n>\n <ng-template [cdkPortalOutlet]=\"inputLabel\" [ngIf]=\"true\"></ng-template>\n</td-file-input>\n<div *ngIf=\"value\">\n <button\n #fileUpload\n class=\"td-file-upload\"\n mat-raised-button\n type=\"button\"\n [color]=\"activeColor\"\n (keyup.delete)=\"_cancel()\"\n (keyup.backspace)=\"_cancel()\"\n (keyup.escape)=\"_cancel()\"\n (click)=\"uploadPressed()\"\n >\n <ng-content></ng-content>\n </button>\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-file-upload-cancel\"\n [color]=\"cancelColor\"\n (click)=\"_cancel()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n", styles: [".td-file-upload{padding-left:8px;padding-right:8px}.td-file-upload-cancel{height:24px;width:24px;position:relative;top:24px;left:-12px}::ng-deep [dir=rtl] .td-file-upload-cancel{right:-12px;left:0}.td-file-upload-cancel mat-icon{border-radius:12px;vertical-align:baseline}.drop-zone{border-radius:3px}.drop-zone *{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.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: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i6.TdFileInputComponent, selector: "td-file-input", inputs: ["disabled", "value", "color", "multiple", "accept"], outputs: ["selectFile"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFileUploadComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [
139
+ {
140
+ provide: NG_VALUE_ACCESSOR,
141
+ useExisting: forwardRef(() => TdFileUploadComponent),
142
+ multi: true,
143
+ },
144
+ ], selector: 'td-file-upload', template: "<td-file-input\n *ngIf=\"!value\"\n [(ngModel)]=\"value\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n [color]=\"defaultColor\"\n (selectFile)=\"(handleSelect)\"\n>\n <ng-template [cdkPortalOutlet]=\"inputLabel\" [ngIf]=\"true\"></ng-template>\n</td-file-input>\n<div *ngIf=\"value\">\n <button\n #fileUpload\n class=\"td-file-upload\"\n mat-raised-button\n type=\"button\"\n [color]=\"activeColor\"\n (keyup.delete)=\"_cancel()\"\n (keyup.backspace)=\"_cancel()\"\n (keyup.escape)=\"_cancel()\"\n (click)=\"uploadPressed()\"\n >\n <ng-content></ng-content>\n </button>\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-file-upload-cancel\"\n [color]=\"cancelColor\"\n (click)=\"_cancel()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n", styles: [".td-file-upload{padding-left:8px;padding-right:8px}.td-file-upload-cancel{height:24px;width:24px;position:relative;top:24px;left:-12px}::ng-deep [dir=rtl] .td-file-upload-cancel{right:-12px;left:0}.td-file-upload-cancel mat-icon{border-radius:12px;vertical-align:baseline}.drop-zone{border-radius:3px}.drop-zone *{pointer-events:none}\n"] }]
145
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fileInput: [{
146
+ type: ViewChild,
147
+ args: [TdFileInputComponent]
148
+ }], inputLabel: [{
149
+ type: ContentChild,
150
+ args: [TdFileInputLabelDirective]
151
+ }], defaultColor: [{
152
+ type: Input
153
+ }], activeColor: [{
154
+ type: Input
155
+ }], cancelColor: [{
156
+ type: Input
157
+ }], multiple: [{
158
+ type: Input
159
+ }], required: [{
160
+ type: Input
161
+ }], accept: [{
162
+ type: Input
163
+ }], disabled: [{
164
+ type: Input
165
+ }], value: [{
166
+ type: Input
167
+ }], selectFile: [{
168
+ type: Output
169
+ }], upload: [{
170
+ type: Output
171
+ }], cancel: [{
172
+ type: Output
173
+ }] } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ZpbGUvc3JjL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9maWxlL3NyYy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix5QkFBeUIsR0FDMUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBR3pFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBbUIsa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7SUFBRyxDQUFDO0NBQzdEO0FBZUQsTUFBTSxPQUFPLHFCQUFxQjtJQTRCaEM7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDSSxRQUFRLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMs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QVU7c0JBRFQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBTzlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9GLFFBQVE7c0JBRFgsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBYUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFTRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFTRyxNQUFNO3NCQUFmLE1BQU07Z0JBUUcsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3Q2hpbGQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIFRkRmlsZUlucHV0Q29tcG9uZW50LFxuICBUZEZpbGVJbnB1dExhYmVsRGlyZWN0aXZlLFxufSBmcm9tICcuLi9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFRkRmlsZVVwbG9hZEJhc2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRkRmlsZVVwbG9hZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ3RkLWZpbGUtdXBsb2FkJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoVGRGaWxlSW5wdXRDb21wb25lbnQpIGZpbGVJbnB1dD86IFRkRmlsZUlucHV0Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoVGRGaWxlSW5wdXRMYWJlbERpcmVjdGl2ZSlcbiAgaW5wdXRMYWJlbD86IFRkRmlsZUlucHV0TGFiZWxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIGRlZmF1bHRDb2xvcj86ICdhY2NlbnQnIHwgJ3ByaW1hcnknIHwgJ3dhcm4nXG4gICAqIFNldHMgYnJvd3NlIGJ1dHRvbiBjb2xvci4gVXNlcyBzYW1lIGNvbG9yIHBhbGV0dGUgYWNjZXB0ZWQgYXMgW01hdEJ1dHRvbl0gYW5kIGRlZmF1bHRzIHRvICdwcmltYXJ5Jy5cbiAgICovXG4gIEBJbnB1dCgpIGRlZmF1bHRDb2xvcjogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICogU2V0cyB1cGxvYWQgYnV0dG9uIGNvbG9yLiBVc2VzIHNhbWUgY29sb3IgcGFsZXR0ZSBhY2NlcHRlZCBhcyBbTWF0QnV0dG9uXSBhbmQgZGVmYXVsdHMgdG8gJ2FjY2VudCcuXG4gICAqL1xuICBASW5wdXQoKSBhY3RpdmVDb2xvcjogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAnYWNjZW50JztcblxuICAvKipcbiAgICogY2FuY2VsQ29sb3I/OiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJ1xuICAgKiBTZXRzIGNhbmNlbCBidXR0b24gY29sb3IuIFVzZXMgc2FtZSBjb2xvciBwYWxldHRlIGFjY2VwdGVkIGFzIFtNYXRCdXR0b25dIGFuZCBkZWZhdWx0cyB0byAnd2FybicuXG4gICAqL1xuICBASW5wdXQoKSBjYW5jZWxDb2xvcjogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAnd2Fybic7XG5cbiAgLyoqXG4gICAqIG11bHRpcGxlPzogYm9vbGVhblxuICAgKiBTZXRzIGlmIG11bHRpcGxlIGZpbGVzIGNhbiBiZSBkcm9wcGVkL3NlbGVjdGVkIGF0IG9uY2UgaW4gW1RkRmlsZVVwbG9hZENvbXBvbmVudF0uXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbXVsdGlwbGUobXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShtdWx0aXBsZSk7XG4gIH1cbiAgZ2V0IG11bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXF1aXJlZD86IGJvb2xlYW5cbiAgICogRm9yY2VzIGF0IGxlYXN0IG9uZSBmaWxlIHVwbG9hZC5cbiAgICogRGVmYXVsdHMgdG8gJ2ZhbHNlJ1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxdWlyZWQpO1xuICB9XG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICAvKipcbiAgICogYWNjZXB0Pzogc3RyaW5nXG4gICAqIFNldHMgZmlsZXMgYWNjZXB0ZWQgd2hlbiBvcGVuaW5nIHRoZSBmaWxlIGJyb3dzZXIgZGlhbG9nLlxuICAgKiBTYW1lIGFzICdhY2NlcHQnIGF0dHJpYnV0ZSBpbiA8aW5wdXQvPiBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KCkgYWNjZXB0Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgdGhpcy5vbkRpc2FibGVkQ2hhbmdlKGRpc2FibGVkKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgdmFsdWU/OiB1bmtub3duIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBzZWxlY3Q/OiBmdW5jdGlvblxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBmaWxlIGlzIHNlbGVjdGVkLlxuICAgKiBFbWl0cyBhIFtGaWxlIHwgRmlsZUxpc3RdIG9iamVjdC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgRmlsZSB8IEZpbGVMaXN0XG4gID4oKTtcblxuICAvKipcbiAgICogdXBsb2FkPzogZnVuY3Rpb25cbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHVwbG9hZCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRW1pdHMgYSBbRmlsZSB8IEZpbGVMaXN0XSBvYmplY3QuXG4gICAqL1xuICBAT3V0cHV0KCkgdXBsb2FkOiBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0IHwgdW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEZpbGUgfCBGaWxlTGlzdCB8IHVua25vd25cbiAgPigpO1xuXG4gIC8qKlxuICAgKiBjYW5jZWw/OiBmdW5jdGlvblxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAvL1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgZXhlY3V0ZWQgd2hlbiB1cGxvYWQgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICB1cGxvYWRQcmVzc2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnVwbG9hZC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgZXhlY3V0ZWQgd2hlbiBhIGZpbGUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBoYW5kbGVTZWxlY3QodmFsdWU6IEZpbGUgfCBGaWxlTGlzdCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdEZpbGUuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kcyBleGVjdXRlZCB3aGVuIGNhbmNlbCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogQ2xlYXJzIGZpbGVzLlxuICAgKi9cbiAgX2NhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICAvLyBjaGVjayBpZiB0aGUgZmlsZSBpbnB1dCBpcyByZW5kZXJlZCBiZWZvcmUgY2xlYXJpbmcgaXRcbiAgICBpZiAodGhpcy5maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0LmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1ldGhvZCBleGVjdXRlZCB3aGVuIHRoZSBkaXNhYmxlZCB2YWx1ZSBjaGFuZ2VzICovXG4gIG9uRGlzYWJsZWRDaGFuZ2UodjogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh2KSB7XG4gICAgICB0aGlzLl9jYW5jZWwoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0ZC1maWxlLWlucHV0XG4gICpuZ0lmPVwiIXZhbHVlXCJcbiAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgW2NvbG9yXT1cImRlZmF1bHRDb2xvclwiXG4gIChzZWxlY3RGaWxlKT1cIihoYW5kbGVTZWxlY3QpXCJcbj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiaW5wdXRMYWJlbFwiIFtuZ0lmXT1cInRydWVcIj48L25nLXRlbXBsYXRlPlxuPC90ZC1maWxlLWlucHV0PlxuPGRpdiAqbmdJZj1cInZhbHVlXCI+XG4gIDxidXR0b25cbiAgICAjZmlsZVVwbG9hZFxuICAgIGNsYXNzPVwidGQtZmlsZS11cGxvYWRcIlxuICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAoa2V5dXAuZGVsZXRlKT1cIl9jYW5jZWwoKVwiXG4gICAgKGtleXVwLmJhY2tzcGFjZSk9XCJfY2FuY2VsKClcIlxuICAgIChrZXl1cC5lc2NhcGUpPVwiX2NhbmNlbCgpXCJcbiAgICAoY2xpY2spPVwidXBsb2FkUHJlc3NlZCgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInRkLWZpbGUtdXBsb2FkLWNhbmNlbFwiXG4gICAgW2NvbG9yXT1cImNhbmNlbENvbG9yXCJcbiAgICAoY2xpY2spPVwiX2NhbmNlbCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -18,27 +18,27 @@ const TD_FILE = [
18
18
  TdFileInputLabelDirective,
19
19
  ];
20
20
  export class CovalentFileModule {
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: CovalentFileModule, declarations: [TdFileSelectDirective,
23
- TdFileDropDirective,
24
- TdFileUploadComponent,
25
- TdFileInputComponent,
26
- TdFileInputLabelDirective], imports: [FormsModule,
27
- CommonModule,
28
- MatIconModule,
29
- MatButtonModule,
30
- PortalModule], exports: [TdFileSelectDirective,
31
- TdFileDropDirective,
32
- TdFileUploadComponent,
33
- TdFileInputComponent,
34
- TdFileInputLabelDirective] });
35
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentFileModule, providers: [TdFileService], imports: [FormsModule,
36
- CommonModule,
37
- MatIconModule,
38
- MatButtonModule,
39
- PortalModule] });
40
21
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentFileModule, decorators: [{
22
+ CovalentFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ CovalentFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CovalentFileModule, declarations: [TdFileSelectDirective,
24
+ TdFileDropDirective,
25
+ TdFileUploadComponent,
26
+ TdFileInputComponent,
27
+ TdFileInputLabelDirective], imports: [FormsModule,
28
+ CommonModule,
29
+ MatIconModule,
30
+ MatButtonModule,
31
+ PortalModule], exports: [TdFileSelectDirective,
32
+ TdFileDropDirective,
33
+ TdFileUploadComponent,
34
+ TdFileInputComponent,
35
+ TdFileInputLabelDirective] });
36
+ CovalentFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentFileModule, providers: [TdFileService], imports: [FormsModule,
37
+ CommonModule,
38
+ MatIconModule,
39
+ MatButtonModule,
40
+ PortalModule] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentFileModule, decorators: [{
42
42
  type: NgModule,
43
43
  args: [{
44
44
  imports: [
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
53
53
  providers: [TdFileService],
54
54
  }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZmlsZS9zcmMvZmlsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIseUJBQXlCLEdBQzFCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUV4RCxNQUFNLE9BQU8sR0FBZ0I7SUFDM0IscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtDQUMxQixDQUFDO0FBY0YsTUFBTSxPQUFPLGtCQUFrQjt1R0FBbEIsa0JBQWtCO3dHQUFsQixrQkFBa0IsaUJBbkI3QixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIseUJBQXlCLGFBS3ZCLFdBQVc7WUFDWCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixZQUFZLGFBYmQscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLHlCQUF5Qjt3R0FlZCxrQkFBa0IsYUFGbEIsQ0FBQyxhQUFhLENBQUMsWUFSeEIsV0FBVztZQUNYLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLFlBQVk7OzJGQU1ILGtCQUFrQjtrQkFaOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IFRkRmlsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGRGaWxlRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLWRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRkRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRmlsZUlucHV0Q29tcG9uZW50LFxuICBUZEZpbGVJbnB1dExhYmVsRGlyZWN0aXZlLFxufSBmcm9tICcuL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcblxuY29uc3QgVERfRklMRTogVHlwZTxhbnk+W10gPSBbXG4gIFRkRmlsZVNlbGVjdERpcmVjdGl2ZSxcbiAgVGRGaWxlRHJvcERpcmVjdGl2ZSxcbiAgVGRGaWxlVXBsb2FkQ29tcG9uZW50LFxuICBUZEZpbGVJbnB1dENvbXBvbmVudCxcbiAgVGRGaWxlSW5wdXRMYWJlbERpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtURF9GSUxFXSxcbiAgZXhwb3J0czogW1REX0ZJTEVdLFxuICBwcm92aWRlcnM6IFtUZEZpbGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRGaWxlTW9kdWxlIHt9XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZmlsZS9zcmMvZmlsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIseUJBQXlCLEdBQzFCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUV4RCxNQUFNLE9BQU8sR0FBZ0I7SUFDM0IscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtDQUMxQixDQUFDO0FBY0YsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQW5CN0IscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHlCQUF5QixhQUt2QixXQUFXO1FBQ1gsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWSxhQWJkLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQix5QkFBeUI7aUhBZWQsa0JBQWtCLGFBRmxCLENBQUMsYUFBYSxDQUFDLFlBUnhCLFdBQVc7UUFDWCxZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZOzRGQU1ILGtCQUFrQjtrQkFaOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IFRkRmlsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGRGaWxlRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLWRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRkRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRmlsZUlucHV0Q29tcG9uZW50LFxuICBUZEZpbGVJbnB1dExhYmVsRGlyZWN0aXZlLFxufSBmcm9tICcuL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcblxuY29uc3QgVERfRklMRTogVHlwZTxhbnk+W10gPSBbXG4gIFRkRmlsZVNlbGVjdERpcmVjdGl2ZSxcbiAgVGRGaWxlRHJvcERpcmVjdGl2ZSxcbiAgVGRGaWxlVXBsb2FkQ29tcG9uZW50LFxuICBUZEZpbGVJbnB1dENvbXBvbmVudCxcbiAgVGRGaWxlSW5wdXRMYWJlbERpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtURF9GSUxFXSxcbiAgZXhwb3J0czogW1REX0ZJTEVdLFxuICBwcm92aWRlcnM6IFtUZEZpbGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRGaWxlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { HttpClient, HttpRequest, HttpEventType, HttpHeaders, HttpParams, } from '@angular/common/http';
3
+ import { Subject } from 'rxjs';
4
+ import { tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ export class TdFileService {
8
+ /**
9
+ * Gets progress observable to keep track of the files being uploaded.
10
+ * Needs to be supported by backend.
11
+ */
12
+ get progress() {
13
+ return this._progressObservable;
14
+ }
15
+ /**
16
+ * Creates a new instance
17
+ * @param _http the http client instance
18
+ * @breaking-change 3.0.0 remove 'Optional' decorator once the legay upload method is removed
19
+ */
20
+ constructor(_http) {
21
+ this._http = _http;
22
+ this._progressSubject = new Subject();
23
+ this._progressObservable = this._progressSubject.asObservable();
24
+ }
25
+ /**
26
+ * Uploads a file to a URL.
27
+ */
28
+ send(url, method, body, { headers, params } = {}) {
29
+ if (!this._http) {
30
+ throw new Error('The HttpClient module needs to be imported at root module level');
31
+ }
32
+ const req = new HttpRequest(method.toUpperCase(), url, body, {
33
+ reportProgress: true,
34
+ headers: new HttpHeaders(headers || {}),
35
+ params: new HttpParams({ fromObject: params || {} }),
36
+ });
37
+ return this._http
38
+ .request(req)
39
+ .pipe(tap((event) => this.handleEvent(event)));
40
+ }
41
+ handleEvent(event) {
42
+ switch (event.type) {
43
+ case HttpEventType.Sent:
44
+ this._progressSubject.next(0);
45
+ break;
46
+ case HttpEventType.UploadProgress:
47
+ this._progressSubject.next(Math.round((100 * event.loaded) / (event.total ?? 0)));
48
+ break;
49
+ case HttpEventType.Response:
50
+ this._progressSubject.next(100);
51
+ break;
52
+ default:
53
+ break;
54
+ }
55
+ }
56
+ }
57
+ TdFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFileService, deps: [{ token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
58
+ TdFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFileService });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFileService, decorators: [{
60
+ type: Injectable
61
+ }], ctorParameters: function () { return [{ type: i1.HttpClient, decorators: [{
62
+ type: Optional
63
+ }] }]; } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ZpbGUvc3JjL3NlcnZpY2VzL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFFWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFVBQVUsR0FDWCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRckMsTUFBTSxPQUFPLGFBQWE7SUFJeEI7OztPQUdHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUF5QyxLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBaEJsRCxxQkFBZ0IsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQWlCaEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQ0YsR0FBVyxFQUNYLE1BQWMsRUFDZCxJQUFxQixFQUNyQixFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQW9CLEVBQUU7UUFFdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUNiLGlFQUFpRSxDQUNsRSxDQUFDO1NBQ0g7UUFDRCxNQUFNLEdBQUcsR0FBaUMsSUFBSSxXQUFXLENBQ3ZELE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFDcEIsR0FBRyxFQUNILElBQUksRUFDSjtZQUNFLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7U0FDckQsQ0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLFdBQVcsQ0FBVSxLQUFtQjtRQUM5QyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxhQUFhLENBQUMsSUFBSTtnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLGNBQWM7Z0JBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN0RCxDQUFDO2dCQUNGLE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxRQUFRO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7MkdBbEVVLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFrQkksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEV2ZW50LFxuICBIdHRwRXZlbnRUeXBlLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRFeHRyYXMge1xuICBoZWFkZXJzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcbiAgcGFyYW1zPzogeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZEZpbGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX3Byb2dyZXNzT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHByb2dyZXNzIG9ic2VydmFibGUgdG8ga2VlcCB0cmFjayBvZiB0aGUgZmlsZXMgYmVpbmcgdXBsb2FkZWQuXG4gICAqIE5lZWRzIHRvIGJlIHN1cHBvcnRlZCBieSBiYWNrZW5kLlxuICAgKi9cbiAgZ2V0IHByb2dyZXNzKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb2dyZXNzT2JzZXJ2YWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlXG4gICAqIEBwYXJhbSBfaHR0cCB0aGUgaHR0cCBjbGllbnQgaW5zdGFuY2VcbiAgICogQGJyZWFraW5nLWNoYW5nZSAzLjAuMCByZW1vdmUgJ09wdGlvbmFsJyBkZWNvcmF0b3Igb25jZSB0aGUgbGVnYXkgdXBsb2FkIG1ldGhvZCBpcyByZW1vdmVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9odHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy5fcHJvZ3Jlc3NPYnNlcnZhYmxlID0gdGhpcy5fcHJvZ3Jlc3NTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZHMgYSBmaWxlIHRvIGEgVVJMLlxuICAgKi9cbiAgc2VuZChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBtZXRob2Q6IHN0cmluZyxcbiAgICBib2R5OiBGaWxlIHwgRm9ybURhdGEsXG4gICAgeyBoZWFkZXJzLCBwYXJhbXMgfTogSVVwbG9hZEV4dHJhcyA9IHt9XG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICBpZiAoIXRoaXMuX2h0dHApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBIdHRwQ2xpZW50IG1vZHVsZSBuZWVkcyB0byBiZSBpbXBvcnRlZCBhdCByb290IG1vZHVsZSBsZXZlbCdcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHJlcTogSHR0cFJlcXVlc3Q8RmlsZSB8IEZvcm1EYXRhPiA9IG5ldyBIdHRwUmVxdWVzdChcbiAgICAgIG1ldGhvZC50b1VwcGVyQ2FzZSgpLFxuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICAgIHtcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJzIHx8IHt9KSxcbiAgICAgICAgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHBhcmFtcyB8fCB7fSB9KSxcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLl9odHRwXG4gICAgICAucmVxdWVzdChyZXEpXG4gICAgICAucGlwZSh0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4gdGhpcy5oYW5kbGVFdmVudChldmVudCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXZlbnQ8VCA9IGFueT4oZXZlbnQ6IEh0dHBFdmVudDxUPik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgIHRoaXMuX3Byb2dyZXNzU3ViamVjdC5uZXh0KDApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcbiAgICAgICAgdGhpcy5fcHJvZ3Jlc3NTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIChldmVudC50b3RhbCA/PyAwKSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgIHRoaXMuX3Byb2dyZXNzU3ViamVjdC5uZXh0KDEwMCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,217 @@
1
+ import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, Optional, } from '@angular/core';
2
+ import { Dir } from '@angular/cdk/bidi';
3
+ import { tdCollapseAnimation } from './collapse.animation';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/bidi";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/tooltip";
8
+ import * as i4 from "@angular/material/icon";
9
+ export class TdJsonFormatterComponent {
10
+ /**
11
+ * levelsOpen?: number
12
+ * Levels opened by default when JS object is formatted and rendered.
13
+ */
14
+ set levelsOpen(levelsOpen) {
15
+ if (!Number.isInteger(levelsOpen)) {
16
+ throw new Error('[levelsOpen] needs to be an integer.');
17
+ }
18
+ this._levelsOpen = levelsOpen;
19
+ this._open = levelsOpen > 0;
20
+ }
21
+ get levelsOpen() {
22
+ return this._levelsOpen;
23
+ }
24
+ get open() {
25
+ return this._open;
26
+ }
27
+ /**
28
+ * key?: string
29
+ * Tag to be displayed next to formatted object.
30
+ */
31
+ set key(key) {
32
+ this._key = key;
33
+ }
34
+ get key() {
35
+ const elipsis = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH
36
+ ? '…'
37
+ : '';
38
+ return this._key
39
+ ? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) +
40
+ elipsis
41
+ : this._key ?? '';
42
+ }
43
+ /**
44
+ * data: any
45
+ * JS object to be formatted.
46
+ */
47
+ set data(data) {
48
+ this._data = data;
49
+ this.parseChildren();
50
+ }
51
+ get data() {
52
+ return this._data;
53
+ }
54
+ get children() {
55
+ return this._children ?? [];
56
+ }
57
+ get isRTL() {
58
+ if (this._dir) {
59
+ return this._dir.dir === 'rtl';
60
+ }
61
+ return false;
62
+ }
63
+ constructor(_changeDetectorRef, _dir) {
64
+ this._changeDetectorRef = _changeDetectorRef;
65
+ this._dir = _dir;
66
+ this._open = false;
67
+ this._levelsOpen = 0;
68
+ }
69
+ /**
70
+ * Refreshes json-formatter and rerenders [data]
71
+ */
72
+ refresh() {
73
+ this._changeDetectorRef.markForCheck();
74
+ }
75
+ /**
76
+ * Toggles collapse/expanded state of component.
77
+ */
78
+ toggle() {
79
+ this._open = !this._open;
80
+ }
81
+ isObject() {
82
+ return this.getType(this._data) === 'object';
83
+ }
84
+ isArray() {
85
+ return Array.isArray(this._data);
86
+ }
87
+ hasChildren() {
88
+ return (this._children && this._children.length > 0) ?? false;
89
+ }
90
+ /**
91
+ * Gets parsed value depending on value type.
92
+ */
93
+ getValue(value) {
94
+ const type = this.getType(value);
95
+ if (type === 'undefined' || type === 'null') {
96
+ return type;
97
+ }
98
+ else if (type === 'date') {
99
+ value = new Date(value).toString();
100
+ }
101
+ else if (type === 'string') {
102
+ value = '"' + value + '"';
103
+ }
104
+ else if (type === 'function') {
105
+ // Remove content of the function
106
+ return (value
107
+ .toString()
108
+ .replace(/[\r\n]/g, '')
109
+ .replace(/\{.*\}/, '') + '{…}');
110
+ }
111
+ else if (Array.isArray(value)) {
112
+ return this.getObjectName() + ' [' + value.length + ']';
113
+ }
114
+ return value;
115
+ }
116
+ /**
117
+ * Gets type of object.
118
+ * returns 'null' if object is null and 'date' if value is object and can be parsed to a date.
119
+ */
120
+ getType(object) {
121
+ if (typeof object === 'object') {
122
+ if (!object) {
123
+ return 'null';
124
+ }
125
+ if (Array.isArray(object)) {
126
+ return 'object';
127
+ }
128
+ const date = new Date(object);
129
+ if (Object.prototype.toString.call(date) === '[object Date]' &&
130
+ !Number.isNaN(date.getTime())) {
131
+ return 'date';
132
+ }
133
+ }
134
+ return typeof object;
135
+ }
136
+ /**
137
+ * Generates string representation depending if its an object or function.
138
+ * see: http://stackoverflow.com/a/332429
139
+ */
140
+ getObjectName() {
141
+ const object = this._data;
142
+ if (this.isObject() && !object.constructor) {
143
+ return 'Object';
144
+ }
145
+ const funcNameRegex = /function (.{1,})\(/;
146
+ const results = funcNameRegex.exec(object.constructor.toString());
147
+ if (results && results.length > 1) {
148
+ return results[1];
149
+ }
150
+ else {
151
+ return '';
152
+ }
153
+ }
154
+ /**
155
+ * Creates preview of nodes children to render in tooltip depending if its an array or an object.
156
+ */
157
+ getPreview() {
158
+ let previewData;
159
+ let startChar = '{ ';
160
+ let endChar = ' }';
161
+ if (this.isArray()) {
162
+ const previewArray = Object.entries(this._data).slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
163
+ previewData = previewArray.map((obj) => {
164
+ return this.getValue(obj);
165
+ });
166
+ startChar = '[';
167
+ endChar = ']';
168
+ }
169
+ else {
170
+ const previewKeys = this._children?.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
171
+ previewData = previewKeys.map((key) => {
172
+ return key + ': ' + this.getValue(this._data[key] ?? undefined);
173
+ });
174
+ }
175
+ const previewString = previewData.join(', ');
176
+ const ellipsis = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||
177
+ previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH
178
+ ? '…'
179
+ : '';
180
+ return (startChar +
181
+ previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +
182
+ ellipsis +
183
+ endChar);
184
+ }
185
+ parseChildren() {
186
+ if (this.isObject()) {
187
+ this._children = Object.keys(this._data ?? {});
188
+ }
189
+ }
190
+ }
191
+ /**
192
+ * Max length for property names. Any names bigger than this get trunctated.
193
+ */
194
+ TdJsonFormatterComponent.KEY_MAX_LENGTH = 30;
195
+ /**
196
+ * Max length for preview string. Any names bigger than this get trunctated.
197
+ */
198
+ TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH = 80;
199
+ /**
200
+ * Max tooltip preview elements.
201
+ */
202
+ TdJsonFormatterComponent.PREVIEW_LIMIT = 5;
203
+ TdJsonFormatterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdJsonFormatterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
204
+ TdJsonFormatterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: { levelsOpen: "levelsOpen", key: "key", data: "data" }, ngImport: i0, template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { kind: "component", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: ["levelsOpen", "key", "data"] }], animations: [tdCollapseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdJsonFormatterComponent, decorators: [{
206
+ type: Component,
207
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'td-json-formatter', animations: [tdCollapseAnimation], template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"] }]
208
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Dir, decorators: [{
209
+ type: Optional
210
+ }] }]; }, propDecorators: { levelsOpen: [{
211
+ type: Input
212
+ }], key: [{
213
+ type: Input
214
+ }], data: [{
215
+ type: Input
216
+ }] } });
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvanNvbi1mb3JtYXR0ZXIvc3JjL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzNELE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DOzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLFVBQWtCO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksR0FB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d0JBQXdCLENBQUMsYUFBYTtZQUM1RCxhQUFhLENBQUMsTUFBTSxHQUFHLHdCQUF3QixDQUFDLHlCQUF5QjtZQUN2RSxDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxPQUFPLENBQ0wsU0FBUztZQUNULGFBQWEsQ0FBQyxTQUFTLENBQ3JCLENBQUMsRUFDRCx3QkFBd0IsQ0FBQyx5QkFBeUIsQ0FDbkQ7WUFDRCxRQUFRO1lBQ1IsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7O0FBbk9EOztHQUVHO0FBQ1ksdUNBQWMsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDWSxrREFBeUIsR0FBRyxFQUFFLENBQUM7QUFFOUM7O0dBRUc7QUFDWSxzQ0FBYSxHQUFHLENBQUMsQ0FBQztzSEFkdEIsd0JBQXdCOzBHQUF4Qix3QkFBd0IseUhDakJyQyxrNENBOENBLHc3REQ3QmEsd0JBQXdCLHVGQUZ2QixDQUFDLG1CQUFtQixDQUFDOzRGQUV0Qix3QkFBd0I7a0JBUHBDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxtQkFBbUIsY0FHakIsQ0FBQyxtQkFBbUIsQ0FBQzs7MEJBeUY5QixRQUFROzRDQTVEUCxVQUFVO3NCQURiLEtBQUs7Z0JBcUJGLEdBQUc7c0JBRE4sS0FBSztnQkFvQkYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyB0ZENvbGxhcHNlQW5pbWF0aW9uIH0gZnJvbSAnLi9jb2xsYXBzZS5hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAndGQtanNvbi1mb3JtYXR0ZXInLFxuICBzdHlsZVVybHM6IFsnLi9qc29uLWZvcm1hdHRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1mb3JtYXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbdGRDb2xsYXBzZUFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBNYXggbGVuZ3RoIGZvciBwcm9wZXJ0eSBuYW1lcy4gQW55IG5hbWVzIGJpZ2dlciB0aGFuIHRoaXMgZ2V0IHRydW5jdGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBLRVlfTUFYX0xFTkdUSCA9IDMwO1xuXG4gIC8qKlxuICAgKiBNYXggbGVuZ3RoIGZvciBwcmV2aWV3IHN0cmluZy4gQW55IG5hbWVzIGJpZ2dlciB0aGFuIHRoaXMgZ2V0IHRydW5jdGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBQUkVWSUVXX1NUUklOR19NQVhfTEVOR1RIID0gODA7XG5cbiAgLyoqXG4gICAqIE1heCB0b29sdGlwIHByZXZpZXcgZWxlbWVudHMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBQUkVWSUVXX0xJTUlUID0gNTtcblxuICBwcml2YXRlIF9rZXk/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGEhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBwcml2YXRlIF9jaGlsZHJlbj86IHN0cmluZ1tdO1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgX2xldmVsc09wZW4gPSAwO1xuXG4gIC8qKlxuICAgKiBsZXZlbHNPcGVuPzogbnVtYmVyXG4gICAqIExldmVscyBvcGVuZWQgYnkgZGVmYXVsdCB3aGVuIEpTIG9iamVjdCBpcyBmb3JtYXR0ZWQgYW5kIHJlbmRlcmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGxldmVsc09wZW4obGV2ZWxzT3BlbjogbnVtYmVyKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGxldmVsc09wZW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tsZXZlbHNPcGVuXSBuZWVkcyB0byBiZSBhbiBpbnRlZ2VyLicpO1xuICAgIH1cbiAgICB0aGlzLl9sZXZlbHNPcGVuID0gbGV2ZWxzT3BlbjtcbiAgICB0aGlzLl9vcGVuID0gbGV2ZWxzT3BlbiA+IDA7XG4gIH1cbiAgZ2V0IGxldmVsc09wZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGV2ZWxzT3BlbjtcbiAgfVxuXG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIGtleT86IHN0cmluZ1xuICAgKiBUYWcgdG8gYmUgZGlzcGxheWVkIG5leHQgdG8gZm9ybWF0dGVkIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBrZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9rZXkgPSBrZXk7XG4gIH1cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVsaXBzaXM6IHN0cmluZyA9XG4gICAgICB0aGlzLl9rZXkgJiYgdGhpcy5fa2V5Lmxlbmd0aCA+IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5LRVlfTUFYX0xFTkdUSFxuICAgICAgICA/ICfigKYnXG4gICAgICAgIDogJyc7XG4gICAgcmV0dXJuIHRoaXMuX2tleVxuICAgICAgPyB0aGlzLl9rZXkuc3Vic3RyaW5nKDAsIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5LRVlfTUFYX0xFTkdUSCkgK1xuICAgICAgICAgIGVsaXBzaXNcbiAgICAgIDogdGhpcy5fa2V5ID8/ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIGRhdGE6IGFueVxuICAgKiBKUyBvYmplY3QgdG8gYmUgZm9ybWF0dGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgIHRoaXMucGFyc2VDaGlsZHJlbigpO1xuICB9XG4gIGdldCBkYXRhKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgZ2V0IGNoaWxkcmVuKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW4gPz8gW107XG4gIH1cblxuICBnZXQgaXNSVEwoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2Rpcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpci5kaXIgPT09ICdydGwnO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlyOiBEaXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMganNvbi1mb3JtYXR0ZXIgYW5kIHJlcmVuZGVycyBbZGF0YV1cbiAgICovXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBjb2xsYXBzZS9leHBhbmRlZCBzdGF0ZSBvZiBjb21wb25lbnQuXG4gICAqL1xuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fb3BlbiA9ICF0aGlzLl9vcGVuO1xuICB9XG5cbiAgaXNPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLl9kYXRhKSA9PT0gJ29iamVjdCc7XG4gIH1cblxuICBpc0FycmF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpO1xuICB9XG5cbiAgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLl9jaGlsZHJlbiAmJiB0aGlzLl9jaGlsZHJlbi5sZW5ndGggPiAwKSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHBhcnNlZCB2YWx1ZSBkZXBlbmRpbmcgb24gdmFsdWUgdHlwZS5cbiAgICovXG4gIGdldFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IHRoaXMuZ2V0VHlwZSh2YWx1ZSk7XG4gICAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdudWxsJykge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZGF0ZScpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWUgPSAnXCInICsgdmFsdWUgKyAnXCInO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gUmVtb3ZlIGNvbnRlbnQgb2YgdGhlIGZ1bmN0aW9uXG4gICAgICByZXR1cm4gKFxuICAgICAgICB2YWx1ZVxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLnJlcGxhY2UoL1tcXHJcXG5dL2csICcnKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXHsuKlxcfS8sICcnKSArICd74oCmfSdcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0T2JqZWN0TmFtZSgpICsgJyBbJyArIHZhbHVlLmxlbmd0aCArICddJztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdHlwZSBvZiBvYmplY3QuXG4gICAqIHJldHVybnMgJ251bGwnIGlmIG9iamVjdCBpcyBudWxsIGFuZCAnZGF0ZScgaWYgdmFsdWUgaXMgb2JqZWN0IGFuZCBjYW4gYmUgcGFyc2VkIHRvIGEgZGF0ZS5cbiAgICovXG4gIGdldFR5cGUob2JqZWN0OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKCFvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuICdudWxsJztcbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuICdvYmplY3QnO1xuICAgICAgfVxuICAgICAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9iamVjdCk7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkYXRlKSA9PT0gJ1tvYmplY3QgRGF0ZV0nICYmXG4gICAgICAgICFOdW1iZXIuaXNOYU4oZGF0ZS5nZXRUaW1lKCkpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIHN0cmluZyByZXByZXNlbnRhdGlvbiBkZXBlbmRpbmcgaWYgaXRzIGFuIG9iamVjdCBvciBmdW5jdGlvbi5cbiAgICogc2VlOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMzI0MjlcbiAgICovXG4gIGdldE9iamVjdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBvYmplY3Q6IGFueSA9IHRoaXMuX2RhdGE7XG4gICAgaWYgKHRoaXMuaXNPYmplY3QoKSAmJiAhb2JqZWN0LmNvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gJ09iamVjdCc7XG4gICAgfVxuICAgIGNvbnN0IGZ1bmNOYW1lUmVnZXggPSAvZnVuY3Rpb24gKC57MSx9KVxcKC87XG4gICAgY29uc3QgcmVzdWx0cyA9IGZ1bmNOYW1lUmVnZXguZXhlYyhvYmplY3QuY29uc3RydWN0b3IudG9TdHJpbmcoKSk7XG4gICAgaWYgKHJlc3VsdHMgJiYgcmVzdWx0cy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gcmVzdWx0c1sxXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHByZXZpZXcgb2Ygbm9kZXMgY2hpbGRyZW4gdG8gcmVuZGVyIGluIHRvb2x0aXAgZGVwZW5kaW5nIGlmIGl0cyBhbiBhcnJheSBvciBhbiBvYmplY3QuXG4gICAqL1xuICBnZXRQcmV2aWV3KCk6IHN0cmluZyB7XG4gICAgbGV0IHByZXZpZXdEYXRhOiBzdHJpbmdbXTtcbiAgICBsZXQgc3RhcnRDaGFyID0gJ3sgJztcbiAgICBsZXQgZW5kQ2hhciA9ICcgfSc7XG4gICAgaWYgKHRoaXMuaXNBcnJheSgpKSB7XG4gICAgICBjb25zdCBwcmV2aWV3QXJyYXk6IGFueVtdID1cbiAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5fZGF0YSkuc2xpY2UoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19MSU1JVFxuICAgICAgICApID8/IFtdO1xuICAgICAgcHJldmlld0RhdGEgPSBwcmV2aWV3QXJyYXkubWFwKChvYmo6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZShvYmopO1xuICAgICAgfSk7XG4gICAgICBzdGFydENoYXIgPSAnWyc7XG4gICAgICBlbmRDaGFyID0gJ10nO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcmV2aWV3S2V5czogc3RyaW5nW10gPVxuICAgICAgICB0aGlzLl9jaGlsZHJlbj8uc2xpY2UoMCwgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfTElNSVQpID8/IFtdO1xuICAgICAgcHJldmlld0RhdGEgPSBwcmV2aWV3S2V5cy5tYXAoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBrZXkgKyAnOiAnICsgdGhpcy5nZXRWYWx1ZSh0aGlzLl9kYXRhW2tleV0gPz8gdW5kZWZpbmVkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBwcmV2aWV3U3RyaW5nOiBzdHJpbmcgPSBwcmV2aWV3RGF0YS5qb2luKCcsICcpO1xuICAgIGNvbnN0IGVsbGlwc2lzOiBzdHJpbmcgPVxuICAgICAgcHJldmlld0RhdGEubGVuZ3RoID49IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX0xJTUlUIHx8XG4gICAgICBwcmV2aWV3U3RyaW5nLmxlbmd0aCA+IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX1NUUklOR19NQVhfTEVOR1RIXG4gICAgICAgID8gJ+KApidcbiAgICAgICAgOiAnJztcbiAgICByZXR1cm4gKFxuICAgICAgc3RhcnRDaGFyICtcbiAgICAgIHByZXZpZXdTdHJpbmcuc3Vic3RyaW5nKFxuICAgICAgICAwLFxuICAgICAgICBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSFxuICAgICAgKSArXG4gICAgICBlbGxpcHNpcyArXG4gICAgICBlbmRDaGFyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDaGlsZHJlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09iamVjdCgpKSB7XG4gICAgICB0aGlzLl9jaGlsZHJlbiA9IE9iamVjdC5rZXlzKHRoaXMuX2RhdGEgPz8ge30pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRkLWpzb24tZm9ybWF0dGVyLXdyYXBwZXJcIj5cbiAgPGFcbiAgICBjbGFzcz1cInRkLWtleVwiXG4gICAgW2NsYXNzLnRkLWtleS1ub2RlXT1cImhhc0NoaWxkcmVuKClcIlxuICAgIFtjbGFzcy50ZC1rZXktbGVhZl09XCIhaGFzQ2hpbGRyZW4oKVwiXG4gICAgW3RhYkluZGV4XT1cImlzT2JqZWN0KCkgPyAwIDogLTFcIlxuICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZSgpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwidGQtbm9kZS1pY29uXCIgKm5nSWY9XCJoYXNDaGlsZHJlbigpXCI+XG4gICAgICB7e1xuICAgICAgICBvcGVuXG4gICAgICAgICAgPyAna2V5Ym9hcmRfYXJyb3dfZG93bidcbiAgICAgICAgICA6IGlzUlRMXG4gICAgICAgICAgPyAna2V5Ym9hcmRfYXJyb3dfbGVmdCdcbiAgICAgICAgICA6ICdrZXlib2FyZF9hcnJvd19yaWdodCdcbiAgICAgIH19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cImtleVwiIGNsYXNzPVwia2V5XCI+e3sga2V5IH19Ojwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICA8c3BhblxuICAgICAgICBbY2xhc3MudGQtZW1wdHldPVwiIWhhc0NoaWxkcmVuKClcIlxuICAgICAgICAqbmdJZj1cImlzT2JqZWN0KClcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRQcmV2aWV3KClcIlxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGQtb2JqZWN0LW5hbWVcIj57eyBnZXRPYmplY3ROYW1lKCkgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGQtYXJyYXktbGVuZ3RoXCIgKm5nSWY9XCJpc0FycmF5KClcIlxuICAgICAgICAgID5be3sgZGF0YVsnbGVuZ3RoJ10gfX1dPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzT2JqZWN0KClcIiBbY2xhc3NdPVwiZ2V0VHlwZShkYXRhKVwiPnt7XG4gICAgICAgIGdldFZhbHVlKGRhdGEpXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cbiAgPGRpdiBjbGFzcz1cInRkLW9iamVjdC1jaGlsZHJlblwiIFtAdGRDb2xsYXBzZV09XCIhKGhhc0NoaWxkcmVuKCkgJiYgb3BlbilcIj5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWtleSBuZ0ZvciBbbmdGb3JPZl09XCJjaGlsZHJlblwiPlxuICAgICAgPHRkLWpzb24tZm9ybWF0dGVyXG4gICAgICAgIFtrZXldPVwia2V5XCJcbiAgICAgICAgW2RhdGFdPVwiZGF0YVtrZXldXCJcbiAgICAgICAgW2xldmVsc09wZW5dPVwibGV2ZWxzT3BlbiAtIDFcIlxuICAgICAgPjwvdGQtanNvbi1mb3JtYXR0ZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -5,11 +5,11 @@ import { MatIconModule } from '@angular/material/icon';
5
5
  import { TdJsonFormatterComponent } from './json-formatter.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class CovalentJsonFormatterModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentJsonFormatterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: CovalentJsonFormatterModule, declarations: [TdJsonFormatterComponent], imports: [CommonModule, MatTooltipModule, MatIconModule], exports: [TdJsonFormatterComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentJsonFormatterModule, imports: [CommonModule, MatTooltipModule, MatIconModule] });
11
8
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentJsonFormatterModule, decorators: [{
9
+ CovalentJsonFormatterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentJsonFormatterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ CovalentJsonFormatterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CovalentJsonFormatterModule, declarations: [TdJsonFormatterComponent], imports: [CommonModule, MatTooltipModule, MatIconModule], exports: [TdJsonFormatterComponent] });
11
+ CovalentJsonFormatterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentJsonFormatterModule, imports: [CommonModule, MatTooltipModule, MatIconModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentJsonFormatterModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CommonModule, MatTooltipModule, MatIconModule],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
17
17
  exports: [TdJsonFormatterComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU90RSxNQUFNLE9BQU8sMkJBQTJCO3VHQUEzQiwyQkFBMkI7d0dBQTNCLDJCQUEyQixpQkFIdkIsd0JBQXdCLGFBRDdCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLGFBRTdDLHdCQUF3Qjt3R0FFdkIsMkJBQTJCLFlBSjVCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhOzsyRkFJNUMsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7b0JBQ3hELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRKc29uRm9ybWF0dGVyTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU90RSxNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBSHZCLHdCQUF3QixhQUQ3QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxhQUU3Qyx3QkFBd0I7MEhBRXZCLDJCQUEyQixZQUo1QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYTs0RkFJNUMsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7b0JBQ3hELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRKc29uRm9ybWF0dGVyTW9kdWxlIHt9XG4iXX0=