@ptsecurity/mosaic 12.1.0 → 13.0.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 (731) hide show
  1. package/_theming.scss +113 -66
  2. package/_visual.scss +11 -9
  3. package/autocomplete/README.md +0 -0
  4. package/autocomplete/package.json +5 -5
  5. package/button/README.md +0 -0
  6. package/button/button.component.d.ts +17 -14
  7. package/button/button.module.d.ts +1 -1
  8. package/button/package.json +5 -5
  9. package/button-toggle/README.md +0 -0
  10. package/button-toggle/package.json +5 -5
  11. package/card/README.md +0 -0
  12. package/card/package.json +5 -5
  13. package/checkbox/README.md +1 -0
  14. package/checkbox/package.json +5 -5
  15. package/core/formatters/date/formatter.d.ts +4 -4
  16. package/core/formatters/date/templates/en-US.d.ts +8 -8
  17. package/core/formatters/date/templates/ru-RU.d.ts +8 -8
  18. package/core/package.json +5 -5
  19. package/core/pop-up/pop-up-trigger.d.ts +9 -12
  20. package/datepicker/README.md +0 -0
  21. package/datepicker/package.json +5 -5
  22. package/design-tokens/package.json +5 -5
  23. package/design-tokens/style-dictionary/build.js +6 -0
  24. package/design-tokens/style-dictionary/configs/index.js +2 -1
  25. package/design-tokens/tokens/components/navbar.json5 +12 -9
  26. package/design-tokens/tokens.d.ts +11 -9
  27. package/divider/README.md +0 -0
  28. package/divider/package.json +5 -5
  29. package/dropdown/dropdown-item.component.d.ts +1 -0
  30. package/dropdown/package.json +5 -5
  31. package/{esm2015/autocomplete/autocomplete-origin.directive.js → esm2020/autocomplete/autocomplete-origin.directive.mjs} +4 -4
  32. package/{esm2015/autocomplete/autocomplete-trigger.directive.js → esm2020/autocomplete/autocomplete-trigger.directive.mjs} +4 -4
  33. package/esm2020/autocomplete/autocomplete.component.mjs +154 -0
  34. package/{esm2015/autocomplete/autocomplete.module.js → esm2020/autocomplete/autocomplete.module.mjs} +5 -5
  35. package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
  36. package/{esm2015/autocomplete/ptsecurity-mosaic-autocomplete.js → esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs} +0 -0
  37. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  38. package/esm2020/button/button.component.mjs +129 -0
  39. package/esm2020/button/button.module.mjs +38 -0
  40. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  41. package/{esm2015/button/ptsecurity-mosaic-button.js → esm2020/button/ptsecurity-mosaic-button.mjs} +0 -0
  42. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  43. package/esm2020/button-toggle/button-toggle.component.mjs +362 -0
  44. package/{esm2015/button-toggle/button-toggle.module.js → esm2020/button-toggle/button-toggle.module.mjs} +5 -5
  45. package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
  46. package/{esm2015/button-toggle/ptsecurity-mosaic-button-toggle.js → esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs} +0 -0
  47. package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
  48. package/esm2020/card/card.component.mjs +80 -0
  49. package/{esm2015/card/card.module.js → esm2020/card/card.module.mjs} +5 -5
  50. package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
  51. package/{esm2015/card/ptsecurity-mosaic-card.js → esm2020/card/ptsecurity-mosaic-card.mjs} +0 -0
  52. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  53. package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
  54. package/{esm2015/checkbox/checkbox-module.js → esm2020/checkbox/checkbox-module.mjs} +5 -5
  55. package/{esm2015/checkbox/checkbox-required-validator.js → esm2020/checkbox/checkbox-required-validator.mjs} +4 -4
  56. package/esm2020/checkbox/checkbox.mjs +315 -0
  57. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  58. package/{esm2015/checkbox/ptsecurity-mosaic-checkbox.js → esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs} +0 -0
  59. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  60. package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
  61. package/{esm2015/core/animation/fade-animations.js → esm2020/core/animation/fade-animations.mjs} +0 -0
  62. package/{esm2015/core/animation/index.js → esm2020/core/animation/index.mjs} +0 -0
  63. package/{esm2015/core/animation/select-animations.js → esm2020/core/animation/select-animations.mjs} +0 -0
  64. package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
  65. package/{esm2015/core/common-behaviors/common-module.js → esm2020/core/common-behaviors/common-module.mjs} +5 -5
  66. package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
  67. package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
  68. package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
  69. package/{esm2015/core/common-behaviors/index.js → esm2020/core/common-behaviors/index.mjs} +0 -0
  70. package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
  71. package/{esm2015/core/error/error-options.js → esm2020/core/error/error-options.mjs} +7 -7
  72. package/esm2020/core/formatters/date/formatter.mjs +314 -0
  73. package/esm2020/core/formatters/date/templates/en-US.mjs +280 -0
  74. package/esm2020/core/formatters/date/templates/ru-RU.mjs +280 -0
  75. package/{esm2015/core/formatters/index.js → esm2020/core/formatters/index.mjs} +5 -5
  76. package/esm2020/core/formatters/number/formatter.mjs +105 -0
  77. package/{esm2015/core/forms/forms-module.js → esm2020/core/forms/forms-module.mjs} +5 -5
  78. package/{esm2015/core/forms/forms.directive.js → esm2020/core/forms/forms.directive.mjs} +7 -7
  79. package/{esm2015/core/forms/index.js → esm2020/core/forms/index.mjs} +0 -0
  80. package/{esm2015/core/highlight/highlight.pipe.js → esm2020/core/highlight/highlight.pipe.mjs} +4 -4
  81. package/{esm2015/core/highlight/index.js → esm2020/core/highlight/index.mjs} +5 -5
  82. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  83. package/{esm2015/core/label/label-options.js → esm2020/core/label/label-options.mjs} +0 -0
  84. package/{esm2015/core/line/line.js → esm2020/core/line/line.mjs} +8 -8
  85. package/esm2020/core/option/action.mjs +121 -0
  86. package/{esm2015/core/option/index.js → esm2020/core/option/index.mjs} +0 -0
  87. package/esm2020/core/option/optgroup.mjs +31 -0
  88. package/{esm2015/core/option/option-module.js → esm2020/core/option/option-module.mjs} +5 -5
  89. package/esm2020/core/option/option.mjs +254 -0
  90. package/{esm2015/core/overlay/overlay-position-map.js → esm2020/core/overlay/overlay-position-map.mjs} +0 -0
  91. package/{esm2015/core/pop-up/constants.js → esm2020/core/pop-up/constants.mjs} +0 -0
  92. package/{esm2015/core/pop-up/index.js → esm2020/core/pop-up/index.mjs} +0 -0
  93. package/esm2020/core/pop-up/pop-up-trigger.mjs +246 -0
  94. package/esm2020/core/pop-up/pop-up.mjs +91 -0
  95. package/{esm2015/core/ptsecurity-mosaic-core.js → esm2020/core/ptsecurity-mosaic-core.mjs} +0 -0
  96. package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +0 -0
  97. package/{esm2015/core/select/constants.js → esm2020/core/select/constants.mjs} +0 -0
  98. package/{esm2015/core/select/errors.js → esm2020/core/select/errors.mjs} +0 -0
  99. package/{esm2015/core/select/events.js → esm2020/core/select/events.mjs} +0 -0
  100. package/{esm2015/core/select/index.js → esm2020/core/select/index.mjs} +0 -0
  101. package/{esm2015/core/selection/constants.js → esm2020/core/selection/constants.mjs} +0 -0
  102. package/{esm2015/core/selection/index.js → esm2020/core/selection/index.mjs} +0 -0
  103. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -0
  104. package/{esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js → esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs} +5 -5
  105. package/{esm2015/core/services/measure-scrollbar.service.js → esm2020/core/services/measure-scrollbar.service.mjs} +4 -4
  106. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  107. package/{esm2015/core/utils/public-api.js → esm2020/core/utils/public-api.mjs} +0 -0
  108. package/{esm2015/core/utils/utils.js → esm2020/core/utils/utils.mjs} +0 -0
  109. package/{esm2015/core/validation/index.js → esm2020/core/validation/index.mjs} +0 -0
  110. package/{esm2015/core/validation/validation.js → esm2020/core/validation/validation.mjs} +0 -0
  111. package/esm2020/datepicker/calendar-body.component.mjs +106 -0
  112. package/esm2020/datepicker/calendar.component.mjs +362 -0
  113. package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
  114. package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
  115. package/esm2020/datepicker/datepicker-input.directive.mjs +900 -0
  116. package/{esm2015/datepicker/datepicker-intl.js → esm2020/datepicker/datepicker-intl.mjs} +4 -4
  117. package/{esm2015/datepicker/datepicker-module.js → esm2020/datepicker/datepicker-module.mjs} +5 -5
  118. package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -0
  119. package/esm2020/datepicker/datepicker.component.mjs +408 -0
  120. package/{esm2015/datepicker/index.js → esm2020/datepicker/index.mjs} +0 -0
  121. package/{esm2015/datepicker/month-view.component.js → esm2020/datepicker/month-view.component.mjs} +5 -11
  122. package/{esm2015/datepicker/multi-year-view.component.js → esm2020/datepicker/multi-year-view.component.mjs} +5 -11
  123. package/{esm2015/datepicker/ptsecurity-mosaic-datepicker.js → esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs} +0 -0
  124. package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
  125. package/{esm2015/datepicker/year-view.component.js → esm2020/datepicker/year-view.component.mjs} +5 -11
  126. package/{esm2015/design-tokens/index.js → esm2020/design-tokens/index.mjs} +0 -0
  127. package/{esm2015/design-tokens/ptsecurity-mosaic-design-tokens.js → esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs} +0 -0
  128. package/{esm2015/design-tokens/public-api.js → esm2020/design-tokens/public-api.mjs} +0 -0
  129. package/{esm2015/design-tokens/tokens.js → esm2020/design-tokens/tokens.mjs} +12 -10
  130. package/{esm2015/divider/divider.component.js → esm2020/divider/divider.component.mjs} +6 -13
  131. package/{esm2015/divider/divider.module.js → esm2020/divider/divider.module.mjs} +5 -5
  132. package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
  133. package/{esm2015/divider/ptsecurity-mosaic-divider.js → esm2020/divider/ptsecurity-mosaic-divider.mjs} +0 -0
  134. package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
  135. package/{esm2015/dropdown/dropdown-animations.js → esm2020/dropdown/dropdown-animations.mjs} +0 -0
  136. package/{esm2015/dropdown/dropdown-content.directive.js → esm2020/dropdown/dropdown-content.directive.mjs} +6 -8
  137. package/{esm2015/dropdown/dropdown-errors.js → esm2020/dropdown/dropdown-errors.mjs} +0 -0
  138. package/esm2020/dropdown/dropdown-item.component.mjs +139 -0
  139. package/esm2020/dropdown/dropdown-trigger.directive.mjs +485 -0
  140. package/esm2020/dropdown/dropdown.component.mjs +292 -0
  141. package/{esm2015/dropdown/dropdown.module.js → esm2020/dropdown/dropdown.module.mjs} +5 -5
  142. package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
  143. package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
  144. package/{esm2015/dropdown/ptsecurity-mosaic-dropdown.js → esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs} +0 -0
  145. package/{esm2015/dropdown/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
  146. package/esm2020/form-field/cleaner.mjs +23 -0
  147. package/{esm2015/form-field/form-field-control.js → esm2020/form-field/form-field-control.mjs} +0 -0
  148. package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
  149. package/esm2020/form-field/form-field.mjs +205 -0
  150. package/{esm2015/form-field/form-field.module.js → esm2020/form-field/form-field.module.mjs} +5 -5
  151. package/{esm2015/form-field/hint.js → esm2020/form-field/hint.mjs} +4 -4
  152. package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
  153. package/{esm2015/form-field/prefix.js → esm2020/form-field/prefix.mjs} +4 -4
  154. package/{esm2015/form-field/ptsecurity-mosaic-form-field.js → esm2020/form-field/ptsecurity-mosaic-form-field.mjs} +0 -0
  155. package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
  156. package/{esm2015/form-field/stepper.js → esm2020/form-field/stepper.mjs} +4 -4
  157. package/{esm2015/form-field/suffix.js → esm2020/form-field/suffix.mjs} +4 -4
  158. package/esm2020/icon/icon.component.mjs +44 -0
  159. package/{esm2015/icon/icon.module.js → esm2020/icon/icon.module.mjs} +5 -5
  160. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  161. package/{esm2015/icon/ptsecurity-mosaic-icon.js → esm2020/icon/ptsecurity-mosaic-icon.mjs} +0 -0
  162. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  163. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  164. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  165. package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
  166. package/esm2020/input/input-number-validators.mjs +92 -0
  167. package/{esm2015/input/input-number.js → esm2020/input/input-number.mjs} +4 -4
  168. package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
  169. package/{esm2015/input/input.js → esm2020/input/input.mjs} +7 -7
  170. package/{esm2015/input/input.module.js → esm2020/input/input.module.mjs} +5 -5
  171. package/{esm2015/input/ptsecurity-mosaic-input.js → esm2020/input/ptsecurity-mosaic-input.mjs} +0 -0
  172. package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
  173. package/{esm2015/link/index.js → esm2020/link/index.mjs} +0 -0
  174. package/esm2020/link/link.component.mjs +107 -0
  175. package/{esm2015/link/link.module.js → esm2020/link/link.module.mjs} +5 -5
  176. package/{esm2015/link/ptsecurity-mosaic-link.js → esm2020/link/ptsecurity-mosaic-link.mjs} +0 -0
  177. package/{esm2015/link/public-api.js → esm2020/link/public-api.mjs} +0 -0
  178. package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
  179. package/esm2020/list/list-selection.component.mjs +693 -0
  180. package/esm2020/list/list.component.mjs +44 -0
  181. package/{esm2015/list/list.module.js → esm2020/list/list.module.mjs} +5 -5
  182. package/{esm2015/list/ptsecurity-mosaic-list.js → esm2020/list/ptsecurity-mosaic-list.mjs} +0 -0
  183. package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
  184. package/{esm2015/modal/css-unit.pipe.js → esm2020/modal/css-unit.pipe.mjs} +4 -4
  185. package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
  186. package/{esm2015/modal/modal-control.service.js → esm2020/modal/modal-control.service.mjs} +4 -4
  187. package/{esm2015/modal/modal-ref.class.js → esm2020/modal/modal-ref.class.mjs} +0 -0
  188. package/{esm2015/modal/modal-util.js → esm2020/modal/modal-util.mjs} +0 -0
  189. package/esm2020/modal/modal.component.mjs +501 -0
  190. package/{esm2015/modal/modal.directive.js → esm2020/modal/modal.directive.mjs} +13 -13
  191. package/esm2020/modal/modal.module.mjs +72 -0
  192. package/esm2020/modal/modal.service.mjs +124 -0
  193. package/{esm2015/modal/modal.type.js → esm2020/modal/modal.type.mjs} +0 -0
  194. package/{esm2015/modal/ptsecurity-mosaic-modal.js → esm2020/modal/ptsecurity-mosaic-modal.mjs} +0 -0
  195. package/{esm2015/modal/public-api.js → esm2020/modal/public-api.mjs} +0 -0
  196. package/{esm2015/navbar/index.js → esm2020/navbar/index.mjs} +0 -0
  197. package/esm2020/navbar/navbar-item.component.mjs +577 -0
  198. package/esm2020/navbar/navbar.component.mjs +237 -0
  199. package/esm2020/navbar/navbar.module.mjs +92 -0
  200. package/{esm2015/navbar/ptsecurity-mosaic-navbar.js → esm2020/navbar/ptsecurity-mosaic-navbar.mjs} +0 -0
  201. package/{esm2015/navbar/public-api.js → esm2020/navbar/public-api.mjs} +0 -0
  202. package/{esm2015/navbar/vertical-navbar.animation.js → esm2020/navbar/vertical-navbar.animation.mjs} +2 -2
  203. package/esm2020/navbar/vertical-navbar.component.mjs +114 -0
  204. package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
  205. package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
  206. package/esm2020/popover/popover-confirm.component.mjs +108 -0
  207. package/esm2020/popover/popover.component.mjs +253 -0
  208. package/esm2020/popover/popover.module.mjs +24 -0
  209. package/{esm2015/popover/ptsecurity-mosaic-popover.js → esm2020/popover/ptsecurity-mosaic-popover.mjs} +0 -0
  210. package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +2 -1
  211. package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
  212. package/esm2020/progress-bar/progress-bar.component.mjs +42 -0
  213. package/{esm2015/progress-bar/progress-bar.module.js → esm2020/progress-bar/progress-bar.module.mjs} +5 -5
  214. package/{esm2015/progress-bar/ptsecurity-mosaic-progress-bar.js → esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs} +0 -0
  215. package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
  216. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  217. package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -0
  218. package/{esm2015/progress-spinner/progress-spinner.module.js → esm2020/progress-spinner/progress-spinner.module.mjs} +5 -5
  219. package/{esm2015/progress-spinner/ptsecurity-mosaic-progress-spinner.js → esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs} +0 -0
  220. package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
  221. package/{esm2015/ptsecurity-mosaic.js → esm2020/ptsecurity-mosaic.mjs} +0 -0
  222. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  223. package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
  224. package/{esm2015/radio/ptsecurity-mosaic-radio.js → esm2020/radio/ptsecurity-mosaic-radio.mjs} +0 -0
  225. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  226. package/esm2020/radio/radio.component.mjs +458 -0
  227. package/{esm2015/radio/radio.module.js → esm2020/radio/radio.module.mjs} +5 -5
  228. package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
  229. package/{esm2015/select/ptsecurity-mosaic-select.js → esm2020/select/ptsecurity-mosaic-select.mjs} +0 -0
  230. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  231. package/esm2020/select/select.component.mjs +1110 -0
  232. package/{esm2015/select/select.module.js → esm2020/select/select.module.mjs} +5 -5
  233. package/{esm2015/sidebar/index.js → esm2020/sidebar/index.mjs} +0 -0
  234. package/{esm2015/sidebar/ptsecurity-mosaic-sidebar.js → esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs} +0 -0
  235. package/{esm2015/sidebar/public-api.js → esm2020/sidebar/public-api.mjs} +0 -0
  236. package/{esm2015/sidebar/sidebar-animations.js → esm2020/sidebar/sidebar-animations.mjs} +0 -0
  237. package/esm2020/sidebar/sidebar.component.mjs +146 -0
  238. package/{esm2015/sidebar/sidebar.module.js → esm2020/sidebar/sidebar.module.mjs} +5 -5
  239. package/{esm2015/sidepanel/index.js → esm2020/sidepanel/index.mjs} +0 -0
  240. package/{esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js → esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs} +0 -0
  241. package/{esm2015/sidepanel/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
  242. package/{esm2015/sidepanel/sidepanel-animations.js → esm2020/sidepanel/sidepanel-animations.mjs} +0 -0
  243. package/{esm2015/sidepanel/sidepanel-config.js → esm2020/sidepanel/sidepanel-config.mjs} +0 -0
  244. package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -0
  245. package/esm2020/sidepanel/sidepanel-directives.mjs +159 -0
  246. package/{esm2015/sidepanel/sidepanel-ref.js → esm2020/sidepanel/sidepanel-ref.mjs} +0 -0
  247. package/esm2020/sidepanel/sidepanel.module.mjs +74 -0
  248. package/esm2020/sidepanel/sidepanel.service.mjs +167 -0
  249. package/{esm2015/splitter/index.js → esm2020/splitter/index.mjs} +0 -0
  250. package/{esm2015/splitter/ptsecurity-mosaic-splitter.js → esm2020/splitter/ptsecurity-mosaic-splitter.mjs} +0 -0
  251. package/{esm2015/splitter/public-api.js → esm2020/splitter/public-api.mjs} +0 -0
  252. package/esm2020/splitter/splitter.component.mjs +480 -0
  253. package/esm2020/splitter/splitter.module.mjs +40 -0
  254. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  255. package/{esm2015/table/ptsecurity-mosaic-table.js → esm2020/table/ptsecurity-mosaic-table.mjs} +0 -0
  256. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  257. package/{esm2015/table/table.component.js → esm2020/table/table.component.mjs} +4 -4
  258. package/{esm2015/table/table.module.js → esm2020/table/table.module.mjs} +5 -5
  259. package/{esm2015/tabs/index.js → esm2020/tabs/index.mjs} +0 -0
  260. package/esm2020/tabs/paginated-tab-header.mjs +479 -0
  261. package/{esm2015/tabs/ptsecurity-mosaic-tabs.js → esm2020/tabs/ptsecurity-mosaic-tabs.mjs} +0 -0
  262. package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
  263. package/esm2020/tabs/tab-body.component.mjs +178 -0
  264. package/{esm2015/tabs/tab-content.directive.js → esm2020/tabs/tab-content.directive.mjs} +4 -4
  265. package/esm2020/tabs/tab-group.component.mjs +350 -0
  266. package/esm2020/tabs/tab-header.component.mjs +67 -0
  267. package/{esm2015/tabs/tab-label-wrapper.directive.js → esm2020/tabs/tab-label-wrapper.directive.mjs} +4 -4
  268. package/{esm2015/tabs/tab-label.directive.js → esm2020/tabs/tab-label.directive.mjs} +4 -4
  269. package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
  270. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -0
  271. package/{esm2015/tabs/tab.component.js → esm2020/tabs/tab.component.mjs} +4 -4
  272. package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
  273. package/{esm2015/tabs/tabs.module.js → esm2020/tabs/tabs.module.mjs} +5 -5
  274. package/{esm2015/tags/index.js → esm2020/tags/index.mjs} +0 -0
  275. package/{esm2015/tags/ptsecurity-mosaic-tags.js → esm2020/tags/ptsecurity-mosaic-tags.mjs} +0 -0
  276. package/{esm2015/tags/public-api.js → esm2020/tags/public-api.mjs} +0 -0
  277. package/{esm2015/tags/tag-default-options.js → esm2020/tags/tag-default-options.mjs} +0 -0
  278. package/{esm2015/tags/tag-input.js → esm2020/tags/tag-input.mjs} +4 -4
  279. package/esm2020/tags/tag-list.component.mjs +722 -0
  280. package/{esm2015/tags/tag-text-control.js → esm2020/tags/tag-text-control.mjs} +0 -0
  281. package/esm2020/tags/tag.component.mjs +374 -0
  282. package/{esm2015/tags/tag.module.js → esm2020/tags/tag.module.mjs} +5 -5
  283. package/{esm2015/textarea/index.js → esm2020/textarea/index.mjs} +0 -0
  284. package/{esm2015/textarea/ptsecurity-mosaic-textarea.js → esm2020/textarea/ptsecurity-mosaic-textarea.mjs} +0 -0
  285. package/{esm2015/textarea/public-api.js → esm2020/textarea/public-api.mjs} +0 -0
  286. package/{esm2015/textarea/textarea.component.js → esm2020/textarea/textarea.component.mjs} +4 -4
  287. package/{esm2015/textarea/textarea.module.js → esm2020/textarea/textarea.module.mjs} +5 -5
  288. package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
  289. package/{esm2015/timepicker/ptsecurity-mosaic-timepicker.js → esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs} +0 -0
  290. package/{esm2015/timepicker/public-api.js → esm2020/timepicker/public-api.mjs} +0 -0
  291. package/{esm2015/timepicker/timepicker.constants.js → esm2020/timepicker/timepicker.constants.mjs} +0 -0
  292. package/esm2020/timepicker/timepicker.directive.mjs +653 -0
  293. package/{esm2015/timepicker/timepicker.module.js → esm2020/timepicker/timepicker.module.mjs} +5 -5
  294. package/{esm2015/toggle/index.js → esm2020/toggle/index.mjs} +0 -0
  295. package/{esm2015/toggle/ptsecurity-mosaic-toggle.js → esm2020/toggle/ptsecurity-mosaic-toggle.mjs} +0 -0
  296. package/{esm2015/toggle/public-api.js → esm2020/toggle/public-api.mjs} +0 -0
  297. package/esm2020/toggle/toggle.component.mjs +158 -0
  298. package/{esm2015/toggle/toggle.module.js → esm2020/toggle/toggle.module.mjs} +5 -5
  299. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  300. package/{esm2015/tooltip/ptsecurity-mosaic-tooltip.js → esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs} +0 -0
  301. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  302. package/{esm2015/tooltip/tooltip.animations.js → esm2020/tooltip/tooltip.animations.mjs} +0 -0
  303. package/esm2020/tooltip/tooltip.component.mjs +291 -0
  304. package/{esm2015/tooltip/tooltip.module.js → esm2020/tooltip/tooltip.module.mjs} +5 -5
  305. package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +0 -0
  306. package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +0 -0
  307. package/{esm2015/tree/control/nested-tree-control.js → esm2020/tree/control/nested-tree-control.mjs} +0 -0
  308. package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
  309. package/{esm2015/tree/data-source/flat-data-source.js → esm2020/tree/data-source/flat-data-source.mjs} +0 -0
  310. package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
  311. package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
  312. package/{esm2015/tree/node.js → esm2020/tree/node.mjs} +4 -4
  313. package/{esm2015/tree/outlet.js → esm2020/tree/outlet.mjs} +4 -4
  314. package/esm2020/tree/padding.directive.mjs +110 -0
  315. package/{esm2015/tree/ptsecurity-mosaic-tree.js → esm2020/tree/ptsecurity-mosaic-tree.mjs} +0 -0
  316. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  317. package/esm2020/tree/toggle.mjs +80 -0
  318. package/{esm2015/tree/tree-base.js → esm2020/tree/tree-base.mjs} +7 -7
  319. package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
  320. package/esm2020/tree/tree-option.component.mjs +226 -0
  321. package/esm2020/tree/tree-selection.component.mjs +530 -0
  322. package/esm2020/tree/tree.mjs +15 -0
  323. package/esm2020/tree/tree.module.mjs +53 -0
  324. package/{esm2015/tree-select/index.js → esm2020/tree-select/index.mjs} +0 -0
  325. package/{esm2015/tree-select/ptsecurity-mosaic-tree-select.js → esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs} +0 -0
  326. package/{esm2015/tree-select/public-api.js → esm2020/tree-select/public-api.mjs} +0 -0
  327. package/esm2020/tree-select/tree-select.component.mjs +889 -0
  328. package/{esm2015/tree-select/tree-select.module.js → esm2020/tree-select/tree-select.module.mjs} +5 -5
  329. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +756 -0
  330. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  331. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +385 -0
  332. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  333. package/fesm2015/ptsecurity-mosaic-button.mjs +170 -0
  334. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -0
  335. package/fesm2015/{ptsecurity-mosaic-card.js → ptsecurity-mosaic-card.mjs} +10 -18
  336. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -0
  337. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +366 -0
  338. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  339. package/fesm2015/{ptsecurity-mosaic-core.js → ptsecurity-mosaic-core.mjs} +186 -241
  340. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -0
  341. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2700 -0
  342. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  343. package/fesm2015/{ptsecurity-mosaic-design-tokens.js → ptsecurity-mosaic-design-tokens.mjs} +13 -11
  344. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  345. package/fesm2015/ptsecurity-mosaic-divider.mjs +61 -0
  346. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -0
  347. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1106 -0
  348. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  349. package/fesm2015/ptsecurity-mosaic-form-field.mjs +378 -0
  350. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -0
  351. package/fesm2015/ptsecurity-mosaic-icon.mjs +88 -0
  352. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -0
  353. package/fesm2015/ptsecurity-mosaic-input.mjs +609 -0
  354. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -0
  355. package/fesm2015/{ptsecurity-mosaic-link.js → ptsecurity-mosaic-link.mjs} +8 -8
  356. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -0
  357. package/fesm2015/ptsecurity-mosaic-list.mjs +796 -0
  358. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -0
  359. package/fesm2015/ptsecurity-mosaic-modal.mjs +842 -0
  360. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -0
  361. package/fesm2015/ptsecurity-mosaic-navbar.mjs +1025 -0
  362. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -0
  363. package/fesm2015/ptsecurity-mosaic-popover.mjs +393 -0
  364. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -0
  365. package/fesm2015/{ptsecurity-mosaic-progress-bar.js → ptsecurity-mosaic-progress-bar.mjs} +10 -18
  366. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  367. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  368. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  369. package/fesm2015/ptsecurity-mosaic-radio.mjs +481 -0
  370. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -0
  371. package/fesm2015/ptsecurity-mosaic-select.mjs +1175 -0
  372. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -0
  373. package/fesm2015/{ptsecurity-mosaic-sidebar.js → ptsecurity-mosaic-sidebar.mjs} +16 -25
  374. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  375. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +592 -0
  376. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  377. package/fesm2015/ptsecurity-mosaic-splitter.mjs +524 -0
  378. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -0
  379. package/fesm2015/{ptsecurity-mosaic-table.js → ptsecurity-mosaic-table.mjs} +8 -8
  380. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -0
  381. package/fesm2015/ptsecurity-mosaic-tabs.mjs +1511 -0
  382. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -0
  383. package/fesm2015/ptsecurity-mosaic-tags.mjs +1372 -0
  384. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -0
  385. package/fesm2015/ptsecurity-mosaic-textarea.mjs +293 -0
  386. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -0
  387. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +715 -0
  388. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  389. package/fesm2015/{ptsecurity-mosaic-toggle.js → ptsecurity-mosaic-toggle.mjs} +12 -23
  390. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -0
  391. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +362 -0
  392. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  393. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +932 -0
  394. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  395. package/fesm2015/ptsecurity-mosaic-tree.mjs +1707 -0
  396. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -0
  397. package/fesm2015/{ptsecurity-mosaic.js → ptsecurity-mosaic.mjs} +1 -1
  398. package/fesm2015/ptsecurity-mosaic.mjs.map +1 -0
  399. package/{fesm2015/ptsecurity-mosaic-autocomplete.js → fesm2020/ptsecurity-mosaic-autocomplete.mjs} +17 -26
  400. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  401. package/{fesm2015/ptsecurity-mosaic-button-toggle.js → fesm2020/ptsecurity-mosaic-button-toggle.mjs} +15 -23
  402. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  403. package/fesm2020/ptsecurity-mosaic-button.mjs +170 -0
  404. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -0
  405. package/fesm2020/ptsecurity-mosaic-card.mjs +113 -0
  406. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -0
  407. package/{fesm2015/ptsecurity-mosaic-checkbox.js → fesm2020/ptsecurity-mosaic-checkbox.mjs} +13 -23
  408. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  409. package/fesm2020/ptsecurity-mosaic-core.mjs +2688 -0
  410. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -0
  411. package/{fesm2015/ptsecurity-mosaic-datepicker.js → fesm2020/ptsecurity-mosaic-datepicker.mjs} +77 -121
  412. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  413. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +939 -0
  414. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  415. package/fesm2020/ptsecurity-mosaic-divider.mjs +61 -0
  416. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -0
  417. package/{fesm2015/ptsecurity-mosaic-dropdown.js → fesm2020/ptsecurity-mosaic-dropdown.mjs} +45 -53
  418. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  419. package/fesm2020/ptsecurity-mosaic-form-field.mjs +377 -0
  420. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -0
  421. package/fesm2020/ptsecurity-mosaic-icon.mjs +86 -0
  422. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -0
  423. package/{fesm2015/ptsecurity-mosaic-input.js → fesm2020/ptsecurity-mosaic-input.mjs} +41 -27
  424. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -0
  425. package/fesm2020/ptsecurity-mosaic-link.mjs +136 -0
  426. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -0
  427. package/{fesm2015/ptsecurity-mosaic-list.js → fesm2020/ptsecurity-mosaic-list.mjs} +41 -70
  428. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -0
  429. package/{fesm2015/ptsecurity-mosaic-modal.js → fesm2020/ptsecurity-mosaic-modal.mjs} +63 -59
  430. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -0
  431. package/fesm2020/ptsecurity-mosaic-navbar.mjs +1009 -0
  432. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -0
  433. package/fesm2020/ptsecurity-mosaic-popover.mjs +389 -0
  434. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -0
  435. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +76 -0
  436. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  437. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  438. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  439. package/{fesm2015/ptsecurity-mosaic-radio.js → fesm2020/ptsecurity-mosaic-radio.mjs} +13 -22
  440. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -0
  441. package/{fesm2015/ptsecurity-mosaic-select.js → fesm2020/ptsecurity-mosaic-select.mjs} +23 -35
  442. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -0
  443. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +202 -0
  444. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  445. package/{fesm2015/ptsecurity-mosaic-sidepanel.js → fesm2020/ptsecurity-mosaic-sidepanel.mjs} +57 -53
  446. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  447. package/fesm2020/ptsecurity-mosaic-splitter.mjs +524 -0
  448. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -0
  449. package/fesm2020/ptsecurity-mosaic-table.mjs +50 -0
  450. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -0
  451. package/{fesm2015/ptsecurity-mosaic-tabs.js → fesm2020/ptsecurity-mosaic-tabs.mjs} +65 -102
  452. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -0
  453. package/{fesm2015/ptsecurity-mosaic-tags.js → fesm2020/ptsecurity-mosaic-tags.mjs} +29 -47
  454. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -0
  455. package/{fesm2015/ptsecurity-mosaic-textarea.js → fesm2020/ptsecurity-mosaic-textarea.mjs} +8 -8
  456. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -0
  457. package/{fesm2015/ptsecurity-mosaic-timepicker.js → fesm2020/ptsecurity-mosaic-timepicker.mjs} +16 -15
  458. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  459. package/fesm2020/ptsecurity-mosaic-toggle.mjs +180 -0
  460. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -0
  461. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +354 -0
  462. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  463. package/{fesm2015/ptsecurity-mosaic-tree-select.js → fesm2020/ptsecurity-mosaic-tree-select.mjs} +16 -27
  464. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  465. package/{fesm2015/ptsecurity-mosaic-tree.js → fesm2020/ptsecurity-mosaic-tree.mjs} +61 -108
  466. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -0
  467. package/fesm2020/ptsecurity-mosaic.mjs +4 -0
  468. package/fesm2020/ptsecurity-mosaic.mjs.map +1 -0
  469. package/form-field/README.md +0 -0
  470. package/form-field/cleaner.d.ts +2 -0
  471. package/form-field/package.json +5 -5
  472. package/icon/README.md +0 -0
  473. package/icon/package.json +5 -5
  474. package/input/input-number-validators.d.ts +2 -2
  475. package/input/package.json +5 -5
  476. package/link/README.md +0 -0
  477. package/link/package.json +5 -5
  478. package/list/README.md +0 -0
  479. package/list/package.json +5 -5
  480. package/modal/README.md +34 -0
  481. package/modal/modal.component.d.ts +2 -0
  482. package/modal/modal.module.d.ts +1 -1
  483. package/modal/package.json +5 -5
  484. package/navbar/README.md +41 -0
  485. package/navbar/navbar-item.component.d.ts +122 -34
  486. package/navbar/navbar.component.d.ts +37 -9
  487. package/navbar/navbar.module.d.ts +2 -1
  488. package/navbar/package.json +5 -5
  489. package/navbar/vertical-navbar.component.d.ts +15 -26
  490. package/package.json +299 -14
  491. package/popover/README.md +32 -0
  492. package/popover/package.json +5 -5
  493. package/popover/popover-confirm.component.d.ts +33 -0
  494. package/popover/popover.component.d.ts +14 -4
  495. package/popover/popover.module.d.ts +6 -3
  496. package/popover/public-api.d.ts +1 -0
  497. package/prebuilt-themes/dark-theme.css +1 -1
  498. package/prebuilt-themes/default-theme.css +1 -1
  499. package/prebuilt-visual/default-visual.css +1 -1
  500. package/progress-bar/README.md +0 -0
  501. package/progress-bar/package.json +5 -5
  502. package/progress-spinner/README.md +0 -0
  503. package/progress-spinner/package.json +5 -5
  504. package/radio/package.json +5 -5
  505. package/schematics/README.md +35 -0
  506. package/schematics/ng-update/data/index.d.ts +1 -0
  507. package/schematics/ng-update/data/index.js +10 -9
  508. package/schematics/ng-update/data/index.js.map +1 -1
  509. package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
  510. package/schematics/ng-update/data/symbol-removal.js +5 -0
  511. package/schematics/ng-update/data/symbol-removal.js.map +1 -0
  512. package/schematics/ng-update/index.js +3 -3
  513. package/schematics/ng-update/index.js.map +1 -1
  514. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +1 -2
  515. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  516. package/schematics/ng-update/upgrade-data.js +2 -1
  517. package/schematics/ng-update/upgrade-data.js.map +1 -1
  518. package/schematics/tsconfig.lib.json +2 -2
  519. package/select/README.md +0 -0
  520. package/select/package.json +5 -5
  521. package/select/select.component.d.ts +2 -7
  522. package/sidebar/package.json +5 -5
  523. package/sidepanel/package.json +5 -5
  524. package/sidepanel/sidepanel-directives.d.ts +2 -0
  525. package/sidepanel/sidepanel.module.d.ts +2 -1
  526. package/splitter/package.json +5 -5
  527. package/splitter/splitter.component.d.ts +46 -5
  528. package/splitter/splitter.module.d.ts +1 -1
  529. package/table/README.md +0 -0
  530. package/table/package.json +5 -5
  531. package/tabs/README.md +0 -0
  532. package/tabs/package.json +5 -5
  533. package/tags/README.md +0 -0
  534. package/tags/package.json +5 -5
  535. package/textarea/README.md +0 -0
  536. package/textarea/package.json +5 -5
  537. package/timepicker/README.md +0 -0
  538. package/timepicker/package.json +5 -5
  539. package/toggle/package.json +5 -5
  540. package/tooltip/package.json +5 -5
  541. package/tooltip/tooltip.component.d.ts +12 -3
  542. package/tree/package.json +5 -5
  543. package/tree/padding.directive.d.ts +1 -1
  544. package/tree/tree-option.component.d.ts +1 -1
  545. package/tree/tree-selection.component.d.ts +2 -2
  546. package/tree/tree.module.d.ts +1 -1
  547. package/tree-select/README.md +0 -0
  548. package/tree-select/package.json +5 -5
  549. package/tree-select/tree-select.component.d.ts +2 -7
  550. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +0 -1162
  551. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +0 -1
  552. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +0 -757
  553. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +0 -1
  554. package/bundles/ptsecurity-mosaic-button.umd.js +0 -535
  555. package/bundles/ptsecurity-mosaic-button.umd.js.map +0 -1
  556. package/bundles/ptsecurity-mosaic-card.umd.js +0 -481
  557. package/bundles/ptsecurity-mosaic-card.umd.js.map +0 -1
  558. package/bundles/ptsecurity-mosaic-checkbox.umd.js +0 -764
  559. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +0 -1
  560. package/bundles/ptsecurity-mosaic-core.umd.js +0 -2887
  561. package/bundles/ptsecurity-mosaic-core.umd.js.map +0 -1
  562. package/bundles/ptsecurity-mosaic-datepicker.umd.js +0 -3357
  563. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +0 -1
  564. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +0 -1872
  565. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +0 -1
  566. package/bundles/ptsecurity-mosaic-divider.umd.js +0 -108
  567. package/bundles/ptsecurity-mosaic-divider.umd.js.map +0 -1
  568. package/bundles/ptsecurity-mosaic-dropdown.umd.js +0 -1519
  569. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +0 -1
  570. package/bundles/ptsecurity-mosaic-form-field.umd.js +0 -789
  571. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +0 -1
  572. package/bundles/ptsecurity-mosaic-icon.umd.js +0 -452
  573. package/bundles/ptsecurity-mosaic-icon.umd.js.map +0 -1
  574. package/bundles/ptsecurity-mosaic-input.umd.js +0 -996
  575. package/bundles/ptsecurity-mosaic-input.umd.js.map +0 -1
  576. package/bundles/ptsecurity-mosaic-link.umd.js +0 -517
  577. package/bundles/ptsecurity-mosaic-link.umd.js.map +0 -1
  578. package/bundles/ptsecurity-mosaic-list.umd.js +0 -1250
  579. package/bundles/ptsecurity-mosaic-list.umd.js.map +0 -1
  580. package/bundles/ptsecurity-mosaic-modal.umd.js +0 -1304
  581. package/bundles/ptsecurity-mosaic-modal.umd.js.map +0 -1
  582. package/bundles/ptsecurity-mosaic-navbar.umd.js +0 -932
  583. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +0 -1
  584. package/bundles/ptsecurity-mosaic-popover.umd.js +0 -655
  585. package/bundles/ptsecurity-mosaic-popover.umd.js.map +0 -1
  586. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +0 -442
  587. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +0 -1
  588. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +0 -450
  589. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +0 -1
  590. package/bundles/ptsecurity-mosaic-radio.umd.js +0 -903
  591. package/bundles/ptsecurity-mosaic-radio.umd.js.map +0 -1
  592. package/bundles/ptsecurity-mosaic-select.umd.js +0 -1608
  593. package/bundles/ptsecurity-mosaic-select.umd.js.map +0 -1
  594. package/bundles/ptsecurity-mosaic-sidebar.umd.js +0 -256
  595. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +0 -1
  596. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +0 -950
  597. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +0 -1
  598. package/bundles/ptsecurity-mosaic-splitter.umd.js +0 -438
  599. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +0 -1
  600. package/bundles/ptsecurity-mosaic-table.umd.js +0 -83
  601. package/bundles/ptsecurity-mosaic-table.umd.js.map +0 -1
  602. package/bundles/ptsecurity-mosaic-tabs.umd.js +0 -2015
  603. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +0 -1
  604. package/bundles/ptsecurity-mosaic-tags.umd.js +0 -1913
  605. package/bundles/ptsecurity-mosaic-tags.umd.js.map +0 -1
  606. package/bundles/ptsecurity-mosaic-textarea.umd.js +0 -666
  607. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +0 -1
  608. package/bundles/ptsecurity-mosaic-timepicker.umd.js +0 -822
  609. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +0 -1
  610. package/bundles/ptsecurity-mosaic-toggle.umd.js +0 -559
  611. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +0 -1
  612. package/bundles/ptsecurity-mosaic-tooltip.umd.js +0 -728
  613. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +0 -1
  614. package/bundles/ptsecurity-mosaic-tree-select.umd.js +0 -1370
  615. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +0 -1
  616. package/bundles/ptsecurity-mosaic-tree.umd.js +0 -2309
  617. package/bundles/ptsecurity-mosaic-tree.umd.js.map +0 -1
  618. package/bundles/ptsecurity-mosaic.umd.js +0 -11
  619. package/bundles/ptsecurity-mosaic.umd.js.map +0 -1
  620. package/esm2015/autocomplete/autocomplete.component.js +0 -163
  621. package/esm2015/button/button.component.js +0 -129
  622. package/esm2015/button/button.module.js +0 -42
  623. package/esm2015/button-toggle/button-toggle.component.js +0 -370
  624. package/esm2015/card/card.component.js +0 -88
  625. package/esm2015/checkbox/checkbox.js +0 -325
  626. package/esm2015/core/formatters/date/formatter.js +0 -287
  627. package/esm2015/core/formatters/date/templates/en-US.js +0 -280
  628. package/esm2015/core/formatters/date/templates/ru-RU.js +0 -280
  629. package/esm2015/core/formatters/number/formatter.js +0 -99
  630. package/esm2015/core/option/action.js +0 -131
  631. package/esm2015/core/option/optgroup.js +0 -40
  632. package/esm2015/core/option/option.js +0 -262
  633. package/esm2015/core/pop-up/pop-up-trigger.js +0 -273
  634. package/esm2015/core/pop-up/pop-up.js +0 -87
  635. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -45
  636. package/esm2015/datepicker/calendar-body.component.js +0 -114
  637. package/esm2015/datepicker/calendar.component.js +0 -377
  638. package/esm2015/datepicker/datepicker-input.directive.js +0 -885
  639. package/esm2015/datepicker/datepicker-toggle.component.js +0 -94
  640. package/esm2015/datepicker/datepicker.component.js +0 -418
  641. package/esm2015/dropdown/dropdown-item.component.js +0 -142
  642. package/esm2015/dropdown/dropdown-trigger.directive.js +0 -478
  643. package/esm2015/dropdown/dropdown.component.js +0 -302
  644. package/esm2015/form-field/cleaner.js +0 -19
  645. package/esm2015/form-field/form-field.js +0 -224
  646. package/esm2015/icon/icon.component.js +0 -51
  647. package/esm2015/input/input-number-validators.js +0 -78
  648. package/esm2015/link/link.component.js +0 -108
  649. package/esm2015/list/list-selection.component.js +0 -708
  650. package/esm2015/list/list.component.js +0 -58
  651. package/esm2015/modal/modal.component.js +0 -506
  652. package/esm2015/modal/modal.module.js +0 -70
  653. package/esm2015/modal/modal.service.js +0 -117
  654. package/esm2015/navbar/navbar-item.component.js +0 -209
  655. package/esm2015/navbar/navbar.component.js +0 -118
  656. package/esm2015/navbar/navbar.module.js +0 -76
  657. package/esm2015/navbar/vertical-navbar.component.js +0 -140
  658. package/esm2015/popover/popover.component.js +0 -219
  659. package/esm2015/popover/popover.module.js +0 -21
  660. package/esm2015/progress-bar/progress-bar.component.js +0 -50
  661. package/esm2015/progress-spinner/progress-spinner.component.js +0 -54
  662. package/esm2015/radio/radio.component.js +0 -467
  663. package/esm2015/select/select.component.js +0 -1122
  664. package/esm2015/sidebar/sidebar.component.js +0 -155
  665. package/esm2015/sidepanel/sidepanel-container.component.js +0 -113
  666. package/esm2015/sidepanel/sidepanel-directives.js +0 -155
  667. package/esm2015/sidepanel/sidepanel.module.js +0 -70
  668. package/esm2015/sidepanel/sidepanel.service.js +0 -163
  669. package/esm2015/splitter/splitter.component.js +0 -331
  670. package/esm2015/splitter/splitter.module.js +0 -38
  671. package/esm2015/tabs/paginated-tab-header.js +0 -482
  672. package/esm2015/tabs/tab-body.component.js +0 -186
  673. package/esm2015/tabs/tab-group.component.js +0 -359
  674. package/esm2015/tabs/tab-header.component.js +0 -76
  675. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -118
  676. package/esm2015/tags/tag-list.component.js +0 -732
  677. package/esm2015/tags/tag.component.js +0 -382
  678. package/esm2015/timepicker/timepicker.directive.js +0 -652
  679. package/esm2015/toggle/toggle.component.js +0 -169
  680. package/esm2015/tooltip/tooltip.component.js +0 -260
  681. package/esm2015/tree/padding.directive.js +0 -114
  682. package/esm2015/tree/toggle.js +0 -89
  683. package/esm2015/tree/tree-option.component.js +0 -238
  684. package/esm2015/tree/tree-selection.component.js +0 -541
  685. package/esm2015/tree/tree.js +0 -23
  686. package/esm2015/tree/tree.module.js +0 -56
  687. package/esm2015/tree-select/tree-select.component.js +0 -900
  688. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +0 -1
  689. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +0 -1
  690. package/fesm2015/ptsecurity-mosaic-button.js +0 -174
  691. package/fesm2015/ptsecurity-mosaic-button.js.map +0 -1
  692. package/fesm2015/ptsecurity-mosaic-card.js.map +0 -1
  693. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +0 -1
  694. package/fesm2015/ptsecurity-mosaic-core.js.map +0 -1
  695. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +0 -1
  696. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +0 -1
  697. package/fesm2015/ptsecurity-mosaic-divider.js +0 -68
  698. package/fesm2015/ptsecurity-mosaic-divider.js.map +0 -1
  699. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +0 -1
  700. package/fesm2015/ptsecurity-mosaic-form-field.js +0 -393
  701. package/fesm2015/ptsecurity-mosaic-form-field.js.map +0 -1
  702. package/fesm2015/ptsecurity-mosaic-icon.js +0 -93
  703. package/fesm2015/ptsecurity-mosaic-icon.js.map +0 -1
  704. package/fesm2015/ptsecurity-mosaic-input.js.map +0 -1
  705. package/fesm2015/ptsecurity-mosaic-link.js.map +0 -1
  706. package/fesm2015/ptsecurity-mosaic-list.js.map +0 -1
  707. package/fesm2015/ptsecurity-mosaic-modal.js.map +0 -1
  708. package/fesm2015/ptsecurity-mosaic-navbar.js +0 -539
  709. package/fesm2015/ptsecurity-mosaic-navbar.js.map +0 -1
  710. package/fesm2015/ptsecurity-mosaic-popover.js +0 -257
  711. package/fesm2015/ptsecurity-mosaic-popover.js.map +0 -1
  712. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +0 -1
  713. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +0 -88
  714. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +0 -1
  715. package/fesm2015/ptsecurity-mosaic-radio.js.map +0 -1
  716. package/fesm2015/ptsecurity-mosaic-select.js.map +0 -1
  717. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +0 -1
  718. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +0 -1
  719. package/fesm2015/ptsecurity-mosaic-splitter.js +0 -373
  720. package/fesm2015/ptsecurity-mosaic-splitter.js.map +0 -1
  721. package/fesm2015/ptsecurity-mosaic-table.js.map +0 -1
  722. package/fesm2015/ptsecurity-mosaic-tabs.js.map +0 -1
  723. package/fesm2015/ptsecurity-mosaic-tags.js.map +0 -1
  724. package/fesm2015/ptsecurity-mosaic-textarea.js.map +0 -1
  725. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +0 -1
  726. package/fesm2015/ptsecurity-mosaic-toggle.js.map +0 -1
  727. package/fesm2015/ptsecurity-mosaic-tooltip.js +0 -323
  728. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +0 -1
  729. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +0 -1
  730. package/fesm2015/ptsecurity-mosaic-tree.js.map +0 -1
  731. package/fesm2015/ptsecurity-mosaic.js.map +0 -1
@@ -1,2015 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/portal'), require('@angular/common'), require('@angular/core'), require('@ptsecurity/mosaic/core'), require('@ptsecurity/mosaic/icon'), require('@ptsecurity/mosaic/tooltip'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/platform-browser/animations'), require('@angular/cdk/keycodes'), require('@angular/cdk/platform'), require('@ptsecurity/cdk/keycodes'), require('@angular/cdk/scrolling')) :
3
- typeof define === 'function' && define.amd ? define('@ptsecurity/mosaic/tabs', ['exports', '@angular/cdk/a11y', '@angular/cdk/portal', '@angular/common', '@angular/core', '@ptsecurity/mosaic/core', '@ptsecurity/mosaic/icon', '@ptsecurity/mosaic/tooltip', 'rxjs', 'rxjs/operators', '@angular/animations', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/platform-browser/animations', '@angular/cdk/keycodes', '@angular/cdk/platform', '@ptsecurity/cdk/keycodes', '@angular/cdk/scrolling'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ptsecurity = global.ptsecurity || {}, global.ptsecurity.mosaic = global.ptsecurity.mosaic || {}, global.ptsecurity.mosaic.tabs = {}), global.ng.cdk.a11y, global.ng.cdk.portal, global.ng.common, global.ng.core, global.ptsecurity.mosaic.core, global.ptsecurity.mosaic.icon, global.ptsecurity.mosaic.tooltip, global.rxjs, global.rxjs.operators, global.ng.animations, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.platformBrowser.animations, global.ng.cdk.keycodes, global.ng.cdk.platform, global.mc.cdk.keycodes, global.ng.cdk.scrolling));
5
- }(this, (function (exports, i1, i7, i3$1, i0, core, i4, i6, rxjs, operators, animations, i3, coercion, animations$1, keycodes, i2, keycodes$1, i1$1) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () {
17
- return e[k];
18
- }
19
- });
20
- }
21
- });
22
- }
23
- n['default'] = e;
24
- return Object.freeze(n);
25
- }
26
-
27
- var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1);
28
- var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
29
- var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
30
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
31
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
32
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
33
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
34
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
35
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
36
-
37
- /*! *****************************************************************************
38
- Copyright (c) Microsoft Corporation.
39
-
40
- Permission to use, copy, modify, and/or distribute this software for any
41
- purpose with or without fee is hereby granted.
42
-
43
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
44
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
45
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
46
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
47
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
48
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
49
- PERFORMANCE OF THIS SOFTWARE.
50
- ***************************************************************************** */
51
- /* global Reflect, Promise */
52
- var extendStatics = function (d, b) {
53
- extendStatics = Object.setPrototypeOf ||
54
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
55
- function (d, b) { for (var p in b)
56
- if (Object.prototype.hasOwnProperty.call(b, p))
57
- d[p] = b[p]; };
58
- return extendStatics(d, b);
59
- };
60
- function __extends(d, b) {
61
- if (typeof b !== "function" && b !== null)
62
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
63
- extendStatics(d, b);
64
- function __() { this.constructor = d; }
65
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
66
- }
67
- var __assign = function () {
68
- __assign = Object.assign || function __assign(t) {
69
- for (var s, i = 1, n = arguments.length; i < n; i++) {
70
- s = arguments[i];
71
- for (var p in s)
72
- if (Object.prototype.hasOwnProperty.call(s, p))
73
- t[p] = s[p];
74
- }
75
- return t;
76
- };
77
- return __assign.apply(this, arguments);
78
- };
79
- function __rest(s, e) {
80
- var t = {};
81
- for (var p in s)
82
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
83
- t[p] = s[p];
84
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
85
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
86
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
87
- t[p[i]] = s[p[i]];
88
- }
89
- return t;
90
- }
91
- function __decorate(decorators, target, key, desc) {
92
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
93
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
94
- r = Reflect.decorate(decorators, target, key, desc);
95
- else
96
- for (var i = decorators.length - 1; i >= 0; i--)
97
- if (d = decorators[i])
98
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
99
- return c > 3 && r && Object.defineProperty(target, key, r), r;
100
- }
101
- function __param(paramIndex, decorator) {
102
- return function (target, key) { decorator(target, key, paramIndex); };
103
- }
104
- function __metadata(metadataKey, metadataValue) {
105
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
106
- return Reflect.metadata(metadataKey, metadataValue);
107
- }
108
- function __awaiter(thisArg, _arguments, P, generator) {
109
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
110
- return new (P || (P = Promise))(function (resolve, reject) {
111
- function fulfilled(value) { try {
112
- step(generator.next(value));
113
- }
114
- catch (e) {
115
- reject(e);
116
- } }
117
- function rejected(value) { try {
118
- step(generator["throw"](value));
119
- }
120
- catch (e) {
121
- reject(e);
122
- } }
123
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
124
- step((generator = generator.apply(thisArg, _arguments || [])).next());
125
- });
126
- }
127
- function __generator(thisArg, body) {
128
- var _ = { label: 0, sent: function () { if (t[0] & 1)
129
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
130
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
131
- function verb(n) { return function (v) { return step([n, v]); }; }
132
- function step(op) {
133
- if (f)
134
- throw new TypeError("Generator is already executing.");
135
- while (_)
136
- try {
137
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
138
- return t;
139
- if (y = 0, t)
140
- op = [op[0] & 2, t.value];
141
- switch (op[0]) {
142
- case 0:
143
- case 1:
144
- t = op;
145
- break;
146
- case 4:
147
- _.label++;
148
- return { value: op[1], done: false };
149
- case 5:
150
- _.label++;
151
- y = op[1];
152
- op = [0];
153
- continue;
154
- case 7:
155
- op = _.ops.pop();
156
- _.trys.pop();
157
- continue;
158
- default:
159
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
160
- _ = 0;
161
- continue;
162
- }
163
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
164
- _.label = op[1];
165
- break;
166
- }
167
- if (op[0] === 6 && _.label < t[1]) {
168
- _.label = t[1];
169
- t = op;
170
- break;
171
- }
172
- if (t && _.label < t[2]) {
173
- _.label = t[2];
174
- _.ops.push(op);
175
- break;
176
- }
177
- if (t[2])
178
- _.ops.pop();
179
- _.trys.pop();
180
- continue;
181
- }
182
- op = body.call(thisArg, _);
183
- }
184
- catch (e) {
185
- op = [6, e];
186
- y = 0;
187
- }
188
- finally {
189
- f = t = 0;
190
- }
191
- if (op[0] & 5)
192
- throw op[1];
193
- return { value: op[0] ? op[1] : void 0, done: true };
194
- }
195
- }
196
- var __createBinding = Object.create ? (function (o, m, k, k2) {
197
- if (k2 === undefined)
198
- k2 = k;
199
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
200
- }) : (function (o, m, k, k2) {
201
- if (k2 === undefined)
202
- k2 = k;
203
- o[k2] = m[k];
204
- });
205
- function __exportStar(m, o) {
206
- for (var p in m)
207
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
208
- __createBinding(o, m, p);
209
- }
210
- function __values(o) {
211
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
212
- if (m)
213
- return m.call(o);
214
- if (o && typeof o.length === "number")
215
- return {
216
- next: function () {
217
- if (o && i >= o.length)
218
- o = void 0;
219
- return { value: o && o[i++], done: !o };
220
- }
221
- };
222
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
223
- }
224
- function __read(o, n) {
225
- var m = typeof Symbol === "function" && o[Symbol.iterator];
226
- if (!m)
227
- return o;
228
- var i = m.call(o), r, ar = [], e;
229
- try {
230
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
231
- ar.push(r.value);
232
- }
233
- catch (error) {
234
- e = { error: error };
235
- }
236
- finally {
237
- try {
238
- if (r && !r.done && (m = i["return"]))
239
- m.call(i);
240
- }
241
- finally {
242
- if (e)
243
- throw e.error;
244
- }
245
- }
246
- return ar;
247
- }
248
- /** @deprecated */
249
- function __spread() {
250
- for (var ar = [], i = 0; i < arguments.length; i++)
251
- ar = ar.concat(__read(arguments[i]));
252
- return ar;
253
- }
254
- /** @deprecated */
255
- function __spreadArrays() {
256
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
257
- s += arguments[i].length;
258
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
259
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
260
- r[k] = a[j];
261
- return r;
262
- }
263
- function __spreadArray(to, from, pack) {
264
- if (pack || arguments.length === 2)
265
- for (var i = 0, l = from.length, ar; i < l; i++) {
266
- if (ar || !(i in from)) {
267
- if (!ar)
268
- ar = Array.prototype.slice.call(from, 0, i);
269
- ar[i] = from[i];
270
- }
271
- }
272
- return to.concat(ar || Array.prototype.slice.call(from));
273
- }
274
- function __await(v) {
275
- return this instanceof __await ? (this.v = v, this) : new __await(v);
276
- }
277
- function __asyncGenerator(thisArg, _arguments, generator) {
278
- if (!Symbol.asyncIterator)
279
- throw new TypeError("Symbol.asyncIterator is not defined.");
280
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
281
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
282
- function verb(n) { if (g[n])
283
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
284
- function resume(n, v) { try {
285
- step(g[n](v));
286
- }
287
- catch (e) {
288
- settle(q[0][3], e);
289
- } }
290
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
291
- function fulfill(value) { resume("next", value); }
292
- function reject(value) { resume("throw", value); }
293
- function settle(f, v) { if (f(v), q.shift(), q.length)
294
- resume(q[0][0], q[0][1]); }
295
- }
296
- function __asyncDelegator(o) {
297
- var i, p;
298
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
299
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
300
- }
301
- function __asyncValues(o) {
302
- if (!Symbol.asyncIterator)
303
- throw new TypeError("Symbol.asyncIterator is not defined.");
304
- var m = o[Symbol.asyncIterator], i;
305
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
306
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
307
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
308
- }
309
- function __makeTemplateObject(cooked, raw) {
310
- if (Object.defineProperty) {
311
- Object.defineProperty(cooked, "raw", { value: raw });
312
- }
313
- else {
314
- cooked.raw = raw;
315
- }
316
- return cooked;
317
- }
318
- ;
319
- var __setModuleDefault = Object.create ? (function (o, v) {
320
- Object.defineProperty(o, "default", { enumerable: true, value: v });
321
- }) : function (o, v) {
322
- o["default"] = v;
323
- };
324
- function __importStar(mod) {
325
- if (mod && mod.__esModule)
326
- return mod;
327
- var result = {};
328
- if (mod != null)
329
- for (var k in mod)
330
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
331
- __createBinding(result, mod, k);
332
- __setModuleDefault(result, mod);
333
- return result;
334
- }
335
- function __importDefault(mod) {
336
- return (mod && mod.__esModule) ? mod : { default: mod };
337
- }
338
- function __classPrivateFieldGet(receiver, state, kind, f) {
339
- if (kind === "a" && !f)
340
- throw new TypeError("Private accessor was defined without a getter");
341
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
342
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
343
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
344
- }
345
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
346
- if (kind === "m")
347
- throw new TypeError("Private method is not writable");
348
- if (kind === "a" && !f)
349
- throw new TypeError("Private accessor was defined without a setter");
350
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
351
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
352
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
353
- }
354
-
355
- var mcTabsAnimations = {
356
- /** Animation translates a tab along the X axis. */
357
- translateTab: animations.trigger('translateTab', [
358
- // Note: transitions to `none` instead of 0, because some browsers might blur the content.
359
- animations.state('center, void, left-origin-center, right-origin-center', animations.style({ transform: 'none' })),
360
- // If the tab is either on the left or right, we additionally add a `min-height` of 1px
361
- // in order to ensure that the element has a height before its state changes. This is
362
- // necessary because Chrome does seem to skip the transition in RTL mode if the element does
363
- // not have a static height and is not rendered. See related issue: #9465
364
- animations.state('left', animations.style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
365
- animations.state('right', animations.style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
366
- animations.transition('* => left, * => right, left => center, right => center', animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
367
- animations.transition('void => left-origin-center', [
368
- animations.style({ transform: 'translate3d(-100%, 0, 0)' }),
369
- animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
370
- ]),
371
- animations.transition('void => right-origin-center', [
372
- animations.style({ transform: 'translate3d(100%, 0, 0)' }),
373
- animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
374
- ])
375
- ])
376
- };
377
-
378
- /**
379
- * Wrapper for the contents of a tab.
380
- * @docs-private
381
- */
382
- var McTabBody = /** @class */ (function () {
383
- function McTabBody(elementRef, dir, changeDetectorRef) {
384
- var _this = this;
385
- this.elementRef = elementRef;
386
- this.dir = dir;
387
- /** Event emitted when the tab begins to animate towards the center as the active tab. */
388
- this.onCentering = new i0.EventEmitter();
389
- /** Event emitted before the centering of the tab begins. */
390
- this.beforeCentering = new i0.EventEmitter();
391
- /** Event emitted before the centering of the tab begins. */
392
- this.afterLeavingCenter = new i0.EventEmitter();
393
- /** Event emitted when the tab completes its animation towards the center. */
394
- this.onCentered = new i0.EventEmitter(true);
395
- // Note that the default value will always be overwritten by `McTabBody`, but we need one
396
- // anyway to prevent the animations module from throwing an error if the body is used on its own.
397
- /** Duration for the tab's animation. */
398
- this.animationDuration = '0ms';
399
- /** Subscription to the directionality change observable. */
400
- this.dirChangeSubscription = rxjs.Subscription.EMPTY;
401
- if (this.dir && changeDetectorRef) {
402
- this.dirChangeSubscription = this.dir.change
403
- .subscribe(function (direction) {
404
- _this.computePositionAnimationState(direction);
405
- changeDetectorRef.markForCheck();
406
- });
407
- }
408
- }
409
- Object.defineProperty(McTabBody.prototype, "position", {
410
- /** The shifted index position of the tab body, where zero represents the active center tab. */
411
- set: function (position) {
412
- this.positionIndex = position;
413
- this.computePositionAnimationState();
414
- },
415
- enumerable: false,
416
- configurable: true
417
- });
418
- /**
419
- * After initialized, check if the content is centered and has an origin. If so, set the
420
- * special position states that transition the tab from the left or right before centering.
421
- */
422
- McTabBody.prototype.ngOnInit = function () {
423
- if (this.bodyPosition === 'center' && this.origin != null) {
424
- this.bodyPosition = this.computePositionFromOrigin();
425
- }
426
- };
427
- McTabBody.prototype.ngOnDestroy = function () {
428
- this.dirChangeSubscription.unsubscribe();
429
- };
430
- McTabBody.prototype.onTranslateTabStarted = function (e) {
431
- var isCentering = this.isCenterPosition(e.toState);
432
- this.beforeCentering.emit(isCentering);
433
- if (isCentering) {
434
- this.onCentering.emit(this.elementRef.nativeElement.clientHeight);
435
- }
436
- };
437
- McTabBody.prototype.onTranslateTabComplete = function (e) {
438
- // If the transition to the center is complete, emit an event.
439
- if (this.isCenterPosition(e.toState) && this.isCenterPosition(this.bodyPosition)) {
440
- this.onCentered.emit();
441
- }
442
- if (this.isCenterPosition(e.fromState) && !this.isCenterPosition(this.bodyPosition)) {
443
- this.afterLeavingCenter.emit();
444
- }
445
- };
446
- /** The text direction of the containing app. */
447
- McTabBody.prototype.getLayoutDirection = function () {
448
- return this.dir && this.dir.value === 'rtl' ? 'rtl' : 'ltr';
449
- };
450
- /** Whether the provided position state is considered center, regardless of origin. */
451
- McTabBody.prototype.isCenterPosition = function (position) {
452
- return position === 'center' || position === 'left-origin-center' || position === 'right-origin-center';
453
- };
454
- /** Computes the position state that will be used for the tab-body animation trigger. */
455
- McTabBody.prototype.computePositionAnimationState = function (dir) {
456
- if (dir === void 0) { dir = this.getLayoutDirection(); }
457
- if (this.positionIndex < 0) {
458
- this.bodyPosition = dir === 'ltr' ? 'left' : 'right';
459
- }
460
- else if (this.positionIndex > 0) {
461
- this.bodyPosition = dir === 'ltr' ? 'right' : 'left';
462
- }
463
- else {
464
- this.bodyPosition = 'center';
465
- }
466
- };
467
- /**
468
- * Computes the position state based on the specified origin position. This is used if the
469
- * tab is becoming visible immediately after creation.
470
- */
471
- McTabBody.prototype.computePositionFromOrigin = function () {
472
- var dir = this.getLayoutDirection();
473
- if ((dir === 'ltr' && this.origin <= 0) || (dir === 'rtl' && this.origin > 0)) {
474
- return 'left-origin-center';
475
- }
476
- return 'right-origin-center';
477
- };
478
- return McTabBody;
479
- }());
480
- /** @nocollapse */ McTabBody.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabBody, deps: [{ token: i0__namespace.ElementRef }, { token: i3__namespace.Directionality, optional: true }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
481
- /** @nocollapse */ McTabBody.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabBody, selector: "mc-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "mc-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: i7.CdkPortalOutlet, descendants: true }], ngImport: i0__namespace, 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__namespace.forwardRef(function () { return McTabBodyPortal; }), selector: "[mcTabBodyHost]" }], animations: [mcTabsAnimations.translateTab], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
482
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabBody, decorators: [{
483
- type: i0.Component,
484
- args: [{
485
- selector: 'mc-tab-body',
486
- templateUrl: 'tab-body.html',
487
- styleUrls: ['tab-body.scss'],
488
- encapsulation: i0.ViewEncapsulation.None,
489
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
490
- animations: [mcTabsAnimations.translateTab],
491
- host: {
492
- class: 'mc-tab-body'
493
- }
494
- }]
495
- }], ctorParameters: function () {
496
- return [{ type: i0__namespace.ElementRef }, { type: i3__namespace.Directionality, decorators: [{
497
- type: i0.Optional
498
- }] }, { type: i0__namespace.ChangeDetectorRef }];
499
- }, propDecorators: { position: [{
500
- type: i0.Input
501
- }], onCentering: [{
502
- type: i0.Output
503
- }], beforeCentering: [{
504
- type: i0.Output
505
- }], afterLeavingCenter: [{
506
- type: i0.Output
507
- }], onCentered: [{
508
- type: i0.Output
509
- }], portalHost: [{
510
- type: i0.ViewChild,
511
- args: [i7.CdkPortalOutlet, { static: false }]
512
- }], content: [{
513
- type: i0.Input,
514
- args: ['content']
515
- }], origin: [{
516
- type: i0.Input
517
- }], animationDuration: [{
518
- type: i0.Input
519
- }] } });
520
- /**
521
- * The portal host directive for the contents of the tab.
522
- * @docs-private
523
- */
524
- var McTabBodyPortal = /** @class */ (function (_super) {
525
- __extends(McTabBodyPortal, _super);
526
- function McTabBodyPortal(componentFactoryResolver, viewContainerRef, host) {
527
- var _this = _super.call(this, componentFactoryResolver, viewContainerRef) || this;
528
- _this.host = host;
529
- /** Subscription to events for when the tab body begins centering. */
530
- _this.centeringSub = rxjs.Subscription.EMPTY;
531
- /** Subscription to events for when the tab body finishes leaving from center position. */
532
- _this.leavingSub = rxjs.Subscription.EMPTY;
533
- return _this;
534
- }
535
- /** Set initial visibility or set up subscription for changing visibility. */
536
- McTabBodyPortal.prototype.ngOnInit = function () {
537
- var _this = this;
538
- _super.prototype.ngOnInit.call(this);
539
- this.centeringSub = this.host.beforeCentering
540
- .pipe(operators.startWith(this.host.isCenterPosition(this.host.bodyPosition)))
541
- .subscribe(function (isCentering) {
542
- if (isCentering && !_this.hasAttached()) {
543
- _this.attach(_this.host.content);
544
- }
545
- });
546
- this.leavingSub = this.host.afterLeavingCenter
547
- .subscribe(function () { _this.detach(); });
548
- };
549
- /** Clean up centering subscription. */
550
- McTabBodyPortal.prototype.ngOnDestroy = function () {
551
- _super.prototype.ngOnDestroy.call(this);
552
- this.centeringSub.unsubscribe();
553
- this.leavingSub.unsubscribe();
554
- };
555
- return McTabBodyPortal;
556
- }(i7.CdkPortalOutlet));
557
- /** @nocollapse */ McTabBodyPortal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabBodyPortal, deps: [{ token: i0__namespace.ComponentFactoryResolver }, { token: i0__namespace.ViewContainerRef }, { token: i0.forwardRef(function () { return McTabBody; }) }], target: i0__namespace.ɵɵFactoryTarget.Directive });
558
- /** @nocollapse */ McTabBodyPortal.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabBodyPortal, selector: "[mcTabBodyHost]", usesInheritance: true, ngImport: i0__namespace });
559
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabBodyPortal, decorators: [{
560
- type: i0.Directive,
561
- args: [{
562
- selector: '[mcTabBodyHost]'
563
- }]
564
- }], ctorParameters: function () {
565
- return [{ type: i0__namespace.ComponentFactoryResolver }, { type: i0__namespace.ViewContainerRef }, { type: McTabBody, decorators: [{
566
- type: i0.Inject,
567
- args: [i0.forwardRef(function () { return McTabBody; })]
568
- }] }];
569
- } });
570
-
571
- /** Decorates the `ng-template` tags and reads out the template from it. */
572
- var McTabContent = /** @class */ (function () {
573
- function McTabContent(template) {
574
- this.template = template;
575
- }
576
- return McTabContent;
577
- }());
578
- /** @nocollapse */ McTabContent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabContent, deps: [{ token: i0__namespace.TemplateRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
579
- /** @nocollapse */ McTabContent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabContent, selector: "[mcTabContent]", ngImport: i0__namespace });
580
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabContent, decorators: [{
581
- type: i0.Directive,
582
- args: [{ selector: '[mcTabContent]' }]
583
- }], ctorParameters: function () { return [{ type: i0__namespace.TemplateRef }]; } });
584
-
585
- var MC_TAB_LABEL = new i0.InjectionToken('McTabLabel');
586
- /** Used to flag tab labels for use with the portal directive */
587
- var McTabLabel = /** @class */ (function (_super) {
588
- __extends(McTabLabel, _super);
589
- function McTabLabel() {
590
- return _super !== null && _super.apply(this, arguments) || this;
591
- }
592
- return McTabLabel;
593
- }(i7.CdkPortal));
594
- /** @nocollapse */ McTabLabel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLabel, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
595
- /** @nocollapse */ McTabLabel.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McTabLabel, selector: "[mc-tab-label], [mcTabLabel]", providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }], usesInheritance: true, ngImport: i0__namespace });
596
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLabel, decorators: [{
597
- type: i0.Directive,
598
- args: [{
599
- selector: '[mc-tab-label], [mcTabLabel]',
600
- providers: [{ provide: MC_TAB_LABEL, useExisting: McTabLabel }]
601
- }]
602
- }] });
603
-
604
- var McTabBase = /** @class */ (function () {
605
- function McTabBase() {
606
- }
607
- return McTabBase;
608
- }());
609
- // tslint:disable-next-line:naming-convention
610
- var McTabMixinBase = core.mixinDisabled(McTabBase);
611
- var McTab = /** @class */ (function (_super) {
612
- __extends(McTab, _super);
613
- function McTab(viewContainerRef) {
614
- var _this = _super.call(this) || this;
615
- _this.viewContainerRef = viewContainerRef;
616
- _this._tooltipTitle = '';
617
- _this.tooltipPlacement = core.PopUpPlacements.Right;
618
- /** Plain text label for the tab, used when there is no template label. */
619
- _this.textLabel = '';
620
- _this.empty = false;
621
- /** Emits whenever the internal state of the tab changes. */
622
- _this.stateChanges = new rxjs.Subject();
623
- /**
624
- * The relatively indexed position where 0 represents the center, negative is left, and positive
625
- * represents the right.
626
- */
627
- _this.position = null;
628
- /**
629
- * The initial relatively index origin of the tab if it was created and selected after there
630
- * was already a selected tab. Provides context of what position the tab should originate from.
631
- */
632
- _this.origin = null;
633
- /**
634
- * Whether the tab is currently active.
635
- */
636
- _this.isActive = false;
637
- _this._overflowTooltipTitle = '';
638
- /** Portal that will be the hosted content of the tab */
639
- _this.contentPortal = null;
640
- return _this;
641
- }
642
- Object.defineProperty(McTab.prototype, "content", {
643
- /** @docs-private */
644
- get: function () {
645
- return this.contentPortal;
646
- },
647
- enumerable: false,
648
- configurable: true
649
- });
650
- Object.defineProperty(McTab.prototype, "templateLabel", {
651
- get: function () {
652
- return this._templateLabel;
653
- },
654
- set: function (value) {
655
- this.setTemplateLabelInput(value);
656
- },
657
- enumerable: false,
658
- configurable: true
659
- });
660
- Object.defineProperty(McTab.prototype, "tooltipTitle", {
661
- get: function () {
662
- return this.overflowTooltipTitle + this._tooltipTitle;
663
- },
664
- set: function (value) {
665
- this._tooltipTitle = value;
666
- },
667
- enumerable: false,
668
- configurable: true
669
- });
670
- Object.defineProperty(McTab.prototype, "isOverflown", {
671
- get: function () {
672
- return !!this._overflowTooltipTitle;
673
- },
674
- enumerable: false,
675
- configurable: true
676
- });
677
- Object.defineProperty(McTab.prototype, "overflowTooltipTitle", {
678
- get: function () {
679
- if (this.isOverflown) {
680
- return this._overflowTooltipTitle + "\n";
681
- }
682
- return '';
683
- },
684
- set: function (value) {
685
- this._overflowTooltipTitle = value;
686
- },
687
- enumerable: false,
688
- configurable: true
689
- });
690
- McTab.prototype.ngOnChanges = function (changes) {
691
- if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {
692
- this.stateChanges.next();
693
- }
694
- };
695
- McTab.prototype.ngOnDestroy = function () {
696
- this.stateChanges.complete();
697
- };
698
- McTab.prototype.ngOnInit = function () {
699
- this.contentPortal = new i7.TemplatePortal(this.explicitContent || this.implicitContent, this.viewContainerRef);
700
- };
701
- /**
702
- * This has been extracted to a util because of TS 4 and VE.
703
- * View Engine doesn't support property rename inheritance.
704
- * TS 4.0 doesn't allow properties to override accessors or vice-versa.
705
- * @docs-private
706
- */
707
- McTab.prototype.setTemplateLabelInput = function (value) {
708
- // Only update the templateLabel via query if there is actually
709
- // a McTabLabel found. This works around an issue where a user may have
710
- // manually set `templateLabel` during creation mode, which would then get clobbered
711
- // by `undefined` when this query resolves.
712
- if (value) {
713
- this._templateLabel = value;
714
- }
715
- };
716
- return McTab;
717
- }(McTabMixinBase));
718
- /** @nocollapse */ McTab.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTab, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
719
- /** @nocollapse */ McTab.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", 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: i0.TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: i0.TemplateRef, descendants: true, static: true }], exportAs: ["mcTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
720
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTab, decorators: [{
721
- type: i0.Component,
722
- args: [{
723
- selector: 'mc-tab',
724
- exportAs: 'mcTab',
725
- // Create a template for the content of the <mc-tab> so that we can grab a reference to this
726
- // TemplateRef and use it in a Portal to render the tab content in the appropriate place in the
727
- // tab-group.
728
- template: '<ng-template><ng-content></ng-content></ng-template>',
729
- inputs: ['disabled'],
730
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
731
- encapsulation: i0.ViewEncapsulation.None
732
- }]
733
- }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { templateLabel: [{
734
- type: i0.ContentChild,
735
- args: [MC_TAB_LABEL]
736
- }], explicitContent: [{
737
- type: i0.ContentChild,
738
- args: [McTabContent, { read: i0.TemplateRef, static: true }]
739
- }], implicitContent: [{
740
- type: i0.ViewChild,
741
- args: [i0.TemplateRef, { static: true }]
742
- }], tooltipTitle: [{
743
- type: i0.Input
744
- }], tooltipPlacement: [{
745
- type: i0.Input
746
- }], textLabel: [{
747
- type: i0.Input,
748
- args: ['label']
749
- }], empty: [{
750
- type: i0.Input
751
- }], tabId: [{
752
- type: i0.Input,
753
- args: ['tabId']
754
- }] } });
755
-
756
- /* tslint:disable:naming-convention */
757
- /** Config used to bind passive event listeners */
758
- var passiveEventListenerOptions = i2.normalizePassiveListenerOptions({ passive: true });
759
- /**
760
- * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
761
- * provide a small affordance to the label next to it.
762
- */
763
- var EXAGGERATED_OVERSCROLL = 60;
764
- /**
765
- * Amount of milliseconds to wait before starting to scroll the header automatically.
766
- * Set a little conservatively in order to handle fake events dispatched on touch devices.
767
- */
768
- var HEADER_SCROLL_DELAY = 650;
769
- /**
770
- * Interval in milliseconds at which to scroll the header
771
- * while the user is holding their pointer.
772
- */
773
- var HEADER_SCROLL_INTERVAL = 100;
774
- var VIEWPORT_THROTTLE_TIME = 150;
775
- var SCROLL_DISTANCE = 0.8;
776
- /**
777
- * Base class for a tab header that supported pagination.
778
- * @docs-private
779
- */
780
- var McPaginatedTabHeader = /** @class */ (function () {
781
- function McPaginatedTabHeader(elementRef, changeDetectorRef, viewportRuler, ngZone, platform, dir, animationMode) {
782
- var _this = this;
783
- this.elementRef = elementRef;
784
- this.changeDetectorRef = changeDetectorRef;
785
- this.viewportRuler = viewportRuler;
786
- this.ngZone = ngZone;
787
- this.platform = platform;
788
- this.dir = dir;
789
- this.animationMode = animationMode;
790
- this._selectedIndex = 0;
791
- /** The distance in pixels that the tab labels should be translated to the left. */
792
- this._scrollDistance = 0;
793
- /** Event emitted when the option is selected. */
794
- this.selectFocusedIndex = new i0.EventEmitter();
795
- /** Event emitted when a label is focused. */
796
- this.indexFocused = new i0.EventEmitter();
797
- /** Whether the controls for pagination should be displayed */
798
- this.showPaginationControls = false;
799
- /** Whether the tab list can be scrolled more towards the end of the tab label list. */
800
- this.disableScrollAfter = true;
801
- /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
802
- this.disableScrollBefore = true;
803
- /**
804
- * Whether pagination should be disabled. This can be used to avoid unnecessary
805
- * layout recalculations if it's known that pagination won't be required.
806
- */
807
- this.disablePagination = false;
808
- /** Emits when the component is destroyed. */
809
- this.destroyed = new rxjs.Subject();
810
- this.vertical = false;
811
- /** Stream that will stop the automated scrolling. */
812
- this.stopScrolling = new rxjs.Subject();
813
- /** Whether the header should scroll to the selected index after the view has been checked. */
814
- this.selectedIndexChanged = false;
815
- // Bind the `mouseleave` event on the outside since it doesn't change anything in the view.
816
- ngZone.runOutsideAngular(function () {
817
- rxjs.fromEvent(elementRef.nativeElement, 'mouseleave')
818
- .pipe(operators.takeUntil(_this.destroyed))
819
- .subscribe(function () { return _this.stopInterval(); });
820
- });
821
- }
822
- Object.defineProperty(McPaginatedTabHeader.prototype, "selectedIndex", {
823
- /** The index of the active tab. */
824
- get: function () {
825
- return this._selectedIndex;
826
- },
827
- set: function (value) {
828
- var _a;
829
- var coercedValue = coercion.coerceNumberProperty(value);
830
- this.selectedIndexChanged = this._selectedIndex !== coercedValue;
831
- this._selectedIndex = coercedValue;
832
- (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.updateActiveItem(coercedValue);
833
- },
834
- enumerable: false,
835
- configurable: true
836
- });
837
- Object.defineProperty(McPaginatedTabHeader.prototype, "focusIndex", {
838
- /** Tracks which element has focus; used for keyboard navigation */
839
- get: function () {
840
- return this.keyManager ? this.keyManager.activeItemIndex : 0;
841
- },
842
- /** When the focus index is set, we must manually send focus to the correct label */
843
- set: function (value) {
844
- if (!this.isValidIndex(value) || this.focusIndex === value || !this.keyManager) {
845
- return;
846
- }
847
- this.keyManager.setActiveItem(value);
848
- },
849
- enumerable: false,
850
- configurable: true
851
- });
852
- Object.defineProperty(McPaginatedTabHeader.prototype, "scrollDistance", {
853
- /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
854
- get: function () {
855
- return this._scrollDistance;
856
- },
857
- set: function (v) {
858
- this._scrollDistance = Math.max(0, Math.min(this.getMaxScrollDistance(), v));
859
- // Mark that the scroll distance has changed so that after the view is checked, the CSS
860
- // transformation can move the header.
861
- this.scrollDistanceChanged = true;
862
- this.checkScrollingControls();
863
- },
864
- enumerable: false,
865
- configurable: true
866
- });
867
- /** Called when the user has selected an item via the keyboard. */
868
- McPaginatedTabHeader.prototype.ngAfterViewInit = function () {
869
- var _this = this;
870
- // We need to handle these events manually, because we want to bind passive event listeners.
871
- rxjs.fromEvent(this.previousPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)
872
- .pipe(operators.takeUntil(this.destroyed))
873
- .subscribe(function () { return _this.handlePaginatorPress('before'); });
874
- rxjs.fromEvent(this.nextPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)
875
- .pipe(operators.takeUntil(this.destroyed))
876
- .subscribe(function () { return _this.handlePaginatorPress('after'); });
877
- };
878
- McPaginatedTabHeader.prototype.ngAfterContentInit = function () {
879
- var _this = this;
880
- var dirChange = this.dir ? this.dir.change : rxjs.of('ltr');
881
- var resize = this.viewportRuler.change(VIEWPORT_THROTTLE_TIME);
882
- var realign = function () {
883
- _this.updatePagination();
884
- };
885
- this.keyManager = new i1.FocusKeyManager(this.items)
886
- .withHorizontalOrientation(this.getLayoutDirection());
887
- this.keyManager.updateActiveItem(this._selectedIndex);
888
- // Defer the first call in order to allow for slower browsers to lay out the elements.
889
- // This helps in cases where the user lands directly on a page with paginated tabs.
890
- typeof requestAnimationFrame !== undefined ? requestAnimationFrame(realign) : realign();
891
- // On dir change or window resize, realign the ink bar and update the orientation of
892
- // the key manager if the direction has changed.
893
- rxjs.merge(dirChange, resize, this.items.changes)
894
- .pipe(operators.takeUntil(this.destroyed))
895
- .subscribe(function () {
896
- // We need to defer this to give the browser some time to recalculate
897
- // the element dimensions. The call has to be wrapped in `NgZone.run`,
898
- // because the viewport change handler runs outside of Angular.
899
- _this.ngZone.run(function () { return Promise.resolve().then(realign); });
900
- _this.keyManager.withHorizontalOrientation(_this.getLayoutDirection());
901
- });
902
- // If there is a change in the focus key manager we need to emit the `indexFocused`
903
- // event in order to provide a public event that notifies about focus changes. Also we realign
904
- // the tabs container by scrolling the new focused tab into the visible section.
905
- this.keyManager.change
906
- .pipe(operators.takeUntil(this.destroyed))
907
- .subscribe(function (newFocusIndex) {
908
- _this.indexFocused.emit(newFocusIndex);
909
- _this.setTabFocus(newFocusIndex);
910
- });
911
- };
912
- McPaginatedTabHeader.prototype.ngAfterContentChecked = function () {
913
- // If the number of tab labels have changed, check if scrolling should be enabled
914
- if (this.tabLabelCount !== this.items.length) {
915
- this.updatePagination();
916
- this.tabLabelCount = this.items.length;
917
- this.changeDetectorRef.markForCheck();
918
- }
919
- // If the selected index has changed, scroll to the label and check if the scrolling controls
920
- // should be disabled.
921
- if (this.selectedIndexChanged) {
922
- this.scrollToLabel(this._selectedIndex);
923
- this.checkScrollingControls();
924
- this.selectedIndexChanged = false;
925
- this.changeDetectorRef.markForCheck();
926
- }
927
- // If the scroll distance has been changed (tab selected, focused, scroll controls activated),
928
- // then translate the header to reflect this.
929
- if (this.scrollDistanceChanged) {
930
- this.updateTabScrollPosition();
931
- this.scrollDistanceChanged = false;
932
- this.changeDetectorRef.markForCheck();
933
- }
934
- };
935
- McPaginatedTabHeader.prototype.ngOnDestroy = function () {
936
- this.destroyed.next();
937
- this.destroyed.complete();
938
- this.stopScrolling.complete();
939
- };
940
- McPaginatedTabHeader.prototype.handleKeydown = function (event) {
941
- // We don't handle any key bindings with a modifier key.
942
- if (keycodes.hasModifierKey(event)) {
943
- return;
944
- }
945
- // tslint:disable-next-line: deprecation
946
- var key = event.keyCode;
947
- if (key === keycodes$1.HOME) {
948
- this.keyManager.setFirstItemActive();
949
- }
950
- else if (key === keycodes$1.END) {
951
- this.keyManager.setLastItemActive();
952
- }
953
- else if (key === keycodes$1.UP_ARROW && this.vertical) {
954
- this.keyManager.setPreviousItemActive();
955
- }
956
- else if (key === keycodes$1.DOWN_ARROW && this.vertical) {
957
- this.keyManager.setNextItemActive();
958
- }
959
- else if (key === keycodes$1.RIGHT_ARROW && !this.vertical) {
960
- this.keyManager.setNextItemActive();
961
- }
962
- else if (key === keycodes$1.LEFT_ARROW && !this.vertical) {
963
- this.keyManager.setPreviousItemActive();
964
- }
965
- else if ([keycodes.ENTER, keycodes.SPACE].includes(key)) {
966
- this.selectFocusedIndex.emit(this.focusIndex);
967
- }
968
- if ([keycodes$1.HOME, keycodes$1.END, keycodes$1.UP_ARROW, keycodes$1.DOWN_ARROW, keycodes$1.RIGHT_ARROW, keycodes$1.LEFT_ARROW, keycodes.SPACE, keycodes.ENTER].includes(key)) {
969
- event.preventDefault();
970
- }
971
- };
972
- /**
973
- * Callback for when the MutationObserver detects that the content has changed.
974
- */
975
- McPaginatedTabHeader.prototype.onContentChanges = function () {
976
- var _this = this;
977
- var textContent = this.elementRef.nativeElement.textContent;
978
- // We need to diff the text content of the header, because the MutationObserver callback
979
- // will fire even if the text content didn't change which is inefficient and is prone
980
- // to infinite loops if a poorly constructed expression is passed in (see #14249).
981
- if (textContent !== this.currentTextContent) {
982
- this.currentTextContent = textContent || '';
983
- // The content observer runs outside the `NgZone` by default, which
984
- // means that we need to bring the callback back in ourselves.
985
- this.ngZone.run(function () {
986
- _this.updatePagination();
987
- _this.changeDetectorRef.markForCheck();
988
- });
989
- }
990
- };
991
- /**
992
- * Updates the view whether pagination should be enabled or not.
993
- *
994
- * WARNING: Calling this method can be very costly in terms of performance. It should be called
995
- * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
996
- * page.
997
- */
998
- McPaginatedTabHeader.prototype.updatePagination = function () {
999
- this.checkPaginationEnabled();
1000
- this.checkScrollingControls();
1001
- this.updateTabScrollPosition();
1002
- };
1003
- /**
1004
- * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
1005
- * providing a valid index and return true.
1006
- */
1007
- McPaginatedTabHeader.prototype.isValidIndex = function (index) {
1008
- if (!this.items) {
1009
- return true;
1010
- }
1011
- var tab = this.items ? this.items.toArray()[index] : null;
1012
- return !!tab && !tab.disabled;
1013
- };
1014
- /**
1015
- * Sets focus on the HTML element for the label wrapper and scrolls it into the view if
1016
- * scrolling is enabled.
1017
- */
1018
- McPaginatedTabHeader.prototype.setTabFocus = function (tabIndex) {
1019
- var _a;
1020
- if (this.showPaginationControls) {
1021
- this.scrollToLabel(tabIndex);
1022
- }
1023
- if ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) {
1024
- this.items.toArray()[tabIndex].focus();
1025
- // Do not let the browser manage scrolling to focus the element, this will be handled
1026
- // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
1027
- // should be the full width minus the offset width.
1028
- var containerEl = this.tabListContainer.nativeElement;
1029
- var dir = this.getLayoutDirection();
1030
- if (dir === 'ltr') {
1031
- containerEl.scrollLeft = 0;
1032
- }
1033
- else {
1034
- containerEl.scrollLeft = containerEl.scrollWidth - containerEl.offsetWidth;
1035
- }
1036
- }
1037
- };
1038
- /** The layout direction of the containing app. */
1039
- McPaginatedTabHeader.prototype.getLayoutDirection = function () {
1040
- var _a;
1041
- return ((_a = this.dir) === null || _a === void 0 ? void 0 : _a.value) === 'rtl' ? 'rtl' : 'ltr';
1042
- };
1043
- /** Performs the CSS transformation on the tab list that will cause the list to scroll. */
1044
- McPaginatedTabHeader.prototype.updateTabScrollPosition = function () {
1045
- if (this.disablePagination) {
1046
- return;
1047
- }
1048
- var scrollDistance = this.scrollDistance;
1049
- var translateX = this.getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;
1050
- // Don't use `translate3d` here because we don't want to create a new layer. A new layer
1051
- // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
1052
- // and ripples will exceed the boundaries of the visible tab bar.
1053
- // See: https://github.com/angular/components/issues/10276
1054
- // We round the `transform` here, because transforms with sub-pixel precision cause some
1055
- // browsers to blur the content of the element.
1056
- this.tabList.nativeElement.style.transform = "translateX(" + Math.round(translateX) + "px)";
1057
- // Setting the `transform` on IE will change the scroll offset of the parent, causing the
1058
- // position to be thrown off in some cases. We have to reset it ourselves to ensure that
1059
- // it doesn't get thrown off. Note that we scope it only to IE and Edge, because messing
1060
- // with the scroll position throws off Chrome 71+ in RTL mode (see #14689).
1061
- if (this.platform.TRIDENT || this.platform.EDGE) {
1062
- this.tabListContainer.nativeElement.scrollLeft = 0;
1063
- }
1064
- };
1065
- /**
1066
- * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
1067
- * the end of the list, respectively). The distance to scroll is computed to be a third of the
1068
- * length of the tab list view window.
1069
- *
1070
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
1071
- * should be called sparingly.
1072
- */
1073
- McPaginatedTabHeader.prototype.scrollHeader = function (direction) {
1074
- var viewLength = this.tabListContainer.nativeElement.offsetWidth;
1075
- // Move the scroll distance one-third the length of the tab list's viewport.
1076
- var scrollAmount = (direction === 'before' ? -1 : 1) * viewLength * SCROLL_DISTANCE;
1077
- return this.scrollTo(this.scrollDistance + scrollAmount);
1078
- };
1079
- /** Handles click events on the pagination arrows. */
1080
- McPaginatedTabHeader.prototype.handlePaginatorClick = function (direction) {
1081
- this.stopInterval();
1082
- this.scrollHeader(direction);
1083
- };
1084
- /**
1085
- * Moves the tab list such that the desired tab label (marked by index) is moved into view.
1086
- *
1087
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
1088
- * should be called sparingly.
1089
- */
1090
- McPaginatedTabHeader.prototype.scrollToLabel = function (labelIndex) {
1091
- if (this.disablePagination) {
1092
- return;
1093
- }
1094
- var selectedLabel = this.items ? this.items.toArray()[labelIndex] : null;
1095
- if (!selectedLabel) {
1096
- return;
1097
- }
1098
- // The view length is the visible width of the tab labels.
1099
- var viewLength = this.tabListContainer.nativeElement.offsetWidth;
1100
- var _b = selectedLabel.elementRef.nativeElement, offsetLeft = _b.offsetLeft, offsetWidth = _b.offsetWidth;
1101
- var labelBeforePos;
1102
- var labelAfterPos;
1103
- if (this.getLayoutDirection() === 'ltr') {
1104
- labelBeforePos = offsetLeft;
1105
- labelAfterPos = labelBeforePos + offsetWidth;
1106
- }
1107
- else {
1108
- labelAfterPos = this.tabList.nativeElement.offsetWidth - offsetLeft;
1109
- labelBeforePos = labelAfterPos - offsetWidth;
1110
- }
1111
- var beforeVisiblePos = this.scrollDistance;
1112
- var afterVisiblePos = this.scrollDistance + viewLength;
1113
- if (labelBeforePos < beforeVisiblePos) {
1114
- // Scroll header to move label to the before direction
1115
- this.scrollDistance -= beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
1116
- }
1117
- else if (labelAfterPos > afterVisiblePos) {
1118
- // Scroll header to move label to the after direction
1119
- this.scrollDistance += labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
1120
- }
1121
- };
1122
- /**
1123
- * Evaluate whether the pagination controls should be displayed. If the scroll width of the
1124
- * tab list is wider than the size of the header container, then the pagination controls should
1125
- * be shown.
1126
- *
1127
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
1128
- * should be called sparingly.
1129
- */
1130
- McPaginatedTabHeader.prototype.checkPaginationEnabled = function () {
1131
- if (this.disablePagination || this.vertical) {
1132
- this.showPaginationControls = false;
1133
- }
1134
- else {
1135
- var isEnabled = this.tabList.nativeElement.scrollWidth > this.elementRef.nativeElement.offsetWidth;
1136
- if (!isEnabled) {
1137
- this.scrollDistance = 0;
1138
- }
1139
- if (isEnabled !== this.showPaginationControls) {
1140
- this.changeDetectorRef.markForCheck();
1141
- }
1142
- this.showPaginationControls = isEnabled;
1143
- }
1144
- };
1145
- /**
1146
- * Evaluate whether the before and after controls should be enabled or disabled.
1147
- * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the
1148
- * before button. If the header is at the end of the list (scroll distance is equal to the
1149
- * maximum distance we can scroll), then disable the after button.
1150
- *
1151
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
1152
- * should be called sparingly.
1153
- */
1154
- McPaginatedTabHeader.prototype.checkScrollingControls = function () {
1155
- if (this.disablePagination) {
1156
- this.disableScrollAfter = this.disableScrollBefore = true;
1157
- }
1158
- else {
1159
- // Check if the pagination arrows should be activated.
1160
- this.disableScrollBefore = this.scrollDistance === 0;
1161
- this.disableScrollAfter = this.scrollDistance === this.getMaxScrollDistance();
1162
- this.changeDetectorRef.markForCheck();
1163
- }
1164
- };
1165
- /**
1166
- * Determines what is the maximum length in pixels that can be set for the scroll distance. This
1167
- * is equal to the difference in width between the tab list container and tab header container.
1168
- *
1169
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
1170
- * should be called sparingly.
1171
- */
1172
- McPaginatedTabHeader.prototype.getMaxScrollDistance = function () {
1173
- var lengthOfTabList = this.tabList.nativeElement.scrollWidth;
1174
- var viewLength = this.tabListContainer.nativeElement.offsetWidth;
1175
- return (lengthOfTabList - viewLength) || 0;
1176
- };
1177
- /** Stops the currently-running paginator interval. */
1178
- McPaginatedTabHeader.prototype.stopInterval = function () {
1179
- this.stopScrolling.next();
1180
- };
1181
- /**
1182
- * Handles the user pressing down on one of the paginators.
1183
- * Starts scrolling the header after a certain amount of time.
1184
- * @param direction In which direction the paginator should be scrolled.
1185
- */
1186
- McPaginatedTabHeader.prototype.handlePaginatorPress = function (direction, mouseEvent) {
1187
- var _this = this;
1188
- // Don't start auto scrolling for right mouse button clicks. Note that we shouldn't have to
1189
- // null check the `button`, but we do it so we don't break tests that use fake events.
1190
- if (mouseEvent && mouseEvent.button != null && mouseEvent.button !== 0) {
1191
- return;
1192
- }
1193
- // Avoid overlapping timers.
1194
- this.stopInterval();
1195
- // Start a timer after the delay and keep firing based on the interval.
1196
- rxjs.timer(HEADER_SCROLL_DELAY, HEADER_SCROLL_INTERVAL)
1197
- // Keep the timer going until something tells it to stop or the component is destroyed.
1198
- .pipe(operators.takeUntil(rxjs.merge(this.stopScrolling, this.destroyed)))
1199
- .subscribe(function () {
1200
- var _b = _this.scrollHeader(direction), maxScrollDistance = _b.maxScrollDistance, distance = _b.distance;
1201
- // Stop the timer if we've reached the start or the end.
1202
- if (distance === 0 || distance >= maxScrollDistance) {
1203
- _this.stopInterval();
1204
- }
1205
- });
1206
- };
1207
- /**
1208
- * Scrolls the header to a given position.
1209
- * @param position Position to which to scroll.
1210
- * @returns Information on the current scroll distance and the maximum.
1211
- */
1212
- McPaginatedTabHeader.prototype.scrollTo = function (position) {
1213
- if (this.disablePagination) {
1214
- return { maxScrollDistance: 0, distance: 0 };
1215
- }
1216
- var maxScrollDistance = this.getMaxScrollDistance();
1217
- this.scrollDistance = Math.max(0, Math.min(maxScrollDistance, position));
1218
- // Mark that the scroll distance has changed so that after the view is checked, the CSS
1219
- // transformation can move the header.
1220
- this.scrollDistanceChanged = true;
1221
- this.checkScrollingControls();
1222
- return { maxScrollDistance: maxScrollDistance, distance: this.scrollDistance };
1223
- };
1224
- return McPaginatedTabHeader;
1225
- }());
1226
- /** @nocollapse */ McPaginatedTabHeader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McPaginatedTabHeader, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace.ViewportRuler }, { token: i0__namespace.NgZone }, { token: i2__namespace.Platform }, { token: i3__namespace.Directionality, optional: true }, { token: animations$1.ANIMATION_MODULE_TYPE, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1227
- /** @nocollapse */ McPaginatedTabHeader.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0__namespace });
1228
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McPaginatedTabHeader, decorators: [{
1229
- type: i0.Directive
1230
- }], ctorParameters: function () {
1231
- return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.ViewportRuler }, { type: i0__namespace.NgZone }, { type: i2__namespace.Platform }, { type: i3__namespace.Directionality, decorators: [{
1232
- type: i0.Optional
1233
- }] }, { type: undefined, decorators: [{
1234
- type: i0.Optional
1235
- }, {
1236
- type: i0.Inject,
1237
- args: [animations$1.ANIMATION_MODULE_TYPE]
1238
- }] }];
1239
- }, propDecorators: { disablePagination: [{
1240
- type: i0.Input
1241
- }] } });
1242
-
1243
- // Boilerplate for applying mixins to McTabLabelWrapper.
1244
- /** @docs-private */
1245
- var McTabLabelWrapperBase = /** @class */ (function () {
1246
- function McTabLabelWrapperBase() {
1247
- }
1248
- return McTabLabelWrapperBase;
1249
- }());
1250
- // tslint:disable-next-line:naming-convention
1251
- var McTabLabelWrapperMixinBase = core.mixinDisabled(McTabLabelWrapperBase);
1252
- /**
1253
- * Used in the `mc-tab-group` view to display tab labels.
1254
- * @docs-private
1255
- */
1256
- var McTabLabelWrapper = /** @class */ (function (_super) {
1257
- __extends(McTabLabelWrapper, _super);
1258
- function McTabLabelWrapper(elementRef, renderer) {
1259
- var _this = _super.call(this) || this;
1260
- _this.elementRef = elementRef;
1261
- _this.renderer = renderer;
1262
- return _this;
1263
- }
1264
- McTabLabelWrapper.prototype.ngAfterViewInit = function () {
1265
- this.addClassModifierForIcons(Array.from(this.elementRef.nativeElement.querySelectorAll('.mc-icon')));
1266
- };
1267
- /** Sets focus on the wrapper element */
1268
- McTabLabelWrapper.prototype.focus = function () {
1269
- this.elementRef.nativeElement.focus();
1270
- };
1271
- McTabLabelWrapper.prototype.getOffsetLeft = function () {
1272
- return this.elementRef.nativeElement.offsetLeft;
1273
- };
1274
- McTabLabelWrapper.prototype.getOffsetWidth = function () {
1275
- return this.elementRef.nativeElement.offsetWidth;
1276
- };
1277
- McTabLabelWrapper.prototype.checkOverflow = function () {
1278
- this.tab.overflowTooltipTitle = this.isOverflown() ? this.getInnerText() : '';
1279
- };
1280
- McTabLabelWrapper.prototype.isOverflown = function () {
1281
- return this.labelContent.nativeElement.scrollWidth > this.labelContent.nativeElement.clientWidth;
1282
- };
1283
- McTabLabelWrapper.prototype.getInnerText = function () {
1284
- return this.labelContent.nativeElement.innerText;
1285
- };
1286
- McTabLabelWrapper.prototype.addClassModifierForIcons = function (icons) {
1287
- var twoIcons = 2;
1288
- var _a = __read(icons, 2), firstIconElement = _a[0], secondIconElement = _a[1];
1289
- if (icons.length === 1) {
1290
- var COMMENT_NODE = 8;
1291
- if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {
1292
- this.renderer.addClass(firstIconElement, 'mc-icon_left');
1293
- }
1294
- if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {
1295
- this.renderer.addClass(firstIconElement, 'mc-icon_right');
1296
- }
1297
- }
1298
- else if (icons.length === twoIcons) {
1299
- this.renderer.addClass(firstIconElement, 'mc-icon_left');
1300
- this.renderer.addClass(secondIconElement, 'mc-icon_right');
1301
- }
1302
- };
1303
- return McTabLabelWrapper;
1304
- }(McTabLabelWrapperMixinBase));
1305
- /** @nocollapse */ McTabLabelWrapper.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLabelWrapper, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1306
- /** @nocollapse */ McTabLabelWrapper.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", 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__namespace });
1307
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLabelWrapper, decorators: [{
1308
- type: i0.Directive,
1309
- args: [{
1310
- selector: '[mcTabLabelWrapper]',
1311
- inputs: ['disabled'],
1312
- host: {
1313
- '[attr.disabled]': 'disabled || null'
1314
- }
1315
- }]
1316
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }]; }, propDecorators: { labelContent: [{
1317
- type: i0.ContentChild,
1318
- args: ['labelContent']
1319
- }], tab: [{
1320
- type: i0.Input
1321
- }] } });
1322
-
1323
- /**
1324
- * The header of the tab group which displays a list of all the tabs in the tab group.
1325
- * When the tabs list's width exceeds the width of the header container,
1326
- * then arrows will be displayed to allow the user to scroll
1327
- * left and right across the header.
1328
- * @docs-private
1329
- */
1330
- var McTabHeader = /** @class */ (function (_super) {
1331
- __extends(McTabHeader, _super);
1332
- function McTabHeader(elementRef, changeDetectorRef, viewportRuler, ngZone, platform, dir, animationMode) {
1333
- var _this = _super.call(this, elementRef, changeDetectorRef, viewportRuler, ngZone, platform, dir, animationMode) || this;
1334
- _this.elementRef = elementRef;
1335
- _this.changeDetectorRef = changeDetectorRef;
1336
- /** The index of the active tab. */
1337
- _this.vertical = false;
1338
- return _this;
1339
- }
1340
- McTabHeader.prototype.itemSelected = function (event) {
1341
- event.preventDefault();
1342
- };
1343
- return McTabHeader;
1344
- }(McPaginatedTabHeader));
1345
- /** @nocollapse */ McTabHeader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabHeader, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace.ViewportRuler }, { token: i0__namespace.NgZone }, { token: i2__namespace.Platform }, { token: i3__namespace.Directionality, optional: true }, { token: animations$1.ANIMATION_MODULE_TYPE, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
1346
- /** @nocollapse */ McTabHeader.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabHeader, selector: "mc-tab-header", inputs: { selectedIndex: "selectedIndex", vertical: "vertical" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mc-tab-header_vertical": "vertical", "class.mc-tab-header__pagination-controls_enabled": "showPaginationControls", "class.mc-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "mc-tab-header" }, queries: [{ propertyName: "items", predicate: McTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, 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__namespace.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i4__namespace.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.Default, encapsulation: i0__namespace.ViewEncapsulation.None });
1347
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabHeader, decorators: [{
1348
- type: i0.Component,
1349
- args: [{
1350
- selector: 'mc-tab-header',
1351
- templateUrl: 'tab-header.html',
1352
- styleUrls: ['tab-header.scss'],
1353
- inputs: ['selectedIndex'],
1354
- outputs: ['selectFocusedIndex', 'indexFocused'],
1355
- encapsulation: i0.ViewEncapsulation.None,
1356
- changeDetection: i0.ChangeDetectionStrategy.Default,
1357
- host: {
1358
- class: 'mc-tab-header',
1359
- '[class.mc-tab-header_vertical]': 'vertical',
1360
- '[class.mc-tab-header__pagination-controls_enabled]': 'showPaginationControls',
1361
- '[class.mc-tab-header_rtl]': 'getLayoutDirection() == \'rtl\''
1362
- }
1363
- }]
1364
- }], ctorParameters: function () {
1365
- return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.ViewportRuler }, { type: i0__namespace.NgZone }, { type: i2__namespace.Platform }, { type: i3__namespace.Directionality, decorators: [{
1366
- type: i0.Optional
1367
- }] }, { type: undefined, decorators: [{
1368
- type: i0.Optional
1369
- }, {
1370
- type: i0.Inject,
1371
- args: [animations$1.ANIMATION_MODULE_TYPE]
1372
- }] }];
1373
- }, propDecorators: { vertical: [{
1374
- type: i0.Input
1375
- }], items: [{
1376
- type: i0.ContentChildren,
1377
- args: [McTabLabelWrapper, { descendants: false }]
1378
- }], tabListContainer: [{
1379
- type: i0.ViewChild,
1380
- args: ['tabListContainer', { static: true }]
1381
- }], tabList: [{
1382
- type: i0.ViewChild,
1383
- args: ['tabList', { static: true }]
1384
- }], nextPaginator: [{
1385
- type: i0.ViewChild,
1386
- args: ['nextPaginator']
1387
- }], previousPaginator: [{
1388
- type: i0.ViewChild,
1389
- args: ['previousPaginator']
1390
- }] } });
1391
-
1392
- var McOldTabsCssStyler = /** @class */ (function () {
1393
- function McOldTabsCssStyler() {
1394
- }
1395
- return McOldTabsCssStyler;
1396
- }());
1397
- /** @nocollapse */ McOldTabsCssStyler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McOldTabsCssStyler, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1398
- /** @nocollapse */ McOldTabsCssStyler.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McOldTabsCssStyler, selector: "mc-tab-group[mc-old-tabs]", host: { classAttribute: "mc-tab-group_old" }, ngImport: i0__namespace });
1399
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McOldTabsCssStyler, decorators: [{
1400
- type: i0.Directive,
1401
- args: [{
1402
- selector: 'mc-tab-group[mc-old-tabs]',
1403
- host: { class: 'mc-tab-group_old' }
1404
- }]
1405
- }] });
1406
- var McAlignTabsCenterCssStyler = /** @class */ (function () {
1407
- function McAlignTabsCenterCssStyler() {
1408
- }
1409
- return McAlignTabsCenterCssStyler;
1410
- }());
1411
- /** @nocollapse */ McAlignTabsCenterCssStyler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McAlignTabsCenterCssStyler, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1412
- /** @nocollapse */ McAlignTabsCenterCssStyler.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McAlignTabsCenterCssStyler, selector: "mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]", host: { classAttribute: "mc-tab-group_align-labels-center" }, ngImport: i0__namespace });
1413
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McAlignTabsCenterCssStyler, decorators: [{
1414
- type: i0.Directive,
1415
- args: [{
1416
- selector: 'mc-tab-group[mc-align-tabs-center], [mc-tab-nav-bar][mc-align-tabs-center]',
1417
- host: { class: 'mc-tab-group_align-labels-center' }
1418
- }]
1419
- }] });
1420
- var McAlignTabsEndCssStyler = /** @class */ (function () {
1421
- function McAlignTabsEndCssStyler() {
1422
- }
1423
- return McAlignTabsEndCssStyler;
1424
- }());
1425
- /** @nocollapse */ McAlignTabsEndCssStyler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McAlignTabsEndCssStyler, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1426
- /** @nocollapse */ McAlignTabsEndCssStyler.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McAlignTabsEndCssStyler, selector: "mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]", host: { classAttribute: "mc-tab-group_align-labels-end" }, ngImport: i0__namespace });
1427
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McAlignTabsEndCssStyler, decorators: [{
1428
- type: i0.Directive,
1429
- args: [{
1430
- selector: 'mc-tab-group[mc-align-tabs-end], [mc-tab-nav-bar][mc-align-tabs-end]',
1431
- host: { class: 'mc-tab-group_align-labels-end' }
1432
- }]
1433
- }] });
1434
- var McStretchTabsCssStyler = /** @class */ (function () {
1435
- function McStretchTabsCssStyler() {
1436
- }
1437
- return McStretchTabsCssStyler;
1438
- }());
1439
- /** @nocollapse */ McStretchTabsCssStyler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McStretchTabsCssStyler, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1440
- /** @nocollapse */ McStretchTabsCssStyler.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McStretchTabsCssStyler, selector: "mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]", host: { classAttribute: "mc-tab-group_stretch-labels" }, ngImport: i0__namespace });
1441
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McStretchTabsCssStyler, decorators: [{
1442
- type: i0.Directive,
1443
- args: [{
1444
- selector: 'mc-tab-group[mc-stretch-tabs], [mc-tab-nav-bar][mc-stretch-tabs]',
1445
- host: { class: 'mc-tab-group_stretch-labels' }
1446
- }]
1447
- }] });
1448
- var McVerticalTabsCssStyler = /** @class */ (function () {
1449
- function McVerticalTabsCssStyler() {
1450
- }
1451
- return McVerticalTabsCssStyler;
1452
- }());
1453
- /** @nocollapse */ McVerticalTabsCssStyler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McVerticalTabsCssStyler, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1454
- /** @nocollapse */ McVerticalTabsCssStyler.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: McVerticalTabsCssStyler, selector: "mc-tab-group[vertical], [mc-tab-nav-bar][vertical]", host: { classAttribute: "mc-tab-group_vertical" }, ngImport: i0__namespace });
1455
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McVerticalTabsCssStyler, decorators: [{
1456
- type: i0.Directive,
1457
- args: [{
1458
- selector: 'mc-tab-group[vertical], [mc-tab-nav-bar][vertical]',
1459
- host: { class: 'mc-tab-group_vertical' }
1460
- }]
1461
- }] });
1462
- /** Used to generate unique ID's for each tab component */
1463
- var nextId = 0;
1464
- /** A simple change event emitted on focus or selection changes. */
1465
- var McTabChangeEvent = /** @class */ (function () {
1466
- function McTabChangeEvent() {
1467
- }
1468
- return McTabChangeEvent;
1469
- }());
1470
- /** Injection token that can be used to provide the default options the tabs module. */
1471
- var MC_TABS_CONFIG = new i0.InjectionToken('MC_TABS_CONFIG');
1472
- // Boilerplate for applying mixins to McTabGroup.
1473
- /** @docs-private */
1474
- var McTabGroupBase = /** @class */ (function () {
1475
- // tslint:disable-next-line:naming-convention
1476
- function McTabGroupBase(_elementRef) {
1477
- this._elementRef = _elementRef;
1478
- }
1479
- return McTabGroupBase;
1480
- }());
1481
- // tslint:disable-next-line:naming-convention
1482
- var McTabGroupMixinBase = core.mixinDisabled(McTabGroupBase);
1483
- /**
1484
- * Tab-group component. Supports basic tab pairs (label + content) and includes
1485
- * keyboard navigation.
1486
- */
1487
- var McTabGroup = /** @class */ (function (_super) {
1488
- __extends(McTabGroup, _super);
1489
- function McTabGroup(elementRef, changeDetectorRef, lightTabs, vertical, defaultConfig) {
1490
- var _this = _super.call(this, elementRef) || this;
1491
- _this.changeDetectorRef = changeDetectorRef;
1492
- _this.resizeStream = new rxjs.Subject();
1493
- _this._dynamicHeight = false;
1494
- _this._selectedIndex = null;
1495
- /** Position of the tab header. */
1496
- _this.headerPosition = 'above';
1497
- /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1498
- _this.selectedIndexChange = new i0.EventEmitter();
1499
- /** Event emitted when focus has changed within a tab group. */
1500
- _this.focusChange = new i0.EventEmitter();
1501
- /** Event emitted when the body animation has completed */
1502
- _this.animationDone = new i0.EventEmitter();
1503
- /** Event emitted when the tab selection has changed. */
1504
- _this.selectedTabChange = new i0.EventEmitter(true);
1505
- /** The tab index that should be selected after the content has been checked. */
1506
- _this.indexToSelect = 0;
1507
- /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1508
- _this.tabBodyWrapperHeight = 0;
1509
- /** Subscription to tabs being added/removed. */
1510
- _this.tabsSubscription = rxjs.Subscription.EMPTY;
1511
- /** Subscription to changes in the tab labels. */
1512
- _this.tabLabelSubscription = rxjs.Subscription.EMPTY;
1513
- _this.resizeSubscription = rxjs.Subscription.EMPTY;
1514
- _this.resizeDebounceInterval = 100;
1515
- _this.checkOverflow = function () {
1516
- _this.tabHeader.items
1517
- .forEach(function (headerTab) { return headerTab.checkOverflow(); });
1518
- };
1519
- _this.oldTab = coercion.coerceBooleanProperty(lightTabs);
1520
- _this.vertical = coercion.coerceBooleanProperty(vertical);
1521
- _this.groupId = nextId++;
1522
- _this.animationDuration = (defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.animationDuration) || '0ms';
1523
- _this.subscribeToResize();
1524
- return _this;
1525
- }
1526
- Object.defineProperty(McTabGroup.prototype, "dynamicHeight", {
1527
- /** Whether the tab group should grow to the size of the active tab. */
1528
- get: function () {
1529
- return this._dynamicHeight;
1530
- },
1531
- set: function (value) {
1532
- this._dynamicHeight = coercion.coerceBooleanProperty(value);
1533
- },
1534
- enumerable: false,
1535
- configurable: true
1536
- });
1537
- Object.defineProperty(McTabGroup.prototype, "selectedIndex", {
1538
- /** The index of the active tab. */
1539
- get: function () {
1540
- return this._selectedIndex;
1541
- },
1542
- set: function (value) {
1543
- this.indexToSelect = coercion.coerceNumberProperty(value, null);
1544
- },
1545
- enumerable: false,
1546
- configurable: true
1547
- });
1548
- /**
1549
- * After the content is checked, this component knows what tabs have been defined
1550
- * and what the selected index should be. This is where we can know exactly what position
1551
- * each tab should be in according to the new selected index, and additionally we know how
1552
- * a new selected tab should transition in (from the left or right).
1553
- */
1554
- McTabGroup.prototype.ngAfterContentChecked = function () {
1555
- var _this = this;
1556
- // Don't clamp the `indexToSelect` immediately in the setter because it can happen that
1557
- // the amount of tabs changes before the actual change detection runs.
1558
- var indexToSelect = this.indexToSelect = this.clampTabIndex(this.indexToSelect);
1559
- // If there is a change in selected index, emit a change event. Should not trigger if
1560
- // the selected index has not yet been initialized.
1561
- if (this._selectedIndex !== indexToSelect) {
1562
- var isFirstRun_1 = this._selectedIndex == null;
1563
- if (!isFirstRun_1) {
1564
- this.selectedTabChange.emit(this.createChangeEvent(indexToSelect));
1565
- }
1566
- // Changing these values after change detection has run
1567
- // since the checked content may contain references to them.
1568
- Promise.resolve().then(function () {
1569
- _this.tabs.forEach(function (tab, index) { return tab.isActive = index === indexToSelect; });
1570
- if (!isFirstRun_1) {
1571
- _this.selectedIndexChange.emit(indexToSelect);
1572
- }
1573
- });
1574
- }
1575
- // Setup the position for each tab and optionally setup an origin on the next selected tab.
1576
- this.tabs.forEach(function (tab, index) {
1577
- tab.position = index - indexToSelect;
1578
- // If there is already a selected tab, then set up an origin for the next selected tab
1579
- // if it doesn't have one already.
1580
- if (_this._selectedIndex != null && tab.position === 0 && !tab.origin) {
1581
- tab.origin = indexToSelect - _this._selectedIndex;
1582
- }
1583
- });
1584
- if (this._selectedIndex !== indexToSelect) {
1585
- this._selectedIndex = indexToSelect;
1586
- this.changeDetectorRef.markForCheck();
1587
- }
1588
- };
1589
- McTabGroup.prototype.ngAfterContentInit = function () {
1590
- var _this = this;
1591
- this.subscribeToTabLabels();
1592
- // Subscribe to changes in the amount of tabs, in order to be
1593
- // able to re-render the content as new tabs are added or removed.
1594
- this.tabsSubscription = this.tabs.changes
1595
- .subscribe(function () {
1596
- var indexToSelect = _this.clampTabIndex(_this.indexToSelect);
1597
- // Maintain the previously-selected tab if a new tab is added or removed and there is no
1598
- // explicit change that selects a different tab.
1599
- if (indexToSelect === _this._selectedIndex) {
1600
- var tabs = _this.tabs.toArray();
1601
- for (var i = 0; i < tabs.length; i++) {
1602
- if (tabs[i].isActive) {
1603
- // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1604
- // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1605
- // adding a tab within the `selectedIndexChange` event.
1606
- _this.indexToSelect = _this._selectedIndex = i;
1607
- break;
1608
- }
1609
- }
1610
- }
1611
- _this.subscribeToTabLabels();
1612
- _this.changeDetectorRef.markForCheck();
1613
- });
1614
- };
1615
- McTabGroup.prototype.ngAfterViewInit = function () {
1616
- this.checkOverflow();
1617
- };
1618
- McTabGroup.prototype.ngOnDestroy = function () {
1619
- this.tabsSubscription.unsubscribe();
1620
- this.tabLabelSubscription.unsubscribe();
1621
- this.resizeSubscription.unsubscribe();
1622
- };
1623
- McTabGroup.prototype.focusChanged = function (index) {
1624
- this.focusChange.emit(this.createChangeEvent(index));
1625
- };
1626
- /** Returns a unique id for each tab label element */
1627
- McTabGroup.prototype.getTabLabelId = function (i) {
1628
- return "mc-tab-label-" + this.groupId + "-" + i;
1629
- };
1630
- /** Returns a unique id for each tab content element */
1631
- McTabGroup.prototype.getTabContentId = function (i) {
1632
- return "mc-tab-content-" + this.groupId + "-" + i;
1633
- };
1634
- /**
1635
- * Sets the height of the body wrapper to the height of the activating tab if dynamic
1636
- * height property is true.
1637
- */
1638
- McTabGroup.prototype.setTabBodyWrapperHeight = function (tabHeight) {
1639
- if (!this._dynamicHeight || !this.tabBodyWrapperHeight) {
1640
- return;
1641
- }
1642
- var wrapper = this.tabBodyWrapper.nativeElement;
1643
- wrapper.style.height = this.tabBodyWrapperHeight + "px";
1644
- // This conditional forces the browser to paint the height so that
1645
- // the animation to the new height can have an origin.
1646
- if (this.tabBodyWrapper.nativeElement.offsetHeight) {
1647
- wrapper.style.height = tabHeight + "px";
1648
- }
1649
- };
1650
- /** Removes the height of the tab body wrapper. */
1651
- McTabGroup.prototype.removeTabBodyWrapperHeight = function () {
1652
- this.tabBodyWrapperHeight = this.tabBodyWrapper.nativeElement.clientHeight;
1653
- this.tabBodyWrapper.nativeElement.style.height = '';
1654
- this.animationDone.emit();
1655
- };
1656
- /** Handle click events, setting new selected index if appropriate. */
1657
- McTabGroup.prototype.handleClick = function (tab, tabHeader, index) {
1658
- if (tab.disabled) {
1659
- return;
1660
- }
1661
- this.selectedIndex = tabHeader.focusIndex = index;
1662
- };
1663
- /** Retrieves the tabindex for the tab. */
1664
- McTabGroup.prototype.getTabIndex = function (tab, index) {
1665
- if (tab.disabled) {
1666
- return null;
1667
- }
1668
- return this.selectedIndex === index ? 0 : -1;
1669
- };
1670
- McTabGroup.prototype.createChangeEvent = function (index) {
1671
- var event = new McTabChangeEvent();
1672
- event.index = index;
1673
- if (this.tabs && this.tabs.length) {
1674
- event.tab = this.tabs.toArray()[index];
1675
- }
1676
- return event;
1677
- };
1678
- /**
1679
- * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is
1680
- * on the McTab component, whereas the data binding is inside the McTabGroup. In order for the
1681
- * binding to be updated, we need to subscribe to changes in it and trigger change detection
1682
- * manually.
1683
- */
1684
- McTabGroup.prototype.subscribeToTabLabels = function () {
1685
- var _this = this;
1686
- if (this.tabLabelSubscription) {
1687
- this.tabLabelSubscription.unsubscribe();
1688
- }
1689
- this.tabLabelSubscription = rxjs.merge.apply(void 0, __spreadArray([], __read(this.tabs.map(function (tab) { return tab.stateChanges; })))).subscribe(function () { return _this.changeDetectorRef.markForCheck(); });
1690
- };
1691
- McTabGroup.prototype.subscribeToResize = function () {
1692
- if (!this.vertical) {
1693
- return;
1694
- }
1695
- if (this.resizeSubscription) {
1696
- this.resizeSubscription.unsubscribe();
1697
- }
1698
- this.resizeSubscription = this.resizeStream
1699
- .pipe(operators.debounceTime(this.resizeDebounceInterval))
1700
- .subscribe(this.checkOverflow);
1701
- };
1702
- /** Clamps the given index to the bounds of 0 and the tabs length. */
1703
- McTabGroup.prototype.clampTabIndex = function (index) {
1704
- // Note the `|| 0`, which ensures that values like NaN can't get through
1705
- // and which would otherwise throw the component into an infinite loop
1706
- // (since Mch.max(NaN, 0) === NaN).
1707
- return Math.min(this.tabs.length - 1, Math.max(index || 0, 0));
1708
- };
1709
- return McTabGroup;
1710
- }(McTabGroupMixinBase));
1711
- /** @nocollapse */ McTabGroup.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabGroup, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: 'mc-old-tabs', attribute: true }, { token: 'vertical', attribute: true }, { token: MC_TABS_CONFIG, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
1712
- /** @nocollapse */ McTabGroup.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabGroup, selector: "mc-tab-group", inputs: { disabled: "disabled", dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { 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__namespace, 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__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: McTabLabelWrapper, selector: "[mcTabLabelWrapper]", inputs: ["disabled", "tab"] }, { type: i1__namespace$1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i6__namespace.McTooltipTrigger, selector: "[mcTooltip]", inputs: ["mcTooltip", "mcTooltipDisabled", "mcEnterDelay", "mcTrigger", "mcTooltipClass"], exportAs: ["mcTooltip"] }, { type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1713
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabGroup, decorators: [{
1714
- type: i0.Component,
1715
- args: [{
1716
- selector: 'mc-tab-group',
1717
- exportAs: 'mcTabGroup',
1718
- templateUrl: 'tab-group.html',
1719
- styleUrls: ['tab-group.scss'],
1720
- encapsulation: i0.ViewEncapsulation.None,
1721
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1722
- inputs: ['disabled'],
1723
- host: {
1724
- class: 'mc-tab-group',
1725
- '[class.mc-tab-group_dynamic-height]': 'dynamicHeight',
1726
- '[class.mc-tab-group_inverted-header]': 'headerPosition === "below"',
1727
- '(window:resize)': 'resizeStream.next()'
1728
- }
1729
- }]
1730
- }], ctorParameters: function () {
1731
- return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }, { type: undefined, decorators: [{
1732
- type: i0.Attribute,
1733
- args: ['mc-old-tabs']
1734
- }] }, { type: undefined, decorators: [{
1735
- type: i0.Attribute,
1736
- args: ['vertical']
1737
- }] }, { type: undefined, decorators: [{
1738
- type: i0.Inject,
1739
- args: [MC_TABS_CONFIG]
1740
- }, {
1741
- type: i0.Optional
1742
- }] }];
1743
- }, propDecorators: { tabs: [{
1744
- type: i0.ContentChildren,
1745
- args: [McTab]
1746
- }], tabBodyWrapper: [{
1747
- type: i0.ViewChild,
1748
- args: ['tabBodyWrapper', { static: false }]
1749
- }], tabHeader: [{
1750
- type: i0.ViewChild,
1751
- args: ['tabHeader', { static: false }]
1752
- }], dynamicHeight: [{
1753
- type: i0.Input
1754
- }], selectedIndex: [{
1755
- type: i0.Input
1756
- }], headerPosition: [{
1757
- type: i0.Input
1758
- }], animationDuration: [{
1759
- type: i0.Input
1760
- }], selectedIndexChange: [{
1761
- type: i0.Output
1762
- }], focusChange: [{
1763
- type: i0.Output
1764
- }], animationDone: [{
1765
- type: i0.Output
1766
- }], selectedTabChange: [{
1767
- type: i0.Output
1768
- }] } });
1769
-
1770
- // Boilerplate for applying mixins to McTabLink.
1771
- var McTabLinkBase = /** @class */ (function () {
1772
- function McTabLinkBase() {
1773
- }
1774
- return McTabLinkBase;
1775
- }());
1776
- // tslint:disable-next-line:naming-convention
1777
- var McTabLinkMixinBase = core.mixinTabIndex(core.mixinDisabled(McTabLinkBase));
1778
- /**
1779
- * Link inside of a `mc-tab-nav-bar`.
1780
- */
1781
- var McTabLink = /** @class */ (function (_super) {
1782
- __extends(McTabLink, _super);
1783
- function McTabLink(elementRef, focusMonitor, renderer) {
1784
- var _this = _super.call(this) || this;
1785
- _this.elementRef = elementRef;
1786
- _this.focusMonitor = focusMonitor;
1787
- _this.renderer = renderer;
1788
- _this.vertical = false;
1789
- /** Whether the tab link is active or not. */
1790
- _this.isActive = false;
1791
- _this.focusMonitor.monitor(_this.elementRef.nativeElement);
1792
- return _this;
1793
- }
1794
- Object.defineProperty(McTabLink.prototype, "active", {
1795
- /** Whether the link is active. */
1796
- get: function () {
1797
- return this.isActive;
1798
- },
1799
- set: function (value) {
1800
- if (value !== this.isActive) {
1801
- this.isActive = value;
1802
- }
1803
- },
1804
- enumerable: false,
1805
- configurable: true
1806
- });
1807
- McTabLink.prototype.ngAfterViewInit = function () {
1808
- this.addClassModifierForIcons(Array.from(this.elementRef.nativeElement.querySelectorAll('.mc-icon')));
1809
- };
1810
- McTabLink.prototype.ngOnDestroy = function () {
1811
- this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
1812
- };
1813
- McTabLink.prototype.addClassModifierForIcons = function (icons) {
1814
- var twoIcons = 2;
1815
- var _a = __read(icons, 2), firstIconElement = _a[0], secondIconElement = _a[1];
1816
- if (icons.length === 1) {
1817
- var COMMENT_NODE = 8;
1818
- if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {
1819
- this.renderer.addClass(firstIconElement, 'mc-icon_left');
1820
- }
1821
- if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {
1822
- this.renderer.addClass(firstIconElement, 'mc-icon_right');
1823
- }
1824
- }
1825
- else if (icons.length === twoIcons) {
1826
- this.renderer.addClass(firstIconElement, 'mc-icon_left');
1827
- this.renderer.addClass(secondIconElement, 'mc-icon_right');
1828
- }
1829
- };
1830
- return McTabLink;
1831
- }(McTabLinkMixinBase));
1832
- /** @nocollapse */ McTabLink.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLink, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$1.FocusMonitor }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
1833
- /** @nocollapse */ McTabLink.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabLink, selector: "a[mc-tab-link], a[mcTabLink]", inputs: { disabled: "disabled", tabIndex: "tabIndex", active: "active" }, host: { properties: { "class.mc-active": "active", "class.mc-tab-label_vertical": "vertical", "class.mc-tab-label_horizontal": "!vertical", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-tab-link" }, exportAs: ["mcTabLink"], usesInheritance: true, ngImport: i0__namespace, template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>', isInline: true });
1834
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabLink, decorators: [{
1835
- type: i0.Component,
1836
- args: [{
1837
- selector: 'a[mc-tab-link], a[mcTabLink]',
1838
- exportAs: 'mcTabLink',
1839
- template: '<ng-content></ng-content><div class="mc-tab-overlay"></div>',
1840
- inputs: ['disabled', 'tabIndex'],
1841
- host: {
1842
- class: 'mc-tab-link',
1843
- '[class.mc-active]': 'active',
1844
- '[class.mc-tab-label_vertical]': 'vertical',
1845
- '[class.mc-tab-label_horizontal]': '!vertical',
1846
- '[attr.tabindex]': 'tabIndex',
1847
- '[attr.disabled]': 'disabled || null'
1848
- }
1849
- }]
1850
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$1.FocusMonitor }, { type: i0__namespace.Renderer2 }]; }, propDecorators: { active: [{
1851
- type: i0.Input
1852
- }] } });
1853
- /**
1854
- * Navigation component matching the styles of the tab group header.
1855
- */
1856
- var McTabNav = /** @class */ (function () {
1857
- function McTabNav(vertical) {
1858
- this.vertical = false;
1859
- this.vertical = coercion.coerceBooleanProperty(vertical);
1860
- }
1861
- McTabNav.prototype.ngAfterContentInit = function () {
1862
- var _this = this;
1863
- this.links.changes
1864
- .pipe(operators.delay(0))
1865
- .subscribe(function (links) { return links.forEach(function (link) { return link.vertical = _this.vertical; }); });
1866
- this.links.notifyOnChanges();
1867
- };
1868
- return McTabNav;
1869
- }());
1870
- /** @nocollapse */ McTabNav.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabNav, deps: [{ token: 'vertical', attribute: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
1871
- /** @nocollapse */ McTabNav.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McTabNav, selector: "[mc-tab-nav-bar]", host: { classAttribute: "mc-tab-nav-bar" }, queries: [{ propertyName: "links", predicate: McTabLink }], exportAs: ["mcTabNavBar", "mcTabNav"], ngImport: i0__namespace, 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__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1872
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabNav, decorators: [{
1873
- type: i0.Component,
1874
- args: [{
1875
- selector: '[mc-tab-nav-bar]',
1876
- exportAs: 'mcTabNavBar, mcTabNav',
1877
- template: '<ng-content></ng-content>',
1878
- styleUrls: ['tab-nav-bar.scss'],
1879
- host: {
1880
- class: 'mc-tab-nav-bar'
1881
- },
1882
- encapsulation: i0.ViewEncapsulation.None,
1883
- changeDetection: i0.ChangeDetectionStrategy.OnPush
1884
- }]
1885
- }], ctorParameters: function () {
1886
- return [{ type: undefined, decorators: [{
1887
- type: i0.Attribute,
1888
- args: ['vertical']
1889
- }] }];
1890
- }, propDecorators: { links: [{
1891
- type: i0.ContentChildren,
1892
- args: [McTabLink]
1893
- }] } });
1894
-
1895
- var McTabsModule = /** @class */ (function () {
1896
- function McTabsModule() {
1897
- }
1898
- return McTabsModule;
1899
- }());
1900
- /** @nocollapse */ McTabsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1901
- /** @nocollapse */ McTabsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabsModule, declarations: [McTabGroup,
1902
- McTabLabel,
1903
- McTab,
1904
- McTabLabelWrapper,
1905
- McTabNav,
1906
- McTabLink,
1907
- McTabBody,
1908
- McTabBodyPortal,
1909
- McTabHeader,
1910
- McTabContent,
1911
- McOldTabsCssStyler,
1912
- McAlignTabsCenterCssStyler,
1913
- McAlignTabsEndCssStyler,
1914
- McStretchTabsCssStyler,
1915
- McVerticalTabsCssStyler], imports: [i3$1.CommonModule,
1916
- i7.PortalModule,
1917
- i1.A11yModule,
1918
- core.McCommonModule,
1919
- i4.McIconModule,
1920
- i6.McToolTipModule], exports: [core.McCommonModule,
1921
- McTabGroup,
1922
- McTabLabel,
1923
- McTab,
1924
- McTabNav,
1925
- McTabLink,
1926
- McTabContent,
1927
- McOldTabsCssStyler,
1928
- McAlignTabsCenterCssStyler,
1929
- McAlignTabsEndCssStyler,
1930
- McStretchTabsCssStyler,
1931
- McVerticalTabsCssStyler] });
1932
- /** @nocollapse */ McTabsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabsModule, imports: [[
1933
- i3$1.CommonModule,
1934
- i7.PortalModule,
1935
- i1.A11yModule,
1936
- core.McCommonModule,
1937
- i4.McIconModule,
1938
- i6.McToolTipModule
1939
- ], core.McCommonModule] });
1940
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: McTabsModule, decorators: [{
1941
- type: i0.NgModule,
1942
- args: [{
1943
- imports: [
1944
- i3$1.CommonModule,
1945
- i7.PortalModule,
1946
- i1.A11yModule,
1947
- core.McCommonModule,
1948
- i4.McIconModule,
1949
- i6.McToolTipModule
1950
- ],
1951
- // Don't export all components because some are only to be used internally.
1952
- exports: [
1953
- core.McCommonModule,
1954
- McTabGroup,
1955
- McTabLabel,
1956
- McTab,
1957
- McTabNav,
1958
- McTabLink,
1959
- McTabContent,
1960
- McOldTabsCssStyler,
1961
- McAlignTabsCenterCssStyler,
1962
- McAlignTabsEndCssStyler,
1963
- McStretchTabsCssStyler,
1964
- McVerticalTabsCssStyler
1965
- ],
1966
- declarations: [
1967
- McTabGroup,
1968
- McTabLabel,
1969
- McTab,
1970
- McTabLabelWrapper,
1971
- McTabNav,
1972
- McTabLink,
1973
- McTabBody,
1974
- McTabBodyPortal,
1975
- McTabHeader,
1976
- McTabContent,
1977
- McOldTabsCssStyler,
1978
- McAlignTabsCenterCssStyler,
1979
- McAlignTabsEndCssStyler,
1980
- McStretchTabsCssStyler,
1981
- McVerticalTabsCssStyler
1982
- ]
1983
- }]
1984
- }] });
1985
-
1986
- /**
1987
- * Generated bundle index. Do not edit.
1988
- */
1989
-
1990
- exports.MC_TABS_CONFIG = MC_TABS_CONFIG;
1991
- exports.McAlignTabsCenterCssStyler = McAlignTabsCenterCssStyler;
1992
- exports.McAlignTabsEndCssStyler = McAlignTabsEndCssStyler;
1993
- exports.McOldTabsCssStyler = McOldTabsCssStyler;
1994
- exports.McStretchTabsCssStyler = McStretchTabsCssStyler;
1995
- exports.McTab = McTab;
1996
- exports.McTabBody = McTabBody;
1997
- exports.McTabBodyPortal = McTabBodyPortal;
1998
- exports.McTabChangeEvent = McTabChangeEvent;
1999
- exports.McTabContent = McTabContent;
2000
- exports.McTabGroup = McTabGroup;
2001
- exports.McTabGroupBase = McTabGroupBase;
2002
- exports.McTabGroupMixinBase = McTabGroupMixinBase;
2003
- exports.McTabHeader = McTabHeader;
2004
- exports.McTabLabel = McTabLabel;
2005
- exports.McTabLabelWrapper = McTabLabelWrapper;
2006
- exports.McTabLink = McTabLink;
2007
- exports.McTabNav = McTabNav;
2008
- exports.McTabsModule = McTabsModule;
2009
- exports.McVerticalTabsCssStyler = McVerticalTabsCssStyler;
2010
- exports.mcTabsAnimations = mcTabsAnimations;
2011
-
2012
- Object.defineProperty(exports, '__esModule', { value: true });
2013
-
2014
- })));
2015
- //# sourceMappingURL=ptsecurity-mosaic-tabs.umd.js.map