@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,24 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ /** Mixin to augment a component or directive with a `disabled` property. */
3
+ export function mixinDisableRipple(base) {
4
+ return class extends base {
5
+ constructor(...args) {
6
+ super(...args);
7
+ this._disableRipple = false;
8
+ }
9
+ get disableRipple() {
10
+ return this._disableRipple;
11
+ }
12
+ set disableRipple(value) {
13
+ const newValue = coerceBooleanProperty(value);
14
+ if (this._disableRipple !== newValue) {
15
+ this._disableRipple = newValue;
16
+ this.onDisableRippleChange(this._disableRipple);
17
+ }
18
+ }
19
+ onDisableRippleChange(v) {
20
+ /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */
21
+ }
22
+ };
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1yaXBwbGUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9iZWhhdmlvcnMvZGlzYWJsZS1yaXBwbGUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVOUQsNEVBQTRFO0FBQzVFLE1BQU0sVUFBVSxrQkFBa0IsQ0FFaEMsSUFBTztJQUNQLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFHdkIsWUFBWSxHQUFHLElBQVc7WUFDeEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFIVCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUkvQixDQUFDO1FBRUQsSUFBSSxhQUFhO1lBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFjO1lBQzlCLE1BQU0sUUFBUSxHQUFZLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO2dCQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQztRQUVELHFCQUFxQixDQUFDLENBQVU7WUFDOUIsMEVBQTBFO1FBQzVFLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbnR5cGUgQ29uc3RydWN0b3I8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG4vKiogSW50ZXJmYWNlIHRvIGltcGxlbWVudCB3aGVuIGFwcGx5aW5nIHRoZSBkaXNhYmxlZCBtaXhpbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuRGlzYWJsZVJpcHBsZSB7XG4gIGRpc2FibGVSaXBwbGU6IGJvb2xlYW47XG4gIG9uRGlzYWJsZVJpcHBsZUNoYW5nZSh2OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqIE1peGluIHRvIGF1Z21lbnQgYSBjb21wb25lbnQgb3IgZGlyZWN0aXZlIHdpdGggYSBgZGlzYWJsZWRgIHByb3BlcnR5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1peGluRGlzYWJsZVJpcHBsZTxcbiAgVCBleHRlbmRzIENvbnN0cnVjdG9yPFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuPihiYXNlOiBUKTogQ29uc3RydWN0b3I8SUNhbkRpc2FibGVSaXBwbGU+ICYgVCB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIGJhc2Uge1xuICAgIHByaXZhdGUgX2Rpc2FibGVSaXBwbGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZVJpcHBsZSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlUmlwcGxlO1xuICAgIH1cbiAgICBzZXQgZGlzYWJsZVJpcHBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgY29uc3QgbmV3VmFsdWU6IGJvb2xlYW4gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgaWYgKHRoaXMuX2Rpc2FibGVSaXBwbGUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVSaXBwbGUgPSBuZXdWYWx1ZTtcbiAgICAgICAgdGhpcy5vbkRpc2FibGVSaXBwbGVDaGFuZ2UodGhpcy5fZGlzYWJsZVJpcHBsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb25EaXNhYmxlUmlwcGxlQ2hhbmdlKHY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIC8qKiBOT1QgSU1QTEVNRU5URUQsIHRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGVuIGJ5IHN1YmNsYXNzZXMgaWYgbmVlZGVkICovXG4gICAgfVxuICB9O1xufVxuIl19
@@ -2,9 +2,9 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  /** Mixin to augment a component or directive with a `disabled` property. */
3
3
  export function mixinDisabled(base) {
4
4
  return class extends base {
5
- _disabled = false;
6
5
  constructor(...args) {
7
6
  super(...args);
7
+ this._disabled = false;
8
8
  }
9
9
  get disabled() {
10
10
  return this._disabled;
@@ -21,4 +21,4 @@ export function mixinDisabled(base) {
21
21
  }
22
22
  };
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9iZWhhdmlvcnMvZGlzYWJsZWQubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVOUQsNEVBQTRFO0FBQzVFLE1BQU0sVUFBVSxhQUFhLENBQzNCLElBQU87SUFFUCxPQUFPLEtBQU0sU0FBUSxJQUFJO1FBQ2YsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQixZQUFZLEdBQUcsSUFBVztZQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxRQUFRO1lBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1lBQ3pCLE1BQU0sUUFBUSxHQUFZLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQztRQUVELGdCQUFnQixDQUFDLENBQVU7WUFDekIsMEVBQTBFO1FBQzVFLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbnR5cGUgQ29uc3RydWN0b3I8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG4vKiogSW50ZXJmYWNlIHRvIGltcGxlbWVudCB3aGVuIGFwcGx5aW5nIHRoZSBkaXNhYmxlZCBtaXhpbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuRGlzYWJsZSB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBvbkRpc2FibGVkQ2hhbmdlKHY6IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKiogTWl4aW4gdG8gYXVnbWVudCBhIGNvbXBvbmVudCBvciBkaXJlY3RpdmUgd2l0aCBhIGBkaXNhYmxlZGAgcHJvcGVydHkuICovXG5leHBvcnQgZnVuY3Rpb24gbWl4aW5EaXNhYmxlZDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8YW55Pj4oXG4gIGJhc2U6IFRcbik6IENvbnN0cnVjdG9yPElDYW5EaXNhYmxlPiAmIFQge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBiYXNlIHtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZTogYm9vbGVhbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5fZGlzYWJsZWQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICAgIHRoaXMub25EaXNhYmxlZENoYW5nZSh0aGlzLl9kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb25EaXNhYmxlZENoYW5nZSh2OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAvKiogTk9UIElNUExFTUVOVEVELCB0aGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRlbiBieSBzdWJjbGFzc2VzIGlmIG5lZWRlZCAqL1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9iZWhhdmlvcnMvZGlzYWJsZWQubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVOUQsNEVBQTRFO0FBQzVFLE1BQU0sVUFBVSxhQUFhLENBQzNCLElBQU87SUFFUCxPQUFPLEtBQU0sU0FBUSxJQUFJO1FBR3ZCLFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBSFQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUkxQixDQUFDO1FBRUQsSUFBSSxRQUFRO1lBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1lBQ3pCLE1BQU0sUUFBUSxHQUFZLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQztRQUVELGdCQUFnQixDQUFDLENBQVU7WUFDekIsMEVBQTBFO1FBQzVFLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbnR5cGUgQ29uc3RydWN0b3I8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG4vKiogSW50ZXJmYWNlIHRvIGltcGxlbWVudCB3aGVuIGFwcGx5aW5nIHRoZSBkaXNhYmxlZCBtaXhpbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuRGlzYWJsZSB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBvbkRpc2FibGVkQ2hhbmdlKHY6IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKiogTWl4aW4gdG8gYXVnbWVudCBhIGNvbXBvbmVudCBvciBkaXJlY3RpdmUgd2l0aCBhIGBkaXNhYmxlZGAgcHJvcGVydHkuICovXG5leHBvcnQgZnVuY3Rpb24gbWl4aW5EaXNhYmxlZDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8YW55Pj4oXG4gIGJhc2U6IFRcbik6IENvbnN0cnVjdG9yPElDYW5EaXNhYmxlPiAmIFQge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBiYXNlIHtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZTogYm9vbGVhbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5fZGlzYWJsZWQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICAgIHRoaXMub25EaXNhYmxlZENoYW5nZSh0aGlzLl9kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb25EaXNhYmxlZENoYW5nZSh2OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAvKiogTk9UIElNUExFTUVOVEVELCB0aGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRlbiBieSBzdWJjbGFzc2VzIGlmIG5lZWRlZCAqL1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -35,23 +35,23 @@ const TD_PIPES = [
35
35
  TdTruncatePipe,
36
36
  ];
37
37
  export class CovalentCommonModule {
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: CovalentCommonModule, declarations: [TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
40
- TdTimeDifferencePipe,
41
- TdTimeUntilPipe,
42
- TdBytesPipe,
43
- TdDecimalBytesPipe,
44
- TdDigitsPipe,
45
- TdTruncatePipe], imports: [FormsModule, CommonModule], exports: [FormsModule, CommonModule, TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
46
- TdTimeDifferencePipe,
47
- TdTimeUntilPipe,
48
- TdBytesPipe,
49
- TdDecimalBytesPipe,
50
- TdDigitsPipe,
51
- TdTruncatePipe] });
52
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentCommonModule, providers: [RouterPathService, IconService], imports: [FormsModule, CommonModule, FormsModule, CommonModule] });
53
38
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentCommonModule, decorators: [{
39
+ CovalentCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
+ CovalentCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CovalentCommonModule, declarations: [TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
41
+ TdTimeDifferencePipe,
42
+ TdTimeUntilPipe,
43
+ TdBytesPipe,
44
+ TdDecimalBytesPipe,
45
+ TdDigitsPipe,
46
+ TdTruncatePipe], imports: [FormsModule, CommonModule], exports: [FormsModule, CommonModule, TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
47
+ TdTimeDifferencePipe,
48
+ TdTimeUntilPipe,
49
+ TdBytesPipe,
50
+ TdDecimalBytesPipe,
51
+ TdDigitsPipe,
52
+ TdTruncatePipe] });
53
+ CovalentCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentCommonModule, providers: [RouterPathService, IconService], imports: [FormsModule, CommonModule, FormsModule, CommonModule] });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentCommonModule, decorators: [{
55
55
  type: NgModule,
56
56
  args: [{
57
57
  imports: [FormsModule, CommonModule],
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
60
60
  providers: [RouterPathService, IconService],
61
61
  }]
62
62
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL2NvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDOztHQUVHO0FBQ0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPckY7O0dBRUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBWWhFOztHQUVHO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQS9CdEQsTUFBTSxhQUFhLEdBQWdCLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUVoRixhQUFhO0FBQ2IsTUFBTSxhQUFhLEdBQWdCLEVBQUUsQ0FBQztBQWF0QyxNQUFNLFFBQVEsR0FBZ0I7SUFDNUIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztDQUNmLENBQUM7QUFlRixNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixpQkF2Q0csbUJBQW1CLEVBQUUscUJBQXFCLEVBaUI1RSxhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixjQUFjLGFBV0osV0FBVyxFQUFFLFlBQVksYUFFekIsV0FBVyxFQUFFLFlBQVksRUFwQ0QsbUJBQW1CLEVBQUUscUJBQXFCLEVBaUI1RSxhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixjQUFjO3dHQWdCSCxvQkFBb0IsYUFGcEIsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsWUFIakMsV0FBVyxFQUFFLFlBQVksRUFFekIsV0FBVyxFQUFFLFlBQVk7OzJGQUd4QixvQkFBb0I7a0JBTmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztvQkFDcEMsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7b0JBQzVFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogRGlyZWN0aXZlc1xuICovXG5pbXBvcnQgeyBUZEF1dG9UcmltRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3Jtcy9hdXRvLXRyaW0vYXV0by10cmltLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZEZ1bGxzY3JlZW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZnVsbHNjcmVlbi9mdWxsc2NyZWVuLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFREX0RJUkVDVElWRVM6IFR5cGU8YW55PltdID0gW1RkQXV0b1RyaW1EaXJlY3RpdmUsIFRkRnVsbHNjcmVlbkRpcmVjdGl2ZV07XG5cbi8vIFZhbGlkYXRvcnNcbmNvbnN0IFREX1ZBTElEQVRPUlM6IFR5cGU8YW55PltdID0gW107XG5cbi8qKlxuICogUElQRVNcbiAqL1xuaW1wb3J0IHsgVGRUaW1lQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1hZ28vdGltZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBUZFRpbWVEaWZmZXJlbmNlUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1kaWZmZXJlbmNlL3RpbWUtZGlmZmVyZW5jZS5waXBlJztcbmltcG9ydCB7IFRkVGltZVVudGlsUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS11bnRpbC90aW1lLXVudGlsLnBpcGUnO1xuaW1wb3J0IHsgVGRCeXRlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2J5dGVzL2J5dGVzLnBpcGUnO1xuaW1wb3J0IHsgVGREZWNpbWFsQnl0ZXNQaXBlIH0gZnJvbSAnLi9waXBlcy9kZWNpbWFsLWJ5dGVzL2RlY2ltYWwtYnl0ZXMucGlwZSc7XG5pbXBvcnQgeyBUZERpZ2l0c1BpcGUgfSBmcm9tICcuL3BpcGVzL2RpZ2l0cy9kaWdpdHMucGlwZSc7XG5pbXBvcnQgeyBUZFRydW5jYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvdHJ1bmNhdGUvdHJ1bmNhdGUucGlwZSc7XG5cbmNvbnN0IFREX1BJUEVTOiBUeXBlPGFueT5bXSA9IFtcbiAgVGRUaW1lQWdvUGlwZSxcbiAgVGRUaW1lRGlmZmVyZW5jZVBpcGUsXG4gIFRkVGltZVVudGlsUGlwZSxcbiAgVGRCeXRlc1BpcGUsXG4gIFRkRGVjaW1hbEJ5dGVzUGlwZSxcbiAgVGREaWdpdHNQaXBlLFxuICBUZFRydW5jYXRlUGlwZSxcbl07XG5cbi8qKlxuICogU2VydmljZXNcbiAqL1xuXG5pbXBvcnQgeyBSb3V0ZXJQYXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcm91dGVyLXBhdGguc2VydmljZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaWNvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtURF9ESVJFQ1RJVkVTLCBURF9QSVBFUywgVERfVkFMSURBVE9SU10sXG4gIGV4cG9ydHM6IFtGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBURF9ESVJFQ1RJVkVTLCBURF9QSVBFUywgVERfVkFMSURBVE9SU10sXG4gIHByb3ZpZGVyczogW1JvdXRlclBhdGhTZXJ2aWNlLCBJY29uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50Q29tbW9uTW9kdWxlIHt9XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL2NvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDOztHQUVHO0FBQ0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPckY7O0dBRUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBWWhFOztHQUVHO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQS9CdEQsTUFBTSxhQUFhLEdBQWdCLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUVoRixhQUFhO0FBQ2IsTUFBTSxhQUFhLEdBQWdCLEVBQUUsQ0FBQztBQWF0QyxNQUFNLFFBQVEsR0FBZ0I7SUFDNUIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztDQUNmLENBQUM7QUFlRixNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsaUJBdkNHLG1CQUFtQixFQUFFLHFCQUFxQixFQWlCNUUsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osY0FBYyxhQVdKLFdBQVcsRUFBRSxZQUFZLGFBRXpCLFdBQVcsRUFBRSxZQUFZLEVBcENELG1CQUFtQixFQUFFLHFCQUFxQixFQWlCNUUsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osY0FBYzttSEFnQkgsb0JBQW9CLGFBRnBCLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLFlBSGpDLFdBQVcsRUFBRSxZQUFZLEVBRXpCLFdBQVcsRUFBRSxZQUFZOzRGQUd4QixvQkFBb0I7a0JBTmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztvQkFDcEMsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7b0JBQzVFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogRGlyZWN0aXZlc1xuICovXG5pbXBvcnQgeyBUZEF1dG9UcmltRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3Jtcy9hdXRvLXRyaW0vYXV0by10cmltLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZEZ1bGxzY3JlZW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZnVsbHNjcmVlbi9mdWxsc2NyZWVuLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFREX0RJUkVDVElWRVM6IFR5cGU8YW55PltdID0gW1RkQXV0b1RyaW1EaXJlY3RpdmUsIFRkRnVsbHNjcmVlbkRpcmVjdGl2ZV07XG5cbi8vIFZhbGlkYXRvcnNcbmNvbnN0IFREX1ZBTElEQVRPUlM6IFR5cGU8YW55PltdID0gW107XG5cbi8qKlxuICogUElQRVNcbiAqL1xuaW1wb3J0IHsgVGRUaW1lQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1hZ28vdGltZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBUZFRpbWVEaWZmZXJlbmNlUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1kaWZmZXJlbmNlL3RpbWUtZGlmZmVyZW5jZS5waXBlJztcbmltcG9ydCB7IFRkVGltZVVudGlsUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS11bnRpbC90aW1lLXVudGlsLnBpcGUnO1xuaW1wb3J0IHsgVGRCeXRlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2J5dGVzL2J5dGVzLnBpcGUnO1xuaW1wb3J0IHsgVGREZWNpbWFsQnl0ZXNQaXBlIH0gZnJvbSAnLi9waXBlcy9kZWNpbWFsLWJ5dGVzL2RlY2ltYWwtYnl0ZXMucGlwZSc7XG5pbXBvcnQgeyBUZERpZ2l0c1BpcGUgfSBmcm9tICcuL3BpcGVzL2RpZ2l0cy9kaWdpdHMucGlwZSc7XG5pbXBvcnQgeyBUZFRydW5jYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvdHJ1bmNhdGUvdHJ1bmNhdGUucGlwZSc7XG5cbmNvbnN0IFREX1BJUEVTOiBUeXBlPGFueT5bXSA9IFtcbiAgVGRUaW1lQWdvUGlwZSxcbiAgVGRUaW1lRGlmZmVyZW5jZVBpcGUsXG4gIFRkVGltZVVudGlsUGlwZSxcbiAgVGRCeXRlc1BpcGUsXG4gIFRkRGVjaW1hbEJ5dGVzUGlwZSxcbiAgVGREaWdpdHNQaXBlLFxuICBUZFRydW5jYXRlUGlwZSxcbl07XG5cbi8qKlxuICogU2VydmljZXNcbiAqL1xuXG5pbXBvcnQgeyBSb3V0ZXJQYXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcm91dGVyLXBhdGguc2VydmljZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaWNvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtURF9ESVJFQ1RJVkVTLCBURF9QSVBFUywgVERfVkFMSURBVE9SU10sXG4gIGV4cG9ydHM6IFtGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBURF9ESVJFQ1RJVkVTLCBURF9QSVBFUywgVERfVkFMSURBVE9SU10sXG4gIHByb3ZpZGVyczogW1JvdXRlclBhdGhTZXJ2aWNlLCBJY29uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50Q29tbW9uTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Directive, HostListener, ElementRef, Inject } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class TdFullscreenDirective {
5
+ constructor(_document, _el) {
6
+ this._document = _document;
7
+ this._el = _el;
8
+ this.fullScreenIsActive = false;
9
+ }
10
+ fsChangeHandler(event) {
11
+ this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();
12
+ }
13
+ toggleFullScreen() {
14
+ this._getFullScreenElement() === this._el.nativeElement
15
+ ? this.exitFullScreen()
16
+ : this.enterFullScreen();
17
+ }
18
+ enterFullScreen() {
19
+ const { _el: { nativeElement }, } = this;
20
+ const enterFullScreenMap = {
21
+ requestFullscreen: () => nativeElement.requestFullscreen(),
22
+ webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(),
23
+ mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(),
24
+ msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE
25
+ };
26
+ for (const handler of Object.keys(enterFullScreenMap)) {
27
+ if (nativeElement[handler]) {
28
+ enterFullScreenMap[handler]();
29
+ }
30
+ }
31
+ }
32
+ exitFullScreen() {
33
+ const exitFullScreenMap = {
34
+ exitFullscreen: () => this._document.exitFullscreen(),
35
+ webkitExitFullscreen: () => this._document.webkitExitFullscreen(),
36
+ mozCancelFullScreen: () => this._document.mozCancelFullScreen(),
37
+ msExitFullscreen: () => this._document.msExitFullscreen(), // IE
38
+ };
39
+ for (const handler of Object.keys(exitFullScreenMap)) {
40
+ if (exitFullScreenMap[handler] &&
41
+ this._getFullScreenElement() === this._el.nativeElement) {
42
+ exitFullScreenMap[handler]();
43
+ }
44
+ }
45
+ }
46
+ _getFullScreenElement() {
47
+ const tdFullScreenElementMap = {
48
+ fullscreenElement: () => this._document.fullscreenElement,
49
+ webkitFullscreenElement: () => this._document.webkitFullscreenElement,
50
+ mozFullscreenElement: () => this._document.mozFullscreenElement,
51
+ msFullscreenElement: () => this._document.msFullscreenElement, // IE, Edge
52
+ };
53
+ for (const props of Object.keys(tdFullScreenElementMap)) {
54
+ if (tdFullScreenElementMap[props]) {
55
+ return tdFullScreenElementMap[props]();
56
+ }
57
+ }
58
+ return undefined;
59
+ }
60
+ }
61
+ TdFullscreenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFullscreenDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
62
+ TdFullscreenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TdFullscreenDirective, selector: "[tdFullScreen]", host: { listeners: { "document:fullscreenchange": "fsChangeHandler($event)", "document:webkitfullscreenchange": "fsChangeHandler($event)", "document:mozfullscreenchange": "fsChangeHandler($event)", "document:msfullscreenchange": "fsChangeHandler($event)" } }, exportAs: ["tdFullScreen"], ngImport: i0 });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdFullscreenDirective, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: '[tdFullScreen]',
67
+ exportAs: 'tdFullScreen',
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
70
+ type: Inject,
71
+ args: [DOCUMENT]
72
+ }] }, { type: i0.ElementRef }]; }, propDecorators: { fsChangeHandler: [{
73
+ type: HostListener,
74
+ args: ['document:fullscreenchange', ['$event']]
75
+ }, {
76
+ type: HostListener,
77
+ args: ['document:webkitfullscreenchange', ['$event']]
78
+ }, {
79
+ type: HostListener,
80
+ args: ['document:mozfullscreenchange', ['$event']]
81
+ }, {
82
+ type: HostListener,
83
+ args: ['document:msfullscreenchange', ['$event']]
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9kaXJlY3RpdmVzL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0IzQyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQzRCLFNBQXNCLEVBQ3hDLEdBQWU7UUFERyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFIekIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBSXhCLENBQUM7SUFNRyxlQUFlLENBQUMsS0FBWTtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtZQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sRUFDSixHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FDdkIsR0FBMEIsSUFBSSxDQUFDO1FBQ2hDLE1BQU0sa0JBQWtCLEdBQWtDO1lBQ3hELGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRTtZQUMxRCx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUU7WUFDdEUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFO1lBQ2hFLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUs7U0FDdEUsQ0FBQztRQUVGLEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3JELElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLGlCQUFpQixHQUFrQztZQUN2RCxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUU7WUFDckQsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRTtZQUNqRSxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFO1lBQy9ELGdCQUFnQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLO1NBQ2pFLENBQUM7UUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNwRCxJQUNFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztnQkFDMUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQ3ZEO2dCQUNBLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDOUI7U0FDRjtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsTUFBTSxzQkFBc0IsR0FBcUM7WUFDL0QsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUI7WUFDekQsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUI7WUFDckUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0I7WUFDL0QsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXO1NBQzNFLENBQUM7UUFDRixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUN2RCxJQUFJLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDeEM7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O21IQXRFVSxxQkFBcUIsa0JBR3RCLFFBQVE7dUdBSFAscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkFJSSxNQUFNOzJCQUFDLFFBQVE7cUVBUVgsZUFBZTtzQkFKckIsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BELFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUMxRCxZQUFZO3VCQUFDLDhCQUE4QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDdkQsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW50ZXJmYWNlIElGc0RvY3VtZW50IGV4dGVuZHMgSFRNTERvY3VtZW50IHtcbiAgZnVsbHNjcmVlbkVsZW1lbnQ6IEVsZW1lbnQ7XG4gIHdlYmtpdEZ1bGxzY3JlZW5FbGVtZW50OiBFbGVtZW50O1xuICBtb3pGdWxsc2NyZWVuRWxlbWVudDogRWxlbWVudDtcbiAgbXNGdWxsc2NyZWVuRWxlbWVudDogRWxlbWVudDtcbiAgd2Via2l0RXhpdEZ1bGxzY3JlZW46ICgpID0+IHZvaWQ7XG4gIG1vekNhbmNlbEZ1bGxTY3JlZW46ICgpID0+IHZvaWQ7XG4gIG1zRXhpdEZ1bGxzY3JlZW46ICgpID0+IHZvaWQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZEZ1bGxTY3JlZW5dJyxcbiAgZXhwb3J0QXM6ICd0ZEZ1bGxTY3JlZW4nLFxufSlcbmV4cG9ydCBjbGFzcyBUZEZ1bGxzY3JlZW5EaXJlY3RpdmUge1xuICBmdWxsU2NyZWVuSXNBY3RpdmUgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IElGc0RvY3VtZW50LFxuICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpmdWxsc2NyZWVuY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6d2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vemZ1bGxzY3JlZW5jaGFuZ2UnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptc2Z1bGxzY3JlZW5jaGFuZ2UnLCBbJyRldmVudCddKVxuICBwdWJsaWMgZnNDaGFuZ2VIYW5kbGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZnVsbFNjcmVlbklzQWN0aXZlID0gZXZlbnQuc3JjRWxlbWVudCA9PT0gdGhpcy5fZ2V0RnVsbFNjcmVlbkVsZW1lbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEZ1bGxTY3JlZW5FbGVtZW50KCkgPT09IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnRcbiAgICAgID8gdGhpcy5leGl0RnVsbFNjcmVlbigpXG4gICAgICA6IHRoaXMuZW50ZXJGdWxsU2NyZWVuKCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgIGNvbnN0IHtcbiAgICAgIF9lbDogeyBuYXRpdmVFbGVtZW50IH0sXG4gICAgfTogVGRGdWxsc2NyZWVuRGlyZWN0aXZlID0gdGhpcztcbiAgICBjb25zdCBlbnRlckZ1bGxTY3JlZW5NYXA6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gdm9pZCB9ID0ge1xuICAgICAgcmVxdWVzdEZ1bGxzY3JlZW46ICgpID0+IG5hdGl2ZUVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKSwgLy8gQ2hyb21lXG4gICAgICB3ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbjogKCkgPT4gbmF0aXZlRWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpLCAvLyBTYWZhcmlcbiAgICAgIG1velJlcXVlc3RGdWxsU2NyZWVuOiAoKSA9PiBuYXRpdmVFbGVtZW50Lm1velJlcXVlc3RGdWxsU2NyZWVuKCksIC8vIEZpcmVmb3hcbiAgICAgIG1zUmVxdWVzdEZ1bGxzY3JlZW46ICgpID0+IG5hdGl2ZUVsZW1lbnQubXNSZXF1ZXN0RnVsbHNjcmVlbigpLCAvLyBJRVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgT2JqZWN0LmtleXMoZW50ZXJGdWxsU2NyZWVuTWFwKSkge1xuICAgICAgaWYgKG5hdGl2ZUVsZW1lbnRbaGFuZGxlcl0pIHtcbiAgICAgICAgZW50ZXJGdWxsU2NyZWVuTWFwW2hhbmRsZXJdKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGV4aXRGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgIGNvbnN0IGV4aXRGdWxsU2NyZWVuTWFwOiB7IFtrZXk6IHN0cmluZ106ICgpID0+IHZvaWQgfSA9IHtcbiAgICAgIGV4aXRGdWxsc2NyZWVuOiAoKSA9PiB0aGlzLl9kb2N1bWVudC5leGl0RnVsbHNjcmVlbigpLCAvLyBDaHJvbWVcbiAgICAgIHdlYmtpdEV4aXRGdWxsc2NyZWVuOiAoKSA9PiB0aGlzLl9kb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpLCAvLyBTYWZhcmlcbiAgICAgIG1vekNhbmNlbEZ1bGxTY3JlZW46ICgpID0+IHRoaXMuX2RvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKSwgLy8gRmlyZWZveFxuICAgICAgbXNFeGl0RnVsbHNjcmVlbjogKCkgPT4gdGhpcy5fZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpLCAvLyBJRVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgT2JqZWN0LmtleXMoZXhpdEZ1bGxTY3JlZW5NYXApKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGV4aXRGdWxsU2NyZWVuTWFwW2hhbmRsZXJdICYmXG4gICAgICAgIHRoaXMuX2dldEZ1bGxTY3JlZW5FbGVtZW50KCkgPT09IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICkge1xuICAgICAgICBleGl0RnVsbFNjcmVlbk1hcFtoYW5kbGVyXSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldEZ1bGxTY3JlZW5FbGVtZW50KCk6IEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRkRnVsbFNjcmVlbkVsZW1lbnRNYXA6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gRWxlbWVudCB9ID0ge1xuICAgICAgZnVsbHNjcmVlbkVsZW1lbnQ6ICgpID0+IHRoaXMuX2RvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50LCAvLyBDaHJvbWUsIE9wZXJhXG4gICAgICB3ZWJraXRGdWxsc2NyZWVuRWxlbWVudDogKCkgPT4gdGhpcy5fZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQsIC8vIFNhZmFyaVxuICAgICAgbW96RnVsbHNjcmVlbkVsZW1lbnQ6ICgpID0+IHRoaXMuX2RvY3VtZW50Lm1vekZ1bGxzY3JlZW5FbGVtZW50LCAvLyBGaXJlZm94XG4gICAgICBtc0Z1bGxzY3JlZW5FbGVtZW50OiAoKSA9PiB0aGlzLl9kb2N1bWVudC5tc0Z1bGxzY3JlZW5FbGVtZW50LCAvLyBJRSwgRWRnZVxuICAgIH07XG4gICAgZm9yIChjb25zdCBwcm9wcyBvZiBPYmplY3Qua2V5cyh0ZEZ1bGxTY3JlZW5FbGVtZW50TWFwKSkge1xuICAgICAgaWYgKHRkRnVsbFNjcmVlbkVsZW1lbnRNYXBbcHJvcHNdKSB7XG4gICAgICAgIHJldHVybiB0ZEZ1bGxTY3JlZW5FbGVtZW50TWFwW3Byb3BzXSgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HostListener, Host, Optional } from '@angular/core';
3
+ import { NgModel } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class TdAutoTrimDirective {
7
+ constructor(_model) {
8
+ this._model = _model;
9
+ }
10
+ /**
11
+ * Listens to host's (blur) event and trims value.
12
+ */
13
+ onBlur(event) {
14
+ if (this._model &&
15
+ this._model.value &&
16
+ typeof this._model.value === 'string') {
17
+ this._model.update.emit(this._model.value.trim());
18
+ }
19
+ }
20
+ }
21
+ TdAutoTrimDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdAutoTrimDirective, deps: [{ token: i1.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
22
+ TdAutoTrimDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TdAutoTrimDirective, selector: "[tdAutoTrim]", host: { listeners: { "blur": "onBlur($event)" } }, ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdAutoTrimDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[tdAutoTrim]',
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.NgModel, decorators: [{
29
+ type: Optional
30
+ }, {
31
+ type: Host
32
+ }] }]; }, propDecorators: { onBlur: [{
33
+ type: HostListener,
34
+ args: ['blur', ['$event']]
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by10cmltLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL2Zvcm1zL2F1dG8tdHJpbS9hdXRvLXRyaW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3pDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBd0MsTUFBZTtRQUFmLFdBQU0sR0FBTixNQUFNLENBQVM7SUFBRyxDQUFDO0lBRTNEOztPQUVHO0lBRUgsTUFBTSxDQUFDLEtBQVk7UUFDakIsSUFDRSxJQUFJLENBQUMsTUFBTTtZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSztZQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFDckM7WUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7O2lIQWZVLG1CQUFtQjtxR0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkFFYyxRQUFROzswQkFBSSxJQUFJOzRDQU03QixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIb3N0TGlzdGVuZXIsIEhvc3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGRBdXRvVHJpbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZEF1dG9UcmltRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9tb2RlbDogTmdNb2RlbCkge31cblxuICAvKipcbiAgICogTGlzdGVucyB0byBob3N0J3MgKGJsdXIpIGV2ZW50IGFuZCB0cmltcyB2YWx1ZS5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudCddKVxuICBvbkJsdXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5fbW9kZWwgJiZcbiAgICAgIHRoaXMuX21vZGVsLnZhbHVlICYmXG4gICAgICB0eXBlb2YgdGhpcy5fbW9kZWwudmFsdWUgPT09ICdzdHJpbmcnXG4gICAgKSB7XG4gICAgICB0aGlzLl9tb2RlbC51cGRhdGUuZW1pdCh0aGlzLl9tb2RlbC52YWx1ZS50cmltKCkpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Conversion function that takes an array of objects and converts
3
+ * them to CSV format. Custom key and line separators can be specified.
4
+ *
5
+ * @param objects list of strings in JSON format or actual objects
6
+ * @param keySeparator optional parameter to specify custom value separator
7
+ * @param lineSeparator optional parameter to specify custom end of line separator
8
+ * @returns CSV formatted string
9
+ */
10
+ export function convertObjectsToCSV(objects, keySeparator = ',', lineSeparator = '\r\n') {
11
+ if (!objects) {
12
+ return '';
13
+ }
14
+ let outputString = '';
15
+ // Iterate through array, creating one output line per object
16
+ objects.forEach((value, key) => {
17
+ let line = '';
18
+ for (const index of Object.keys(objects[key])) {
19
+ if (line !== '') {
20
+ line += keySeparator;
21
+ }
22
+ if (objects[key][index] === null || objects[key][index] === undefined) {
23
+ objects[key][index] = '';
24
+ }
25
+ line += objects[key][index];
26
+ }
27
+ outputString += `${line}${lineSeparator}`;
28
+ });
29
+ // Append header row identifying keys into output
30
+ if (objects[0]) {
31
+ const headers = Object.keys(objects[0]).join(keySeparator);
32
+ outputString = `${headers}${lineSeparator}${outputString}`;
33
+ }
34
+ return outputString;
35
+ }
36
+ /**
37
+ * Conversion function that takes a CSV representation
38
+ * of objects and converts them to JSON.
39
+ * The first row in the input must be the object keys.
40
+ * Custom key separator and line separator can be specified.
41
+ * Indentation size for output JSON can be specified.
42
+ *
43
+ * @param csv list of strings in JSON format or actual objects
44
+ * @param keySeparator optional parameter to specify custom value separator
45
+ * @param lineSeparator optional parameter to specify custom end of line separator
46
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2.
47
+ * @returns JSON formatted string
48
+ */
49
+ export function convertCSVToJSON(csv, keySeparator = ',', lineSeparator = '\r\n', indent = 2) {
50
+ if (!csv) {
51
+ return '';
52
+ }
53
+ const csvArray = csv.split(lineSeparator);
54
+ // Input CSV must have a minimum of two rows
55
+ if (csvArray.length < 2) {
56
+ return '';
57
+ }
58
+ const newObjects = [];
59
+ // Extract object keys from header row
60
+ const keys = csvArray[0].split(keySeparator);
61
+ // Iterate through array, creating one output line per object
62
+ for (let i = 1; i < csvArray.length; i++) {
63
+ const newObject = {};
64
+ const values = csvArray[i].split(keySeparator);
65
+ if (values.length !== keys.length) {
66
+ continue;
67
+ }
68
+ for (let j = 0; j < keys.length; j++) {
69
+ newObject[keys[j]] = values[j];
70
+ }
71
+ newObjects.push(newObject);
72
+ }
73
+ return formatJSON(newObjects, indent);
74
+ }
75
+ /**
76
+ * Convert object to JSON using stringify. Indentation size for output JSON can be specified.
77
+ *
78
+ * @param json object to be converted
79
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2.
80
+ */
81
+ export function formatJSON(json, indent = 2) {
82
+ return JSON.stringify(json, undefined, indent);
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL2Z1bmN0aW9ucy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUFjLEVBQ2QsZUFBdUIsR0FBRyxFQUMxQixnQkFBd0IsTUFBTTtJQUU5QixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUV0Qiw2REFBNkQ7SUFDN0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUM3QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksSUFBSSxZQUFZLENBQUM7YUFDdEI7WUFDRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUMxQjtZQUNELElBQUksSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFDRCxZQUFZLElBQUksR0FBRyxJQUFJLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxpREFBaUQ7SUFDakQsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDZCxNQUFNLE9BQU8sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxZQUFZLEdBQUcsR0FBRyxPQUFPLEdBQUcsYUFBYSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzVEO0lBRUQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsR0FBVyxFQUNYLGVBQXVCLEdBQUcsRUFDMUIsZ0JBQXdCLE1BQU0sRUFDOUIsU0FBaUIsQ0FBQztJQUVsQixJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sUUFBUSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsNENBQTRDO0lBQzVDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sVUFBVSxHQUFVLEVBQUUsQ0FBQztJQUU3QixzQ0FBc0M7SUFDdEMsTUFBTSxJQUFJLEdBQWEsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCw2REFBNkQ7SUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBRTFCLE1BQU0sTUFBTSxHQUFhLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDakMsU0FBUztTQUNWO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDNUI7SUFFRCxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsU0FBaUIsQ0FBQztJQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJzaW9uIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gYXJyYXkgb2Ygb2JqZWN0cyBhbmQgY29udmVydHNcbiAqIHRoZW0gdG8gQ1NWIGZvcm1hdC4gQ3VzdG9tIGtleSBhbmQgbGluZSBzZXBhcmF0b3JzIGNhbiBiZSBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIG9iamVjdHMgbGlzdCBvZiBzdHJpbmdzIGluIEpTT04gZm9ybWF0IG9yIGFjdHVhbCBvYmplY3RzXG4gKiBAcGFyYW0ga2V5U2VwYXJhdG9yIG9wdGlvbmFsIHBhcmFtZXRlciB0byBzcGVjaWZ5IGN1c3RvbSB2YWx1ZSBzZXBhcmF0b3JcbiAqIEBwYXJhbSBsaW5lU2VwYXJhdG9yIG9wdGlvbmFsIHBhcmFtZXRlciB0byBzcGVjaWZ5IGN1c3RvbSBlbmQgb2YgbGluZSBzZXBhcmF0b3JcbiAqIEByZXR1cm5zIENTViBmb3JtYXR0ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0T2JqZWN0c1RvQ1NWKFxuICBvYmplY3RzOiBhbnlbXSxcbiAga2V5U2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcsXG4gIGxpbmVTZXBhcmF0b3I6IHN0cmluZyA9ICdcXHJcXG4nXG4pOiBzdHJpbmcge1xuICBpZiAoIW9iamVjdHMpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBsZXQgb3V0cHV0U3RyaW5nID0gJyc7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGFycmF5LCBjcmVhdGluZyBvbmUgb3V0cHV0IGxpbmUgcGVyIG9iamVjdFxuICBvYmplY3RzLmZvckVhY2goKHZhbHVlOiBvYmplY3QsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgbGV0IGxpbmUgPSAnJztcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIE9iamVjdC5rZXlzKG9iamVjdHNba2V5XSkpIHtcbiAgICAgIGlmIChsaW5lICE9PSAnJykge1xuICAgICAgICBsaW5lICs9IGtleVNlcGFyYXRvcjtcbiAgICAgIH1cbiAgICAgIGlmIChvYmplY3RzW2tleV1baW5kZXhdID09PSBudWxsIHx8IG9iamVjdHNba2V5XVtpbmRleF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBvYmplY3RzW2tleV1baW5kZXhdID0gJyc7XG4gICAgICB9XG4gICAgICBsaW5lICs9IG9iamVjdHNba2V5XVtpbmRleF07XG4gICAgfVxuICAgIG91dHB1dFN0cmluZyArPSBgJHtsaW5lfSR7bGluZVNlcGFyYXRvcn1gO1xuICB9KTtcblxuICAvLyBBcHBlbmQgaGVhZGVyIHJvdyBpZGVudGlmeWluZyBrZXlzIGludG8gb3V0cHV0XG4gIGlmIChvYmplY3RzWzBdKSB7XG4gICAgY29uc3QgaGVhZGVyczogc3RyaW5nID0gT2JqZWN0LmtleXMob2JqZWN0c1swXSkuam9pbihrZXlTZXBhcmF0b3IpO1xuICAgIG91dHB1dFN0cmluZyA9IGAke2hlYWRlcnN9JHtsaW5lU2VwYXJhdG9yfSR7b3V0cHV0U3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0U3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnNpb24gZnVuY3Rpb24gdGhhdCB0YWtlcyBhIENTViByZXByZXNlbnRhdGlvblxuICogb2Ygb2JqZWN0cyBhbmQgY29udmVydHMgdGhlbSB0byBKU09OLlxuICogVGhlIGZpcnN0IHJvdyBpbiB0aGUgaW5wdXQgbXVzdCBiZSB0aGUgb2JqZWN0IGtleXMuXG4gKiBDdXN0b20ga2V5IHNlcGFyYXRvciBhbmQgbGluZSBzZXBhcmF0b3IgY2FuIGJlIHNwZWNpZmllZC5cbiAqIEluZGVudGF0aW9uIHNpemUgZm9yIG91dHB1dCBKU09OIGNhbiBiZSBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGNzdiBsaXN0IG9mIHN0cmluZ3MgaW4gSlNPTiBmb3JtYXQgb3IgYWN0dWFsIG9iamVjdHNcbiAqIEBwYXJhbSBrZXlTZXBhcmF0b3Igb3B0aW9uYWwgcGFyYW1ldGVyIHRvIHNwZWNpZnkgY3VzdG9tIHZhbHVlIHNlcGFyYXRvclxuICogQHBhcmFtIGxpbmVTZXBhcmF0b3Igb3B0aW9uYWwgcGFyYW1ldGVyIHRvIHNwZWNpZnkgY3VzdG9tIGVuZCBvZiBsaW5lIHNlcGFyYXRvclxuICogQHBhcmFtIGluZGVudCBvcHRpb25hbCBwYXJhbWV0ZXIgaW5kaWNhdGluZyBzcGFjZSBpbmRlbnRhdGlvbiBmb3IgcHJldHR5IG91dHB1dC4gRGVmYXVsdCBpcyAyLlxuICogQHJldHVybnMgSlNPTiBmb3JtYXR0ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0Q1NWVG9KU09OKFxuICBjc3Y6IHN0cmluZyxcbiAga2V5U2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcsXG4gIGxpbmVTZXBhcmF0b3I6IHN0cmluZyA9ICdcXHJcXG4nLFxuICBpbmRlbnQ6IG51bWJlciA9IDJcbik6IHN0cmluZyB7XG4gIGlmICghY3N2KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgY3N2QXJyYXk6IHN0cmluZ1tdID0gY3N2LnNwbGl0KGxpbmVTZXBhcmF0b3IpO1xuICAvLyBJbnB1dCBDU1YgbXVzdCBoYXZlIGEgbWluaW11bSBvZiB0d28gcm93c1xuICBpZiAoY3N2QXJyYXkubGVuZ3RoIDwgMikge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IG5ld09iamVjdHM6IGFueVtdID0gW107XG5cbiAgLy8gRXh0cmFjdCBvYmplY3Qga2V5cyBmcm9tIGhlYWRlciByb3dcbiAgY29uc3Qga2V5czogc3RyaW5nW10gPSBjc3ZBcnJheVswXS5zcGxpdChrZXlTZXBhcmF0b3IpO1xuICAvLyBJdGVyYXRlIHRocm91Z2ggYXJyYXksIGNyZWF0aW5nIG9uZSBvdXRwdXQgbGluZSBwZXIgb2JqZWN0XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgY3N2QXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBuZXdPYmplY3Q6IGFueSA9IHt9O1xuXG4gICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IGNzdkFycmF5W2ldLnNwbGl0KGtleVNlcGFyYXRvcik7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggIT09IGtleXMubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBrZXlzLmxlbmd0aDsgaisrKSB7XG4gICAgICBuZXdPYmplY3Rba2V5c1tqXV0gPSB2YWx1ZXNbal07XG4gICAgfVxuICAgIG5ld09iamVjdHMucHVzaChuZXdPYmplY3QpO1xuICB9XG5cbiAgcmV0dXJuIGZvcm1hdEpTT04obmV3T2JqZWN0cywgaW5kZW50KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCB0byBKU09OIHVzaW5nIHN0cmluZ2lmeS4gSW5kZW50YXRpb24gc2l6ZSBmb3Igb3V0cHV0IEpTT04gY2FuIGJlIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0ganNvbiBvYmplY3QgdG8gYmUgY29udmVydGVkXG4gKiBAcGFyYW0gaW5kZW50IG9wdGlvbmFsIHBhcmFtZXRlciBpbmRpY2F0aW5nIHNwYWNlIGluZGVudGF0aW9uIGZvciBwcmV0dHkgb3V0cHV0LiBEZWZhdWx0IGlzIDIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRKU09OKGpzb246IG9iamVjdCwgaW5kZW50OiBudW1iZXIgPSAyKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGpzb24sIHVuZGVmaW5lZCwgaW5kZW50KTtcbn1cbiJdfQ==
@@ -0,0 +1,75 @@
1
+ import { convertObjectsToCSV, formatJSON } from './convert';
2
+ /**
3
+ * Download CSV content to the specified file with .csv extension
4
+ * appended to the provided base file name.
5
+ *
6
+ * @param fileBaseName base name of destination file
7
+ * @param csv CSV contents
8
+ */
9
+ export function downloadCSV(fileBaseName, csv) {
10
+ downloadFile(`${fileBaseName}.csv`, csv, 'text/csv');
11
+ }
12
+ /**
13
+ * Download JSON content to the specified file with .json extension
14
+ * appended to the provided base file name.
15
+ *
16
+ * @param fileBaseName base name of destination file
17
+ * @param json JSON contents
18
+ * @param format indicates if JSON should be prettied
19
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2
20
+ */
21
+ export function downloadJSON(fileBaseName, json, format = false, indent = 2) {
22
+ downloadFile(`${fileBaseName}.json`, format ? formatJSON(JSON.parse(json), indent) : json, 'application/json');
23
+ }
24
+ /**
25
+ * Convert objects to CSV format and download to file with .csv
26
+ * extension appended to the provided base file name. Custom key
27
+ * separator and line separator can be specified.
28
+ *
29
+ * @param fileBaseName base name of destination file
30
+ * @param objects object array to be converted to CSV format
31
+ * prior to writing to download destination
32
+ * @param keySeparator optional parameter to specify custom value separator
33
+ * @param lineSeparator optional parameter to specify custom end of line separator
34
+ */
35
+ export function downloadObjectsToCSV(fileBaseName, objects, keySeparator = ',', lineSeparator = '\r\n') {
36
+ downloadFile(`${fileBaseName}.csv`, convertObjectsToCSV(objects, keySeparator, lineSeparator), 'text/csv');
37
+ }
38
+ /**
39
+ * Convert objects to JSON format and download to file with .json
40
+ * extension appended to the provided base file name.
41
+ *
42
+ * @param fileBaseName base name of destination file
43
+ * @param objects object array to be converted to JSON format
44
+ * prior to writing to download destination
45
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2
46
+ */
47
+ export function downloadObjectsToJSON(fileBaseName, objects, indent = 2) {
48
+ downloadFile(`${fileBaseName}.json`, formatJSON(objects, indent), 'application/json');
49
+ }
50
+ /**
51
+ * Download string content to the specified file with desired mime type.
52
+ *
53
+ * @param fileName full filename (including appropriate extension) of destination file
54
+ * @param contents string contents to be written to download destination
55
+ * @param mimeType mime type appropriate to file content to support consumption of destination file
56
+ */
57
+ export function downloadFile(fileName, contents, mimeType = 'text/plain') {
58
+ if (!fileName || !contents) {
59
+ return;
60
+ }
61
+ // Create blob object and assign URL
62
+ const blob = new Blob([contents], { type: mimeType });
63
+ const url = window.URL.createObjectURL(blob);
64
+ // Construct anchor for URL, append to DOM, click and cleanup.
65
+ const a = document.createElement('a');
66
+ a.setAttribute('style', 'display: none');
67
+ a.setAttribute('download', fileName);
68
+ a.href = url;
69
+ document.body.appendChild(a);
70
+ a.click();
71
+ window.URL.revokeObjectURL(url);
72
+ document.body.removeChild(a);
73
+ window.URL.revokeObjectURL(url);
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9mdW5jdGlvbnMvZG93bmxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU1RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFlBQW9CLEVBQUUsR0FBVztJQUMzRCxZQUFZLENBQUMsR0FBRyxZQUFZLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsWUFBb0IsRUFDcEIsSUFBWSxFQUNaLFNBQWtCLEtBQUssRUFDdkIsU0FBaUIsQ0FBQztJQUVsQixZQUFZLENBQ1YsR0FBRyxZQUFZLE9BQU8sRUFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUNwRCxrQkFBa0IsQ0FDbkIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxZQUFvQixFQUNwQixPQUFjLEVBQ2QsZUFBdUIsR0FBRyxFQUMxQixnQkFBd0IsTUFBTTtJQUU5QixZQUFZLENBQ1YsR0FBRyxZQUFZLE1BQU0sRUFDckIsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsRUFDekQsVUFBVSxDQUNYLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFlBQW9CLEVBQ3BCLE9BQWMsRUFDZCxTQUFpQixDQUFDO0lBRWxCLFlBQVksQ0FDVixHQUFHLFlBQVksT0FBTyxFQUN0QixVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUMzQixrQkFBa0IsQ0FDbkIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixRQUFnQixFQUNoQixRQUFnQixFQUNoQixXQUFtQixZQUFZO0lBRS9CLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDMUIsT0FBTztLQUNSO0lBRUQsb0NBQW9DO0lBQ3BDLE1BQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLEdBQUcsR0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyRCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydE9iamVjdHNUb0NTViwgZm9ybWF0SlNPTiB9IGZyb20gJy4vY29udmVydCc7XG5cbi8qKlxuICogRG93bmxvYWQgQ1NWIGNvbnRlbnQgdG8gdGhlIHNwZWNpZmllZCBmaWxlIHdpdGggLmNzdiBleHRlbnNpb25cbiAqIGFwcGVuZGVkIHRvIHRoZSBwcm92aWRlZCBiYXNlIGZpbGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0gZmlsZUJhc2VOYW1lIGJhc2UgbmFtZSBvZiBkZXN0aW5hdGlvbiBmaWxlXG4gKiBAcGFyYW0gY3N2IENTViBjb250ZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRDU1YoZmlsZUJhc2VOYW1lOiBzdHJpbmcsIGNzdjogc3RyaW5nKTogdm9pZCB7XG4gIGRvd25sb2FkRmlsZShgJHtmaWxlQmFzZU5hbWV9LmNzdmAsIGNzdiwgJ3RleHQvY3N2Jyk7XG59XG5cbi8qKlxuICogRG93bmxvYWQgSlNPTiBjb250ZW50IHRvIHRoZSBzcGVjaWZpZWQgZmlsZSB3aXRoIC5qc29uIGV4dGVuc2lvblxuICogYXBwZW5kZWQgdG8gdGhlIHByb3ZpZGVkIGJhc2UgZmlsZSBuYW1lLlxuICpcbiAqIEBwYXJhbSBmaWxlQmFzZU5hbWUgYmFzZSBuYW1lIG9mIGRlc3RpbmF0aW9uIGZpbGVcbiAqIEBwYXJhbSBqc29uIEpTT04gY29udGVudHNcbiAqIEBwYXJhbSBmb3JtYXQgaW5kaWNhdGVzIGlmIEpTT04gc2hvdWxkIGJlIHByZXR0aWVkXG4gKiBAcGFyYW0gaW5kZW50IG9wdGlvbmFsIHBhcmFtZXRlciBpbmRpY2F0aW5nIHNwYWNlIGluZGVudGF0aW9uIGZvciBwcmV0dHkgb3V0cHV0LiBEZWZhdWx0IGlzIDJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkSlNPTihcbiAgZmlsZUJhc2VOYW1lOiBzdHJpbmcsXG4gIGpzb246IHN0cmluZyxcbiAgZm9ybWF0OiBib29sZWFuID0gZmFsc2UsXG4gIGluZGVudDogbnVtYmVyID0gMlxuKTogdm9pZCB7XG4gIGRvd25sb2FkRmlsZShcbiAgICBgJHtmaWxlQmFzZU5hbWV9Lmpzb25gLFxuICAgIGZvcm1hdCA/IGZvcm1hdEpTT04oSlNPTi5wYXJzZShqc29uKSwgaW5kZW50KSA6IGpzb24sXG4gICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICk7XG59XG5cbi8qKlxuICogQ29udmVydCBvYmplY3RzIHRvIENTViBmb3JtYXQgYW5kIGRvd25sb2FkIHRvIGZpbGUgd2l0aCAuY3N2XG4gKiBleHRlbnNpb24gYXBwZW5kZWQgdG8gdGhlIHByb3ZpZGVkIGJhc2UgZmlsZSBuYW1lLiBDdXN0b20ga2V5XG4gKiBzZXBhcmF0b3IgYW5kIGxpbmUgc2VwYXJhdG9yIGNhbiBiZSBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGZpbGVCYXNlTmFtZSBiYXNlIG5hbWUgb2YgZGVzdGluYXRpb24gZmlsZVxuICogQHBhcmFtIG9iamVjdHMgb2JqZWN0IGFycmF5IHRvIGJlIGNvbnZlcnRlZCB0byBDU1YgZm9ybWF0XG4gKiAgIHByaW9yIHRvIHdyaXRpbmcgdG8gZG93bmxvYWQgZGVzdGluYXRpb25cbiAqIEBwYXJhbSBrZXlTZXBhcmF0b3Igb3B0aW9uYWwgcGFyYW1ldGVyIHRvIHNwZWNpZnkgY3VzdG9tIHZhbHVlIHNlcGFyYXRvclxuICogQHBhcmFtIGxpbmVTZXBhcmF0b3Igb3B0aW9uYWwgcGFyYW1ldGVyIHRvIHNwZWNpZnkgY3VzdG9tIGVuZCBvZiBsaW5lIHNlcGFyYXRvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRPYmplY3RzVG9DU1YoXG4gIGZpbGVCYXNlTmFtZTogc3RyaW5nLFxuICBvYmplY3RzOiBhbnlbXSxcbiAga2V5U2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcsXG4gIGxpbmVTZXBhcmF0b3I6IHN0cmluZyA9ICdcXHJcXG4nXG4pOiB2b2lkIHtcbiAgZG93bmxvYWRGaWxlKFxuICAgIGAke2ZpbGVCYXNlTmFtZX0uY3N2YCxcbiAgICBjb252ZXJ0T2JqZWN0c1RvQ1NWKG9iamVjdHMsIGtleVNlcGFyYXRvciwgbGluZVNlcGFyYXRvciksXG4gICAgJ3RleHQvY3N2J1xuICApO1xufVxuXG4vKipcbiAqIENvbnZlcnQgb2JqZWN0cyB0byBKU09OIGZvcm1hdCBhbmQgZG93bmxvYWQgdG8gZmlsZSB3aXRoIC5qc29uXG4gKiBleHRlbnNpb24gYXBwZW5kZWQgdG8gdGhlIHByb3ZpZGVkIGJhc2UgZmlsZSBuYW1lLlxuICpcbiAqIEBwYXJhbSBmaWxlQmFzZU5hbWUgYmFzZSBuYW1lIG9mIGRlc3RpbmF0aW9uIGZpbGVcbiAqIEBwYXJhbSBvYmplY3RzIG9iamVjdCBhcnJheSB0byBiZSBjb252ZXJ0ZWQgdG8gSlNPTiBmb3JtYXRcbiAqICAgcHJpb3IgdG8gd3JpdGluZyB0byBkb3dubG9hZCBkZXN0aW5hdGlvblxuICogQHBhcmFtIGluZGVudCBvcHRpb25hbCBwYXJhbWV0ZXIgaW5kaWNhdGluZyBzcGFjZSBpbmRlbnRhdGlvbiBmb3IgcHJldHR5IG91dHB1dC4gRGVmYXVsdCBpcyAyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZE9iamVjdHNUb0pTT04oXG4gIGZpbGVCYXNlTmFtZTogc3RyaW5nLFxuICBvYmplY3RzOiBhbnlbXSxcbiAgaW5kZW50OiBudW1iZXIgPSAyXG4pOiB2b2lkIHtcbiAgZG93bmxvYWRGaWxlKFxuICAgIGAke2ZpbGVCYXNlTmFtZX0uanNvbmAsXG4gICAgZm9ybWF0SlNPTihvYmplY3RzLCBpbmRlbnQpLFxuICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICApO1xufVxuXG4vKipcbiAqIERvd25sb2FkIHN0cmluZyBjb250ZW50IHRvIHRoZSBzcGVjaWZpZWQgZmlsZSB3aXRoIGRlc2lyZWQgbWltZSB0eXBlLlxuICpcbiAqIEBwYXJhbSBmaWxlTmFtZSBmdWxsIGZpbGVuYW1lIChpbmNsdWRpbmcgYXBwcm9wcmlhdGUgZXh0ZW5zaW9uKSBvZiBkZXN0aW5hdGlvbiBmaWxlXG4gKiBAcGFyYW0gY29udGVudHMgc3RyaW5nIGNvbnRlbnRzIHRvIGJlIHdyaXR0ZW4gdG8gZG93bmxvYWQgZGVzdGluYXRpb25cbiAqIEBwYXJhbSBtaW1lVHlwZSBtaW1lIHR5cGUgYXBwcm9wcmlhdGUgdG8gZmlsZSBjb250ZW50IHRvIHN1cHBvcnQgY29uc3VtcHRpb24gb2YgZGVzdGluYXRpb24gZmlsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRGaWxlKFxuICBmaWxlTmFtZTogc3RyaW5nLFxuICBjb250ZW50czogc3RyaW5nLFxuICBtaW1lVHlwZTogc3RyaW5nID0gJ3RleHQvcGxhaW4nXG4pOiB2b2lkIHtcbiAgaWYgKCFmaWxlTmFtZSB8fCAhY29udGVudHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBDcmVhdGUgYmxvYiBvYmplY3QgYW5kIGFzc2lnbiBVUkxcbiAgY29uc3QgYmxvYjogQmxvYiA9IG5ldyBCbG9iKFtjb250ZW50c10sIHsgdHlwZTogbWltZVR5cGUgfSk7XG4gIGNvbnN0IHVybDogc3RyaW5nID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cbiAgLy8gQ29uc3RydWN0IGFuY2hvciBmb3IgVVJMLCBhcHBlbmQgdG8gRE9NLCBjbGljayBhbmQgY2xlYW51cC5cbiAgY29uc3QgYTogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gIGEuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcbiAgYS5ocmVmID0gdXJsO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICBhLmNsaWNrKCk7XG4gIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XG4gIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TdBytesPipe {
4
+ /* `bytes` needs to be `any` or TypeScript complains
5
+ Tried both `number` and `number | string` */
6
+ transform(bytes, precision = 2) {
7
+ if (bytes === 0) {
8
+ return '0 B';
9
+ }
10
+ else if (isNaN(parseInt(bytes, 10))) {
11
+ /* If not a valid number, return 'Invalid Number' */
12
+ return 'Invalid Number';
13
+ }
14
+ const k = 1024;
15
+ const sizes = [
16
+ 'B',
17
+ 'KiB',
18
+ 'MiB',
19
+ 'GiB',
20
+ 'TiB',
21
+ 'PiB',
22
+ 'EiB',
23
+ 'ZiB',
24
+ 'YiB',
25
+ ];
26
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
27
+ // if less than 1
28
+ if (i < 0) {
29
+ return 'Invalid Number';
30
+ }
31
+ return (parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]);
32
+ }
33
+ }
34
+ TdBytesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdBytesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
35
+ TdBytesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TdBytesPipe, name: "bytes" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdBytesPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: 'bytes',
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL3BpcGVzL2J5dGVzL2J5dGVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxXQUFXO0lBQ3RCO2dEQUM0QztJQUM1QyxTQUFTLENBQUMsS0FBVSxFQUFFLFlBQW9CLENBQUM7UUFDekMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNyQyxvREFBb0Q7WUFDcEQsT0FBTyxnQkFBZ0IsQ0FBQztTQUN6QjtRQUNELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNmLE1BQU0sS0FBSyxHQUFhO1lBQ3RCLEdBQUc7WUFDSCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUM7UUFDRixNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDVCxPQUFPLGdCQUFnQixDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxDQUNMLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDOzt5R0E5QlUsV0FBVzt1R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2J5dGVzJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRCeXRlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyogYGJ5dGVzYCBuZWVkcyB0byBiZSBgYW55YCBvciBUeXBlU2NyaXB0IGNvbXBsYWluc1xuICBUcmllZCBib3RoIGBudW1iZXJgIGFuZCBgbnVtYmVyIHwgc3RyaW5nYCAqL1xuICB0cmFuc2Zvcm0oYnl0ZXM6IGFueSwgcHJlY2lzaW9uOiBudW1iZXIgPSAyKTogc3RyaW5nIHtcbiAgICBpZiAoYnl0ZXMgPT09IDApIHtcbiAgICAgIHJldHVybiAnMCBCJztcbiAgICB9IGVsc2UgaWYgKGlzTmFOKHBhcnNlSW50KGJ5dGVzLCAxMCkpKSB7XG4gICAgICAvKiBJZiBub3QgYSB2YWxpZCBudW1iZXIsIHJldHVybiAnSW52YWxpZCBOdW1iZXInICovXG4gICAgICByZXR1cm4gJ0ludmFsaWQgTnVtYmVyJztcbiAgICB9XG4gICAgY29uc3QgayA9IDEwMjQ7XG4gICAgY29uc3Qgc2l6ZXM6IHN0cmluZ1tdID0gW1xuICAgICAgJ0InLFxuICAgICAgJ0tpQicsXG4gICAgICAnTWlCJyxcbiAgICAgICdHaUInLFxuICAgICAgJ1RpQicsXG4gICAgICAnUGlCJyxcbiAgICAgICdFaUInLFxuICAgICAgJ1ppQicsXG4gICAgICAnWWlCJyxcbiAgICBdO1xuICAgIGNvbnN0IGk6IG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuICAgIC8vIGlmIGxlc3MgdGhhbiAxXG4gICAgaWYgKGkgPCAwKSB7XG4gICAgICByZXR1cm4gJ0ludmFsaWQgTnVtYmVyJztcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlRmxvYXQoKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQocHJlY2lzaW9uKSkgKyAnICcgKyBzaXplc1tpXVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TdDecimalBytesPipe {
4
+ /* `bytes` needs to be `any` or TypeScript complains
5
+ Tried both `number` and `number | string` */
6
+ transform(bytes, precision = 2) {
7
+ if (bytes === 0) {
8
+ return '0 B';
9
+ }
10
+ else if (isNaN(parseInt(bytes, 10))) {
11
+ /* If not a valid number, return 'Invalid Number' */
12
+ return 'Invalid Number';
13
+ }
14
+ const k = 1000;
15
+ const sizes = [
16
+ 'B',
17
+ 'KB',
18
+ 'MB',
19
+ 'GB',
20
+ 'TB',
21
+ 'PB',
22
+ 'EB',
23
+ 'ZB',
24
+ 'YB',
25
+ ];
26
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
27
+ // if less than 1
28
+ if (i < 0) {
29
+ return 'Invalid Number';
30
+ }
31
+ return (parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]);
32
+ }
33
+ }
34
+ TdDecimalBytesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDecimalBytesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
35
+ TdDecimalBytesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TdDecimalBytesPipe, name: "decimalBytes" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDecimalBytesPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: 'decimalBytes',
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC1ieXRlcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbW1vbi9zcmMvcGlwZXMvZGVjaW1hbC1ieXRlcy9kZWNpbWFsLWJ5dGVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Z0RBQzRDO0lBQzVDLFNBQVMsQ0FBQyxLQUFVLEVBQUUsWUFBb0IsQ0FBQztRQUN6QyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3JDLG9EQUFvRDtZQUNwRCxPQUFPLGdCQUFnQixDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2YsTUFBTSxLQUFLLEdBQWE7WUFDdEIsR0FBRztZQUNILElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1NBQ0wsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQ0wsVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FBQztJQUNKLENBQUM7O2dIQTlCVSxrQkFBa0I7OEdBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZGVjaW1hbEJ5dGVzJyxcbn0pXG5leHBvcnQgY2xhc3MgVGREZWNpbWFsQnl0ZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qIGBieXRlc2AgbmVlZHMgdG8gYmUgYGFueWAgb3IgVHlwZVNjcmlwdCBjb21wbGFpbnNcbiAgVHJpZWQgYm90aCBgbnVtYmVyYCBhbmQgYG51bWJlciB8IHN0cmluZ2AgKi9cbiAgdHJhbnNmb3JtKGJ5dGVzOiBhbnksIHByZWNpc2lvbjogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XG4gICAgICByZXR1cm4gJzAgQic7XG4gICAgfSBlbHNlIGlmIChpc05hTihwYXJzZUludChieXRlcywgMTApKSkge1xuICAgICAgLyogSWYgbm90IGEgdmFsaWQgbnVtYmVyLCByZXR1cm4gJ0ludmFsaWQgTnVtYmVyJyAqL1xuICAgICAgcmV0dXJuICdJbnZhbGlkIE51bWJlcic7XG4gICAgfVxuICAgIGNvbnN0IGsgPSAxMDAwO1xuICAgIGNvbnN0IHNpemVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCJyxcbiAgICAgICdLQicsXG4gICAgICAnTUInLFxuICAgICAgJ0dCJyxcbiAgICAgICdUQicsXG4gICAgICAnUEInLFxuICAgICAgJ0VCJyxcbiAgICAgICdaQicsXG4gICAgICAnWUInLFxuICAgIF07XG4gICAgY29uc3QgaTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSk7XG4gICAgLy8gaWYgbGVzcyB0aGFuIDFcbiAgICBpZiAoaSA8IDApIHtcbiAgICAgIHJldHVybiAnSW52YWxpZCBOdW1iZXInO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgcGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChwcmVjaXNpb24pKSArICcgJyArIHNpemVzW2ldXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { Pipe, Inject, LOCALE_ID } from '@angular/core';
2
+ import { DecimalPipe } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class TdDigitsPipe {
5
+ constructor(_locale = 'en') {
6
+ this._locale = _locale;
7
+ this._decimalPipe = new DecimalPipe(this._locale);
8
+ }
9
+ /* `digits` needs to be type `digits: any` or TypeScript complains */
10
+ transform(digits, precision = 1) {
11
+ if (digits === 0) {
12
+ return '0';
13
+ }
14
+ else if (isNaN(parseInt(digits, 10))) {
15
+ /* If not a valid number, return the value */
16
+ return digits;
17
+ }
18
+ else if (digits < 1) {
19
+ return this._decimalPipe.transform(digits.toFixed(precision)) ?? '';
20
+ }
21
+ const k = 1000;
22
+ const sizes = ['', 'K', 'M', 'B', 'T', 'Q'];
23
+ const i = Math.floor(Math.log(digits) / Math.log(k));
24
+ const size = sizes[i];
25
+ return (this._decimalPipe.transform(parseFloat((digits / Math.pow(k, i)).toFixed(precision))) + (size ? ' ' + size : ''));
26
+ }
27
+ }
28
+ TdDigitsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDigitsPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
29
+ TdDigitsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TdDigitsPipe, name: "digits" });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDigitsPipe, decorators: [{
31
+ type: Pipe,
32
+ args: [{
33
+ name: 'digits',
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
36
+ type: Inject,
37
+ args: [LOCALE_ID]
38
+ }] }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9waXBlcy9kaWdpdHMvZGlnaXRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSzlDLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQXVDLFVBQWtCLElBQUk7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQscUVBQXFFO0lBQ3JFLFNBQVMsQ0FBQyxNQUFXLEVBQUUsWUFBb0IsQ0FBQztRQUMxQyxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUN0Qyw2Q0FBNkM7WUFDN0MsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDckU7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEtBQUssR0FBYSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxNQUFNLElBQUksR0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUN6QixVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDOzswR0ExQlUsWUFBWSxrQkFHSCxTQUFTO3dHQUhsQixZQUFZOzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7OzBCQUljLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2RpZ2l0cycsXG59KVxuZXhwb3J0IGNsYXNzIFRkRGlnaXRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIF9kZWNpbWFsUGlwZTogRGVjaW1hbFBpcGU7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nID0gJ2VuJykge1xuICAgIHRoaXMuX2RlY2ltYWxQaXBlID0gbmV3IERlY2ltYWxQaXBlKHRoaXMuX2xvY2FsZSk7XG4gIH1cblxuICAvKiBgZGlnaXRzYCBuZWVkcyB0byBiZSB0eXBlIGBkaWdpdHM6IGFueWAgb3IgVHlwZVNjcmlwdCBjb21wbGFpbnMgKi9cbiAgdHJhbnNmb3JtKGRpZ2l0czogYW55LCBwcmVjaXNpb246IG51bWJlciA9IDEpOiBzdHJpbmcge1xuICAgIGlmIChkaWdpdHMgPT09IDApIHtcbiAgICAgIHJldHVybiAnMCc7XG4gICAgfSBlbHNlIGlmIChpc05hTihwYXJzZUludChkaWdpdHMsIDEwKSkpIHtcbiAgICAgIC8qIElmIG5vdCBhIHZhbGlkIG51bWJlciwgcmV0dXJuIHRoZSB2YWx1ZSAqL1xuICAgICAgcmV0dXJuIGRpZ2l0cztcbiAgICB9IGVsc2UgaWYgKGRpZ2l0cyA8IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kZWNpbWFsUGlwZS50cmFuc2Zvcm0oZGlnaXRzLnRvRml4ZWQocHJlY2lzaW9uKSkgPz8gJyc7XG4gICAgfVxuICAgIGNvbnN0IGsgPSAxMDAwO1xuICAgIGNvbnN0IHNpemVzOiBzdHJpbmdbXSA9IFsnJywgJ0snLCAnTScsICdCJywgJ1QnLCAnUSddO1xuICAgIGNvbnN0IGk6IG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coZGlnaXRzKSAvIE1hdGgubG9nKGspKTtcbiAgICBjb25zdCBzaXplOiBzdHJpbmcgPSBzaXplc1tpXTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZGVjaW1hbFBpcGUudHJhbnNmb3JtKFxuICAgICAgICBwYXJzZUZsb2F0KChkaWdpdHMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChwcmVjaXNpb24pKVxuICAgICAgKSArIChzaXplID8gJyAnICsgc2l6ZSA6ICcnKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -60,13 +60,13 @@ export class TdTimeAgoPipe {
60
60
  return Math.floor(diff) + ' years ago';
61
61
  }
62
62
  }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdTimeAgoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
64
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: TdTimeAgoPipe, name: "timeAgo" });
65
63
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdTimeAgoPipe, decorators: [{
64
+ TdTimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdTimeAgoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
65
+ TdTimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TdTimeAgoPipe, name: "timeAgo" });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdTimeAgoPipe, decorators: [{
67
67
  type: Pipe,
68
68
  args: [{
69
69
  name: 'timeAgo',
70
70
  }]
71
71
  }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL3BpcGVzL3RpbWUtYWdvL3RpbWUtYWdvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsU0FBZTtRQUNsQyw2Q0FBNkM7UUFDN0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25CLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBRUQsc0VBQXNFO1FBQ3RFLHFEQUFxRDtRQUNyRCxNQUFNLFNBQVMsR0FBVyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVFLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTyxjQUFjLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQzFDO1FBQ0QsVUFBVTtRQUNWLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUMxQztRQUNELFFBQVE7UUFDUixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUM7U0FDeEM7UUFDRCxPQUFPO1FBQ1AsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO1NBQ3ZDO1FBQ0QsU0FBUztRQUNULElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQztTQUN6QztRQUNELFFBQVE7UUFDUixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLFlBQVksQ0FBQztTQUNyQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQztTQUN4QztJQUNILENBQUM7dUdBN0RVLGFBQWE7cUdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RpbWVBZ28nLFxufSlcbmV4cG9ydCBjbGFzcyBUZFRpbWVBZ29QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh0aW1lOiBhbnksIHJlZmVyZW5jZT86IGFueSk6IHN0cmluZyB7XG4gICAgLy8gQ29udmVydCB0aW1lIHRvIGRhdGUgb2JqZWN0IGlmIG5vdCBhbHJlYWR5XG4gICAgdGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuICAgIGNvbnN0IHJlZjogRGF0ZSA9IG5ldyBEYXRlKHJlZmVyZW5jZSk7XG5cbiAgICAvLyBJZiBub3QgYSB2YWxpZCB0aW1lc3RhbXAsIHJldHVybiAnSW52YWxpZCBEYXRlJ1xuICAgIGlmICghdGltZS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiAnSW52YWxpZCBEYXRlJztcbiAgICB9XG5cbiAgICAvLyBGb3IgdW5pdCB0ZXN0aW5nLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gZGVjbGFyZSBhIHN0YXRpYyBzdGFydCB0aW1lXG4gICAgLy8gZm9yIGNhbGN1bGF0aW9ucywgb3IgZWxzZSBzcGVlZCBvZiB0ZXN0cyBjYW4gYm9yay5cbiAgICBjb25zdCBzdGFydFRpbWU6IG51bWJlciA9IGlzTmFOKHJlZi5nZXRUaW1lKCkpID8gRGF0ZS5ub3coKSA6IHJlZi5nZXRUaW1lKCk7XG4gICAgbGV0IGRpZmY6IG51bWJlciA9IE1hdGguZmxvb3IoKHN0YXJ0VGltZSAtIHRpbWUuZ2V0VGltZSgpKSAvIDEwMDApO1xuXG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgc2Vjb25kIGFnbyc7XG4gICAgfVxuICAgIGlmIChkaWZmIDwgNjApIHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmYpICsgJyBzZWNvbmRzIGFnbyc7XG4gICAgfVxuICAgIC8vIE1pbnV0ZXNcbiAgICBkaWZmID0gZGlmZiAvIDYwO1xuICAgIGlmIChkaWZmIDwgMikge1xuICAgICAgcmV0dXJuICcxIG1pbnV0ZSBhZ28nO1xuICAgIH1cbiAgICBpZiAoZGlmZiA8IDYwKSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgbWludXRlcyBhZ28nO1xuICAgIH1cbiAgICAvLyBIb3Vyc1xuICAgIGRpZmYgPSBkaWZmIC8gNjA7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgaG91ciBhZ28nO1xuICAgIH1cbiAgICBpZiAoZGlmZiA8IDI0KSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgaG91cnMgYWdvJztcbiAgICB9XG4gICAgLy8gRGF5c1xuICAgIGRpZmYgPSBkaWZmIC8gMjQ7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgZGF5IGFnbyc7XG4gICAgfVxuICAgIGlmIChkaWZmIDwgMzApIHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmYpICsgJyBkYXlzIGFnbyc7XG4gICAgfVxuICAgIC8vIE1vbnRoc1xuICAgIGRpZmYgPSBkaWZmIC8gMzA7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgbW9udGggYWdvJztcbiAgICB9XG4gICAgaWYgKGRpZmYgPCAxMikge1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoZGlmZikgKyAnIG1vbnRocyBhZ28nO1xuICAgIH1cbiAgICAvLyBZZWFyc1xuICAgIGRpZmYgPSBkaWZmIC8gMTI7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgeWVhciBhZ28nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgeWVhcnMgYWdvJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21tb24vc3JjL3BpcGVzL3RpbWUtYWdvL3RpbWUtYWdvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsU0FBZTtRQUNsQyw2Q0FBNkM7UUFDN0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25CLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBRUQsc0VBQXNFO1FBQ3RFLHFEQUFxRDtRQUNyRCxNQUFNLFNBQVMsR0FBVyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVFLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTyxjQUFjLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQzFDO1FBQ0QsVUFBVTtRQUNWLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUMxQztRQUNELFFBQVE7UUFDUixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUM7U0FDeEM7UUFDRCxPQUFPO1FBQ1AsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO1NBQ3ZDO1FBQ0QsU0FBUztRQUNULElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQztTQUN6QztRQUNELFFBQVE7UUFDUixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLFlBQVksQ0FBQztTQUNyQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQztTQUN4QztJQUNILENBQUM7OzJHQTdEVSxhQUFhO3lHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RpbWVBZ28nLFxufSlcbmV4cG9ydCBjbGFzcyBUZFRpbWVBZ29QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh0aW1lOiBhbnksIHJlZmVyZW5jZT86IGFueSk6IHN0cmluZyB7XG4gICAgLy8gQ29udmVydCB0aW1lIHRvIGRhdGUgb2JqZWN0IGlmIG5vdCBhbHJlYWR5XG4gICAgdGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuICAgIGNvbnN0IHJlZjogRGF0ZSA9IG5ldyBEYXRlKHJlZmVyZW5jZSk7XG5cbiAgICAvLyBJZiBub3QgYSB2YWxpZCB0aW1lc3RhbXAsIHJldHVybiAnSW52YWxpZCBEYXRlJ1xuICAgIGlmICghdGltZS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiAnSW52YWxpZCBEYXRlJztcbiAgICB9XG5cbiAgICAvLyBGb3IgdW5pdCB0ZXN0aW5nLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gZGVjbGFyZSBhIHN0YXRpYyBzdGFydCB0aW1lXG4gICAgLy8gZm9yIGNhbGN1bGF0aW9ucywgb3IgZWxzZSBzcGVlZCBvZiB0ZXN0cyBjYW4gYm9yay5cbiAgICBjb25zdCBzdGFydFRpbWU6IG51bWJlciA9IGlzTmFOKHJlZi5nZXRUaW1lKCkpID8gRGF0ZS5ub3coKSA6IHJlZi5nZXRUaW1lKCk7XG4gICAgbGV0IGRpZmY6IG51bWJlciA9IE1hdGguZmxvb3IoKHN0YXJ0VGltZSAtIHRpbWUuZ2V0VGltZSgpKSAvIDEwMDApO1xuXG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgc2Vjb25kIGFnbyc7XG4gICAgfVxuICAgIGlmIChkaWZmIDwgNjApIHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmYpICsgJyBzZWNvbmRzIGFnbyc7XG4gICAgfVxuICAgIC8vIE1pbnV0ZXNcbiAgICBkaWZmID0gZGlmZiAvIDYwO1xuICAgIGlmIChkaWZmIDwgMikge1xuICAgICAgcmV0dXJuICcxIG1pbnV0ZSBhZ28nO1xuICAgIH1cbiAgICBpZiAoZGlmZiA8IDYwKSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgbWludXRlcyBhZ28nO1xuICAgIH1cbiAgICAvLyBIb3Vyc1xuICAgIGRpZmYgPSBkaWZmIC8gNjA7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgaG91ciBhZ28nO1xuICAgIH1cbiAgICBpZiAoZGlmZiA8IDI0KSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgaG91cnMgYWdvJztcbiAgICB9XG4gICAgLy8gRGF5c1xuICAgIGRpZmYgPSBkaWZmIC8gMjQ7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgZGF5IGFnbyc7XG4gICAgfVxuICAgIGlmIChkaWZmIDwgMzApIHtcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmYpICsgJyBkYXlzIGFnbyc7XG4gICAgfVxuICAgIC8vIE1vbnRoc1xuICAgIGRpZmYgPSBkaWZmIC8gMzA7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgbW9udGggYWdvJztcbiAgICB9XG4gICAgaWYgKGRpZmYgPCAxMikge1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoZGlmZikgKyAnIG1vbnRocyBhZ28nO1xuICAgIH1cbiAgICAvLyBZZWFyc1xuICAgIGRpZmYgPSBkaWZmIC8gMTI7XG4gICAgaWYgKGRpZmYgPCAyKSB7XG4gICAgICByZXR1cm4gJzEgeWVhciBhZ28nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmKSArICcgeWVhcnMgYWdvJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==