@ptsecurity/mosaic 12.0.2 → 12.2.2

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 (336) hide show
  1. package/_theming.scss +475 -101
  2. package/_visual.scss +131 -13
  3. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +18 -20
  4. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
  5. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +15 -17
  6. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
  7. package/bundles/ptsecurity-mosaic-button.umd.js +17 -19
  8. package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
  9. package/bundles/ptsecurity-mosaic-card.umd.js +11 -13
  10. package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
  11. package/bundles/ptsecurity-mosaic-checkbox.umd.js +14 -16
  12. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
  13. package/bundles/ptsecurity-mosaic-core.umd.js +259 -172
  14. package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
  15. package/bundles/ptsecurity-mosaic-datepicker.umd.js +47 -48
  16. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
  17. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +231 -26
  18. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
  19. package/bundles/ptsecurity-mosaic-divider.umd.js +11 -13
  20. package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
  21. package/bundles/ptsecurity-mosaic-dropdown.umd.js +67 -59
  22. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
  23. package/bundles/ptsecurity-mosaic-form-field.umd.js +737 -738
  24. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
  25. package/bundles/ptsecurity-mosaic-icon.umd.js +14 -16
  26. package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
  27. package/bundles/ptsecurity-mosaic-input.umd.js +45 -33
  28. package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
  29. package/bundles/ptsecurity-mosaic-link.umd.js +11 -13
  30. package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
  31. package/bundles/ptsecurity-mosaic-list.umd.js +177 -89
  32. package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
  33. package/bundles/ptsecurity-mosaic-modal.umd.js +52 -44
  34. package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
  35. package/bundles/ptsecurity-mosaic-navbar.umd.js +46 -43
  36. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
  37. package/bundles/ptsecurity-mosaic-popover.umd.js +215 -34
  38. package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
  39. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +12 -14
  40. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
  41. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +12 -14
  42. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
  43. package/bundles/ptsecurity-mosaic-radio.umd.js +14 -16
  44. package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
  45. package/bundles/ptsecurity-mosaic-select.umd.js +22 -24
  46. package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
  47. package/bundles/ptsecurity-mosaic-sidebar.umd.js +17 -19
  48. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
  49. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +62 -58
  50. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
  51. package/bundles/ptsecurity-mosaic-splitter.umd.js +31 -21
  52. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
  53. package/bundles/ptsecurity-mosaic-table.umd.js +11 -13
  54. package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
  55. package/bundles/ptsecurity-mosaic-tabs.umd.js +150 -74
  56. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
  57. package/bundles/ptsecurity-mosaic-tags.umd.js +28 -29
  58. package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
  59. package/bundles/ptsecurity-mosaic-textarea.umd.js +12 -14
  60. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
  61. package/bundles/ptsecurity-mosaic-timepicker.umd.js +16 -17
  62. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
  63. package/bundles/ptsecurity-mosaic-toggle.umd.js +11 -13
  64. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
  65. package/bundles/ptsecurity-mosaic-tooltip.umd.js +72 -23
  66. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
  67. package/bundles/ptsecurity-mosaic-tree-select.umd.js +24 -29
  68. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
  69. package/bundles/ptsecurity-mosaic-tree.umd.js +1018 -261
  70. package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
  71. package/bundles/ptsecurity-mosaic.umd.js +2 -2
  72. package/core/option/action.d.ts +42 -0
  73. package/core/option/index.d.ts +1 -0
  74. package/core/option/option-module.d.ts +4 -3
  75. package/core/pop-up/pop-up-trigger.d.ts +9 -12
  76. package/design-tokens/style-dictionary/build.js +6 -0
  77. package/design-tokens/style-dictionary/configs/index.js +2 -1
  78. package/design-tokens/tokens/components/badge.json5 +177 -7
  79. package/design-tokens/tokens/components/list.json5 +0 -4
  80. package/design-tokens/tokens/components/tree.json5 +3 -3
  81. package/design-tokens/tokens/properties/globals.json5 +1 -1
  82. package/design-tokens/tokens/properties/typography.json5 +16 -0
  83. package/design-tokens/tokens.d.ts +115 -13
  84. package/dropdown/dropdown-item.component.d.ts +1 -0
  85. package/dropdown/dropdown-trigger.directive.d.ts +3 -8
  86. package/dropdown/dropdown.component.d.ts +1 -0
  87. package/esm2015/autocomplete/autocomplete-origin.directive.js +4 -4
  88. package/esm2015/autocomplete/autocomplete-trigger.directive.js +4 -4
  89. package/esm2015/autocomplete/autocomplete.component.js +4 -4
  90. package/esm2015/autocomplete/autocomplete.module.js +5 -5
  91. package/esm2015/button/button.component.js +10 -10
  92. package/esm2015/button/button.module.js +5 -5
  93. package/esm2015/button-toggle/button-toggle.component.js +7 -7
  94. package/esm2015/button-toggle/button-toggle.module.js +5 -5
  95. package/esm2015/card/card.component.js +4 -4
  96. package/esm2015/card/card.module.js +5 -5
  97. package/esm2015/checkbox/checkbox-module.js +5 -5
  98. package/esm2015/checkbox/checkbox-required-validator.js +4 -4
  99. package/esm2015/checkbox/checkbox.js +4 -4
  100. package/esm2015/core/common-behaviors/common-module.js +5 -5
  101. package/esm2015/core/error/error-options.js +7 -7
  102. package/esm2015/core/formatters/date/formatter.js +6 -5
  103. package/esm2015/core/formatters/index.js +5 -5
  104. package/esm2015/core/formatters/number/formatter.js +5 -5
  105. package/esm2015/core/forms/forms-module.js +5 -5
  106. package/esm2015/core/forms/forms.directive.js +7 -7
  107. package/esm2015/core/highlight/highlight.pipe.js +4 -4
  108. package/esm2015/core/highlight/index.js +5 -5
  109. package/esm2015/core/line/line.js +8 -8
  110. package/esm2015/core/option/action.js +131 -0
  111. package/esm2015/core/option/index.js +2 -1
  112. package/esm2015/core/option/optgroup.js +4 -4
  113. package/esm2015/core/option/option-module.js +8 -7
  114. package/esm2015/core/option/option.js +4 -4
  115. package/esm2015/core/pop-up/pop-up-trigger.js +32 -64
  116. package/esm2015/core/pop-up/pop-up.js +4 -4
  117. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +4 -4
  118. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +5 -5
  119. package/esm2015/core/services/measure-scrollbar.service.js +4 -4
  120. package/esm2015/datepicker/calendar-body.component.js +4 -4
  121. package/esm2015/datepicker/calendar.component.js +7 -7
  122. package/esm2015/datepicker/datepicker-input.directive.js +6 -5
  123. package/esm2015/datepicker/datepicker-intl.js +4 -4
  124. package/esm2015/datepicker/datepicker-module.js +5 -5
  125. package/esm2015/datepicker/datepicker-toggle.component.js +7 -7
  126. package/esm2015/datepicker/datepicker.component.js +7 -7
  127. package/esm2015/datepicker/month-view.component.js +4 -4
  128. package/esm2015/datepicker/multi-year-view.component.js +4 -4
  129. package/esm2015/datepicker/year-view.component.js +4 -4
  130. package/esm2015/design-tokens/tokens.js +116 -14
  131. package/esm2015/divider/divider.component.js +4 -4
  132. package/esm2015/divider/divider.module.js +5 -5
  133. package/esm2015/dropdown/dropdown-content.directive.js +4 -4
  134. package/esm2015/dropdown/dropdown-item.component.js +11 -4
  135. package/esm2015/dropdown/dropdown-trigger.directive.js +39 -39
  136. package/esm2015/dropdown/dropdown.component.js +9 -5
  137. package/esm2015/dropdown/dropdown.module.js +5 -5
  138. package/esm2015/form-field/cleaner.js +9 -5
  139. package/esm2015/form-field/form-field.js +7 -7
  140. package/esm2015/form-field/form-field.module.js +5 -5
  141. package/esm2015/form-field/hint.js +4 -4
  142. package/esm2015/form-field/prefix.js +4 -4
  143. package/esm2015/form-field/stepper.js +4 -4
  144. package/esm2015/form-field/suffix.js +4 -4
  145. package/esm2015/icon/icon.component.js +7 -7
  146. package/esm2015/icon/icon.module.js +5 -5
  147. package/esm2015/input/input-number-validators.js +28 -14
  148. package/esm2015/input/input-number.js +4 -4
  149. package/esm2015/input/input.js +7 -7
  150. package/esm2015/input/input.module.js +5 -5
  151. package/esm2015/link/link.component.js +4 -4
  152. package/esm2015/link/link.module.js +5 -5
  153. package/esm2015/list/list-selection.component.js +155 -66
  154. package/esm2015/list/list.component.js +7 -7
  155. package/esm2015/list/list.module.js +5 -5
  156. package/esm2015/modal/css-unit.pipe.js +4 -4
  157. package/esm2015/modal/modal-control.service.js +4 -4
  158. package/esm2015/modal/modal.component.js +6 -4
  159. package/esm2015/modal/modal.directive.js +13 -13
  160. package/esm2015/modal/modal.module.js +9 -7
  161. package/esm2015/modal/modal.service.js +16 -9
  162. package/esm2015/navbar/navbar-item.component.js +21 -21
  163. package/esm2015/navbar/navbar.component.js +7 -7
  164. package/esm2015/navbar/navbar.module.js +5 -5
  165. package/esm2015/navbar/vertical-navbar.component.js +14 -9
  166. package/esm2015/popover/popover-confirm.component.js +116 -0
  167. package/esm2015/popover/popover.component.js +63 -20
  168. package/esm2015/popover/popover.module.js +13 -10
  169. package/esm2015/popover/public-api.js +2 -1
  170. package/esm2015/progress-bar/progress-bar.component.js +4 -4
  171. package/esm2015/progress-bar/progress-bar.module.js +5 -5
  172. package/esm2015/progress-spinner/progress-spinner.component.js +4 -4
  173. package/esm2015/progress-spinner/progress-spinner.module.js +5 -5
  174. package/esm2015/radio/radio.component.js +7 -7
  175. package/esm2015/radio/radio.module.js +5 -5
  176. package/esm2015/select/select.component.js +14 -14
  177. package/esm2015/select/select.module.js +5 -5
  178. package/esm2015/sidebar/sidebar.component.js +10 -10
  179. package/esm2015/sidebar/sidebar.module.js +5 -5
  180. package/esm2015/sidepanel/sidepanel-container.component.js +14 -13
  181. package/esm2015/sidepanel/sidepanel-directives.js +22 -18
  182. package/esm2015/sidepanel/sidepanel.module.js +12 -8
  183. package/esm2015/sidepanel/sidepanel.service.js +6 -5
  184. package/esm2015/splitter/splitter.component.js +24 -13
  185. package/esm2015/splitter/splitter.module.js +5 -5
  186. package/esm2015/table/table.component.js +4 -4
  187. package/esm2015/table/table.module.js +5 -5
  188. package/esm2015/tabs/paginated-tab-header.js +5 -5
  189. package/esm2015/tabs/tab-body.component.js +7 -7
  190. package/esm2015/tabs/tab-content.directive.js +4 -4
  191. package/esm2015/tabs/tab-group.component.js +56 -26
  192. package/esm2015/tabs/tab-header.component.js +4 -4
  193. package/esm2015/tabs/tab-label-wrapper.directive.js +21 -6
  194. package/esm2015/tabs/tab-label.directive.js +4 -4
  195. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +7 -7
  196. package/esm2015/tabs/tab.component.js +36 -13
  197. package/esm2015/tabs/tabs.module.js +5 -5
  198. package/esm2015/tags/tag-input.js +4 -4
  199. package/esm2015/tags/tag-list.component.js +4 -4
  200. package/esm2015/tags/tag.component.js +14 -13
  201. package/esm2015/tags/tag.module.js +5 -5
  202. package/esm2015/textarea/textarea.component.js +4 -4
  203. package/esm2015/textarea/textarea.module.js +5 -5
  204. package/esm2015/timepicker/timepicker.directive.js +9 -8
  205. package/esm2015/timepicker/timepicker.module.js +5 -5
  206. package/esm2015/toggle/toggle.component.js +4 -4
  207. package/esm2015/toggle/toggle.module.js +5 -5
  208. package/esm2015/tooltip/tooltip.component.js +55 -16
  209. package/esm2015/tooltip/tooltip.module.js +5 -5
  210. package/esm2015/tree/control/base-tree-control.js +60 -0
  211. package/esm2015/tree/control/flat-tree-control.js +123 -0
  212. package/esm2015/tree/control/nested-tree-control.js +41 -0
  213. package/esm2015/tree/control/tree-control.js +2 -0
  214. package/esm2015/tree/data-source/flat-data-source.js +1 -1
  215. package/esm2015/tree/node.js +31 -0
  216. package/esm2015/tree/outlet.js +15 -0
  217. package/esm2015/tree/padding.directive.js +90 -23
  218. package/esm2015/tree/public-api.js +9 -2
  219. package/esm2015/tree/toggle.js +46 -52
  220. package/esm2015/tree/tree-base.js +243 -0
  221. package/esm2015/tree/tree-errors.js +36 -0
  222. package/esm2015/tree/tree-option.component.js +75 -32
  223. package/esm2015/tree/tree-selection.component.js +122 -73
  224. package/esm2015/tree/tree.js +23 -0
  225. package/esm2015/tree/tree.module.js +24 -13
  226. package/esm2015/tree-select/tree-select.component.js +11 -12
  227. package/esm2015/tree-select/tree-select.module.js +5 -9
  228. package/fesm2015/ptsecurity-mosaic-autocomplete.js +13 -13
  229. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
  230. package/fesm2015/ptsecurity-mosaic-button-toggle.js +10 -10
  231. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
  232. package/fesm2015/ptsecurity-mosaic-button.js +13 -13
  233. package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
  234. package/fesm2015/ptsecurity-mosaic-card.js +7 -7
  235. package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
  236. package/fesm2015/ptsecurity-mosaic-checkbox.js +10 -10
  237. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
  238. package/fesm2015/ptsecurity-mosaic-core.js +231 -140
  239. package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
  240. package/fesm2015/ptsecurity-mosaic-datepicker.js +42 -41
  241. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
  242. package/fesm2015/ptsecurity-mosaic-design-tokens.js +116 -14
  243. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
  244. package/fesm2015/ptsecurity-mosaic-divider.js +7 -7
  245. package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
  246. package/fesm2015/ptsecurity-mosaic-dropdown.js +63 -52
  247. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
  248. package/fesm2015/ptsecurity-mosaic-form-field.js +30 -27
  249. package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
  250. package/fesm2015/ptsecurity-mosaic-icon.js +10 -10
  251. package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
  252. package/fesm2015/ptsecurity-mosaic-input.js +40 -26
  253. package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
  254. package/fesm2015/ptsecurity-mosaic-link.js +7 -7
  255. package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
  256. package/fesm2015/ptsecurity-mosaic-list.js +164 -76
  257. package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
  258. package/fesm2015/ptsecurity-mosaic-modal.js +46 -35
  259. package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
  260. package/fesm2015/ptsecurity-mosaic-navbar.js +43 -38
  261. package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
  262. package/fesm2015/ptsecurity-mosaic-popover.js +179 -30
  263. package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
  264. package/fesm2015/ptsecurity-mosaic-progress-bar.js +7 -7
  265. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
  266. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +7 -7
  267. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
  268. package/fesm2015/ptsecurity-mosaic-radio.js +10 -10
  269. package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
  270. package/fesm2015/ptsecurity-mosaic-select.js +17 -17
  271. package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
  272. package/fesm2015/ptsecurity-mosaic-sidebar.js +13 -13
  273. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
  274. package/fesm2015/ptsecurity-mosaic-sidepanel.js +50 -41
  275. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
  276. package/fesm2015/ptsecurity-mosaic-splitter.js +27 -16
  277. package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
  278. package/fesm2015/ptsecurity-mosaic-table.js +7 -7
  279. package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
  280. package/fesm2015/ptsecurity-mosaic-tabs.js +240 -174
  281. package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
  282. package/fesm2015/ptsecurity-mosaic-tags.js +23 -22
  283. package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
  284. package/fesm2015/ptsecurity-mosaic-textarea.js +7 -7
  285. package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
  286. package/fesm2015/ptsecurity-mosaic-timepicker.js +12 -11
  287. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
  288. package/fesm2015/ptsecurity-mosaic-toggle.js +7 -7
  289. package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
  290. package/fesm2015/ptsecurity-mosaic-tooltip.js +57 -18
  291. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
  292. package/fesm2015/ptsecurity-mosaic-tree-select.js +14 -18
  293. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
  294. package/fesm2015/ptsecurity-mosaic-tree.js +874 -190
  295. package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
  296. package/form-field/cleaner.d.ts +2 -0
  297. package/input/input-number-validators.d.ts +2 -2
  298. package/list/list-selection.component.d.ts +28 -6
  299. package/modal/modal.component.d.ts +2 -0
  300. package/modal/modal.module.d.ts +1 -1
  301. package/package.json +5 -5
  302. package/popover/popover-confirm.component.d.ts +33 -0
  303. package/popover/popover.component.d.ts +14 -4
  304. package/popover/popover.module.d.ts +6 -3
  305. package/popover/public-api.d.ts +1 -0
  306. package/prebuilt-themes/dark-theme.css +1 -1
  307. package/prebuilt-themes/default-theme.css +1 -1
  308. package/prebuilt-visual/default-visual.css +1 -1
  309. package/select/select.component.d.ts +2 -7
  310. package/sidepanel/sidepanel-directives.d.ts +2 -0
  311. package/sidepanel/sidepanel.module.d.ts +2 -1
  312. package/splitter/splitter.component.d.ts +6 -3
  313. package/tabs/tab-group.component.d.ts +11 -4
  314. package/tabs/tab-label-wrapper.directive.d.ts +7 -1
  315. package/tabs/tab.component.d.ts +10 -4
  316. package/tooltip/tooltip.component.d.ts +12 -3
  317. package/tree/control/base-tree-control.d.ts +40 -0
  318. package/tree/control/flat-tree-control.d.ts +48 -0
  319. package/tree/control/nested-tree-control.d.ts +19 -0
  320. package/tree/control/tree-control.d.ts +44 -0
  321. package/tree/data-source/flat-data-source.d.ts +2 -1
  322. package/tree/node.d.ts +34 -0
  323. package/tree/outlet.d.ts +9 -0
  324. package/tree/padding.directive.d.ts +35 -7
  325. package/tree/public-api.d.ts +8 -1
  326. package/tree/toggle.d.ts +17 -17
  327. package/tree/tree-base.d.ts +97 -0
  328. package/tree/tree-errors.d.ts +25 -0
  329. package/tree/tree-option.component.d.ts +13 -5
  330. package/tree/tree-selection.component.d.ts +32 -13
  331. package/tree/tree.d.ts +6 -0
  332. package/tree/tree.module.d.ts +10 -8
  333. package/tree-select/tree-select.component.d.ts +2 -7
  334. package/tree-select/tree-select.module.d.ts +5 -6
  335. package/esm2015/tree/node.directive.js +0 -19
  336. package/tree/node.directive.d.ts +0 -7
@@ -5,15 +5,15 @@ import { CdkPortalOutlet, CdkPortal, TemplatePortal, PortalModule } from '@angul
5
5
  import * as i3$1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Input, Output, ViewChild, forwardRef, Directive, Inject, ContentChildren, InjectionToken, TemplateRef, ContentChild, Attribute, NgModule } from '@angular/core';
9
- import { mixinDisabled, mixinTabIndex, McCommonModule } from '@ptsecurity/mosaic/core';
8
+ import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Input, Output, ViewChild, forwardRef, Directive, Inject, InjectionToken, TemplateRef, ContentChild, ContentChildren, Attribute, NgModule } from '@angular/core';
9
+ import { mixinDisabled, PopUpPlacements, mixinTabIndex, McCommonModule } from '@ptsecurity/mosaic/core';
10
10
  import * as i4 from '@ptsecurity/mosaic/icon';
11
11
  import { McIconModule } from '@ptsecurity/mosaic/icon';
12
12
  import * as i6 from '@ptsecurity/mosaic/tooltip';
13
13
  import { McToolTipModule } from '@ptsecurity/mosaic/tooltip';
14
14
  import * as i3 from '@angular/cdk/bidi';
15
15
  import { Subscription, Subject, fromEvent, of, merge, timer } from 'rxjs';
16
- import { startWith, takeUntil, delay } from 'rxjs/operators';
16
+ import { startWith, takeUntil, debounceTime, delay } from 'rxjs/operators';
17
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
18
18
  import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
19
19
  import * as i2 from '@angular/cdk/platform';
@@ -141,9 +141,9 @@ class McTabBody {
141
141
  return 'right-origin-center';
142
142
  }
143
143
  }
144
- /** @nocollapse */ McTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabBody, deps: [{ token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
145
- /** @nocollapse */ McTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabBody, selector: "mc-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "mc-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "<div class=\"mc-tab-body__content\"\n #content\n [@translateTab]=\"{\n value: bodyPosition,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\">\n <ng-template mcTabBodyHost></ng-template>\n</div>\n", styles: [".mc-tab-body__content{height:100%;overflow:auto}.mc-tab-body__content .mc-tab-group_dynamic-height{overflow:hidden}\n"], directives: [{ type: i0.forwardRef(function () { return McTabBodyPortal; }), selector: "[mcTabBodyHost]" }], animations: [mcTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabBody, decorators: [{
144
+ /** @nocollapse */ McTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabBody, deps: [{ token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
145
+ /** @nocollapse */ McTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTabBody, selector: "mc-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "mc-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "<div class=\"mc-tab-body__content\"\n #content\n [@translateTab]=\"{\n value: bodyPosition,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\">\n <ng-template mcTabBodyHost></ng-template>\n</div>\n", styles: [".mc-tab-body__content{height:100%;overflow:auto}.mc-tab-body__content .mc-tab-group_dynamic-height{overflow:hidden}\n"], directives: [{ type: i0.forwardRef(function () { return McTabBodyPortal; }), selector: "[mcTabBodyHost]" }], animations: [mcTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabBody, decorators: [{
147
147
  type: Component,
148
148
  args: [{
149
149
  selector: 'mc-tab-body',
@@ -212,9 +212,9 @@ class McTabBodyPortal extends CdkPortalOutlet {
212
212
  this.leavingSub.unsubscribe();
213
213
  }
214
214
  }
215
- /** @nocollapse */ McTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => McTabBody) }], target: i0.ɵɵFactoryTarget.Directive });
216
- /** @nocollapse */ McTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabBodyPortal, selector: "[mcTabBodyHost]", usesInheritance: true, ngImport: i0 });
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabBodyPortal, decorators: [{
215
+ /** @nocollapse */ McTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => McTabBody) }], target: i0.ɵɵFactoryTarget.Directive });
216
+ /** @nocollapse */ McTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McTabBodyPortal, selector: "[mcTabBodyHost]", usesInheritance: true, ngImport: i0 });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabBodyPortal, decorators: [{
218
218
  type: Directive,
219
219
  args: [{
220
220
  selector: '[mcTabBodyHost]'
@@ -230,9 +230,9 @@ class McTabContent {
230
230
  this.template = template;
231
231
  }
232
232
  }
233
- /** @nocollapse */ McTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
234
- /** @nocollapse */ McTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabContent, selector: "[mcTabContent]", ngImport: i0 });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabContent, decorators: [{
233
+ /** @nocollapse */ McTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
234
+ /** @nocollapse */ McTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McTabContent, selector: "[mcTabContent]", ngImport: i0 });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabContent, decorators: [{
236
236
  type: Directive,
237
237
  args: [{ selector: '[mcTabContent]' }]
238
238
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
@@ -596,7 +596,7 @@ class McPaginatedTabHeader {
596
596
  * should be called sparingly.
597
597
  */
598
598
  checkPaginationEnabled() {
599
- if (this.disablePagination) {
599
+ if (this.disablePagination || this.vertical) {
600
600
  this.showPaginationControls = false;
601
601
  }
602
602
  else {
@@ -689,9 +689,9 @@ class McPaginatedTabHeader {
689
689
  return { maxScrollDistance, distance: this.scrollDistance };
690
690
  }
691
691
  }
692
- /** @nocollapse */ McPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.Directionality, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
693
- /** @nocollapse */ McPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McPaginatedTabHeader, decorators: [{
692
+ /** @nocollapse */ McPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.Directionality, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
693
+ /** @nocollapse */ McPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPaginatedTabHeader, decorators: [{
695
695
  type: Directive
696
696
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: i2.Platform }, { type: i3.Directionality, decorators: [{
697
697
  type: Optional
@@ -704,6 +704,146 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
704
704
  type: Input
705
705
  }] } });
706
706
 
707
+ const MC_TAB_LABEL = new InjectionToken('McTabLabel');
708
+ /** Used to flag tab labels for use with the portal directive */
709
+ class McTabLabel extends CdkPortal {
710
+ }
711
+ /** @nocollapse */ McTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLabel, deps: null, target: i0.ɵɵFactoryTarget.Directive });
712
+ /** @nocollapse */ McTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McTabLabel, selector: "[mc-tab-label], [mcTabLabel]", providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }], usesInheritance: true, ngImport: i0 });
713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLabel, decorators: [{
714
+ type: Directive,
715
+ args: [{
716
+ selector: '[mc-tab-label], [mcTabLabel]',
717
+ providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }]
718
+ }]
719
+ }] });
720
+
721
+ class McTabBase {
722
+ }
723
+ // tslint:disable-next-line:naming-convention
724
+ const McTabMixinBase = mixinDisabled(McTabBase);
725
+ class McTab extends McTabMixinBase {
726
+ constructor(viewContainerRef) {
727
+ super();
728
+ this.viewContainerRef = viewContainerRef;
729
+ this._tooltipTitle = '';
730
+ this.tooltipPlacement = PopUpPlacements.Right;
731
+ /** Plain text label for the tab, used when there is no template label. */
732
+ this.textLabel = '';
733
+ this.empty = false;
734
+ /** Emits whenever the internal state of the tab changes. */
735
+ this.stateChanges = new Subject();
736
+ /**
737
+ * The relatively indexed position where 0 represents the center, negative is left, and positive
738
+ * represents the right.
739
+ */
740
+ this.position = null;
741
+ /**
742
+ * The initial relatively index origin of the tab if it was created and selected after there
743
+ * was already a selected tab. Provides context of what position the tab should originate from.
744
+ */
745
+ this.origin = null;
746
+ /**
747
+ * Whether the tab is currently active.
748
+ */
749
+ this.isActive = false;
750
+ this._overflowTooltipTitle = '';
751
+ /** Portal that will be the hosted content of the tab */
752
+ this.contentPortal = null;
753
+ }
754
+ /** @docs-private */
755
+ get content() {
756
+ return this.contentPortal;
757
+ }
758
+ get templateLabel() {
759
+ return this._templateLabel;
760
+ }
761
+ set templateLabel(value) {
762
+ this.setTemplateLabelInput(value);
763
+ }
764
+ get tooltipTitle() {
765
+ return this.overflowTooltipTitle + this._tooltipTitle;
766
+ }
767
+ set tooltipTitle(value) {
768
+ this._tooltipTitle = value;
769
+ }
770
+ get isOverflown() {
771
+ return !!this._overflowTooltipTitle;
772
+ }
773
+ get overflowTooltipTitle() {
774
+ if (this.isOverflown) {
775
+ return `${this._overflowTooltipTitle}\n`;
776
+ }
777
+ return '';
778
+ }
779
+ set overflowTooltipTitle(value) {
780
+ this._overflowTooltipTitle = value;
781
+ }
782
+ ngOnChanges(changes) {
783
+ if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {
784
+ this.stateChanges.next();
785
+ }
786
+ }
787
+ ngOnDestroy() {
788
+ this.stateChanges.complete();
789
+ }
790
+ ngOnInit() {
791
+ this.contentPortal = new TemplatePortal(this.explicitContent || this.implicitContent, this.viewContainerRef);
792
+ }
793
+ /**
794
+ * This has been extracted to a util because of TS 4 and VE.
795
+ * View Engine doesn't support property rename inheritance.
796
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
797
+ * @docs-private
798
+ */
799
+ setTemplateLabelInput(value) {
800
+ // Only update the templateLabel via query if there is actually
801
+ // a McTabLabel found. This works around an issue where a user may have
802
+ // manually set `templateLabel` during creation mode, which would then get clobbered
803
+ // by `undefined` when this query resolves.
804
+ if (value) {
805
+ this._templateLabel = value;
806
+ }
807
+ }
808
+ }
809
+ /** @nocollapse */ McTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTab, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
810
+ /** @nocollapse */ McTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTab, selector: "mc-tab", inputs: { disabled: "disabled", tooltipTitle: "tooltipTitle", tooltipPlacement: "tooltipPlacement", textLabel: ["label", "textLabel"], empty: "empty", tabId: "tabId" }, queries: [{ propertyName: "templateLabel", first: true, predicate: MC_TAB_LABEL, descendants: true }, { propertyName: "explicitContent", first: true, predicate: McTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["mcTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTab, decorators: [{
812
+ type: Component,
813
+ args: [{
814
+ selector: 'mc-tab',
815
+ exportAs: 'mcTab',
816
+ // Create a template for the content of the <mc-tab> so that we can grab a reference to this
817
+ // TemplateRef and use it in a Portal to render the tab content in the appropriate place in the
818
+ // tab-group.
819
+ template: '<ng-template><ng-content></ng-content></ng-template>',
820
+ inputs: ['disabled'],
821
+ changeDetection: ChangeDetectionStrategy.OnPush,
822
+ encapsulation: ViewEncapsulation.None
823
+ }]
824
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateLabel: [{
825
+ type: ContentChild,
826
+ args: [MC_TAB_LABEL]
827
+ }], explicitContent: [{
828
+ type: ContentChild,
829
+ args: [McTabContent, { read: TemplateRef, static: true }]
830
+ }], implicitContent: [{
831
+ type: ViewChild,
832
+ args: [TemplateRef, { static: true }]
833
+ }], tooltipTitle: [{
834
+ type: Input
835
+ }], tooltipPlacement: [{
836
+ type: Input
837
+ }], textLabel: [{
838
+ type: Input,
839
+ args: ['label']
840
+ }], empty: [{
841
+ type: Input
842
+ }], tabId: [{
843
+ type: Input,
844
+ args: ['tabId']
845
+ }] } });
846
+
707
847
  // Boilerplate for applying mixins to McTabLabelWrapper.
708
848
  /** @docs-private */
709
849
  class McTabLabelWrapperBase {
@@ -733,6 +873,15 @@ class McTabLabelWrapper extends McTabLabelWrapperMixinBase {
733
873
  getOffsetWidth() {
734
874
  return this.elementRef.nativeElement.offsetWidth;
735
875
  }
876
+ checkOverflow() {
877
+ this.tab.overflowTooltipTitle = this.isOverflown() ? this.getInnerText() : '';
878
+ }
879
+ isOverflown() {
880
+ return this.labelContent.nativeElement.scrollWidth > this.labelContent.nativeElement.clientWidth;
881
+ }
882
+ getInnerText() {
883
+ return this.labelContent.nativeElement.innerText;
884
+ }
736
885
  addClassModifierForIcons(icons) {
737
886
  const twoIcons = 2;
738
887
  const [firstIconElement, secondIconElement] = icons;
@@ -751,9 +900,9 @@ class McTabLabelWrapper extends McTabLabelWrapperMixinBase {
751
900
  }
752
901
  }
753
902
  }
754
- /** @nocollapse */ McTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLabelWrapper, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
755
- /** @nocollapse */ McTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabLabelWrapper, selector: "[mcTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "attr.disabled": "disabled || null" } }, usesInheritance: true, ngImport: i0 });
756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLabelWrapper, decorators: [{
903
+ /** @nocollapse */ McTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLabelWrapper, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
904
+ /** @nocollapse */ McTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McTabLabelWrapper, selector: "[mcTabLabelWrapper]", inputs: { disabled: "disabled", tab: "tab" }, host: { properties: { "attr.disabled": "disabled || null" } }, queries: [{ propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], usesInheritance: true, ngImport: i0 });
905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLabelWrapper, decorators: [{
757
906
  type: Directive,
758
907
  args: [{
759
908
  selector: '[mcTabLabelWrapper]',
@@ -762,7 +911,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
762
911
  '[attr.disabled]': 'disabled || null'
763
912
  }
764
913
  }]
765
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
914
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { labelContent: [{
915
+ type: ContentChild,
916
+ args: ['labelContent']
917
+ }], tab: [{
918
+ type: Input
919
+ }] } });
766
920
 
767
921
  /**
768
922
  * The header of the tab group which displays a list of all the tabs in the tab group.
@@ -783,9 +937,9 @@ class McTabHeader extends McPaginatedTabHeader {
783
937
  event.preventDefault();
784
938
  }
785
939
  }
786
- /** @nocollapse */ McTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.Directionality, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
787
- /** @nocollapse */ McTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabHeader, selector: "mc-tab-header", inputs: { selectedIndex: "selectedIndex", vertical: "vertical" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mc-tab-header_vertical": "vertical", "class.mc-tab-header__pagination-controls_enabled": "showPaginationControls", "class.mc-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "mc-tab-header" }, queries: [{ propertyName: "items", predicate: McTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-tab-header__pagination mc-tab-header__pagination_before mc-elevation-z4\"\n #previousPaginator\n [class.mc-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\">\n\n <i mc-icon=\"mc-angle-left-M_16\"></i>\n</div>\n\n<div class=\"mc-tab-header__content\"\n #tabListContainer\n (keydown)=\"handleKeydown($event)\">\n\n <div class=\"mc-tab-list\"\n #tabList\n (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"mc-tab-list__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<div class=\"mc-tab-header__pagination mc-tab-header__pagination_after mc-elevation-z4\"\n #nextPaginator\n [class.mc-disabled]=\"disableScrollAfter\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (click)=\"handlePaginatorClick('after')\"\n (touchend)=\"stopInterval()\">\n\n <i mc-icon=\"mc-angle-right-M_16\"></i>\n</div>\n", styles: [".mc-tab-label.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * 1px);right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_horizontal.cdk-keyboard-focused:after,.mc-tab-label_old.cdk-keyboard-focused:after{border-width:calc(1px * 2);border-width:calc(var(--mc-tabs-size-border-width, 1px) * 2);border-style:solid;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px);border-bottom-color:transparent}.mc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mc-tab-list__content{display:flex}.mc-tab-group_align-labels-center .mc-tab-list__content{justify-content:center}.mc-tab-group_align-labels-end .mc-tab-list__content{justify-content:flex-end}.mc-tab-header_vertical .mc-tab-list__content{flex-direction:column}.mc-tab-header__pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding-left:12px;padding-right:12px;border-bottom-style:solid;border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination.mc-tab-header__pagination_before{border-right-style:solid;border-right-width:1px;border-right-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination.mc-tab-header__pagination_after{border-left-style:solid;border-left-width:1px;border-left-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination-controls_enabled .mc-tab-header__pagination{display:flex}.mc-tab-header__content{display:flex;flex-grow:1;z-index:1;overflow:hidden}.mc-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mc-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;height:40px;height:var(--mc-tabs-size-height, 40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:16px;padding-right:var(--mc-tabs-size-padding-horizontal, 16px);padding-left:16px;padding-left:var(--mc-tabs-size-padding-horizontal, 16px);outline:none;-webkit-user-select:none;user-select:none}.mc-tab-label .mc-tab-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.mc-tab-label.mc-active{cursor:default}.mc-tab-label.mc-active:before{display:block;content:\"\";position:absolute}.mc-tab-label.mc-active[disabled] .mc-tab-overlay{bottom:-1px}.mc-tab-label.cdk-keyboard-focused{z-index:1}.mc-tab-label:first-child.cdk-keyboard-focused:after{left:0}.mc-tab-label:last-child.cdk-keyboard-focused:after{right:0}.mc-tab-label[disabled]{pointer-events:none}.mc-tab-label .mc-tab-label__template{display:flex;flex-direction:row;align-items:baseline}.mc-tab-label .mc-tab-label__template>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-label .mc-tab-label__template>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-label_old{border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px);border-bottom-style:solid;border-width:1px;border-width:var(--mc-tabs-size-border-width, 1px);border-style:solid;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px);border-left:none;border-left-color:transparent;border-right:none;border-right-color:transparent}.mc-tab-label_old.mc-active{border-width:1px;border-width:var(--mc-tabs-size-border-width, 1px);border-style:solid;padding-right:calc(16px - 1px);padding-right:calc(var(--mc-tabs-size-padding-horizontal, 16px) - var(--mc-tabs-size-border-width, 1px));padding-left:calc(16px - 1px);padding-left:calc(var(--mc-tabs-size-padding-horizontal, 16px) - var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_old.mc-active.cdk-keyboard-focused:after{right:calc(-2 * 1px);right:calc(-2 * var(--mc-tabs-size-border-width, 1px));left:calc(-2 * 1px);left:calc(-2 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_old.cdk-keyboard-focused:after{top:-1px}.mc-tab-label_old .mc-tab-overlay{top:-1px;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px)}.mc-tab-label_horizontal{border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px);border-bottom-style:solid}.mc-tab-label_horizontal.mc-active:before{bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:0;right:0;height:4px;height:var(--mc-tabs-size-highlight-height, 4px)}.mc-tab-label_vertical{justify-content:flex-start}.mc-tab-label_vertical.mc-active:before{top:0;bottom:0;left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px));width:5px;width:var(--mc-tabs-size-highlight-height, 5px)}.mc-tab-label_vertical.cdk-keyboard-focused:after{right:0;left:0;border-width:calc(1px * 2);border-width:calc(var(--mc-tabs-size-border-width, 1px) * 2);border-style:solid}.mc-tab-group_stretch-labels .mc-tab-label,.mc-tab-group_stretch-labels .mc-tab-label_old{flex-basis:0;flex-grow:1}\n"], components: [{ type: i4.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i4.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabHeader, decorators: [{
940
+ /** @nocollapse */ McTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.Directionality, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
941
+ /** @nocollapse */ McTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTabHeader, selector: "mc-tab-header", inputs: { selectedIndex: "selectedIndex", vertical: "vertical" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mc-tab-header_vertical": "vertical", "class.mc-tab-header__pagination-controls_enabled": "showPaginationControls", "class.mc-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "mc-tab-header" }, queries: [{ propertyName: "items", predicate: McTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-tab-header__pagination mc-tab-header__pagination_before\"\n #previousPaginator\n [class.mc-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\">\n\n <i mc-icon=\"mc-angle-left-M_16\"></i>\n</div>\n\n<div class=\"mc-tab-header__content\"\n #tabListContainer\n (keydown)=\"handleKeydown($event)\">\n\n <div class=\"mc-tab-list\"\n #tabList\n (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"mc-tab-list__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<div class=\"mc-tab-header__pagination mc-tab-header__pagination_after\"\n #nextPaginator\n [class.mc-disabled]=\"disableScrollAfter\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (click)=\"handlePaginatorClick('after')\"\n (touchend)=\"stopInterval()\">\n\n <i mc-icon=\"mc-angle-right-M_16\"></i>\n</div>\n", styles: [".mc-tab-label.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * 1px);right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_horizontal.cdk-keyboard-focused:after,.mc-tab-label_old.cdk-keyboard-focused:after{border-width:calc(1px * 2);border-width:calc(var(--mc-tabs-size-border-width, 1px) * 2);border-style:solid;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px);border-bottom-color:transparent}.mc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mc-tab-list__content{display:flex}.mc-tab-group_align-labels-center .mc-tab-list__content{justify-content:center}.mc-tab-group_align-labels-end .mc-tab-list__content{justify-content:flex-end}.mc-tab-header_vertical .mc-tab-list__content{flex-direction:column}.mc-tab-header__pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding-left:12px;padding-right:12px;border-bottom-style:solid;border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination.mc-tab-header__pagination_before{border-right-style:solid;border-right-width:1px;border-right-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination.mc-tab-header__pagination_after{border-left-style:solid;border-left-width:1px;border-left-width:var(--mc-tabs-size-border-width, 1px)}.mc-tab-header__pagination-controls_enabled .mc-tab-header__pagination{display:flex}.mc-tab-header__content{display:flex;flex-grow:1;z-index:1;overflow:hidden}.mc-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mc-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;height:40px;height:var(--mc-tabs-size-height, 40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:16px;padding-right:var(--mc-tabs-size-padding-horizontal, 16px);padding-left:16px;padding-left:var(--mc-tabs-size-padding-horizontal, 16px);outline:none;-webkit-user-select:none;user-select:none}.mc-tab-label .mc-tab-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.mc-tab-label.mc-active{cursor:default}.mc-tab-label.mc-active:before{display:block;content:\"\";position:absolute}.mc-tab-label.mc-active[disabled] .mc-tab-overlay{bottom:-1px}.mc-tab-label.cdk-keyboard-focused{z-index:1}.mc-tab-label:first-child.cdk-keyboard-focused:after{left:0}.mc-tab-label:last-child.cdk-keyboard-focused:after{right:0}.mc-tab-label[disabled]{pointer-events:none}.mc-tab-label .mc-tab-label__content>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-label .mc-tab-label__content>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-label.mc-tab-label_vertical .mc-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-tab-label_old{border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px);border-bottom-style:solid;border-width:1px;border-width:var(--mc-tabs-size-border-width, 1px);border-style:solid;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px);border-left:none;border-left-color:transparent;border-right:none;border-right-color:transparent}.mc-tab-label_old.mc-active{border-width:1px;border-width:var(--mc-tabs-size-border-width, 1px);border-style:solid;padding-right:calc(16px - 1px);padding-right:calc(var(--mc-tabs-size-padding-horizontal, 16px) - var(--mc-tabs-size-border-width, 1px));padding-left:calc(16px - 1px);padding-left:calc(var(--mc-tabs-size-padding-horizontal, 16px) - var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_old.mc-active.cdk-keyboard-focused:after{right:calc(-2 * 1px);right:calc(-2 * var(--mc-tabs-size-border-width, 1px));left:calc(-2 * 1px);left:calc(-2 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-label_old.cdk-keyboard-focused:after{top:-1px}.mc-tab-label_old .mc-tab-overlay{top:-1px;border-top-left-radius:3px;border-top-left-radius:var(--mc-tabs-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-tabs-size-border-radius, 3px)}.mc-tab-label_horizontal{border-bottom-width:1px;border-bottom-width:var(--mc-tabs-size-border-width, 1px);border-bottom-style:solid}.mc-tab-label_horizontal.mc-active:before{bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:0;right:0;height:4px;height:var(--mc-tabs-size-highlight-height, 4px)}.mc-tab-label_vertical{justify-content:flex-start}.mc-tab-label_vertical.mc-active:before{top:0;bottom:0;left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px));width:5px;width:var(--mc-tabs-size-highlight-height, 5px)}.mc-tab-label_vertical.cdk-keyboard-focused:after{right:0;left:0;border-width:calc(1px * 2);border-width:calc(var(--mc-tabs-size-border-width, 1px) * 2);border-style:solid}.mc-tab-group_stretch-labels .mc-tab-label,.mc-tab-group_stretch-labels .mc-tab-label_old{flex-basis:0;flex-grow:1}\n"], components: [{ type: i4.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i4.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabHeader, decorators: [{
789
943
  type: Component,
790
944
  args: [{
791
945
  selector: 'mc-tab-header',
@@ -828,128 +982,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
828
982
  args: ['previousPaginator']
829
983
  }] } });
830
984
 
831
- const MC_TAB_LABEL = new InjectionToken('McTabLabel');
832
- /** Used to flag tab labels for use with the portal directive */
833
- class McTabLabel extends CdkPortal {
834
- }
835
- /** @nocollapse */ McTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLabel, deps: null, target: i0.ɵɵFactoryTarget.Directive });
836
- /** @nocollapse */ McTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabLabel, selector: "[mc-tab-label], [mcTabLabel]", providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }], usesInheritance: true, ngImport: i0 });
837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLabel, decorators: [{
838
- type: Directive,
839
- args: [{
840
- selector: '[mc-tab-label], [mcTabLabel]',
841
- providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }]
842
- }]
843
- }] });
844
-
845
- class McTabBase {
846
- }
847
- // tslint:disable-next-line:naming-convention
848
- const McTabMixinBase = mixinDisabled(McTabBase);
849
- class McTab extends McTabMixinBase {
850
- constructor(viewContainerRef) {
851
- super();
852
- this.viewContainerRef = viewContainerRef;
853
- /** Plain text label for the tab, used when there is no template label. */
854
- this.textLabel = '';
855
- this.empty = false;
856
- this.tooltipTitle = '';
857
- this.tooltipPlacement = '';
858
- /** Emits whenever the internal state of the tab changes. */
859
- this.stateChanges = new Subject();
860
- /**
861
- * The relatively indexed position where 0 represents the center, negative is left, and positive
862
- * represents the right.
863
- */
864
- this.position = null;
865
- /**
866
- * The initial relatively index origin of the tab if it was created and selected after there
867
- * was already a selected tab. Provides context of what position the tab should originate from.
868
- */
869
- this.origin = null;
870
- /**
871
- * Whether the tab is currently active.
872
- */
873
- this.isActive = false;
874
- /** Portal that will be the hosted content of the tab */
875
- this.contentPortal = null;
876
- }
877
- /** @docs-private */
878
- get content() {
879
- return this.contentPortal;
880
- }
881
- get templateLabel() { return this._templateLabel; }
882
- set templateLabel(value) { this.setTemplateLabelInput(value); }
883
- ngOnChanges(changes) {
884
- if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {
885
- this.stateChanges.next();
886
- }
887
- }
888
- ngOnDestroy() {
889
- this.stateChanges.complete();
890
- }
891
- ngOnInit() {
892
- this.contentPortal = new TemplatePortal(this.explicitContent || this.implicitContent, this.viewContainerRef);
893
- }
894
- /**
895
- * This has been extracted to a util because of TS 4 and VE.
896
- * View Engine doesn't support property rename inheritance.
897
- * TS 4.0 doesn't allow properties to override accessors or vice-versa.
898
- * @docs-private
899
- */
900
- setTemplateLabelInput(value) {
901
- // Only update the templateLabel via query if there is actually
902
- // a McTabLabel found. This works around an issue where a user may have
903
- // manually set `templateLabel` during creation mode, which would then get clobbered
904
- // by `undefined` when this query resolves.
905
- if (value) {
906
- this._templateLabel = value;
907
- }
908
- }
909
- }
910
- /** @nocollapse */ McTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTab, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
911
- /** @nocollapse */ McTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTab, selector: "mc-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], empty: "empty", tooltipTitle: "tooltipTitle", tooltipPlacement: "tooltipPlacement", tabId: "tabId" }, queries: [{ propertyName: "templateLabel", first: true, predicate: MC_TAB_LABEL, descendants: true }, { propertyName: "explicitContent", first: true, predicate: McTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["mcTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
912
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTab, decorators: [{
913
- type: Component,
914
- args: [{
915
- selector: 'mc-tab',
916
- exportAs: 'mcTab',
917
- // Create a template for the content of the <mc-tab> so that we can grab a reference to this
918
- // TemplateRef and use it in a Portal to render the tab content in the appropriate place in the
919
- // tab-group.
920
- template: '<ng-template><ng-content></ng-content></ng-template>',
921
- inputs: ['disabled'],
922
- changeDetection: ChangeDetectionStrategy.OnPush,
923
- encapsulation: ViewEncapsulation.None
924
- }]
925
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateLabel: [{
926
- type: ContentChild,
927
- args: [MC_TAB_LABEL]
928
- }], explicitContent: [{
929
- type: ContentChild,
930
- args: [McTabContent, { read: TemplateRef, static: true }]
931
- }], implicitContent: [{
932
- type: ViewChild,
933
- args: [TemplateRef, { static: true }]
934
- }], textLabel: [{
935
- type: Input,
936
- args: ['label']
937
- }], empty: [{
938
- type: Input
939
- }], tooltipTitle: [{
940
- type: Input
941
- }], tooltipPlacement: [{
942
- type: Input
943
- }], tabId: [{
944
- type: Input,
945
- args: ['tabId']
946
- }] } });
947
-
948
985
  class McOldTabsCssStyler {
949
986
  }
950
- /** @nocollapse */ McOldTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McOldTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
951
- /** @nocollapse */ McOldTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McOldTabsCssStyler, selector: "mc-tab-group[mc-old-tabs]", host: { classAttribute: "mc-tab-group_old" }, ngImport: i0 });
952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McOldTabsCssStyler, decorators: [{
987
+ /** @nocollapse */ McOldTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McOldTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
988
+ /** @nocollapse */ McOldTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McOldTabsCssStyler, selector: "mc-tab-group[mc-old-tabs]", host: { classAttribute: "mc-tab-group_old" }, ngImport: i0 });
989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McOldTabsCssStyler, decorators: [{
953
990
  type: Directive,
954
991
  args: [{
955
992
  selector: 'mc-tab-group[mc-old-tabs]',
@@ -958,9 +995,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
958
995
  }] });
959
996
  class McAlignTabsCenterCssStyler {
960
997
  }
961
- /** @nocollapse */ McAlignTabsCenterCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAlignTabsCenterCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
962
- /** @nocollapse */ McAlignTabsCenterCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McAlignTabsCenterCssStyler, selector: "mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]", host: { classAttribute: "mc-tab-group_align-labels-center" }, ngImport: i0 });
963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAlignTabsCenterCssStyler, decorators: [{
998
+ /** @nocollapse */ McAlignTabsCenterCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McAlignTabsCenterCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
999
+ /** @nocollapse */ McAlignTabsCenterCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McAlignTabsCenterCssStyler, selector: "mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]", host: { classAttribute: "mc-tab-group_align-labels-center" }, ngImport: i0 });
1000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McAlignTabsCenterCssStyler, decorators: [{
964
1001
  type: Directive,
965
1002
  args: [{
966
1003
  selector: 'mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]',
@@ -969,9 +1006,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
969
1006
  }] });
970
1007
  class McAlignTabsEndCssStyler {
971
1008
  }
972
- /** @nocollapse */ McAlignTabsEndCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAlignTabsEndCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
973
- /** @nocollapse */ McAlignTabsEndCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McAlignTabsEndCssStyler, selector: "mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]", host: { classAttribute: "mc-tab-group_align-labels-end" }, ngImport: i0 });
974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAlignTabsEndCssStyler, decorators: [{
1009
+ /** @nocollapse */ McAlignTabsEndCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McAlignTabsEndCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1010
+ /** @nocollapse */ McAlignTabsEndCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McAlignTabsEndCssStyler, selector: "mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]", host: { classAttribute: "mc-tab-group_align-labels-end" }, ngImport: i0 });
1011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McAlignTabsEndCssStyler, decorators: [{
975
1012
  type: Directive,
976
1013
  args: [{
977
1014
  selector: 'mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]',
@@ -980,9 +1017,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
980
1017
  }] });
981
1018
  class McStretchTabsCssStyler {
982
1019
  }
983
- /** @nocollapse */ McStretchTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McStretchTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
984
- /** @nocollapse */ McStretchTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McStretchTabsCssStyler, selector: "mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]", host: { classAttribute: "mc-tab-group_stretch-labels" }, ngImport: i0 });
985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McStretchTabsCssStyler, decorators: [{
1020
+ /** @nocollapse */ McStretchTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McStretchTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1021
+ /** @nocollapse */ McStretchTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McStretchTabsCssStyler, selector: "mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]", host: { classAttribute: "mc-tab-group_stretch-labels" }, ngImport: i0 });
1022
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McStretchTabsCssStyler, decorators: [{
986
1023
  type: Directive,
987
1024
  args: [{
988
1025
  selector: 'mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]',
@@ -991,9 +1028,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
991
1028
  }] });
992
1029
  class McVerticalTabsCssStyler {
993
1030
  }
994
- /** @nocollapse */ McVerticalTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McVerticalTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
995
- /** @nocollapse */ McVerticalTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McVerticalTabsCssStyler, selector: "mc-tab-group[vertical], [mc-tab-nav-bar][vertical]", host: { classAttribute: "mc-tab-group_vertical" }, ngImport: i0 });
996
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McVerticalTabsCssStyler, decorators: [{
1031
+ /** @nocollapse */ McVerticalTabsCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McVerticalTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1032
+ /** @nocollapse */ McVerticalTabsCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McVerticalTabsCssStyler, selector: "mc-tab-group[vertical], [mc-tab-nav-bar][vertical]", host: { classAttribute: "mc-tab-group_vertical" }, ngImport: i0 });
1033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McVerticalTabsCssStyler, decorators: [{
997
1034
  type: Directive,
998
1035
  args: [{
999
1036
  selector: 'mc-tab-group[vertical], [mc-tab-nav-bar][vertical]',
@@ -1025,6 +1062,9 @@ class McTabGroup extends McTabGroupMixinBase {
1025
1062
  constructor(elementRef, changeDetectorRef, lightTabs, vertical, defaultConfig) {
1026
1063
  super(elementRef);
1027
1064
  this.changeDetectorRef = changeDetectorRef;
1065
+ this.resizeStream = new Subject();
1066
+ this._dynamicHeight = false;
1067
+ this._selectedIndex = null;
1028
1068
  /** Position of the tab header. */
1029
1069
  this.headerPosition = 'above';
1030
1070
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
@@ -1043,20 +1083,29 @@ class McTabGroup extends McTabGroupMixinBase {
1043
1083
  this.tabsSubscription = Subscription.EMPTY;
1044
1084
  /** Subscription to changes in the tab labels. */
1045
1085
  this.tabLabelSubscription = Subscription.EMPTY;
1046
- this._dynamicHeight = false;
1047
- this._selectedIndex = null;
1086
+ this.resizeSubscription = Subscription.EMPTY;
1087
+ this.resizeDebounceInterval = 100;
1088
+ this.checkOverflow = () => {
1089
+ this.tabHeader.items
1090
+ .forEach((headerTab) => headerTab.checkOverflow());
1091
+ };
1048
1092
  this.oldTab = coerceBooleanProperty(lightTabs);
1049
1093
  this.vertical = coerceBooleanProperty(vertical);
1050
1094
  this.groupId = nextId++;
1051
1095
  this.animationDuration = (defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.animationDuration) || '0ms';
1096
+ this.subscribeToResize();
1052
1097
  }
1053
1098
  /** Whether the tab group should grow to the size of the active tab. */
1054
- get dynamicHeight() { return this._dynamicHeight; }
1099
+ get dynamicHeight() {
1100
+ return this._dynamicHeight;
1101
+ }
1055
1102
  set dynamicHeight(value) {
1056
1103
  this._dynamicHeight = coerceBooleanProperty(value);
1057
1104
  }
1058
1105
  /** The index of the active tab. */
1059
- get selectedIndex() { return this._selectedIndex; }
1106
+ get selectedIndex() {
1107
+ return this._selectedIndex;
1108
+ }
1060
1109
  set selectedIndex(value) {
1061
1110
  this.indexToSelect = coerceNumberProperty(value, null);
1062
1111
  }
@@ -1104,7 +1153,8 @@ class McTabGroup extends McTabGroupMixinBase {
1104
1153
  this.subscribeToTabLabels();
1105
1154
  // Subscribe to changes in the amount of tabs, in order to be
1106
1155
  // able to re-render the content as new tabs are added or removed.
1107
- this.tabsSubscription = this.tabs.changes.subscribe(() => {
1156
+ this.tabsSubscription = this.tabs.changes
1157
+ .subscribe(() => {
1108
1158
  const indexToSelect = this.clampTabIndex(this.indexToSelect);
1109
1159
  // Maintain the previously-selected tab if a new tab is added or removed and there is no
1110
1160
  // explicit change that selects a different tab.
@@ -1124,9 +1174,13 @@ class McTabGroup extends McTabGroupMixinBase {
1124
1174
  this.changeDetectorRef.markForCheck();
1125
1175
  });
1126
1176
  }
1177
+ ngAfterViewInit() {
1178
+ this.checkOverflow();
1179
+ }
1127
1180
  ngOnDestroy() {
1128
1181
  this.tabsSubscription.unsubscribe();
1129
1182
  this.tabLabelSubscription.unsubscribe();
1183
+ this.resizeSubscription.unsubscribe();
1130
1184
  }
1131
1185
  focusChanged(index) {
1132
1186
  this.focusChange.emit(this.createChangeEvent(index));
@@ -1196,6 +1250,17 @@ class McTabGroup extends McTabGroupMixinBase {
1196
1250
  this.tabLabelSubscription = merge(...this.tabs.map((tab) => tab.stateChanges))
1197
1251
  .subscribe(() => this.changeDetectorRef.markForCheck());
1198
1252
  }
1253
+ subscribeToResize() {
1254
+ if (!this.vertical) {
1255
+ return;
1256
+ }
1257
+ if (this.resizeSubscription) {
1258
+ this.resizeSubscription.unsubscribe();
1259
+ }
1260
+ this.resizeSubscription = this.resizeStream
1261
+ .pipe(debounceTime(this.resizeDebounceInterval))
1262
+ .subscribe(this.checkOverflow);
1263
+ }
1199
1264
  /** Clamps the given index to the bounds of 0 and the tabs length. */
1200
1265
  clampTabIndex(index) {
1201
1266
  // Note the `|| 0`, which ensures that values like NaN can't get through
@@ -1204,9 +1269,9 @@ class McTabGroup extends McTabGroupMixinBase {
1204
1269
  return Math.min(this.tabs.length - 1, Math.max(index || 0, 0));
1205
1270
  }
1206
1271
  }
1207
- /** @nocollapse */ McTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'mc-old-tabs', attribute: true }, { token: 'vertical', attribute: true }, { token: MC_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1208
- /** @nocollapse */ McTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabGroup, selector: "mc-tab-group", inputs: { disabled: "disabled", dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { properties: { "class.mc-tab-group_dynamic-height": "dynamicHeight", "class.mc-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "mc-tab-group" }, queries: [{ propertyName: "tabs", predicate: McTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["mcTabGroup"], usesInheritance: true, ngImport: i0, template: "<mc-tab-header\n #tabHeader\n [vertical]=\"vertical\"\n [selectedIndex]=\"selectedIndex\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n\n <div class=\"mc-tab-label\"\n mcTabLabelWrapper\n cdkMonitorElementFocus\n [attr.tabindex]=\"getTabIndex(tab, i)\"\n [class.mc-tab-label_old]=\"oldTab\"\n [class.mc-tab-label_horizontal]=\"!vertical && !oldTab\"\n [class.mc-tab-label_vertical]=\"vertical && !oldTab\"\n [class.mc-tab-label_empty]=\"tab.empty\"\n [class.mc-active]=\"selectedIndex == i\"\n *ngFor=\"let tab of tabs; let i = index\"\n [id]=\"getTabLabelId(i)\"\n [disabled]=\"tab.disabled\"\n (click)=\"handleClick(tab, tabHeader, i)\"\n\n [mcTooltip]=\"tab.tooltipTitle\"\n [mcTooltipDisabled]=\"!tab.empty\"\n [mcTrigger]=\"'hover, focus'\"\n [mcPlacement]=\"tab.tooltipPlacement\">\n\n <div class=\"mc-tab-label__content\"\n [class.mc-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">{{ tab.textLabel }}</ng-template>\n </div>\n\n <div class=\"mc-tab-overlay\"></div>\n </div>\n</mc-tab-header>\n\n<div class=\"mc-tab-body__wrapper\" #tabBodyWrapper>\n <mc-tab-body\n *ngFor=\"let tab of tabs; let i = index\"\n [id]=\"getTabContentId(i)\"\n [class.mc-tab-body__active]=\"selectedIndex == i\"\n [content]=\"tab.content\"\n [position]=\"tab.position\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\">\n </mc-tab-body>\n</div>\n", styles: [".mc-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:center;white-space:nowrap}.mc-tab-group.mc-tab-group_inverted-header{flex-direction:column-reverse}.mc-tab-group_vertical{flex-direction:row}.mc-tab-group_vertical .mc-tab-header__content{overflow-y:auto;padding-top:8px;padding-bottom:1px;border-right-width:1px;border-right-width:var(--mc-tabs-size-border-width, 1px);border-right-style:solid}.mc-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.mc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mc-tab-body.mc-tab-body__active{overflow-x:hidden;overflow-y:auto;position:relative;z-index:1;flex-grow:1}.mc-tab-group.mc-tab-group_dynamic-height .mc-tab-body.mc-tab-body__active{overflow-y:hidden}\n"], components: [{ type: McTabHeader, selector: "mc-tab-header", inputs: ["selectedIndex", "vertical"], outputs: ["selectFocusedIndex", "indexFocused"] }, { type: McTabBody, selector: "mc-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: McTabLabelWrapper, selector: "[mcTabLabelWrapper]", inputs: ["disabled"] }, { type: i1$1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i6.McTooltipTrigger, selector: "[mcTooltip]", inputs: ["mcTooltip", "mcTooltipDisabled", "mcEnterDelay", "mcTrigger", "mcTooltipClass"], exportAs: ["mcTooltip"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabGroup, decorators: [{
1272
+ /** @nocollapse */ McTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'mc-old-tabs', attribute: true }, { token: 'vertical', attribute: true }, { token: MC_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1273
+ /** @nocollapse */ McTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTabGroup, selector: "mc-tab-group", inputs: { disabled: "disabled", dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { listeners: { "window:resize": "resizeStream.next()" }, properties: { "class.mc-tab-group_dynamic-height": "dynamicHeight", "class.mc-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "mc-tab-group" }, queries: [{ propertyName: "tabs", predicate: McTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["mcTabGroup"], usesInheritance: true, ngImport: i0, template: "<mc-tab-header\n #tabHeader\n [vertical]=\"vertical\"\n [selectedIndex]=\"selectedIndex\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n\n <div class=\"mc-tab-label\"\n mcTabLabelWrapper\n cdkMonitorElementFocus\n [attr.tabindex]=\"getTabIndex(tab, i)\"\n [class.mc-tab-label_old]=\"oldTab\"\n [class.mc-tab-label_horizontal]=\"!vertical && !oldTab\"\n [class.mc-tab-label_vertical]=\"vertical && !oldTab\"\n [class.mc-tab-label_empty]=\"tab.empty\"\n [class.mc-active]=\"selectedIndex == i\"\n *ngFor=\"let tab of tabs; let i = index\"\n [tab]=\"tab\"\n [id]=\"getTabLabelId(i)\"\n [disabled]=\"tab.disabled\"\n (click)=\"handleClick(tab, tabHeader, i)\"\n\n [mcTooltip]=\"tab.tooltipTitle\"\n [mcTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [mcTrigger]=\"'hover, focus'\"\n [mcPlacement]=\"tab.tooltipPlacement\">\n\n <div #labelContent class=\"mc-tab-label__content\"\n [class.mc-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">{{ tab.textLabel }}</ng-template>\n </div>\n\n <div class=\"mc-tab-overlay\"></div>\n </div>\n</mc-tab-header>\n\n<div class=\"mc-tab-body__wrapper\" #tabBodyWrapper>\n <mc-tab-body\n *ngFor=\"let tab of tabs; let i = index\"\n [id]=\"getTabContentId(i)\"\n [class.mc-tab-body__active]=\"selectedIndex == i\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin!\"\n [animationDuration]=\"animationDuration\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\">\n </mc-tab-body>\n</div>\n", styles: [".mc-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:center;white-space:nowrap}.mc-tab-group.mc-tab-group_inverted-header{flex-direction:column-reverse}.mc-tab-group_vertical{flex-direction:row}.mc-tab-group_vertical .mc-tab-header__content{overflow-y:auto;padding-top:8px;padding-bottom:1px;border-right-width:1px;border-right-width:var(--mc-tabs-size-border-width, 1px);border-right-style:solid}.mc-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.mc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mc-tab-body.mc-tab-body__active{overflow-x:hidden;overflow-y:auto;position:relative;z-index:1;flex-grow:1}.mc-tab-group.mc-tab-group_dynamic-height .mc-tab-body.mc-tab-body__active{overflow-y:hidden}\n"], components: [{ type: McTabHeader, selector: "mc-tab-header", inputs: ["selectedIndex", "vertical"], outputs: ["selectFocusedIndex", "indexFocused"] }, { type: McTabBody, selector: "mc-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: McTabLabelWrapper, selector: "[mcTabLabelWrapper]", inputs: ["disabled", "tab"] }, { type: i1$1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i6.McTooltipTrigger, selector: "[mcTooltip]", inputs: ["mcVisible", "mcPlacement", "mcPlacementPriority", "mcTooltip", "mcTooltipDisabled", "mcEnterDelay", "mcLeaveDelay", "mcTrigger", "mcTooltipClass"], outputs: ["mcPlacementChange", "mcVisibleChange"], exportAs: ["mcTooltip"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabGroup, decorators: [{
1210
1275
  type: Component,
1211
1276
  args: [{
1212
1277
  selector: 'mc-tab-group',
@@ -1219,7 +1284,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
1219
1284
  host: {
1220
1285
  class: 'mc-tab-group',
1221
1286
  '[class.mc-tab-group_dynamic-height]': 'dynamicHeight',
1222
- '[class.mc-tab-group_inverted-header]': 'headerPosition === "below"'
1287
+ '[class.mc-tab-group_inverted-header]': 'headerPosition === "below"',
1288
+ '(window:resize)': 'resizeStream.next()'
1223
1289
  }
1224
1290
  }]
1225
1291
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -1312,9 +1378,9 @@ class McTabLink extends McTabLinkMixinBase {
1312
1378
  }
1313
1379
  }
1314
1380
  }
1315
- /** @nocollapse */ McTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLink, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1316
- /** @nocollapse */ McTabLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabLink, selector: "a[mc-tab-link], a[mcTabLink]", inputs: { disabled: "disabled", tabIndex: "tabIndex", active: "active" }, host: { properties: { "class.mc-active": "active", "class.mc-tab-label_vertical": "vertical", "class.mc-tab-label_horizontal": "!vertical", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-tab-link" }, exportAs: ["mcTabLink"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>', isInline: true });
1317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabLink, decorators: [{
1381
+ /** @nocollapse */ McTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLink, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1382
+ /** @nocollapse */ McTabLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTabLink, selector: "a[mc-tab-link], a[mcTabLink]", inputs: { disabled: "disabled", tabIndex: "tabIndex", active: "active" }, host: { properties: { "class.mc-active": "active", "class.mc-tab-label_vertical": "vertical", "class.mc-tab-label_horizontal": "!vertical", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-tab-link" }, exportAs: ["mcTabLink"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>', isInline: true });
1383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabLink, decorators: [{
1318
1384
  type: Component,
1319
1385
  args: [{
1320
1386
  selector: 'a[mc-tab-link], a[mcTabLink]',
@@ -1348,9 +1414,9 @@ class McTabNav {
1348
1414
  this.links.notifyOnChanges();
1349
1415
  }
1350
1416
  }
1351
- /** @nocollapse */ McTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabNav, deps: [{ token: 'vertical', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
1352
- /** @nocollapse */ McTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabNav, selector: "[mc-tab-nav-bar]", host: { classAttribute: "mc-tab-nav-bar" }, queries: [{ propertyName: "links", predicate: McTabLink }], exportAs: ["mcTabNavBar", "mcTabNav"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".mc-tab-link.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * 1px);right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;height:40px;height:var(--mc-tabs-size-height, 40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:16px;padding-right:var(--mc-tabs-size-padding-horizontal, 16px);padding-left:16px;padding-left:var(--mc-tabs-size-padding-horizontal, 16px);outline:none}.mc-tab-link .mc-tab-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.mc-tab-link.mc-active{cursor:default}.mc-tab-link.mc-active:before{display:block;content:\"\";position:absolute}.mc-tab-link.mc-active[disabled] .mc-tab-overlay{bottom:-1px}.mc-tab-link.cdk-keyboard-focused{z-index:1}.mc-tab-link:first-child.cdk-keyboard-focused:after{left:0}.mc-tab-link:last-child.cdk-keyboard-focused:after{right:0}.mc-tab-link[disabled]{pointer-events:none}.mc-tab-link .mc-tab-label__template{display:flex;flex-direction:row;align-items:baseline}.mc-tab-link .mc-tab-label__template>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link .mc-tab-label__template>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link .mc-tab-group_stretch-labels .mc-tab-link{flex-basis:0;flex-grow:1}.mc-tab-link>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-nav-bar{display:flex;flex-grow:1;position:relative;padding:1px 1px 0}.mc-tab-nav-bar .mc-tab-group_align-labels-center{justify-content:center}.mc-tab-nav-bar .mc-tab-group_align-labels-end{justify-content:flex-end}.mc-tab-nav-bar.mc-tab-group_vertical{flex-direction:column;flex-grow:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabNav, decorators: [{
1417
+ /** @nocollapse */ McTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabNav, deps: [{ token: 'vertical', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
1418
+ /** @nocollapse */ McTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McTabNav, selector: "[mc-tab-nav-bar]", host: { classAttribute: "mc-tab-nav-bar" }, queries: [{ propertyName: "links", predicate: McTabLink }], exportAs: ["mcTabNavBar", "mcTabNav"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".mc-tab-link.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * 1px);right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * 1px);bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:calc(-1 * 1px);left:calc(-1 * var(--mc-tabs-size-border-width, 1px))}.mc-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;height:40px;height:var(--mc-tabs-size-height, 40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:16px;padding-right:var(--mc-tabs-size-padding-horizontal, 16px);padding-left:16px;padding-left:var(--mc-tabs-size-padding-horizontal, 16px);outline:none}.mc-tab-link .mc-tab-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.mc-tab-link.mc-active{cursor:default}.mc-tab-link.mc-active:before{display:block;content:\"\";position:absolute}.mc-tab-link.mc-active[disabled] .mc-tab-overlay{bottom:-1px}.mc-tab-link.cdk-keyboard-focused{z-index:1}.mc-tab-link:first-child.cdk-keyboard-focused:after{left:0}.mc-tab-link:last-child.cdk-keyboard-focused:after{right:0}.mc-tab-link[disabled]{pointer-events:none}.mc-tab-link .mc-tab-label__content>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link .mc-tab-label__content>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link.mc-tab-label_vertical .mc-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-tab-link .mc-tab-group_stretch-labels .mc-tab-link{flex-basis:0;flex-grow:1}.mc-tab-link>.mc-icon.mc-icon_left{margin-right:8px;margin-right:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-link>.mc-icon.mc-icon_right{margin-left:8px;margin-left:var(--mc-tabs-size-label-icon-margin, 8px)}.mc-tab-nav-bar{display:flex;flex-grow:1;position:relative;padding:1px 1px 0}.mc-tab-nav-bar .mc-tab-group_align-labels-center{justify-content:center}.mc-tab-nav-bar .mc-tab-group_align-labels-end{justify-content:flex-end}.mc-tab-nav-bar.mc-tab-group_vertical{flex-direction:column;flex-grow:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabNav, decorators: [{
1354
1420
  type: Component,
1355
1421
  args: [{
1356
1422
  selector: '[mc-tab-nav-bar]',
@@ -1373,8 +1439,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
1373
1439
 
1374
1440
  class McTabsModule {
1375
1441
  }
1376
- /** @nocollapse */ McTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1377
- /** @nocollapse */ McTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabsModule, declarations: [McTabGroup,
1442
+ /** @nocollapse */ McTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1443
+ /** @nocollapse */ McTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, declarations: [McTabGroup,
1378
1444
  McTabLabel,
1379
1445
  McTab,
1380
1446
  McTabLabelWrapper,
@@ -1405,7 +1471,7 @@ class McTabsModule {
1405
1471
  McAlignTabsEndCssStyler,
1406
1472
  McStretchTabsCssStyler,
1407
1473
  McVerticalTabsCssStyler] });
1408
- /** @nocollapse */ McTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabsModule, imports: [[
1474
+ /** @nocollapse */ McTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, imports: [[
1409
1475
  CommonModule,
1410
1476
  PortalModule,
1411
1477
  A11yModule,
@@ -1413,7 +1479,7 @@ class McTabsModule {
1413
1479
  McIconModule,
1414
1480
  McToolTipModule
1415
1481
  ], McCommonModule] });
1416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McTabsModule, decorators: [{
1482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, decorators: [{
1417
1483
  type: NgModule,
1418
1484
  args: [{
1419
1485
  imports: [