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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +3 -0
  2. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +3 -0
  3. package/breadcrumbs/breadcrumbs.component.d.ts +3 -0
  4. package/breadcrumbs/breadcrumbs.component.scss +1 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  6. package/breadcrumbs/covalent-core-breadcrumbs.d.ts +1 -0
  7. package/breadcrumbs/package.json +6 -7
  8. package/common/_common-theme.scss +2 -0
  9. package/common/common.module.d.ts +15 -0
  10. package/common/covalent-core-common.d.ts +1 -2
  11. package/common/directives/fullscreen/fullscreen.directive.d.ts +3 -0
  12. package/common/forms/auto-trim/auto-trim.directive.d.ts +3 -0
  13. package/common/material-icons.css +31 -18
  14. package/common/material-icons.css.map +1 -1
  15. package/common/package.json +6 -7
  16. package/common/pipes/bytes/bytes.pipe.d.ts +3 -0
  17. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +3 -0
  18. package/common/pipes/digits/digits.pipe.d.ts +3 -0
  19. package/common/pipes/time-ago/time-ago.pipe.d.ts +3 -0
  20. package/common/pipes/time-difference/time-difference.pipe.d.ts +3 -0
  21. package/common/pipes/time-until/time-until.pipe.d.ts +3 -0
  22. package/common/pipes/truncate/truncate.pipe.d.ts +3 -0
  23. package/common/platform.css +11828 -10433
  24. package/common/platform.css.map +1 -1
  25. package/common/services/icon.service.d.ts +3 -0
  26. package/common/services/router-path.service.d.ts +3 -0
  27. package/common/styles/_layout.scss +12 -10
  28. package/common/styles/_palette-dark.scss +2 -2
  29. package/common/styles/_palette-light.scss +6 -6
  30. package/common/styles/_rtl.scss +3 -0
  31. package/common/styles/_variables.scss +5 -5
  32. package/common/styles/colors/_colors-dark.scss +327 -0
  33. package/common/styles/colors/_colors-light.scss +748 -0
  34. package/common/styles/core/_button.scss +2 -1
  35. package/common/styles/core/_card.scss +27 -7
  36. package/common/styles/core/_content.scss +2 -1
  37. package/common/styles/core/_divider.scss +1 -0
  38. package/common/styles/core/_icons.scss +2 -0
  39. package/common/styles/core/_sidenav.scss +2 -0
  40. package/common/styles/core/_structure.scss +6 -7
  41. package/common/styles/core/_toolbar.scss +7 -0
  42. package/common/styles/core/_whiteframe.scss +2 -2
  43. package/common/styles/font/_font.scss +10 -4
  44. package/common/styles/utilities/_general.scss +14 -0
  45. package/common/styles/utilities/_text.scss +21 -0
  46. package/covalent-core.d.ts +1 -0
  47. package/dialogs/_dialog-theme.scss +1 -0
  48. package/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -0
  49. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -0
  50. package/dialogs/covalent-core-dialogs.d.ts +1 -1
  51. package/dialogs/dialog.component.d.ts +9 -0
  52. package/dialogs/dialog.component.scss +5 -0
  53. package/dialogs/dialogs.module.d.ts +17 -0
  54. package/dialogs/package.json +6 -7
  55. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +3 -0
  56. package/dialogs/prompt-dialog/prompt-dialog.component.scss +1 -0
  57. package/dialogs/public-api.d.ts +1 -0
  58. package/dialogs/services/dialog.service.d.ts +3 -0
  59. package/dialogs/window-dialog/window-dialog.component.d.ts +3 -0
  60. package/dynamic-menu/covalent-core-dynamic-menu.d.ts +1 -1
  61. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +3 -0
  62. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +1 -0
  63. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +3 -0
  64. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.scss +3 -1
  65. package/dynamic-menu/dynamic-menu.component.d.ts +3 -0
  66. package/dynamic-menu/dynamic-menu.module.d.ts +13 -0
  67. package/dynamic-menu/package.json +6 -7
  68. package/dynamic-menu/public_api.d.ts +1 -0
  69. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +108 -0
  70. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +139 -0
  71. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +21 -0
  72. package/esm2020/breadcrumbs/covalent-core-breadcrumbs.mjs +5 -0
  73. package/esm2020/breadcrumbs/index.mjs +2 -0
  74. package/esm2020/breadcrumbs/public-api.mjs +4 -0
  75. package/esm2020/common/animations/bounce/bounce.animation.mjs +70 -0
  76. package/esm2020/common/animations/collapse/collapse.animation.mjs +51 -0
  77. package/esm2020/common/animations/common/interfaces.mjs +2 -0
  78. package/esm2020/common/animations/fade/fadeInOut.animation.mjs +37 -0
  79. package/esm2020/common/animations/flash/flash.animation.mjs +34 -0
  80. package/esm2020/common/animations/headshake/headshake.animation.mjs +35 -0
  81. package/esm2020/common/animations/jello/jello.animation.mjs +38 -0
  82. package/esm2020/common/animations/pulse/pulse.animation.mjs +32 -0
  83. package/esm2020/common/animations/rotate/rotate.animation.mjs +25 -0
  84. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +39 -0
  85. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  86. package/esm2020/common/behaviors/disabled.mixin.mjs +24 -0
  87. package/esm2020/common/common.module.mjs +64 -0
  88. package/esm2020/common/covalent-core-common.mjs +5 -0
  89. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  90. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  91. package/esm2020/common/forms/validators/validators.mjs +29 -0
  92. package/{esm2015/common/functions/clipboard.js → esm2020/common/functions/clipboard.mjs} +3 -10
  93. package/esm2020/common/functions/convert.mjs +84 -0
  94. package/esm2020/common/functions/download.mjs +75 -0
  95. package/esm2020/common/functions/file.mjs +16 -0
  96. package/esm2020/common/index.mjs +2 -0
  97. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +32 -0
  98. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +32 -0
  99. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  100. package/esm2020/common/pipes/time-ago/time-ago.pipe.mjs +72 -0
  101. package/esm2020/common/pipes/time-difference/time-difference.pipe.mjs +51 -0
  102. package/esm2020/common/pipes/time-until/time-until.pipe.mjs +72 -0
  103. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  104. package/esm2020/common/public-api.mjs +39 -0
  105. package/esm2020/common/services/icon.service.mjs +1089 -0
  106. package/esm2020/common/services/router-path.service.mjs +29 -0
  107. package/esm2020/covalent-core.mjs +5 -0
  108. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +54 -0
  109. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +68 -0
  110. package/esm2020/dialogs/covalent-core-dialogs.mjs +5 -0
  111. package/esm2020/dialogs/dialog.component.mjs +97 -0
  112. package/esm2020/dialogs/dialogs.module.mjs +86 -0
  113. package/esm2020/dialogs/index.mjs +2 -0
  114. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +104 -0
  115. package/esm2020/dialogs/public-api.mjs +9 -0
  116. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +199 -0
  117. package/esm2020/dialogs/services/dialog.service.mjs +168 -0
  118. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +69 -0
  119. package/esm2020/dynamic-menu/covalent-core-dynamic-menu.mjs +5 -0
  120. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +147 -0
  121. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +113 -0
  122. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +111 -0
  123. package/esm2020/dynamic-menu/dynamic-menu.module.mjs +32 -0
  124. package/esm2020/dynamic-menu/index.mjs +2 -0
  125. package/esm2020/dynamic-menu/public_api.mjs +5 -0
  126. package/esm2020/file/covalent-core-file.mjs +5 -0
  127. package/esm2020/file/directives/file-drop.directive.mjs +148 -0
  128. package/esm2020/file/directives/file-select.directive.mjs +76 -0
  129. package/esm2020/file/file-input/file-input.component.mjs +137 -0
  130. package/esm2020/file/file-upload/file-upload.component.mjs +210 -0
  131. package/esm2020/file/file.module.mjs +43 -0
  132. package/esm2020/file/index.mjs +2 -0
  133. package/esm2020/file/public-api.mjs +7 -0
  134. package/esm2020/file/services/file.service.mjs +62 -0
  135. package/esm2020/index.mjs +2 -0
  136. package/esm2020/json-formatter/covalent-core-json-formatter.mjs +5 -0
  137. package/esm2020/json-formatter/index.mjs +2 -0
  138. package/esm2020/json-formatter/json-formatter.component.mjs +302 -0
  139. package/esm2020/json-formatter/json-formatter.module.mjs +21 -0
  140. package/esm2020/json-formatter/public-api.mjs +3 -0
  141. package/esm2020/layout/covalent-core-layout.mjs +5 -0
  142. package/esm2020/layout/index.mjs +2 -0
  143. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +87 -0
  144. package/esm2020/layout/layout-footer/layout-footer.component.mjs +38 -0
  145. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +122 -0
  146. package/esm2020/layout/layout-manage-list/layout-manage-list.directives.mjs +90 -0
  147. package/esm2020/layout/layout-nav/layout-nav.component.mjs +112 -0
  148. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +215 -0
  149. package/esm2020/layout/layout-nav-list/layout-nav-list.directives.mjs +90 -0
  150. package/esm2020/layout/layout-toggle.class.mjs +95 -0
  151. package/esm2020/layout/layout.component.mjs +113 -0
  152. package/esm2020/layout/layout.directives.mjs +87 -0
  153. package/esm2020/layout/layout.module.mjs +118 -0
  154. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +306 -0
  155. package/esm2020/layout/public-api.mjs +13 -0
  156. package/esm2020/menu/covalent-core-menu.mjs +5 -0
  157. package/esm2020/menu/index.mjs +2 -0
  158. package/esm2020/menu/menu.component.mjs +23 -0
  159. package/esm2020/menu/menu.module.mjs +22 -0
  160. package/esm2020/menu/public-api.mjs +3 -0
  161. package/esm2020/message/covalent-core-message.mjs +5 -0
  162. package/esm2020/message/index.mjs +2 -0
  163. package/esm2020/message/message.component.mjs +261 -0
  164. package/esm2020/message/message.module.mjs +21 -0
  165. package/esm2020/message/public-api.mjs +3 -0
  166. package/esm2020/search/covalent-core-search.mjs +5 -0
  167. package/esm2020/search/index.mjs +2 -0
  168. package/esm2020/search/public-api.mjs +4 -0
  169. package/esm2020/search/search-box/search-box.component.mjs +220 -0
  170. package/esm2020/search/search-input/search-input.component.mjs +240 -0
  171. package/esm2020/search/search.module.mjs +24 -0
  172. package/esm2020/side-sheet/covalent-core-side-sheet.mjs +5 -0
  173. package/esm2020/side-sheet/index.mjs +2 -0
  174. package/esm2020/side-sheet/public-api.mjs +6 -0
  175. package/esm2020/side-sheet/side-sheet-container.mjs +242 -0
  176. package/esm2020/side-sheet/side-sheet-ref.mjs +21 -0
  177. package/esm2020/side-sheet/side-sheet.animation.mjs +12 -0
  178. package/esm2020/side-sheet/side-sheet.config.mjs +4 -0
  179. package/esm2020/side-sheet/side-sheet.content-directives.mjs +178 -0
  180. package/esm2020/side-sheet/side-sheet.mjs +208 -0
  181. package/esm2020/side-sheet/side-sheet.module.mjs +46 -0
  182. package/esm2020/user-profile/covalent-core-user-profile.mjs +5 -0
  183. package/esm2020/user-profile/index.mjs +2 -0
  184. package/esm2020/user-profile/public_api.mjs +4 -0
  185. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +75 -0
  186. package/esm2020/user-profile/user-profile.component.mjs +41 -0
  187. package/esm2020/user-profile/user-profile.module.mjs +26 -0
  188. package/fesm2015/covalent-core-breadcrumbs.mjs +287 -0
  189. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -0
  190. package/fesm2015/covalent-core-common.mjs +2251 -0
  191. package/fesm2015/covalent-core-common.mjs.map +1 -0
  192. package/fesm2015/covalent-core-dialogs.mjs +872 -0
  193. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  194. package/fesm2015/covalent-core-dynamic-menu.mjs +480 -0
  195. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  196. package/fesm2015/covalent-core-file.mjs +698 -0
  197. package/fesm2015/covalent-core-file.mjs.map +1 -0
  198. package/fesm2015/covalent-core-json-formatter.mjs +353 -0
  199. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  200. package/fesm2015/covalent-core-layout.mjs +1577 -0
  201. package/fesm2015/covalent-core-layout.mjs.map +1 -0
  202. package/fesm2015/covalent-core-menu.mjs +55 -0
  203. package/fesm2015/covalent-core-menu.mjs.map +1 -0
  204. package/fesm2015/covalent-core-message.mjs +309 -0
  205. package/fesm2015/covalent-core-message.mjs.map +1 -0
  206. package/fesm2015/covalent-core-search.mjs +508 -0
  207. package/fesm2015/covalent-core-search.mjs.map +1 -0
  208. package/fesm2015/covalent-core-side-sheet.mjs +733 -0
  209. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  210. package/fesm2015/covalent-core-user-profile.mjs +162 -0
  211. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  212. package/fesm2015/covalent-core.mjs +4 -0
  213. package/fesm2015/covalent-core.mjs.map +1 -0
  214. package/fesm2020/covalent-core-breadcrumbs.mjs +268 -0
  215. package/{fesm2015/covalent-core-breadcrumbs.js.map → fesm2020/covalent-core-breadcrumbs.mjs.map} +1 -1
  216. package/{fesm2015/covalent-core-common.js → fesm2020/covalent-core-common.mjs} +213 -768
  217. package/fesm2020/covalent-core-common.mjs.map +1 -0
  218. package/fesm2020/covalent-core-dialogs.mjs +812 -0
  219. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  220. package/fesm2020/covalent-core-dynamic-menu.mjs +393 -0
  221. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -0
  222. package/fesm2020/covalent-core-file.mjs +651 -0
  223. package/fesm2020/covalent-core-file.mjs.map +1 -0
  224. package/fesm2020/covalent-core-json-formatter.mjs +326 -0
  225. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -0
  226. package/fesm2020/covalent-core-layout.mjs +1414 -0
  227. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  228. package/fesm2020/covalent-core-menu.mjs +49 -0
  229. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  230. package/fesm2020/covalent-core-message.mjs +286 -0
  231. package/fesm2020/covalent-core-message.mjs.map +1 -0
  232. package/fesm2020/covalent-core-search.mjs +473 -0
  233. package/fesm2020/covalent-core-search.mjs.map +1 -0
  234. package/{fesm2015/covalent-core-side-sheet.js → fesm2020/covalent-core-side-sheet.mjs} +202 -646
  235. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -0
  236. package/fesm2020/covalent-core-user-profile.mjs +141 -0
  237. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  238. package/fesm2020/covalent-core.mjs +4 -0
  239. package/fesm2020/covalent-core.mjs.map +1 -0
  240. package/file/_file-theme.scss +1 -0
  241. package/file/covalent-core-file.d.ts +1 -0
  242. package/file/directives/file-drop.directive.d.ts +3 -0
  243. package/file/directives/file-select.directive.d.ts +3 -0
  244. package/file/file-input/file-input.component.d.ts +5 -0
  245. package/file/file-input/file-input.component.scss +2 -0
  246. package/file/file-upload/file-upload.component.d.ts +3 -0
  247. package/file/file-upload/file-upload.component.scss +4 -0
  248. package/file/file.module.d.ts +13 -0
  249. package/file/package.json +6 -7
  250. package/file/services/file.service.d.ts +3 -0
  251. package/json-formatter/_json-formatter-theme.scss +10 -0
  252. package/json-formatter/covalent-core-json-formatter.d.ts +1 -0
  253. package/json-formatter/json-formatter.component.d.ts +3 -0
  254. package/json-formatter/json-formatter.component.scss +13 -0
  255. package/json-formatter/json-formatter.module.d.ts +8 -0
  256. package/json-formatter/package.json +6 -7
  257. package/layout/_layout-theme.scss +12 -0
  258. package/layout/covalent-core-layout.d.ts +1 -0
  259. package/layout/layout-card-over/layout-card-over.component.d.ts +3 -0
  260. package/layout/layout-card-over/layout-card-over.component.scss +3 -0
  261. package/layout/layout-footer/layout-footer.component.d.ts +3 -0
  262. package/layout/layout-manage-list/layout-manage-list.component.d.ts +3 -0
  263. package/layout/layout-manage-list/layout-manage-list.component.scss +9 -5
  264. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +7 -0
  265. package/layout/layout-nav/layout-nav.component.d.ts +3 -0
  266. package/layout/layout-nav/layout-nav.component.scss +4 -0
  267. package/layout/layout-nav-list/layout-nav-list.component.d.ts +3 -0
  268. package/layout/layout-nav-list/layout-nav-list.component.scss +9 -4
  269. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +7 -0
  270. package/layout/layout-toggle.class.d.ts +3 -0
  271. package/layout/layout.component.d.ts +3 -0
  272. package/layout/layout.component.scss +0 -4
  273. package/layout/layout.directives.d.ts +7 -0
  274. package/layout/layout.module.d.ts +23 -0
  275. package/layout/navigation-drawer/navigation-drawer.component.d.ts +7 -0
  276. package/layout/navigation-drawer/navigation-drawer.component.scss +8 -0
  277. package/layout/package.json +6 -7
  278. package/menu/covalent-core-menu.d.ts +1 -0
  279. package/menu/menu.component.d.ts +3 -0
  280. package/menu/menu.component.scss +9 -1
  281. package/menu/menu.module.d.ts +8 -0
  282. package/menu/package.json +6 -7
  283. package/message/_message-theme.scss +3 -0
  284. package/message/covalent-core-message.d.ts +1 -0
  285. package/message/message.component.d.ts +5 -0
  286. package/message/message.component.scss +3 -0
  287. package/message/message.module.d.ts +7 -0
  288. package/message/package.json +6 -7
  289. package/package.json +126 -15
  290. package/search/covalent-core-search.d.ts +1 -0
  291. package/search/package.json +6 -7
  292. package/search/search-box/search-box.component.d.ts +3 -0
  293. package/search/search-box/search-box.component.scss +5 -0
  294. package/search/search-input/search-input.component.d.ts +3 -0
  295. package/search/search-input/search-input.component.scss +12 -0
  296. package/search/search.module.d.ts +11 -0
  297. package/side-sheet/covalent-core-side-sheet.d.ts +1 -2
  298. package/side-sheet/package.json +6 -7
  299. package/side-sheet/side-sheet-container.d.ts +5 -0
  300. package/side-sheet/side-sheet.content-directives.d.ts +11 -0
  301. package/side-sheet/side-sheet.d.ts +5 -0
  302. package/side-sheet/side-sheet.module.d.ts +9 -0
  303. package/side-sheet/side-sheet.scss +1 -2
  304. package/theming/prebuilt/blue-grey-deep-orange.css +1714 -1333
  305. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  306. package/theming/prebuilt/blue-grey-deep-orange.scss +15 -8
  307. package/theming/prebuilt/blue-orange.css +1714 -1333
  308. package/theming/prebuilt/blue-orange.css.map +1 -1
  309. package/theming/prebuilt/blue-orange.scss +15 -8
  310. package/theming/prebuilt/indigo-pink.css +1714 -1333
  311. package/theming/prebuilt/indigo-pink.css.map +1 -1
  312. package/theming/prebuilt/indigo-pink.scss +15 -8
  313. package/theming/prebuilt/orange-light-blue.css +1714 -1333
  314. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  315. package/theming/prebuilt/orange-light-blue.scss +15 -8
  316. package/theming/prebuilt/teal-orange.css +1714 -1333
  317. package/theming/prebuilt/teal-orange.css.map +1 -1
  318. package/theming/prebuilt/teal-orange.scss +15 -8
  319. package/user-profile/covalent-core-user-profile.d.ts +1 -0
  320. package/user-profile/package.json +6 -7
  321. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +3 -0
  322. package/user-profile/user-profile-menu/user-profile-menu.component.scss +3 -0
  323. package/user-profile/user-profile.component.d.ts +3 -0
  324. package/user-profile/user-profile.module.d.ts +12 -0
  325. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +0 -1
  326. package/bundles/covalent-core-breadcrumbs.umd.js +0 -490
  327. package/bundles/covalent-core-breadcrumbs.umd.js.map +0 -1
  328. package/bundles/covalent-core-breadcrumbs.umd.min.js +0 -2
  329. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +0 -1
  330. package/bundles/covalent-core-common.umd.js +0 -3188
  331. package/bundles/covalent-core-common.umd.js.map +0 -1
  332. package/bundles/covalent-core-common.umd.min.js +0 -17
  333. package/bundles/covalent-core-common.umd.min.js.map +0 -1
  334. package/bundles/covalent-core-dialogs.umd.js +0 -1318
  335. package/bundles/covalent-core-dialogs.umd.js.map +0 -1
  336. package/bundles/covalent-core-dialogs.umd.min.js +0 -2
  337. package/bundles/covalent-core-dialogs.umd.min.js.map +0 -1
  338. package/bundles/covalent-core-dynamic-menu.umd.js +0 -215
  339. package/bundles/covalent-core-dynamic-menu.umd.js.map +0 -1
  340. package/bundles/covalent-core-dynamic-menu.umd.min.js +0 -2
  341. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +0 -1
  342. package/bundles/covalent-core-file.umd.js +0 -1211
  343. package/bundles/covalent-core-file.umd.js.map +0 -1
  344. package/bundles/covalent-core-file.umd.min.js +0 -17
  345. package/bundles/covalent-core-file.umd.min.js.map +0 -1
  346. package/bundles/covalent-core-json-formatter.umd.js +0 -408
  347. package/bundles/covalent-core-json-formatter.umd.js.map +0 -1
  348. package/bundles/covalent-core-json-formatter.umd.min.js +0 -2
  349. package/bundles/covalent-core-json-formatter.umd.min.js.map +0 -1
  350. package/bundles/covalent-core-layout.umd.js +0 -2084
  351. package/bundles/covalent-core-layout.umd.js.map +0 -1
  352. package/bundles/covalent-core-layout.umd.min.js +0 -17
  353. package/bundles/covalent-core-layout.umd.min.js.map +0 -1
  354. package/bundles/covalent-core-menu.umd.js +0 -69
  355. package/bundles/covalent-core-menu.umd.js.map +0 -1
  356. package/bundles/covalent-core-menu.umd.min.js +0 -2
  357. package/bundles/covalent-core-menu.umd.min.js.map +0 -1
  358. package/bundles/covalent-core-message.umd.js +0 -375
  359. package/bundles/covalent-core-message.umd.js.map +0 -1
  360. package/bundles/covalent-core-message.umd.min.js +0 -2
  361. package/bundles/covalent-core-message.umd.min.js.map +0 -1
  362. package/bundles/covalent-core-search.umd.js +0 -877
  363. package/bundles/covalent-core-search.umd.js.map +0 -1
  364. package/bundles/covalent-core-search.umd.min.js +0 -16
  365. package/bundles/covalent-core-search.umd.min.js.map +0 -1
  366. package/bundles/covalent-core-side-sheet.umd.js +0 -1458
  367. package/bundles/covalent-core-side-sheet.umd.js.map +0 -1
  368. package/bundles/covalent-core-side-sheet.umd.min.js +0 -16
  369. package/bundles/covalent-core-side-sheet.umd.min.js.map +0 -1
  370. package/bundles/covalent-core-user-profile.umd.js +0 -116
  371. package/bundles/covalent-core-user-profile.umd.js.map +0 -1
  372. package/bundles/covalent-core-user-profile.umd.min.js +0 -2
  373. package/bundles/covalent-core-user-profile.umd.min.js.map +0 -1
  374. package/bundles/covalent-core.umd.js +0 -9
  375. package/bundles/covalent-core.umd.js.map +0 -1
  376. package/bundles/covalent-core.umd.min.js +0 -2
  377. package/bundles/covalent-core.umd.min.js.map +0 -1
  378. package/common/covalent-core-common.metadata.json +0 -1
  379. package/covalent-core.metadata.json +0 -1
  380. package/dialogs/covalent-core-dialogs.metadata.json +0 -1
  381. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +0 -1
  382. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -171
  383. package/esm2015/breadcrumbs/breadcrumbs.component.js +0 -241
  384. package/esm2015/breadcrumbs/breadcrumbs.module.js +0 -20
  385. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +0 -10
  386. package/esm2015/breadcrumbs/index.js +0 -7
  387. package/esm2015/breadcrumbs/public-api.js +0 -9
  388. package/esm2015/common/animations/bounce/bounce.animation.js +0 -76
  389. package/esm2015/common/animations/collapse/collapse.animation.js +0 -67
  390. package/esm2015/common/animations/common/interfaces.js +0 -18
  391. package/esm2015/common/animations/fade/fadeInOut.animation.js +0 -53
  392. package/esm2015/common/animations/flash/flash.animation.js +0 -40
  393. package/esm2015/common/animations/headshake/headshake.animation.js +0 -41
  394. package/esm2015/common/animations/jello/jello.animation.js +0 -44
  395. package/esm2015/common/animations/pulse/pulse.animation.js +0 -38
  396. package/esm2015/common/animations/rotate/rotate.animation.js +0 -41
  397. package/esm2015/common/behaviors/control-value-accesor.mixin.js +0 -107
  398. package/esm2015/common/behaviors/disable-ripple.mixin.js +0 -63
  399. package/esm2015/common/behaviors/disabled.mixin.js +0 -63
  400. package/esm2015/common/common.module.js +0 -54
  401. package/esm2015/common/covalent-core-common.js +0 -12
  402. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +0 -180
  403. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +0 -46
  404. package/esm2015/common/forms/validators/validators.js +0 -58
  405. package/esm2015/common/functions/convert.js +0 -103
  406. package/esm2015/common/functions/download.js +0 -88
  407. package/esm2015/common/functions/file.js +0 -29
  408. package/esm2015/common/index.js +0 -7
  409. package/esm2015/common/pipes/bytes/bytes.pipe.js +0 -41
  410. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -41
  411. package/esm2015/common/pipes/digits/digits.pipe.js +0 -65
  412. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +0 -81
  413. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +0 -66
  414. package/esm2015/common/pipes/time-until/time-until.pipe.js +0 -81
  415. package/esm2015/common/pipes/truncate/truncate.pipe.js +0 -34
  416. package/esm2015/common/public-api.js +0 -44
  417. package/esm2015/common/services/icon.service.js +0 -1109
  418. package/esm2015/common/services/router-path.service.js +0 -60
  419. package/esm2015/covalent-core.js +0 -10
  420. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +0 -47
  421. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +0 -59
  422. package/esm2015/dialogs/covalent-core-dialogs.js +0 -11
  423. package/esm2015/dialogs/dialog.component.js +0 -58
  424. package/esm2015/dialogs/dialogs.module.js +0 -57
  425. package/esm2015/dialogs/index.js +0 -7
  426. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +0 -83
  427. package/esm2015/dialogs/public-api.js +0 -13
  428. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -325
  429. package/esm2015/dialogs/services/dialog.service.js +0 -316
  430. package/esm2015/dialogs/window-dialog/window-dialog.component.js +0 -56
  431. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +0 -11
  432. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -40
  433. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -35
  434. package/esm2015/dynamic-menu/dynamic-menu.component.js +0 -89
  435. package/esm2015/dynamic-menu/dynamic-menu.module.js +0 -26
  436. package/esm2015/dynamic-menu/index.js +0 -7
  437. package/esm2015/dynamic-menu/public_api.js +0 -9
  438. package/esm2015/file/covalent-core-file.js +0 -10
  439. package/esm2015/file/directives/file-drop.directive.js +0 -191
  440. package/esm2015/file/directives/file-select.directive.js +0 -98
  441. package/esm2015/file/file-input/file-input.component.js +0 -186
  442. package/esm2015/file/file-upload/file-upload.component.js +0 -237
  443. package/esm2015/file/file.module.js +0 -35
  444. package/esm2015/file/index.js +0 -7
  445. package/esm2015/file/public-api.js +0 -12
  446. package/esm2015/file/services/file.service.js +0 -109
  447. package/esm2015/index.js +0 -7
  448. package/esm2015/json-formatter/covalent-core-json-formatter.js +0 -10
  449. package/esm2015/json-formatter/index.js +0 -7
  450. package/esm2015/json-formatter/json-formatter.component.js +0 -338
  451. package/esm2015/json-formatter/json-formatter.module.js +0 -20
  452. package/esm2015/json-formatter/public-api.js +0 -8
  453. package/esm2015/layout/covalent-core-layout.js +0 -10
  454. package/esm2015/layout/index.js +0 -7
  455. package/esm2015/layout/layout-card-over/layout-card-over.component.js +0 -71
  456. package/esm2015/layout/layout-footer/layout-footer.component.js +0 -71
  457. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +0 -145
  458. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +0 -132
  459. package/esm2015/layout/layout-nav/layout-nav.component.js +0 -100
  460. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +0 -220
  461. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +0 -132
  462. package/esm2015/layout/layout-toggle.class.js +0 -188
  463. package/esm2015/layout/layout.component.js +0 -145
  464. package/esm2015/layout/layout.directives.js +0 -129
  465. package/esm2015/layout/layout.module.js +0 -64
  466. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +0 -280
  467. package/esm2015/layout/public-api.js +0 -18
  468. package/esm2015/menu/covalent-core-menu.js +0 -10
  469. package/esm2015/menu/index.js +0 -7
  470. package/esm2015/menu/menu.component.js +0 -16
  471. package/esm2015/menu/menu.module.js +0 -22
  472. package/esm2015/menu/public-api.js +0 -8
  473. package/esm2015/message/covalent-core-message.js +0 -10
  474. package/esm2015/message/index.js +0 -7
  475. package/esm2015/message/message.component.js +0 -307
  476. package/esm2015/message/message.module.js +0 -21
  477. package/esm2015/message/public-api.js +0 -8
  478. package/esm2015/search/covalent-core-search.js +0 -10
  479. package/esm2015/search/index.js +0 -7
  480. package/esm2015/search/public-api.js +0 -9
  481. package/esm2015/search/search-box/search-box.component.js +0 -270
  482. package/esm2015/search/search-input/search-input.component.js +0 -260
  483. package/esm2015/search/search.module.js +0 -23
  484. package/esm2015/side-sheet/covalent-core-side-sheet.js +0 -12
  485. package/esm2015/side-sheet/index.js +0 -7
  486. package/esm2015/side-sheet/public-api.js +0 -11
  487. package/esm2015/side-sheet/side-sheet-container.js +0 -402
  488. package/esm2015/side-sheet/side-sheet-ref.js +0 -50
  489. package/esm2015/side-sheet/side-sheet.animation.js +0 -20
  490. package/esm2015/side-sheet/side-sheet.config.js +0 -12
  491. package/esm2015/side-sheet/side-sheet.content-directives.js +0 -255
  492. package/esm2015/side-sheet/side-sheet.js +0 -360
  493. package/esm2015/side-sheet/side-sheet.module.js +0 -36
  494. package/esm2015/user-profile/covalent-core-user-profile.js +0 -10
  495. package/esm2015/user-profile/index.js +0 -7
  496. package/esm2015/user-profile/public_api.js +0 -9
  497. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +0 -35
  498. package/esm2015/user-profile/user-profile.component.js +0 -26
  499. package/esm2015/user-profile/user-profile.module.js +0 -25
  500. package/fesm2015/covalent-core-breadcrumbs.js +0 -448
  501. package/fesm2015/covalent-core-common.js.map +0 -1
  502. package/fesm2015/covalent-core-dialogs.js +0 -1001
  503. package/fesm2015/covalent-core-dialogs.js.map +0 -1
  504. package/fesm2015/covalent-core-dynamic-menu.js +0 -204
  505. package/fesm2015/covalent-core-dynamic-menu.js.map +0 -1
  506. package/fesm2015/covalent-core-file.js +0 -855
  507. package/fesm2015/covalent-core-file.js.map +0 -1
  508. package/fesm2015/covalent-core-json-formatter.js +0 -377
  509. package/fesm2015/covalent-core-json-formatter.js.map +0 -1
  510. package/fesm2015/covalent-core-layout.js +0 -1663
  511. package/fesm2015/covalent-core-layout.js.map +0 -1
  512. package/fesm2015/covalent-core-menu.js +0 -57
  513. package/fesm2015/covalent-core-menu.js.map +0 -1
  514. package/fesm2015/covalent-core-message.js +0 -347
  515. package/fesm2015/covalent-core-message.js.map +0 -1
  516. package/fesm2015/covalent-core-search.js +0 -564
  517. package/fesm2015/covalent-core-search.js.map +0 -1
  518. package/fesm2015/covalent-core-side-sheet.js.map +0 -1
  519. package/fesm2015/covalent-core-user-profile.js +0 -103
  520. package/fesm2015/covalent-core-user-profile.js.map +0 -1
  521. package/fesm2015/covalent-core.js +0 -12
  522. package/fesm2015/covalent-core.js.map +0 -1
  523. package/file/covalent-core-file.metadata.json +0 -1
  524. package/json-formatter/covalent-core-json-formatter.metadata.json +0 -1
  525. package/layout/covalent-core-layout.metadata.json +0 -1
  526. package/menu/covalent-core-menu.metadata.json +0 -1
  527. package/message/covalent-core-message.metadata.json +0 -1
  528. package/schematics/collection.json +0 -11
  529. package/schematics/components.js +0 -111
  530. package/schematics/components.js.map +0 -1
  531. package/schematics/migration.json +0 -10
  532. package/schematics/ng-add/index.js +0 -58
  533. package/schematics/ng-add/index.js.map +0 -1
  534. package/schematics/ng-add/schema.js +0 -3
  535. package/schematics/ng-add/schema.js.map +0 -1
  536. package/schematics/ng-add/schema.json +0 -81
  537. package/schematics/ng-update/index.js +0 -52
  538. package/schematics/ng-update/index.js.map +0 -1
  539. package/schematics/ng-update/target-version.js +0 -8
  540. package/schematics/ng-update/target-version.js.map +0 -1
  541. package/schematics/version-names.js +0 -6
  542. package/schematics/version-names.js.map +0 -1
  543. package/search/covalent-core-search.metadata.json +0 -1
  544. package/side-sheet/covalent-core-side-sheet.metadata.json +0 -1
  545. package/user-profile/covalent-core-user-profile.metadata.json +0 -1
@@ -0,0 +1,2251 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Optional, Host, HostListener, Inject, Pipe, LOCALE_ID, Injectable, NgModule } from '@angular/core';
3
+ import { DOCUMENT, DecimalPipe, CommonModule } from '@angular/common';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, Validators } from '@angular/forms';
6
+ import * as i1$1 from '@angular/router';
7
+ import { RoutesRecognized } from '@angular/router';
8
+ import { filter, pairwise } from 'rxjs/operators';
9
+ import { trigger, state, style, transition, group, query, animateChild, animate, AUTO_STYLE, keyframes } from '@angular/animations';
10
+ import { Subject } from 'rxjs';
11
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
12
+
13
+ class TdAutoTrimDirective {
14
+ constructor(_model) {
15
+ this._model = _model;
16
+ }
17
+ /**
18
+ * Listens to host's (blur) event and trims value.
19
+ */
20
+ onBlur(event) {
21
+ if (this._model && this._model.value && typeof this._model.value === 'string') {
22
+ this._model.update.emit(this._model.value.trim());
23
+ }
24
+ }
25
+ }
26
+ /** @nocollapse */ /** @nocollapse */ TdAutoTrimDirective.ɵfac = function TdAutoTrimDirective_Factory(t) { return new (t || TdAutoTrimDirective)(i0.ɵɵdirectiveInject(i1.NgModel, 9)); };
27
+ /** @nocollapse */ /** @nocollapse */ TdAutoTrimDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TdAutoTrimDirective, selectors: [["", "tdAutoTrim", ""]], hostBindings: function TdAutoTrimDirective_HostBindings(rf, ctx) {
28
+ if (rf & 1) {
29
+ i0.ɵɵlistener("blur", function TdAutoTrimDirective_blur_HostBindingHandler($event) { return ctx.onBlur($event); });
30
+ }
31
+ } });
32
+ (function () {
33
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdAutoTrimDirective, [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: '[tdAutoTrim]',
37
+ }]
38
+ }], function () {
39
+ return [{ type: i1.NgModel, decorators: [{
40
+ type: Optional
41
+ }, {
42
+ type: Host
43
+ }] }];
44
+ }, { onBlur: [{
45
+ type: HostListener,
46
+ args: ['blur', ['$event']]
47
+ }] });
48
+ })();
49
+
50
+ class TdFullscreenDirective {
51
+ constructor(_document, _el) {
52
+ this._document = _document;
53
+ this._el = _el;
54
+ this.fullScreenIsActive = false;
55
+ }
56
+ fsChangeHandler(event) {
57
+ this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();
58
+ }
59
+ toggleFullScreen() {
60
+ this._getFullScreenElement() === this._el.nativeElement ? this.exitFullScreen() : this.enterFullScreen();
61
+ }
62
+ enterFullScreen() {
63
+ const { _el: { nativeElement }, } = this;
64
+ const enterFullScreenMap = {
65
+ requestFullscreen: () => nativeElement.requestFullscreen(),
66
+ webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(),
67
+ mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(),
68
+ msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE
69
+ };
70
+ for (const handler of Object.keys(enterFullScreenMap)) {
71
+ if (nativeElement[handler]) {
72
+ enterFullScreenMap[handler]();
73
+ }
74
+ }
75
+ }
76
+ exitFullScreen() {
77
+ const { _document, _el: { nativeElement }, } = this;
78
+ const exitFullScreenMap = {
79
+ exitFullscreen: () => _document.exitFullscreen(),
80
+ webkitExitFullscreen: () => _document.webkitExitFullscreen(),
81
+ mozCancelFullScreen: () => _document.mozCancelFullScreen(),
82
+ msExitFullscreen: () => _document.msExitFullscreen(), // IE
83
+ };
84
+ for (const handler of Object.keys(exitFullScreenMap)) {
85
+ if (_document[handler] && this._getFullScreenElement() === nativeElement) {
86
+ exitFullScreenMap[handler]();
87
+ }
88
+ }
89
+ }
90
+ _getFullScreenElement() {
91
+ const { _document } = this;
92
+ const tdFullScreenElementMap = {
93
+ fullscreenElement: () => _document.fullscreenElement,
94
+ webkitFullscreenElement: () => _document.webkitFullscreenElement,
95
+ mozFullscreenElement: () => _document.mozFullscreenElement,
96
+ msFullscreenElement: () => _document.msFullscreenElement, // IE, Edge
97
+ };
98
+ for (const props of Object.keys(tdFullScreenElementMap)) {
99
+ if (_document[props]) {
100
+ return _document[props];
101
+ }
102
+ }
103
+ }
104
+ }
105
+ /** @nocollapse */ /** @nocollapse */ TdFullscreenDirective.ɵfac = function TdFullscreenDirective_Factory(t) { return new (t || TdFullscreenDirective)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(i0.ElementRef)); };
106
+ /** @nocollapse */ /** @nocollapse */ TdFullscreenDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TdFullscreenDirective, selectors: [["", "tdFullScreen", ""]], hostBindings: function TdFullscreenDirective_HostBindings(rf, ctx) {
107
+ if (rf & 1) {
108
+ i0.ɵɵlistener("fullscreenchange", function TdFullscreenDirective_fullscreenchange_HostBindingHandler($event) { return ctx.fsChangeHandler($event); }, false, i0.ɵɵresolveDocument)("webkitfullscreenchange", function TdFullscreenDirective_webkitfullscreenchange_HostBindingHandler($event) { return ctx.fsChangeHandler($event); }, false, i0.ɵɵresolveDocument)("mozfullscreenchange", function TdFullscreenDirective_mozfullscreenchange_HostBindingHandler($event) { return ctx.fsChangeHandler($event); }, false, i0.ɵɵresolveDocument)("msfullscreenchange", function TdFullscreenDirective_msfullscreenchange_HostBindingHandler($event) { return ctx.fsChangeHandler($event); }, false, i0.ɵɵresolveDocument);
109
+ }
110
+ }, exportAs: ["tdFullScreen"] });
111
+ (function () {
112
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFullscreenDirective, [{
113
+ type: Directive,
114
+ args: [{
115
+ selector: '[tdFullScreen]',
116
+ exportAs: 'tdFullScreen',
117
+ }]
118
+ }], function () {
119
+ return [{ type: undefined, decorators: [{
120
+ type: Inject,
121
+ args: [DOCUMENT]
122
+ }] }, { type: i0.ElementRef }];
123
+ }, { fsChangeHandler: [{
124
+ type: HostListener,
125
+ args: ['document:fullscreenchange', ['$event']]
126
+ }, {
127
+ type: HostListener,
128
+ args: ['document:webkitfullscreenchange', ['$event']]
129
+ }, {
130
+ type: HostListener,
131
+ args: ['document:mozfullscreenchange', ['$event']]
132
+ }, {
133
+ type: HostListener,
134
+ args: ['document:msfullscreenchange', ['$event']]
135
+ }] });
136
+ })();
137
+
138
+ class TdTimeAgoPipe {
139
+ transform(time, reference) {
140
+ // Convert time to date object if not already
141
+ time = new Date(time);
142
+ const ref = new Date(reference);
143
+ // If not a valid timestamp, return 'Invalid Date'
144
+ if (!time.getTime()) {
145
+ return 'Invalid Date';
146
+ }
147
+ // For unit testing, we need to be able to declare a static start time
148
+ // for calculations, or else speed of tests can bork.
149
+ const startTime = isNaN(ref.getTime()) ? Date.now() : ref.getTime();
150
+ let diff = Math.floor((startTime - time.getTime()) / 1000);
151
+ if (diff < 2) {
152
+ return '1 second ago';
153
+ }
154
+ if (diff < 60) {
155
+ return Math.floor(diff) + ' seconds ago';
156
+ }
157
+ // Minutes
158
+ diff = diff / 60;
159
+ if (diff < 2) {
160
+ return '1 minute ago';
161
+ }
162
+ if (diff < 60) {
163
+ return Math.floor(diff) + ' minutes ago';
164
+ }
165
+ // Hours
166
+ diff = diff / 60;
167
+ if (diff < 2) {
168
+ return '1 hour ago';
169
+ }
170
+ if (diff < 24) {
171
+ return Math.floor(diff) + ' hours ago';
172
+ }
173
+ // Days
174
+ diff = diff / 24;
175
+ if (diff < 2) {
176
+ return '1 day ago';
177
+ }
178
+ if (diff < 30) {
179
+ return Math.floor(diff) + ' days ago';
180
+ }
181
+ // Months
182
+ diff = diff / 30;
183
+ if (diff < 2) {
184
+ return '1 month ago';
185
+ }
186
+ if (diff < 12) {
187
+ return Math.floor(diff) + ' months ago';
188
+ }
189
+ // Years
190
+ diff = diff / 12;
191
+ if (diff < 2) {
192
+ return '1 year ago';
193
+ }
194
+ else {
195
+ return Math.floor(diff) + ' years ago';
196
+ }
197
+ }
198
+ }
199
+ /** @nocollapse */ /** @nocollapse */ TdTimeAgoPipe.ɵfac = function TdTimeAgoPipe_Factory(t) { return new (t || TdTimeAgoPipe)(); };
200
+ /** @nocollapse */ /** @nocollapse */ TdTimeAgoPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "timeAgo", type: TdTimeAgoPipe, pure: true });
201
+ (function () {
202
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdTimeAgoPipe, [{
203
+ type: Pipe,
204
+ args: [{
205
+ name: 'timeAgo',
206
+ }]
207
+ }], null, null);
208
+ })();
209
+
210
+ class TdTimeDifferencePipe {
211
+ transform(start, end) {
212
+ const startTime = new Date(start);
213
+ let endTime;
214
+ if (end !== undefined) {
215
+ endTime = new Date(end);
216
+ }
217
+ else {
218
+ endTime = new Date();
219
+ }
220
+ if (!startTime.getTime() || !endTime.getTime()) {
221
+ return 'Invalid Date';
222
+ }
223
+ let diff = Math.floor((endTime.getTime() - startTime.getTime()) / 1000);
224
+ const days = Math.floor(diff / (60 * 60 * 24));
225
+ diff = diff - days * (60 * 60 * 24);
226
+ const hours = Math.floor(diff / (60 * 60));
227
+ diff = diff - hours * (60 * 60);
228
+ const minutes = Math.floor(diff / 60);
229
+ diff -= minutes * 60;
230
+ const seconds = diff;
231
+ const pad = '00';
232
+ let daysFormatted = '';
233
+ if (days > 0 && days < 2) {
234
+ daysFormatted = ' day - ';
235
+ }
236
+ else if (days > 1) {
237
+ daysFormatted = ' days - ';
238
+ }
239
+ return ((days > 0 ? days + daysFormatted : daysFormatted) +
240
+ pad.substring(0, pad.length - (hours + '').length) +
241
+ hours +
242
+ ':' +
243
+ pad.substring(0, pad.length - (minutes + '').length) +
244
+ minutes +
245
+ ':' +
246
+ pad.substring(0, pad.length - (seconds + '').length) +
247
+ seconds);
248
+ }
249
+ }
250
+ /** @nocollapse */ /** @nocollapse */ TdTimeDifferencePipe.ɵfac = function TdTimeDifferencePipe_Factory(t) { return new (t || TdTimeDifferencePipe)(); };
251
+ /** @nocollapse */ /** @nocollapse */ TdTimeDifferencePipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "timeDifference", type: TdTimeDifferencePipe, pure: true });
252
+ (function () {
253
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdTimeDifferencePipe, [{
254
+ type: Pipe,
255
+ args: [{
256
+ name: 'timeDifference',
257
+ }]
258
+ }], null, null);
259
+ })();
260
+
261
+ class TdTimeUntilPipe {
262
+ transform(time, reference) {
263
+ // Convert time to date object if not already
264
+ time = new Date(time);
265
+ const ref = new Date(reference);
266
+ // If not a valid timestamp, return 'Invalid Date'
267
+ if (!time.getTime()) {
268
+ return 'Invalid Date';
269
+ }
270
+ // For unit testing, we need to be able to declare a static start time
271
+ // for calculations, or else speed of tests can bork.
272
+ const startTime = isNaN(ref.getTime()) ? Date.now() : ref.getTime();
273
+ let diff = Math.floor((time.getTime() - startTime) / 1000);
274
+ if (diff < 2) {
275
+ return 'in 1 second';
276
+ }
277
+ if (diff < 60) {
278
+ return 'in ' + Math.floor(diff) + ' seconds';
279
+ }
280
+ // Minutes
281
+ diff = diff / 60;
282
+ if (diff < 2) {
283
+ return 'in 1 minute';
284
+ }
285
+ if (diff < 60) {
286
+ return 'in ' + Math.floor(diff) + ' minutes';
287
+ }
288
+ // Hours
289
+ diff = diff / 60;
290
+ if (diff < 2) {
291
+ return 'in 1 hour';
292
+ }
293
+ if (diff < 24) {
294
+ return 'in ' + Math.floor(diff) + ' hours';
295
+ }
296
+ // Days
297
+ diff = diff / 24;
298
+ if (diff < 2) {
299
+ return 'in 1 day';
300
+ }
301
+ if (diff < 30) {
302
+ return 'in ' + Math.floor(diff) + ' days';
303
+ }
304
+ // Months
305
+ diff = diff / 30;
306
+ if (diff < 2) {
307
+ return 'in 1 month';
308
+ }
309
+ if (diff < 12) {
310
+ return 'in ' + Math.floor(diff) + ' months';
311
+ }
312
+ // Years
313
+ diff = diff / 12;
314
+ if (diff < 2) {
315
+ return 'in 1 year';
316
+ }
317
+ else {
318
+ return 'in ' + Math.floor(diff) + ' years';
319
+ }
320
+ }
321
+ }
322
+ /** @nocollapse */ /** @nocollapse */ TdTimeUntilPipe.ɵfac = function TdTimeUntilPipe_Factory(t) { return new (t || TdTimeUntilPipe)(); };
323
+ /** @nocollapse */ /** @nocollapse */ TdTimeUntilPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "timeUntil", type: TdTimeUntilPipe, pure: true });
324
+ (function () {
325
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdTimeUntilPipe, [{
326
+ type: Pipe,
327
+ args: [{
328
+ name: 'timeUntil',
329
+ }]
330
+ }], null, null);
331
+ })();
332
+
333
+ class TdBytesPipe {
334
+ /* `bytes` needs to be `any` or TypeScript complains
335
+ Tried both `number` and `number | string` */
336
+ transform(bytes, precision = 2) {
337
+ if (bytes === 0) {
338
+ return '0 B';
339
+ }
340
+ else if (isNaN(parseInt(bytes, 10))) {
341
+ /* If not a valid number, return 'Invalid Number' */
342
+ return 'Invalid Number';
343
+ }
344
+ const k = 1024;
345
+ const sizes = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
346
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
347
+ // if less than 1
348
+ if (i < 0) {
349
+ return 'Invalid Number';
350
+ }
351
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];
352
+ }
353
+ }
354
+ /** @nocollapse */ /** @nocollapse */ TdBytesPipe.ɵfac = function TdBytesPipe_Factory(t) { return new (t || TdBytesPipe)(); };
355
+ /** @nocollapse */ /** @nocollapse */ TdBytesPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "bytes", type: TdBytesPipe, pure: true });
356
+ (function () {
357
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdBytesPipe, [{
358
+ type: Pipe,
359
+ args: [{
360
+ name: 'bytes',
361
+ }]
362
+ }], null, null);
363
+ })();
364
+
365
+ class TdDecimalBytesPipe {
366
+ /* `bytes` needs to be `any` or TypeScript complains
367
+ Tried both `number` and `number | string` */
368
+ transform(bytes, precision = 2) {
369
+ if (bytes === 0) {
370
+ return '0 B';
371
+ }
372
+ else if (isNaN(parseInt(bytes, 10))) {
373
+ /* If not a valid number, return 'Invalid Number' */
374
+ return 'Invalid Number';
375
+ }
376
+ const k = 1000;
377
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
378
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
379
+ // if less than 1
380
+ if (i < 0) {
381
+ return 'Invalid Number';
382
+ }
383
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];
384
+ }
385
+ }
386
+ /** @nocollapse */ /** @nocollapse */ TdDecimalBytesPipe.ɵfac = function TdDecimalBytesPipe_Factory(t) { return new (t || TdDecimalBytesPipe)(); };
387
+ /** @nocollapse */ /** @nocollapse */ TdDecimalBytesPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "decimalBytes", type: TdDecimalBytesPipe, pure: true });
388
+ (function () {
389
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDecimalBytesPipe, [{
390
+ type: Pipe,
391
+ args: [{
392
+ name: 'decimalBytes',
393
+ }]
394
+ }], null, null);
395
+ })();
396
+
397
+ class TdDigitsPipe {
398
+ constructor(_locale = 'en') {
399
+ this._locale = _locale;
400
+ this._decimalPipe = new DecimalPipe(this._locale);
401
+ }
402
+ /* `digits` needs to be type `digits: any` or TypeScript complains */
403
+ transform(digits, precision = 1) {
404
+ if (digits === 0) {
405
+ return '0';
406
+ }
407
+ else if (isNaN(parseInt(digits, 10))) {
408
+ /* If not a valid number, return the value */
409
+ return digits;
410
+ }
411
+ else if (digits < 1) {
412
+ return this._decimalPipe.transform(digits.toFixed(precision));
413
+ }
414
+ const k = 1000;
415
+ const sizes = ['', 'K', 'M', 'B', 'T', 'Q'];
416
+ const i = Math.floor(Math.log(digits) / Math.log(k));
417
+ const size = sizes[i];
418
+ return (this._decimalPipe.transform(parseFloat((digits / Math.pow(k, i)).toFixed(precision))) + (size ? ' ' + size : ''));
419
+ }
420
+ }
421
+ /** @nocollapse */ /** @nocollapse */ TdDigitsPipe.ɵfac = function TdDigitsPipe_Factory(t) { return new (t || TdDigitsPipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16)); };
422
+ /** @nocollapse */ /** @nocollapse */ TdDigitsPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "digits", type: TdDigitsPipe, pure: true });
423
+ (function () {
424
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDigitsPipe, [{
425
+ type: Pipe,
426
+ args: [{
427
+ name: 'digits',
428
+ }]
429
+ }], function () {
430
+ return [{ type: undefined, decorators: [{
431
+ type: Inject,
432
+ args: [LOCALE_ID]
433
+ }] }];
434
+ }, null);
435
+ })();
436
+
437
+ class TdTruncatePipe {
438
+ transform(text, length) {
439
+ if (typeof text !== 'string') {
440
+ return '';
441
+ }
442
+ // Truncate
443
+ let truncated = text.substr(0, length);
444
+ if (text.length > length) {
445
+ if (truncated.lastIndexOf(' ') > 0) {
446
+ truncated = truncated.trim();
447
+ }
448
+ truncated += '…';
449
+ }
450
+ return truncated;
451
+ }
452
+ }
453
+ /** @nocollapse */ /** @nocollapse */ TdTruncatePipe.ɵfac = function TdTruncatePipe_Factory(t) { return new (t || TdTruncatePipe)(); };
454
+ /** @nocollapse */ /** @nocollapse */ TdTruncatePipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "truncate", type: TdTruncatePipe, pure: true });
455
+ (function () {
456
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdTruncatePipe, [{
457
+ type: Pipe,
458
+ args: [{
459
+ name: 'truncate',
460
+ }]
461
+ }], null, null);
462
+ })();
463
+
464
+ class RouterPathService {
465
+ constructor(_router) {
466
+ this._router = _router;
467
+ this._router.events
468
+ .pipe(filter((e) => e instanceof RoutesRecognized), pairwise())
469
+ .subscribe((e) => {
470
+ RouterPathService._previousRoute = e[0].urlAfterRedirects;
471
+ });
472
+ }
473
+ /*
474
+ * Utility function to get the route the user previously went to
475
+ * good for use in a "back button"
476
+ */
477
+ getPreviousRoute() {
478
+ return RouterPathService._previousRoute;
479
+ }
480
+ }
481
+ RouterPathService._previousRoute = '/';
482
+ /** @nocollapse */ /** @nocollapse */ RouterPathService.ɵfac = function RouterPathService_Factory(t) { return new (t || RouterPathService)(i0.ɵɵinject(i1$1.Router)); };
483
+ /** @nocollapse */ /** @nocollapse */ RouterPathService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: RouterPathService, factory: RouterPathService.ɵfac });
484
+ (function () {
485
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouterPathService, [{
486
+ type: Injectable
487
+ }], function () { return [{ type: i1$1.Router }]; }, null);
488
+ })();
489
+
490
+ /*
491
+ * Copyright (C) 2016-2017 by Teradata Corporation. All rights reserved.
492
+ * TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
493
+ */
494
+ class IconService {
495
+ constructor() {
496
+ // To update, run this little script on https://material.io/resources/icons/?style=baseline
497
+ // JSON.stringify(
498
+ // Array.from(document.querySelectorAll('icons-library .material-icons.icon-image-preview')).map(
499
+ // ({textContent}) => textContent
500
+ // )
501
+ // );
502
+ this._icons = [
503
+ '3d_rotation',
504
+ 'accessibility',
505
+ 'accessibility_new',
506
+ 'accessible',
507
+ 'accessible_forward',
508
+ 'account_balance',
509
+ 'account_balance_wallet',
510
+ 'account_box',
511
+ 'account_circle',
512
+ 'add_shopping_cart',
513
+ 'alarm',
514
+ 'alarm_add',
515
+ 'alarm_off',
516
+ 'alarm_on',
517
+ 'all_inbox',
518
+ 'all_out',
519
+ 'android',
520
+ 'announcement',
521
+ 'arrow_right_alt',
522
+ 'aspect_ratio',
523
+ 'assessment',
524
+ 'assignment',
525
+ 'assignment_ind',
526
+ 'assignment_late',
527
+ 'assignment_return',
528
+ 'assignment_returned',
529
+ 'assignment_turned_in',
530
+ 'autorenew',
531
+ 'backup',
532
+ 'book',
533
+ 'bookmark',
534
+ 'bookmark_border',
535
+ 'bookmarks',
536
+ 'bug_report',
537
+ 'build',
538
+ 'cached',
539
+ 'calendar_today',
540
+ 'calendar_view_day',
541
+ 'camera_enhance',
542
+ 'cancel_schedule_send',
543
+ 'card_giftcard',
544
+ 'card_membership',
545
+ 'card_travel',
546
+ 'change_history',
547
+ 'check_circle',
548
+ 'check_circle_outline',
549
+ 'chrome_reader_mode',
550
+ 'class',
551
+ 'code',
552
+ 'commute',
553
+ 'compare_arrows',
554
+ 'contact_support',
555
+ 'contactless',
556
+ 'copyright',
557
+ 'credit_card',
558
+ 'dashboard',
559
+ 'date_range',
560
+ 'delete',
561
+ 'delete_forever',
562
+ 'delete_outline',
563
+ 'description',
564
+ 'dns',
565
+ 'done',
566
+ 'done_all',
567
+ 'done_outline',
568
+ 'donut_large',
569
+ 'donut_small',
570
+ 'drag_indicator',
571
+ 'eco',
572
+ 'eject',
573
+ 'euro_symbol',
574
+ 'event',
575
+ 'event_seat',
576
+ 'exit_to_app',
577
+ 'explore',
578
+ 'explore_off',
579
+ 'extension',
580
+ 'face',
581
+ 'favorite',
582
+ 'favorite_border',
583
+ 'feedback',
584
+ 'find_in_page',
585
+ 'find_replace',
586
+ 'fingerprint',
587
+ 'flight_land',
588
+ 'flight_takeoff',
589
+ 'flip_to_back',
590
+ 'flip_to_front',
591
+ 'g_translate',
592
+ 'gavel',
593
+ 'get_app',
594
+ 'gif',
595
+ 'grade',
596
+ 'group_work',
597
+ 'help',
598
+ 'help_outline',
599
+ 'highlight_off',
600
+ 'history',
601
+ 'home',
602
+ 'horizontal_split',
603
+ 'hourglass_empty',
604
+ 'hourglass_full',
605
+ 'http',
606
+ 'https',
607
+ 'important_devices',
608
+ 'info',
609
+ 'input',
610
+ 'invert_colors',
611
+ 'label',
612
+ 'label_important',
613
+ 'label_off',
614
+ 'language',
615
+ 'launch',
616
+ 'line_style',
617
+ 'line_weight',
618
+ 'list',
619
+ 'lock',
620
+ 'lock_open',
621
+ 'loyalty',
622
+ 'markunread_mailbox',
623
+ 'maximize',
624
+ 'minimize',
625
+ 'motorcycle',
626
+ 'note_add',
627
+ 'offline_bolt',
628
+ 'offline_pin',
629
+ 'opacity',
630
+ 'open_in_browser',
631
+ 'open_in_new',
632
+ 'open_with',
633
+ 'pageview',
634
+ 'pan_tool',
635
+ 'payment',
636
+ 'perm_camera_mic',
637
+ 'perm_contact_calendar',
638
+ 'perm_data_setting',
639
+ 'perm_device_information',
640
+ 'perm_identity',
641
+ 'perm_media',
642
+ 'perm_phone_msg',
643
+ 'perm_scan_wifi',
644
+ 'pets',
645
+ 'picture_in_picture',
646
+ 'picture_in_picture_alt',
647
+ 'play_for_work',
648
+ 'polymer',
649
+ 'power_settings_new',
650
+ 'pregnant_woman',
651
+ 'print',
652
+ 'query_builder',
653
+ 'question_answer',
654
+ 'receipt',
655
+ 'record_voice_over',
656
+ 'redeem',
657
+ 'remove_shopping_cart',
658
+ 'reorder',
659
+ 'report_problem',
660
+ 'restore',
661
+ 'restore_from_trash',
662
+ 'restore_page',
663
+ 'room',
664
+ 'rounded_corner',
665
+ 'rowing',
666
+ 'schedule',
667
+ 'search',
668
+ 'settings_applications',
669
+ 'settings_backup_restore',
670
+ 'settings_bluetooth',
671
+ 'settings_brightness',
672
+ 'settings_cell',
673
+ 'settings_ethernet',
674
+ 'settings_input_antenna',
675
+ 'settings_input_component',
676
+ 'settings_input_composite',
677
+ 'settings_input_hdmi',
678
+ 'settings_input_svideo',
679
+ 'settings_overscan',
680
+ 'settings_phone',
681
+ 'settings_power',
682
+ 'settings_remote',
683
+ 'settings_voice',
684
+ 'shop',
685
+ 'shop_two',
686
+ 'shopping_basket',
687
+ 'shopping_cart',
688
+ 'speaker_notes',
689
+ 'speaker_notes_off',
690
+ 'spellcheck',
691
+ 'stars',
692
+ 'store',
693
+ 'subject',
694
+ 'supervised_user_circle',
695
+ 'supervisor_account',
696
+ 'swap_horiz',
697
+ 'swap_horizontal_circle',
698
+ 'swap_vert',
699
+ 'swap_vertical_circle',
700
+ 'sync_alt',
701
+ 'system_update_alt',
702
+ 'tab',
703
+ 'tab_unselected',
704
+ 'text_rotate_up',
705
+ 'text_rotate_vertical',
706
+ 'text_rotation_angledown',
707
+ 'text_rotation_angleup',
708
+ 'text_rotation_down',
709
+ 'text_rotation_none',
710
+ 'theaters',
711
+ 'thumb_down',
712
+ 'thumb_up',
713
+ 'thumbs_up_down',
714
+ 'timeline',
715
+ 'toc',
716
+ 'today',
717
+ 'toll',
718
+ 'touch_app',
719
+ 'track_changes',
720
+ 'translate',
721
+ 'trending_down',
722
+ 'trending_flat',
723
+ 'trending_up',
724
+ 'turned_in',
725
+ 'turned_in_not',
726
+ 'update',
727
+ 'verified_user',
728
+ 'vertical_split',
729
+ 'view_agenda',
730
+ 'view_array',
731
+ 'view_carousel',
732
+ 'view_column',
733
+ 'view_day',
734
+ 'view_headline',
735
+ 'view_list',
736
+ 'view_module',
737
+ 'view_quilt',
738
+ 'view_stream',
739
+ 'view_week',
740
+ 'visibility',
741
+ 'visibility_off',
742
+ 'voice_over_off',
743
+ 'watch_later',
744
+ 'work',
745
+ 'work_off',
746
+ 'work_outline',
747
+ 'youtube_searched_for',
748
+ 'zoom_in',
749
+ 'zoom_out',
750
+ 'add_alert',
751
+ 'error',
752
+ 'error_outline',
753
+ 'notification_important',
754
+ 'warning',
755
+ '4k',
756
+ 'add_to_queue',
757
+ 'airplay',
758
+ 'album',
759
+ 'art_track',
760
+ 'av_timer',
761
+ 'branding_watermark',
762
+ 'call_to_action',
763
+ 'closed_caption',
764
+ 'control_camera',
765
+ 'equalizer',
766
+ 'explicit',
767
+ 'fast_forward',
768
+ 'fast_rewind',
769
+ 'featured_play_list',
770
+ 'featured_video',
771
+ 'fiber_dvr',
772
+ 'fiber_manual_record',
773
+ 'fiber_new',
774
+ 'fiber_pin',
775
+ 'fiber_smart_record',
776
+ 'forward_10',
777
+ 'forward_30',
778
+ 'forward_5',
779
+ 'games',
780
+ 'hd',
781
+ 'hearing',
782
+ 'high_quality',
783
+ 'library_add',
784
+ 'library_books',
785
+ 'library_music',
786
+ 'loop',
787
+ 'mic',
788
+ 'mic_none',
789
+ 'mic_off',
790
+ 'missed_video_call',
791
+ 'movie',
792
+ 'music_video',
793
+ 'new_releases',
794
+ 'not_interested',
795
+ 'note',
796
+ 'pause',
797
+ 'pause_circle_filled',
798
+ 'pause_circle_outline',
799
+ 'play_arrow',
800
+ 'play_circle_filled',
801
+ 'play_circle_outline',
802
+ 'playlist_add',
803
+ 'playlist_add_check',
804
+ 'playlist_play',
805
+ 'queue',
806
+ 'queue_music',
807
+ 'queue_play_next',
808
+ 'radio',
809
+ 'recent_actors',
810
+ 'remove_from_queue',
811
+ 'repeat',
812
+ 'repeat_one',
813
+ 'replay',
814
+ 'replay_10',
815
+ 'replay_30',
816
+ 'replay_5',
817
+ 'shuffle',
818
+ 'skip_next',
819
+ 'skip_previous',
820
+ 'slow_motion_video',
821
+ 'snooze',
822
+ 'sort_by_alpha',
823
+ 'speed',
824
+ 'stop',
825
+ 'subscriptions',
826
+ 'subtitles',
827
+ 'surround_sound',
828
+ 'video_call',
829
+ 'video_label',
830
+ 'video_library',
831
+ 'videocam',
832
+ 'videocam_off',
833
+ 'volume_down',
834
+ 'volume_mute',
835
+ 'volume_off',
836
+ 'volume_up',
837
+ 'web',
838
+ 'web_asset',
839
+ 'business',
840
+ 'call',
841
+ 'call_end',
842
+ 'call_made',
843
+ 'call_merge',
844
+ 'call_missed',
845
+ 'call_missed_outgoing',
846
+ 'call_received',
847
+ 'call_split',
848
+ 'cancel_presentation',
849
+ 'chat',
850
+ 'chat_bubble',
851
+ 'chat_bubble_outline',
852
+ 'clear_all',
853
+ 'comment',
854
+ 'contact_mail',
855
+ 'contact_phone',
856
+ 'contacts',
857
+ 'desktop_access_disabled',
858
+ 'dialer_sip',
859
+ 'dialpad',
860
+ 'domain_disabled',
861
+ 'duo',
862
+ 'email',
863
+ 'forum',
864
+ 'import_contacts',
865
+ 'import_export',
866
+ 'invert_colors_off',
867
+ 'list_alt',
868
+ 'live_help',
869
+ 'mail_outline',
870
+ 'message',
871
+ 'mobile_screen_share',
872
+ 'no_sim',
873
+ 'pause_presentation',
874
+ 'person_add_disabled',
875
+ 'phone',
876
+ 'phone_disabled',
877
+ 'phone_enabled',
878
+ 'phonelink_erase',
879
+ 'phonelink_lock',
880
+ 'phonelink_ring',
881
+ 'phonelink_setup',
882
+ 'portable_wifi_off',
883
+ 'present_to_all',
884
+ 'print_disabled',
885
+ 'ring_volume',
886
+ 'rss_feed',
887
+ 'screen_share',
888
+ 'sentiment_satisfied_alt',
889
+ 'speaker_phone',
890
+ 'stay_current_landscape',
891
+ 'stay_current_portrait',
892
+ 'stay_primary_landscape',
893
+ 'stay_primary_portrait',
894
+ 'stop_screen_share',
895
+ 'swap_calls',
896
+ 'textsms',
897
+ 'unsubscribe',
898
+ 'voicemail',
899
+ 'vpn_key',
900
+ 'add',
901
+ 'add_box',
902
+ 'add_circle',
903
+ 'add_circle_outline',
904
+ 'amp_stories',
905
+ 'archive',
906
+ 'backspace',
907
+ 'ballot',
908
+ 'block',
909
+ 'clear',
910
+ 'create',
911
+ 'delete_sweep',
912
+ 'drafts',
913
+ 'dynamic_feed',
914
+ 'file_copy',
915
+ 'filter_list',
916
+ 'flag',
917
+ 'font_download',
918
+ 'forward',
919
+ 'gesture',
920
+ 'how_to_reg',
921
+ 'how_to_vote',
922
+ 'inbox',
923
+ 'link',
924
+ 'link_off',
925
+ 'low_priority',
926
+ 'mail',
927
+ 'markunread',
928
+ 'move_to_inbox',
929
+ 'next_week',
930
+ 'outlined_flag',
931
+ 'policy',
932
+ 'redo',
933
+ 'remove',
934
+ 'remove_circle',
935
+ 'remove_circle_outline',
936
+ 'reply',
937
+ 'reply_all',
938
+ 'report',
939
+ 'report_off',
940
+ 'save',
941
+ 'save_alt',
942
+ 'select_all',
943
+ 'send',
944
+ 'sort',
945
+ 'square_foot',
946
+ 'text_format',
947
+ 'unarchive',
948
+ 'undo',
949
+ 'waves',
950
+ 'where_to_vote',
951
+ 'access_alarm',
952
+ 'access_alarms',
953
+ 'access_time',
954
+ 'add_alarm',
955
+ 'add_to_home_screen',
956
+ 'airplanemode_active',
957
+ 'airplanemode_inactive',
958
+ 'battery_alert',
959
+ 'battery_charging_full',
960
+ 'battery_full',
961
+ 'battery_std',
962
+ 'battery_unknown',
963
+ 'bluetooth',
964
+ 'bluetooth_connected',
965
+ 'bluetooth_disabled',
966
+ 'bluetooth_searching',
967
+ 'brightness_auto',
968
+ 'brightness_high',
969
+ 'brightness_low',
970
+ 'brightness_medium',
971
+ 'data_usage',
972
+ 'developer_mode',
973
+ 'devices',
974
+ 'dvr',
975
+ 'gps_fixed',
976
+ 'gps_not_fixed',
977
+ 'gps_off',
978
+ 'graphic_eq',
979
+ 'location_disabled',
980
+ 'location_searching',
981
+ 'mobile_friendly',
982
+ 'mobile_off',
983
+ 'nfc',
984
+ 'screen_lock_landscape',
985
+ 'screen_lock_portrait',
986
+ 'screen_lock_rotation',
987
+ 'screen_rotation',
988
+ 'sd_storage',
989
+ 'settings_system_daydream',
990
+ 'signal_cellular_4_bar',
991
+ 'signal_cellular_alt',
992
+ 'signal_cellular_connected_no_internet_4_bar',
993
+ 'signal_cellular_no_sim',
994
+ 'signal_cellular_null',
995
+ 'signal_cellular_off',
996
+ 'signal_wifi_4_bar',
997
+ 'signal_wifi_4_bar_lock',
998
+ 'signal_wifi_off',
999
+ 'storage',
1000
+ 'usb',
1001
+ 'wallpaper',
1002
+ 'widgets',
1003
+ 'wifi_lock',
1004
+ 'wifi_tethering',
1005
+ 'add_comment',
1006
+ 'attach_file',
1007
+ 'attach_money',
1008
+ 'bar_chart',
1009
+ 'border_all',
1010
+ 'border_bottom',
1011
+ 'border_clear',
1012
+ 'border_horizontal',
1013
+ 'border_inner',
1014
+ 'border_left',
1015
+ 'border_outer',
1016
+ 'border_right',
1017
+ 'border_style',
1018
+ 'border_top',
1019
+ 'border_vertical',
1020
+ 'bubble_chart',
1021
+ 'drag_handle',
1022
+ 'format_align_center',
1023
+ 'format_align_justify',
1024
+ 'format_align_left',
1025
+ 'format_align_right',
1026
+ 'format_bold',
1027
+ 'format_clear',
1028
+ 'format_color_reset',
1029
+ 'format_indent_decrease',
1030
+ 'format_indent_increase',
1031
+ 'format_italic',
1032
+ 'format_line_spacing',
1033
+ 'format_list_bulleted',
1034
+ 'format_list_numbered',
1035
+ 'format_list_numbered_rtl',
1036
+ 'format_paint',
1037
+ 'format_quote',
1038
+ 'format_shapes',
1039
+ 'format_size',
1040
+ 'format_strikethrough',
1041
+ 'format_textdirection_l_to_r',
1042
+ 'format_textdirection_r_to_l',
1043
+ 'format_underlined',
1044
+ 'functions',
1045
+ 'height',
1046
+ 'highlight',
1047
+ 'insert_chart',
1048
+ 'insert_chart_outlined',
1049
+ 'insert_comment',
1050
+ 'insert_drive_file',
1051
+ 'insert_emoticon',
1052
+ 'insert_invitation',
1053
+ 'insert_link',
1054
+ 'insert_photo',
1055
+ 'linear_scale',
1056
+ 'merge_type',
1057
+ 'mode_comment',
1058
+ 'monetization_on',
1059
+ 'money_off',
1060
+ 'multiline_chart',
1061
+ 'notes',
1062
+ 'pie_chart',
1063
+ 'post_add',
1064
+ 'publish',
1065
+ 'scatter_plot',
1066
+ 'score',
1067
+ 'short_text',
1068
+ 'show_chart',
1069
+ 'space_bar',
1070
+ 'strikethrough_s',
1071
+ 'table_chart',
1072
+ 'text_fields',
1073
+ 'title',
1074
+ 'vertical_align_bottom',
1075
+ 'vertical_align_center',
1076
+ 'vertical_align_top',
1077
+ 'wrap_text',
1078
+ 'attachment',
1079
+ 'cloud',
1080
+ 'cloud_circle',
1081
+ 'cloud_done',
1082
+ 'cloud_download',
1083
+ 'cloud_off',
1084
+ 'cloud_queue',
1085
+ 'cloud_upload',
1086
+ 'create_new_folder',
1087
+ 'folder',
1088
+ 'folder_open',
1089
+ 'folder_shared',
1090
+ 'cast',
1091
+ 'cast_connected',
1092
+ 'computer',
1093
+ 'desktop_mac',
1094
+ 'desktop_windows',
1095
+ 'developer_board',
1096
+ 'device_hub',
1097
+ 'device_unknown',
1098
+ 'devices_other',
1099
+ 'dock',
1100
+ 'gamepad',
1101
+ 'headset',
1102
+ 'headset_mic',
1103
+ 'keyboard',
1104
+ 'keyboard_arrow_down',
1105
+ 'keyboard_arrow_left',
1106
+ 'keyboard_arrow_right',
1107
+ 'keyboard_arrow_up',
1108
+ 'keyboard_backspace',
1109
+ 'keyboard_capslock',
1110
+ 'keyboard_hide',
1111
+ 'keyboard_return',
1112
+ 'keyboard_tab',
1113
+ 'keyboard_voice',
1114
+ 'laptop',
1115
+ 'laptop_chromebook',
1116
+ 'laptop_mac',
1117
+ 'laptop_windows',
1118
+ 'memory',
1119
+ 'mouse',
1120
+ 'phone_android',
1121
+ 'phone_iphone',
1122
+ 'phonelink',
1123
+ 'phonelink_off',
1124
+ 'power_input',
1125
+ 'router',
1126
+ 'scanner',
1127
+ 'security',
1128
+ 'sim_card',
1129
+ 'smartphone',
1130
+ 'speaker',
1131
+ 'speaker_group',
1132
+ 'tablet',
1133
+ 'tablet_android',
1134
+ 'tablet_mac',
1135
+ 'toys',
1136
+ 'tv',
1137
+ 'videogame_asset',
1138
+ 'watch',
1139
+ 'add_a_photo',
1140
+ 'add_photo_alternate',
1141
+ 'add_to_photos',
1142
+ 'adjust',
1143
+ 'assistant',
1144
+ 'assistant_photo',
1145
+ 'audiotrack',
1146
+ 'blur_circular',
1147
+ 'blur_linear',
1148
+ 'blur_off',
1149
+ 'blur_on',
1150
+ 'brightness_1',
1151
+ 'brightness_2',
1152
+ 'brightness_3',
1153
+ 'brightness_4',
1154
+ 'brightness_5',
1155
+ 'brightness_6',
1156
+ 'brightness_7',
1157
+ 'broken_image',
1158
+ 'brush',
1159
+ 'burst_mode',
1160
+ 'camera',
1161
+ 'camera_alt',
1162
+ 'camera_front',
1163
+ 'camera_rear',
1164
+ 'camera_roll',
1165
+ 'center_focus_strong',
1166
+ 'center_focus_weak',
1167
+ 'collections',
1168
+ 'collections_bookmark',
1169
+ 'color_lens',
1170
+ 'colorize',
1171
+ 'compare',
1172
+ 'control_point',
1173
+ 'control_point_duplicate',
1174
+ 'crop',
1175
+ 'crop_16_9',
1176
+ 'crop_3_2',
1177
+ 'crop_5_4',
1178
+ 'crop_7_5',
1179
+ 'crop_din',
1180
+ 'crop_free',
1181
+ 'crop_landscape',
1182
+ 'crop_original',
1183
+ 'crop_portrait',
1184
+ 'crop_rotate',
1185
+ 'crop_square',
1186
+ 'dehaze',
1187
+ 'details',
1188
+ 'edit',
1189
+ 'euro',
1190
+ 'exposure',
1191
+ 'exposure_neg_1',
1192
+ 'exposure_neg_2',
1193
+ 'exposure_plus_1',
1194
+ 'exposure_plus_2',
1195
+ 'exposure_zero',
1196
+ 'filter',
1197
+ 'filter_1',
1198
+ 'filter_2',
1199
+ 'filter_3',
1200
+ 'filter_4',
1201
+ 'filter_5',
1202
+ 'filter_6',
1203
+ 'filter_7',
1204
+ 'filter_8',
1205
+ 'filter_9',
1206
+ 'filter_9_plus',
1207
+ 'filter_b_and_w',
1208
+ 'filter_center_focus',
1209
+ 'filter_drama',
1210
+ 'filter_frames',
1211
+ 'filter_hdr',
1212
+ 'filter_none',
1213
+ 'filter_tilt_shift',
1214
+ 'filter_vintage',
1215
+ 'flare',
1216
+ 'flash_auto',
1217
+ 'flash_off',
1218
+ 'flash_on',
1219
+ 'flip',
1220
+ 'flip_camera_android',
1221
+ 'flip_camera_ios',
1222
+ 'gradient',
1223
+ 'grain',
1224
+ 'grid_off',
1225
+ 'grid_on',
1226
+ 'hdr_off',
1227
+ 'hdr_on',
1228
+ 'hdr_strong',
1229
+ 'hdr_weak',
1230
+ 'healing',
1231
+ 'image',
1232
+ 'image_aspect_ratio',
1233
+ 'image_search',
1234
+ 'iso',
1235
+ 'landscape',
1236
+ 'leak_add',
1237
+ 'leak_remove',
1238
+ 'lens',
1239
+ 'linked_camera',
1240
+ 'looks',
1241
+ 'looks_3',
1242
+ 'looks_4',
1243
+ 'looks_5',
1244
+ 'looks_6',
1245
+ 'looks_one',
1246
+ 'looks_two',
1247
+ 'loupe',
1248
+ 'monochrome_photos',
1249
+ 'movie_creation',
1250
+ 'movie_filter',
1251
+ 'music_note',
1252
+ 'music_off',
1253
+ 'nature',
1254
+ 'nature_people',
1255
+ 'navigate_before',
1256
+ 'navigate_next',
1257
+ 'palette',
1258
+ 'panorama',
1259
+ 'panorama_fish_eye',
1260
+ 'panorama_horizontal',
1261
+ 'panorama_vertical',
1262
+ 'panorama_wide_angle',
1263
+ 'photo',
1264
+ 'photo_album',
1265
+ 'photo_camera',
1266
+ 'photo_filter',
1267
+ 'photo_library',
1268
+ 'photo_size_select_actual',
1269
+ 'photo_size_select_large',
1270
+ 'photo_size_select_small',
1271
+ 'picture_as_pdf',
1272
+ 'portrait',
1273
+ 'remove_red_eye',
1274
+ 'rotate_90_degrees_ccw',
1275
+ 'rotate_left',
1276
+ 'rotate_right',
1277
+ 'shutter_speed',
1278
+ 'slideshow',
1279
+ 'straighten',
1280
+ 'style',
1281
+ 'switch_camera',
1282
+ 'switch_video',
1283
+ 'tag_faces',
1284
+ 'texture',
1285
+ 'timelapse',
1286
+ 'timer',
1287
+ 'timer_10',
1288
+ 'timer_3',
1289
+ 'timer_off',
1290
+ 'tonality',
1291
+ 'transform',
1292
+ 'tune',
1293
+ 'view_comfy',
1294
+ 'view_compact',
1295
+ 'vignette',
1296
+ 'wb_auto',
1297
+ 'wb_cloudy',
1298
+ 'wb_incandescent',
1299
+ 'wb_iridescent',
1300
+ 'wb_sunny',
1301
+ '360',
1302
+ 'atm',
1303
+ 'beenhere',
1304
+ 'category',
1305
+ 'compass_calibration',
1306
+ 'departure_board',
1307
+ 'directions',
1308
+ 'directions_bike',
1309
+ 'directions_boat',
1310
+ 'directions_bus',
1311
+ 'directions_car',
1312
+ 'directions_railway',
1313
+ 'directions_run',
1314
+ 'directions_subway',
1315
+ 'directions_transit',
1316
+ 'directions_walk',
1317
+ 'edit_attributes',
1318
+ 'ev_station',
1319
+ 'fastfood',
1320
+ 'flight',
1321
+ 'hotel',
1322
+ 'layers',
1323
+ 'layers_clear',
1324
+ 'local_activity',
1325
+ 'local_airport',
1326
+ 'local_atm',
1327
+ 'local_bar',
1328
+ 'local_cafe',
1329
+ 'local_car_wash',
1330
+ 'local_convenience_store',
1331
+ 'local_dining',
1332
+ 'local_drink',
1333
+ 'local_florist',
1334
+ 'local_gas_station',
1335
+ 'local_grocery_store',
1336
+ 'local_hospital',
1337
+ 'local_hotel',
1338
+ 'local_laundry_service',
1339
+ 'local_library',
1340
+ 'local_mall',
1341
+ 'local_movies',
1342
+ 'local_offer',
1343
+ 'local_parking',
1344
+ 'local_pharmacy',
1345
+ 'local_phone',
1346
+ 'local_pizza',
1347
+ 'local_play',
1348
+ 'local_post_office',
1349
+ 'local_printshop',
1350
+ 'local_see',
1351
+ 'local_shipping',
1352
+ 'local_taxi',
1353
+ 'map',
1354
+ 'menu_book',
1355
+ 'money',
1356
+ 'museum',
1357
+ 'my_location',
1358
+ 'navigation',
1359
+ 'near_me',
1360
+ 'person_pin',
1361
+ 'rate_review',
1362
+ 'restaurant',
1363
+ 'restaurant_menu',
1364
+ 'satellite',
1365
+ 'store_mall_directory',
1366
+ 'streetview',
1367
+ 'subway',
1368
+ 'terrain',
1369
+ 'traffic',
1370
+ 'train',
1371
+ 'tram',
1372
+ 'transfer_within_a_station',
1373
+ 'transit_enterexit',
1374
+ 'trip_origin',
1375
+ 'zoom_out_map',
1376
+ 'apps',
1377
+ 'arrow_back',
1378
+ 'arrow_back_ios',
1379
+ 'arrow_downward',
1380
+ 'arrow_drop_down',
1381
+ 'arrow_drop_down_circle',
1382
+ 'arrow_drop_up',
1383
+ 'arrow_forward',
1384
+ 'arrow_forward_ios',
1385
+ 'arrow_left',
1386
+ 'arrow_right',
1387
+ 'arrow_upward',
1388
+ 'cancel',
1389
+ 'check',
1390
+ 'chevron_left',
1391
+ 'chevron_right',
1392
+ 'close',
1393
+ 'double_arrow',
1394
+ 'expand_less',
1395
+ 'expand_more',
1396
+ 'first_page',
1397
+ 'fullscreen',
1398
+ 'fullscreen_exit',
1399
+ 'home_work',
1400
+ 'last_page',
1401
+ 'menu',
1402
+ 'menu_open',
1403
+ 'more_horiz',
1404
+ 'more_vert',
1405
+ 'refresh',
1406
+ 'subdirectory_arrow_left',
1407
+ 'subdirectory_arrow_right',
1408
+ 'unfold_less',
1409
+ 'unfold_more',
1410
+ 'account_tree',
1411
+ 'adb',
1412
+ 'airline_seat_flat',
1413
+ 'airline_seat_flat_angled',
1414
+ 'airline_seat_individual_suite',
1415
+ 'airline_seat_legroom_extra',
1416
+ 'airline_seat_legroom_normal',
1417
+ 'airline_seat_legroom_reduced',
1418
+ 'airline_seat_recline_extra',
1419
+ 'airline_seat_recline_normal',
1420
+ 'bluetooth_audio',
1421
+ 'confirmation_number',
1422
+ 'disc_full',
1423
+ 'drive_eta',
1424
+ 'enhanced_encryption',
1425
+ 'event_available',
1426
+ 'event_busy',
1427
+ 'event_note',
1428
+ 'folder_special',
1429
+ 'live_tv',
1430
+ 'mms',
1431
+ 'more',
1432
+ 'network_check',
1433
+ 'network_locked',
1434
+ 'no_encryption',
1435
+ 'ondemand_video',
1436
+ 'personal_video',
1437
+ 'phone_bluetooth_speaker',
1438
+ 'phone_callback',
1439
+ 'phone_forwarded',
1440
+ 'phone_in_talk',
1441
+ 'phone_locked',
1442
+ 'phone_missed',
1443
+ 'phone_paused',
1444
+ 'power',
1445
+ 'power_off',
1446
+ 'priority_high',
1447
+ 'sd_card',
1448
+ 'sms',
1449
+ 'sms_failed',
1450
+ 'sync',
1451
+ 'sync_disabled',
1452
+ 'sync_problem',
1453
+ 'system_update',
1454
+ 'tap_and_play',
1455
+ 'time_to_leave',
1456
+ 'tv_off',
1457
+ 'vibration',
1458
+ 'voice_chat',
1459
+ 'vpn_lock',
1460
+ 'wc',
1461
+ 'wifi',
1462
+ 'wifi_off',
1463
+ 'ac_unit',
1464
+ 'airport_shuttle',
1465
+ 'all_inclusive',
1466
+ 'apartment',
1467
+ 'bathtub',
1468
+ 'beach_access',
1469
+ 'business_center',
1470
+ 'casino',
1471
+ 'child_care',
1472
+ 'child_friendly',
1473
+ 'fitness_center',
1474
+ 'free_breakfast',
1475
+ 'golf_course',
1476
+ 'hot_tub',
1477
+ 'house',
1478
+ 'kitchen',
1479
+ 'meeting_room',
1480
+ 'no_meeting_room',
1481
+ 'pool',
1482
+ 'room_service',
1483
+ 'rv_hookup',
1484
+ 'smoke_free',
1485
+ 'smoking_rooms',
1486
+ 'spa',
1487
+ 'storefront',
1488
+ 'cake',
1489
+ 'deck',
1490
+ 'emoji_emotions',
1491
+ 'emoji_events',
1492
+ 'emoji_flags',
1493
+ 'emoji_food_beverage',
1494
+ 'emoji_nature',
1495
+ 'emoji_objects',
1496
+ 'emoji_people',
1497
+ 'emoji_symbols',
1498
+ 'emoji_transportation',
1499
+ 'fireplace',
1500
+ 'group',
1501
+ 'group_add',
1502
+ 'king_bed',
1503
+ 'location_city',
1504
+ 'mood',
1505
+ 'mood_bad',
1506
+ 'nights_stay',
1507
+ 'notifications',
1508
+ 'notifications_active',
1509
+ 'notifications_none',
1510
+ 'notifications_off',
1511
+ 'notifications_paused',
1512
+ 'outdoor_grill',
1513
+ 'pages',
1514
+ 'party_mode',
1515
+ 'people',
1516
+ 'people_alt',
1517
+ 'people_outline',
1518
+ 'person',
1519
+ 'person_add',
1520
+ 'person_outline',
1521
+ 'plus_one',
1522
+ 'poll',
1523
+ 'public',
1524
+ 'school',
1525
+ 'sentiment_dissatisfied',
1526
+ 'sentiment_satisfied',
1527
+ 'sentiment_very_dissatisfied',
1528
+ 'sentiment_very_satisfied',
1529
+ 'share',
1530
+ 'single_bed',
1531
+ 'sports',
1532
+ 'sports_baseball',
1533
+ 'sports_basketball',
1534
+ 'sports_cricket',
1535
+ 'sports_esports',
1536
+ 'sports_football',
1537
+ 'sports_golf',
1538
+ 'sports_handball',
1539
+ 'sports_hockey',
1540
+ 'sports_kabaddi',
1541
+ 'sports_mma',
1542
+ 'sports_motorsports',
1543
+ 'sports_rugby',
1544
+ 'sports_soccer',
1545
+ 'sports_tennis',
1546
+ 'sports_volleyball',
1547
+ 'thumb_down_alt',
1548
+ 'thumb_up_alt',
1549
+ 'whatshot',
1550
+ 'check_box',
1551
+ 'check_box_outline_blank',
1552
+ 'indeterminate_check_box',
1553
+ 'radio_button_checked',
1554
+ 'radio_button_unchecked',
1555
+ 'star',
1556
+ 'star_border',
1557
+ 'star_half',
1558
+ 'toggle_off',
1559
+ 'toggle_on',
1560
+ ];
1561
+ }
1562
+ get icons() {
1563
+ return this._icons;
1564
+ }
1565
+ filter(query) {
1566
+ return this.icons.filter((el) => {
1567
+ return el.toLowerCase().indexOf(query ? query.toLowerCase() : '') > -1;
1568
+ });
1569
+ }
1570
+ }
1571
+ /** @nocollapse */ /** @nocollapse */ IconService.ɵfac = function IconService_Factory(t) { return new (t || IconService)(); };
1572
+ /** @nocollapse */ /** @nocollapse */ IconService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: IconService, factory: IconService.ɵfac });
1573
+ (function () {
1574
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IconService, [{
1575
+ type: Injectable
1576
+ }], null, null);
1577
+ })();
1578
+
1579
+ const TD_DIRECTIVES = [TdAutoTrimDirective, TdFullscreenDirective];
1580
+ // Validators
1581
+ const TD_VALIDATORS = [];
1582
+ const TD_PIPES = [
1583
+ TdTimeAgoPipe,
1584
+ TdTimeDifferencePipe,
1585
+ TdTimeUntilPipe,
1586
+ TdBytesPipe,
1587
+ TdDecimalBytesPipe,
1588
+ TdDigitsPipe,
1589
+ TdTruncatePipe,
1590
+ ];
1591
+ class CovalentCommonModule {
1592
+ }
1593
+ /** @nocollapse */ /** @nocollapse */ CovalentCommonModule.ɵfac = function CovalentCommonModule_Factory(t) { return new (t || CovalentCommonModule)(); };
1594
+ /** @nocollapse */ /** @nocollapse */ CovalentCommonModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: CovalentCommonModule });
1595
+ /** @nocollapse */ /** @nocollapse */ CovalentCommonModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [RouterPathService, IconService], imports: [[FormsModule, CommonModule], FormsModule, CommonModule] });
1596
+ (function () {
1597
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentCommonModule, [{
1598
+ type: NgModule,
1599
+ args: [{
1600
+ imports: [FormsModule, CommonModule],
1601
+ declarations: [TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],
1602
+ exports: [FormsModule, CommonModule, TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],
1603
+ providers: [RouterPathService, IconService],
1604
+ }]
1605
+ }], null, null);
1606
+ })();
1607
+ (function () {
1608
+ (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentCommonModule, { declarations: [TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
1609
+ TdTimeDifferencePipe,
1610
+ TdTimeUntilPipe,
1611
+ TdBytesPipe,
1612
+ TdDecimalBytesPipe,
1613
+ TdDigitsPipe,
1614
+ TdTruncatePipe], imports: [FormsModule, CommonModule], exports: [FormsModule, CommonModule, TdAutoTrimDirective, TdFullscreenDirective, TdTimeAgoPipe,
1615
+ TdTimeDifferencePipe,
1616
+ TdTimeUntilPipe,
1617
+ TdBytesPipe,
1618
+ TdDecimalBytesPipe,
1619
+ TdDigitsPipe,
1620
+ TdTruncatePipe] });
1621
+ })();
1622
+
1623
+ /**
1624
+ * const tdRotateAnimation
1625
+ *
1626
+ * Parameter Options:
1627
+ * * degressStart: Degrees of rotation that the dom object will end up in during the "false" state
1628
+ * * degreesEnd: Degrees of rotation that the dom object will end up in during the "true" state
1629
+ * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.
1630
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1631
+ * * ease: Animation accelerates and decelerates. Defaults to ease-in.
1632
+ *
1633
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a rotation animation.
1634
+ *
1635
+ * usage: [@tdRotate]="{ value: true | false, params: { degreesEnd: 90 }}"
1636
+ */
1637
+ const tdRotateAnimation = trigger('tdRotate', [
1638
+ state('0', style({
1639
+ transform: 'rotate({{ degressStart }}deg)',
1640
+ }), { params: { degressStart: 0 } }),
1641
+ state('1', style({
1642
+ transform: 'rotate({{ degreesEnd }}deg)',
1643
+ }), { params: { degreesEnd: 180 } }),
1644
+ transition('0 <=> 1', [group([query('@*', animateChild(), { optional: true }), animate('{{ duration }}ms {{ delay }}ms {{ ease }}')])], { params: { duration: 250, delay: '0', ease: 'ease-in' } }),
1645
+ ]);
1646
+
1647
+ /**
1648
+ * const tdCollapseAnimation
1649
+ *
1650
+ * Parameter Options:
1651
+ * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.
1652
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1653
+ * * easeOnClose: Animation accelerates and decelerates when closing. Defaults to ease-in.
1654
+ * * easeOnOpen: Animation accelerates and decelerates when opening. Defaults to ease-out.
1655
+ *
1656
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a collapse/expand animation.
1657
+ *
1658
+ * usage: [@tdCollapse]="{ value: true | false, params: { duration: 500 }}"
1659
+ */
1660
+ const tdCollapseAnimation = trigger('tdCollapse', [
1661
+ state('1', style({
1662
+ height: '0',
1663
+ overflow: 'hidden',
1664
+ })),
1665
+ state('0', style({
1666
+ height: AUTO_STYLE,
1667
+ overflow: AUTO_STYLE,
1668
+ })),
1669
+ transition('0 => 1', [
1670
+ style({
1671
+ overflow: 'hidden',
1672
+ height: AUTO_STYLE,
1673
+ }),
1674
+ group([
1675
+ query('@*', animateChild(), { optional: true }),
1676
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', style({
1677
+ height: '0',
1678
+ overflow: 'hidden',
1679
+ })),
1680
+ ]),
1681
+ ], { params: { duration: 150, delay: '0', ease: 'ease-in' } }),
1682
+ transition('1 => 0', [
1683
+ style({
1684
+ height: '0',
1685
+ overflow: 'hidden',
1686
+ }),
1687
+ group([
1688
+ query('@*', animateChild(), { optional: true }),
1689
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', style({
1690
+ overflow: 'hidden',
1691
+ height: AUTO_STYLE,
1692
+ })),
1693
+ ]),
1694
+ ], { params: { duration: 150, delay: '0', ease: 'ease-out' } }),
1695
+ ]);
1696
+
1697
+ /**
1698
+ * const tdFadeInOutAnimation
1699
+ *
1700
+ * Parameter Options:
1701
+ * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.
1702
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1703
+ * * easeOnIn: Animation accelerates and decelerates when fading in. Defaults to ease-in.
1704
+ * * easeOnOut: Animation accelerates and decelerates when fading out. Defaults to ease-out.
1705
+ *
1706
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a fade animation.
1707
+ *
1708
+ * usage: [@tdFadeInOut]="{ value: true | false, params: { duration: 200 }}"
1709
+ */
1710
+ const tdFadeInOutAnimation = trigger('tdFadeInOut', [
1711
+ state('0', style({
1712
+ opacity: '0',
1713
+ visibility: 'hidden',
1714
+ })),
1715
+ state('1', style({
1716
+ opacity: AUTO_STYLE,
1717
+ visibility: AUTO_STYLE,
1718
+ })),
1719
+ transition('0 => 1', [
1720
+ group([
1721
+ query('@*', animateChild(), { optional: true }),
1722
+ animate('{{ duration }}ms {{ delay }}ms {{ easeOnIn }}'),
1723
+ ]),
1724
+ ], { params: { duration: 150, delay: '0', easeOnIn: 'ease-in' } }),
1725
+ transition('1 => 0', [
1726
+ group([
1727
+ query('@*', animateChild(), { optional: true }),
1728
+ animate('{{ duration }}ms {{ delay }}ms {{ easeOnOut }}'),
1729
+ ]),
1730
+ ], { params: { duration: 150, delay: '0', easeOnOut: 'ease-out' } }),
1731
+ ]);
1732
+
1733
+ /**
1734
+ * const tdBounceAnimation
1735
+ *
1736
+ * Parameter Options:
1737
+ * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.
1738
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1739
+ * * ease: Animation accelerate and decelerate style. Defaults to ease-out.
1740
+ *
1741
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a bounce animation.
1742
+ *
1743
+ * usage: [@tdBounce]="{ value: true | false, params: { duration: 200 }}"
1744
+ */
1745
+ const tdBounceAnimation = trigger('tdBounce', [
1746
+ state('0', style({
1747
+ transform: 'translate3d(0, 0, 0)',
1748
+ })),
1749
+ state('1', style({
1750
+ transform: 'translate3d(0, 0, 0)',
1751
+ })),
1752
+ transition('0 <=> 1', [
1753
+ group([
1754
+ query('@*', animateChild(), { optional: true }),
1755
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', keyframes([
1756
+ style({
1757
+ animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
1758
+ transform: 'translate3d(0, 0, 0)',
1759
+ offset: 0,
1760
+ }),
1761
+ style({
1762
+ animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
1763
+ transform: 'translate3d(0, 0, 0)',
1764
+ offset: 0.2,
1765
+ }),
1766
+ style({
1767
+ animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',
1768
+ transform: 'translate3d(0, -30px, 0)',
1769
+ offset: 0.4,
1770
+ }),
1771
+ style({
1772
+ animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',
1773
+ transform: 'translate3d(0, -30px, 0)',
1774
+ offset: 0.43,
1775
+ }),
1776
+ style({
1777
+ animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
1778
+ transform: 'translate3d(0, 0, 0)',
1779
+ offset: 0.53,
1780
+ }),
1781
+ style({
1782
+ animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',
1783
+ transform: 'translate3d(0, -15px, 0)',
1784
+ offset: 0.7,
1785
+ }),
1786
+ style({
1787
+ animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
1788
+ transform: 'translate3d(0, 0, 0)',
1789
+ offset: 0.8,
1790
+ }),
1791
+ style({ transform: 'translate3d(0, -4px, 0)', offset: 0.9 }),
1792
+ style({
1793
+ animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',
1794
+ transform: 'translate3d(0, 0, 0)',
1795
+ offset: 1.0,
1796
+ }),
1797
+ ])),
1798
+ ]),
1799
+ ], { params: { duration: 500, delay: '0', ease: 'ease-out' } }),
1800
+ ]);
1801
+
1802
+ /**
1803
+ * const tdFlashAnimation
1804
+ *
1805
+ * Parameter Options:
1806
+ * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.
1807
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1808
+ * * ease: Animation accelerate and decelerate style. Defaults to ease-out.
1809
+ *
1810
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a flash animation.
1811
+ *
1812
+ * usage: [@tdFlash]="{ value: true | false, params: { duration: 200 }}"
1813
+ */
1814
+ const tdFlashAnimation = trigger('tdFlash', [
1815
+ state('0', style({
1816
+ opacity: 1,
1817
+ })),
1818
+ state('1', style({
1819
+ opacity: 1,
1820
+ })),
1821
+ transition('0 <=> 1', [
1822
+ group([
1823
+ query('@*', animateChild(), { optional: true }),
1824
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', keyframes([
1825
+ style({ opacity: 1, offset: 0 }),
1826
+ style({ opacity: 0, offset: 0.25 }),
1827
+ style({ opacity: 1, offset: 0.5 }),
1828
+ style({ opacity: 0, offset: 0.75 }),
1829
+ style({ opacity: 1, offset: 1.0 }),
1830
+ ])),
1831
+ ]),
1832
+ ], { params: { duration: 500, delay: '0', ease: 'ease-out' } }),
1833
+ ]);
1834
+
1835
+ /**
1836
+ * const tdHeadshakeAnimation
1837
+ *
1838
+ * Parameter Options:
1839
+ * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.
1840
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1841
+ * * ease: Animation accelerate and decelerate style. Defaults to ease-out.
1842
+ *
1843
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a headshake animation.
1844
+ *
1845
+ * usage: [@tdHeadshake]="{ value: true | false, params: { duration: 200 }}"
1846
+ */
1847
+ const tdHeadshakeAnimation = trigger('tdHeadshake', [
1848
+ state('0', style({
1849
+ transform: 'translateX(0)',
1850
+ })),
1851
+ state('1', style({
1852
+ transform: 'translateX(0)',
1853
+ })),
1854
+ transition('0 <=> 1', [
1855
+ group([
1856
+ query('@*', animateChild(), { optional: true }),
1857
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', keyframes([
1858
+ style({ transform: 'translateX(0)', offset: 0 }),
1859
+ style({ transform: 'translateX(-6px) rotateY(-9deg)', offset: 0.065 }),
1860
+ style({ transform: 'translateX(5px) rotateY(7deg)', offset: 0.185 }),
1861
+ style({ transform: 'translateX(-3px) rotateY(-5deg)', offset: 0.315 }),
1862
+ style({ transform: 'translateX(2px) rotateY(3deg)', offset: 0.435 }),
1863
+ style({ transform: 'translateX(0)', offset: 0.5 }),
1864
+ ])),
1865
+ ]),
1866
+ ], { params: { duration: 500, delay: '0', ease: 'ease-out' } }),
1867
+ ]);
1868
+
1869
+ /**
1870
+ * const tdJelloAnimation
1871
+ *
1872
+ * Parameter Options:
1873
+ * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.
1874
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1875
+ * * ease: Animation accelerate and decelerate style. Defaults to ease-out.
1876
+ *
1877
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a jello animation.
1878
+ *
1879
+ * usage: [@tdJello]="{ value: true | false, params: { duration: 200 }}"
1880
+ */
1881
+ const tdJelloAnimation = trigger('tdJello', [
1882
+ state('0', style({
1883
+ transform: 'none',
1884
+ })),
1885
+ state('1', style({
1886
+ transform: 'none',
1887
+ })),
1888
+ transition('0 <=> 1', [
1889
+ group([
1890
+ query('@*', animateChild(), { optional: true }),
1891
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', keyframes([
1892
+ style({ transform: 'none', offset: 0 }),
1893
+ style({ transform: 'none', offset: 0.011 }),
1894
+ style({ transform: 'skewX(-12.5deg) skewY(-12.5deg)', offset: 0.222 }),
1895
+ style({ transform: 'skewX(6.25deg) skewY(6.25deg)', offset: 0.333 }),
1896
+ style({ transform: 'skewX(-3.125deg) skewY(-3.125deg)', offset: 0.444 }),
1897
+ style({ transform: 'skewX(1.5625deg) skewY(1.5625deg)', offset: 0.555 }),
1898
+ style({ transform: 'skewX(-0.78125deg) skewY(-0.78125deg)', offset: 0.666 }),
1899
+ style({ transform: 'skewX(0.390625deg) skewY(0.390625deg)', offset: 0.777 }),
1900
+ style({ transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)', offset: 0.888 }),
1901
+ ])),
1902
+ ]),
1903
+ ], { params: { duration: 500, delay: '0', ease: 'ease-out' } }),
1904
+ ]);
1905
+
1906
+ /**
1907
+ * const tdPulseAnimation
1908
+ *
1909
+ * Parameter Options:
1910
+ * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.
1911
+ * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.
1912
+ * * ease: Animation accelerate and decelerate style. Defaults to ease-out.
1913
+ *
1914
+ * Returns an [AnimationTriggerMetadata] object with boolean states for a pulse animation.
1915
+ *
1916
+ * usage: [@tdPulse]="{ value: true | false, params: { duration: 200 }}"
1917
+ */
1918
+ const tdPulseAnimation = trigger('tdPulse', [
1919
+ state('0', style({
1920
+ transform: 'scale3d(1, 1, 1)',
1921
+ })),
1922
+ state('1', style({
1923
+ transform: 'scale3d(1, 1, 1)',
1924
+ })),
1925
+ transition('0 <=> 1', [
1926
+ group([
1927
+ query('@*', animateChild(), { optional: true }),
1928
+ animate('{{ duration }}ms {{ delay }}ms {{ ease }}', keyframes([
1929
+ style({ transform: 'scale3d(1, 1, 1)', offset: 0 }),
1930
+ style({ transform: 'scale3d(1.05, 1.05, 1.05)', offset: 0.5 }),
1931
+ style({ transform: 'scale3d(1, 1, 1)', offset: 1.0 }),
1932
+ ])),
1933
+ ]),
1934
+ ], { params: { duration: 500, delay: '0', ease: 'ease-out' } }),
1935
+ ]);
1936
+
1937
+ const noop = () => {
1938
+ // empty method
1939
+ };
1940
+ /** Mixin to augment a component with ngModel support. */
1941
+ function mixinControlValueAccessor(base, initialValue) {
1942
+ return class extends base {
1943
+ constructor(...args) {
1944
+ super(...args);
1945
+ this._value = initialValue instanceof Array ? Object.assign([], initialValue) : initialValue;
1946
+ this.onChange = (_) => noop;
1947
+ this.onTouched = () => noop;
1948
+ this._subjectValueChanges = new Subject();
1949
+ this.valueChanges = this._subjectValueChanges.asObservable();
1950
+ }
1951
+ set value(v) {
1952
+ if (v !== this._value) {
1953
+ this._value = v;
1954
+ this.onChange(v);
1955
+ this._changeDetectorRef.markForCheck();
1956
+ this._subjectValueChanges.next(v);
1957
+ }
1958
+ }
1959
+ get value() {
1960
+ return this._value;
1961
+ }
1962
+ writeValue(value) {
1963
+ this.value = value;
1964
+ this._changeDetectorRef.markForCheck();
1965
+ }
1966
+ registerOnChange(fn) {
1967
+ this.onChange = fn;
1968
+ }
1969
+ registerOnTouched(fn) {
1970
+ this.onTouched = fn;
1971
+ }
1972
+ };
1973
+ }
1974
+
1975
+ /** Mixin to augment a component or directive with a `disabled` property. */
1976
+ function mixinDisabled(base) {
1977
+ return class extends base {
1978
+ constructor(...args) {
1979
+ super(...args);
1980
+ this._disabled = false;
1981
+ }
1982
+ get disabled() {
1983
+ return this._disabled;
1984
+ }
1985
+ set disabled(value) {
1986
+ const newValue = coerceBooleanProperty(value);
1987
+ if (this._disabled !== newValue) {
1988
+ this._disabled = newValue;
1989
+ this.onDisabledChange(this._disabled);
1990
+ }
1991
+ }
1992
+ onDisabledChange(v) {
1993
+ /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */
1994
+ }
1995
+ };
1996
+ }
1997
+
1998
+ /** Mixin to augment a component or directive with a `disabled` property. */
1999
+ function mixinDisableRipple(base) {
2000
+ return class extends base {
2001
+ constructor(...args) {
2002
+ super(...args);
2003
+ this._disableRipple = false;
2004
+ }
2005
+ get disableRipple() {
2006
+ return this._disableRipple;
2007
+ }
2008
+ set disableRipple(value) {
2009
+ const newValue = coerceBooleanProperty(value);
2010
+ if (this._disableRipple !== newValue) {
2011
+ this._disableRipple = newValue;
2012
+ this.onDisableRippleChange(this._disableRipple);
2013
+ }
2014
+ }
2015
+ onDisableRippleChange(v) {
2016
+ /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */
2017
+ }
2018
+ };
2019
+ }
2020
+
2021
+ class CovalentValidators {
2022
+ static min(minValue) {
2023
+ // tslint:disable-next-line:prefer-immediate-return
2024
+ const func = (c) => {
2025
+ if (!!Validators.required(c) || (!minValue && minValue !== 0)) {
2026
+ return undefined;
2027
+ }
2028
+ const v = c.value;
2029
+ return v < minValue ? { min: { minValue, actualValue: v } } : undefined;
2030
+ };
2031
+ return func;
2032
+ }
2033
+ static max(maxValue) {
2034
+ // tslint:disable-next-line:prefer-immediate-return
2035
+ const func = (c) => {
2036
+ if (!!Validators.required(c) || (!maxValue && maxValue !== 0)) {
2037
+ return undefined;
2038
+ }
2039
+ const v = c.value;
2040
+ return v > maxValue ? { max: { maxValue, actualValue: v } } : undefined;
2041
+ };
2042
+ return func;
2043
+ }
2044
+ static numberRequired(c) {
2045
+ return Number.isNaN(c.value) ? { required: true } : undefined;
2046
+ }
2047
+ }
2048
+
2049
+ /**
2050
+ * Assign a text value to the system clipboard. Note: Due to browser
2051
+ * security restrictions, the copy will only succeed if this method
2052
+ * is invoked as a result of a user action (eg. user button click).
2053
+ *
2054
+ * @param value text value to be assigned to clipboard.
2055
+ * @returns boolean indicating success/failure of copy operation.
2056
+ */
2057
+ function copyToClipboard(value) {
2058
+ // Create a temporary textarea element and append to DOM
2059
+ const fakeTextArea = document.createElement('textarea');
2060
+ document.body.appendChild(fakeTextArea);
2061
+ // Assign value to be copied to clipboard
2062
+ fakeTextArea.value = value;
2063
+ fakeTextArea.select();
2064
+ // Copy to clipboard
2065
+ const success = document.execCommand('copy');
2066
+ // Remove temporary textarea
2067
+ document.body.removeChild(fakeTextArea);
2068
+ // Return boolean indicating if exec command succeeded
2069
+ return success;
2070
+ }
2071
+
2072
+ /**
2073
+ * Conversion function that takes an array of objects and converts
2074
+ * them to CSV format. Custom key and line separators can be specified.
2075
+ *
2076
+ * @param objects list of strings in JSON format or actual objects
2077
+ * @param keySeparator optional parameter to specify custom value separator
2078
+ * @param lineSeparator optional parameter to specify custom end of line separator
2079
+ * @returns CSV formatted string
2080
+ */
2081
+ function convertObjectsToCSV(objects, keySeparator = ',', lineSeparator = '\r\n') {
2082
+ if (!objects) {
2083
+ return '';
2084
+ }
2085
+ let outputString = '';
2086
+ // Iterate through array, creating one output line per object
2087
+ objects.forEach((value, key) => {
2088
+ let line = '';
2089
+ for (const index of Object.keys(objects[key])) {
2090
+ if (line !== '') {
2091
+ line += keySeparator;
2092
+ }
2093
+ if (objects[key][index] === null || objects[key][index] === undefined) {
2094
+ objects[key][index] = '';
2095
+ }
2096
+ line += objects[key][index];
2097
+ }
2098
+ outputString += `${line}${lineSeparator}`;
2099
+ });
2100
+ // Append header row identifying keys into output
2101
+ if (objects[0]) {
2102
+ const headers = Object.keys(objects[0]).join(keySeparator);
2103
+ outputString = `${headers}${lineSeparator}${outputString}`;
2104
+ }
2105
+ return outputString;
2106
+ }
2107
+ /**
2108
+ * Conversion function that takes a CSV representation
2109
+ * of objects and converts them to JSON.
2110
+ * The first row in the input must be the object keys.
2111
+ * Custom key separator and line separator can be specified.
2112
+ * Indentation size for output JSON can be specified.
2113
+ *
2114
+ * @param csv list of strings in JSON format or actual objects
2115
+ * @param keySeparator optional parameter to specify custom value separator
2116
+ * @param lineSeparator optional parameter to specify custom end of line separator
2117
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2.
2118
+ * @returns JSON formatted string
2119
+ */
2120
+ function convertCSVToJSON(csv, keySeparator = ',', lineSeparator = '\r\n', indent = 2) {
2121
+ if (!csv) {
2122
+ return '';
2123
+ }
2124
+ const csvArray = csv.split(lineSeparator);
2125
+ // Input CSV must have a minimum of two rows
2126
+ if (csvArray.length < 2) {
2127
+ return '';
2128
+ }
2129
+ const newObjects = [];
2130
+ // Extract object keys from header row
2131
+ const keys = csvArray[0].split(keySeparator);
2132
+ // Iterate through array, creating one output line per object
2133
+ for (let i = 1; i < csvArray.length; i++) {
2134
+ const newObject = {};
2135
+ const values = csvArray[i].split(keySeparator);
2136
+ if (values.length !== keys.length) {
2137
+ continue;
2138
+ }
2139
+ for (let j = 0; j < keys.length; j++) {
2140
+ newObject[keys[j]] = values[j];
2141
+ }
2142
+ newObjects.push(newObject);
2143
+ }
2144
+ return formatJSON(newObjects, indent);
2145
+ }
2146
+ /**
2147
+ * Convert object to JSON using stringify. Indentation size for output JSON can be specified.
2148
+ *
2149
+ * @param json object to be converted
2150
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2.
2151
+ */
2152
+ function formatJSON(json, indent = 2) {
2153
+ return JSON.stringify(json, undefined, indent);
2154
+ }
2155
+
2156
+ /**
2157
+ * Download CSV content to the specified file with .csv extension
2158
+ * appended to the provided base file name.
2159
+ *
2160
+ * @param fileBaseName base name of destination file
2161
+ * @param csv CSV contents
2162
+ */
2163
+ function downloadCSV(fileBaseName, csv) {
2164
+ downloadFile(`${fileBaseName}.csv`, csv, 'text/csv');
2165
+ }
2166
+ /**
2167
+ * Download JSON content to the specified file with .json extension
2168
+ * appended to the provided base file name.
2169
+ *
2170
+ * @param fileBaseName base name of destination file
2171
+ * @param json JSON contents
2172
+ * @param format indicates if JSON should be prettied
2173
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2
2174
+ */
2175
+ function downloadJSON(fileBaseName, json, format = false, indent = 2) {
2176
+ downloadFile(`${fileBaseName}.json`, format ? formatJSON(JSON.parse(json), indent) : json, 'application/json');
2177
+ }
2178
+ /**
2179
+ * Convert objects to CSV format and download to file with .csv
2180
+ * extension appended to the provided base file name. Custom key
2181
+ * separator and line separator can be specified.
2182
+ *
2183
+ * @param fileBaseName base name of destination file
2184
+ * @param objects object array to be converted to CSV format
2185
+ * prior to writing to download destination
2186
+ * @param keySeparator optional parameter to specify custom value separator
2187
+ * @param lineSeparator optional parameter to specify custom end of line separator
2188
+ */
2189
+ function downloadObjectsToCSV(fileBaseName, objects, keySeparator = ',', lineSeparator = '\r\n') {
2190
+ downloadFile(`${fileBaseName}.csv`, convertObjectsToCSV(objects, keySeparator, lineSeparator), 'text/csv');
2191
+ }
2192
+ /**
2193
+ * Convert objects to JSON format and download to file with .json
2194
+ * extension appended to the provided base file name.
2195
+ *
2196
+ * @param fileBaseName base name of destination file
2197
+ * @param objects object array to be converted to JSON format
2198
+ * prior to writing to download destination
2199
+ * @param indent optional parameter indicating space indentation for pretty output. Default is 2
2200
+ */
2201
+ function downloadObjectsToJSON(fileBaseName, objects, indent = 2) {
2202
+ downloadFile(`${fileBaseName}.json`, formatJSON(objects, indent), 'application/json');
2203
+ }
2204
+ /**
2205
+ * Download string content to the specified file with desired mime type.
2206
+ *
2207
+ * @param fileName full filename (including appropriate extension) of destination file
2208
+ * @param contents string contents to be written to download destination
2209
+ * @param mimeType mime type appropriate to file content to support consumption of destination file
2210
+ */
2211
+ function downloadFile(fileName, contents, mimeType = 'text/plain') {
2212
+ if (!fileName || !contents) {
2213
+ return;
2214
+ }
2215
+ // Create blob object and assign URL
2216
+ const blob = new Blob([contents], { type: mimeType });
2217
+ const url = window.URL.createObjectURL(blob);
2218
+ // Construct anchor for URL, append to DOM, click and cleanup.
2219
+ const a = document.createElement('a');
2220
+ a.setAttribute('style', 'display: none');
2221
+ a.setAttribute('download', fileName);
2222
+ a.href = url;
2223
+ document.body.appendChild(a);
2224
+ a.click();
2225
+ window.URL.revokeObjectURL(url);
2226
+ document.body.removeChild(a);
2227
+ window.URL.revokeObjectURL(url);
2228
+ }
2229
+
2230
+ /**
2231
+ * Read file as UTF-8 text. Return string contents on read completion.
2232
+ *
2233
+ * @param file filename or File object
2234
+ * @returns promise that resolves to file content string
2235
+ */
2236
+ function readFile(file) {
2237
+ return new Promise((resolve) => {
2238
+ const reader = new FileReader();
2239
+ reader.readAsText(file, 'UTF-8');
2240
+ reader.onload = () => {
2241
+ resolve(reader.result);
2242
+ };
2243
+ });
2244
+ }
2245
+
2246
+ /**
2247
+ * Generated bundle index. Do not edit.
2248
+ */
2249
+
2250
+ export { CovalentCommonModule, CovalentValidators, TdAutoTrimDirective, TdBytesPipe, TdDecimalBytesPipe, TdDigitsPipe, TdFullscreenDirective, TdTimeAgoPipe, TdTimeDifferencePipe, TdTimeUntilPipe, TdTruncatePipe, convertCSVToJSON, convertObjectsToCSV, copyToClipboard, downloadCSV, downloadFile, downloadJSON, downloadObjectsToCSV, downloadObjectsToJSON, formatJSON, mixinControlValueAccessor, mixinDisableRipple, mixinDisabled, readFile, tdBounceAnimation, tdCollapseAnimation, tdFadeInOutAnimation, tdFlashAnimation, tdHeadshakeAnimation, tdJelloAnimation, tdPulseAnimation, tdRotateAnimation };
2251
+ //# sourceMappingURL=covalent-core-common.mjs.map