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