@ptsecurity/mosaic 11.5.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/_theming.scss +409 -100
  2. package/_visual.scss +66 -23
  3. package/autocomplete/autocomplete-origin.directive.d.ts +3 -0
  4. package/autocomplete/autocomplete-trigger.directive.d.ts +3 -0
  5. package/autocomplete/autocomplete.component.d.ts +3 -0
  6. package/autocomplete/autocomplete.module.d.ts +10 -0
  7. package/autocomplete/package.json +0 -1
  8. package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +1 -0
  9. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +178 -114
  10. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
  11. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +107 -71
  12. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
  13. package/bundles/ptsecurity-mosaic-button.umd.js +106 -77
  14. package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
  15. package/bundles/ptsecurity-mosaic-card.umd.js +74 -43
  16. package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
  17. package/bundles/ptsecurity-mosaic-checkbox.umd.js +114 -69
  18. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
  19. package/bundles/ptsecurity-mosaic-core.umd.js +804 -256
  20. package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
  21. package/bundles/ptsecurity-mosaic-datepicker.umd.js +601 -421
  22. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
  23. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +108 -26
  24. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
  25. package/bundles/ptsecurity-mosaic-divider.umd.js +55 -28
  26. package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
  27. package/bundles/ptsecurity-mosaic-dropdown.umd.js +263 -187
  28. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
  29. package/bundles/ptsecurity-mosaic-form-field.umd.js +200 -125
  30. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
  31. package/bundles/ptsecurity-mosaic-icon.umd.js +79 -41
  32. package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
  33. package/bundles/ptsecurity-mosaic-input.umd.js +222 -124
  34. package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
  35. package/bundles/ptsecurity-mosaic-link.umd.js +76 -45
  36. package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
  37. package/bundles/ptsecurity-mosaic-list.umd.js +354 -202
  38. package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
  39. package/bundles/ptsecurity-mosaic-modal.umd.js +324 -220
  40. package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
  41. package/bundles/ptsecurity-mosaic-navbar.umd.js +289 -208
  42. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
  43. package/bundles/ptsecurity-mosaic-popover.umd.js +346 -640
  44. package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
  45. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +69 -40
  46. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
  47. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +69 -40
  48. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
  49. package/bundles/ptsecurity-mosaic-radio.umd.js +126 -81
  50. package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
  51. package/bundles/ptsecurity-mosaic-select.umd.js +276 -154
  52. package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
  53. package/bundles/ptsecurity-mosaic-sidebar.umd.js +105 -68
  54. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
  55. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +236 -158
  56. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
  57. package/bundles/ptsecurity-mosaic-splitter.umd.js +112 -83
  58. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
  59. package/bundles/ptsecurity-mosaic-table.umd.js +77 -44
  60. package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
  61. package/bundles/ptsecurity-mosaic-tabs.umd.js +894 -687
  62. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
  63. package/bundles/ptsecurity-mosaic-tags.umd.js +313 -209
  64. package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
  65. package/bundles/ptsecurity-mosaic-textarea.umd.js +107 -53
  66. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
  67. package/bundles/ptsecurity-mosaic-timepicker.umd.js +117 -72
  68. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
  69. package/bundles/ptsecurity-mosaic-toggle.umd.js +97 -58
  70. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
  71. package/bundles/ptsecurity-mosaic-tooltip.umd.js +347 -615
  72. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
  73. package/bundles/ptsecurity-mosaic-tree-select.umd.js +223 -118
  74. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
  75. package/bundles/ptsecurity-mosaic-tree.umd.js +1162 -344
  76. package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
  77. package/bundles/ptsecurity-mosaic.umd.js +2 -2
  78. package/button/button.component.d.ts +7 -0
  79. package/button/button.module.d.ts +8 -0
  80. package/button/package.json +0 -1
  81. package/button/ptsecurity-mosaic-button.d.ts +1 -0
  82. package/button-toggle/button-toggle.component.d.ts +5 -0
  83. package/button-toggle/button-toggle.module.d.ts +7 -0
  84. package/button-toggle/package.json +0 -1
  85. package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +1 -0
  86. package/card/card.component.d.ts +3 -0
  87. package/card/card.module.d.ts +8 -0
  88. package/card/package.json +0 -1
  89. package/card/ptsecurity-mosaic-card.d.ts +1 -0
  90. package/checkbox/checkbox-module.d.ts +7 -0
  91. package/checkbox/checkbox-required-validator.d.ts +3 -0
  92. package/checkbox/checkbox.d.ts +3 -0
  93. package/checkbox/package.json +0 -1
  94. package/checkbox/ptsecurity-mosaic-checkbox.d.ts +1 -0
  95. package/core/common-behaviors/color.d.ts +3 -3
  96. package/core/common-behaviors/common-module.d.ts +5 -0
  97. package/core/common-behaviors/disabled.d.ts +4 -3
  98. package/core/common-behaviors/tabindex.d.ts +2 -1
  99. package/core/error/error-options.d.ts +5 -0
  100. package/core/formatters/date/formatter.d.ts +3 -0
  101. package/core/formatters/index.d.ts +5 -0
  102. package/core/formatters/number/formatter.d.ts +4 -0
  103. package/core/forms/forms-module.d.ts +5 -0
  104. package/core/forms/forms.directive.d.ts +5 -0
  105. package/core/highlight/highlight.pipe.d.ts +3 -0
  106. package/core/highlight/index.d.ts +6 -0
  107. package/core/line/line.d.ts +6 -0
  108. package/core/option/action.d.ts +42 -0
  109. package/core/option/index.d.ts +1 -0
  110. package/core/option/optgroup.d.ts +3 -0
  111. package/core/option/option-module.d.ts +9 -0
  112. package/core/option/option.d.ts +3 -0
  113. package/core/overlay/overlay-position-map.d.ts +0 -4
  114. package/core/package.json +0 -1
  115. package/core/pop-up/constants.d.ts +29 -0
  116. package/core/pop-up/index.d.ts +3 -0
  117. package/core/pop-up/pop-up-trigger.d.ts +70 -0
  118. package/core/pop-up/pop-up.d.ts +35 -0
  119. package/core/ptsecurity-mosaic-core.d.ts +1 -1
  120. package/core/public-api.d.ts +1 -0
  121. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -0
  122. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +6 -0
  123. package/core/services/measure-scrollbar.service.d.ts +3 -0
  124. package/datepicker/calendar-body.component.d.ts +5 -6
  125. package/datepicker/calendar.component.d.ts +5 -0
  126. package/datepicker/datepicker-input.directive.d.ts +6 -2
  127. package/datepicker/datepicker-intl.d.ts +3 -0
  128. package/datepicker/datepicker-module.d.ts +18 -0
  129. package/datepicker/datepicker-toggle.component.d.ts +5 -0
  130. package/datepicker/datepicker.component.d.ts +5 -0
  131. package/datepicker/month-view.component.d.ts +3 -0
  132. package/datepicker/multi-year-view.component.d.ts +3 -0
  133. package/datepicker/package.json +0 -1
  134. package/datepicker/ptsecurity-mosaic-datepicker.d.ts +1 -0
  135. package/datepicker/year-view.component.d.ts +3 -0
  136. package/design-tokens/package.json +0 -1
  137. package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +1 -0
  138. package/design-tokens/tokens/components/list.json5 +0 -4
  139. package/design-tokens/tokens/components/popover.json5 +32 -4
  140. package/design-tokens/tokens/components/tooltip.json5 +49 -3
  141. package/design-tokens/tokens/components/tree.json5 +3 -3
  142. package/design-tokens/tokens/properties/globals.json5 +1 -1
  143. package/design-tokens/tokens.d.ts +56 -15
  144. package/divider/divider.component.d.ts +3 -0
  145. package/divider/divider.module.d.ts +6 -0
  146. package/divider/package.json +0 -1
  147. package/divider/ptsecurity-mosaic-divider.d.ts +1 -0
  148. package/dropdown/dropdown-content.directive.d.ts +3 -0
  149. package/dropdown/dropdown-item.component.d.ts +3 -0
  150. package/dropdown/dropdown-trigger.directive.d.ts +6 -8
  151. package/dropdown/dropdown.component.d.ts +5 -1
  152. package/dropdown/dropdown.module.d.ts +11 -0
  153. package/dropdown/package.json +0 -1
  154. package/dropdown/ptsecurity-mosaic-dropdown.d.ts +1 -0
  155. package/esm2015/autocomplete/autocomplete-origin.directive.js +11 -11
  156. package/esm2015/autocomplete/autocomplete-trigger.directive.js +53 -38
  157. package/esm2015/autocomplete/autocomplete.component.js +56 -37
  158. package/esm2015/autocomplete/autocomplete.module.js +25 -15
  159. package/esm2015/button/button.component.js +52 -56
  160. package/esm2015/button/button.module.js +35 -20
  161. package/esm2015/button-toggle/button-toggle.component.js +76 -55
  162. package/esm2015/button-toggle/button-toggle.module.js +13 -8
  163. package/esm2015/card/card.component.js +32 -30
  164. package/esm2015/card/card.module.js +23 -12
  165. package/esm2015/checkbox/checkbox-module.js +13 -8
  166. package/esm2015/checkbox/checkbox-required-validator.js +12 -8
  167. package/esm2015/checkbox/checkbox.js +61 -44
  168. package/esm2015/core/common-behaviors/color.js +2 -5
  169. package/esm2015/core/common-behaviors/common-module.js +17 -11
  170. package/esm2015/core/common-behaviors/disabled.js +1 -1
  171. package/esm2015/core/common-behaviors/tabindex.js +4 -13
  172. package/esm2015/core/error/error-options.js +12 -8
  173. package/esm2015/core/formatters/date/formatter.js +13 -10
  174. package/esm2015/core/formatters/index.js +13 -8
  175. package/esm2015/core/formatters/number/formatter.js +16 -10
  176. package/esm2015/core/forms/forms-module.js +20 -13
  177. package/esm2015/core/forms/forms.directive.js +32 -29
  178. package/esm2015/core/highlight/highlight.pipe.js +8 -4
  179. package/esm2015/core/highlight/index.js +13 -8
  180. package/esm2015/core/line/line.js +22 -14
  181. package/esm2015/core/option/action.js +131 -0
  182. package/esm2015/core/option/index.js +2 -1
  183. package/esm2015/core/option/optgroup.js +22 -19
  184. package/esm2015/core/option/option-module.js +14 -8
  185. package/esm2015/core/option/option.js +44 -35
  186. package/esm2015/core/overlay/overlay-position-map.js +16 -18
  187. package/esm2015/core/pop-up/constants.js +34 -0
  188. package/esm2015/core/pop-up/index.js +4 -0
  189. package/esm2015/core/pop-up/pop-up-trigger.js +241 -0
  190. package/esm2015/core/pop-up/pop-up.js +87 -0
  191. package/esm2015/core/ptsecurity-mosaic-core.js +1 -2
  192. package/esm2015/core/public-api.js +2 -1
  193. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +25 -21
  194. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +13 -8
  195. package/esm2015/core/services/measure-scrollbar.service.js +12 -12
  196. package/esm2015/datepicker/calendar-body.component.js +39 -32
  197. package/esm2015/datepicker/calendar.component.js +92 -58
  198. package/esm2015/datepicker/datepicker-input.directive.js +94 -62
  199. package/esm2015/datepicker/datepicker-intl.js +7 -5
  200. package/esm2015/datepicker/datepicker-module.js +89 -48
  201. package/esm2015/datepicker/datepicker-toggle.component.js +44 -32
  202. package/esm2015/datepicker/datepicker.component.js +88 -63
  203. package/esm2015/datepicker/month-view.component.js +48 -29
  204. package/esm2015/datepicker/multi-year-view.component.js +40 -27
  205. package/esm2015/datepicker/year-view.component.js +45 -28
  206. package/esm2015/design-tokens/tokens.js +57 -16
  207. package/esm2015/divider/divider.component.js +24 -20
  208. package/esm2015/divider/divider.module.js +13 -8
  209. package/esm2015/dropdown/dropdown-content.directive.js +13 -15
  210. package/esm2015/dropdown/dropdown-item.component.js +40 -30
  211. package/esm2015/dropdown/dropdown-trigger.directive.js +75 -67
  212. package/esm2015/dropdown/dropdown.component.js +63 -38
  213. package/esm2015/dropdown/dropdown.module.js +40 -23
  214. package/esm2015/form-field/cleaner.js +20 -11
  215. package/esm2015/form-field/form-field.js +77 -53
  216. package/esm2015/form-field/form-field.module.js +41 -24
  217. package/esm2015/form-field/hint.js +16 -13
  218. package/esm2015/form-field/prefix.js +10 -6
  219. package/esm2015/form-field/stepper.js +22 -11
  220. package/esm2015/form-field/suffix.js +10 -6
  221. package/esm2015/icon/icon.component.js +27 -22
  222. package/esm2015/icon/icon.module.js +31 -18
  223. package/esm2015/input/input-number-validators.js +48 -29
  224. package/esm2015/input/input-number.js +42 -28
  225. package/esm2015/input/input.js +94 -52
  226. package/esm2015/input/input.module.js +13 -8
  227. package/esm2015/link/link.component.js +38 -34
  228. package/esm2015/link/link.module.js +20 -11
  229. package/esm2015/list/list-selection.component.js +234 -124
  230. package/esm2015/list/list.component.js +35 -32
  231. package/esm2015/list/list.module.js +47 -25
  232. package/esm2015/modal/css-unit.pipe.js +10 -6
  233. package/esm2015/modal/modal-control.service.js +11 -8
  234. package/esm2015/modal/modal.component.js +107 -61
  235. package/esm2015/modal/modal.directive.js +43 -30
  236. package/esm2015/modal/modal.module.js +59 -31
  237. package/esm2015/modal/modal.service.js +9 -9
  238. package/esm2015/modal/ptsecurity-mosaic-modal.js +1 -3
  239. package/esm2015/navbar/navbar-item.component.js +111 -95
  240. package/esm2015/navbar/navbar.component.js +40 -30
  241. package/esm2015/navbar/navbar.module.js +66 -35
  242. package/esm2015/navbar/ptsecurity-mosaic-navbar.js +1 -2
  243. package/esm2015/navbar/vertical-navbar.component.js +68 -46
  244. package/esm2015/popover/popover-confirm.component.js +115 -0
  245. package/esm2015/popover/popover.component.js +180 -587
  246. package/esm2015/popover/popover.module.js +18 -12
  247. package/esm2015/popover/public-api.js +2 -1
  248. package/esm2015/progress-bar/progress-bar.component.js +26 -24
  249. package/esm2015/progress-bar/progress-bar.module.js +24 -15
  250. package/esm2015/progress-spinner/progress-spinner.component.js +26 -24
  251. package/esm2015/progress-spinner/progress-spinner.module.js +24 -15
  252. package/esm2015/radio/radio.component.js +87 -67
  253. package/esm2015/radio/radio.module.js +13 -8
  254. package/esm2015/select/select.component.js +181 -105
  255. package/esm2015/select/select.module.js +54 -28
  256. package/esm2015/sidebar/ptsecurity-mosaic-sidebar.js +1 -2
  257. package/esm2015/sidebar/sidebar.component.js +61 -50
  258. package/esm2015/sidebar/sidebar.module.js +25 -16
  259. package/esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js +1 -2
  260. package/esm2015/sidepanel/sidepanel-container.component.js +46 -40
  261. package/esm2015/sidepanel/sidepanel-directives.js +87 -57
  262. package/esm2015/sidepanel/sidepanel.module.js +63 -30
  263. package/esm2015/sidepanel/sidepanel.service.js +20 -12
  264. package/esm2015/splitter/splitter.component.js +62 -64
  265. package/esm2015/splitter/splitter.module.js +32 -19
  266. package/esm2015/table/table.component.js +13 -9
  267. package/esm2015/table/table.module.js +23 -12
  268. package/esm2015/tabs/paginated-tab-header.js +20 -18
  269. package/esm2015/tabs/ptsecurity-mosaic-tabs.js +1 -6
  270. package/esm2015/tabs/tab-body.component.js +52 -42
  271. package/esm2015/tabs/tab-content.directive.js +8 -8
  272. package/esm2015/tabs/tab-group.component.js +145 -74
  273. package/esm2015/tabs/tab-header.component.js +50 -36
  274. package/esm2015/tabs/tab-label-wrapper.directive.js +30 -16
  275. package/esm2015/tabs/tab-label.directive.js +11 -7
  276. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +46 -46
  277. package/esm2015/tabs/tab.component.js +67 -33
  278. package/esm2015/tabs/tabs.module.js +87 -45
  279. package/esm2015/tags/tag-input.js +48 -34
  280. package/esm2015/tags/tag-list.component.js +93 -56
  281. package/esm2015/tags/tag.component.js +90 -73
  282. package/esm2015/tags/tag.module.js +46 -29
  283. package/esm2015/textarea/textarea.component.js +70 -41
  284. package/esm2015/textarea/textarea.module.js +13 -8
  285. package/esm2015/timepicker/timepicker.directive.js +66 -54
  286. package/esm2015/timepicker/timepicker.module.js +26 -13
  287. package/esm2015/toggle/toggle.component.js +65 -47
  288. package/esm2015/toggle/toggle.module.js +13 -8
  289. package/esm2015/tooltip/tooltip.animations.js +19 -0
  290. package/esm2015/tooltip/tooltip.component.js +239 -555
  291. package/esm2015/tooltip/tooltip.module.js +38 -11
  292. package/esm2015/tree/control/base-tree-control.js +60 -0
  293. package/esm2015/tree/control/flat-tree-control.js +123 -0
  294. package/esm2015/tree/control/nested-tree-control.js +41 -0
  295. package/esm2015/tree/control/tree-control.js +2 -0
  296. package/esm2015/tree/data-source/flat-data-source.js +1 -1
  297. package/esm2015/tree/node.js +31 -0
  298. package/esm2015/tree/outlet.js +15 -0
  299. package/esm2015/tree/padding.directive.js +98 -25
  300. package/esm2015/tree/public-api.js +9 -2
  301. package/esm2015/tree/toggle.js +65 -70
  302. package/esm2015/tree/tree-base.js +243 -0
  303. package/esm2015/tree/tree-errors.js +36 -0
  304. package/esm2015/tree/tree-option.component.js +102 -56
  305. package/esm2015/tree/tree-selection.component.js +180 -115
  306. package/esm2015/tree/tree.js +23 -0
  307. package/esm2015/tree/tree.module.js +38 -12
  308. package/esm2015/tree-select/tree-select.component.js +153 -85
  309. package/esm2015/tree-select/tree-select.module.js +33 -18
  310. package/fesm2015/ptsecurity-mosaic-autocomplete.js +140 -102
  311. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
  312. package/fesm2015/ptsecurity-mosaic-button-toggle.js +87 -63
  313. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
  314. package/fesm2015/ptsecurity-mosaic-button.js +86 -76
  315. package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
  316. package/fesm2015/ptsecurity-mosaic-card.js +54 -42
  317. package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
  318. package/fesm2015/ptsecurity-mosaic-checkbox.js +82 -59
  319. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
  320. package/fesm2015/ptsecurity-mosaic-core.js +758 -239
  321. package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
  322. package/fesm2015/ptsecurity-mosaic-datepicker.js +546 -377
  323. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
  324. package/fesm2015/ptsecurity-mosaic-design-tokens.js +57 -16
  325. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
  326. package/fesm2015/ptsecurity-mosaic-divider.js +34 -26
  327. package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
  328. package/fesm2015/ptsecurity-mosaic-dropdown.js +219 -171
  329. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
  330. package/fesm2015/ptsecurity-mosaic-form-field.js +184 -119
  331. package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
  332. package/fesm2015/ptsecurity-mosaic-icon.js +56 -39
  333. package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
  334. package/fesm2015/ptsecurity-mosaic-input.js +191 -116
  335. package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
  336. package/fesm2015/ptsecurity-mosaic-link.js +57 -45
  337. package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
  338. package/fesm2015/ptsecurity-mosaic-list.js +311 -179
  339. package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
  340. package/fesm2015/ptsecurity-mosaic-modal.js +243 -159
  341. package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
  342. package/fesm2015/ptsecurity-mosaic-navbar.js +280 -205
  343. package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
  344. package/fesm2015/ptsecurity-mosaic-popover.js +297 -597
  345. package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
  346. package/fesm2015/ptsecurity-mosaic-progress-bar.js +48 -38
  347. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
  348. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +48 -38
  349. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
  350. package/fesm2015/ptsecurity-mosaic-radio.js +99 -76
  351. package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
  352. package/fesm2015/ptsecurity-mosaic-select.js +236 -136
  353. package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
  354. package/fesm2015/ptsecurity-mosaic-sidebar.js +85 -66
  355. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
  356. package/fesm2015/ptsecurity-mosaic-sidepanel.js +207 -139
  357. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
  358. package/fesm2015/ptsecurity-mosaic-splitter.js +92 -82
  359. package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
  360. package/fesm2015/ptsecurity-mosaic-table.js +33 -19
  361. package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
  362. package/fesm2015/ptsecurity-mosaic-tabs.js +557 -387
  363. package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
  364. package/fesm2015/ptsecurity-mosaic-tags.js +273 -192
  365. package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
  366. package/fesm2015/ptsecurity-mosaic-textarea.js +83 -50
  367. package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
  368. package/fesm2015/ptsecurity-mosaic-timepicker.js +89 -66
  369. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
  370. package/fesm2015/ptsecurity-mosaic-toggle.js +77 -55
  371. package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
  372. package/fesm2015/ptsecurity-mosaic-tooltip.js +293 -566
  373. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
  374. package/fesm2015/ptsecurity-mosaic-tree-select.js +188 -106
  375. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
  376. package/fesm2015/ptsecurity-mosaic-tree.js +1001 -279
  377. package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
  378. package/form-field/cleaner.d.ts +5 -0
  379. package/form-field/form-field.d.ts +5 -0
  380. package/form-field/form-field.module.d.ts +12 -0
  381. package/form-field/hint.d.ts +3 -0
  382. package/form-field/package.json +0 -1
  383. package/form-field/prefix.d.ts +3 -0
  384. package/form-field/ptsecurity-mosaic-form-field.d.ts +1 -0
  385. package/form-field/stepper.d.ts +3 -0
  386. package/form-field/suffix.d.ts +3 -0
  387. package/icon/icon.component.d.ts +5 -0
  388. package/icon/icon.module.d.ts +8 -0
  389. package/icon/package.json +0 -1
  390. package/icon/ptsecurity-mosaic-icon.d.ts +1 -0
  391. package/input/input-number-validators.d.ts +7 -2
  392. package/input/input-number.d.ts +3 -0
  393. package/input/input.d.ts +5 -0
  394. package/input/input.module.d.ts +11 -0
  395. package/input/package.json +0 -1
  396. package/input/ptsecurity-mosaic-input.d.ts +1 -0
  397. package/link/link.component.d.ts +3 -0
  398. package/link/link.module.d.ts +7 -0
  399. package/link/package.json +0 -1
  400. package/link/ptsecurity-mosaic-link.d.ts +1 -0
  401. package/list/list-selection.component.d.ts +30 -3
  402. package/list/list.component.d.ts +5 -0
  403. package/list/list.module.d.ts +9 -0
  404. package/list/package.json +0 -1
  405. package/list/ptsecurity-mosaic-list.d.ts +1 -0
  406. package/modal/css-unit.pipe.d.ts +3 -0
  407. package/modal/modal-control.service.d.ts +3 -0
  408. package/modal/modal.component.d.ts +5 -0
  409. package/modal/modal.directive.d.ts +9 -0
  410. package/modal/modal.module.d.ts +12 -0
  411. package/modal/modal.service.d.ts +3 -0
  412. package/modal/package.json +0 -1
  413. package/modal/ptsecurity-mosaic-modal.d.ts +1 -2
  414. package/navbar/navbar-item.component.d.ts +13 -0
  415. package/navbar/navbar.component.d.ts +5 -0
  416. package/navbar/navbar.module.d.ts +11 -0
  417. package/navbar/package.json +0 -1
  418. package/navbar/ptsecurity-mosaic-navbar.d.ts +1 -1
  419. package/navbar/vertical-navbar.component.d.ts +5 -0
  420. package/package.json +8 -9
  421. package/popover/package.json +0 -1
  422. package/popover/popover-confirm.component.d.ts +33 -0
  423. package/popover/popover.component.d.ts +50 -136
  424. package/popover/popover.module.d.ts +9 -0
  425. package/popover/ptsecurity-mosaic-popover.d.ts +1 -0
  426. package/popover/public-api.d.ts +1 -0
  427. package/prebuilt-themes/dark-theme.css +1 -1
  428. package/prebuilt-themes/default-theme.css +1 -1
  429. package/prebuilt-visual/default-visual.css +1 -1
  430. package/progress-bar/package.json +0 -1
  431. package/progress-bar/progress-bar.component.d.ts +3 -0
  432. package/progress-bar/progress-bar.module.d.ts +7 -0
  433. package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +1 -0
  434. package/progress-spinner/package.json +0 -1
  435. package/progress-spinner/progress-spinner.component.d.ts +3 -0
  436. package/progress-spinner/progress-spinner.module.d.ts +7 -0
  437. package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +1 -0
  438. package/ptsecurity-mosaic.d.ts +1 -0
  439. package/radio/package.json +0 -1
  440. package/radio/ptsecurity-mosaic-radio.d.ts +1 -0
  441. package/radio/radio.component.d.ts +5 -0
  442. package/radio/radio.module.d.ts +8 -0
  443. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +6 -3
  444. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  445. package/select/package.json +0 -1
  446. package/select/ptsecurity-mosaic-select.d.ts +1 -0
  447. package/select/select.component.d.ts +11 -7
  448. package/select/select.module.d.ts +11 -0
  449. package/sidebar/package.json +0 -1
  450. package/sidebar/ptsecurity-mosaic-sidebar.d.ts +1 -1
  451. package/sidebar/sidebar.component.d.ts +7 -0
  452. package/sidebar/sidebar.module.d.ts +6 -0
  453. package/sidepanel/package.json +0 -1
  454. package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +1 -1
  455. package/sidepanel/sidepanel-container.component.d.ts +3 -0
  456. package/sidepanel/sidepanel-directives.d.ts +13 -0
  457. package/sidepanel/sidepanel.module.d.ts +13 -0
  458. package/sidepanel/sidepanel.service.d.ts +3 -0
  459. package/splitter/package.json +0 -1
  460. package/splitter/ptsecurity-mosaic-splitter.d.ts +1 -0
  461. package/splitter/splitter.component.d.ts +7 -0
  462. package/splitter/splitter.module.d.ts +7 -0
  463. package/table/package.json +0 -1
  464. package/table/ptsecurity-mosaic-table.d.ts +1 -0
  465. package/table/table.component.d.ts +3 -0
  466. package/table/table.module.d.ts +8 -0
  467. package/tabs/package.json +0 -1
  468. package/tabs/paginated-tab-header.d.ts +3 -0
  469. package/tabs/ptsecurity-mosaic-tabs.d.ts +1 -5
  470. package/tabs/tab-body.component.d.ts +5 -0
  471. package/tabs/tab-content.directive.d.ts +3 -0
  472. package/tabs/tab-group.component.d.ts +24 -4
  473. package/tabs/tab-header.component.d.ts +3 -0
  474. package/tabs/tab-label-wrapper.directive.d.ts +9 -0
  475. package/tabs/tab-label.directive.d.ts +3 -0
  476. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -0
  477. package/tabs/tab.component.d.ts +12 -3
  478. package/tabs/tabs.module.d.ts +18 -0
  479. package/tags/package.json +0 -1
  480. package/tags/ptsecurity-mosaic-tags.d.ts +1 -0
  481. package/tags/tag-input.d.ts +3 -0
  482. package/tags/tag-list.component.d.ts +3 -0
  483. package/tags/tag.component.d.ts +9 -0
  484. package/tags/tag.module.d.ts +9 -0
  485. package/textarea/package.json +0 -1
  486. package/textarea/ptsecurity-mosaic-textarea.d.ts +1 -0
  487. package/textarea/textarea.component.d.ts +3 -0
  488. package/textarea/textarea.module.d.ts +9 -0
  489. package/timepicker/package.json +0 -1
  490. package/timepicker/ptsecurity-mosaic-timepicker.d.ts +1 -0
  491. package/timepicker/timepicker.directive.d.ts +5 -2
  492. package/timepicker/timepicker.module.d.ts +9 -0
  493. package/toggle/package.json +0 -1
  494. package/toggle/ptsecurity-mosaic-toggle.d.ts +1 -0
  495. package/toggle/toggle.component.d.ts +3 -0
  496. package/toggle/toggle.module.d.ts +8 -0
  497. package/tooltip/package.json +0 -1
  498. package/tooltip/ptsecurity-mosaic-tooltip.d.ts +1 -0
  499. package/tooltip/tooltip.animations.d.ts +8 -0
  500. package/tooltip/tooltip.component.d.ts +74 -134
  501. package/tooltip/tooltip.module.d.ts +7 -0
  502. package/tree/control/base-tree-control.d.ts +40 -0
  503. package/tree/control/flat-tree-control.d.ts +48 -0
  504. package/tree/control/nested-tree-control.d.ts +19 -0
  505. package/tree/control/tree-control.d.ts +44 -0
  506. package/tree/data-source/flat-data-source.d.ts +2 -1
  507. package/tree/node.d.ts +34 -0
  508. package/tree/outlet.d.ts +9 -0
  509. package/tree/package.json +0 -1
  510. package/tree/padding.directive.d.ts +36 -5
  511. package/tree/ptsecurity-mosaic-tree.d.ts +1 -0
  512. package/tree/public-api.d.ts +8 -1
  513. package/tree/toggle.d.ts +20 -15
  514. package/tree/tree-base.d.ts +97 -0
  515. package/tree/tree-errors.d.ts +25 -0
  516. package/tree/tree-option.component.d.ts +15 -4
  517. package/tree/tree-selection.component.d.ts +46 -24
  518. package/tree/tree.d.ts +6 -0
  519. package/tree/tree.module.d.ts +14 -0
  520. package/tree-select/package.json +0 -1
  521. package/tree-select/ptsecurity-mosaic-tree-select.d.ts +1 -0
  522. package/tree-select/tree-select.component.d.ts +8 -8
  523. package/tree-select/tree-select.module.d.ts +11 -0
  524. package/autocomplete/ptsecurity-mosaic-autocomplete.metadata.json +0 -1
  525. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js +0 -2
  526. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js.map +0 -1
  527. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js +0 -16
  528. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js.map +0 -1
  529. package/bundles/ptsecurity-mosaic-button.umd.min.js +0 -16
  530. package/bundles/ptsecurity-mosaic-button.umd.min.js.map +0 -1
  531. package/bundles/ptsecurity-mosaic-card.umd.min.js +0 -16
  532. package/bundles/ptsecurity-mosaic-card.umd.min.js.map +0 -1
  533. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js +0 -16
  534. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js.map +0 -1
  535. package/bundles/ptsecurity-mosaic-core.umd.min.js +0 -17
  536. package/bundles/ptsecurity-mosaic-core.umd.min.js.map +0 -1
  537. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js +0 -2
  538. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js.map +0 -1
  539. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js +0 -2
  540. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js.map +0 -1
  541. package/bundles/ptsecurity-mosaic-divider.umd.min.js +0 -2
  542. package/bundles/ptsecurity-mosaic-divider.umd.min.js.map +0 -1
  543. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js +0 -17
  544. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js.map +0 -1
  545. package/bundles/ptsecurity-mosaic-form-field.umd.min.js +0 -17
  546. package/bundles/ptsecurity-mosaic-form-field.umd.min.js.map +0 -1
  547. package/bundles/ptsecurity-mosaic-icon.umd.min.js +0 -16
  548. package/bundles/ptsecurity-mosaic-icon.umd.min.js.map +0 -1
  549. package/bundles/ptsecurity-mosaic-input.umd.min.js +0 -16
  550. package/bundles/ptsecurity-mosaic-input.umd.min.js.map +0 -1
  551. package/bundles/ptsecurity-mosaic-link.umd.min.js +0 -16
  552. package/bundles/ptsecurity-mosaic-link.umd.min.js.map +0 -1
  553. package/bundles/ptsecurity-mosaic-list.umd.min.js +0 -16
  554. package/bundles/ptsecurity-mosaic-list.umd.min.js.map +0 -1
  555. package/bundles/ptsecurity-mosaic-modal.umd.min.js +0 -16
  556. package/bundles/ptsecurity-mosaic-modal.umd.min.js.map +0 -1
  557. package/bundles/ptsecurity-mosaic-navbar.umd.min.js +0 -16
  558. package/bundles/ptsecurity-mosaic-navbar.umd.min.js.map +0 -1
  559. package/bundles/ptsecurity-mosaic-popover.umd.min.js +0 -16
  560. package/bundles/ptsecurity-mosaic-popover.umd.min.js.map +0 -1
  561. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js +0 -16
  562. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js.map +0 -1
  563. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js +0 -16
  564. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js.map +0 -1
  565. package/bundles/ptsecurity-mosaic-radio.umd.min.js +0 -16
  566. package/bundles/ptsecurity-mosaic-radio.umd.min.js.map +0 -1
  567. package/bundles/ptsecurity-mosaic-select.umd.min.js +0 -16
  568. package/bundles/ptsecurity-mosaic-select.umd.min.js.map +0 -1
  569. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js +0 -2
  570. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js.map +0 -1
  571. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js +0 -2
  572. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js.map +0 -1
  573. package/bundles/ptsecurity-mosaic-splitter.umd.min.js +0 -2
  574. package/bundles/ptsecurity-mosaic-splitter.umd.min.js.map +0 -1
  575. package/bundles/ptsecurity-mosaic-table.umd.min.js +0 -2
  576. package/bundles/ptsecurity-mosaic-table.umd.min.js.map +0 -1
  577. package/bundles/ptsecurity-mosaic-tabs.umd.min.js +0 -16
  578. package/bundles/ptsecurity-mosaic-tabs.umd.min.js.map +0 -1
  579. package/bundles/ptsecurity-mosaic-tags.umd.min.js +0 -16
  580. package/bundles/ptsecurity-mosaic-tags.umd.min.js.map +0 -1
  581. package/bundles/ptsecurity-mosaic-textarea.umd.min.js +0 -16
  582. package/bundles/ptsecurity-mosaic-textarea.umd.min.js.map +0 -1
  583. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js +0 -2
  584. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js.map +0 -1
  585. package/bundles/ptsecurity-mosaic-toggle.umd.min.js +0 -16
  586. package/bundles/ptsecurity-mosaic-toggle.umd.min.js.map +0 -1
  587. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js +0 -16
  588. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js.map +0 -1
  589. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js +0 -16
  590. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js.map +0 -1
  591. package/bundles/ptsecurity-mosaic-tree.umd.min.js +0 -16
  592. package/bundles/ptsecurity-mosaic-tree.umd.min.js.map +0 -1
  593. package/bundles/ptsecurity-mosaic.umd.min.js +0 -2
  594. package/bundles/ptsecurity-mosaic.umd.min.js.map +0 -1
  595. package/button/ptsecurity-mosaic-button.metadata.json +0 -1
  596. package/button-toggle/ptsecurity-mosaic-button-toggle.metadata.json +0 -1
  597. package/card/ptsecurity-mosaic-card.metadata.json +0 -1
  598. package/checkbox/ptsecurity-mosaic-checkbox.metadata.json +0 -1
  599. package/core/ptsecurity-mosaic-core.metadata.json +0 -1
  600. package/datepicker/ptsecurity-mosaic-datepicker.metadata.json +0 -1
  601. package/design-tokens/ptsecurity-mosaic-design-tokens.metadata.json +0 -1
  602. package/divider/ptsecurity-mosaic-divider.metadata.json +0 -1
  603. package/dropdown/ptsecurity-mosaic-dropdown.metadata.json +0 -1
  604. package/esm2015/tree/node.directive.js +0 -15
  605. package/form-field/ptsecurity-mosaic-form-field.metadata.json +0 -1
  606. package/icon/ptsecurity-mosaic-icon.metadata.json +0 -1
  607. package/input/ptsecurity-mosaic-input.metadata.json +0 -1
  608. package/link/ptsecurity-mosaic-link.metadata.json +0 -1
  609. package/list/ptsecurity-mosaic-list.metadata.json +0 -1
  610. package/modal/ptsecurity-mosaic-modal.metadata.json +0 -1
  611. package/navbar/ptsecurity-mosaic-navbar.metadata.json +0 -1
  612. package/popover/ptsecurity-mosaic-popover.metadata.json +0 -1
  613. package/progress-bar/ptsecurity-mosaic-progress-bar.metadata.json +0 -1
  614. package/progress-spinner/ptsecurity-mosaic-progress-spinner.metadata.json +0 -1
  615. package/ptsecurity-mosaic.metadata.json +0 -1
  616. package/radio/ptsecurity-mosaic-radio.metadata.json +0 -1
  617. package/select/ptsecurity-mosaic-select.metadata.json +0 -1
  618. package/sidebar/ptsecurity-mosaic-sidebar.metadata.json +0 -1
  619. package/sidepanel/ptsecurity-mosaic-sidepanel.metadata.json +0 -1
  620. package/splitter/ptsecurity-mosaic-splitter.metadata.json +0 -1
  621. package/table/ptsecurity-mosaic-table.metadata.json +0 -1
  622. package/tabs/ptsecurity-mosaic-tabs.metadata.json +0 -1
  623. package/tags/ptsecurity-mosaic-tags.metadata.json +0 -1
  624. package/textarea/ptsecurity-mosaic-textarea.metadata.json +0 -1
  625. package/timepicker/ptsecurity-mosaic-timepicker.metadata.json +0 -1
  626. package/toggle/ptsecurity-mosaic-toggle.metadata.json +0 -1
  627. package/tooltip/ptsecurity-mosaic-tooltip.metadata.json +0 -1
  628. package/tree/node.directive.d.ts +0 -4
  629. package/tree/ptsecurity-mosaic-tree.metadata.json +0 -1
  630. package/tree-select/ptsecurity-mosaic-tree-select.metadata.json +0 -1
@@ -1,17 +1,24 @@
1
- import { FocusKeyManager, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
1
+ import * as i1$1 from '@angular/cdk/a11y';
2
+ import { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';
3
+ import * as i7 from '@angular/cdk/portal';
2
4
  import { CdkPortalOutlet, CdkPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
5
+ import * as i3$1 from '@angular/common';
3
6
  import { CommonModule } from '@angular/common';
4
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Optional, ChangeDetectorRef, Input, Output, ViewChild, Directive, ComponentFactoryResolver, ViewContainerRef, Inject, forwardRef, TemplateRef, NgZone, Renderer2, ContentChildren, InjectionToken, ContentChild, Attribute, NgModule } from '@angular/core';
5
- import { mixinDisabled, mixinTabIndex, McCommonModule } from '@ptsecurity/mosaic/core';
7
+ import * as i0 from '@angular/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
+ import * as i4 from '@ptsecurity/mosaic/icon';
6
11
  import { McIconModule } from '@ptsecurity/mosaic/icon';
12
+ import * as i6 from '@ptsecurity/mosaic/tooltip';
7
13
  import { McToolTipModule } from '@ptsecurity/mosaic/tooltip';
8
- import { Directionality } from '@angular/cdk/bidi';
14
+ import * as i3 from '@angular/cdk/bidi';
9
15
  import { Subscription, Subject, fromEvent, of, merge, timer } from 'rxjs';
10
- import { startWith, takeUntil, delay } from 'rxjs/operators';
16
+ import { startWith, takeUntil, debounceTime, delay } from 'rxjs/operators';
11
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
12
18
  import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
13
- import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';
14
- import { ViewportRuler } from '@angular/cdk/scrolling';
19
+ import * as i2 from '@angular/cdk/platform';
20
+ import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
21
+ import * as i1 from '@angular/cdk/scrolling';
15
22
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
16
23
  import { hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';
17
24
  import { HOME, END, UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW } from '@ptsecurity/cdk/keycodes';
@@ -134,36 +141,44 @@ class McTabBody {
134
141
  return 'right-origin-center';
135
142
  }
136
143
  }
137
- McTabBody.decorators = [
138
- { type: Component, args: [{
139
- selector: 'mc-tab-body',
140
- 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",
141
- encapsulation: ViewEncapsulation.None,
142
- changeDetection: ChangeDetectionStrategy.OnPush,
143
- animations: [mcTabsAnimations.translateTab],
144
- host: {
145
- class: 'mc-tab-body'
146
- },
147
- styles: [".mc-tab-body__content{height:100%;overflow:auto}.mc-tab-body__content .mc-tab-group_dynamic-height{overflow:hidden}"]
148
- },] }
149
- ];
150
- /** @nocollapse */
151
- McTabBody.ctorParameters = () => [
152
- { type: ElementRef },
153
- { type: Directionality, decorators: [{ type: Optional }] },
154
- { type: ChangeDetectorRef }
155
- ];
156
- McTabBody.propDecorators = {
157
- position: [{ type: Input }],
158
- onCentering: [{ type: Output }],
159
- beforeCentering: [{ type: Output }],
160
- afterLeavingCenter: [{ type: Output }],
161
- onCentered: [{ type: Output }],
162
- portalHost: [{ type: ViewChild, args: [CdkPortalOutlet, { static: false },] }],
163
- content: [{ type: Input, args: ['content',] }],
164
- origin: [{ type: Input }],
165
- animationDuration: [{ type: Input }]
166
- };
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
+ type: Component,
148
+ args: [{
149
+ selector: 'mc-tab-body',
150
+ templateUrl: 'tab-body.html',
151
+ styleUrls: ['tab-body.scss'],
152
+ encapsulation: ViewEncapsulation.None,
153
+ changeDetection: ChangeDetectionStrategy.OnPush,
154
+ animations: [mcTabsAnimations.translateTab],
155
+ host: {
156
+ class: 'mc-tab-body'
157
+ }
158
+ }]
159
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i3.Directionality, decorators: [{
160
+ type: Optional
161
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { position: [{
162
+ type: Input
163
+ }], onCentering: [{
164
+ type: Output
165
+ }], beforeCentering: [{
166
+ type: Output
167
+ }], afterLeavingCenter: [{
168
+ type: Output
169
+ }], onCentered: [{
170
+ type: Output
171
+ }], portalHost: [{
172
+ type: ViewChild,
173
+ args: [CdkPortalOutlet, { static: false }]
174
+ }], content: [{
175
+ type: Input,
176
+ args: ['content']
177
+ }], origin: [{
178
+ type: Input
179
+ }], animationDuration: [{
180
+ type: Input
181
+ }] } });
167
182
  /**
168
183
  * The portal host directive for the contents of the tab.
169
184
  * @docs-private
@@ -197,17 +212,17 @@ class McTabBodyPortal extends CdkPortalOutlet {
197
212
  this.leavingSub.unsubscribe();
198
213
  }
199
214
  }
200
- McTabBodyPortal.decorators = [
201
- { type: Directive, args: [{
202
- selector: '[mcTabBodyHost]'
203
- },] }
204
- ];
205
- /** @nocollapse */
206
- McTabBodyPortal.ctorParameters = () => [
207
- { type: ComponentFactoryResolver },
208
- { type: ViewContainerRef },
209
- { type: McTabBody, decorators: [{ type: Inject, args: [forwardRef(() => McTabBody),] }] }
210
- ];
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
+ type: Directive,
219
+ args: [{
220
+ selector: '[mcTabBodyHost]'
221
+ }]
222
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: McTabBody, decorators: [{
223
+ type: Inject,
224
+ args: [forwardRef(() => McTabBody)]
225
+ }] }]; } });
211
226
 
212
227
  /** Decorates the `ng-template` tags and reads out the template from it. */
213
228
  class McTabContent {
@@ -215,13 +230,12 @@ class McTabContent {
215
230
  this.template = template;
216
231
  }
217
232
  }
218
- McTabContent.decorators = [
219
- { type: Directive, args: [{ selector: '[mcTabContent]' },] }
220
- ];
221
- /** @nocollapse */
222
- McTabContent.ctorParameters = () => [
223
- { type: TemplateRef }
224
- ];
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
+ type: Directive,
237
+ args: [{ selector: '[mcTabContent]' }]
238
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
225
239
 
226
240
  /* tslint:disable:naming-convention */
227
241
  /** Config used to bind passive event listeners */
@@ -582,7 +596,7 @@ class McPaginatedTabHeader {
582
596
  * should be called sparingly.
583
597
  */
584
598
  checkPaginationEnabled() {
585
- if (this.disablePagination) {
599
+ if (this.disablePagination || this.vertical) {
586
600
  this.showPaginationControls = false;
587
601
  }
588
602
  else {
@@ -675,22 +689,160 @@ class McPaginatedTabHeader {
675
689
  return { maxScrollDistance, distance: this.scrollDistance };
676
690
  }
677
691
  }
678
- McPaginatedTabHeader.decorators = [
679
- { type: Directive }
680
- ];
681
- /** @nocollapse */
682
- McPaginatedTabHeader.ctorParameters = () => [
683
- { type: ElementRef },
684
- { type: ChangeDetectorRef },
685
- { type: ViewportRuler },
686
- { type: NgZone },
687
- { type: Platform },
688
- { type: Directionality, decorators: [{ type: Optional }] },
689
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
690
- ];
691
- McPaginatedTabHeader.propDecorators = {
692
- disablePagination: [{ type: Input }]
693
- };
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
+ type: Directive
696
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: i2.Platform }, { type: i3.Directionality, decorators: [{
697
+ type: Optional
698
+ }] }, { type: undefined, decorators: [{
699
+ type: Optional
700
+ }, {
701
+ type: Inject,
702
+ args: [ANIMATION_MODULE_TYPE]
703
+ }] }]; }, propDecorators: { disablePagination: [{
704
+ type: Input
705
+ }] } });
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
+ }] } });
694
846
 
695
847
  // Boilerplate for applying mixins to McTabLabelWrapper.
696
848
  /** @docs-private */
@@ -721,6 +873,15 @@ class McTabLabelWrapper extends McTabLabelWrapperMixinBase {
721
873
  getOffsetWidth() {
722
874
  return this.elementRef.nativeElement.offsetWidth;
723
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
+ }
724
885
  addClassModifierForIcons(icons) {
725
886
  const twoIcons = 2;
726
887
  const [firstIconElement, secondIconElement] = icons;
@@ -739,20 +900,23 @@ class McTabLabelWrapper extends McTabLabelWrapperMixinBase {
739
900
  }
740
901
  }
741
902
  }
742
- McTabLabelWrapper.decorators = [
743
- { type: Directive, args: [{
744
- selector: '[mcTabLabelWrapper]',
745
- inputs: ['disabled'],
746
- host: {
747
- '[attr.disabled]': 'disabled || null'
748
- }
749
- },] }
750
- ];
751
- /** @nocollapse */
752
- McTabLabelWrapper.ctorParameters = () => [
753
- { type: ElementRef },
754
- { type: Renderer2 }
755
- ];
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: [{
906
+ type: Directive,
907
+ args: [{
908
+ selector: '[mcTabLabelWrapper]',
909
+ inputs: ['disabled'],
910
+ host: {
911
+ '[attr.disabled]': 'disabled || null'
912
+ }
913
+ }]
914
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { labelContent: [{
915
+ type: ContentChild,
916
+ args: ['labelContent']
917
+ }], tab: [{
918
+ type: Input
919
+ }] } });
756
920
 
757
921
  /**
758
922
  * The header of the tab group which displays a list of all the tabs in the tab group.
@@ -773,186 +937,106 @@ class McTabHeader extends McPaginatedTabHeader {
773
937
  event.preventDefault();
774
938
  }
775
939
  }
776
- McTabHeader.decorators = [
777
- { type: Component, args: [{
778
- selector: 'mc-tab-header',
779
- 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",
780
- inputs: ['selectedIndex'],
781
- outputs: ['selectFocusedIndex', 'indexFocused'],
782
- encapsulation: ViewEncapsulation.None,
783
- changeDetection: ChangeDetectionStrategy.Default,
784
- host: {
785
- class: 'mc-tab-header',
786
- '[class.mc-tab-header_vertical]': 'vertical',
787
- '[class.mc-tab-header__pagination-controls_enabled]': 'showPaginationControls',
788
- '[class.mc-tab-header_rtl]': 'getLayoutDirection() == \'rtl\''
789
- },
790
- styles: [".mc-tab-label.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * var(--mc-tabs-size-border-width, 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-style:solid;border-top-left-radius:var(--mc-tabs-size-border-radius,3px);border-top-right-radius:var(--mc-tabs-size-border-radius,3px);border-bottom:solid transparent;border-width:calc(var(--mc-tabs-size-border-width, 1px) * 2)}.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;-moz-user-select:none;-ms-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:var(--mc-tabs-size-border-width,1px)}.mc-tab-header__pagination.mc-tab-header__pagination_before{border-right-style:solid;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: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:var(--mc-tabs-size-height,40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:var(--mc-tabs-size-padding-horizontal,16px);padding-left:var(--mc-tabs-size-padding-horizontal,16px);outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-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:var(--mc-tabs-size-label-icon-margin,8px)}.mc-tab-label .mc-tab-label__template>.mc-icon.mc-icon_right{margin-left:var(--mc-tabs-size-label-icon-margin,8px)}.mc-tab-label_old{border-bottom-width:var(--mc-tabs-size-border-width,1px);border-top-width:var(--mc-tabs-size-border-width,1px);border-bottom-style:solid;border-top-style:solid;border-top-left-radius:var(--mc-tabs-size-border-radius,3px);border-top-right-radius:var(--mc-tabs-size-border-radius,3px);border-left:transparent;border-right:transparent}.mc-tab-label_old.mc-active{border-width:var(--mc-tabs-size-border-width,1px);border-style:solid;padding-right:calc(var(--mc-tabs-size-padding-horizontal, 16px) - var(--mc-tabs-size-border-width, 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 * var(--mc-tabs-size-border-width, 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:var(--mc-tabs-size-border-radius,3px);border-top-right-radius:var(--mc-tabs-size-border-radius,3px)}.mc-tab-label_horizontal{border-bottom-width:var(--mc-tabs-size-border-width,1px);border-bottom-style:solid}.mc-tab-label_horizontal.mc-active:before{bottom:calc(-1 * var(--mc-tabs-size-border-width, 1px));left:0;right:0;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 * var(--mc-tabs-size-border-width, 1px));width:var(--mc-tabs-size-highlight-height,5px)}.mc-tab-label_vertical.cdk-keyboard-focused:after{right:0;left:0;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}"]
791
- },] }
792
- ];
793
- /** @nocollapse */
794
- McTabHeader.ctorParameters = () => [
795
- { type: ElementRef },
796
- { type: ChangeDetectorRef },
797
- { type: ViewportRuler },
798
- { type: NgZone },
799
- { type: Platform },
800
- { type: Directionality, decorators: [{ type: Optional }] },
801
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
802
- ];
803
- McTabHeader.propDecorators = {
804
- vertical: [{ type: Input }],
805
- items: [{ type: ContentChildren, args: [McTabLabelWrapper, { descendants: false },] }],
806
- tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],
807
- tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],
808
- nextPaginator: [{ type: ViewChild, args: ['nextPaginator',] }],
809
- previousPaginator: [{ type: ViewChild, args: ['previousPaginator',] }]
810
- };
811
-
812
- const MC_TAB_LABEL = new InjectionToken('McTabLabel');
813
- /** Used to flag tab labels for use with the portal directive */
814
- class McTabLabel extends CdkPortal {
815
- }
816
- McTabLabel.decorators = [
817
- { type: Directive, args: [{
818
- selector: '[mc-tab-label], [mcTabLabel]',
819
- providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }]
820
- },] }
821
- ];
822
-
823
- class McTabBase {
824
- }
825
- // tslint:disable-next-line:naming-convention
826
- const McTabMixinBase = mixinDisabled(McTabBase);
827
- class McTab extends McTabMixinBase {
828
- constructor(viewContainerRef) {
829
- super();
830
- this.viewContainerRef = viewContainerRef;
831
- /** Plain text label for the tab, used when there is no template label. */
832
- this.textLabel = '';
833
- this.empty = false;
834
- this.tooltipTitle = '';
835
- this.tooltipPlacement = '';
836
- /** Emits whenever the internal state of the tab changes. */
837
- this.stateChanges = new Subject();
838
- /**
839
- * The relatively indexed position where 0 represents the center, negative is left, and positive
840
- * represents the right.
841
- */
842
- this.position = null;
843
- /**
844
- * The initial relatively index origin of the tab if it was created and selected after there
845
- * was already a selected tab. Provides context of what position the tab should originate from.
846
- */
847
- this.origin = null;
848
- /**
849
- * Whether the tab is currently active.
850
- */
851
- this.isActive = false;
852
- /** Portal that will be the hosted content of the tab */
853
- this.contentPortal = null;
854
- }
855
- /** @docs-private */
856
- get content() {
857
- return this.contentPortal;
858
- }
859
- get templateLabel() { return this._templateLabel; }
860
- set templateLabel(value) { this.setTemplateLabelInput(value); }
861
- ngOnChanges(changes) {
862
- if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {
863
- this.stateChanges.next();
864
- }
865
- }
866
- ngOnDestroy() {
867
- this.stateChanges.complete();
868
- }
869
- ngOnInit() {
870
- this.contentPortal = new TemplatePortal(this.explicitContent || this.implicitContent, this.viewContainerRef);
871
- }
872
- /**
873
- * This has been extracted to a util because of TS 4 and VE.
874
- * View Engine doesn't support property rename inheritance.
875
- * TS 4.0 doesn't allow properties to override accessors or vice-versa.
876
- * @docs-private
877
- */
878
- setTemplateLabelInput(value) {
879
- // Only update the templateLabel via query if there is actually
880
- // a McTabLabel found. This works around an issue where a user may have
881
- // manually set `templateLabel` during creation mode, which would then get clobbered
882
- // by `undefined` when this query resolves.
883
- if (value) {
884
- this._templateLabel = value;
885
- }
886
- }
887
- }
888
- McTab.decorators = [
889
- { type: Component, args: [{
890
- selector: 'mc-tab',
891
- exportAs: 'mcTab',
892
- // Create a template for the content of the <mc-tab> so that we can grab a reference to this
893
- // TemplateRef and use it in a Portal to render the tab content in the appropriate place in the
894
- // tab-group.
895
- template: '<ng-template><ng-content></ng-content></ng-template>',
896
- inputs: ['disabled'],
897
- changeDetection: ChangeDetectionStrategy.OnPush,
898
- encapsulation: ViewEncapsulation.None
899
- },] }
900
- ];
901
- /** @nocollapse */
902
- McTab.ctorParameters = () => [
903
- { type: ViewContainerRef }
904
- ];
905
- McTab.propDecorators = {
906
- templateLabel: [{ type: ContentChild, args: [MC_TAB_LABEL,] }],
907
- explicitContent: [{ type: ContentChild, args: [McTabContent, { read: TemplateRef, static: true },] }],
908
- implicitContent: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],
909
- textLabel: [{ type: Input, args: ['label',] }],
910
- empty: [{ type: Input }],
911
- tooltipTitle: [{ type: Input }],
912
- tooltipPlacement: [{ type: Input }],
913
- tabId: [{ type: Input, args: ['tabId',] }]
914
- };
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: [{
943
+ type: Component,
944
+ args: [{
945
+ selector: 'mc-tab-header',
946
+ templateUrl: 'tab-header.html',
947
+ styleUrls: ['tab-header.scss'],
948
+ inputs: ['selectedIndex'],
949
+ outputs: ['selectFocusedIndex', 'indexFocused'],
950
+ encapsulation: ViewEncapsulation.None,
951
+ changeDetection: ChangeDetectionStrategy.Default,
952
+ host: {
953
+ class: 'mc-tab-header',
954
+ '[class.mc-tab-header_vertical]': 'vertical',
955
+ '[class.mc-tab-header__pagination-controls_enabled]': 'showPaginationControls',
956
+ '[class.mc-tab-header_rtl]': 'getLayoutDirection() == \'rtl\''
957
+ }
958
+ }]
959
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: i2.Platform }, { type: i3.Directionality, decorators: [{
960
+ type: Optional
961
+ }] }, { type: undefined, decorators: [{
962
+ type: Optional
963
+ }, {
964
+ type: Inject,
965
+ args: [ANIMATION_MODULE_TYPE]
966
+ }] }]; }, propDecorators: { vertical: [{
967
+ type: Input
968
+ }], items: [{
969
+ type: ContentChildren,
970
+ args: [McTabLabelWrapper, { descendants: false }]
971
+ }], tabListContainer: [{
972
+ type: ViewChild,
973
+ args: ['tabListContainer', { static: true }]
974
+ }], tabList: [{
975
+ type: ViewChild,
976
+ args: ['tabList', { static: true }]
977
+ }], nextPaginator: [{
978
+ type: ViewChild,
979
+ args: ['nextPaginator']
980
+ }], previousPaginator: [{
981
+ type: ViewChild,
982
+ args: ['previousPaginator']
983
+ }] } });
915
984
 
916
985
  class McOldTabsCssStyler {
917
986
  }
918
- McOldTabsCssStyler.decorators = [
919
- { type: Directive, args: [{
920
- selector: 'mc-tab-group[mc-old-tabs]',
921
- host: { class: 'mc-tab-group_old' }
922
- },] }
923
- ];
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: [{
990
+ type: Directive,
991
+ args: [{
992
+ selector: 'mc-tab-group[mc-old-tabs]',
993
+ host: { class: 'mc-tab-group_old' }
994
+ }]
995
+ }] });
924
996
  class McAlignTabsCenterCssStyler {
925
997
  }
926
- McAlignTabsCenterCssStyler.decorators = [
927
- { type: Directive, args: [{
928
- selector: 'mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]',
929
- host: { class: 'mc-tab-group_align-labels-center' }
930
- },] }
931
- ];
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: [{
1001
+ type: Directive,
1002
+ args: [{
1003
+ selector: 'mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]',
1004
+ host: { class: 'mc-tab-group_align-labels-center' }
1005
+ }]
1006
+ }] });
932
1007
  class McAlignTabsEndCssStyler {
933
1008
  }
934
- McAlignTabsEndCssStyler.decorators = [
935
- { type: Directive, args: [{
936
- selector: 'mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]',
937
- host: { class: 'mc-tab-group_align-labels-end' }
938
- },] }
939
- ];
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: [{
1012
+ type: Directive,
1013
+ args: [{
1014
+ selector: 'mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]',
1015
+ host: { class: 'mc-tab-group_align-labels-end' }
1016
+ }]
1017
+ }] });
940
1018
  class McStretchTabsCssStyler {
941
1019
  }
942
- McStretchTabsCssStyler.decorators = [
943
- { type: Directive, args: [{
944
- selector: 'mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]',
945
- host: { class: 'mc-tab-group_stretch-labels' }
946
- },] }
947
- ];
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: [{
1023
+ type: Directive,
1024
+ args: [{
1025
+ selector: 'mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]',
1026
+ host: { class: 'mc-tab-group_stretch-labels' }
1027
+ }]
1028
+ }] });
948
1029
  class McVerticalTabsCssStyler {
949
1030
  }
950
- McVerticalTabsCssStyler.decorators = [
951
- { type: Directive, args: [{
952
- selector: 'mc-tab-group[vertical], [mc-tab-nav-bar][vertical]',
953
- host: { class: 'mc-tab-group_vertical' }
954
- },] }
955
- ];
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: [{
1034
+ type: Directive,
1035
+ args: [{
1036
+ selector: 'mc-tab-group[vertical], [mc-tab-nav-bar][vertical]',
1037
+ host: { class: 'mc-tab-group_vertical' }
1038
+ }]
1039
+ }] });
956
1040
  /** Used to generate unique ID's for each tab component */
957
1041
  let nextId = 0;
958
1042
  /** A simple change event emitted on focus or selection changes. */
@@ -978,6 +1062,9 @@ class McTabGroup extends McTabGroupMixinBase {
978
1062
  constructor(elementRef, changeDetectorRef, lightTabs, vertical, defaultConfig) {
979
1063
  super(elementRef);
980
1064
  this.changeDetectorRef = changeDetectorRef;
1065
+ this.resizeStream = new Subject();
1066
+ this._dynamicHeight = false;
1067
+ this._selectedIndex = null;
981
1068
  /** Position of the tab header. */
982
1069
  this.headerPosition = 'above';
983
1070
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
@@ -996,20 +1083,29 @@ class McTabGroup extends McTabGroupMixinBase {
996
1083
  this.tabsSubscription = Subscription.EMPTY;
997
1084
  /** Subscription to changes in the tab labels. */
998
1085
  this.tabLabelSubscription = Subscription.EMPTY;
999
- this._dynamicHeight = false;
1000
- 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
+ };
1001
1092
  this.oldTab = coerceBooleanProperty(lightTabs);
1002
1093
  this.vertical = coerceBooleanProperty(vertical);
1003
1094
  this.groupId = nextId++;
1004
1095
  this.animationDuration = (defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.animationDuration) || '0ms';
1096
+ this.subscribeToResize();
1005
1097
  }
1006
1098
  /** Whether the tab group should grow to the size of the active tab. */
1007
- get dynamicHeight() { return this._dynamicHeight; }
1099
+ get dynamicHeight() {
1100
+ return this._dynamicHeight;
1101
+ }
1008
1102
  set dynamicHeight(value) {
1009
1103
  this._dynamicHeight = coerceBooleanProperty(value);
1010
1104
  }
1011
1105
  /** The index of the active tab. */
1012
- get selectedIndex() { return this._selectedIndex; }
1106
+ get selectedIndex() {
1107
+ return this._selectedIndex;
1108
+ }
1013
1109
  set selectedIndex(value) {
1014
1110
  this.indexToSelect = coerceNumberProperty(value, null);
1015
1111
  }
@@ -1057,7 +1153,8 @@ class McTabGroup extends McTabGroupMixinBase {
1057
1153
  this.subscribeToTabLabels();
1058
1154
  // Subscribe to changes in the amount of tabs, in order to be
1059
1155
  // able to re-render the content as new tabs are added or removed.
1060
- this.tabsSubscription = this.tabs.changes.subscribe(() => {
1156
+ this.tabsSubscription = this.tabs.changes
1157
+ .subscribe(() => {
1061
1158
  const indexToSelect = this.clampTabIndex(this.indexToSelect);
1062
1159
  // Maintain the previously-selected tab if a new tab is added or removed and there is no
1063
1160
  // explicit change that selects a different tab.
@@ -1077,9 +1174,13 @@ class McTabGroup extends McTabGroupMixinBase {
1077
1174
  this.changeDetectorRef.markForCheck();
1078
1175
  });
1079
1176
  }
1177
+ ngAfterViewInit() {
1178
+ this.checkOverflow();
1179
+ }
1080
1180
  ngOnDestroy() {
1081
1181
  this.tabsSubscription.unsubscribe();
1082
1182
  this.tabLabelSubscription.unsubscribe();
1183
+ this.resizeSubscription.unsubscribe();
1083
1184
  }
1084
1185
  focusChanged(index) {
1085
1186
  this.focusChange.emit(this.createChangeEvent(index));
@@ -1149,6 +1250,17 @@ class McTabGroup extends McTabGroupMixinBase {
1149
1250
  this.tabLabelSubscription = merge(...this.tabs.map((tab) => tab.stateChanges))
1150
1251
  .subscribe(() => this.changeDetectorRef.markForCheck());
1151
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
+ }
1152
1264
  /** Clamps the given index to the bounds of 0 and the tabs length. */
1153
1265
  clampTabIndex(index) {
1154
1266
  // Note the `|| 0`, which ensures that values like NaN can't get through
@@ -1157,43 +1269,62 @@ class McTabGroup extends McTabGroupMixinBase {
1157
1269
  return Math.min(this.tabs.length - 1, Math.max(index || 0, 0));
1158
1270
  }
1159
1271
  }
1160
- McTabGroup.decorators = [
1161
- { type: Component, args: [{
1162
- selector: 'mc-tab-group',
1163
- exportAs: 'mcTabGroup',
1164
- 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",
1165
- encapsulation: ViewEncapsulation.None,
1166
- changeDetection: ChangeDetectionStrategy.OnPush,
1167
- inputs: ['disabled'],
1168
- host: {
1169
- class: 'mc-tab-group',
1170
- '[class.mc-tab-group_dynamic-height]': 'dynamicHeight',
1171
- '[class.mc-tab-group_inverted-header]': 'headerPosition === "below"'
1172
- },
1173
- 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: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}"]
1174
- },] }
1175
- ];
1176
- /** @nocollapse */
1177
- McTabGroup.ctorParameters = () => [
1178
- { type: ElementRef },
1179
- { type: ChangeDetectorRef },
1180
- { type: String, decorators: [{ type: Attribute, args: ['mc-old-tabs',] }] },
1181
- { type: String, decorators: [{ type: Attribute, args: ['vertical',] }] },
1182
- { type: undefined, decorators: [{ type: Inject, args: [MC_TABS_CONFIG,] }, { type: Optional }] }
1183
- ];
1184
- McTabGroup.propDecorators = {
1185
- tabs: [{ type: ContentChildren, args: [McTab,] }],
1186
- tabBodyWrapper: [{ type: ViewChild, args: ['tabBodyWrapper', { static: false },] }],
1187
- tabHeader: [{ type: ViewChild, args: ['tabHeader', { static: false },] }],
1188
- dynamicHeight: [{ type: Input }],
1189
- selectedIndex: [{ type: Input }],
1190
- headerPosition: [{ type: Input }],
1191
- animationDuration: [{ type: Input }],
1192
- selectedIndexChange: [{ type: Output }],
1193
- focusChange: [{ type: Output }],
1194
- animationDone: [{ type: Output }],
1195
- selectedTabChange: [{ type: Output }]
1196
- };
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: [{
1275
+ type: Component,
1276
+ args: [{
1277
+ selector: 'mc-tab-group',
1278
+ exportAs: 'mcTabGroup',
1279
+ templateUrl: 'tab-group.html',
1280
+ styleUrls: ['tab-group.scss'],
1281
+ encapsulation: ViewEncapsulation.None,
1282
+ changeDetection: ChangeDetectionStrategy.OnPush,
1283
+ inputs: ['disabled'],
1284
+ host: {
1285
+ class: 'mc-tab-group',
1286
+ '[class.mc-tab-group_dynamic-height]': 'dynamicHeight',
1287
+ '[class.mc-tab-group_inverted-header]': 'headerPosition === "below"',
1288
+ '(window:resize)': 'resizeStream.next()'
1289
+ }
1290
+ }]
1291
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1292
+ type: Attribute,
1293
+ args: ['mc-old-tabs']
1294
+ }] }, { type: undefined, decorators: [{
1295
+ type: Attribute,
1296
+ args: ['vertical']
1297
+ }] }, { type: undefined, decorators: [{
1298
+ type: Inject,
1299
+ args: [MC_TABS_CONFIG]
1300
+ }, {
1301
+ type: Optional
1302
+ }] }]; }, propDecorators: { tabs: [{
1303
+ type: ContentChildren,
1304
+ args: [McTab]
1305
+ }], tabBodyWrapper: [{
1306
+ type: ViewChild,
1307
+ args: ['tabBodyWrapper', { static: false }]
1308
+ }], tabHeader: [{
1309
+ type: ViewChild,
1310
+ args: ['tabHeader', { static: false }]
1311
+ }], dynamicHeight: [{
1312
+ type: Input
1313
+ }], selectedIndex: [{
1314
+ type: Input
1315
+ }], headerPosition: [{
1316
+ type: Input
1317
+ }], animationDuration: [{
1318
+ type: Input
1319
+ }], selectedIndexChange: [{
1320
+ type: Output
1321
+ }], focusChange: [{
1322
+ type: Output
1323
+ }], animationDone: [{
1324
+ type: Output
1325
+ }], selectedTabChange: [{
1326
+ type: Output
1327
+ }] } });
1197
1328
 
1198
1329
  // Boilerplate for applying mixins to McTabLink.
1199
1330
  class McTabLinkBase {
@@ -1247,31 +1378,27 @@ class McTabLink extends McTabLinkMixinBase {
1247
1378
  }
1248
1379
  }
1249
1380
  }
1250
- McTabLink.decorators = [
1251
- { type: Component, args: [{
1252
- selector: 'a[mc-tab-link], a[mcTabLink]',
1253
- exportAs: 'mcTabLink',
1254
- template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>',
1255
- inputs: ['disabled', 'tabIndex'],
1256
- host: {
1257
- class: 'mc-tab-link',
1258
- '[class.mc-active]': 'active',
1259
- '[class.mc-tab-label_vertical]': 'vertical',
1260
- '[class.mc-tab-label_horizontal]': '!vertical',
1261
- '[attr.tabindex]': 'tabIndex',
1262
- '[attr.disabled]': 'disabled || null'
1263
- }
1264
- },] }
1265
- ];
1266
- /** @nocollapse */
1267
- McTabLink.ctorParameters = () => [
1268
- { type: ElementRef },
1269
- { type: FocusMonitor },
1270
- { type: Renderer2 }
1271
- ];
1272
- McTabLink.propDecorators = {
1273
- active: [{ type: Input }]
1274
- };
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: [{
1384
+ type: Component,
1385
+ args: [{
1386
+ selector: 'a[mc-tab-link], a[mcTabLink]',
1387
+ exportAs: 'mcTabLink',
1388
+ template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>',
1389
+ inputs: ['disabled', 'tabIndex'],
1390
+ host: {
1391
+ class: 'mc-tab-link',
1392
+ '[class.mc-active]': 'active',
1393
+ '[class.mc-tab-label_vertical]': 'vertical',
1394
+ '[class.mc-tab-label_horizontal]': '!vertical',
1395
+ '[attr.tabindex]': 'tabIndex',
1396
+ '[attr.disabled]': 'disabled || null'
1397
+ }
1398
+ }]
1399
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.FocusMonitor }, { type: i0.Renderer2 }]; }, propDecorators: { active: [{
1400
+ type: Input
1401
+ }] } });
1275
1402
  /**
1276
1403
  * Navigation component matching the styles of the tab group header.
1277
1404
  */
@@ -1287,77 +1414,120 @@ class McTabNav {
1287
1414
  this.links.notifyOnChanges();
1288
1415
  }
1289
1416
  }
1290
- McTabNav.decorators = [
1291
- { type: Component, args: [{
1292
- selector: '[mc-tab-nav-bar]',
1293
- exportAs: 'mcTabNavBar, mcTabNav',
1294
- template: '<ng-content></ng-content>',
1295
- host: {
1296
- class: 'mc-tab-nav-bar'
1297
- },
1298
- encapsulation: ViewEncapsulation.None,
1299
- changeDetection: ChangeDetectionStrategy.OnPush,
1300
- styles: [".mc-tab-link.cdk-keyboard-focused:after{display:block;content:\"\";position:absolute;top:0;right:calc(-1 * var(--mc-tabs-size-border-width, 1px));bottom:calc(-1 * var(--mc-tabs-size-border-width, 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:var(--mc-tabs-size-height,40px);text-align:center;white-space:nowrap;cursor:pointer;padding-right:var(--mc-tabs-size-padding-horizontal,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:var(--mc-tabs-size-label-icon-margin,8px)}.mc-tab-link .mc-tab-label__template>.mc-icon.mc-icon_right{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:var(--mc-tabs-size-label-icon-margin,8px)}.mc-tab-link>.mc-icon.mc-icon_right{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}"]
1301
- },] }
1302
- ];
1303
- /** @nocollapse */
1304
- McTabNav.ctorParameters = () => [
1305
- { type: String, decorators: [{ type: Attribute, args: ['vertical',] }] }
1306
- ];
1307
- McTabNav.propDecorators = {
1308
- links: [{ type: ContentChildren, args: [McTabLink,] }]
1309
- };
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: [{
1420
+ type: Component,
1421
+ args: [{
1422
+ selector: '[mc-tab-nav-bar]',
1423
+ exportAs: 'mcTabNavBar, mcTabNav',
1424
+ template: '<ng-content></ng-content>',
1425
+ styleUrls: ['tab-nav-bar.scss'],
1426
+ host: {
1427
+ class: 'mc-tab-nav-bar'
1428
+ },
1429
+ encapsulation: ViewEncapsulation.None,
1430
+ changeDetection: ChangeDetectionStrategy.OnPush
1431
+ }]
1432
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1433
+ type: Attribute,
1434
+ args: ['vertical']
1435
+ }] }]; }, propDecorators: { links: [{
1436
+ type: ContentChildren,
1437
+ args: [McTabLink]
1438
+ }] } });
1310
1439
 
1311
1440
  class McTabsModule {
1312
1441
  }
1313
- McTabsModule.decorators = [
1314
- { type: NgModule, args: [{
1315
- imports: [
1316
- CommonModule,
1317
- PortalModule,
1318
- A11yModule,
1319
- McCommonModule,
1320
- McIconModule,
1321
- McToolTipModule
1322
- ],
1323
- // Don't export all components because some are only to be used internally.
1324
- exports: [
1325
- McCommonModule,
1326
- McTabGroup,
1327
- McTabLabel,
1328
- McTab,
1329
- McTabNav,
1330
- McTabLink,
1331
- McTabContent,
1332
- McOldTabsCssStyler,
1333
- McAlignTabsCenterCssStyler,
1334
- McAlignTabsEndCssStyler,
1335
- McStretchTabsCssStyler,
1336
- McVerticalTabsCssStyler
1337
- ],
1338
- declarations: [
1339
- McTabGroup,
1340
- McTabLabel,
1341
- McTab,
1342
- McTabLabelWrapper,
1343
- McTabNav,
1344
- McTabLink,
1345
- McTabBody,
1346
- McTabBodyPortal,
1347
- McTabHeader,
1348
- McTabContent,
1349
- McOldTabsCssStyler,
1350
- McAlignTabsCenterCssStyler,
1351
- McAlignTabsEndCssStyler,
1352
- McStretchTabsCssStyler,
1353
- McVerticalTabsCssStyler
1354
- ]
1355
- },] }
1356
- ];
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,
1444
+ McTabLabel,
1445
+ McTab,
1446
+ McTabLabelWrapper,
1447
+ McTabNav,
1448
+ McTabLink,
1449
+ McTabBody,
1450
+ McTabBodyPortal,
1451
+ McTabHeader,
1452
+ McTabContent,
1453
+ McOldTabsCssStyler,
1454
+ McAlignTabsCenterCssStyler,
1455
+ McAlignTabsEndCssStyler,
1456
+ McStretchTabsCssStyler,
1457
+ McVerticalTabsCssStyler], imports: [CommonModule,
1458
+ PortalModule,
1459
+ A11yModule,
1460
+ McCommonModule,
1461
+ McIconModule,
1462
+ McToolTipModule], exports: [McCommonModule,
1463
+ McTabGroup,
1464
+ McTabLabel,
1465
+ McTab,
1466
+ McTabNav,
1467
+ McTabLink,
1468
+ McTabContent,
1469
+ McOldTabsCssStyler,
1470
+ McAlignTabsCenterCssStyler,
1471
+ McAlignTabsEndCssStyler,
1472
+ McStretchTabsCssStyler,
1473
+ McVerticalTabsCssStyler] });
1474
+ /** @nocollapse */ McTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, imports: [[
1475
+ CommonModule,
1476
+ PortalModule,
1477
+ A11yModule,
1478
+ McCommonModule,
1479
+ McIconModule,
1480
+ McToolTipModule
1481
+ ], McCommonModule] });
1482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McTabsModule, decorators: [{
1483
+ type: NgModule,
1484
+ args: [{
1485
+ imports: [
1486
+ CommonModule,
1487
+ PortalModule,
1488
+ A11yModule,
1489
+ McCommonModule,
1490
+ McIconModule,
1491
+ McToolTipModule
1492
+ ],
1493
+ // Don't export all components because some are only to be used internally.
1494
+ exports: [
1495
+ McCommonModule,
1496
+ McTabGroup,
1497
+ McTabLabel,
1498
+ McTab,
1499
+ McTabNav,
1500
+ McTabLink,
1501
+ McTabContent,
1502
+ McOldTabsCssStyler,
1503
+ McAlignTabsCenterCssStyler,
1504
+ McAlignTabsEndCssStyler,
1505
+ McStretchTabsCssStyler,
1506
+ McVerticalTabsCssStyler
1507
+ ],
1508
+ declarations: [
1509
+ McTabGroup,
1510
+ McTabLabel,
1511
+ McTab,
1512
+ McTabLabelWrapper,
1513
+ McTabNav,
1514
+ McTabLink,
1515
+ McTabBody,
1516
+ McTabBodyPortal,
1517
+ McTabHeader,
1518
+ McTabContent,
1519
+ McOldTabsCssStyler,
1520
+ McAlignTabsCenterCssStyler,
1521
+ McAlignTabsEndCssStyler,
1522
+ McStretchTabsCssStyler,
1523
+ McVerticalTabsCssStyler
1524
+ ]
1525
+ }]
1526
+ }] });
1357
1527
 
1358
1528
  /**
1359
1529
  * Generated bundle index. Do not edit.
1360
1530
  */
1361
1531
 
1362
- export { MC_TABS_CONFIG, McAlignTabsCenterCssStyler, McAlignTabsEndCssStyler, McOldTabsCssStyler, McStretchTabsCssStyler, McTab, McTabBody, McTabBodyPortal, McTabChangeEvent, McTabContent, McTabGroup, McTabGroupBase, McTabGroupMixinBase, McTabHeader, McTabLabel, McTabLabelWrapper, McTabLink, McTabNav, McTabsModule, McVerticalTabsCssStyler, mcTabsAnimations, McTabLabelWrapperBase as ɵa, McTabLabelWrapperMixinBase as ɵb, McTabBase as ɵc, McTabMixinBase as ɵd, MC_TAB_LABEL as ɵe, McTabLinkBase as ɵf, McTabLinkMixinBase as ɵg, McPaginatedTabHeader as ɵh };
1532
+ export { MC_TABS_CONFIG, McAlignTabsCenterCssStyler, McAlignTabsEndCssStyler, McOldTabsCssStyler, McStretchTabsCssStyler, McTab, McTabBody, McTabBodyPortal, McTabChangeEvent, McTabContent, McTabGroup, McTabGroupBase, McTabGroupMixinBase, McTabHeader, McTabLabel, McTabLabelWrapper, McTabLink, McTabNav, McTabsModule, McVerticalTabsCssStyler, mcTabsAnimations };
1363
1533
  //# sourceMappingURL=ptsecurity-mosaic-tabs.js.map