@covalent/core 3.1.1-beta.1 → 3.1.2-beta.7

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 (305) hide show
  1. package/bundles/covalent-core-breadcrumbs.umd.js.map +1 -1
  2. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +1 -1
  3. package/bundles/covalent-core-chips.umd.js +1 -1
  4. package/bundles/covalent-core-chips.umd.js.map +1 -1
  5. package/bundles/covalent-core-chips.umd.min.js +2 -2
  6. package/bundles/covalent-core-chips.umd.min.js.map +1 -1
  7. package/bundles/covalent-core-common.umd.js.map +1 -1
  8. package/bundles/covalent-core-common.umd.min.js.map +1 -1
  9. package/bundles/covalent-core-data-table.umd.js +2 -2
  10. package/bundles/covalent-core-data-table.umd.js.map +1 -1
  11. package/bundles/covalent-core-data-table.umd.min.js +2 -2
  12. package/bundles/covalent-core-data-table.umd.min.js.map +1 -1
  13. package/bundles/covalent-core-dialogs.umd.js +1 -1
  14. package/bundles/covalent-core-dialogs.umd.js.map +1 -1
  15. package/bundles/covalent-core-dialogs.umd.min.js +1 -1
  16. package/bundles/covalent-core-dialogs.umd.min.js.map +1 -1
  17. package/bundles/covalent-core-dynamic-menu.umd.js.map +1 -1
  18. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +1 -1
  19. package/bundles/covalent-core-expansion-panel.umd.js.map +1 -1
  20. package/bundles/covalent-core-file.umd.js.map +1 -1
  21. package/bundles/covalent-core-file.umd.min.js.map +1 -1
  22. package/bundles/covalent-core-json-formatter.umd.js.map +1 -1
  23. package/bundles/covalent-core-layout.umd.js +1 -1
  24. package/bundles/covalent-core-layout.umd.js.map +1 -1
  25. package/bundles/covalent-core-layout.umd.min.js +1 -1
  26. package/bundles/covalent-core-layout.umd.min.js.map +1 -1
  27. package/bundles/covalent-core-loading.umd.js.map +1 -1
  28. package/bundles/covalent-core-loading.umd.min.js.map +1 -1
  29. package/bundles/covalent-core-media.umd.js.map +1 -1
  30. package/bundles/covalent-core-media.umd.min.js.map +1 -1
  31. package/bundles/covalent-core-menu.umd.js.map +1 -1
  32. package/bundles/covalent-core-message.umd.js.map +1 -1
  33. package/bundles/covalent-core-nav-links.umd.js.map +1 -1
  34. package/bundles/covalent-core-notifications.umd.js.map +1 -1
  35. package/bundles/covalent-core-paging.umd.js.map +1 -1
  36. package/bundles/covalent-core-search.umd.js.map +1 -1
  37. package/bundles/covalent-core-search.umd.min.js.map +1 -1
  38. package/bundles/covalent-core-side-sheet.umd.js +1396 -0
  39. package/bundles/covalent-core-side-sheet.umd.js.map +1 -0
  40. package/bundles/covalent-core-side-sheet.umd.min.js +16 -0
  41. package/bundles/covalent-core-side-sheet.umd.min.js.map +1 -0
  42. package/bundles/covalent-core-sidesheet.umd.js.map +1 -1
  43. package/bundles/covalent-core-steps.umd.js.map +1 -1
  44. package/bundles/covalent-core-steps.umd.min.js.map +1 -1
  45. package/bundles/covalent-core-tab-select.umd.js.map +1 -1
  46. package/bundles/covalent-core-tab-select.umd.min.js.map +1 -1
  47. package/bundles/covalent-core-user-profile.umd.js.map +1 -1
  48. package/bundles/covalent-core-user-profile.umd.min.js.map +1 -1
  49. package/bundles/covalent-core-virtual-scroll.umd.js.map +1 -1
  50. package/bundles/covalent-core.umd.js.map +1 -1
  51. package/chips/covalent-core-chips.metadata.json +1 -1
  52. package/common/_common-theme.scss +11 -0
  53. package/data-table/covalent-core-data-table.metadata.json +1 -1
  54. package/dialogs/_dialog-theme.scss +7 -0
  55. package/dialogs/covalent-core-dialogs.metadata.json +1 -1
  56. package/dialogs/window-dialog/window-dialog.component.scss +4 -0
  57. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +1 -1
  58. package/esm2015/breadcrumbs/breadcrumbs.component.js +1 -1
  59. package/esm2015/breadcrumbs/breadcrumbs.module.js +1 -1
  60. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +1 -1
  61. package/esm2015/breadcrumbs/index.js +1 -1
  62. package/esm2015/breadcrumbs/public-api.js +1 -1
  63. package/esm2015/chips/chips.component.js +2 -2
  64. package/esm2015/chips/chips.module.js +1 -1
  65. package/esm2015/chips/covalent-core-chips.js +1 -1
  66. package/esm2015/chips/index.js +1 -1
  67. package/esm2015/chips/public-api.js +1 -1
  68. package/esm2015/common/animations/bounce/bounce.animation.js +1 -1
  69. package/esm2015/common/animations/collapse/collapse.animation.js +1 -1
  70. package/esm2015/common/animations/common/interfaces.js +1 -1
  71. package/esm2015/common/animations/fade/fadeInOut.animation.js +1 -1
  72. package/esm2015/common/animations/flash/flash.animation.js +1 -1
  73. package/esm2015/common/animations/headshake/headshake.animation.js +1 -1
  74. package/esm2015/common/animations/jello/jello.animation.js +1 -1
  75. package/esm2015/common/animations/pulse/pulse.animation.js +1 -1
  76. package/esm2015/common/animations/rotate/rotate.animation.js +1 -1
  77. package/esm2015/common/behaviors/control-value-accesor.mixin.js +1 -1
  78. package/esm2015/common/behaviors/disable-ripple.mixin.js +1 -1
  79. package/esm2015/common/behaviors/disabled.mixin.js +1 -1
  80. package/esm2015/common/common.module.js +1 -1
  81. package/esm2015/common/covalent-core-common.js +1 -1
  82. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +1 -1
  83. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +1 -1
  84. package/esm2015/common/forms/validators/validators.js +1 -1
  85. package/esm2015/common/functions/clipboard.js +1 -1
  86. package/esm2015/common/functions/convert.js +1 -1
  87. package/esm2015/common/functions/download.js +1 -1
  88. package/esm2015/common/functions/file.js +1 -1
  89. package/esm2015/common/index.js +1 -1
  90. package/esm2015/common/pipes/bytes/bytes.pipe.js +1 -1
  91. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +1 -1
  92. package/esm2015/common/pipes/digits/digits.pipe.js +1 -1
  93. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +1 -1
  94. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +1 -1
  95. package/esm2015/common/pipes/time-until/time-until.pipe.js +1 -1
  96. package/esm2015/common/pipes/truncate/truncate.pipe.js +1 -1
  97. package/esm2015/common/public-api.js +1 -1
  98. package/esm2015/common/services/icon.service.js +1 -1
  99. package/esm2015/common/services/router-path.service.js +1 -1
  100. package/esm2015/covalent-core.js +1 -1
  101. package/esm2015/data-table/covalent-core-data-table.js +1 -1
  102. package/esm2015/data-table/data-table-cell/data-table-cell.component.js +2 -2
  103. package/esm2015/data-table/data-table-column/data-table-column.component.js +2 -2
  104. package/esm2015/data-table/data-table-row/data-table-row.component.js +1 -1
  105. package/esm2015/data-table/data-table-table/data-table-table.component.js +1 -1
  106. package/esm2015/data-table/data-table.component.js +1 -1
  107. package/esm2015/data-table/data-table.module.js +1 -1
  108. package/esm2015/data-table/directives/data-table-template.directive.js +1 -1
  109. package/esm2015/data-table/index.js +1 -1
  110. package/esm2015/data-table/public-api.js +1 -1
  111. package/esm2015/data-table/services/data-table.service.js +1 -1
  112. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +1 -1
  113. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +1 -1
  114. package/esm2015/dialogs/covalent-core-dialogs.js +1 -1
  115. package/esm2015/dialogs/dialog.component.js +1 -1
  116. package/esm2015/dialogs/dialogs.module.js +1 -1
  117. package/esm2015/dialogs/index.js +1 -1
  118. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +1 -1
  119. package/esm2015/dialogs/public-api.js +1 -1
  120. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +2 -2
  121. package/esm2015/dialogs/services/dialog.service.js +1 -1
  122. package/esm2015/dialogs/window-dialog/window-dialog.component.js +2 -2
  123. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +1 -1
  124. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +1 -1
  125. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +1 -1
  126. package/esm2015/dynamic-menu/dynamic-menu.component.js +1 -1
  127. package/esm2015/dynamic-menu/dynamic-menu.module.js +1 -1
  128. package/esm2015/dynamic-menu/index.js +1 -1
  129. package/esm2015/dynamic-menu/public_api.js +1 -1
  130. package/esm2015/expansion-panel/covalent-core-expansion-panel.js +1 -1
  131. package/esm2015/expansion-panel/expansion-panel-group.component.js +1 -1
  132. package/esm2015/expansion-panel/expansion-panel.component.js +1 -1
  133. package/esm2015/expansion-panel/expansion-panel.module.js +1 -1
  134. package/esm2015/expansion-panel/index.js +1 -1
  135. package/esm2015/expansion-panel/public-api.js +1 -1
  136. package/esm2015/file/covalent-core-file.js +1 -1
  137. package/esm2015/file/directives/file-drop.directive.js +1 -1
  138. package/esm2015/file/directives/file-select.directive.js +1 -1
  139. package/esm2015/file/file-input/file-input.component.js +1 -1
  140. package/esm2015/file/file-upload/file-upload.component.js +1 -1
  141. package/esm2015/file/file.module.js +1 -1
  142. package/esm2015/file/index.js +1 -1
  143. package/esm2015/file/public-api.js +1 -1
  144. package/esm2015/file/services/file.service.js +1 -1
  145. package/esm2015/index.js +1 -1
  146. package/esm2015/json-formatter/covalent-core-json-formatter.js +1 -1
  147. package/esm2015/json-formatter/index.js +1 -1
  148. package/esm2015/json-formatter/json-formatter.component.js +1 -1
  149. package/esm2015/json-formatter/json-formatter.module.js +1 -1
  150. package/esm2015/json-formatter/public-api.js +1 -1
  151. package/esm2015/layout/covalent-core-layout.js +1 -1
  152. package/esm2015/layout/index.js +1 -1
  153. package/esm2015/layout/layout-card-over/layout-card-over.component.js +2 -2
  154. package/esm2015/layout/layout-footer/layout-footer.component.js +1 -1
  155. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +1 -1
  156. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +1 -1
  157. package/esm2015/layout/layout-nav/layout-nav.component.js +1 -1
  158. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +1 -1
  159. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +1 -1
  160. package/esm2015/layout/layout-toggle.class.js +1 -1
  161. package/esm2015/layout/layout.component.js +1 -1
  162. package/esm2015/layout/layout.directives.js +1 -1
  163. package/esm2015/layout/layout.module.js +1 -1
  164. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +1 -1
  165. package/esm2015/layout/public-api.js +1 -1
  166. package/esm2015/loading/covalent-core-loading.js +1 -1
  167. package/esm2015/loading/directives/loading.directive.js +1 -1
  168. package/esm2015/loading/index.js +1 -1
  169. package/esm2015/loading/loading.component.js +1 -1
  170. package/esm2015/loading/loading.module.js +1 -1
  171. package/esm2015/loading/public-api.js +1 -1
  172. package/esm2015/loading/services/loading.factory.js +1 -1
  173. package/esm2015/loading/services/loading.service.js +1 -1
  174. package/esm2015/media/covalent-core-media.js +1 -1
  175. package/esm2015/media/directives/media-toggle.directive.js +1 -1
  176. package/esm2015/media/index.js +1 -1
  177. package/esm2015/media/media.module.js +1 -1
  178. package/esm2015/media/public-api.js +1 -1
  179. package/esm2015/media/services/media.service.js +1 -1
  180. package/esm2015/menu/covalent-core-menu.js +1 -1
  181. package/esm2015/menu/index.js +1 -1
  182. package/esm2015/menu/menu.component.js +1 -1
  183. package/esm2015/menu/menu.module.js +1 -1
  184. package/esm2015/menu/public-api.js +1 -1
  185. package/esm2015/message/covalent-core-message.js +1 -1
  186. package/esm2015/message/index.js +1 -1
  187. package/esm2015/message/message.component.js +1 -1
  188. package/esm2015/message/message.module.js +1 -1
  189. package/esm2015/message/public-api.js +1 -1
  190. package/esm2015/nav-links/covalent-core-nav-links.js +1 -1
  191. package/esm2015/nav-links/index.js +1 -1
  192. package/esm2015/nav-links/nav-links.component.js +1 -1
  193. package/esm2015/nav-links/nav-links.module.js +1 -1
  194. package/esm2015/nav-links/public-api.js +1 -1
  195. package/esm2015/notifications/covalent-core-notifications.js +1 -1
  196. package/esm2015/notifications/index.js +1 -1
  197. package/esm2015/notifications/notification-count.component.js +1 -1
  198. package/esm2015/notifications/notifications.module.js +1 -1
  199. package/esm2015/notifications/public-api.js +1 -1
  200. package/esm2015/paging/covalent-core-paging.js +1 -1
  201. package/esm2015/paging/index.js +1 -1
  202. package/esm2015/paging/paging-bar.component.js +1 -1
  203. package/esm2015/paging/paging.module.js +1 -1
  204. package/esm2015/paging/public-api.js +1 -1
  205. package/esm2015/search/covalent-core-search.js +1 -1
  206. package/esm2015/search/index.js +1 -1
  207. package/esm2015/search/public-api.js +1 -1
  208. package/esm2015/search/search-box/search-box.component.js +1 -1
  209. package/esm2015/search/search-input/search-input.component.js +1 -1
  210. package/esm2015/search/search.module.js +1 -1
  211. package/esm2015/side-sheet/covalent-core-side-sheet.js +12 -0
  212. package/esm2015/side-sheet/index.js +7 -0
  213. package/esm2015/side-sheet/public-api.js +11 -0
  214. package/esm2015/side-sheet/side-sheet-container.js +388 -0
  215. package/esm2015/side-sheet/side-sheet-ref.js +47 -0
  216. package/esm2015/side-sheet/side-sheet.animation.js +20 -0
  217. package/esm2015/side-sheet/side-sheet.config.js +12 -0
  218. package/esm2015/side-sheet/side-sheet.content-directives.js +255 -0
  219. package/esm2015/side-sheet/side-sheet.js +312 -0
  220. package/esm2015/side-sheet/side-sheet.module.js +36 -0
  221. package/esm2015/sidesheet/covalent-core-sidesheet.js +1 -1
  222. package/esm2015/sidesheet/index.js +1 -1
  223. package/esm2015/sidesheet/public-api.js +1 -1
  224. package/esm2015/sidesheet/sidesheet.component.js +1 -1
  225. package/esm2015/sidesheet/sidesheet.module.js +1 -1
  226. package/esm2015/steps/covalent-core-steps.js +1 -1
  227. package/esm2015/steps/index.js +1 -1
  228. package/esm2015/steps/nav/nav-step-link/nav-step-link.component.js +1 -1
  229. package/esm2015/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +1 -1
  230. package/esm2015/steps/nav/nav-steps-vertical/nav-steps-vertical.component.js +1 -1
  231. package/esm2015/steps/public-api.js +1 -1
  232. package/esm2015/steps/step-body/step-body.component.js +1 -1
  233. package/esm2015/steps/step-header/step-header.component.js +1 -1
  234. package/esm2015/steps/step.component.js +1 -1
  235. package/esm2015/steps/steps.component.js +1 -1
  236. package/esm2015/steps/steps.module.js +1 -1
  237. package/esm2015/tab-select/covalent-core-tab-select.js +1 -1
  238. package/esm2015/tab-select/index.js +1 -1
  239. package/esm2015/tab-select/public-api.js +1 -1
  240. package/esm2015/tab-select/tab-option.component.js +1 -1
  241. package/esm2015/tab-select/tab-select.component.js +1 -1
  242. package/esm2015/tab-select/tab-select.module.js +1 -1
  243. package/esm2015/user-profile/covalent-core-user-profile.js +1 -1
  244. package/esm2015/user-profile/index.js +1 -1
  245. package/esm2015/user-profile/public_api.js +1 -1
  246. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +1 -1
  247. package/esm2015/user-profile/user-profile.component.js +1 -1
  248. package/esm2015/user-profile/user-profile.module.js +1 -1
  249. package/esm2015/virtual-scroll/covalent-core-virtual-scroll.js +1 -1
  250. package/esm2015/virtual-scroll/index.js +1 -1
  251. package/esm2015/virtual-scroll/public-api.js +1 -1
  252. package/esm2015/virtual-scroll/virtual-scroll-container.component.js +1 -1
  253. package/esm2015/virtual-scroll/virtual-scroll-row.directive.js +1 -1
  254. package/esm2015/virtual-scroll/virtual-scroll.module.js +1 -1
  255. package/fesm2015/covalent-core-breadcrumbs.js.map +1 -1
  256. package/fesm2015/covalent-core-chips.js +1 -1
  257. package/fesm2015/covalent-core-chips.js.map +1 -1
  258. package/fesm2015/covalent-core-common.js.map +1 -1
  259. package/fesm2015/covalent-core-data-table.js +2 -2
  260. package/fesm2015/covalent-core-data-table.js.map +1 -1
  261. package/fesm2015/covalent-core-dialogs.js +2 -2
  262. package/fesm2015/covalent-core-dialogs.js.map +1 -1
  263. package/fesm2015/covalent-core-dynamic-menu.js.map +1 -1
  264. package/fesm2015/covalent-core-file.js.map +1 -1
  265. package/fesm2015/covalent-core-layout.js +1 -1
  266. package/fesm2015/covalent-core-layout.js.map +1 -1
  267. package/fesm2015/covalent-core-loading.js.map +1 -1
  268. package/fesm2015/covalent-core-media.js.map +1 -1
  269. package/fesm2015/covalent-core-search.js.map +1 -1
  270. package/fesm2015/covalent-core-side-sheet.js +1070 -0
  271. package/fesm2015/covalent-core-side-sheet.js.map +1 -0
  272. package/fesm2015/covalent-core-steps.js.map +1 -1
  273. package/fesm2015/covalent-core-tab-select.js.map +1 -1
  274. package/fesm2015/covalent-core-user-profile.js.map +1 -1
  275. package/layout/covalent-core-layout.metadata.json +1 -1
  276. package/package.json +7 -7
  277. package/schematics/ng-add/index.js +3 -6
  278. package/schematics/ng-add/index.js.map +1 -1
  279. package/side-sheet/README.md +66 -0
  280. package/side-sheet/covalent-core-side-sheet.d.ts +6 -0
  281. package/side-sheet/covalent-core-side-sheet.metadata.json +1 -0
  282. package/side-sheet/index.d.ts +1 -0
  283. package/side-sheet/package.json +11 -0
  284. package/side-sheet/public-api.d.ts +5 -0
  285. package/side-sheet/side-sheet-container.d.ts +92 -0
  286. package/side-sheet/side-sheet-ref.d.ts +9 -0
  287. package/side-sheet/side-sheet.animation.d.ts +4 -0
  288. package/side-sheet/side-sheet.config.d.ts +3 -0
  289. package/side-sheet/side-sheet.content-directives.d.ts +50 -0
  290. package/side-sheet/side-sheet.d.ts +56 -0
  291. package/side-sheet/side-sheet.module.d.ts +2 -0
  292. package/side-sheet/side-sheet.scss +69 -0
  293. package/side-sheet/side-sheet.theme.scss +8 -0
  294. package/tab-select/covalent-core-tab-select.metadata.json +1 -1
  295. package/theming/_all-theme.scss +2 -0
  296. package/theming/prebuilt/blue-grey-deep-orange.css +34 -1
  297. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  298. package/theming/prebuilt/blue-orange.css +34 -1
  299. package/theming/prebuilt/blue-orange.css.map +1 -1
  300. package/theming/prebuilt/indigo-pink.css +34 -1
  301. package/theming/prebuilt/indigo-pink.css.map +1 -1
  302. package/theming/prebuilt/orange-light-blue.css +34 -1
  303. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  304. package/theming/prebuilt/teal-orange.css +34 -1
  305. package/theming/prebuilt/teal-orange.css.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"covalent-core-side-sheet.js","sources":["../../../../src/platform/core/side-sheet/side-sheet.animation.ts","../../../../src/platform/core/side-sheet/side-sheet.config.ts","../../../../src/platform/core/side-sheet/side-sheet-container.ts","../../../../src/platform/core/side-sheet/side-sheet-ref.ts","../../../../src/platform/core/side-sheet/side-sheet.ts","../../../../src/platform/core/side-sheet/side-sheet.content-directives.ts","../../../../src/platform/core/side-sheet/side-sheet.module.ts"],"sourcesContent":["import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\nimport { AnimationCurves, AnimationDurations } from '@angular/material/core';\n\nexport const tdSideSheetAnimations: {\n readonly sideSheetContainer: AnimationTriggerMetadata;\n} = {\n /** Animation that is applied on the side-sheet container by default. */\n sideSheetContainer: trigger('sideSheetContainer', [\n state('void, exit', style({ transform: 'translateX(100%)' })),\n state('enter', style({ transform: 'translateX(0%)', opacity: 1 })),\n transition(\n '* => enter',\n animate(\n `${AnimationDurations.ENTERING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(0)', opacity: 1 }),\n ),\n ),\n transition(\n '* => void, * => exit',\n animate(\n `${AnimationDurations.EXITING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(100%)' }),\n ),\n ),\n ]),\n};\n","import { MatDialogConfig } from '@angular/material/dialog';\n\nexport class CovalentSideSheetConfig<D = any> extends MatDialogConfig<D> {}\n","/* tslint:disable */\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusMonitor, FocusOrigin, FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, DomPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { tdSideSheetAnimations } from './side-sheet.animation';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\nexport function _getFocusedElementPierceShadowDom(): HTMLElement | null {\n let activeElement =\n typeof document !== 'undefined' && document ? (document.activeElement as HTMLElement | null) : null;\n\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement as HTMLElement | null;\n if (newActiveElement === activeElement) {\n break;\n } else {\n activeElement = newActiveElement;\n }\n }\n\n return activeElement;\n}\n\n/**\n * Base class for the `CovalentSideSheetContainer`. The base class does not implement\n * animations as these are left to implementers of the side-sheet container.\n */\n@Directive()\nexport abstract class _CovalentSideSheetContainerBase extends BasePortalOutlet {\n protected _document: Document;\n\n /** The portal outlet inside of this container into which the side-sheet content will be loaded. */\n @ViewChild(CdkPortalOutlet, { static: true }) _portalOutlet: CdkPortalOutlet;\n\n /** The class that traps and manages focus within the side-sheet. */\n private _focusTrap: FocusTrap;\n\n /** Emits when an animation state changes. */\n _animationStateChanged = new EventEmitter<{\n state: 'opened' | 'opening' | 'closing' | 'closed';\n totalTime: number;\n }>();\n\n /** Element that was focused before the side-sheet was opened. Save this to restore upon close. */\n private _elementFocusedBeforeSideSheetWasOpened: HTMLElement | null = null;\n\n /**\n * Type of interaction that led to the side-sheet being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the side-sheet is closed.\n */\n _closeInteractionType: FocusOrigin | null = null;\n\n /** ID of the element that should be considered as the side-sheet's label. */\n _ariaLabelledBy: string | null;\n\n /** ID for the container DOM element. */\n _id: string;\n\n constructor(\n protected _elementRef: ElementRef,\n protected _focusTrapFactory: FocusTrapFactory,\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The side-sheet configuration. */\n public _config: CovalentSideSheetConfig,\n private _focusMonitor?: FocusMonitor,\n ) {\n super();\n this._ariaLabelledBy = _config.ariaLabelledBy || null;\n this._document = _document;\n }\n\n /** Starts the side-sheet exit animation. */\n abstract _startExitAnimation(): void;\n\n /** Initializes the side-sheet container with the attached content. */\n _initializeWithAttachedContent() {\n this._setupFocusTrap();\n // Save the previously focused element. This element will be re-focused\n // when the side-sheet closes.\n this._capturePreviouslyFocusedElement();\n }\n\n /**\n * Attach a ComponentPortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the side-sheet container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n */\n attachDomPortal = (portal: DomPortal) => {\n return this._portalOutlet.attachDomPortal(portal);\n };\n\n /** Moves focus back into the side-sheet if it was moved out. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n this._trapFocus();\n }\n }\n\n /**\n * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus\n * cannot be moved then focus will go to the side-sheet container.\n */\n protected _trapFocus() {\n const element = this._elementRef.nativeElement;\n if (!this._config.autoFocus) {\n if (!this._containsFocus()) {\n element.focus();\n }\n } else {\n this._focusTrap.focusInitialElementWhenReady().then((focusedSuccessfully) => {\n // If we weren't able to find a focusable element in the side-sheet, then focus the side-sheet\n // container instead.\n if (!focusedSuccessfully) {\n this._focusSideSheetContainer();\n }\n });\n }\n }\n\n /** Restores focus to the element that was focused before the side-sheet opened. */\n protected _restoreFocus() {\n const previousElement = this._elementFocusedBeforeSideSheetWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this._config.restoreFocus && previousElement && typeof previousElement.focus === 'function') {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the side-sheet or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (\n !activeElement ||\n activeElement === this._document.body ||\n activeElement === element ||\n element.contains(activeElement)\n ) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(previousElement, this._closeInteractionType);\n this._closeInteractionType = null;\n } else {\n previousElement.focus();\n }\n }\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Sets up the focus trap. */\n private _setupFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n }\n\n /** Captures the element that was focused before the side-sheet was opened. */\n private _capturePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeSideSheetWasOpened = _getFocusedElementPierceShadowDom();\n }\n }\n\n /** Focuses the side-sheet container. */\n private _focusSideSheetContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Returns whether focus is inside the side-sheet. */\n private _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = _getFocusedElementPierceShadowDom();\n return element === activeElement || element.contains(activeElement);\n }\n}\n\n/**\n * Internal component that wraps the generated side-sheet content.\n * This animation below is the only reason for duplicating most of the Material dialog code\n */\n@Component({\n selector: 'td-side-sheet-container',\n template: `\n <ng-template cdkPortalOutlet></ng-template>\n `,\n styleUrls: ['side-sheet.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [tdSideSheetAnimations.sideSheetContainer],\n host: {\n 'class': 'td-side-sheet-container',\n 'tabindex': '-1',\n 'aria-modal': 'true',\n '[id]': '_id',\n '[attr.role]': '_config.role',\n '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',\n '[attr.aria-label]': '_config.ariaLabel',\n '[attr.aria-describedby]': '_config.ariaDescribedBy || null',\n '[@sideSheetContainer]': '_state',\n '(@sideSheetContainer.done)': '_onAnimationDone($event)',\n },\n})\nexport class CovalentSideSheetContainer extends _CovalentSideSheetContainerBase {\n /** State of the side-sheet animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Callback, invoked whenever an animation on the host completes. */\n _onAnimationDone({ toState, totalTime }: AnimationEvent) {\n if (toState === 'enter') {\n this._trapFocus();\n this._animationStateChanged.next({ state: 'opened', totalTime });\n } else if (toState === 'exit') {\n this._restoreFocus();\n this._animationStateChanged.next({ state: 'closed', totalTime });\n }\n }\n\n /** Starts the side-sheet exit animation. */\n _startExitAnimation(): void {\n this._state = 'exit';\n this._changeDetectorRef.markForCheck();\n }\n}\n","/* tslint:disable */\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { MatDialogRef, _MatDialogContainerBase } from '@angular/material/dialog';\n\n// Counter for unique dialog ids.\nlet uniqueId = 0;\n\n// Create a new side sheet ref to change the id of the ref\nexport class CovalentSideSheetRef<T, R = any> extends MatDialogRef<T, R> {\n constructor(\n overlayRef: OverlayRef,\n public _containerInstance: _MatDialogContainerBase,\n readonly id: string = `td-side-sheet-${uniqueId++}`,\n ) {\n super(overlayRef, _containerInstance, id);\n }\n}\n\nexport function _closeSideSheetVia<R>(ref: MatDialogRef<R>, interactionType: FocusOrigin, result?: R) {\n // Some mock dialog ref instances in tests do not have the `_containerInstance` property.\n // For those, we keep the behavior as is and do not deal with the interaction type.\n if (ref._containerInstance !== undefined) {\n ref._containerInstance._closeInteractionType = interactionType;\n }\n return ref.close(result);\n}\n","/* tslint:disable */\nimport {\n Directive,\n Inject,\n Injectable,\n InjectFlags,\n InjectionToken,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n StaticProvider,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef, GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { MAT_DIALOG_DATA, MAT_DIALOG_DEFAULT_OPTIONS, _MatDialogContainerBase } from '@angular/material/dialog';\nimport { CovalentSideSheetContainer, _CovalentSideSheetContainerBase } from './side-sheet-container';\nimport { Subject, Subscription, of } from 'rxjs';\nimport { Directionality } from '@angular/cdk/bidi';\n\nimport { CovalentSideSheetRef } from './side-sheet-ref';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\n@Directive()\nexport class _CovalentSideSheetBase<C extends _CovalentSideSheetContainerBase> implements OnDestroy {\n private _openSideSheetsAtThisLevel: CovalentSideSheetRef<any>[] = [];\n private readonly _afterAllClosedAtThisLevel = new Subject<void>();\n private readonly _afterOpenedAtThisLevel = new Subject<CovalentSideSheetRef<any>>();\n private _animationStateSubscriptions: Subscription;\n\n private defaultSidebarConfig = {\n minWidth: '400px',\n };\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n private _defaultOptions: CovalentSideSheetConfig | undefined,\n private _parentSideSheet: _CovalentSideSheetBase<C> | undefined,\n private _sideSheetRefConstructor: Type<CovalentSideSheetRef<any>>,\n private _sideSheetContainerType: Type<C>,\n private _sideSheetDataToken: InjectionToken<any>,\n ) {}\n\n /** Keeps track of the currently-open side-sheets. */\n get openSideSheets(): CovalentSideSheetRef<any>[] {\n return this._parentSideSheet ? this._parentSideSheet.openSideSheets : this._openSideSheetsAtThisLevel;\n }\n\n open<T, D = any, R = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: CovalentSideSheetConfig<D>,\n ): CovalentSideSheetRef<T, R> {\n config = { ...this.defaultSidebarConfig, ...config, ...(this._defaultOptions || new CovalentSideSheetConfig()) };\n\n const overlayRef = this._createOverlay(config);\n const sideSheetContainer = this._attachSideSheetContainer(overlayRef, config);\n\n const sideSheetRef = this._attachSideSheetContent<T, R>(\n componentOrTemplateRef,\n sideSheetContainer,\n overlayRef,\n config,\n );\n\n this.openSideSheets.push(sideSheetRef);\n\n // Notify the side-sheet container that the content has been attached.\n sideSheetContainer._initializeWithAttachedContent();\n\n return sideSheetRef;\n }\n\n ngOnDestroy() {\n // Only close the side-sheets at this level on destroy\n // since the parent service may still be active.\n this._closeSideSheets(this._openSideSheetsAtThisLevel);\n this._afterAllClosedAtThisLevel.complete();\n this._afterOpenedAtThisLevel.complete();\n // Clean up any subscriptions to side-sheet that never finished opening.\n if (this._animationStateSubscriptions) {\n this._animationStateSubscriptions.unsubscribe();\n }\n }\n\n /**\n * Closes all of the currently-open side-sheets.\n */\n closeAll(): void {\n this._closeSideSheets(this.openSideSheets);\n }\n\n private _createOverlay<T>(config): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: config.panelClass,\n hasBackdrop: config.hasBackdrop,\n direction: config.direction,\n minWidth: config.minWidth,\n minHeight: config.minHeight,\n maxWidth: config.maxWidth,\n });\n const overlayRef = this._overlay.create(overlayConfig);\n const positionStrategy = overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n positionStrategy.right('0px');\n\n return overlayRef;\n }\n\n /**\n * Attaches a container to a side-sheets's already-created overlay.\n * @param overlay Reference to the side-sheet's underlying overlay.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n private _attachSideSheetContainer(overlay: OverlayRef, config: CovalentSideSheetConfig): C {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{ provide: CovalentSideSheetConfig, useValue: config }],\n });\n\n const containerPortal = new ComponentPortal(\n this._sideSheetContainerType,\n config.viewContainerRef,\n injector,\n config.componentFactoryResolver,\n );\n const containerRef = overlay.attach<C>(containerPortal);\n\n return containerRef.instance;\n }\n\n /**\n * Attaches the user-provided component to the already-created side sheet container.\n * @param componentOrTemplateRef The type of component being loaded into the side-sheet,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping side-sheet container.\n * @param overlayRef Reference to the overlay in which the side-sheet resides.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to the CovalentSideSheetRef that should be returned to the user.\n */\n private _attachSideSheetContent<T, R>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n sideSheetContainer: C,\n overlayRef: OverlayRef,\n config: CovalentSideSheetConfig,\n ): CovalentSideSheetRef<T, R> {\n // Create a reference to the side-sheet we're creating in order to give the user a handle\n // to modify and close it.\n const sideSheetRef = new this._sideSheetRefConstructor(overlayRef, sideSheetContainer, config.id);\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n sideSheetContainer.attachTemplatePortal(\n new TemplatePortal<T>(componentOrTemplateRef, null!, <any>{\n $implicit: config.data,\n sideSheetRef,\n }),\n );\n } else {\n const injector = this._createInjector<T>(config, sideSheetRef, sideSheetContainer);\n const contentRef = sideSheetContainer.attach<T>(\n new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector),\n );\n sideSheetRef.componentInstance = contentRef.instance;\n }\n\n sideSheetRef.updateSize(config.width, config.height);\n\n return sideSheetRef;\n }\n\n private _createInjector<T>(\n config: CovalentSideSheetConfig,\n sideSheetRef: CovalentSideSheetRef<T>,\n sideSheetContainer: C,\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The side-sheet container should be provided as the side-sheet container and the side-sheet's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the side-sheet\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n { provide: this._sideSheetContainerType, useValue: sideSheetContainer },\n { provide: this._sideSheetDataToken, useValue: config.data },\n { provide: this._sideSheetRefConstructor, useValue: sideSheetRef },\n ];\n\n if (\n config.direction &&\n (!userInjector || !userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))\n ) {\n providers.push({\n provide: Directionality,\n useValue: { value: config.direction, change: of() },\n });\n }\n\n return Injector.create({ parent: userInjector || this._injector, providers });\n }\n\n /** Closes all of the side-sheet in an array. */\n private _closeSideSheets(sideSheets: CovalentSideSheetRef<any>[]) {\n let i = sideSheets.length;\n\n while (i--) {\n sideSheets[i].close();\n }\n }\n}\n\n/**\n * Service to open Covalent Design side-sheet.\n */\n@Injectable()\nexport class CovalentSideSheet extends _CovalentSideSheetBase<CovalentSideSheetContainer> {\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional() @Inject(MAT_DIALOG_DEFAULT_OPTIONS) defaultOptions: CovalentSideSheetConfig,\n @Optional() @SkipSelf() parentSideSheet: CovalentSideSheet,\n ) {\n super(\n overlay,\n injector,\n defaultOptions,\n parentSideSheet,\n CovalentSideSheetRef,\n CovalentSideSheetContainer,\n MAT_DIALOG_DATA,\n );\n }\n}\n","/* tslint:disable */\nimport { Directive, Input, OnChanges, OnInit, Optional, SimpleChanges, ElementRef } from '@angular/core';\nimport { CovalentSideSheet } from './side-sheet';\nimport { _closeSideSheetVia, CovalentSideSheetRef } from './side-sheet-ref';\n\n/** Counter used to generate unique IDs for dialog elements. */\nlet dialogElementUid = 0;\n\n/**\n * Button that will close the current dialog.\n */\n@Directive({\n selector: '[td-side-sheet-close], [CovalentSideSheetClose]',\n exportAs: 'CovalentSideSheetClose',\n host: {\n '(click)': '_onButtonClick($event)',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.type]': 'type',\n },\n})\nexport class CovalentSideSheetClose implements OnInit, OnChanges {\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string;\n\n /** Default to \"button\" to prevents accidental form submits. */\n @Input() type: 'submit' | 'button' | 'reset' = 'button';\n\n /** Dialog close input. */\n @Input('td-side-sheet-close') dialogResult: any;\n\n @Input('CovalentSideSheetClose') _CovalentSideSheetClose: any;\n\n constructor(\n @Optional() public dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet,\n ) {}\n\n ngOnInit(): void {\n if (!this.dialogRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.dialogRef = getClosestDialog(this._elementRef, this._dialog.openSideSheets)!;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const proxiedChange = changes['_CovalentSideSheetClose'] || changes['_CovalentSideSheetCloseResult'];\n\n if (proxiedChange) {\n this.dialogResult = proxiedChange.currentValue;\n }\n }\n\n _onButtonClick(event: MouseEvent) {\n // Determinate the focus origin using the click event, because using the FocusMonitor will\n // result in incorrect origins. Most of the time, close buttons will be auto focused in the\n // dialog, and therefore clicking the button won't result in a focus change. This means that\n // the FocusMonitor won't detect any origin change, and will always output `program`.\n _closeSideSheetVia(\n this.dialogRef,\n event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse',\n this.dialogResult,\n );\n }\n}\n\n/**\n * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.\n */\n@Directive({\n selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',\n exportAs: 'CovalentSideSheetTitle',\n host: {\n 'class': 'td-side-sheet-title',\n '[id]': 'id',\n },\n})\nexport class CovalentSideSheetTitle implements OnInit {\n /** Unique id for the dialog title. If none is supplied, it will be auto-generated. */\n @Input() id: string = `td-side-sheet-title-${dialogElementUid++}`;\n\n constructor(\n // The dialog title directive is always used in combination with a `CovalentSideSheetRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private _dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet,\n ) {}\n\n ngOnInit(): void {\n if (this._dialogRef) {\n Promise.resolve().then(() => {\n const container = this._dialogRef._containerInstance;\n\n if (container && !container._ariaLabelledBy) {\n container._ariaLabelledBy = this.id;\n }\n });\n } else {\n this._dialogRef = getClosestDialog(this._elementRef, this._dialog.openSideSheets)!;\n }\n }\n}\n\n/**\n * Scrollable content container of a dialog.\n */\n@Directive({\n selector: `[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]`,\n host: { class: 'td-side-sheet-content' },\n})\nexport class CovalentSideSheetContent {}\n\n/**\n * Container for the bottom action buttons in a dialog.\n * Stays fixed to the bottom when scrolling.\n */\n@Directive({\n selector: `[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]`,\n host: { class: 'td-side-sheet-actions' },\n})\nexport class CovalentSideSheetActions {}\n\n/**\n * Container for the wrapper part of the dialog\n */\n@Directive({\n selector: `[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]`,\n host: { class: 'td-side-sheet-wrapper' },\n})\nexport class CovalentSideSheetWrapper {}\n\n/**\n * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.\n * @param element Element relative to which to look for a dialog.\n * @param openDialogs References to the currently-open dialogs.\n */\nfunction getClosestDialog(element: ElementRef<HTMLElement>, openDialogs: CovalentSideSheetRef<any>[]) {\n let parent: HTMLElement | null = element.nativeElement.parentElement;\n\n while (parent && !parent.classList.contains('td-side-sheet-container')) {\n parent = parent.parentElement;\n }\n\n return parent ? openDialogs.find((dialog) => dialog.id === parent!.id) : null;\n}\n","import { NgModule } from '@angular/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { CovalentSideSheet } from './side-sheet';\nimport { CovalentSideSheetContainer } from './side-sheet-container';\nimport {\n CovalentSideSheetActions,\n CovalentSideSheetClose,\n CovalentSideSheetContent,\n CovalentSideSheetTitle,\n CovalentSideSheetWrapper,\n} from './side-sheet.content-directives';\n\n@NgModule({\n declarations: [\n CovalentSideSheetContainer,\n CovalentSideSheetActions,\n CovalentSideSheetClose,\n CovalentSideSheetContent,\n CovalentSideSheetTitle,\n CovalentSideSheetWrapper,\n ],\n exports: [\n CovalentSideSheetActions,\n CovalentSideSheetClose,\n CovalentSideSheetContent,\n CovalentSideSheetTitle,\n CovalentSideSheetWrapper,\n ],\n imports: [PortalModule, MatDialogModule, MatCommonModule],\n providers: [CovalentSideSheet],\n})\nexport class CovalentSideSheetModule {}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-steps.js","sources":["../../../../src/platform/core/steps/step.component.ts","../../../../src/platform/core/steps/steps.component.ts","../../../../src/platform/core/steps/step-header/step-header.component.ts","../../../../src/platform/core/steps/step-body/step-body.component.ts","../../../../src/platform/core/steps/nav/nav-step-link/nav-step-link.component.ts","../../../../src/platform/core/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.ts","../../../../src/platform/core/steps/nav/nav-steps-vertical/nav-steps-vertical.component.ts","../../../../src/platform/core/steps/steps.module.ts"],"sourcesContent":["import {\n Component,\n Directive,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { TemplatePortalDirective, TemplatePortal } from '@angular/cdk/portal';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, mixinDisabled, ICanDisableRipple, mixinDisableRipple } from '@covalent/core/common';\n\nexport enum StepState {\n None = 'none',\n Required = 'required',\n Complete = 'complete',\n}\n\n@Directive({\n selector: '[td-step-label]ng-template',\n})\nexport class TdStepLabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-step-actions]ng-template',\n})\nexport class TdStepActionsDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-step-summary]ng-template',\n})\nexport class TdStepSummaryDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdStepBase {}\n\n/* tslint:disable-next-line */\nexport const _TdStepMixinBase = mixinDisableRipple(mixinDisabled(TdStepBase));\n\n@Component({\n selector: 'td-step',\n inputs: ['disabled', 'disableRipple'],\n templateUrl: './step.component.html',\n})\nexport class TdStepComponent extends _TdStepMixinBase implements OnInit, ICanDisable, ICanDisableRipple {\n private _active: boolean = false;\n private _state: StepState = StepState.None;\n\n private _contentPortal: TemplatePortal<any>;\n get stepContent(): TemplatePortal<any> {\n return this._contentPortal;\n }\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n @ContentChild(TdStepLabelDirective) stepLabel: TdStepLabelDirective;\n @ContentChild(TdStepActionsDirective) stepActions: TdStepActionsDirective;\n @ContentChild(TdStepSummaryDirective) stepSummary: TdStepSummaryDirective;\n\n /**\n * label?: string\n * Sets label of [TdStepComponent] header.\n * Defaults to 'Step #'\n */\n @Input() label: string;\n\n /**\n * sublabel?: string\n * Sets sublabel of [TdStepComponent] header.\n */\n @Input() sublabel: string;\n\n /**\n * active?: boolean\n * Toggles [TdStepComponent] between active/deactive.\n */\n @Input('active')\n set active(active: boolean) {\n this._setActive(coerceBooleanProperty(active));\n }\n get active(): boolean {\n return this._active;\n }\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets state of [TdStepComponent] depending on value.\n * Defaults to [StepState.None | 'none'].\n */\n @Input('state')\n set state(state: StepState) {\n switch (state) {\n case StepState.Complete:\n this._state = StepState.Complete;\n break;\n case StepState.Required:\n this._state = StepState.Required;\n break;\n default:\n this._state = StepState.None;\n break;\n }\n }\n get state(): StepState {\n return this._state;\n }\n\n /**\n * activated?: function\n * Event emitted when [TdStepComponent] is activated.\n */\n @Output() activated: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * deactivated?: function\n * Event emitted when [TdStepComponent] is deactivated.\n */\n @Output() deactivated: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(private _viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._content, this._viewContainerRef);\n }\n\n /**\n * Toggle active state of [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n toggle(): boolean {\n return this._setActive(!this._active);\n }\n\n /**\n * Opens [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n open(): boolean {\n return this._setActive(true);\n }\n\n /**\n * Closes [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n close(): boolean {\n return this._setActive(false);\n }\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this._state === StepState.Complete;\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v && this._active) {\n this._active = false;\n this._onDeactivated();\n }\n }\n\n /**\n * Method to change active state internally and emit the [activated] event if 'true' or [deactivated]\n * event if 'false'. (Blocked if [disabled] is 'true')\n * returns true if successfully changed state\n */\n private _setActive(newActive: boolean): boolean {\n if (this.disabled) {\n return false;\n }\n if (this._active !== newActive) {\n this._active = newActive;\n if (newActive) {\n this._onActivated();\n } else {\n this._onDeactivated();\n }\n return true;\n }\n return false;\n }\n\n private _onActivated(): void {\n this.activated.emit();\n }\n\n private _onDeactivated(): void {\n this.deactivated.emit();\n }\n}\n","import { Component, Input, Output } from '@angular/core';\nimport { OnDestroy, AfterContentInit } from '@angular/core';\nimport { EventEmitter, ContentChildren, QueryList } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TdStepComponent } from './step.component';\n\nexport interface IStepChangeEvent {\n newStep: TdStepComponent;\n prevStep: TdStepComponent;\n}\n\nexport enum StepMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n\n@Component({\n selector: 'td-steps',\n styleUrls: ['./steps.component.scss'],\n templateUrl: './steps.component.html',\n /* tslint:disable-next-line */\n host: {\n class: 'td-steps',\n },\n})\nexport class TdStepsComponent implements OnDestroy, AfterContentInit {\n private _subcriptions: Subscription[];\n private _mode: StepMode = StepMode.Vertical;\n private _steps: QueryList<TdStepComponent>;\n\n @ContentChildren(TdStepComponent, { descendants: true })\n set stepsContent(steps: QueryList<TdStepComponent>) {\n if (steps) {\n this._steps = steps;\n this._registerSteps();\n }\n }\n\n get steps(): TdStepComponent[] {\n return this._steps.toArray();\n }\n prevStep: TdStepComponent;\n\n /**\n * mode?: StepMode or [\"vertical\" | \"horizontal\"]\n * Defines if the mode of the [TdStepsComponent]. Defaults to [StepMode.Vertical | \"vertical\"]\n */\n @Input('mode')\n set mode(mode: StepMode) {\n if (mode === StepMode.Horizontal) {\n this._mode = StepMode.Horizontal;\n } else {\n this._mode = StepMode.Vertical;\n }\n }\n get mode(): StepMode {\n return this._mode;\n }\n\n /**\n * stepChange?: function\n * Method to be executed when [stepChange] event is emitted.\n * Emits an [IStepChangeEvent] implemented object.\n */\n @Output() stepChange: EventEmitter<IStepChangeEvent> = new EventEmitter<IStepChangeEvent>();\n\n /**\n * Executed after content is initialized, loops through any [TdStepComponent] children elements,\n * assigns them a number and subscribes as an observer to their [activated] event.\n */\n ngAfterContentInit(): void {\n this._registerSteps();\n }\n\n /**\n * Unsubscribes from [TdStepComponent] children elements when component is destroyed.\n */\n ngOnDestroy(): void {\n this._deregisterSteps();\n }\n\n /**\n * Returns 'true' if [mode] equals to [StepMode.Horizontal | 'horizontal'], else 'false'.\n */\n isHorizontal(): boolean {\n return this._mode === StepMode.Horizontal;\n }\n\n /**\n * Returns 'true' if [mode] equals to [StepMode.Vertical | 'vertical'], else 'false'.\n */\n isVertical(): boolean {\n return this._mode === StepMode.Vertical;\n }\n\n areStepsActive(): boolean {\n return (\n this._steps.filter((step: TdStepComponent) => {\n return step.active;\n }).length > 0\n );\n }\n\n /**\n * Wraps previous and new [TdStepComponent] numbers in an object that implements [IStepChangeEvent]\n * and emits [stepChange] event.\n */\n private _onStepSelection(step: TdStepComponent): void {\n if (this.prevStep !== step) {\n const prevStep: TdStepComponent = this.prevStep;\n this.prevStep = step;\n const event: IStepChangeEvent = {\n newStep: step,\n prevStep,\n };\n this._deactivateAllBut(step);\n this.stepChange.emit(event);\n }\n }\n\n /**\n * Loops through [TdStepComponent] children elements and deactivates them ignoring the one passed as an argument.\n */\n private _deactivateAllBut(activeStep: TdStepComponent): void {\n this._steps\n .filter((step: TdStepComponent) => step !== activeStep)\n .forEach((step: TdStepComponent) => {\n step.active = false;\n });\n }\n\n private _registerSteps(): void {\n this._subcriptions = [];\n this._steps.toArray().forEach((step: TdStepComponent) => {\n const subscription: Subscription = step.activated.asObservable().subscribe(() => {\n this._onStepSelection(step);\n });\n this._subcriptions.push(subscription);\n });\n }\n\n private _deregisterSteps(): void {\n if (this._subcriptions) {\n this._subcriptions.forEach((subs: Subscription) => {\n subs.unsubscribe();\n });\n this._subcriptions = undefined;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { ICanDisable, mixinDisabled, ICanDisableRipple, mixinDisableRipple } from '@covalent/core/common';\n\nimport { StepState } from '../step.component';\n\nexport class TdStepHeaderBase {}\n\n/* tslint:disable-next-line */\nexport const _TdStepHeaderMixinBase = mixinDisableRipple(mixinDisabled(TdStepHeaderBase));\n\n@Component({\n selector: 'td-step-header',\n inputs: ['disabled', 'disableRipple'],\n styleUrls: ['./step-header.component.scss'],\n templateUrl: './step-header.component.html',\n})\nexport class TdStepHeaderComponent extends _TdStepHeaderMixinBase implements ICanDisable, ICanDisableRipple {\n /**\n * Number assigned to [TdStepHeaderComponent].\n */\n @Input() number: number;\n\n /**\n * active?: boolean\n * Sets for active/inactive states on header.\n */\n @Input() active: boolean;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets styles for state of header.\n * Defaults to [StepState.None | 'none'].\n */\n @Input() state: StepState = StepState.None;\n\n /**\n * tabIndex?: number\n * tabIndex of the step header for a11y\n */\n @Input() tabIndex: number;\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this.state === StepState.Complete;\n }\n\n /**\n * Returns 'true' if [state] equals to [StepState.Required | 'required'], else 'false'.\n */\n isRequired(): boolean {\n return this.state === StepState.Required;\n }\n}\n","import { Component, Input, ViewChild, ElementRef } from '@angular/core';\n\nimport { StepState } from '../step.component';\n\nimport { tdCollapseAnimation } from '@covalent/core/common';\n\n@Component({\n selector: 'td-step-body',\n styleUrls: ['./step-body.component.scss'],\n templateUrl: './step-body.component.html',\n animations: [tdCollapseAnimation],\n})\nexport class TdStepBodyComponent {\n @ViewChild('contentRef', { read: ElementRef, static: true }) contentRef: ElementRef;\n\n get hasContent(): boolean {\n return (\n this.contentRef &&\n (this.contentRef.nativeElement.children.length > 0 || !!this.contentRef.nativeElement.textContent.trim())\n );\n }\n\n @ViewChild('actionsRef', { read: ElementRef, static: true }) actionsRef: ElementRef;\n\n get hasActions(): boolean {\n return (\n this.actionsRef &&\n (this.actionsRef.nativeElement.children.length > 0 || !!this.actionsRef.nativeElement.textContent.trim())\n );\n }\n\n @ViewChild('summaryRef', { read: ElementRef, static: true }) summaryRef: ElementRef;\n\n get hasSummary(): boolean {\n return (\n this.summaryRef &&\n (this.summaryRef.nativeElement.children.length > 0 || !!this.summaryRef.nativeElement.textContent.trim())\n );\n }\n\n /**\n * active?: boolean\n * Sets for active/inactive states on body.\n */\n @Input() active: boolean;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets styles for state of body.\n * Defaults to [StepState.None | 'none'].\n */\n @Input() state: StepState = StepState.None;\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this.state === StepState.Complete;\n }\n}\n","import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input, ElementRef } from '@angular/core';\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, ICanDisableRipple } from '@covalent/core/common';\nimport { _TdStepMixinBase, StepState } from '../../step.component';\n\n@Component({\n selector: '[td-step-link],[tdStepLink]',\n styleUrls: ['./nav-step-link.component.scss'],\n templateUrl: './nav-step-link.component.html',\n inputs: ['disabled', 'disableRipple'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n '[class.td-step-link]': 'true',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[class.mat-disabled]': 'disabled || null',\n '(click)': '_handleClick($event)',\n },\n})\nexport class TdNavStepLinkComponent extends _TdStepMixinBase implements ICanDisable, ICanDisableRipple {\n private _active: boolean = false;\n private _state: StepState = StepState.None;\n\n // Number to display in step header\n number: number;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets state of component depending on value.\n * Defaults to [StepState.None | 'none'].\n */\n @Input('state')\n set state(state: StepState) {\n switch (state) {\n case StepState.Complete:\n this._state = StepState.Complete;\n break;\n case StepState.Required:\n this._state = StepState.Required;\n break;\n default:\n this._state = StepState.None;\n break;\n }\n }\n get state(): StepState {\n return this._state;\n }\n\n /**\n * label?: string\n * Label to display in step header\n * Defaults to empty\n */\n @Input() label: string;\n\n /**\n * sublabel?: string\n * Sublabel to display in step header\n * Defaults to empty\n */\n @Input() sublabel: string;\n\n /**\n * active?: boolean\n * Toggles component between active/deactive.\n */\n @Input('active')\n set active(active: boolean) {\n this._active = coerceBooleanProperty(active);\n this._changeDetectorRef.markForCheck();\n }\n get active(): boolean {\n return this._active;\n }\n\n /**\n * tabIndex?: number\n * tabIndex for component\n */\n @Input() tabIndex: number;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef, public elementRef: ElementRef) {\n super();\n }\n\n _handleClick(click: Event): void {\n if (this.disabled) {\n click.preventDefault();\n click.stopImmediatePropagation();\n }\n }\n}\n","import {\n Component,\n Optional,\n ContentChildren,\n ViewChild,\n QueryList,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n AfterContentChecked,\n ChangeDetectorRef,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Subject, merge, of } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { RIGHT_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\n\nimport { TdNavStepLinkComponent } from '../nav-step-link/nav-step-link.component';\n\n/**\n * The directions that scrolling can go in when the header's tabs exceed the header width. 'After'\n * will scroll the header towards the end of the tabs list and 'before' will scroll towards the\n * beginning of the list.\n */\nexport type ScrollDirection = 'after' | 'before';\n\n@Component({\n selector: 'nav[td-steps][horizontal]',\n styleUrls: ['./nav-steps-horizontal.component.scss'],\n templateUrl: './nav-steps-horizontal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n 'class': 'td-steps td-steps-horizontal',\n '[class.td-step-header-pagination-controls-enabled]': '_showPaginationControls',\n '[class.td-step-header-rtl]': \"_getLayoutDirection() == 'rtl'\",\n },\n})\nexport class TdNavStepsHorizontalComponent implements AfterContentChecked, AfterContentInit, OnDestroy {\n private _separators: HTMLElement[] = [];\n\n /** Emits when the component is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject<void>();\n\n private _widthSubject: Subject<number> = new Subject<number>();\n\n private _scrollDistance: number = 0;\n private _scrollDistanceChanged: boolean = false;\n\n /** Whether the controls for pagination should be displayed */\n _showPaginationControls: boolean = false;\n\n /** Whether the step list can be scrolled more towards the end. */\n _disableScrollAfter: boolean = true;\n\n /** Whether the step list can be scrolled more towards the beginning. */\n _disableScrollBefore: boolean = true;\n\n // all the sub components, which are the individual steps\n @ContentChildren(TdNavStepLinkComponent, { descendants: true }) _steps: QueryList<TdNavStepLinkComponent>;\n\n @ViewChild('stepListContainer', { static: true }) _stepListContainer: ElementRef;\n @ViewChild('stepList', { static: true }) _stepList: ElementRef;\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _viewportRuler: ViewportRuler,\n @Optional() private _dir: Directionality,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngAfterContentInit(): void {\n merge(\n this._widthSubject.asObservable().pipe(distinctUntilChanged()),\n this._viewportRuler.change(150),\n this._dir ? this._dir.change : of(undefined),\n this._steps.changes,\n )\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n this._configureSteps();\n this.updatePagination();\n this._changeDetectorRef.markForCheck();\n });\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n }\n\n ngAfterContentChecked(): void {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next(this.nativeElementWidth);\n }\n if (this._scrollDistanceChanged) {\n this._updateStepScrollPosition();\n this._scrollDistanceChanged = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /**\n * Listen to right and left key events to move the the viewport.\n */\n _handleKeydown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case LEFT_ARROW:\n this._scrollHeader('before');\n event.preventDefault();\n break;\n case RIGHT_ARROW:\n this._scrollHeader('after');\n event.preventDefault();\n break;\n default:\n // do something\n }\n }\n\n /**\n * Updates the view whether pagination should be enabled or not.\n */\n updatePagination(): void {\n this._checkPaginationEnabled();\n this._checkScrollingControls();\n this._updateStepScrollPosition();\n }\n\n /** The layout direction of the containing app. */\n _getLayoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Performs the CSS transformation on the step list that will cause the list to scroll. */\n _updateStepScrollPosition(): void {\n const translateX: number = this._getLayoutDirection() === 'ltr' ? -this.scrollDistance : this.scrollDistance;\n // Move step list the amount of pixels scrolled\n this._stepList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;\n\n // Setting the `transform` on IE will change the scroll offset of the parent, causing the\n // position to be thrown off in some cases. We have to reset it ourselves to ensure that\n // it doesn't get thrown off.\n if (this._getLayoutDirection() === 'ltr') {\n this._stepListContainer.nativeElement.scrollLeft = 0;\n } else {\n this._stepListContainer.nativeElement.scrollLeft = this._getMaxScrollDistance();\n }\n }\n\n /** Sets the distance in pixels that the step header should be transformed in the X-axis. */\n get scrollDistance(): number {\n return this._scrollDistance;\n }\n set scrollDistance(v: number) {\n this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));\n\n // Mark that the scroll distance has changed so that after the view is checked, the CSS\n // transformation can move the header.\n this._scrollDistanceChanged = true;\n this._checkScrollingControls();\n }\n\n /**\n * Moves the step list in the 'before' or 'after' direction (towards the beginning of the list or\n * the end of the list, respectively).\n */\n _scrollHeader(scrollDir: ScrollDirection): void {\n // Move the scroll distance one-half the length of the step list's viewport.\n this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * this._stepListContainer.nativeElement.offsetWidth) / 2;\n }\n\n /**\n * Evaluate whether the pagination controls should be displayed. If the scroll width of the\n * step list is wider than the size of the header container, then the pagination controls should\n * be shown.\n */\n _checkPaginationEnabled(): void {\n const isEnabled: boolean = this._stepList.nativeElement.scrollWidth > this._elementRef.nativeElement.offsetWidth;\n\n if (!isEnabled) {\n this.scrollDistance = 0;\n }\n\n if (isEnabled !== this._showPaginationControls) {\n this._changeDetectorRef.markForCheck();\n }\n\n this._showPaginationControls = isEnabled;\n }\n\n /**\n * Evaluate whether the before and after controls should be enabled or disabled.\n * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the\n * before button. If the header is at the end of the list (scroll distance is equal to the\n * maximum distance we can scroll), then disable the after button.\n */\n _checkScrollingControls(): void {\n // Check if the pagination arrows should be activated.\n this._disableScrollBefore = this.scrollDistance === 0;\n this._disableScrollAfter = this.scrollDistance === this._getMaxScrollDistance();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Determines what is the maximum length in pixels that can be set for the scroll distance. This\n * is equal to the difference in width between the step list container and step header container.\n */\n _getMaxScrollDistance(): number {\n return this._stepList.nativeElement.scrollWidth - this._stepListContainer.nativeElement.offsetWidth || 0;\n }\n\n /**\n * Set the step line separators and display numbers\n */\n private _configureSteps(): void {\n this._separators.forEach((separator: HTMLElement) => {\n this._renderer.removeChild(this._stepList.nativeElement, separator);\n });\n const stepsArray: TdNavStepLinkComponent[] = this._steps.toArray();\n // set the index number of the step so can display that number in circle\n stepsArray.forEach((step: TdNavStepLinkComponent, index: number) => {\n if (index > 0 && index < stepsArray.length) {\n const separator: any = this._renderer.createElement('div');\n this._renderer.addClass(separator, 'td-horizontal-line');\n this._separators.push(separator);\n this._renderer.insertBefore(this._stepList.nativeElement, separator, step.elementRef.nativeElement);\n }\n step.number = index + 1;\n });\n }\n}\n","import {\n Component,\n ContentChildren,\n ViewChild,\n QueryList,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n Renderer2,\n ChangeDetectorRef,\n ElementRef,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TdNavStepLinkComponent } from '../nav-step-link/nav-step-link.component';\n\n@Component({\n selector: 'nav[td-steps][vertical]',\n styleUrls: ['./nav-steps-vertical.component.scss'],\n templateUrl: './nav-steps-vertical.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n class: 'td-steps td-steps-vertical',\n },\n})\nexport class TdNavStepsVerticalComponent implements AfterContentInit, OnDestroy {\n private _separators: HTMLElement[] = [];\n\n /** Emits when the component is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject<void>();\n\n // all the sub components, which are the individual steps\n @ContentChildren(TdNavStepLinkComponent, { descendants: true }) _steps: QueryList<TdNavStepLinkComponent>;\n\n @ViewChild('stepList', { static: true }) _stepList: ElementRef;\n\n constructor(private _renderer: Renderer2, private _changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterContentInit(): void {\n this._steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n });\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /**\n * Set the step line separators and display numbers\n */\n private _configureSteps(): void {\n this._separators.forEach((separator: HTMLElement) => {\n this._renderer.removeChild(this._stepList.nativeElement, separator);\n });\n const stepsArray: TdNavStepLinkComponent[] = this._steps.toArray();\n // set the index number of the step so can display that number in circle\n stepsArray.forEach((step: TdNavStepLinkComponent, index: number) => {\n if (index > 0 && index < stepsArray.length) {\n const separator: any = this._renderer.createElement('div');\n this._renderer.addClass(separator, 'td-vertical-line-wrapper');\n const separatorChild: any = this._renderer.createElement('div');\n this._renderer.addClass(separatorChild, 'td-vertical-line');\n this._renderer.appendChild(separator, separatorChild);\n this._separators.push(separator);\n this._renderer.insertBefore(this._stepList.nativeElement, separator, step.elementRef.nativeElement);\n }\n step.number = index + 1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { CovalentCommonModule } from '@covalent/core/common';\n\n// Steps\nimport { TdStepsComponent } from './steps.component';\nimport { TdStepHeaderComponent } from './step-header/step-header.component';\nimport { TdStepBodyComponent } from './step-body/step-body.component';\nimport {\n TdStepComponent,\n TdStepLabelDirective,\n TdStepActionsDirective,\n TdStepSummaryDirective,\n} from './step.component';\n\n// Nav Steps\nimport { TdNavStepsHorizontalComponent } from './nav/nav-steps-horizontal/nav-steps-horizontal.component';\nimport { TdNavStepsVerticalComponent } from './nav/nav-steps-vertical/nav-steps-vertical.component';\nimport { TdNavStepLinkComponent } from './nav/nav-step-link/nav-step-link.component';\n\nconst TD_STEPS: Type<any>[] = [\n TdStepsComponent,\n TdStepComponent,\n TdStepHeaderComponent,\n TdStepBodyComponent,\n TdStepLabelDirective,\n TdStepActionsDirective,\n TdStepSummaryDirective,\n TdNavStepsHorizontalComponent,\n TdNavStepsVerticalComponent,\n TdNavStepLinkComponent,\n];\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, PortalModule, ScrollingModule, CovalentCommonModule],\n declarations: [TD_STEPS],\n exports: [TD_STEPS],\n})\nexport class CovalentStepsModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-steps.js","sources":["../../../../src/platform/core/steps/step.component.ts","../../../../src/platform/core/steps/steps.component.ts","../../../src/platform/core/steps/step-header/step-header.component.ts","../../../src/platform/core/steps/step-body/step-body.component.ts","../../src/platform/core/steps/nav/nav-step-link/nav-step-link.component.ts","../../src/platform/core/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.ts","../../src/platform/core/steps/nav/nav-steps-vertical/nav-steps-vertical.component.ts","../../../../src/platform/core/steps/steps.module.ts"],"sourcesContent":["import {\n Component,\n Directive,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { TemplatePortalDirective, TemplatePortal } from '@angular/cdk/portal';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, mixinDisabled, ICanDisableRipple, mixinDisableRipple } from '@covalent/core/common';\n\nexport enum StepState {\n None = 'none',\n Required = 'required',\n Complete = 'complete',\n}\n\n@Directive({\n selector: '[td-step-label]ng-template',\n})\nexport class TdStepLabelDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-step-actions]ng-template',\n})\nexport class TdStepActionsDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[td-step-summary]ng-template',\n})\nexport class TdStepSummaryDirective extends TemplatePortalDirective {\n constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdStepBase {}\n\n/* tslint:disable-next-line */\nexport const _TdStepMixinBase = mixinDisableRipple(mixinDisabled(TdStepBase));\n\n@Component({\n selector: 'td-step',\n inputs: ['disabled', 'disableRipple'],\n templateUrl: './step.component.html',\n})\nexport class TdStepComponent extends _TdStepMixinBase implements OnInit, ICanDisable, ICanDisableRipple {\n private _active: boolean = false;\n private _state: StepState = StepState.None;\n\n private _contentPortal: TemplatePortal<any>;\n get stepContent(): TemplatePortal<any> {\n return this._contentPortal;\n }\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n @ContentChild(TdStepLabelDirective) stepLabel: TdStepLabelDirective;\n @ContentChild(TdStepActionsDirective) stepActions: TdStepActionsDirective;\n @ContentChild(TdStepSummaryDirective) stepSummary: TdStepSummaryDirective;\n\n /**\n * label?: string\n * Sets label of [TdStepComponent] header.\n * Defaults to 'Step #'\n */\n @Input() label: string;\n\n /**\n * sublabel?: string\n * Sets sublabel of [TdStepComponent] header.\n */\n @Input() sublabel: string;\n\n /**\n * active?: boolean\n * Toggles [TdStepComponent] between active/deactive.\n */\n @Input('active')\n set active(active: boolean) {\n this._setActive(coerceBooleanProperty(active));\n }\n get active(): boolean {\n return this._active;\n }\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets state of [TdStepComponent] depending on value.\n * Defaults to [StepState.None | 'none'].\n */\n @Input('state')\n set state(state: StepState) {\n switch (state) {\n case StepState.Complete:\n this._state = StepState.Complete;\n break;\n case StepState.Required:\n this._state = StepState.Required;\n break;\n default:\n this._state = StepState.None;\n break;\n }\n }\n get state(): StepState {\n return this._state;\n }\n\n /**\n * activated?: function\n * Event emitted when [TdStepComponent] is activated.\n */\n @Output() activated: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * deactivated?: function\n * Event emitted when [TdStepComponent] is deactivated.\n */\n @Output() deactivated: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(private _viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._content, this._viewContainerRef);\n }\n\n /**\n * Toggle active state of [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n toggle(): boolean {\n return this._setActive(!this._active);\n }\n\n /**\n * Opens [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n open(): boolean {\n return this._setActive(true);\n }\n\n /**\n * Closes [TdStepComponent]\n * retuns 'true' if successful, else 'false'.\n */\n close(): boolean {\n return this._setActive(false);\n }\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this._state === StepState.Complete;\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v && this._active) {\n this._active = false;\n this._onDeactivated();\n }\n }\n\n /**\n * Method to change active state internally and emit the [activated] event if 'true' or [deactivated]\n * event if 'false'. (Blocked if [disabled] is 'true')\n * returns true if successfully changed state\n */\n private _setActive(newActive: boolean): boolean {\n if (this.disabled) {\n return false;\n }\n if (this._active !== newActive) {\n this._active = newActive;\n if (newActive) {\n this._onActivated();\n } else {\n this._onDeactivated();\n }\n return true;\n }\n return false;\n }\n\n private _onActivated(): void {\n this.activated.emit();\n }\n\n private _onDeactivated(): void {\n this.deactivated.emit();\n }\n}\n","import { Component, Input, Output } from '@angular/core';\nimport { OnDestroy, AfterContentInit } from '@angular/core';\nimport { EventEmitter, ContentChildren, QueryList } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TdStepComponent } from './step.component';\n\nexport interface IStepChangeEvent {\n newStep: TdStepComponent;\n prevStep: TdStepComponent;\n}\n\nexport enum StepMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n\n@Component({\n selector: 'td-steps',\n styleUrls: ['./steps.component.scss'],\n templateUrl: './steps.component.html',\n /* tslint:disable-next-line */\n host: {\n class: 'td-steps',\n },\n})\nexport class TdStepsComponent implements OnDestroy, AfterContentInit {\n private _subcriptions: Subscription[];\n private _mode: StepMode = StepMode.Vertical;\n private _steps: QueryList<TdStepComponent>;\n\n @ContentChildren(TdStepComponent, { descendants: true })\n set stepsContent(steps: QueryList<TdStepComponent>) {\n if (steps) {\n this._steps = steps;\n this._registerSteps();\n }\n }\n\n get steps(): TdStepComponent[] {\n return this._steps.toArray();\n }\n prevStep: TdStepComponent;\n\n /**\n * mode?: StepMode or [\"vertical\" | \"horizontal\"]\n * Defines if the mode of the [TdStepsComponent]. Defaults to [StepMode.Vertical | \"vertical\"]\n */\n @Input('mode')\n set mode(mode: StepMode) {\n if (mode === StepMode.Horizontal) {\n this._mode = StepMode.Horizontal;\n } else {\n this._mode = StepMode.Vertical;\n }\n }\n get mode(): StepMode {\n return this._mode;\n }\n\n /**\n * stepChange?: function\n * Method to be executed when [stepChange] event is emitted.\n * Emits an [IStepChangeEvent] implemented object.\n */\n @Output() stepChange: EventEmitter<IStepChangeEvent> = new EventEmitter<IStepChangeEvent>();\n\n /**\n * Executed after content is initialized, loops through any [TdStepComponent] children elements,\n * assigns them a number and subscribes as an observer to their [activated] event.\n */\n ngAfterContentInit(): void {\n this._registerSteps();\n }\n\n /**\n * Unsubscribes from [TdStepComponent] children elements when component is destroyed.\n */\n ngOnDestroy(): void {\n this._deregisterSteps();\n }\n\n /**\n * Returns 'true' if [mode] equals to [StepMode.Horizontal | 'horizontal'], else 'false'.\n */\n isHorizontal(): boolean {\n return this._mode === StepMode.Horizontal;\n }\n\n /**\n * Returns 'true' if [mode] equals to [StepMode.Vertical | 'vertical'], else 'false'.\n */\n isVertical(): boolean {\n return this._mode === StepMode.Vertical;\n }\n\n areStepsActive(): boolean {\n return (\n this._steps.filter((step: TdStepComponent) => {\n return step.active;\n }).length > 0\n );\n }\n\n /**\n * Wraps previous and new [TdStepComponent] numbers in an object that implements [IStepChangeEvent]\n * and emits [stepChange] event.\n */\n private _onStepSelection(step: TdStepComponent): void {\n if (this.prevStep !== step) {\n const prevStep: TdStepComponent = this.prevStep;\n this.prevStep = step;\n const event: IStepChangeEvent = {\n newStep: step,\n prevStep,\n };\n this._deactivateAllBut(step);\n this.stepChange.emit(event);\n }\n }\n\n /**\n * Loops through [TdStepComponent] children elements and deactivates them ignoring the one passed as an argument.\n */\n private _deactivateAllBut(activeStep: TdStepComponent): void {\n this._steps\n .filter((step: TdStepComponent) => step !== activeStep)\n .forEach((step: TdStepComponent) => {\n step.active = false;\n });\n }\n\n private _registerSteps(): void {\n this._subcriptions = [];\n this._steps.toArray().forEach((step: TdStepComponent) => {\n const subscription: Subscription = step.activated.asObservable().subscribe(() => {\n this._onStepSelection(step);\n });\n this._subcriptions.push(subscription);\n });\n }\n\n private _deregisterSteps(): void {\n if (this._subcriptions) {\n this._subcriptions.forEach((subs: Subscription) => {\n subs.unsubscribe();\n });\n this._subcriptions = undefined;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { ICanDisable, mixinDisabled, ICanDisableRipple, mixinDisableRipple } from '@covalent/core/common';\n\nimport { StepState } from '../step.component';\n\nexport class TdStepHeaderBase {}\n\n/* tslint:disable-next-line */\nexport const _TdStepHeaderMixinBase = mixinDisableRipple(mixinDisabled(TdStepHeaderBase));\n\n@Component({\n selector: 'td-step-header',\n inputs: ['disabled', 'disableRipple'],\n styleUrls: ['./step-header.component.scss'],\n templateUrl: './step-header.component.html',\n})\nexport class TdStepHeaderComponent extends _TdStepHeaderMixinBase implements ICanDisable, ICanDisableRipple {\n /**\n * Number assigned to [TdStepHeaderComponent].\n */\n @Input() number: number;\n\n /**\n * active?: boolean\n * Sets for active/inactive states on header.\n */\n @Input() active: boolean;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets styles for state of header.\n * Defaults to [StepState.None | 'none'].\n */\n @Input() state: StepState = StepState.None;\n\n /**\n * tabIndex?: number\n * tabIndex of the step header for a11y\n */\n @Input() tabIndex: number;\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this.state === StepState.Complete;\n }\n\n /**\n * Returns 'true' if [state] equals to [StepState.Required | 'required'], else 'false'.\n */\n isRequired(): boolean {\n return this.state === StepState.Required;\n }\n}\n","import { Component, Input, ViewChild, ElementRef } from '@angular/core';\n\nimport { StepState } from '../step.component';\n\nimport { tdCollapseAnimation } from '@covalent/core/common';\n\n@Component({\n selector: 'td-step-body',\n styleUrls: ['./step-body.component.scss'],\n templateUrl: './step-body.component.html',\n animations: [tdCollapseAnimation],\n})\nexport class TdStepBodyComponent {\n @ViewChild('contentRef', { read: ElementRef, static: true }) contentRef: ElementRef;\n\n get hasContent(): boolean {\n return (\n this.contentRef &&\n (this.contentRef.nativeElement.children.length > 0 || !!this.contentRef.nativeElement.textContent.trim())\n );\n }\n\n @ViewChild('actionsRef', { read: ElementRef, static: true }) actionsRef: ElementRef;\n\n get hasActions(): boolean {\n return (\n this.actionsRef &&\n (this.actionsRef.nativeElement.children.length > 0 || !!this.actionsRef.nativeElement.textContent.trim())\n );\n }\n\n @ViewChild('summaryRef', { read: ElementRef, static: true }) summaryRef: ElementRef;\n\n get hasSummary(): boolean {\n return (\n this.summaryRef &&\n (this.summaryRef.nativeElement.children.length > 0 || !!this.summaryRef.nativeElement.textContent.trim())\n );\n }\n\n /**\n * active?: boolean\n * Sets for active/inactive states on body.\n */\n @Input() active: boolean;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets styles for state of body.\n * Defaults to [StepState.None | 'none'].\n */\n @Input() state: StepState = StepState.None;\n\n /**\n * Returns 'true' if [state] equals to [StepState.Complete | 'complete'], else 'false'.\n */\n isComplete(): boolean {\n return this.state === StepState.Complete;\n }\n}\n","import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input, ElementRef } from '@angular/core';\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ICanDisable, ICanDisableRipple } from '@covalent/core/common';\nimport { _TdStepMixinBase, StepState } from '../../step.component';\n\n@Component({\n selector: '[td-step-link],[tdStepLink]',\n styleUrls: ['./nav-step-link.component.scss'],\n templateUrl: './nav-step-link.component.html',\n inputs: ['disabled', 'disableRipple'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n '[class.td-step-link]': 'true',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[class.mat-disabled]': 'disabled || null',\n '(click)': '_handleClick($event)',\n },\n})\nexport class TdNavStepLinkComponent extends _TdStepMixinBase implements ICanDisable, ICanDisableRipple {\n private _active: boolean = false;\n private _state: StepState = StepState.None;\n\n // Number to display in step header\n number: number;\n\n /**\n * state?: StepState or ['none' | 'required' | 'complete']\n * Sets state of component depending on value.\n * Defaults to [StepState.None | 'none'].\n */\n @Input('state')\n set state(state: StepState) {\n switch (state) {\n case StepState.Complete:\n this._state = StepState.Complete;\n break;\n case StepState.Required:\n this._state = StepState.Required;\n break;\n default:\n this._state = StepState.None;\n break;\n }\n }\n get state(): StepState {\n return this._state;\n }\n\n /**\n * label?: string\n * Label to display in step header\n * Defaults to empty\n */\n @Input() label: string;\n\n /**\n * sublabel?: string\n * Sublabel to display in step header\n * Defaults to empty\n */\n @Input() sublabel: string;\n\n /**\n * active?: boolean\n * Toggles component between active/deactive.\n */\n @Input('active')\n set active(active: boolean) {\n this._active = coerceBooleanProperty(active);\n this._changeDetectorRef.markForCheck();\n }\n get active(): boolean {\n return this._active;\n }\n\n /**\n * tabIndex?: number\n * tabIndex for component\n */\n @Input() tabIndex: number;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef, public elementRef: ElementRef) {\n super();\n }\n\n _handleClick(click: Event): void {\n if (this.disabled) {\n click.preventDefault();\n click.stopImmediatePropagation();\n }\n }\n}\n","import {\n Component,\n Optional,\n ContentChildren,\n ViewChild,\n QueryList,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n AfterContentChecked,\n ChangeDetectorRef,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Subject, merge, of } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { RIGHT_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\n\nimport { TdNavStepLinkComponent } from '../nav-step-link/nav-step-link.component';\n\n/**\n * The directions that scrolling can go in when the header's tabs exceed the header width. 'After'\n * will scroll the header towards the end of the tabs list and 'before' will scroll towards the\n * beginning of the list.\n */\nexport type ScrollDirection = 'after' | 'before';\n\n@Component({\n selector: 'nav[td-steps][horizontal]',\n styleUrls: ['./nav-steps-horizontal.component.scss'],\n templateUrl: './nav-steps-horizontal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n 'class': 'td-steps td-steps-horizontal',\n '[class.td-step-header-pagination-controls-enabled]': '_showPaginationControls',\n '[class.td-step-header-rtl]': \"_getLayoutDirection() == 'rtl'\",\n },\n})\nexport class TdNavStepsHorizontalComponent implements AfterContentChecked, AfterContentInit, OnDestroy {\n private _separators: HTMLElement[] = [];\n\n /** Emits when the component is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject<void>();\n\n private _widthSubject: Subject<number> = new Subject<number>();\n\n private _scrollDistance: number = 0;\n private _scrollDistanceChanged: boolean = false;\n\n /** Whether the controls for pagination should be displayed */\n _showPaginationControls: boolean = false;\n\n /** Whether the step list can be scrolled more towards the end. */\n _disableScrollAfter: boolean = true;\n\n /** Whether the step list can be scrolled more towards the beginning. */\n _disableScrollBefore: boolean = true;\n\n // all the sub components, which are the individual steps\n @ContentChildren(TdNavStepLinkComponent, { descendants: true }) _steps: QueryList<TdNavStepLinkComponent>;\n\n @ViewChild('stepListContainer', { static: true }) _stepListContainer: ElementRef;\n @ViewChild('stepList', { static: true }) _stepList: ElementRef;\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _viewportRuler: ViewportRuler,\n @Optional() private _dir: Directionality,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngAfterContentInit(): void {\n merge(\n this._widthSubject.asObservable().pipe(distinctUntilChanged()),\n this._viewportRuler.change(150),\n this._dir ? this._dir.change : of(undefined),\n this._steps.changes,\n )\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n this._configureSteps();\n this.updatePagination();\n this._changeDetectorRef.markForCheck();\n });\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n }\n\n ngAfterContentChecked(): void {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next(this.nativeElementWidth);\n }\n if (this._scrollDistanceChanged) {\n this._updateStepScrollPosition();\n this._scrollDistanceChanged = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /**\n * Listen to right and left key events to move the the viewport.\n */\n _handleKeydown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case LEFT_ARROW:\n this._scrollHeader('before');\n event.preventDefault();\n break;\n case RIGHT_ARROW:\n this._scrollHeader('after');\n event.preventDefault();\n break;\n default:\n // do something\n }\n }\n\n /**\n * Updates the view whether pagination should be enabled or not.\n */\n updatePagination(): void {\n this._checkPaginationEnabled();\n this._checkScrollingControls();\n this._updateStepScrollPosition();\n }\n\n /** The layout direction of the containing app. */\n _getLayoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Performs the CSS transformation on the step list that will cause the list to scroll. */\n _updateStepScrollPosition(): void {\n const translateX: number = this._getLayoutDirection() === 'ltr' ? -this.scrollDistance : this.scrollDistance;\n // Move step list the amount of pixels scrolled\n this._stepList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;\n\n // Setting the `transform` on IE will change the scroll offset of the parent, causing the\n // position to be thrown off in some cases. We have to reset it ourselves to ensure that\n // it doesn't get thrown off.\n if (this._getLayoutDirection() === 'ltr') {\n this._stepListContainer.nativeElement.scrollLeft = 0;\n } else {\n this._stepListContainer.nativeElement.scrollLeft = this._getMaxScrollDistance();\n }\n }\n\n /** Sets the distance in pixels that the step header should be transformed in the X-axis. */\n get scrollDistance(): number {\n return this._scrollDistance;\n }\n set scrollDistance(v: number) {\n this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));\n\n // Mark that the scroll distance has changed so that after the view is checked, the CSS\n // transformation can move the header.\n this._scrollDistanceChanged = true;\n this._checkScrollingControls();\n }\n\n /**\n * Moves the step list in the 'before' or 'after' direction (towards the beginning of the list or\n * the end of the list, respectively).\n */\n _scrollHeader(scrollDir: ScrollDirection): void {\n // Move the scroll distance one-half the length of the step list's viewport.\n this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * this._stepListContainer.nativeElement.offsetWidth) / 2;\n }\n\n /**\n * Evaluate whether the pagination controls should be displayed. If the scroll width of the\n * step list is wider than the size of the header container, then the pagination controls should\n * be shown.\n */\n _checkPaginationEnabled(): void {\n const isEnabled: boolean = this._stepList.nativeElement.scrollWidth > this._elementRef.nativeElement.offsetWidth;\n\n if (!isEnabled) {\n this.scrollDistance = 0;\n }\n\n if (isEnabled !== this._showPaginationControls) {\n this._changeDetectorRef.markForCheck();\n }\n\n this._showPaginationControls = isEnabled;\n }\n\n /**\n * Evaluate whether the before and after controls should be enabled or disabled.\n * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the\n * before button. If the header is at the end of the list (scroll distance is equal to the\n * maximum distance we can scroll), then disable the after button.\n */\n _checkScrollingControls(): void {\n // Check if the pagination arrows should be activated.\n this._disableScrollBefore = this.scrollDistance === 0;\n this._disableScrollAfter = this.scrollDistance === this._getMaxScrollDistance();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Determines what is the maximum length in pixels that can be set for the scroll distance. This\n * is equal to the difference in width between the step list container and step header container.\n */\n _getMaxScrollDistance(): number {\n return this._stepList.nativeElement.scrollWidth - this._stepListContainer.nativeElement.offsetWidth || 0;\n }\n\n /**\n * Set the step line separators and display numbers\n */\n private _configureSteps(): void {\n this._separators.forEach((separator: HTMLElement) => {\n this._renderer.removeChild(this._stepList.nativeElement, separator);\n });\n const stepsArray: TdNavStepLinkComponent[] = this._steps.toArray();\n // set the index number of the step so can display that number in circle\n stepsArray.forEach((step: TdNavStepLinkComponent, index: number) => {\n if (index > 0 && index < stepsArray.length) {\n const separator: any = this._renderer.createElement('div');\n this._renderer.addClass(separator, 'td-horizontal-line');\n this._separators.push(separator);\n this._renderer.insertBefore(this._stepList.nativeElement, separator, step.elementRef.nativeElement);\n }\n step.number = index + 1;\n });\n }\n}\n","import {\n Component,\n ContentChildren,\n ViewChild,\n QueryList,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n Renderer2,\n ChangeDetectorRef,\n ElementRef,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TdNavStepLinkComponent } from '../nav-step-link/nav-step-link.component';\n\n@Component({\n selector: 'nav[td-steps][vertical]',\n styleUrls: ['./nav-steps-vertical.component.scss'],\n templateUrl: './nav-steps-vertical.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n host: {\n class: 'td-steps td-steps-vertical',\n },\n})\nexport class TdNavStepsVerticalComponent implements AfterContentInit, OnDestroy {\n private _separators: HTMLElement[] = [];\n\n /** Emits when the component is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject<void>();\n\n // all the sub components, which are the individual steps\n @ContentChildren(TdNavStepLinkComponent, { descendants: true }) _steps: QueryList<TdNavStepLinkComponent>;\n\n @ViewChild('stepList', { static: true }) _stepList: ElementRef;\n\n constructor(private _renderer: Renderer2, private _changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterContentInit(): void {\n this._steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n });\n this._configureSteps();\n this._changeDetectorRef.markForCheck();\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /**\n * Set the step line separators and display numbers\n */\n private _configureSteps(): void {\n this._separators.forEach((separator: HTMLElement) => {\n this._renderer.removeChild(this._stepList.nativeElement, separator);\n });\n const stepsArray: TdNavStepLinkComponent[] = this._steps.toArray();\n // set the index number of the step so can display that number in circle\n stepsArray.forEach((step: TdNavStepLinkComponent, index: number) => {\n if (index > 0 && index < stepsArray.length) {\n const separator: any = this._renderer.createElement('div');\n this._renderer.addClass(separator, 'td-vertical-line-wrapper');\n const separatorChild: any = this._renderer.createElement('div');\n this._renderer.addClass(separatorChild, 'td-vertical-line');\n this._renderer.appendChild(separator, separatorChild);\n this._separators.push(separator);\n this._renderer.insertBefore(this._stepList.nativeElement, separator, step.elementRef.nativeElement);\n }\n step.number = index + 1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { CovalentCommonModule } from '@covalent/core/common';\n\n// Steps\nimport { TdStepsComponent } from './steps.component';\nimport { TdStepHeaderComponent } from './step-header/step-header.component';\nimport { TdStepBodyComponent } from './step-body/step-body.component';\nimport {\n TdStepComponent,\n TdStepLabelDirective,\n TdStepActionsDirective,\n TdStepSummaryDirective,\n} from './step.component';\n\n// Nav Steps\nimport { TdNavStepsHorizontalComponent } from './nav/nav-steps-horizontal/nav-steps-horizontal.component';\nimport { TdNavStepsVerticalComponent } from './nav/nav-steps-vertical/nav-steps-vertical.component';\nimport { TdNavStepLinkComponent } from './nav/nav-step-link/nav-step-link.component';\n\nconst TD_STEPS: Type<any>[] = [\n TdStepsComponent,\n TdStepComponent,\n TdStepHeaderComponent,\n TdStepBodyComponent,\n TdStepLabelDirective,\n TdStepActionsDirective,\n TdStepSummaryDirective,\n TdNavStepsHorizontalComponent,\n TdNavStepsVerticalComponent,\n TdNavStepLinkComponent,\n];\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, PortalModule, ScrollingModule, CovalentCommonModule],\n declarations: [TD_STEPS],\n exports: [TD_STEPS],\n})\nexport class CovalentStepsModule {}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-tab-select.js","sources":["../../../../src/platform/core/tab-select/tab-option.component.ts","../../../../src/platform/core/tab-select/tab-select.component.ts","../../../../src/platform/core/tab-select/tab-select.module.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n TemplateRef,\n OnInit,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { mixinDisabled, ICanDisable } from '@covalent/core/common';\n\nexport class TdTabOptionBase {\n constructor(public _viewContainerRef: ViewContainerRef, public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdTabOptionMixinBase = mixinDisabled(TdTabOptionBase);\n\n@Component({\n selector: 'td-tab-option',\n templateUrl: './tab-option.component.html',\n styleUrls: ['./tab-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n inputs: ['disabled'],\n})\nexport class TdTabOptionComponent extends _TdTabOptionMixinBase implements ICanDisable, OnInit {\n private _contentPortal: TemplatePortal<any>;\n get content(): TemplatePortal<any> {\n return this._contentPortal;\n }\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n\n /**\n * Value to which the option will be binded to.\n */\n @Input() value: any;\n\n constructor(_viewContainerRef: ViewContainerRef, _changeDetectorRef: ChangeDetectorRef) {\n super(_viewContainerRef, _changeDetectorRef);\n }\n\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._content, this._viewContainerRef);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n OnInit,\n AfterContentInit,\n forwardRef,\n Output,\n EventEmitter,\n OnDestroy,\n ViewChild,\n ElementRef,\n NgZone,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ThemePalette } from '@angular/material/core';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n ICanDisable,\n mixinDisabled,\n IControlValueAccessor,\n mixinControlValueAccessor,\n ICanDisableRipple,\n mixinDisableRipple,\n} from '@covalent/core/common';\n\nimport { timer, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { TdTabOptionComponent } from './tab-option.component';\n\nexport class TdTabSelectBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdTabSelectMixinBase = mixinControlValueAccessor(mixinDisabled(mixinDisableRipple(TdTabSelectBase)));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdTabSelectComponent),\n multi: true,\n },\n ],\n selector: 'td-tab-select',\n templateUrl: './tab-select.component.html',\n styleUrls: ['./tab-select.component.scss'],\n /* tslint:disable-next-line */\n inputs: ['value', 'disabled', 'disableRipple'],\n})\nexport class TdTabSelectComponent\n extends _TdTabSelectMixinBase\n implements IControlValueAccessor, ICanDisable, ICanDisableRipple, OnInit, AfterContentInit, OnDestroy {\n private _destroy: Subject<boolean> = new Subject<boolean>();\n private _widthSubject: Subject<number> = new Subject<number>();\n\n private _values: any[] = [];\n private _selectedIndex: number = 0;\n private _stretchTabs: boolean = false;\n\n @ViewChild(MatTabGroup, { static: true }) _matTabGroup: MatTabGroup;\n\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n /**\n * Gets all tab option children\n */\n @ContentChildren(TdTabOptionComponent, { descendants: true }) readonly _tabOptions: QueryList<TdTabOptionComponent>;\n\n get tabOptions(): TdTabOptionComponent[] {\n return this._tabOptions ? this._tabOptions.toArray() : undefined;\n }\n\n /**\n * Makes the tabs stretch to fit the parent container.\n */\n @Input('stretchTabs')\n set stretchTabs(stretchTabs: boolean) {\n this._stretchTabs = coerceBooleanProperty(stretchTabs);\n }\n get stretchTabs(): boolean {\n return this._stretchTabs;\n }\n\n /**\n * Color of the tab group.\n */\n @Input() color: ThemePalette;\n\n /**\n * Background color of the tab group.\n */\n @Input() backgroundColor: ThemePalette;\n\n /**\n * Event that emits whenever the raw value of the select changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n */\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(_changeDetectorRef: ChangeDetectorRef, private _ngZone: NgZone, private _elementRef: ElementRef) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n // set a timer to check every 250ms if the width has changed.\n // if the width has changed, then we realign the ink bar\n this._ngZone.runOutsideAngular(() => {\n this._widthSubject\n .asObservable()\n .pipe(takeUntil(this._destroy), distinctUntilChanged(), debounceTime(100))\n .subscribe(() => {\n this._ngZone.run(() => {\n this._matTabGroup.realignInkBar();\n this._changeDetectorRef.markForCheck();\n });\n });\n timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next((<HTMLElement>this._elementRef.nativeElement).getBoundingClientRect().width);\n }\n });\n });\n\n // subscribe to check if value changes and update the selectedIndex internally.\n this.valueChanges.pipe(takeUntil(this._destroy)).subscribe((value: any) => {\n this._setValue(value);\n });\n }\n\n ngAfterContentInit(): void {\n // subscribe to listen to any tab changes.\n this._refreshValues();\n this._tabOptions.changes.pipe(takeUntil(this._destroy)).subscribe(() => {\n this._refreshValues();\n });\n // initialize value\n Promise.resolve().then(() => {\n this._setValue(this.value);\n });\n }\n\n ngOnDestroy(): void {\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n\n /**\n * Method executed when user selects a different tab\n * This updates the new selectedIndex and infers what value should be mapped to.\n */\n selectedIndexChange(selectedIndex: number): void {\n this._selectedIndex = selectedIndex;\n const value: any = this._values[selectedIndex];\n this.value = value;\n this.valueChange.emit(value);\n this.onChange(value);\n }\n\n /**\n * Refresh the values array whenever the number of tabs gets updated\n */\n private _refreshValues(): void {\n this._values = this.tabOptions.map((tabOption: TdTabOptionComponent) => {\n return tabOption.value;\n });\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Try to set value depending if its part of our options\n * else set the value of the first tab.\n */\n private _setValue(value: any): void {\n const index: number = this._values.indexOf(value);\n if (index > -1) {\n this._selectedIndex = index;\n } else {\n this.value = this._values.length ? this._values[0] : undefined;\n this._selectedIndex = 0;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { TdTabSelectComponent } from './tab-select.component';\nimport { TdTabOptionComponent } from './tab-option.component';\n\n@NgModule({\n declarations: [TdTabSelectComponent, TdTabOptionComponent], // directives, components, and pipes owned by this NgModule\n imports: [\n /** Angular Modules */\n CommonModule,\n FormsModule,\n /** Material Modules */\n PortalModule,\n MatTabsModule,\n ], // modules needed to run this module\n exports: [TdTabSelectComponent, TdTabOptionComponent],\n})\nexport class CovalentTabSelectModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-tab-select.js","sources":["../../../../src/platform/core/tab-select/tab-option.component.ts","../../../../src/platform/core/tab-select/tab-select.component.ts","../../../../src/platform/core/tab-select/tab-select.module.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n TemplateRef,\n OnInit,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { mixinDisabled, ICanDisable } from '@covalent/core/common';\n\nexport class TdTabOptionBase {\n constructor(public _viewContainerRef: ViewContainerRef, public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdTabOptionMixinBase = mixinDisabled(TdTabOptionBase);\n\n@Component({\n selector: 'td-tab-option',\n templateUrl: './tab-option.component.html',\n styleUrls: ['./tab-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n /* tslint:disable-next-line */\n inputs: ['disabled'],\n})\nexport class TdTabOptionComponent extends _TdTabOptionMixinBase implements ICanDisable, OnInit {\n private _contentPortal: TemplatePortal<any>;\n get content(): TemplatePortal<any> {\n return this._contentPortal;\n }\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n\n /**\n * Value to which the option will be binded to.\n */\n @Input() value: any;\n\n constructor(_viewContainerRef: ViewContainerRef, _changeDetectorRef: ChangeDetectorRef) {\n super(_viewContainerRef, _changeDetectorRef);\n }\n\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._content, this._viewContainerRef);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n OnInit,\n AfterContentInit,\n forwardRef,\n Output,\n EventEmitter,\n OnDestroy,\n ViewChild,\n ElementRef,\n NgZone,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ThemePalette } from '@angular/material/core';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n ICanDisable,\n mixinDisabled,\n IControlValueAccessor,\n mixinControlValueAccessor,\n ICanDisableRipple,\n mixinDisableRipple,\n} from '@covalent/core/common';\n\nimport { timer, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { TdTabOptionComponent } from './tab-option.component';\n\nexport class TdTabSelectBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdTabSelectMixinBase = mixinControlValueAccessor(mixinDisabled(mixinDisableRipple(TdTabSelectBase)));\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdTabSelectComponent),\n multi: true,\n },\n ],\n selector: 'td-tab-select',\n templateUrl: './tab-select.component.html',\n styleUrls: ['./tab-select.component.scss'],\n /* tslint:disable-next-line */\n inputs: ['value', 'disabled', 'disableRipple'],\n})\nexport class TdTabSelectComponent\n extends _TdTabSelectMixinBase\n implements IControlValueAccessor, ICanDisable, ICanDisableRipple, OnInit, AfterContentInit, OnDestroy\n{\n private _destroy: Subject<boolean> = new Subject<boolean>();\n private _widthSubject: Subject<number> = new Subject<number>();\n\n private _values: any[] = [];\n private _selectedIndex: number = 0;\n private _stretchTabs: boolean = false;\n\n @ViewChild(MatTabGroup, { static: true }) _matTabGroup: MatTabGroup;\n\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n /**\n * Gets all tab option children\n */\n @ContentChildren(TdTabOptionComponent, { descendants: true }) readonly _tabOptions: QueryList<TdTabOptionComponent>;\n\n get tabOptions(): TdTabOptionComponent[] {\n return this._tabOptions ? this._tabOptions.toArray() : undefined;\n }\n\n /**\n * Makes the tabs stretch to fit the parent container.\n */\n @Input('stretchTabs')\n set stretchTabs(stretchTabs: boolean) {\n this._stretchTabs = coerceBooleanProperty(stretchTabs);\n }\n get stretchTabs(): boolean {\n return this._stretchTabs;\n }\n\n /**\n * Color of the tab group.\n */\n @Input() color: ThemePalette;\n\n /**\n * Background color of the tab group.\n */\n @Input() backgroundColor: ThemePalette;\n\n /**\n * Event that emits whenever the raw value of the select changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n */\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(_changeDetectorRef: ChangeDetectorRef, private _ngZone: NgZone, private _elementRef: ElementRef) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n // set a timer to check every 250ms if the width has changed.\n // if the width has changed, then we realign the ink bar\n this._ngZone.runOutsideAngular(() => {\n this._widthSubject\n .asObservable()\n .pipe(takeUntil(this._destroy), distinctUntilChanged(), debounceTime(100))\n .subscribe(() => {\n this._ngZone.run(() => {\n this._matTabGroup.realignInkBar();\n this._changeDetectorRef.markForCheck();\n });\n });\n timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next((<HTMLElement>this._elementRef.nativeElement).getBoundingClientRect().width);\n }\n });\n });\n\n // subscribe to check if value changes and update the selectedIndex internally.\n this.valueChanges.pipe(takeUntil(this._destroy)).subscribe((value: any) => {\n this._setValue(value);\n });\n }\n\n ngAfterContentInit(): void {\n // subscribe to listen to any tab changes.\n this._refreshValues();\n this._tabOptions.changes.pipe(takeUntil(this._destroy)).subscribe(() => {\n this._refreshValues();\n });\n // initialize value\n Promise.resolve().then(() => {\n this._setValue(this.value);\n });\n }\n\n ngOnDestroy(): void {\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n\n /**\n * Method executed when user selects a different tab\n * This updates the new selectedIndex and infers what value should be mapped to.\n */\n selectedIndexChange(selectedIndex: number): void {\n this._selectedIndex = selectedIndex;\n const value: any = this._values[selectedIndex];\n this.value = value;\n this.valueChange.emit(value);\n this.onChange(value);\n }\n\n /**\n * Refresh the values array whenever the number of tabs gets updated\n */\n private _refreshValues(): void {\n this._values = this.tabOptions.map((tabOption: TdTabOptionComponent) => {\n return tabOption.value;\n });\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Try to set value depending if its part of our options\n * else set the value of the first tab.\n */\n private _setValue(value: any): void {\n const index: number = this._values.indexOf(value);\n if (index > -1) {\n this._selectedIndex = index;\n } else {\n this.value = this._values.length ? this._values[0] : undefined;\n this._selectedIndex = 0;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { TdTabSelectComponent } from './tab-select.component';\nimport { TdTabOptionComponent } from './tab-option.component';\n\n@NgModule({\n declarations: [TdTabSelectComponent, TdTabOptionComponent], // directives, components, and pipes owned by this NgModule\n imports: [\n /** Angular Modules */\n CommonModule,\n FormsModule,\n /** Material Modules */\n PortalModule,\n MatTabsModule,\n ], // modules needed to run this module\n exports: [TdTabSelectComponent, TdTabOptionComponent],\n})\nexport class CovalentTabSelectModule {}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-user-profile.js","sources":["../../../../src/platform/core/user-profile/user-profile-menu/user-profile-menu.component.ts","../../../../src/platform/core/user-profile/user-profile.component.ts","../../../../src/platform/core/user-profile/user-profile.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'td-user-profile-menu',\n templateUrl: './user-profile-menu.component.html',\n styleUrls: ['./user-profile-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdUserProfileMenuComponent {\n @Input() email: string;\n @Input() name: string;\n\n _blockEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'td-user-profile',\n templateUrl: './user-profile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdUserProfileComponent {\n @Input() name: string;\n @Input() email: string;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentMenuModule } from '@covalent/core/menu';\n\nimport { TdUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { TdUserProfileComponent } from './user-profile.component';\n\n@NgModule({\n declarations: [TdUserProfileComponent, TdUserProfileMenuComponent],\n imports: [\n CommonModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatListModule,\n\n /* covalent modules */\n CovalentMenuModule,\n ],\n providers: [],\n exports: [TdUserProfileComponent, TdUserProfileMenuComponent],\n})\nexport class CovalentUserProfileModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;MAQa,0BAA0B;;;;;IAIrC,WAAW,CAAC,KAAY;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;;;YAbF,SAAS,SAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,8kBAAiD;gBAEjD,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;oBAEE,KAAK;mBACL,KAAK;;;;IADN,2CAAuB;;IACvB,0CAAsB;;;;;;;;MCHX,sBAAsB;;;YALlC,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,8bAA4C;gBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;aAChD;;;mBAEE,KAAK;oBACL,KAAK;;;;IADN,sCAAsB;;IACtB,uCAAuB;;;;;;;;MCkBZ,yBAAyB;;;YAfrC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;gBAClE,OAAO,EAAE;oBACP,YAAY;oBACZ,aAAa;oBACb,aAAa;oBACb,eAAe;oBACf,aAAa;;oBAGb,kBAAkB;iBACnB;gBACD,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;aAC9D;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"covalent-core-user-profile.js","sources":["../../../src/platform/core/user-profile/user-profile-menu/user-profile-menu.component.ts","../../../../src/platform/core/user-profile/user-profile.component.ts","../../../../src/platform/core/user-profile/user-profile.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'td-user-profile-menu',\n templateUrl: './user-profile-menu.component.html',\n styleUrls: ['./user-profile-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdUserProfileMenuComponent {\n @Input() email: string;\n @Input() name: string;\n\n _blockEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'td-user-profile',\n templateUrl: './user-profile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdUserProfileComponent {\n @Input() name: string;\n @Input() email: string;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentMenuModule } from '@covalent/core/menu';\n\nimport { TdUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { TdUserProfileComponent } from './user-profile.component';\n\n@NgModule({\n declarations: [TdUserProfileComponent, TdUserProfileMenuComponent],\n imports: [\n CommonModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatListModule,\n\n /* covalent modules */\n CovalentMenuModule,\n ],\n providers: [],\n exports: [TdUserProfileComponent, TdUserProfileMenuComponent],\n})\nexport class CovalentUserProfileModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;MAQa,0BAA0B;;;;;IAIrC,WAAW,CAAC,KAAY;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;;;YAbF,SAAS,SAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,8kBAAiD;gBAEjD,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;oBAEE,KAAK;mBACL,KAAK;;;;IADN,2CAAuB;;IACvB,0CAAsB;;;;;;;;MCHX,sBAAsB;;;YALlC,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,8bAA4C;gBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;aAChD;;;mBAEE,KAAK;oBACL,KAAK;;;;IADN,sCAAsB;;IACtB,uCAAuB;;;;;;;;MCkBZ,yBAAyB;;;YAfrC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;gBAClE,OAAO,EAAE;oBACP,YAAY;oBACZ,aAAa;oBACb,aAAa;oBACb,eAAe;oBACf,aAAa;;oBAGb,kBAAkB;iBACnB;gBACD,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;aAC9D;;;;;;;;;;;;;;;;;;;;;;;"}