@covalent/core 2.0.0-rc.2 → 2.1.0

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 (296) hide show
  1. package/breadcrumbs/_breadcrumbs-theme.scss +1 -2
  2. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +22 -0
  3. package/breadcrumbs/breadcrumbs.component.scss +7 -0
  4. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +1 -1
  5. package/bundles/covalent-core-breadcrumbs.umd.js +1 -1
  6. package/bundles/covalent-core-breadcrumbs.umd.min.js +1 -1
  7. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +1 -1
  8. package/bundles/covalent-core-chips.umd.js +6 -6
  9. package/bundles/covalent-core-chips.umd.js.map +1 -1
  10. package/bundles/covalent-core-chips.umd.min.js +1 -1
  11. package/bundles/covalent-core-chips.umd.min.js.map +1 -1
  12. package/bundles/covalent-core-common.umd.js +251 -84
  13. package/bundles/covalent-core-common.umd.js.map +1 -1
  14. package/bundles/covalent-core-common.umd.min.js +1 -1
  15. package/bundles/covalent-core-common.umd.min.js.map +1 -1
  16. package/bundles/covalent-core-data-table.umd.js +9 -9
  17. package/bundles/covalent-core-data-table.umd.js.map +1 -1
  18. package/bundles/covalent-core-data-table.umd.min.js +1 -1
  19. package/bundles/covalent-core-data-table.umd.min.js.map +1 -1
  20. package/bundles/covalent-core-dialogs.umd.js +3 -20
  21. package/bundles/covalent-core-dialogs.umd.js.map +1 -1
  22. package/bundles/covalent-core-dialogs.umd.min.js +1 -1
  23. package/bundles/covalent-core-dialogs.umd.min.js.map +1 -1
  24. package/bundles/covalent-core-expansion-panel.umd.js +1 -1
  25. package/bundles/covalent-core-expansion-panel.umd.min.js +1 -1
  26. package/bundles/covalent-core-expansion-panel.umd.min.js.map +1 -1
  27. package/bundles/covalent-core-file.umd.min.js +1 -1
  28. package/bundles/covalent-core-file.umd.min.js.map +1 -1
  29. package/bundles/covalent-core-json-formatter.umd.js +1 -1
  30. package/bundles/covalent-core-json-formatter.umd.min.js +1 -1
  31. package/bundles/covalent-core-json-formatter.umd.min.js.map +1 -1
  32. package/bundles/covalent-core-layout.umd.js +8 -7
  33. package/bundles/covalent-core-layout.umd.js.map +1 -1
  34. package/bundles/covalent-core-layout.umd.min.js +1 -1
  35. package/bundles/covalent-core-layout.umd.min.js.map +1 -1
  36. package/bundles/covalent-core-loading.umd.js +1 -1
  37. package/bundles/covalent-core-loading.umd.min.js +1 -1
  38. package/bundles/covalent-core-loading.umd.min.js.map +1 -1
  39. package/bundles/covalent-core-media.umd.min.js +1 -1
  40. package/bundles/covalent-core-media.umd.min.js.map +1 -1
  41. package/bundles/covalent-core-menu.umd.js +1 -1
  42. package/bundles/covalent-core-menu.umd.min.js +1 -1
  43. package/bundles/covalent-core-menu.umd.min.js.map +1 -1
  44. package/bundles/covalent-core-message.umd.js +1 -1
  45. package/bundles/covalent-core-message.umd.min.js +1 -1
  46. package/bundles/covalent-core-message.umd.min.js.map +1 -1
  47. package/bundles/covalent-core-notifications.umd.min.js +1 -1
  48. package/bundles/covalent-core-notifications.umd.min.js.map +1 -1
  49. package/bundles/covalent-core-paging.umd.js +1 -1
  50. package/bundles/covalent-core-paging.umd.min.js +1 -1
  51. package/bundles/covalent-core-paging.umd.min.js.map +1 -1
  52. package/bundles/covalent-core-search.umd.js +5 -4
  53. package/bundles/covalent-core-search.umd.js.map +1 -1
  54. package/bundles/covalent-core-search.umd.min.js +1 -1
  55. package/bundles/covalent-core-search.umd.min.js.map +1 -1
  56. package/bundles/covalent-core-sidesheet.umd.js +137 -0
  57. package/bundles/covalent-core-sidesheet.umd.js.map +1 -0
  58. package/bundles/covalent-core-sidesheet.umd.min.js +2 -0
  59. package/bundles/covalent-core-sidesheet.umd.min.js.map +1 -0
  60. package/bundles/covalent-core-steps.umd.js +5 -5
  61. package/bundles/covalent-core-steps.umd.min.js +1 -1
  62. package/bundles/covalent-core-steps.umd.min.js.map +1 -1
  63. package/bundles/covalent-core-tab-select.umd.js +3 -2
  64. package/bundles/covalent-core-tab-select.umd.js.map +1 -1
  65. package/bundles/covalent-core-tab-select.umd.min.js +1 -1
  66. package/bundles/covalent-core-tab-select.umd.min.js.map +1 -1
  67. package/bundles/covalent-core-virtual-scroll.umd.min.js +1 -1
  68. package/bundles/covalent-core-virtual-scroll.umd.min.js.map +1 -1
  69. package/bundles/covalent-core.umd.js +223 -82
  70. package/bundles/covalent-core.umd.js.map +1 -1
  71. package/bundles/covalent-core.umd.min.js +1 -1
  72. package/bundles/covalent-core.umd.min.js.map +1 -1
  73. package/chips/chips.component.scss +143 -0
  74. package/chips/covalent-core-chips.metadata.json +1 -1
  75. package/common/covalent-core-common.d.ts +4 -3
  76. package/common/covalent-core-common.metadata.json +1 -1
  77. package/common/directives/fullscreen/fullscreen.directive.d.ts +22 -0
  78. package/common/material-icons.css.map +1 -1
  79. package/common/platform.css +10 -10
  80. package/common/platform.css.map +1 -1
  81. package/common/styles/_layout.scss +1 -1
  82. package/covalent-core.d.ts +8 -7
  83. package/covalent-core.metadata.json +1 -1
  84. package/data-table/README.md +2 -2
  85. package/data-table/covalent-core-data-table.metadata.json +1 -1
  86. package/data-table/data-table-cell/data-table-cell.component.scss +57 -0
  87. package/data-table/data-table-column/data-table-column.component.scss +78 -0
  88. package/data-table/data-table-row/data-table-row.component.scss +12 -0
  89. package/data-table/data-table-table/data-table-table.component.scss +7 -0
  90. package/data-table/data-table.component.scss +77 -0
  91. package/dialogs/alert-dialog/alert-dialog.component.scss +3 -0
  92. package/dialogs/confirm-dialog/confirm-dialog.component.scss +3 -0
  93. package/dialogs/covalent-core-dialogs.metadata.json +1 -1
  94. package/dialogs/dialog.component.scss +43 -0
  95. package/dialogs/prompt-dialog/prompt-dialog.component.scss +15 -0
  96. package/dialogs/services/dialog.service.d.ts +0 -3
  97. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +1 -1
  98. package/esm2015/chips/chips.component.js +3 -3
  99. package/esm2015/common/common.module.js +8 -26
  100. package/esm2015/common/covalent-core-common.js +5 -4
  101. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +136 -0
  102. package/esm2015/covalent-core.js +10 -9
  103. package/esm2015/data-table/data-table-cell/data-table-cell.component.js +1 -1
  104. package/esm2015/data-table/data-table-column/data-table-column.component.js +1 -1
  105. package/esm2015/data-table/data-table.component.js +5 -4
  106. package/esm2015/dialogs/covalent-core-dialogs.js +2 -2
  107. package/esm2015/dialogs/dialog.component.js +1 -1
  108. package/esm2015/dialogs/dialogs.module.js +3 -3
  109. package/esm2015/dialogs/index.js +2 -2
  110. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +1 -1
  111. package/esm2015/dialogs/public-api.js +2 -2
  112. package/esm2015/dialogs/services/dialog.service.js +2 -17
  113. package/esm2015/expansion-panel/expansion-panel.component.js +1 -1
  114. package/esm2015/index.js +2 -2
  115. package/esm2015/json-formatter/json-formatter.component.js +1 -1
  116. package/esm2015/layout/layout-card-over/layout-card-over.component.js +1 -1
  117. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +1 -1
  118. package/esm2015/layout/layout-nav/layout-nav.component.js +1 -1
  119. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +1 -1
  120. package/esm2015/layout/layout.component.js +1 -1
  121. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +12 -3
  122. package/esm2015/loading/loading.component.js +1 -1
  123. package/esm2015/menu/menu.component.js +1 -1
  124. package/esm2015/message/message.component.js +1 -1
  125. package/esm2015/paging/paging-bar.component.js +1 -1
  126. package/esm2015/public_api.js +2 -2
  127. package/esm2015/search/search-box/search-box.component.js +3 -3
  128. package/esm2015/search/search-input/search-input.component.js +10 -3
  129. package/esm2015/sidesheet/covalent-core-sidesheet.js +9 -0
  130. package/esm2015/sidesheet/index.js +6 -0
  131. package/esm2015/sidesheet/public-api.js +7 -0
  132. package/esm2015/sidesheet/sidesheet.component.js +70 -0
  133. package/esm2015/sidesheet/sidesheet.module.js +33 -0
  134. package/esm2015/steps/nav/nav-step-link/nav-step-link.component.js +1 -1
  135. package/esm2015/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +1 -1
  136. package/esm2015/steps/step-body/step-body.component.js +1 -1
  137. package/esm2015/steps/step-header/step-header.component.js +1 -1
  138. package/esm2015/steps/steps.component.js +1 -1
  139. package/esm2015/tab-select/tab-select.component.js +4 -3
  140. package/esm5/breadcrumbs/breadcrumb/breadcrumb.component.js +1 -1
  141. package/esm5/chips/chips.component.js +3 -3
  142. package/esm5/common/common.module.js +8 -26
  143. package/esm5/common/covalent-core-common.js +5 -4
  144. package/esm5/common/directives/fullscreen/fullscreen.directive.js +184 -0
  145. package/esm5/covalent-core.js +10 -9
  146. package/esm5/data-table/data-table-cell/data-table-cell.component.js +1 -1
  147. package/esm5/data-table/data-table-column/data-table-column.component.js +1 -1
  148. package/esm5/data-table/data-table.component.js +5 -4
  149. package/esm5/dialogs/covalent-core-dialogs.js +2 -2
  150. package/esm5/dialogs/dialog.component.js +1 -1
  151. package/esm5/dialogs/dialogs.module.js +3 -3
  152. package/esm5/dialogs/index.js +2 -2
  153. package/esm5/dialogs/prompt-dialog/prompt-dialog.component.js +1 -1
  154. package/esm5/dialogs/public-api.js +2 -2
  155. package/esm5/dialogs/services/dialog.service.js +2 -17
  156. package/esm5/expansion-panel/expansion-panel.component.js +1 -1
  157. package/esm5/index.js +2 -2
  158. package/esm5/json-formatter/json-formatter.component.js +1 -1
  159. package/esm5/layout/layout-card-over/layout-card-over.component.js +1 -1
  160. package/esm5/layout/layout-manage-list/layout-manage-list.component.js +1 -1
  161. package/esm5/layout/layout-nav/layout-nav.component.js +1 -1
  162. package/esm5/layout/layout-nav-list/layout-nav-list.component.js +1 -1
  163. package/esm5/layout/layout.component.js +1 -1
  164. package/esm5/layout/navigation-drawer/navigation-drawer.component.js +12 -3
  165. package/esm5/loading/loading.component.js +1 -1
  166. package/esm5/menu/menu.component.js +1 -1
  167. package/esm5/message/message.component.js +1 -1
  168. package/esm5/paging/paging-bar.component.js +1 -1
  169. package/esm5/public_api.js +2 -2
  170. package/esm5/search/search-box/search-box.component.js +3 -3
  171. package/esm5/search/search-input/search-input.component.js +10 -3
  172. package/esm5/sidesheet/covalent-core-sidesheet.js +9 -0
  173. package/esm5/sidesheet/index.js +6 -0
  174. package/esm5/sidesheet/public-api.js +7 -0
  175. package/esm5/sidesheet/sidesheet.component.js +88 -0
  176. package/esm5/sidesheet/sidesheet.module.js +37 -0
  177. package/esm5/steps/nav/nav-step-link/nav-step-link.component.js +1 -1
  178. package/esm5/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +1 -1
  179. package/esm5/steps/step-body/step-body.component.js +1 -1
  180. package/esm5/steps/step-header/step-header.component.js +1 -1
  181. package/esm5/steps/steps.component.js +1 -1
  182. package/esm5/tab-select/tab-select.component.js +4 -3
  183. package/expansion-panel/covalent-core-expansion-panel.metadata.json +1 -1
  184. package/expansion-panel/expansion-panel-group.component.scss +0 -0
  185. package/expansion-panel/expansion-panel.component.scss +50 -0
  186. package/fesm2015/covalent-core-breadcrumbs.js +1 -1
  187. package/fesm2015/covalent-core-chips.js +2 -3
  188. package/fesm2015/covalent-core-chips.js.map +1 -1
  189. package/fesm2015/covalent-core-common.js +114 -26
  190. package/fesm2015/covalent-core-common.js.map +1 -1
  191. package/fesm2015/covalent-core-data-table.js +6 -6
  192. package/fesm2015/covalent-core-data-table.js.map +1 -1
  193. package/fesm2015/covalent-core-dialogs.js +5 -20
  194. package/fesm2015/covalent-core-dialogs.js.map +1 -1
  195. package/fesm2015/covalent-core-expansion-panel.js +1 -1
  196. package/fesm2015/covalent-core-json-formatter.js +1 -1
  197. package/fesm2015/covalent-core-layout.js +8 -7
  198. package/fesm2015/covalent-core-layout.js.map +1 -1
  199. package/fesm2015/covalent-core-loading.js +1 -1
  200. package/fesm2015/covalent-core-menu.js +1 -1
  201. package/fesm2015/covalent-core-message.js +1 -1
  202. package/fesm2015/covalent-core-paging.js +1 -1
  203. package/fesm2015/covalent-core-search.js +5 -4
  204. package/fesm2015/covalent-core-search.js.map +1 -1
  205. package/fesm2015/covalent-core-sidesheet.js +110 -0
  206. package/fesm2015/covalent-core-sidesheet.js.map +1 -0
  207. package/fesm2015/covalent-core-steps.js +5 -5
  208. package/fesm2015/covalent-core-tab-select.js +3 -2
  209. package/fesm2015/covalent-core-tab-select.js.map +1 -1
  210. package/fesm2015/covalent-core.js +151 -75
  211. package/fesm2015/covalent-core.js.map +1 -1
  212. package/fesm5/covalent-core-breadcrumbs.js +1 -1
  213. package/fesm5/covalent-core-chips.js +2 -3
  214. package/fesm5/covalent-core-chips.js.map +1 -1
  215. package/fesm5/covalent-core-common.js +161 -27
  216. package/fesm5/covalent-core-common.js.map +1 -1
  217. package/fesm5/covalent-core-data-table.js +6 -6
  218. package/fesm5/covalent-core-data-table.js.map +1 -1
  219. package/fesm5/covalent-core-dialogs.js +5 -20
  220. package/fesm5/covalent-core-dialogs.js.map +1 -1
  221. package/fesm5/covalent-core-expansion-panel.js +1 -1
  222. package/fesm5/covalent-core-json-formatter.js +1 -1
  223. package/fesm5/covalent-core-layout.js +8 -7
  224. package/fesm5/covalent-core-layout.js.map +1 -1
  225. package/fesm5/covalent-core-loading.js +1 -1
  226. package/fesm5/covalent-core-menu.js +1 -1
  227. package/fesm5/covalent-core-message.js +1 -1
  228. package/fesm5/covalent-core-paging.js +1 -1
  229. package/fesm5/covalent-core-search.js +5 -4
  230. package/fesm5/covalent-core-search.js.map +1 -1
  231. package/fesm5/covalent-core-sidesheet.js +126 -0
  232. package/fesm5/covalent-core-sidesheet.js.map +1 -0
  233. package/fesm5/covalent-core-steps.js +5 -5
  234. package/fesm5/covalent-core-tab-select.js +3 -2
  235. package/fesm5/covalent-core-tab-select.js.map +1 -1
  236. package/fesm5/covalent-core.js +198 -76
  237. package/fesm5/covalent-core.js.map +1 -1
  238. package/file/file-input/file-input.component.scss +19 -0
  239. package/file/file-upload/file-upload.component.scss +29 -0
  240. package/json-formatter/covalent-core-json-formatter.metadata.json +1 -1
  241. package/json-formatter/json-formatter.component.scss +61 -0
  242. package/layout/README.md +5 -2
  243. package/layout/covalent-core-layout.metadata.json +1 -1
  244. package/layout/layout-card-over/layout-card-over.component.scss +42 -0
  245. package/layout/layout-footer/layout-footer.component.scss +4 -0
  246. package/layout/layout-manage-list/layout-manage-list.component.scss +77 -0
  247. package/layout/layout-nav/layout-nav.component.scss +50 -0
  248. package/layout/layout-nav-list/layout-nav-list.component.scss +109 -0
  249. package/layout/layout.component.scss +20 -0
  250. package/layout/navigation-drawer/navigation-drawer.component.d.ts +7 -0
  251. package/layout/navigation-drawer/navigation-drawer.component.scss +57 -0
  252. package/loading/covalent-core-loading.metadata.json +1 -1
  253. package/loading/loading.component.scss +42 -0
  254. package/menu/covalent-core-menu.metadata.json +1 -1
  255. package/menu/menu.component.scss +43 -0
  256. package/message/covalent-core-message.metadata.json +1 -1
  257. package/message/message.component.scss +29 -0
  258. package/notifications/notification-count.component.scss +89 -0
  259. package/package.json +1 -1
  260. package/paging/covalent-core-paging.metadata.json +1 -1
  261. package/paging/paging-bar.component.scss +23 -0
  262. package/search/covalent-core-search.metadata.json +1 -1
  263. package/search/search-box/search-box.component.scss +32 -0
  264. package/search/search-input/README.md +5 -2
  265. package/search/search-input/search-input.component.d.ts +6 -0
  266. package/search/search-input/search-input.component.scss +63 -0
  267. package/sidesheet/README.md +68 -0
  268. package/sidesheet/covalent-core-sidesheet.d.ts +4 -0
  269. package/sidesheet/covalent-core-sidesheet.metadata.json +1 -0
  270. package/sidesheet/index.d.ts +1 -0
  271. package/sidesheet/package.json +13 -0
  272. package/sidesheet/public-api.d.ts +2 -0
  273. package/sidesheet/sidesheet.component.d.ts +13 -0
  274. package/sidesheet/sidesheet.component.scss +96 -0
  275. package/sidesheet/sidesheet.module.d.ts +2 -0
  276. package/steps/covalent-core-steps.metadata.json +1 -1
  277. package/steps/nav/nav-step-link/nav-step-link.component.scss +17 -0
  278. package/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.scss +81 -0
  279. package/steps/nav/nav-steps-vertical/nav-steps-vertical.component.scss +18 -0
  280. package/steps/step-body/step-body.component.scss +29 -0
  281. package/steps/step-header/step-header.component.scss +90 -0
  282. package/steps/steps.component.scss +53 -0
  283. package/tab-select/covalent-core-tab-select.metadata.json +1 -1
  284. package/tab-select/tab-option.component.scss +0 -0
  285. package/tab-select/tab-select.component.scss +3 -0
  286. package/theming/prebuilt/blue-grey-deep-orange.css +92 -87
  287. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  288. package/theming/prebuilt/blue-orange.css +92 -87
  289. package/theming/prebuilt/blue-orange.css.map +1 -1
  290. package/theming/prebuilt/indigo-pink.css +92 -87
  291. package/theming/prebuilt/indigo-pink.css.map +1 -1
  292. package/theming/prebuilt/orange-light-blue.css +92 -87
  293. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  294. package/theming/prebuilt/teal-orange.css +92 -87
  295. package/theming/prebuilt/teal-orange.css.map +1 -1
  296. package/virtual-scroll/virtual-scroll-container.component.scss +7 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@covalent/core/file/directives/file-select.directive.ts","node_modules/tslib/tslib.es6.js","ng://@covalent/core/file/directives/file-drop.directive.ts","ng://@covalent/core/file/file-input/file-input.component.ts","ng://@covalent/core/file/file-upload/file-upload.component.ts","ng://@covalent/core/file/services/file.service.ts","ng://@covalent/core/file/file.module.ts"],"names":["TdFileSelectDirective","model","this","_multiple","onFileSelect","EventEmitter","Object","defineProperty","prototype","multiple","coerceBooleanProperty","undefined","onChange","event","target","HTMLInputElement","files","length","value","update","emit","Directive","args","selector","NgModel","decorators","type","Optional","Host","Input","Output","HostBinding","HostListener","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","create","TdFileDropBase","_TdFileDropMixinBase","mixinDisabled","TdFileDropDirective","_super","_renderer","_element","_this","call","onFileDrop","tslib_1.__extends","disabled","onDrop","dataTransfer","removeClass","nativeElement","_stopEvent","onDragOver","transfer","dropEffect","_typeCheck","types","items","mozItemCount","onDragEnter","addClass","onDragLeave","contains","indexOf","preventDefault","stopPropagation","inputs","Renderer2","ElementRef","TdFileInputLabelDirective","templateRef","viewContainerRef","TemplateRef","ViewContainerRef","TemplatePortalDirective","TdFileInputBase","_changeDetectorRef","_TdFileInputMixinBase","mixinControlValueAccessor","TdFileInputComponent","onSelect","_inputElement","handleSelect","writeValue","clear","setProperty","inputElement","onDisabledChange","v","setDisabledState","isDisabled","Component","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","template","ChangeDetectorRef","ViewChild","TdFileUploadBase","_TdFileUploadMixinBase","TdFileUploadComponent","_required","defaultColor","activeColor","cancelColor","onUpload","onCancel","required","uploadPressed","cancel","fileInput","ContentChild","TdFileService","_progressSubject","Subject","_progressObservable","asObservable","upload","options","Observable","subscriber","xhr","XMLHttpRequest","formData","FormData","file","append","error","onprogress","progress","lengthComputable","Math","round","loaded","total","next","onreadystatechange","readyState","status","response","complete","open","method","url","setRequestHeader","headers","key","send","Injectable","TD_FILE","CovalentFileModule","NgModule","imports","FormsModule","CommonModule","MatIconModule","MatButtonModule","PortalModule","declarations","exports"],"mappings":"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","sourcesContent":["import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, Host, Optional } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdFileSelect]',\n})\nexport class TdFileSelectDirective {\n\n private _multiple: boolean = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be selected at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileSelect?: function\n * Event emitted when a file or files are selected in host [HTMLInputElement].\n * Emits a [FileList | File] object.\n * Alternative to not use [(ngModel)].\n */\n @Output('fileSelect') onFileSelect: EventEmitter<FileList | File> = new EventEmitter<FileList | File>();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string {\n return this._multiple ? '' : undefined;\n }\n\n constructor(@Optional() @Host() private model: NgModel) {\n }\n\n /**\n * Listens to 'change' host event to get [HTMLInputElement] files.\n * Emits the 'onFileSelect' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Uses [(ngModel)] if declared, instead of emitting 'onFileSelect' event.\n */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n let fileInputEl: HTMLInputElement = (<HTMLInputElement>event.target);\n let files: FileList = fileInputEl.files;\n if (files.length) {\n let value: FileList | File = this._multiple ? (files.length > 1 ? files : files[0]) : files[0];\n this.model ? this.model.update.emit(value) : this.onFileSelect.emit(value);\n }\n }\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, mixinDisabled } from '@covalent/core/common';\n\nexport class TdFileDropBase {}\n\n/* tslint:disable-next-line */\nexport const _TdFileDropMixinBase = mixinDisabled(TdFileDropBase);\n\n@Directive({\n selector: '[tdFileDrop]',\n inputs: ['disabled'],\n})\nexport class TdFileDropDirective extends _TdFileDropMixinBase implements ICanDisable {\n\n private _multiple: boolean = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be dropped at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileDrop?: function\n * Event emitted when a file or files are dropped in host element after being validated.\n * Emits a [FileList | File] object.\n */\n @Output('fileDrop') onFileDrop: EventEmitter<FileList | File> = new EventEmitter<FileList | File>();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string {\n return this._multiple ? '' : undefined;\n }\n\n /**\n * Binds native 'disabled' attribute if [disabled] property is 'true'.\n */\n @HostBinding('attr.disabled')\n get disabledBinding(): string {\n return this.disabled ? '' : undefined;\n }\n\n constructor(private _renderer: Renderer2, private _element: ElementRef) {\n super();\n }\n\n /**\n * Listens to 'drop' host event to get validated transfer items.\n * Emits the 'onFileDrop' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Stops event propagation and default action from browser for 'drop' event.\n */\n @HostListener('drop', ['$event'])\n onDrop(event: Event): void {\n if (!this.disabled) {\n let transfer: DataTransfer = (<DragEvent>event).dataTransfer;\n let files: FileList = transfer.files;\n if (files.length) {\n let value: FileList | File = this._multiple ? (files.length > 1 ? files : files[0]) : files[0];\n this.onFileDrop.emit(value);\n }\n }\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragover' host event to validate transfer items.\n * Checks if 'multiple' attr exists in host to allow multiple file drops.\n * Stops event propagation and default action from browser for 'dragover' event.\n */\n @HostListener('dragover', ['$event'])\n onDragOver(event: Event): void {\n let transfer: DataTransfer = (<DragEvent>event).dataTransfer;\n transfer.dropEffect = this._typeCheck(transfer.types);\n if (this.disabled || (!this._multiple &&\n ((transfer.items && transfer.items.length > 1) || (<any>transfer).mozItemCount > 1))) {\n transfer.dropEffect = 'none';\n } else {\n transfer.dropEffect = 'copy';\n }\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragenter' host event to add animation class 'drop-zone' which can be overriden in host.\n * Stops event propagation and default action from browser for 'dragenter' event.\n */\n @HostListener('dragenter', ['$event'])\n onDragEnter(event: Event): void {\n if (!this.disabled) {\n this._renderer.addClass(this._element.nativeElement, 'drop-zone');\n }\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragleave' host event to remove animation class 'drop-zone'.\n * Stops event propagation and default action from browser for 'dragleave' event.\n */\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: Event): void {\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Validates if the transfer item types are 'Files'.\n */\n private _typeCheck(types: ReadonlyArray<string> | DOMStringList): string {\n let dropEffect: string = 'none';\n if (types) {\n if (((<any>types).contains && (<any>types).contains('Files'))\n || ((<any>types).indexOf && (<any>types).indexOf('Files') !== -1)) {\n dropEffect = 'copy';\n }\n }\n return dropEffect;\n }\n\n private _stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Component, Directive, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild,\n ElementRef, Renderer2, TemplateRef, ViewContainerRef, ChangeDetectorRef, forwardRef } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortalDirective } from '@angular/cdk/portal';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nimport { ICanDisable, mixinDisabled, IControlValueAccessor, mixinControlValueAccessor } from '@covalent/core/common';\n\n@Directive({\n selector: '[td-file-input-label]ng-template',\n})\nexport class TdFileInputLabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdFileInputBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdFileInputMixinBase = mixinControlValueAccessor(mixinDisabled(TdFileInputBase));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileInputComponent),\n multi: true,\n }],\n selector: 'td-file-input',\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-input.component.scss'],\n templateUrl: './file-input.component.html',\n})\nexport class TdFileInputComponent extends _TdFileInputMixinBase implements IControlValueAccessor, ICanDisable {\n\n private _multiple: boolean = false;\n\n /** The native `<input type=\"file\"> element */\n @ViewChild('fileInput') _inputElement: ElementRef;\n get inputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n /**\n * color?: string\n * Sets button color. Uses same color palette accepted as [MatButton].\n */\n @Input('color') color: string;\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileInputComponent].\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input('accept') accept: string;\n\n /**\n * select?: function\n * Event emitted a file is selected\n * Emits a [File | FileList] object.\n */\n @Output('select') onSelect: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n constructor(private _renderer: Renderer2, _changeDetectorRef: ChangeDetectorRef) {\n super(_changeDetectorRef);\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(files: File | FileList): void {\n this.writeValue(files);\n this.onSelect.emit(files);\n }\n\n /**\n * Used to clear the selected files from the [TdFileInputComponent].\n */\n clear(): void {\n this.writeValue(undefined);\n this._renderer.setProperty(this.inputElement, 'value', '');\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this.clear();\n }\n }\n /**\n * Sets disable to the component. Implemented as part of ControlValueAccessor.\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild, ContentChild, ChangeDetectorRef,\n forwardRef } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ICanDisable, mixinDisabled, IControlValueAccessor, mixinControlValueAccessor } from '@covalent/core/common';\nimport { TdFileInputComponent, TdFileInputLabelDirective } from '../file-input/file-input.component';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport class TdFileUploadBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdFileUploadMixinBase = mixinControlValueAccessor(mixinDisabled(TdFileUploadBase));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileUploadComponent),\n multi: true,\n }],\n selector: 'td-file-upload',\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-upload.component.scss'],\n templateUrl: './file-upload.component.html',\n})\nexport class TdFileUploadComponent extends _TdFileUploadMixinBase implements IControlValueAccessor, ICanDisable {\n\n private _multiple: boolean = false;\n private _required: boolean = false;\n\n @ViewChild(TdFileInputComponent) fileInput: TdFileInputComponent;\n\n @ContentChild(TdFileInputLabelDirective) inputLabel: TdFileInputLabelDirective;\n\n /**\n * defaultColor?: string\n * Sets browse button color. Uses same color palette accepted as [MatButton] and defaults to 'primary'.\n */\n @Input('defaultColor') defaultColor: string = 'primary';\n\n /**\n * activeColor?: string\n * Sets upload button color. Uses same color palette accepted as [MatButton] and defaults to 'accent'.\n */\n @Input('activeColor') activeColor: string = 'accent';\n\n /**\n * cancelColor?: string\n * Sets cancel button color. Uses same color palette accepted as [MatButton] and defaults to 'warn'.\n */\n @Input('cancelColor') cancelColor: string = 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent].\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * required?: boolean\n * Forces at least one file upload.\n * Defaults to 'false'\n */\n @Input('required')\n set required(required: boolean) {\n this._required = coerceBooleanProperty(required);\n }\n get required(): boolean {\n return this._required;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input('accept') accept: string;\n\n /**\n * select?: function\n * Event emitted when a file is selected.\n * Emits a [File | FileList] object.\n */\n @Output('select') onSelect: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n /**\n * upload?: function\n * Event emitted when upload button is clicked.\n * Emits a [File | FileList] object.\n */\n @Output('upload') onUpload: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n /**\n * cancel?: function\n * Event emitted when cancel button is clicked.\n */\n @Output('cancel') onCancel: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(_changeDetectorRef: ChangeDetectorRef) {\n super(_changeDetectorRef);\n }\n\n /**\n * Method executed when upload button is clicked.\n */\n uploadPressed(): void {\n if (this.value) {\n this.onUpload.emit(this.value);\n }\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(value: File | FileList): void {\n this.value = value;\n this.onSelect.emit(value);\n }\n\n /**\n * Methods executed when cancel button is clicked.\n * Clears files.\n */\n cancel(): void {\n this.value = undefined;\n this.onCancel.emit(undefined);\n // check if the file input is rendered before clearing it\n if (this.fileInput) {\n this.fileInput.clear();\n }\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this.cancel();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject, Subscriber } from 'rxjs';\n\nexport interface IUploadOptions {\n url: string;\n method: 'post' | 'put';\n file?: File;\n headers?: {[key: string]: string};\n formData?: FormData;\n}\n\n@Injectable()\nexport class TdFileService {\n\n private _progressSubject: Subject<number> = new Subject<number>();\n private _progressObservable: Observable<number>;\n\n /**\n * Gets progress observable to keep track of the files being uploaded.\n * Needs to be supported by backend.\n */\n get progress(): Observable<number> {\n return this._progressObservable;\n }\n\n constructor() {\n this._progressObservable = this._progressSubject.asObservable();\n }\n\n /**\n * params:\n * - options: IUploadOptions {\n * url: string,\n * method: 'post' | 'put',\n * file?: File,\n * headers?: {[key: string]: string},\n * formData?: FormData\n * }\n *\n * Uses underlying [XMLHttpRequest] to upload a file to a url.\n * Will be depricated when Angular fixes [Http] to allow [FormData] as body.\n */\n upload(options: IUploadOptions): Observable<any> {\n return new Observable<any>((subscriber: Subscriber<any>) => {\n let xhr: XMLHttpRequest = new XMLHttpRequest();\n let formData: FormData = new FormData();\n\n if (options.file !== undefined) {\n formData.append('file', options.file);\n } else if (options.formData !== undefined) {\n formData = options.formData;\n } else {\n return subscriber.error('For [IUploadOptions] you have to set either the [file] or the [formData] property.');\n }\n\n xhr.upload.onprogress = (event: ProgressEvent) => {\n let progress: number = 0;\n if (event.lengthComputable) {\n progress = Math.round(event.loaded / event.total * 100);\n }\n this._progressSubject.next(progress);\n };\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n subscriber.next(xhr.response);\n subscriber.complete();\n } else {\n subscriber.error(xhr.response);\n }\n }\n };\n\n xhr.open(options.method, options.url, true);\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n if (options.headers) {\n for (let key in options.headers) {\n xhr.setRequestHeader(key, options.headers[key]);\n }\n }\n\n xhr.send(formData);\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TdFileSelectDirective } from './directives/file-select.directive';\nimport { TdFileDropDirective } from './directives/file-drop.directive';\nimport { TdFileUploadComponent } from './file-upload/file-upload.component';\nimport { TdFileInputComponent, TdFileInputLabelDirective } from './file-input/file-input.component';\nimport { TdFileService } from './services/file.service';\n\nconst TD_FILE: Type<any>[] = [\n TdFileSelectDirective,\n TdFileDropDirective,\n TdFileUploadComponent,\n TdFileInputComponent,\n TdFileInputLabelDirective,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatIconModule,\n MatButtonModule,\n PortalModule,\n ],\n declarations: [\n TD_FILE,\n ],\n exports: [\n TD_FILE,\n ],\n providers: [\n TdFileService,\n ],\n})\nexport class CovalentFileModule {\n\n}\n"]}
1
+ {"version":3,"sources":["ng://@covalent/core/file/directives/file-select.directive.ts","node_modules/tslib/tslib.es6.js","ng://@covalent/core/file/directives/file-drop.directive.ts","ng://@covalent/core/file/file-input/file-input.component.ts","ng://@covalent/core/file/file-upload/file-upload.component.ts","ng://@covalent/core/file/services/file.service.ts","ng://@covalent/core/file/file.module.ts"],"names":["TdFileSelectDirective","Object","defineProperty","prototype","multiple","this","_multiple","coerceBooleanProperty","undefined","onChange","event","target","HTMLInputElement","files","length","value","model","update","emit","onFileSelect","Directive","args","selector","NgModel","decorators","type","Optional","Host","Input","Output","HostBinding","HostListener","EventEmitter","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","create","_super","_TdFileDropMixinBase","mixinDisabled","TdFileDropBase","TdFileDropDirective","tslib_1.__extends","disabled","onDrop","dataTransfer","onFileDrop","_renderer","removeClass","_element","nativeElement","_stopEvent","onDragOver","transfer","dropEffect","_typeCheck","types","items","mozItemCount","onDragEnter","addClass","onDragLeave","contains","indexOf","preventDefault","stopPropagation","inputs","Renderer2","ElementRef","_this","call","TemplatePortalDirective","TemplateRef","ViewContainerRef","TdFileInputLabelDirective","templateRef","viewContainerRef","_changeDetectorRef","_TdFileInputMixinBase","mixinControlValueAccessor","TdFileInputBase","TdFileInputComponent","_inputElement","handleSelect","writeValue","onSelect","clear","setProperty","inputElement","onDisabledChange","v","setDisabledState","isDisabled","Component","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","template","ChangeDetectorRef","ViewChild","_TdFileUploadMixinBase","TdFileUploadBase","TdFileUploadComponent","_required","required","uploadPressed","onUpload","cancel","onCancel","fileInput","ContentChild","defaultColor","activeColor","cancelColor","TdFileService","_progressObservable","upload","options","Observable","subscriber","xhr","XMLHttpRequest","formData","FormData","file","append","error","onprogress","progress","lengthComputable","Math","round","loaded","total","_progressSubject","next","onreadystatechange","readyState","status","response","complete","open","method","url","setRequestHeader","headers","key","send","Injectable","Subject","asObservable","TD_FILE","CovalentFileModule","NgModule","imports","FormsModule","CommonModule","MatIconModule","MatButtonModule","PortalModule","declarations","exports"],"mappings":"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","sourcesContent":["import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, Host, Optional } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdFileSelect]',\n})\nexport class TdFileSelectDirective {\n\n private _multiple: boolean = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be selected at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileSelect?: function\n * Event emitted when a file or files are selected in host [HTMLInputElement].\n * Emits a [FileList | File] object.\n * Alternative to not use [(ngModel)].\n */\n @Output('fileSelect') onFileSelect: EventEmitter<FileList | File> = new EventEmitter<FileList | File>();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string {\n return this._multiple ? '' : undefined;\n }\n\n constructor(@Optional() @Host() private model: NgModel) {\n }\n\n /**\n * Listens to 'change' host event to get [HTMLInputElement] files.\n * Emits the 'onFileSelect' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Uses [(ngModel)] if declared, instead of emitting 'onFileSelect' event.\n */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n let fileInputEl: HTMLInputElement = (<HTMLInputElement>event.target);\n let files: FileList = fileInputEl.files;\n if (files.length) {\n let value: FileList | File = this._multiple ? (files.length > 1 ? files : files[0]) : files[0];\n this.model ? this.model.update.emit(value) : this.onFileSelect.emit(value);\n }\n }\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, mixinDisabled } from '@covalent/core/common';\n\nexport class TdFileDropBase {}\n\n/* tslint:disable-next-line */\nexport const _TdFileDropMixinBase = mixinDisabled(TdFileDropBase);\n\n@Directive({\n selector: '[tdFileDrop]',\n inputs: ['disabled'],\n})\nexport class TdFileDropDirective extends _TdFileDropMixinBase implements ICanDisable {\n\n private _multiple: boolean = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be dropped at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileDrop?: function\n * Event emitted when a file or files are dropped in host element after being validated.\n * Emits a [FileList | File] object.\n */\n @Output('fileDrop') onFileDrop: EventEmitter<FileList | File> = new EventEmitter<FileList | File>();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string {\n return this._multiple ? '' : undefined;\n }\n\n /**\n * Binds native 'disabled' attribute if [disabled] property is 'true'.\n */\n @HostBinding('attr.disabled')\n get disabledBinding(): string {\n return this.disabled ? '' : undefined;\n }\n\n constructor(private _renderer: Renderer2, private _element: ElementRef) {\n super();\n }\n\n /**\n * Listens to 'drop' host event to get validated transfer items.\n * Emits the 'onFileDrop' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Stops event propagation and default action from browser for 'drop' event.\n */\n @HostListener('drop', ['$event'])\n onDrop(event: Event): void {\n if (!this.disabled) {\n let transfer: DataTransfer = (<DragEvent>event).dataTransfer;\n let files: FileList = transfer.files;\n if (files.length) {\n let value: FileList | File = this._multiple ? (files.length > 1 ? files : files[0]) : files[0];\n this.onFileDrop.emit(value);\n }\n }\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragover' host event to validate transfer items.\n * Checks if 'multiple' attr exists in host to allow multiple file drops.\n * Stops event propagation and default action from browser for 'dragover' event.\n */\n @HostListener('dragover', ['$event'])\n onDragOver(event: Event): void {\n let transfer: DataTransfer = (<DragEvent>event).dataTransfer;\n transfer.dropEffect = this._typeCheck(transfer.types);\n if (this.disabled || (!this._multiple &&\n ((transfer.items && transfer.items.length > 1) || (<any>transfer).mozItemCount > 1))) {\n transfer.dropEffect = 'none';\n } else {\n transfer.dropEffect = 'copy';\n }\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragenter' host event to add animation class 'drop-zone' which can be overriden in host.\n * Stops event propagation and default action from browser for 'dragenter' event.\n */\n @HostListener('dragenter', ['$event'])\n onDragEnter(event: Event): void {\n if (!this.disabled) {\n this._renderer.addClass(this._element.nativeElement, 'drop-zone');\n }\n this._stopEvent(event);\n }\n\n /**\n * Listens to 'dragleave' host event to remove animation class 'drop-zone'.\n * Stops event propagation and default action from browser for 'dragleave' event.\n */\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: Event): void {\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Validates if the transfer item types are 'Files'.\n */\n private _typeCheck(types: ReadonlyArray<string> | DOMStringList): string {\n let dropEffect: string = 'none';\n if (types) {\n if (((<any>types).contains && (<any>types).contains('Files'))\n || ((<any>types).indexOf && (<any>types).indexOf('Files') !== -1)) {\n dropEffect = 'copy';\n }\n }\n return dropEffect;\n }\n\n private _stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Component, Directive, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild,\n ElementRef, Renderer2, TemplateRef, ViewContainerRef, ChangeDetectorRef, forwardRef } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortalDirective } from '@angular/cdk/portal';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nimport { ICanDisable, mixinDisabled, IControlValueAccessor, mixinControlValueAccessor } from '@covalent/core/common';\n\n@Directive({\n selector: '[td-file-input-label]ng-template',\n})\nexport class TdFileInputLabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdFileInputBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdFileInputMixinBase = mixinControlValueAccessor(mixinDisabled(TdFileInputBase));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileInputComponent),\n multi: true,\n }],\n selector: 'td-file-input',\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-input.component.scss'],\n templateUrl: './file-input.component.html',\n})\nexport class TdFileInputComponent extends _TdFileInputMixinBase implements IControlValueAccessor, ICanDisable {\n\n private _multiple: boolean = false;\n\n /** The native `<input type=\"file\"> element */\n @ViewChild('fileInput') _inputElement: ElementRef;\n get inputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n /**\n * color?: string\n * Sets button color. Uses same color palette accepted as [MatButton].\n */\n @Input('color') color: string;\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileInputComponent].\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input('accept') accept: string;\n\n /**\n * select?: function\n * Event emitted a file is selected\n * Emits a [File | FileList] object.\n */\n @Output('select') onSelect: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n constructor(private _renderer: Renderer2, _changeDetectorRef: ChangeDetectorRef) {\n super(_changeDetectorRef);\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(files: File | FileList): void {\n this.writeValue(files);\n this.onSelect.emit(files);\n }\n\n /**\n * Used to clear the selected files from the [TdFileInputComponent].\n */\n clear(): void {\n this.writeValue(undefined);\n this._renderer.setProperty(this.inputElement, 'value', '');\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this.clear();\n }\n }\n /**\n * Sets disable to the component. Implemented as part of ControlValueAccessor.\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild, ContentChild, ChangeDetectorRef,\n forwardRef } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ICanDisable, mixinDisabled, IControlValueAccessor, mixinControlValueAccessor } from '@covalent/core/common';\nimport { TdFileInputComponent, TdFileInputLabelDirective } from '../file-input/file-input.component';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport class TdFileUploadBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdFileUploadMixinBase = mixinControlValueAccessor(mixinDisabled(TdFileUploadBase));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileUploadComponent),\n multi: true,\n }],\n selector: 'td-file-upload',\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-upload.component.scss'],\n templateUrl: './file-upload.component.html',\n})\nexport class TdFileUploadComponent extends _TdFileUploadMixinBase implements IControlValueAccessor, ICanDisable {\n\n private _multiple: boolean = false;\n private _required: boolean = false;\n\n @ViewChild(TdFileInputComponent) fileInput: TdFileInputComponent;\n\n @ContentChild(TdFileInputLabelDirective) inputLabel: TdFileInputLabelDirective;\n\n /**\n * defaultColor?: string\n * Sets browse button color. Uses same color palette accepted as [MatButton] and defaults to 'primary'.\n */\n @Input('defaultColor') defaultColor: string = 'primary';\n\n /**\n * activeColor?: string\n * Sets upload button color. Uses same color palette accepted as [MatButton] and defaults to 'accent'.\n */\n @Input('activeColor') activeColor: string = 'accent';\n\n /**\n * cancelColor?: string\n * Sets cancel button color. Uses same color palette accepted as [MatButton] and defaults to 'warn'.\n */\n @Input('cancelColor') cancelColor: string = 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent].\n */\n @Input('multiple')\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * required?: boolean\n * Forces at least one file upload.\n * Defaults to 'false'\n */\n @Input('required')\n set required(required: boolean) {\n this._required = coerceBooleanProperty(required);\n }\n get required(): boolean {\n return this._required;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input('accept') accept: string;\n\n /**\n * select?: function\n * Event emitted when a file is selected.\n * Emits a [File | FileList] object.\n */\n @Output('select') onSelect: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n /**\n * upload?: function\n * Event emitted when upload button is clicked.\n * Emits a [File | FileList] object.\n */\n @Output('upload') onUpload: EventEmitter<File | FileList> = new EventEmitter<File | FileList>();\n\n /**\n * cancel?: function\n * Event emitted when cancel button is clicked.\n */\n @Output('cancel') onCancel: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(_changeDetectorRef: ChangeDetectorRef) {\n super(_changeDetectorRef);\n }\n\n /**\n * Method executed when upload button is clicked.\n */\n uploadPressed(): void {\n if (this.value) {\n this.onUpload.emit(this.value);\n }\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(value: File | FileList): void {\n this.value = value;\n this.onSelect.emit(value);\n }\n\n /**\n * Methods executed when cancel button is clicked.\n * Clears files.\n */\n cancel(): void {\n this.value = undefined;\n this.onCancel.emit(undefined);\n // check if the file input is rendered before clearing it\n if (this.fileInput) {\n this.fileInput.clear();\n }\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this.cancel();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject, Subscriber } from 'rxjs';\n\nexport interface IUploadOptions {\n url: string;\n method: 'post' | 'put';\n file?: File;\n headers?: {[key: string]: string};\n formData?: FormData;\n}\n\n@Injectable()\nexport class TdFileService {\n\n private _progressSubject: Subject<number> = new Subject<number>();\n private _progressObservable: Observable<number>;\n\n /**\n * Gets progress observable to keep track of the files being uploaded.\n * Needs to be supported by backend.\n */\n get progress(): Observable<number> {\n return this._progressObservable;\n }\n\n constructor() {\n this._progressObservable = this._progressSubject.asObservable();\n }\n\n /**\n * params:\n * - options: IUploadOptions {\n * url: string,\n * method: 'post' | 'put',\n * file?: File,\n * headers?: {[key: string]: string},\n * formData?: FormData\n * }\n *\n * Uses underlying [XMLHttpRequest] to upload a file to a url.\n * Will be depricated when Angular fixes [Http] to allow [FormData] as body.\n */\n upload(options: IUploadOptions): Observable<any> {\n return new Observable<any>((subscriber: Subscriber<any>) => {\n let xhr: XMLHttpRequest = new XMLHttpRequest();\n let formData: FormData = new FormData();\n\n if (options.file !== undefined) {\n formData.append('file', options.file);\n } else if (options.formData !== undefined) {\n formData = options.formData;\n } else {\n return subscriber.error('For [IUploadOptions] you have to set either the [file] or the [formData] property.');\n }\n\n xhr.upload.onprogress = (event: ProgressEvent) => {\n let progress: number = 0;\n if (event.lengthComputable) {\n progress = Math.round(event.loaded / event.total * 100);\n }\n this._progressSubject.next(progress);\n };\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n subscriber.next(xhr.response);\n subscriber.complete();\n } else {\n subscriber.error(xhr.response);\n }\n }\n };\n\n xhr.open(options.method, options.url, true);\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n if (options.headers) {\n for (let key in options.headers) {\n xhr.setRequestHeader(key, options.headers[key]);\n }\n }\n\n xhr.send(formData);\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TdFileSelectDirective } from './directives/file-select.directive';\nimport { TdFileDropDirective } from './directives/file-drop.directive';\nimport { TdFileUploadComponent } from './file-upload/file-upload.component';\nimport { TdFileInputComponent, TdFileInputLabelDirective } from './file-input/file-input.component';\nimport { TdFileService } from './services/file.service';\n\nconst TD_FILE: Type<any>[] = [\n TdFileSelectDirective,\n TdFileDropDirective,\n TdFileUploadComponent,\n TdFileInputComponent,\n TdFileInputLabelDirective,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatIconModule,\n MatButtonModule,\n PortalModule,\n ],\n declarations: [\n TD_FILE,\n ],\n exports: [\n TD_FILE,\n ],\n providers: [\n TdFileService,\n ],\n})\nexport class CovalentFileModule {\n\n}\n"]}
@@ -348,7 +348,7 @@
348
348
  animations: [
349
349
  common$1.tdCollapseAnimation,
350
350
  ],
351
- styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .date,.td-json-formatter-wrapper .value .string{word-break:break-word}"]
351
+ styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-line-pack:center;align-content:center;max-width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .date,.td-json-formatter-wrapper .value .string{word-break:break-word}"]
352
352
  }] }
353
353
  ];
354
354
  /** @nocollapse */
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/material/tooltip"),require("@angular/material/icon"),require("@angular/core"),require("@angular/cdk/bidi"),require("@covalent/core/common")):"function"==typeof define&&define.amd?define("@covalent/core/json-formatter",["exports","@angular/common","@angular/material/tooltip","@angular/material/icon","@angular/core","@angular/cdk/bidi","@covalent/core/common"],t):t((e.covalent=e.covalent||{},e.covalent.core=e.covalent.core||{},e.covalent.core["json-formatter"]={}),e.ng.common,e.ng.material.tooltip,e.ng.material.icon,e.ng.core,e.ng.cdk.bidi,e.covalent.core.common)}(this,function(e,t,r,n,o,a,d){"use strict";var i=function(){function i(e,t){this._changeDetectorRef=e,this._dir=t,this._open=!1,this._levelsOpen=0}return Object.defineProperty(i.prototype,"levelsOpen",{get:function(){return this._levelsOpen},set:function(e){if(!Number.isInteger(e))throw new Error("[levelsOpen] needs to be an integer.");this._levelsOpen=e,this._open=0<e},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"open",{get:function(){return this._open},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"key",{get:function(){var e=this._key&&this._key.length>i.KEY_MAX_LENGTH?"…":"";return this._key?this._key.substring(0,i.KEY_MAX_LENGTH)+e:this._key},set:function(e){this._key=e},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"data",{get:function(){return this._data},set:function(e){this._data=e,this.parseChildren()},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"isRTL",{get:function(){return!!this._dir&&"rtl"===this._dir.dir},enumerable:!0,configurable:!0}),i.prototype.refresh=function(){this._changeDetectorRef.markForCheck()},i.prototype.toggle=function(){this._open=!this._open},i.prototype.isObject=function(){return"object"===this.getType(this._data)},i.prototype.isArray=function(){return Array.isArray(this._data)},i.prototype.hasChildren=function(){return this._children&&0<this._children.length},i.prototype.getValue=function(e){var t=this.getType(e);if("undefined"===t||"null"===t)return t;if("date"===t)e=new Date(e).toString();else if("string"===t)e='"'+e+'"';else{if("function"===t)return e.toString().replace(/[\r\n]/g,"").replace(/\{.*\}/,"")+"{…}";if(Array.isArray(e))return this.getObjectName()+" ["+e.length+"]"}return e},i.prototype.getType=function(e){if("object"==typeof e){if(!e)return"null";if(Array.isArray(e))return"object";var t=new Date(e);if("[object Date]"===Object.prototype.toString.call(t)&&!Number.isNaN(t.getTime()))return"date"}return typeof e},i.prototype.getObjectName=function(){var e=this._data;if(this.isObject()&&!e.constructor)return"Object";var t=/function (.{1,})\(/.exec(e.constructor.toString());return t&&1<t.length?t[1]:""},i.prototype.getPreview=function(){var e,t=this,r="{ ",n=" }";this.isArray()?(e=this._data.slice(0,i.PREVIEW_LIMIT).map(function(e){return t.getValue(e)}),r="[",n="]"):e=this._children.slice(0,i.PREVIEW_LIMIT).map(function(e){return e+": "+t.getValue(t._data[e])});var o=e.join(", "),a=e.length>=i.PREVIEW_LIMIT||o.length>i.PREVIEW_STRING_MAX_LENGTH?"…":"";return r+o.substring(0,i.PREVIEW_STRING_MAX_LENGTH)+a+n},i.prototype.parseChildren=function(){if(this.isObject())for(var e in this._children=[],this._data)this._children.push(e)},i.KEY_MAX_LENGTH=30,i.PREVIEW_STRING_MAX_LENGTH=80,i.PREVIEW_LIMIT=5,i.decorators=[{type:o.Component,args:[{changeDetection:o.ChangeDetectionStrategy.OnPush,selector:"td-json-formatter",template:'<div class="td-json-formatter-wrapper">\n <a class="td-key"\n [class.td-key-node]="hasChildren()"\n [class.td-key-leaf]="!hasChildren()"\n [tabIndex]="isObject()? 0 : -1"\n (keydown.enter)="toggle()"\n (click)="toggle()">\n <mat-icon class="td-node-icon" *ngIf="hasChildren()">{{open? \'keyboard_arrow_down\' : (isRTL ? \'keyboard_arrow_left\' : \'keyboard_arrow_right\')}}</mat-icon>\n <span *ngIf="key" class="key">{{key}}:</span>\n <span class="value">\n <span [class.td-empty]="!hasChildren()" *ngIf="isObject()" [matTooltip]="getPreview()" matTooltipPosition="after">\n <span class="td-object-name">{{getObjectName()}}</span>\n <span class="td-array-length" *ngIf="isArray()">[{{data.length}}]</span>\n </span>\n <span *ngIf="!isObject()" [class]="getType(data)">{{getValue(data)}}</span>\n </span>\n </a>\n <div class="td-object-children" [@tdCollapse]="!(hasChildren() && open)">\n <ng-template let-key ngFor [ngForOf]="children">\n <td-json-formatter [key]="key" [data]="data[key]" [levelsOpen]="levelsOpen - 1"></td-json-formatter>\n </ng-template>\n </div>\n</div>',animations:[d.tdCollapseAnimation],styles:[":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .date,.td-json-formatter-wrapper .value .string{word-break:break-word}"]}]}],i.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:a.Dir,decorators:[{type:o.Optional}]}]},i.propDecorators={levelsOpen:[{type:o.Input,args:["levelsOpen"]}],key:[{type:o.Input,args:["key"]}],data:[{type:o.Input,args:["data"]}]},i}(),s=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{imports:[t.CommonModule,r.MatTooltipModule,n.MatIconModule],declarations:[i],exports:[i]}]}],e}();e.CovalentJsonFormatterModule=s,e.TdJsonFormatterComponent=i,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/material/tooltip"),require("@angular/material/icon"),require("@angular/core"),require("@angular/cdk/bidi"),require("@covalent/core/common")):"function"==typeof define&&define.amd?define("@covalent/core/json-formatter",["exports","@angular/common","@angular/material/tooltip","@angular/material/icon","@angular/core","@angular/cdk/bidi","@covalent/core/common"],t):t((e.covalent=e.covalent||{},e.covalent.core=e.covalent.core||{},e.covalent.core["json-formatter"]={}),e.ng.common,e.ng.material.tooltip,e.ng.material.icon,e.ng.core,e.ng.cdk.bidi,e.covalent.core.common)}(this,function(e,t,r,n,o,a,i){"use strict";var d=(Object.defineProperty(s.prototype,"levelsOpen",{get:function(){return this._levelsOpen},set:function(e){if(!Number.isInteger(e))throw new Error("[levelsOpen] needs to be an integer.");this._levelsOpen=e,this._open=0<e},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"open",{get:function(){return this._open},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"key",{get:function(){var e=this._key&&this._key.length>s.KEY_MAX_LENGTH?"…":"";return this._key?this._key.substring(0,s.KEY_MAX_LENGTH)+e:this._key},set:function(e){this._key=e},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"data",{get:function(){return this._data},set:function(e){this._data=e,this.parseChildren()},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"isRTL",{get:function(){return!!this._dir&&"rtl"===this._dir.dir},enumerable:!0,configurable:!0}),s.prototype.refresh=function(){this._changeDetectorRef.markForCheck()},s.prototype.toggle=function(){this._open=!this._open},s.prototype.isObject=function(){return"object"===this.getType(this._data)},s.prototype.isArray=function(){return Array.isArray(this._data)},s.prototype.hasChildren=function(){return this._children&&0<this._children.length},s.prototype.getValue=function(e){var t=this.getType(e);if("undefined"===t||"null"===t)return t;if("date"===t)e=new Date(e).toString();else if("string"===t)e='"'+e+'"';else{if("function"===t)return e.toString().replace(/[\r\n]/g,"").replace(/\{.*\}/,"")+"{…}";if(Array.isArray(e))return this.getObjectName()+" ["+e.length+"]"}return e},s.prototype.getType=function(e){if("object"==typeof e){if(!e)return"null";if(Array.isArray(e))return"object";var t=new Date(e);if("[object Date]"===Object.prototype.toString.call(t)&&!Number.isNaN(t.getTime()))return"date"}return typeof e},s.prototype.getObjectName=function(){var e=this._data;if(this.isObject()&&!e.constructor)return"Object";var t=/function (.{1,})\(/.exec(e.constructor.toString());return t&&1<t.length?t[1]:""},s.prototype.getPreview=function(){var e,t=this,r="{ ",n=" }";this.isArray()?(e=this._data.slice(0,s.PREVIEW_LIMIT).map(function(e){return t.getValue(e)}),r="[",n="]"):e=this._children.slice(0,s.PREVIEW_LIMIT).map(function(e){return e+": "+t.getValue(t._data[e])});var o=e.join(", "),a=e.length>=s.PREVIEW_LIMIT||o.length>s.PREVIEW_STRING_MAX_LENGTH?"…":"";return r+o.substring(0,s.PREVIEW_STRING_MAX_LENGTH)+a+n},s.prototype.parseChildren=function(){if(this.isObject())for(var e in this._children=[],this._data)this._children.push(e)},s.KEY_MAX_LENGTH=30,s.PREVIEW_STRING_MAX_LENGTH=80,s.PREVIEW_LIMIT=5,s.decorators=[{type:o.Component,args:[{changeDetection:o.ChangeDetectionStrategy.OnPush,selector:"td-json-formatter",template:'<div class="td-json-formatter-wrapper">\n <a class="td-key"\n [class.td-key-node]="hasChildren()"\n [class.td-key-leaf]="!hasChildren()"\n [tabIndex]="isObject()? 0 : -1"\n (keydown.enter)="toggle()"\n (click)="toggle()">\n <mat-icon class="td-node-icon" *ngIf="hasChildren()">{{open? \'keyboard_arrow_down\' : (isRTL ? \'keyboard_arrow_left\' : \'keyboard_arrow_right\')}}</mat-icon>\n <span *ngIf="key" class="key">{{key}}:</span>\n <span class="value">\n <span [class.td-empty]="!hasChildren()" *ngIf="isObject()" [matTooltip]="getPreview()" matTooltipPosition="after">\n <span class="td-object-name">{{getObjectName()}}</span>\n <span class="td-array-length" *ngIf="isArray()">[{{data.length}}]</span>\n </span>\n <span *ngIf="!isObject()" [class]="getType(data)">{{getValue(data)}}</span>\n </span>\n </a>\n <div class="td-object-children" [@tdCollapse]="!(hasChildren() && open)">\n <ng-template let-key ngFor [ngForOf]="children">\n <td-json-formatter [key]="key" [data]="data[key]" [levelsOpen]="levelsOpen - 1"></td-json-formatter>\n </ng-template>\n </div>\n</div>',animations:[i.tdCollapseAnimation],styles:[":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-line-pack:center;align-content:center;max-width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .date,.td-json-formatter-wrapper .value .string{word-break:break-word}"]}]}],s.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:a.Dir,decorators:[{type:o.Optional}]}]},s.propDecorators={levelsOpen:[{type:o.Input,args:["levelsOpen"]}],key:[{type:o.Input,args:["key"]}],data:[{type:o.Input,args:["data"]}]},s);function s(e,t){this._changeDetectorRef=e,this._dir=t,this._open=!1,this._levelsOpen=0}var l=(p.decorators=[{type:o.NgModule,args:[{imports:[t.CommonModule,r.MatTooltipModule,n.MatIconModule],declarations:[d],exports:[d]}]}],p);function p(){}e.CovalentJsonFormatterModule=l,e.TdJsonFormatterComponent=d,Object.defineProperty(e,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=covalent-core-json-formatter.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@covalent/core/json-formatter/json-formatter.component.ts","ng://@covalent/core/json-formatter/json-formatter.module.ts"],"names":["TdJsonFormatterComponent","_changeDetectorRef","_dir","this","_open","_levelsOpen","Object","defineProperty","prototype","levelsOpen","Number","isInteger","Error","elipsis","_key","length","KEY_MAX_LENGTH","substring","key","_data","data","parseChildren","_children","dir","refresh","markForCheck","toggle","isObject","getType","isArray","Array","hasChildren","getValue","value","type","Date","toString","replace","getObjectName","object","date","call","isNaN","getTime","constructor","results","exec","getPreview","previewData","_this","startChar","endChar","slice","PREVIEW_LIMIT","map","obj","previewString","join","ellipsis","PREVIEW_STRING_MAX_LENGTH","push","Component","args","changeDetection","ChangeDetectionStrategy","OnPush","selector","template","animations","tdCollapseAnimation","ChangeDetectorRef","Dir","decorators","Optional","Input","CovalentJsonFormatterModule","NgModule","imports","CommonModule","MatTooltipModule","MatIconModule","declarations","exports"],"mappings":"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","sourcesContent":["import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, Optional } from '@angular/core';\nimport { Dir } from '@angular/cdk/bidi';\nimport { tdCollapseAnimation } from '@covalent/core/common';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'td-json-formatter',\n styleUrls: ['./json-formatter.component.scss' ],\n templateUrl: './json-formatter.component.html',\n animations: [\n tdCollapseAnimation,\n ],\n})\nexport class TdJsonFormatterComponent {\n\n /**\n * Max length for property names. Any names bigger than this get trunctated.\n */\n private static KEY_MAX_LENGTH: number = 30;\n\n /**\n * Max length for preview string. Any names bigger than this get trunctated.\n */\n private static PREVIEW_STRING_MAX_LENGTH: number = 80;\n\n /**\n * Max tooltip preview elements.\n */\n private static PREVIEW_LIMIT: number = 5;\n\n private _key: string;\n private _data: any;\n private _children: string[];\n private _open: boolean = false;\n private _levelsOpen: number = 0;\n\n /**\n * levelsOpen?: number\n * Levels opened by default when JS object is formatted and rendered.\n */\n @Input('levelsOpen')\n set levelsOpen(levelsOpen: number) {\n if (!Number.isInteger(levelsOpen)) {\n throw new Error('[levelsOpen] needs to be an integer.');\n }\n this._levelsOpen = levelsOpen;\n this._open = levelsOpen > 0;\n }\n get levelsOpen(): number {\n return this._levelsOpen;\n }\n\n get open(): boolean {\n return this._open;\n }\n\n /**\n * key?: string\n * Tag to be displayed next to formatted object.\n */\n @Input('key')\n set key(key: string) {\n this._key = key;\n }\n get key(): string {\n let elipsis: string = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH ? '…' : '';\n return this._key ? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) + elipsis : this._key;\n }\n\n /**\n * data: any\n * JS object to be formatted.\n */\n @Input('data')\n set data(data: any) {\n this._data = data;\n this.parseChildren();\n }\n get data(): any {\n return this._data;\n }\n\n get children(): string[] {\n return this._children;\n }\n\n get isRTL(): boolean {\n if (this._dir) {\n return this._dir.dir === 'rtl';\n }\n return false;\n }\n\n constructor(private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _dir: Dir) {\n }\n\n /**\n * Refreshes json-formatter and rerenders [data]\n */\n refresh(): void {\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggles collapse/expanded state of component.\n */\n toggle(): void {\n this._open = !this._open;\n }\n\n isObject(): boolean {\n return this.getType(this._data) === 'object';\n }\n\n isArray(): boolean {\n return Array.isArray(this._data);\n }\n\n hasChildren(): boolean {\n return this._children && this._children.length > 0;\n }\n\n /**\n * Gets parsed value depending on value type.\n */\n getValue(value: any): string {\n let type: string = this.getType(value);\n if (type === 'undefined' || (type === 'null')) {\n return type;\n } else if (type === 'date') {\n value = new Date(value).toString();\n } else if (type === 'string') {\n value = '\"' + value + '\"';\n } else if (type === 'function') {\n // Remove content of the function\n return value.toString()\n .replace(/[\\r\\n]/g, '')\n .replace(/\\{.*\\}/, '') + '{…}';\n } else if (Array.isArray(value)) {\n return this.getObjectName() + ' [' + value.length + ']';\n }\n return value;\n }\n\n /**\n * Gets type of object.\n * returns 'null' if object is null and 'date' if value is object and can be parsed to a date.\n */\n getType(object: any): string {\n if (typeof object === 'object') {\n if (!object) {\n return 'null';\n }\n if (Array.isArray(object)) {\n return 'object';\n }\n let date: Date = new Date(object);\n if (Object.prototype.toString.call(date) === '[object Date]') {\n if (!Number.isNaN(date.getTime())) {\n return 'date';\n }\n }\n }\n return typeof object;\n }\n\n /**\n * Generates string representation depending if its an object or function.\n * see: http://stackoverflow.com/a/332429\n */\n getObjectName(): string {\n let object: any = this._data;\n if (this.isObject() && !object.constructor) {\n return 'Object';\n }\n let funcNameRegex: RegExp = /function (.{1,})\\(/;\n let results: RegExpExecArray = (funcNameRegex).exec((object).constructor.toString());\n if (results && results.length > 1) {\n return results[1];\n } else {\n return '';\n }\n }\n\n /**\n * Creates preview of nodes children to render in tooltip depending if its an array or an object.\n */\n getPreview(): string {\n let previewData: string[];\n let startChar: string = '{ ';\n let endChar: string = ' }';\n if (this.isArray()) {\n let previewArray: any[] = this._data.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT);\n previewData = previewArray.map((obj: any) => {\n return this.getValue(obj);\n });\n startChar = '[';\n endChar = ']';\n } else {\n let previewKeys: string[] = this._children.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT);\n previewData = previewKeys.map((key: string) => {\n return key + ': ' + this.getValue(this._data[key]);\n });\n }\n let previewString: string = previewData.join(', ');\n let ellipsis: string = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||\n previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH ? '…' : '';\n return startChar + previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +\n ellipsis + endChar;\n }\n\n private parseChildren(): void {\n if (this.isObject()) {\n this._children = [];\n for (let key in this._data) {\n this._children.push(key);\n }\n }\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdJsonFormatterComponent } from './json-formatter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [\n TdJsonFormatterComponent,\n ],\n exports: [\n TdJsonFormatterComponent,\n ],\n})\nexport class CovalentJsonFormatterModule {\n\n}\n"]}
1
+ {"version":3,"sources":["ng://@covalent/core/json-formatter/json-formatter.component.ts","ng://@covalent/core/json-formatter/json-formatter.module.ts"],"names":["TdJsonFormatterComponent","Object","defineProperty","prototype","this","_levelsOpen","levelsOpen","Number","isInteger","Error","_open","elipsis","_key","length","KEY_MAX_LENGTH","substring","key","_data","data","parseChildren","_children","_dir","dir","refresh","_changeDetectorRef","markForCheck","toggle","isObject","getType","isArray","Array","hasChildren","getValue","value","type","Date","toString","replace","getObjectName","object","date","call","isNaN","getTime","constructor","results","exec","getPreview","previewData","_this","startChar","endChar","slice","PREVIEW_LIMIT","map","obj","previewString","join","ellipsis","PREVIEW_STRING_MAX_LENGTH","push","Component","args","changeDetection","ChangeDetectionStrategy","OnPush","selector","template","animations","tdCollapseAnimation","ChangeDetectorRef","Dir","decorators","Optional","Input","CovalentJsonFormatterModule","NgModule","imports","CommonModule","MatTooltipModule","MatIconModule","declarations","exports"],"mappings":"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","sourcesContent":["import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, Optional } from '@angular/core';\nimport { Dir } from '@angular/cdk/bidi';\nimport { tdCollapseAnimation } from '@covalent/core/common';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'td-json-formatter',\n styleUrls: ['./json-formatter.component.scss' ],\n templateUrl: './json-formatter.component.html',\n animations: [\n tdCollapseAnimation,\n ],\n})\nexport class TdJsonFormatterComponent {\n\n /**\n * Max length for property names. Any names bigger than this get trunctated.\n */\n private static KEY_MAX_LENGTH: number = 30;\n\n /**\n * Max length for preview string. Any names bigger than this get trunctated.\n */\n private static PREVIEW_STRING_MAX_LENGTH: number = 80;\n\n /**\n * Max tooltip preview elements.\n */\n private static PREVIEW_LIMIT: number = 5;\n\n private _key: string;\n private _data: any;\n private _children: string[];\n private _open: boolean = false;\n private _levelsOpen: number = 0;\n\n /**\n * levelsOpen?: number\n * Levels opened by default when JS object is formatted and rendered.\n */\n @Input('levelsOpen')\n set levelsOpen(levelsOpen: number) {\n if (!Number.isInteger(levelsOpen)) {\n throw new Error('[levelsOpen] needs to be an integer.');\n }\n this._levelsOpen = levelsOpen;\n this._open = levelsOpen > 0;\n }\n get levelsOpen(): number {\n return this._levelsOpen;\n }\n\n get open(): boolean {\n return this._open;\n }\n\n /**\n * key?: string\n * Tag to be displayed next to formatted object.\n */\n @Input('key')\n set key(key: string) {\n this._key = key;\n }\n get key(): string {\n let elipsis: string = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH ? '…' : '';\n return this._key ? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) + elipsis : this._key;\n }\n\n /**\n * data: any\n * JS object to be formatted.\n */\n @Input('data')\n set data(data: any) {\n this._data = data;\n this.parseChildren();\n }\n get data(): any {\n return this._data;\n }\n\n get children(): string[] {\n return this._children;\n }\n\n get isRTL(): boolean {\n if (this._dir) {\n return this._dir.dir === 'rtl';\n }\n return false;\n }\n\n constructor(private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _dir: Dir) {\n }\n\n /**\n * Refreshes json-formatter and rerenders [data]\n */\n refresh(): void {\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggles collapse/expanded state of component.\n */\n toggle(): void {\n this._open = !this._open;\n }\n\n isObject(): boolean {\n return this.getType(this._data) === 'object';\n }\n\n isArray(): boolean {\n return Array.isArray(this._data);\n }\n\n hasChildren(): boolean {\n return this._children && this._children.length > 0;\n }\n\n /**\n * Gets parsed value depending on value type.\n */\n getValue(value: any): string {\n let type: string = this.getType(value);\n if (type === 'undefined' || (type === 'null')) {\n return type;\n } else if (type === 'date') {\n value = new Date(value).toString();\n } else if (type === 'string') {\n value = '\"' + value + '\"';\n } else if (type === 'function') {\n // Remove content of the function\n return value.toString()\n .replace(/[\\r\\n]/g, '')\n .replace(/\\{.*\\}/, '') + '{…}';\n } else if (Array.isArray(value)) {\n return this.getObjectName() + ' [' + value.length + ']';\n }\n return value;\n }\n\n /**\n * Gets type of object.\n * returns 'null' if object is null and 'date' if value is object and can be parsed to a date.\n */\n getType(object: any): string {\n if (typeof object === 'object') {\n if (!object) {\n return 'null';\n }\n if (Array.isArray(object)) {\n return 'object';\n }\n let date: Date = new Date(object);\n if (Object.prototype.toString.call(date) === '[object Date]') {\n if (!Number.isNaN(date.getTime())) {\n return 'date';\n }\n }\n }\n return typeof object;\n }\n\n /**\n * Generates string representation depending if its an object or function.\n * see: http://stackoverflow.com/a/332429\n */\n getObjectName(): string {\n let object: any = this._data;\n if (this.isObject() && !object.constructor) {\n return 'Object';\n }\n let funcNameRegex: RegExp = /function (.{1,})\\(/;\n let results: RegExpExecArray = (funcNameRegex).exec((object).constructor.toString());\n if (results && results.length > 1) {\n return results[1];\n } else {\n return '';\n }\n }\n\n /**\n * Creates preview of nodes children to render in tooltip depending if its an array or an object.\n */\n getPreview(): string {\n let previewData: string[];\n let startChar: string = '{ ';\n let endChar: string = ' }';\n if (this.isArray()) {\n let previewArray: any[] = this._data.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT);\n previewData = previewArray.map((obj: any) => {\n return this.getValue(obj);\n });\n startChar = '[';\n endChar = ']';\n } else {\n let previewKeys: string[] = this._children.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT);\n previewData = previewKeys.map((key: string) => {\n return key + ': ' + this.getValue(this._data[key]);\n });\n }\n let previewString: string = previewData.join(', ');\n let ellipsis: string = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||\n previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH ? '…' : '';\n return startChar + previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +\n ellipsis + endChar;\n }\n\n private parseChildren(): void {\n if (this.isObject()) {\n this._children = [];\n for (let key in this._data) {\n this._children.push(key);\n }\n }\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdJsonFormatterComponent } from './json-formatter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [\n TdJsonFormatterComponent,\n ],\n exports: [\n TdJsonFormatterComponent,\n ],\n})\nexport class CovalentJsonFormatterModule {\n\n}\n"]}
@@ -113,7 +113,7 @@
113
113
  { type: core.Component, args: [{
114
114
  selector: 'td-layout',
115
115
  template: "<mat-sidenav-container fullscreen [autosize]=\"containerAutosize\">\n <mat-sidenav #sidenav\n class=\"td-layout-sidenav\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\"\n [disableClose]=\"disableClose\">\n <ng-content select=\"td-navigation-drawer\"></ng-content>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </mat-sidenav>\n <ng-content></ng-content>\n</mat-sidenav-container>\n",
116
- styles: [":host{display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container .mat-drawer>.mat-drawer-inner-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}"]
116
+ styles: [":host{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host ::ng-deep>mat-sidenav-container .mat-drawer>.mat-drawer-inner-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}"]
117
117
  }] }
118
118
  ];
119
119
  TdLayoutComponent.propDecorators = {
@@ -471,7 +471,7 @@
471
471
  { type: core.Component, args: [{
472
472
  selector: 'td-layout-nav',
473
473
  template: "<div class=\"td-layout-nav-wrapper\">\n <mat-toolbar [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span *ngIf=\"icon || logo || toolbarTitle\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\"\n class=\"td-layout-nav-toolbar-content\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\n </span>\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer\"></ng-content>\n</div>\n",
474
- styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}:host .td-layout-nav-wrapper .td-layout-nav-content{-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}"]
474
+ styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}:host .td-layout-nav-wrapper .td-layout-nav-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}"]
475
475
  }] }
476
476
  ];
477
477
  /** @nocollapse */
@@ -630,7 +630,7 @@
630
630
  { type: core.Component, args: [{
631
631
  selector: 'td-layout-nav-list',
632
632
  template: "<div class=\"td-layout-nav-list-wrapper\">\n <mat-sidenav-container fullscreen [autosize]=\"containerAutosize\" class=\"td-layout-nav-list\">\n <mat-sidenav #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\">\n <mat-toolbar [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span *ngIf=\"icon || logo || toolbarTitle\"\n class=\"td-layout-nav-list-toolbar-content\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\n </span>\n <ng-content select=\"[td-sidenav-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-list-content\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-nav-list-main\">\n <mat-toolbar [color]=\"color\">\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n </mat-sidenav-container>\n</div>\n<ng-content select=\"td-layout-footer\"></ng-content>",
633
- styles: [":host{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden;-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper>.mat-sidenav-container>mat-sidenav.mat-drawer-side{border-right:0}[dir=rtl] :host .td-layout-nav-list-wrapper>.mat-sidenav-container>mat-sidenav.mat-drawer-side{border-left:0}:host .td-layout-nav-list-wrapper{-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-nav-list-wrapper .td-layout-nav-list-toolbar-content{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}:host .td-layout-nav-list-wrapper .td-layout-nav-list-content{text-align:start;-ms-flex:1;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-nav-list-wrapper .td-layout-nav-list-main{-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto}:host .td-layout-nav-list-wrapper .td-layout-nav-list-main .td-layout-nav-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list{-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-closed,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-closing,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-opened,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-opening{box-shadow:none}:host ::ng-deep mat-sidenav-container.td-layout-nav-list>.mat-drawer-content{-ms-flex-positive:1;flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-nav-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}"]
633
+ styles: [":host{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper>.mat-sidenav-container>mat-sidenav.mat-drawer-side{border-right:0}[dir=rtl] :host .td-layout-nav-list-wrapper>.mat-sidenav-container>mat-sidenav.mat-drawer-side{border-left:0}:host .td-layout-nav-list-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-nav-list-wrapper .td-layout-nav-list-toolbar-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}:host .td-layout-nav-list-wrapper .td-layout-nav-list-content{text-align:start;-webkit-box-flex:1;-ms-flex:1;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-nav-list-wrapper .td-layout-nav-list-main{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto}:host .td-layout-nav-list-wrapper .td-layout-nav-list-main .td-layout-nav-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-box-flex:1;-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list{-webkit-box-flex:1;-ms-flex:1;flex:1}:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-closed,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-closing,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-opened,:host .td-layout-nav-list-wrapper mat-sidenav-container.td-layout-nav-list>mat-sidenav.mat-drawer-opening{-webkit-box-shadow:none;box-shadow:none}:host ::ng-deep mat-sidenav-container.td-layout-nav-list>.mat-drawer-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-nav-list>.mat-drawer>.mat-drawer-inner-container{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}"]
634
634
  }] }
635
635
  ];
636
636
  /** @nocollapse */
@@ -810,7 +810,7 @@
810
810
  { type: core.Component, args: [{
811
811
  selector: 'td-layout-card-over',
812
812
  template: "<mat-toolbar [color]=\"color\">\n</mat-toolbar>\n<div class=\"td-layout-card-over-wrapper\">\n <div class=\"td-layout-card-over\"\n [style.max-width.%]=\"cardWidth\"\n [style.flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-webkit-box-flex]=\"1\">\n <mat-card>\n <mat-card-title *ngIf=\"cardTitle\">{{cardTitle}}</mat-card-title>\n <mat-card-subtitle *ngIf=\"cardSubtitle\">{{cardSubtitle}}</mat-card-subtitle>\n <mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\n <ng-content></ng-content>\n </mat-card>\n <ng-content select=\"[td-after-card]\"></ng-content>\n </div>\n</div>\n",
813
- styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width:600px){.td-layout-card-over-wrapper{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-ms-flex-pack:center;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width:599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}"]
813
+ styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width:600px){.td-layout-card-over-wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}}@media (max-width:599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}"]
814
814
  }] }
815
815
  ];
816
816
  TdLayoutCardOverComponent.propDecorators = {
@@ -931,7 +931,7 @@
931
931
  { type: core.Component, args: [{
932
932
  selector: 'td-layout-manage-list',
933
933
  template: "<mat-sidenav-container fullscreen [autosize]=\"containerAutosize\" class=\"td-layout-manage-list\">\n <mat-sidenav #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\">\n <ng-content select=\"mat-toolbar[td-sidenav-content]\"></ng-content>\n <div class=\"td-layout-manage-list-sidenav\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-manage-list-main\">\n <ng-content select=\"mat-toolbar\"></ng-content>\n <div class=\"td-layout-manage-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n</mat-sidenav-container>\n",
934
- styles: [":host{display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{-ms-flex:1;flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening{box-shadow:0 1px 3px 0 rgba(0,0,0,.2)}:host .td-layout-manage-list-sidenav{text-align:start;-ms-flex:1;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;-ms-flex-direction:column;flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;-ms-flex:1;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{-ms-flex-positive:1;flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}"]
934
+ styles: [":host{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{-webkit-box-flex:1;-ms-flex:1;flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.2);box-shadow:0 1px 3px 0 rgba(0,0,0,.2)}:host .td-layout-manage-list-sidenav{text-align:start;-webkit-box-flex:1;-ms-flex:1;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-box-flex:1;-ms-flex:1;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}"]
935
935
  }] }
936
936
  ];
937
937
  TdLayoutManageListComponent.propDecorators = {
@@ -1352,9 +1352,9 @@
1352
1352
  TdNavigationDrawerComponent.decorators = [
1353
1353
  { type: core.Component, args: [{
1354
1354
  selector: 'td-navigation-drawer',
1355
- template: "<mat-toolbar [color]=\"color\"\n [style.background-image]=\"backgroundImage\"\n [class.td-toolbar-background]=\"!!isBackgroundAvailable\"\n class=\"td-nagivation-drawer-toolbar\">\n <ng-content select=\"[td-navigation-drawer-toolbar]\"></ng-content>\n <ng-container *ngIf=\"!isCustomToolbar\">\n <div *ngIf=\"icon || logo || sidenavTitle\"\n class=\"td-navigation-drawer-toolbar-content\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\n <span *ngIf=\"sidenavTitle\" class=\"td-navigation-drawer-title\">{{sidenavTitle}}</span>\n </div>\n <div class=\"td-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\n <div class=\"td-navigation-drawer-menu-toggle\"\n href\n *ngIf=\"email || name\"\n (click)=\"toggleMenu()\">\n <span class=\"td-navigation-drawer-label\">{{email || name}}</span>\n <button mat-icon-button class=\"td-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\n <mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\n <mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\n </button>\n </div>\n </ng-container>\n</mat-toolbar>\n<div class=\"td-navigation-drawer-content\" [@tdCollapse]=\"menuToggled\">\n <ng-content></ng-content>\n</div>\n<div class=\"td-navigation-drawer-menu-content\" [@tdCollapse]=\"!menuToggled\">\n <ng-content select=\"[td-navigation-drawer-menu]\"></ng-content>\n</div>\n",
1355
+ template: "<mat-toolbar [color]=\"color\"\n [style.background-image]=\"backgroundImage\"\n [class.td-toolbar-background]=\"!!isBackgroundAvailable\"\n class=\"td-nagivation-drawer-toolbar\">\n <ng-content select=\"[td-navigation-drawer-toolbar]\"></ng-content>\n <ng-container *ngIf=\"!isCustomToolbar\">\n <div *ngIf=\"icon || logo || sidenavTitle || avatar\"\n class=\"td-navigation-drawer-toolbar-content\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\n <img *ngIf=\"avatar && !logo && !icon\" class=\"td-nagivation-drawer-toolbar-avatar\" [attr.src]=\"avatar\" />\n <span *ngIf=\"sidenavTitle\" class=\"td-navigation-drawer-title\">{{sidenavTitle}}</span>\n </div>\n <div class=\"td-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\n <div class=\"td-navigation-drawer-menu-toggle\"\n href\n *ngIf=\"email || name\"\n (click)=\"toggleMenu()\">\n <span class=\"td-navigation-drawer-label\">{{email || name}}</span>\n <button mat-icon-button class=\"td-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\n <mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\n <mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\n </button>\n </div>\n </ng-container>\n</mat-toolbar>\n<div class=\"td-navigation-drawer-content\" [@tdCollapse]=\"menuToggled\">\n <ng-content></ng-content>\n</div>\n<div class=\"td-navigation-drawer-menu-content\" [@tdCollapse]=\"!menuToggled\">\n <ng-content select=\"[td-navigation-drawer-menu]\"></ng-content>\n</div>\n",
1356
1356
  animations: [common$1.tdCollapseAnimation],
1357
- styles: [":host{width:100%}:host .td-navigation-drawer-content.ng-animating,:host .td-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.td-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.td-nagivation-drawer-toolbar{-ms-flex-direction:column;flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .td-navigation-drawer-toolbar-content{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}:host mat-toolbar .td-navigation-drawer-menu-toggle{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex}:host mat-toolbar .td-navigation-drawer-menu-toggle .td-navigation-drawer-label{-ms-flex:1;flex:1}:host mat-toolbar .td-navigation-drawer-menu-toggle .td-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px}:host>div{overflow:hidden}"]
1357
+ styles: [":host{width:100%}:host .td-navigation-drawer-content.ng-animating,:host .td-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.td-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.td-nagivation-drawer-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .td-navigation-drawer-toolbar-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}:host mat-toolbar .td-navigation-drawer-toolbar-content .td-nagivation-drawer-toolbar-avatar{border-radius:50%;height:60px;width:60px;margin:0 12px 12px 0}:host mat-toolbar .td-navigation-drawer-menu-toggle{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex}:host mat-toolbar .td-navigation-drawer-menu-toggle .td-navigation-drawer-label{-webkit-box-flex:1;-ms-flex:1;flex:1}:host mat-toolbar .td-navigation-drawer-menu-toggle .td-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px}:host>div{overflow:hidden}"]
1358
1358
  }] }
1359
1359
  ];
1360
1360
  /** @nocollapse */
@@ -1371,6 +1371,7 @@
1371
1371
  sidenavTitle: [{ type: core.Input, args: ['sidenavTitle',] }],
1372
1372
  icon: [{ type: core.Input, args: ['icon',] }],
1373
1373
  logo: [{ type: core.Input, args: ['logo',] }],
1374
+ avatar: [{ type: core.Input, args: ['avatar',] }],
1374
1375
  color: [{ type: core.Input, args: ['color',] }],
1375
1376
  navigationRoute: [{ type: core.Input, args: ['navigationRoute',] }],
1376
1377
  backgroundUrl: [{ type: core.Input, args: ['backgroundUrl',] }],