@ptsecurity/mosaic 13.3.0 → 13.5.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 (922) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +6 -6
  3. package/_theming.scss +7091 -6885
  4. package/_visual.scss +2690 -2580
  5. package/autocomplete/autocomplete-origin.directive.d.ts +12 -12
  6. package/autocomplete/autocomplete-trigger.directive.d.ts +167 -167
  7. package/autocomplete/autocomplete.component.d.ts +73 -73
  8. package/autocomplete/autocomplete.module.d.ts +12 -12
  9. package/autocomplete/index.d.ts +1 -1
  10. package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +5 -5
  11. package/autocomplete/public-api.d.ts +4 -4
  12. package/button/button.component.d.ts +40 -40
  13. package/button/button.module.d.ts +10 -10
  14. package/button/index.d.ts +1 -1
  15. package/button/ptsecurity-mosaic-button.d.ts +5 -5
  16. package/button/public-api.d.ts +2 -2
  17. package/button-toggle/button-toggle.component.d.ts +141 -141
  18. package/button-toggle/button-toggle.module.d.ts +9 -9
  19. package/button-toggle/index.d.ts +1 -1
  20. package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +5 -5
  21. package/button-toggle/public-api.d.ts +2 -2
  22. package/card/card.component.d.ts +26 -26
  23. package/card/card.module.d.ts +10 -10
  24. package/card/index.d.ts +1 -1
  25. package/card/ptsecurity-mosaic-card.d.ts +5 -5
  26. package/card/public-api.d.ts +2 -2
  27. package/checkbox/README.md +1 -1
  28. package/checkbox/checkbox-config.d.ts +13 -13
  29. package/checkbox/checkbox-module.d.ts +9 -9
  30. package/checkbox/checkbox-required-validator.d.ts +13 -13
  31. package/checkbox/checkbox.d.ts +140 -140
  32. package/checkbox/index.d.ts +1 -1
  33. package/checkbox/ptsecurity-mosaic-checkbox.d.ts +5 -5
  34. package/checkbox/public-api.d.ts +4 -4
  35. package/core/animation/animation.d.ts +6 -6
  36. package/core/animation/fade-animations.d.ts +2 -2
  37. package/core/animation/index.d.ts +3 -3
  38. package/core/animation/select-animations.d.ts +12 -12
  39. package/core/common-behaviors/color.d.ts +19 -19
  40. package/core/common-behaviors/common-module.d.ts +25 -25
  41. package/core/common-behaviors/constructor.d.ts +9 -9
  42. package/core/common-behaviors/disabled.d.ts +8 -8
  43. package/core/common-behaviors/error-state.d.ts +25 -25
  44. package/core/common-behaviors/index.d.ts +5 -5
  45. package/core/common-behaviors/tabindex.d.ts +8 -8
  46. package/core/error/error-options.d.ts +14 -14
  47. package/core/formatters/date/formatter.d.ts +203 -203
  48. package/core/formatters/date/templates/en-US.d.ts +74 -74
  49. package/core/formatters/date/templates/ru-RU.d.ts +74 -74
  50. package/core/formatters/index.d.ts +9 -9
  51. package/core/formatters/number/formatter.d.ts +27 -27
  52. package/core/forms/forms-module.d.ts +7 -7
  53. package/core/forms/forms.directive.d.ts +22 -22
  54. package/core/forms/index.d.ts +2 -2
  55. package/core/highlight/highlight.pipe.d.ts +7 -7
  56. package/core/highlight/index.d.ts +9 -9
  57. package/core/index.d.ts +1 -1
  58. package/core/label/label-options.d.ts +13 -13
  59. package/core/line/line.d.ts +28 -28
  60. package/core/option/action.d.ts +42 -42
  61. package/core/option/index.d.ts +4 -4
  62. package/core/option/optgroup.d.ts +16 -16
  63. package/core/option/option-module.d.ts +11 -11
  64. package/core/option/option.d.ts +115 -115
  65. package/core/overlay/overlay-position-map.d.ts +34 -34
  66. package/core/pop-up/constants.d.ts +29 -29
  67. package/core/pop-up/index.d.ts +3 -3
  68. package/core/pop-up/pop-up-trigger.d.ts +70 -70
  69. package/core/pop-up/pop-up.d.ts +36 -36
  70. package/core/ptsecurity-mosaic-core.d.ts +5 -5
  71. package/core/public-api.d.ts +17 -17
  72. package/core/select/constants.d.ts +23 -23
  73. package/core/select/errors.d.ts +19 -19
  74. package/core/select/events.d.ts +1 -1
  75. package/core/select/index.d.ts +3 -3
  76. package/core/selection/constants.d.ts +4 -4
  77. package/core/selection/index.d.ts +3 -3
  78. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +21 -21
  79. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +8 -8
  80. package/core/services/measure-scrollbar.service.d.ts +11 -11
  81. package/core/utils/index.d.ts +1 -1
  82. package/core/utils/public-api.d.ts +1 -1
  83. package/core/utils/utils.d.ts +2 -2
  84. package/core/validation/index.d.ts +1 -1
  85. package/core/validation/validation.d.ts +18 -16
  86. package/core/version.d.ts +2 -2
  87. package/datepicker/calendar-body.component.d.ts +63 -63
  88. package/datepicker/calendar.component.d.ts +151 -151
  89. package/datepicker/datepicker-animations.d.ts +9 -9
  90. package/datepicker/datepicker-errors.d.ts +2 -2
  91. package/datepicker/datepicker-input.directive.d.ts +178 -172
  92. package/datepicker/datepicker-intl.d.ts +32 -32
  93. package/datepicker/datepicker-module.d.ts +20 -20
  94. package/datepicker/datepicker-toggle.component.d.ts +35 -35
  95. package/datepicker/datepicker.component.d.ts +158 -158
  96. package/datepicker/index.d.ts +1 -1
  97. package/datepicker/month-view.component.d.ts +93 -93
  98. package/datepicker/multi-year-view.component.d.ts +72 -72
  99. package/datepicker/ptsecurity-mosaic-datepicker.d.ts +5 -5
  100. package/datepicker/public-api.d.ts +11 -11
  101. package/datepicker/year-view.component.d.ts +90 -90
  102. package/design-tokens/index.d.ts +1 -1
  103. package/design-tokens/legacy-2017/tokens/components/alert.json5 +83 -0
  104. package/design-tokens/legacy-2017/tokens/components/autocomplete.json5 +11 -0
  105. package/design-tokens/legacy-2017/tokens/components/badge.json5 +174 -0
  106. package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +10 -0
  107. package/design-tokens/legacy-2017/tokens/components/button.json5 +142 -0
  108. package/design-tokens/legacy-2017/tokens/components/card.json5 +51 -0
  109. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +97 -0
  110. package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +64 -0
  111. package/design-tokens/legacy-2017/tokens/components/divider.json5 +8 -0
  112. package/design-tokens/legacy-2017/tokens/components/dl.json5 +38 -0
  113. package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +48 -0
  114. package/design-tokens/legacy-2017/tokens/components/form-field.json5 +92 -0
  115. package/design-tokens/legacy-2017/tokens/components/forms.json5 +52 -0
  116. package/design-tokens/legacy-2017/tokens/components/icon.json5 +104 -0
  117. package/design-tokens/legacy-2017/tokens/components/input.json5 +12 -0
  118. package/design-tokens/legacy-2017/tokens/components/link.json5 +50 -0
  119. package/design-tokens/legacy-2017/tokens/components/list.json5 +13 -0
  120. package/design-tokens/legacy-2017/tokens/components/modal.json5 +81 -0
  121. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +70 -0
  122. package/design-tokens/legacy-2017/tokens/components/optgroup.json5 +10 -0
  123. package/design-tokens/legacy-2017/tokens/components/option.json5 +12 -0
  124. package/design-tokens/legacy-2017/tokens/components/popover.json5 +68 -0
  125. package/design-tokens/legacy-2017/tokens/components/popup.json5 +18 -0
  126. package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +13 -0
  127. package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +7 -0
  128. package/design-tokens/legacy-2017/tokens/components/radio.json5 +44 -0
  129. package/design-tokens/legacy-2017/tokens/components/select.json5 +24 -0
  130. package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +32 -0
  131. package/design-tokens/legacy-2017/tokens/components/table.json5 +15 -0
  132. package/design-tokens/legacy-2017/tokens/components/tabs.json5 +101 -0
  133. package/design-tokens/legacy-2017/tokens/components/tags.json5 +134 -0
  134. package/design-tokens/legacy-2017/tokens/components/textarea.json5 +12 -0
  135. package/design-tokens/legacy-2017/tokens/components/timepicker.json5 +7 -0
  136. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -0
  137. package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +83 -0
  138. package/design-tokens/legacy-2017/tokens/components/tree.json5 +15 -0
  139. package/design-tokens/legacy-2017/tokens/properties/aliases.json5 +3 -0
  140. package/design-tokens/legacy-2017/tokens/properties/colors.json5 +118 -0
  141. package/design-tokens/legacy-2017/tokens/properties/font.json5 +12 -0
  142. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +49 -0
  143. package/design-tokens/legacy-2017/tokens/properties/padding.json5 +3 -0
  144. package/design-tokens/legacy-2017/tokens/properties/palette.json5 +163 -0
  145. package/design-tokens/legacy-2017/tokens/properties/typography.json5 +175 -0
  146. package/design-tokens/legacy-2017/tokens.d.ts +7839 -7758
  147. package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -0
  148. package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -0
  149. package/design-tokens/pt-2022/tokens/components/badge.json5 +174 -0
  150. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -0
  151. package/design-tokens/pt-2022/tokens/components/button.json5 +142 -0
  152. package/design-tokens/pt-2022/tokens/components/card.json5 +51 -0
  153. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +97 -0
  154. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -0
  155. package/design-tokens/pt-2022/tokens/components/divider.json5 +8 -0
  156. package/design-tokens/pt-2022/tokens/components/dl.json5 +38 -0
  157. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +48 -0
  158. package/design-tokens/pt-2022/tokens/components/form-field.json5 +92 -0
  159. package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -0
  160. package/design-tokens/pt-2022/tokens/components/icon.json5 +104 -0
  161. package/design-tokens/pt-2022/tokens/components/input.json5 +12 -0
  162. package/design-tokens/pt-2022/tokens/components/link.json5 +50 -0
  163. package/design-tokens/pt-2022/tokens/components/list.json5 +13 -0
  164. package/design-tokens/pt-2022/tokens/components/modal.json5 +81 -0
  165. package/design-tokens/pt-2022/tokens/components/navbar.json5 +70 -0
  166. package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -0
  167. package/design-tokens/pt-2022/tokens/components/option.json5 +12 -0
  168. package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -0
  169. package/design-tokens/pt-2022/tokens/components/popup.json5 +18 -0
  170. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -0
  171. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -0
  172. package/design-tokens/pt-2022/tokens/components/radio.json5 +44 -0
  173. package/design-tokens/pt-2022/tokens/components/select.json5 +24 -0
  174. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +32 -0
  175. package/design-tokens/pt-2022/tokens/components/table.json5 +15 -0
  176. package/design-tokens/pt-2022/tokens/components/tabs.json5 +101 -0
  177. package/design-tokens/pt-2022/tokens/components/tags.json5 +137 -0
  178. package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -0
  179. package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -0
  180. package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -0
  181. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -0
  182. package/design-tokens/pt-2022/tokens/components/tree.json5 +15 -0
  183. package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -0
  184. package/design-tokens/pt-2022/tokens/properties/colors.json5 +120 -0
  185. package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -0
  186. package/design-tokens/pt-2022/tokens/properties/globals.json5 +49 -0
  187. package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -0
  188. package/design-tokens/pt-2022/tokens/properties/palette.json5 +233 -0
  189. package/design-tokens/pt-2022/tokens/properties/typography.json5 +175 -0
  190. package/design-tokens/pt-2022/tokens.d.ts +9171 -8795
  191. package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +5 -5
  192. package/design-tokens/public-api.d.ts +3 -3
  193. package/design-tokens/style-dictionary/build.js +63 -0
  194. package/design-tokens/style-dictionary/configs/css.js +13 -0
  195. package/design-tokens/style-dictionary/configs/index.js +48 -0
  196. package/design-tokens/style-dictionary/configs/js.js +9 -0
  197. package/design-tokens/style-dictionary/configs/scss.js +23 -0
  198. package/design-tokens/style-dictionary/filters/color.js +7 -0
  199. package/design-tokens/style-dictionary/filters/palette.js +7 -0
  200. package/design-tokens/style-dictionary/filters/size.js +7 -0
  201. package/design-tokens/style-dictionary/filters/typography.js +7 -0
  202. package/design-tokens/style-dictionary/formats/palette.js +25 -0
  203. package/design-tokens/style-dictionary/formats/typography.js +52 -0
  204. package/design-tokens/style-dictionary/transformGroups/css.js +13 -0
  205. package/design-tokens/style-dictionary/transformGroups/scss.js +12 -0
  206. package/design-tokens/style-dictionary/transformGroups/ts.js +11 -0
  207. package/design-tokens/style-dictionary/transforms/attribute/palette.js +9 -0
  208. package/design-tokens/style-dictionary/transforms/attribute/prefix.js +11 -0
  209. package/design-tokens/style-dictionary/transforms/attribute/size.js +8 -0
  210. package/design-tokens/style-dictionary/transforms/attribute/typography.js +9 -0
  211. package/divider/divider.component.d.ts +11 -11
  212. package/divider/divider.module.d.ts +8 -8
  213. package/divider/index.d.ts +1 -1
  214. package/divider/ptsecurity-mosaic-divider.d.ts +5 -5
  215. package/divider/public-api.d.ts +2 -2
  216. package/dl/dl.component.d.ts +26 -26
  217. package/dl/dl.module.d.ts +10 -10
  218. package/dl/index.d.ts +1 -1
  219. package/dl/ptsecurity-mosaic-dl.d.ts +5 -5
  220. package/dl/public-api.d.ts +2 -2
  221. package/dropdown/dropdown-animations.d.ts +11 -11
  222. package/dropdown/dropdown-content.directive.d.ts +32 -32
  223. package/dropdown/dropdown-errors.d.ts +17 -17
  224. package/dropdown/dropdown-item.component.d.ts +50 -50
  225. package/dropdown/dropdown-trigger.directive.d.ts +136 -135
  226. package/dropdown/dropdown.component.d.ts +121 -121
  227. package/dropdown/dropdown.module.d.ts +13 -13
  228. package/dropdown/dropdown.types.d.ts +53 -53
  229. package/dropdown/index.d.ts +1 -1
  230. package/dropdown/ptsecurity-mosaic-dropdown.d.ts +5 -5
  231. package/dropdown/public-api.d.ts +8 -8
  232. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -21
  233. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -555
  234. package/esm2020/autocomplete/autocomplete.component.mjs +154 -154
  235. package/esm2020/autocomplete/autocomplete.module.mjs +34 -34
  236. package/esm2020/autocomplete/index.mjs +2 -2
  237. package/esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs +4 -4
  238. package/esm2020/autocomplete/public-api.mjs +5 -5
  239. package/esm2020/button/button.component.mjs +137 -137
  240. package/esm2020/button/button.module.mjs +38 -38
  241. package/esm2020/button/index.mjs +2 -2
  242. package/esm2020/button/ptsecurity-mosaic-button.mjs +4 -4
  243. package/esm2020/button/public-api.mjs +3 -3
  244. package/esm2020/button-toggle/button-toggle.component.mjs +362 -362
  245. package/esm2020/button-toggle/button-toggle.module.mjs +19 -19
  246. package/esm2020/button-toggle/index.mjs +2 -2
  247. package/esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs +4 -4
  248. package/esm2020/button-toggle/public-api.mjs +3 -3
  249. package/esm2020/card/card.component.mjs +80 -80
  250. package/esm2020/card/card.module.mjs +30 -30
  251. package/esm2020/card/index.mjs +2 -2
  252. package/esm2020/card/ptsecurity-mosaic-card.mjs +4 -4
  253. package/esm2020/card/public-api.mjs +3 -3
  254. package/esm2020/checkbox/checkbox-config.mjs +6 -6
  255. package/esm2020/checkbox/checkbox-module.mjs +19 -19
  256. package/esm2020/checkbox/checkbox-required-validator.mjs +27 -27
  257. package/esm2020/checkbox/checkbox.mjs +316 -315
  258. package/esm2020/checkbox/index.mjs +2 -2
  259. package/esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs +4 -4
  260. package/esm2020/checkbox/public-api.mjs +5 -5
  261. package/esm2020/core/animation/animation.mjs +8 -8
  262. package/esm2020/core/animation/fade-animations.mjs +9 -9
  263. package/esm2020/core/animation/index.mjs +4 -4
  264. package/esm2020/core/animation/select-animations.mjs +45 -45
  265. package/esm2020/core/common-behaviors/color.mjs +30 -30
  266. package/esm2020/core/common-behaviors/common-module.mjs +83 -83
  267. package/esm2020/core/common-behaviors/constructor.mjs +2 -2
  268. package/esm2020/core/common-behaviors/disabled.mjs +17 -17
  269. package/esm2020/core/common-behaviors/error-state.mjs +31 -31
  270. package/esm2020/core/common-behaviors/index.mjs +6 -6
  271. package/esm2020/core/common-behaviors/tabindex.mjs +18 -18
  272. package/esm2020/core/error/error-options.mjs +26 -26
  273. package/esm2020/core/formatters/date/formatter.mjs +359 -359
  274. package/esm2020/core/formatters/date/templates/en-US.mjs +281 -281
  275. package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -281
  276. package/esm2020/core/formatters/index.mjs +20 -20
  277. package/esm2020/core/formatters/number/formatter.mjs +105 -105
  278. package/esm2020/core/forms/forms-module.mjs +24 -24
  279. package/esm2020/core/forms/forms.directive.mjs +66 -66
  280. package/esm2020/core/forms/index.mjs +3 -3
  281. package/esm2020/core/highlight/highlight.pipe.mjs +17 -17
  282. package/esm2020/core/highlight/index.mjs +19 -19
  283. package/esm2020/core/index.mjs +2 -2
  284. package/esm2020/core/label/label-options.mjs +4 -4
  285. package/esm2020/core/line/line.mjs +70 -70
  286. package/esm2020/core/option/action.mjs +121 -121
  287. package/esm2020/core/option/index.mjs +5 -5
  288. package/esm2020/core/option/optgroup.mjs +31 -31
  289. package/esm2020/core/option/option-module.mjs +21 -21
  290. package/esm2020/core/option/option.mjs +257 -257
  291. package/esm2020/core/overlay/overlay-position-map.mjs +244 -244
  292. package/esm2020/core/pop-up/constants.mjs +34 -34
  293. package/esm2020/core/pop-up/index.mjs +4 -4
  294. package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -239
  295. package/esm2020/core/pop-up/pop-up.mjs +94 -94
  296. package/esm2020/core/ptsecurity-mosaic-core.mjs +4 -4
  297. package/esm2020/core/public-api.mjs +18 -18
  298. package/esm2020/core/select/constants.mjs +27 -27
  299. package/esm2020/core/select/errors.mjs +26 -26
  300. package/esm2020/core/select/events.mjs +2 -2
  301. package/esm2020/core/select/index.mjs +4 -4
  302. package/esm2020/core/selection/constants.mjs +6 -6
  303. package/esm2020/core/selection/index.mjs +4 -4
  304. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -37
  305. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -18
  306. package/esm2020/core/services/measure-scrollbar.service.mjs +48 -48
  307. package/esm2020/core/utils/index.mjs +2 -2
  308. package/esm2020/core/utils/public-api.mjs +2 -2
  309. package/esm2020/core/utils/utils.mjs +5 -5
  310. package/esm2020/core/validation/index.mjs +2 -2
  311. package/esm2020/core/validation/validation.mjs +118 -89
  312. package/esm2020/core/version.mjs +3 -3
  313. package/esm2020/datepicker/calendar-body.component.mjs +106 -106
  314. package/esm2020/datepicker/calendar.component.mjs +362 -362
  315. package/esm2020/datepicker/datepicker-animations.mjs +32 -32
  316. package/esm2020/datepicker/datepicker-errors.mjs +6 -6
  317. package/esm2020/datepicker/datepicker-input.directive.mjs +936 -900
  318. package/esm2020/datepicker/datepicker-intl.mjs +40 -40
  319. package/esm2020/datepicker/datepicker-module.mjs +107 -107
  320. package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -86
  321. package/esm2020/datepicker/datepicker.component.mjs +408 -408
  322. package/esm2020/datepicker/index.mjs +2 -2
  323. package/esm2020/datepicker/month-view.component.mjs +257 -257
  324. package/esm2020/datepicker/multi-year-view.component.mjs +218 -218
  325. package/esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs +4 -4
  326. package/esm2020/datepicker/public-api.mjs +12 -12
  327. package/esm2020/datepicker/year-view.component.mjs +253 -253
  328. package/esm2020/design-tokens/index.mjs +2 -2
  329. package/esm2020/design-tokens/legacy-2017/tokens.mjs +1133 -1052
  330. package/esm2020/design-tokens/pt-2022/tokens.mjs +1203 -1112
  331. package/esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs +4 -4
  332. package/esm2020/design-tokens/public-api.mjs +4 -4
  333. package/esm2020/divider/divider.component.mjs +39 -39
  334. package/esm2020/divider/divider.module.mjs +18 -18
  335. package/esm2020/divider/index.mjs +2 -2
  336. package/esm2020/divider/ptsecurity-mosaic-divider.mjs +4 -4
  337. package/esm2020/divider/public-api.mjs +3 -3
  338. package/esm2020/dl/dl.component.mjs +78 -78
  339. package/esm2020/dl/dl.module.mjs +42 -42
  340. package/esm2020/dl/index.mjs +2 -2
  341. package/esm2020/dl/ptsecurity-mosaic-dl.mjs +4 -4
  342. package/esm2020/dl/public-api.mjs +3 -3
  343. package/esm2020/dropdown/dropdown-animations.mjs +41 -41
  344. package/esm2020/dropdown/dropdown-content.directive.mjs +64 -64
  345. package/esm2020/dropdown/dropdown-errors.mjs +29 -29
  346. package/esm2020/dropdown/dropdown-item.component.mjs +139 -139
  347. package/esm2020/dropdown/dropdown-trigger.directive.mjs +489 -485
  348. package/esm2020/dropdown/dropdown.component.mjs +292 -292
  349. package/esm2020/dropdown/dropdown.module.mjs +50 -50
  350. package/esm2020/dropdown/dropdown.types.mjs +24 -24
  351. package/esm2020/dropdown/index.mjs +2 -2
  352. package/esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs +4 -4
  353. package/esm2020/dropdown/public-api.mjs +9 -9
  354. package/esm2020/form-field/cleaner.mjs +23 -23
  355. package/esm2020/form-field/form-field-control.mjs +5 -5
  356. package/esm2020/form-field/form-field-errors.mjs +7 -7
  357. package/esm2020/form-field/form-field.mjs +225 -225
  358. package/esm2020/form-field/form-field.module.mjs +57 -57
  359. package/esm2020/form-field/hint.mjs +23 -23
  360. package/esm2020/form-field/index.mjs +2 -2
  361. package/esm2020/form-field/password-hint.mjs +134 -134
  362. package/esm2020/form-field/prefix.mjs +13 -13
  363. package/esm2020/form-field/ptsecurity-mosaic-form-field.mjs +4 -4
  364. package/esm2020/form-field/public-api.mjs +11 -11
  365. package/esm2020/form-field/stepper.mjs +55 -55
  366. package/esm2020/form-field/suffix.mjs +13 -13
  367. package/esm2020/icon/icon.component.mjs +44 -44
  368. package/esm2020/icon/icon.module.mjs +38 -38
  369. package/esm2020/icon/index.mjs +2 -2
  370. package/esm2020/icon/ptsecurity-mosaic-icon.mjs +4 -4
  371. package/esm2020/icon/public-api.mjs +3 -3
  372. package/esm2020/index.mjs +2 -2
  373. package/esm2020/input/index.mjs +2 -2
  374. package/esm2020/input/input-errors.mjs +4 -4
  375. package/esm2020/input/input-number-validators.mjs +92 -92
  376. package/esm2020/input/input-number.mjs +163 -163
  377. package/esm2020/input/input-password.mjs +368 -368
  378. package/esm2020/input/input-value-accessor.mjs +3 -3
  379. package/esm2020/input/input.mjs +334 -334
  380. package/esm2020/input/input.module.mjs +65 -65
  381. package/esm2020/input/ptsecurity-mosaic-input.mjs +4 -4
  382. package/esm2020/input/public-api.mjs +7 -7
  383. package/esm2020/link/index.mjs +2 -2
  384. package/esm2020/link/link.component.mjs +107 -107
  385. package/esm2020/link/link.module.mjs +26 -26
  386. package/esm2020/link/ptsecurity-mosaic-link.mjs +4 -4
  387. package/esm2020/link/public-api.mjs +3 -3
  388. package/esm2020/list/index.mjs +2 -2
  389. package/esm2020/list/list-selection.component.mjs +686 -687
  390. package/esm2020/list/list.component.mjs +44 -44
  391. package/esm2020/list/list.module.mjs +55 -55
  392. package/esm2020/list/ptsecurity-mosaic-list.mjs +4 -4
  393. package/esm2020/list/public-api.mjs +4 -4
  394. package/esm2020/modal/css-unit.pipe.mjs +17 -17
  395. package/esm2020/modal/index.mjs +2 -2
  396. package/esm2020/modal/modal-control.service.mjs +85 -85
  397. package/esm2020/modal/modal-ref.class.mjs +8 -8
  398. package/esm2020/modal/modal-util.mjs +17 -17
  399. package/esm2020/modal/modal.component.mjs +501 -501
  400. package/esm2020/modal/modal.directive.mjs +52 -52
  401. package/esm2020/modal/modal.module.mjs +72 -72
  402. package/esm2020/modal/modal.service.mjs +124 -124
  403. package/esm2020/modal/modal.type.mjs +7 -7
  404. package/esm2020/modal/ptsecurity-mosaic-modal.mjs +4 -4
  405. package/esm2020/modal/public-api.mjs +7 -7
  406. package/esm2020/navbar/index.mjs +2 -2
  407. package/esm2020/navbar/navbar-item.component.mjs +582 -584
  408. package/esm2020/navbar/navbar.component.mjs +237 -237
  409. package/esm2020/navbar/navbar.module.mjs +92 -92
  410. package/esm2020/navbar/ptsecurity-mosaic-navbar.mjs +4 -4
  411. package/esm2020/navbar/public-api.mjs +5 -5
  412. package/esm2020/navbar/vertical-navbar.animation.mjs +10 -10
  413. package/esm2020/navbar/vertical-navbar.component.mjs +114 -114
  414. package/esm2020/popover/index.mjs +2 -2
  415. package/esm2020/popover/popover-animations.mjs +16 -16
  416. package/esm2020/popover/popover-confirm.component.mjs +108 -108
  417. package/esm2020/popover/popover.component.mjs +253 -253
  418. package/esm2020/popover/popover.module.mjs +24 -24
  419. package/esm2020/popover/ptsecurity-mosaic-popover.mjs +4 -4
  420. package/esm2020/popover/public-api.mjs +5 -5
  421. package/esm2020/progress-bar/index.mjs +2 -2
  422. package/esm2020/progress-bar/progress-bar.component.mjs +42 -42
  423. package/esm2020/progress-bar/progress-bar.module.mjs +30 -30
  424. package/esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs +4 -4
  425. package/esm2020/progress-bar/public-api.mjs +3 -3
  426. package/esm2020/progress-spinner/index.mjs +2 -2
  427. package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -46
  428. package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -30
  429. package/esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +4 -4
  430. package/esm2020/progress-spinner/public-api.mjs +3 -3
  431. package/esm2020/ptsecurity-mosaic.mjs +4 -4
  432. package/esm2020/public-api.mjs +2 -2
  433. package/esm2020/radio/index.mjs +2 -2
  434. package/esm2020/radio/ptsecurity-mosaic-radio.mjs +4 -4
  435. package/esm2020/radio/public-api.mjs +3 -3
  436. package/esm2020/radio/radio.component.mjs +458 -458
  437. package/esm2020/radio/radio.module.mjs +20 -20
  438. package/esm2020/select/index.mjs +2 -2
  439. package/esm2020/select/ptsecurity-mosaic-select.mjs +4 -4
  440. package/esm2020/select/public-api.mjs +4 -4
  441. package/esm2020/select/select-option.directive.mjs +65 -65
  442. package/esm2020/select/select.component.mjs +1107 -1110
  443. package/esm2020/select/select.module.mjs +73 -73
  444. package/esm2020/sidebar/index.mjs +2 -2
  445. package/esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs +4 -4
  446. package/esm2020/sidebar/public-api.mjs +3 -3
  447. package/esm2020/sidebar/sidebar-animations.mjs +23 -23
  448. package/esm2020/sidebar/sidebar.component.mjs +146 -146
  449. package/esm2020/sidebar/sidebar.module.mjs +30 -30
  450. package/esm2020/sidepanel/index.mjs +2 -2
  451. package/esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs +4 -4
  452. package/esm2020/sidepanel/public-api.mjs +7 -7
  453. package/esm2020/sidepanel/sidepanel-animations.mjs +26 -26
  454. package/esm2020/sidepanel/sidepanel-config.mjs +26 -26
  455. package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -106
  456. package/esm2020/sidepanel/sidepanel-directives.mjs +159 -159
  457. package/esm2020/sidepanel/sidepanel-ref.mjs +53 -53
  458. package/esm2020/sidepanel/sidepanel.module.mjs +74 -74
  459. package/esm2020/sidepanel/sidepanel.service.mjs +167 -167
  460. package/esm2020/splitter/index.mjs +2 -2
  461. package/esm2020/splitter/ptsecurity-mosaic-splitter.mjs +4 -4
  462. package/esm2020/splitter/public-api.mjs +3 -3
  463. package/esm2020/splitter/splitter.component.mjs +482 -482
  464. package/esm2020/splitter/splitter.module.mjs +40 -40
  465. package/esm2020/table/index.mjs +2 -2
  466. package/esm2020/table/ptsecurity-mosaic-table.mjs +4 -4
  467. package/esm2020/table/public-api.mjs +3 -3
  468. package/esm2020/table/table.component.mjs +16 -16
  469. package/esm2020/table/table.module.mjs +30 -30
  470. package/esm2020/tabs/index.mjs +2 -2
  471. package/esm2020/tabs/paginated-tab-header.mjs +479 -479
  472. package/esm2020/tabs/ptsecurity-mosaic-tabs.mjs +4 -4
  473. package/esm2020/tabs/public-api.mjs +11 -11
  474. package/esm2020/tabs/tab-body.component.mjs +178 -178
  475. package/esm2020/tabs/tab-content.directive.mjs +15 -15
  476. package/esm2020/tabs/tab-group.component.mjs +350 -350
  477. package/esm2020/tabs/tab-header.component.mjs +67 -67
  478. package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -78
  479. package/esm2020/tabs/tab-label.directive.mjs +17 -17
  480. package/esm2020/tabs/tab-nav-bar/index.mjs +2 -2
  481. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -110
  482. package/esm2020/tabs/tab.component.mjs +133 -133
  483. package/esm2020/tabs/tabs-animations.mjs +24 -24
  484. package/esm2020/tabs/tabs.module.mjs +104 -104
  485. package/esm2020/tags/index.mjs +2 -2
  486. package/esm2020/tags/ptsecurity-mosaic-tags.mjs +4 -4
  487. package/esm2020/tags/public-api.mjs +6 -6
  488. package/esm2020/tags/tag-default-options.mjs +4 -4
  489. package/esm2020/tags/tag-input.mjs +229 -229
  490. package/esm2020/tags/tag-list.component.mjs +722 -722
  491. package/esm2020/tags/tag-text-control.mjs +2 -2
  492. package/esm2020/tags/tag.component.mjs +375 -377
  493. package/esm2020/tags/tag.module.mjs +56 -56
  494. package/esm2020/textarea/index.mjs +2 -2
  495. package/esm2020/textarea/ptsecurity-mosaic-textarea.mjs +4 -4
  496. package/esm2020/textarea/public-api.mjs +3 -3
  497. package/esm2020/textarea/textarea.component.mjs +269 -269
  498. package/esm2020/textarea/textarea.module.mjs +21 -21
  499. package/esm2020/timepicker/index.mjs +2 -2
  500. package/esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs +4 -4
  501. package/esm2020/timepicker/public-api.mjs +4 -4
  502. package/esm2020/timepicker/timepicker.constants.mjs +25 -25
  503. package/esm2020/timepicker/timepicker.directive.mjs +676 -653
  504. package/esm2020/timepicker/timepicker.module.mjs +34 -34
  505. package/esm2020/toggle/index.mjs +2 -2
  506. package/esm2020/toggle/ptsecurity-mosaic-toggle.mjs +4 -4
  507. package/esm2020/toggle/public-api.mjs +3 -3
  508. package/esm2020/toggle/toggle.component.mjs +158 -158
  509. package/esm2020/toggle/toggle.module.mjs +20 -20
  510. package/esm2020/tooltip/index.mjs +2 -2
  511. package/esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs +4 -4
  512. package/esm2020/tooltip/public-api.mjs +3 -3
  513. package/esm2020/tooltip/tooltip.animations.mjs +19 -19
  514. package/esm2020/tooltip/tooltip.component.mjs +295 -295
  515. package/esm2020/tooltip/tooltip.module.mjs +43 -43
  516. package/esm2020/tree/control/base-tree-control.mjs +60 -60
  517. package/esm2020/tree/control/flat-tree-control.mjs +123 -123
  518. package/esm2020/tree/control/nested-tree-control.mjs +41 -41
  519. package/esm2020/tree/control/tree-control.mjs +2 -2
  520. package/esm2020/tree/data-source/flat-data-source.mjs +162 -162
  521. package/esm2020/tree/data-source/nested-data-source.mjs +30 -30
  522. package/esm2020/tree/index.mjs +2 -2
  523. package/esm2020/tree/node.mjs +31 -31
  524. package/esm2020/tree/outlet.mjs +15 -15
  525. package/esm2020/tree/padding.directive.mjs +110 -113
  526. package/esm2020/tree/ptsecurity-mosaic-tree.mjs +4 -4
  527. package/esm2020/tree/public-api.mjs +16 -16
  528. package/esm2020/tree/toggle.mjs +80 -80
  529. package/esm2020/tree/tree-base.mjs +243 -243
  530. package/esm2020/tree/tree-errors.mjs +36 -36
  531. package/esm2020/tree/tree-option.component.mjs +236 -234
  532. package/esm2020/tree/tree-selection.component.mjs +540 -535
  533. package/esm2020/tree/tree.mjs +15 -15
  534. package/esm2020/tree/tree.module.mjs +57 -53
  535. package/esm2020/tree-select/index.mjs +2 -2
  536. package/esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs +4 -4
  537. package/esm2020/tree-select/public-api.mjs +3 -3
  538. package/esm2020/tree-select/tree-select.component.mjs +924 -925
  539. package/esm2020/tree-select/tree-select.module.mjs +47 -47
  540. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +726 -726
  541. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  542. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +367 -367
  543. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  544. package/fesm2015/ptsecurity-mosaic-button.mjs +160 -160
  545. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  546. package/fesm2015/ptsecurity-mosaic-card.mjs +96 -96
  547. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
  548. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +349 -348
  549. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  550. package/fesm2015/ptsecurity-mosaic-core.mjs +2642 -2613
  551. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  552. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2687 -2649
  553. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  554. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2426 -2173
  555. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  556. package/fesm2015/ptsecurity-mosaic-divider.mjs +48 -48
  557. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
  558. package/fesm2015/ptsecurity-mosaic-dl.mjs +108 -108
  559. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
  560. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1069 -1065
  561. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  562. package/fesm2015/ptsecurity-mosaic-form-field.mjs +506 -506
  563. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  564. package/fesm2015/ptsecurity-mosaic-icon.mjs +73 -73
  565. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
  566. package/fesm2015/ptsecurity-mosaic-input.mjs +975 -975
  567. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  568. package/fesm2015/ptsecurity-mosaic-link.mjs +121 -121
  569. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
  570. package/fesm2015/ptsecurity-mosaic-list.mjs +762 -763
  571. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  572. package/fesm2015/ptsecurity-mosaic-modal.mjs +824 -824
  573. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  574. package/fesm2015/ptsecurity-mosaic-navbar.mjs +993 -995
  575. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  576. package/fesm2015/ptsecurity-mosaic-popover.mjs +364 -364
  577. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  578. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +61 -61
  579. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  580. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +65 -65
  581. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  582. package/fesm2015/ptsecurity-mosaic-radio.mjs +464 -464
  583. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  584. package/fesm2015/ptsecurity-mosaic-select.mjs +1203 -1205
  585. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  586. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +185 -185
  587. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  588. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +555 -555
  589. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  590. package/fesm2015/ptsecurity-mosaic-splitter.mjs +511 -511
  591. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
  592. package/fesm2015/ptsecurity-mosaic-table.mjs +36 -36
  593. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
  594. package/fesm2015/ptsecurity-mosaic-tabs.mjs +1460 -1460
  595. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  596. package/fesm2015/ptsecurity-mosaic-tags.mjs +1342 -1344
  597. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  598. package/fesm2015/ptsecurity-mosaic-textarea.mjs +274 -274
  599. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  600. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +718 -695
  601. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  602. package/fesm2015/ptsecurity-mosaic-toggle.mjs +163 -163
  603. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  604. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +344 -344
  605. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  606. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +940 -940
  607. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  608. package/fesm2015/ptsecurity-mosaic-tree.mjs +1682 -1676
  609. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  610. package/fesm2015/ptsecurity-mosaic.mjs +2 -2
  611. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +722 -722
  612. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  613. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +365 -365
  614. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  615. package/fesm2020/ptsecurity-mosaic-button.mjs +160 -160
  616. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  617. package/fesm2020/ptsecurity-mosaic-card.mjs +96 -96
  618. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
  619. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +347 -346
  620. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  621. package/fesm2020/ptsecurity-mosaic-core.mjs +2671 -2642
  622. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  623. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2672 -2635
  624. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  625. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2426 -2173
  626. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  627. package/fesm2020/ptsecurity-mosaic-divider.mjs +48 -48
  628. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
  629. package/fesm2020/ptsecurity-mosaic-dl.mjs +108 -108
  630. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
  631. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1056 -1052
  632. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  633. package/fesm2020/ptsecurity-mosaic-form-field.mjs +491 -491
  634. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  635. package/fesm2020/ptsecurity-mosaic-icon.mjs +71 -71
  636. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
  637. package/fesm2020/ptsecurity-mosaic-input.mjs +964 -964
  638. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  639. package/fesm2020/ptsecurity-mosaic-link.mjs +120 -120
  640. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
  641. package/fesm2020/ptsecurity-mosaic-list.mjs +755 -756
  642. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  643. package/fesm2020/ptsecurity-mosaic-modal.mjs +820 -820
  644. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  645. package/fesm2020/ptsecurity-mosaic-navbar.mjs +977 -979
  646. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  647. package/fesm2020/ptsecurity-mosaic-popover.mjs +360 -360
  648. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  649. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +61 -61
  650. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  651. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +65 -65
  652. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  653. package/fesm2020/ptsecurity-mosaic-radio.mjs +462 -462
  654. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  655. package/fesm2020/ptsecurity-mosaic-select.mjs +1198 -1201
  656. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  657. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +185 -185
  658. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  659. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +552 -552
  660. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  661. package/fesm2020/ptsecurity-mosaic-splitter.mjs +511 -511
  662. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
  663. package/fesm2020/ptsecurity-mosaic-table.mjs +36 -36
  664. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
  665. package/fesm2020/ptsecurity-mosaic-tabs.mjs +1445 -1445
  666. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  667. package/fesm2020/ptsecurity-mosaic-tags.mjs +1335 -1337
  668. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  669. package/fesm2020/ptsecurity-mosaic-textarea.mjs +272 -272
  670. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  671. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +715 -692
  672. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  673. package/fesm2020/ptsecurity-mosaic-toggle.mjs +163 -163
  674. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  675. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +336 -336
  676. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  677. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +937 -938
  678. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  679. package/fesm2020/ptsecurity-mosaic-tree.mjs +1669 -1663
  680. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  681. package/fesm2020/ptsecurity-mosaic.mjs +2 -2
  682. package/form-field/cleaner.d.ts +7 -7
  683. package/form-field/form-field-control.d.ts +37 -37
  684. package/form-field/form-field-errors.d.ts +2 -2
  685. package/form-field/form-field.d.ts +69 -69
  686. package/form-field/form-field.module.d.ts +15 -15
  687. package/form-field/hint.d.ts +6 -6
  688. package/form-field/index.d.ts +1 -1
  689. package/form-field/password-hint.d.ts +40 -40
  690. package/form-field/prefix.d.ts +5 -5
  691. package/form-field/ptsecurity-mosaic-form-field.d.ts +5 -5
  692. package/form-field/public-api.d.ts +10 -10
  693. package/form-field/stepper.d.ts +11 -11
  694. package/form-field/suffix.d.ts +5 -5
  695. package/icon/icon.component.d.ts +18 -18
  696. package/icon/icon.module.d.ts +10 -10
  697. package/icon/index.d.ts +1 -1
  698. package/icon/ptsecurity-mosaic-icon.d.ts +5 -5
  699. package/icon/public-api.d.ts +2 -2
  700. package/index.d.ts +1 -1
  701. package/input/index.d.ts +1 -1
  702. package/input/input-errors.d.ts +1 -1
  703. package/input/input-number-validators.d.ts +39 -39
  704. package/input/input-number.d.ts +33 -33
  705. package/input/input-password.d.ts +121 -121
  706. package/input/input-value-accessor.d.ts +4 -4
  707. package/input/input.d.ts +116 -116
  708. package/input/input.module.d.ts +14 -14
  709. package/input/ptsecurity-mosaic-input.d.ts +5 -5
  710. package/input/public-api.d.ts +6 -6
  711. package/link/index.d.ts +1 -1
  712. package/link/link.component.d.ts +38 -38
  713. package/link/link.module.d.ts +9 -9
  714. package/link/ptsecurity-mosaic-link.d.ts +5 -5
  715. package/link/public-api.d.ts +2 -2
  716. package/list/index.d.ts +1 -1
  717. package/list/list-selection.component.d.ts +168 -168
  718. package/list/list.component.d.ts +18 -18
  719. package/list/list.module.d.ts +11 -11
  720. package/list/ptsecurity-mosaic-list.d.ts +5 -5
  721. package/list/public-api.d.ts +3 -3
  722. package/modal/README.md +33 -33
  723. package/modal/css-unit.pipe.d.ts +7 -7
  724. package/modal/index.d.ts +1 -1
  725. package/modal/modal-control.service.d.ts +20 -20
  726. package/modal/modal-ref.class.d.ts +36 -36
  727. package/modal/modal-util.d.ts +12 -12
  728. package/modal/modal.component.d.ts +126 -126
  729. package/modal/modal.directive.d.ts +17 -17
  730. package/modal/modal.module.d.ts +14 -14
  731. package/modal/modal.service.d.ts +33 -33
  732. package/modal/modal.type.d.ts +59 -59
  733. package/modal/ptsecurity-mosaic-modal.d.ts +5 -5
  734. package/modal/public-api.d.ts +6 -6
  735. package/navbar/README.md +41 -41
  736. package/navbar/index.d.ts +1 -1
  737. package/navbar/navbar-item.component.d.ts +161 -161
  738. package/navbar/navbar.component.d.ts +58 -58
  739. package/navbar/navbar.module.d.ts +14 -14
  740. package/navbar/ptsecurity-mosaic-navbar.d.ts +5 -5
  741. package/navbar/public-api.d.ts +4 -4
  742. package/navbar/vertical-navbar.animation.d.ts +2 -2
  743. package/navbar/vertical-navbar.component.d.ts +23 -23
  744. package/package.json +13 -10
  745. package/popover/README.md +32 -32
  746. package/popover/index.d.ts +1 -1
  747. package/popover/popover-animations.d.ts +4 -4
  748. package/popover/popover-confirm.component.d.ts +33 -33
  749. package/popover/popover.component.d.ts +74 -74
  750. package/popover/popover.module.d.ts +12 -12
  751. package/popover/ptsecurity-mosaic-popover.d.ts +5 -5
  752. package/popover/public-api.d.ts +4 -4
  753. package/prebuilt-themes/dark-theme.css +1 -1
  754. package/prebuilt-themes/default-theme.css +1 -1
  755. package/progress-bar/index.d.ts +1 -1
  756. package/progress-bar/progress-bar.component.d.ts +18 -18
  757. package/progress-bar/progress-bar.module.d.ts +9 -9
  758. package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +5 -5
  759. package/progress-bar/public-api.d.ts +2 -2
  760. package/progress-spinner/index.d.ts +1 -1
  761. package/progress-spinner/progress-spinner.component.d.ts +19 -19
  762. package/progress-spinner/progress-spinner.module.d.ts +9 -9
  763. package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +5 -5
  764. package/progress-spinner/public-api.d.ts +2 -2
  765. package/ptsecurity-mosaic.d.ts +5 -5
  766. package/public-api.d.ts +1 -1
  767. package/radio/index.d.ts +1 -1
  768. package/radio/ptsecurity-mosaic-radio.d.ts +5 -5
  769. package/radio/public-api.d.ts +2 -2
  770. package/radio/radio.component.d.ts +207 -207
  771. package/radio/radio.module.d.ts +10 -10
  772. package/schematics/README.md +35 -35
  773. package/select/index.d.ts +1 -1
  774. package/select/ptsecurity-mosaic-select.d.ts +5 -5
  775. package/select/public-api.d.ts +3 -3
  776. package/select/select-option.directive.d.ts +20 -20
  777. package/select/select.component.d.ts +307 -307
  778. package/select/select.module.d.ts +15 -15
  779. package/sidebar/index.d.ts +1 -1
  780. package/sidebar/ptsecurity-mosaic-sidebar.d.ts +5 -5
  781. package/sidebar/public-api.d.ts +2 -2
  782. package/sidebar/sidebar-animations.d.ts +8 -8
  783. package/sidebar/sidebar.component.d.ts +53 -53
  784. package/sidebar/sidebar.module.d.ts +8 -8
  785. package/sidepanel/index.d.ts +1 -1
  786. package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +5 -5
  787. package/sidepanel/public-api.d.ts +6 -6
  788. package/sidepanel/sidepanel-animations.d.ts +14 -14
  789. package/sidepanel/sidepanel-config.d.ts +25 -25
  790. package/sidepanel/sidepanel-container.component.d.ts +45 -45
  791. package/sidepanel/sidepanel-directives.d.ts +50 -50
  792. package/sidepanel/sidepanel-ref.d.ts +24 -24
  793. package/sidepanel/sidepanel.module.d.ts +15 -15
  794. package/sidepanel/sidepanel.service.d.ts +57 -57
  795. package/splitter/index.d.ts +1 -1
  796. package/splitter/ptsecurity-mosaic-splitter.d.ts +5 -5
  797. package/splitter/public-api.d.ts +2 -2
  798. package/splitter/splitter.component.d.ts +130 -130
  799. package/splitter/splitter.module.d.ts +9 -9
  800. package/table/index.d.ts +1 -1
  801. package/table/ptsecurity-mosaic-table.d.ts +5 -5
  802. package/table/public-api.d.ts +2 -2
  803. package/table/table.component.d.ts +5 -5
  804. package/table/table.module.d.ts +10 -10
  805. package/tabs/index.d.ts +1 -1
  806. package/tabs/paginated-tab-header.d.ts +179 -179
  807. package/tabs/ptsecurity-mosaic-tabs.d.ts +5 -5
  808. package/tabs/public-api.d.ts +10 -10
  809. package/tabs/tab-body.component.d.ts +95 -95
  810. package/tabs/tab-content.directive.d.ts +9 -9
  811. package/tabs/tab-group.component.d.ts +133 -133
  812. package/tabs/tab-header.component.d.ts +35 -35
  813. package/tabs/tab-label-wrapper.directive.d.ts +30 -30
  814. package/tabs/tab-label.directive.d.ts +9 -9
  815. package/tabs/tab-nav-bar/index.d.ts +1 -1
  816. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -38
  817. package/tabs/tab.component.d.ts +66 -66
  818. package/tabs/tabs-animations.d.ts +4 -4
  819. package/tabs/tabs.module.d.ts +20 -20
  820. package/tags/index.d.ts +1 -1
  821. package/tags/ptsecurity-mosaic-tags.d.ts +5 -5
  822. package/tags/public-api.d.ts +5 -5
  823. package/tags/tag-default-options.d.ts +8 -8
  824. package/tags/tag-input.d.ts +77 -77
  825. package/tags/tag-list.component.d.ts +240 -240
  826. package/tags/tag-text-control.d.ts +10 -10
  827. package/tags/tag.component.d.ts +135 -135
  828. package/tags/tag.module.d.ts +11 -11
  829. package/textarea/index.d.ts +1 -1
  830. package/textarea/ptsecurity-mosaic-textarea.d.ts +5 -5
  831. package/textarea/public-api.d.ts +2 -2
  832. package/textarea/textarea.component.d.ts +111 -111
  833. package/textarea/textarea.module.d.ts +11 -11
  834. package/timepicker/index.d.ts +1 -1
  835. package/timepicker/ptsecurity-mosaic-timepicker.d.ts +5 -5
  836. package/timepicker/public-api.d.ts +3 -3
  837. package/timepicker/timepicker.constants.d.ts +20 -20
  838. package/timepicker/timepicker.directive.d.ts +147 -142
  839. package/timepicker/timepicker.module.d.ts +11 -11
  840. package/toggle/index.d.ts +1 -1
  841. package/toggle/ptsecurity-mosaic-toggle.d.ts +5 -5
  842. package/toggle/public-api.d.ts +2 -2
  843. package/toggle/toggle.component.d.ts +54 -54
  844. package/toggle/toggle.module.d.ts +10 -10
  845. package/tooltip/index.d.ts +1 -1
  846. package/tooltip/ptsecurity-mosaic-tooltip.d.ts +5 -5
  847. package/tooltip/public-api.d.ts +2 -2
  848. package/tooltip/tooltip.animations.d.ts +8 -8
  849. package/tooltip/tooltip.component.d.ts +91 -91
  850. package/tooltip/tooltip.module.d.ts +9 -9
  851. package/tree/control/base-tree-control.d.ts +40 -40
  852. package/tree/control/flat-tree-control.d.ts +48 -48
  853. package/tree/control/nested-tree-control.d.ts +19 -19
  854. package/tree/control/tree-control.d.ts +44 -44
  855. package/tree/data-source/flat-data-source.d.ts +80 -80
  856. package/tree/data-source/nested-data-source.d.ts +15 -15
  857. package/tree/index.d.ts +1 -1
  858. package/tree/node.d.ts +34 -34
  859. package/tree/outlet.d.ts +9 -9
  860. package/tree/padding.directive.d.ts +45 -47
  861. package/tree/ptsecurity-mosaic-tree.d.ts +5 -5
  862. package/tree/public-api.d.ts +15 -15
  863. package/tree/toggle.d.ts +28 -28
  864. package/tree/tree-base.d.ts +97 -97
  865. package/tree/tree-errors.d.ts +25 -25
  866. package/tree/tree-option.component.d.ts +68 -68
  867. package/tree/tree-selection.component.d.ts +132 -130
  868. package/tree/tree.d.ts +6 -6
  869. package/tree/tree.module.d.ts +16 -16
  870. package/tree-select/index.d.ts +1 -1
  871. package/tree-select/ptsecurity-mosaic-tree-select.d.ts +5 -5
  872. package/tree-select/public-api.d.ts +2 -2
  873. package/tree-select/tree-select.component.d.ts +269 -269
  874. package/tree-select/tree-select.module.d.ts +14 -14
  875. package/schematics/collection.json +0 -4
  876. package/schematics/migration.json +0 -10
  877. package/schematics/ng-update/data/attribute-selectors.d.ts +0 -2
  878. package/schematics/ng-update/data/attribute-selectors.js +0 -5
  879. package/schematics/ng-update/data/attribute-selectors.js.map +0 -1
  880. package/schematics/ng-update/data/class-names.d.ts +0 -2
  881. package/schematics/ng-update/data/class-names.js +0 -5
  882. package/schematics/ng-update/data/class-names.js.map +0 -1
  883. package/schematics/ng-update/data/constructor-checks.d.ts +0 -2
  884. package/schematics/ng-update/data/constructor-checks.js +0 -5
  885. package/schematics/ng-update/data/constructor-checks.js.map +0 -1
  886. package/schematics/ng-update/data/css-selectors.d.ts +0 -2
  887. package/schematics/ng-update/data/css-selectors.js +0 -5
  888. package/schematics/ng-update/data/css-selectors.js.map +0 -1
  889. package/schematics/ng-update/data/element-selectors.d.ts +0 -2
  890. package/schematics/ng-update/data/element-selectors.js +0 -5
  891. package/schematics/ng-update/data/element-selectors.js.map +0 -1
  892. package/schematics/ng-update/data/index.d.ts +0 -10
  893. package/schematics/ng-update/data/index.js +0 -14
  894. package/schematics/ng-update/data/index.js.map +0 -1
  895. package/schematics/ng-update/data/input-names.d.ts +0 -2
  896. package/schematics/ng-update/data/input-names.js +0 -35
  897. package/schematics/ng-update/data/input-names.js.map +0 -1
  898. package/schematics/ng-update/data/method-call-checks.d.ts +0 -2
  899. package/schematics/ng-update/data/method-call-checks.js +0 -5
  900. package/schematics/ng-update/data/method-call-checks.js.map +0 -1
  901. package/schematics/ng-update/data/output-names.d.ts +0 -2
  902. package/schematics/ng-update/data/output-names.js +0 -5
  903. package/schematics/ng-update/data/output-names.js.map +0 -1
  904. package/schematics/ng-update/data/property-names.d.ts +0 -2
  905. package/schematics/ng-update/data/property-names.js +0 -5
  906. package/schematics/ng-update/data/property-names.js.map +0 -1
  907. package/schematics/ng-update/data/symbol-removal.d.ts +0 -2
  908. package/schematics/ng-update/data/symbol-removal.js +0 -5
  909. package/schematics/ng-update/data/symbol-removal.js.map +0 -1
  910. package/schematics/ng-update/index.d.ts +0 -2
  911. package/schematics/ng-update/index.js +0 -23
  912. package/schematics/ng-update/index.js.map +0 -1
  913. package/schematics/ng-update/update-9.0.0/mosaic-symbols.json +0 -255
  914. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.d.ts +0 -7
  915. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +0 -154
  916. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +0 -1
  917. package/schematics/ng-update/upgrade-data.d.ts +0 -2
  918. package/schematics/ng-update/upgrade-data.js +0 -17
  919. package/schematics/ng-update/upgrade-data.js.map +0 -1
  920. package/schematics/tsconfig.json +0 -29
  921. package/schematics/tsconfig.lib-test.json +0 -8
  922. package/schematics/tsconfig.lib.json +0 -17
@@ -21,1011 +21,1009 @@ import * as i3 from '@angular/cdk/overlay';
21
21
  import * as i4 from '@angular/cdk/bidi';
22
22
  import * as i5 from '@ptsecurity/mosaic/dropdown';
23
23
 
24
- class McFocusableComponent {
25
- constructor(changeDetectorRef) {
26
- this.changeDetectorRef = changeDetectorRef;
27
- this._tabIndex = 0;
28
- this.destroyed = new Subject();
29
- }
30
- get tabIndex() {
31
- return this._tabIndex;
32
- }
33
- set tabIndex(value) {
34
- this._tabIndex = value;
35
- }
36
- get optionFocusChanges() {
37
- return merge(...this.focusableItems.map((item) => item.onFocus));
38
- }
39
- get optionBlurChanges() {
40
- return merge(...this.focusableItems.map((option) => option.onBlur));
41
- }
42
- ngAfterContentInit() {
43
- this.keyManager = new FocusKeyManager(this.focusableItems)
44
- .withTypeAhead();
45
- this.keyManager.setFocusOrigin('keyboard');
46
- this.keyManager.tabOut
47
- .pipe(takeUntil(this.destroyed))
48
- .subscribe(() => {
49
- this.tabIndex = -1;
50
- setTimeout(() => {
51
- this.tabIndex = 0;
52
- this.changeDetectorRef.markForCheck();
53
- });
54
- });
55
- this.focusableItems.changes
56
- .pipe(startWith(null), takeUntil(this.destroyed))
57
- .subscribe(() => {
58
- this.resetOptions();
59
- // Check to see if we need to update our tab index
60
- this.updateTabIndex();
61
- });
62
- }
63
- ngOnDestroy() {
64
- this.destroyed.next();
65
- this.destroyed.complete();
66
- }
67
- focus() {
68
- if (this.focusableItems.length === 0) {
69
- return;
70
- }
71
- this.keyManager.setFirstItemActive();
72
- }
73
- blur() {
74
- if (!this.hasFocusedItem()) {
75
- this.keyManager.setActiveItem(-1);
76
- }
77
- this.changeDetectorRef.markForCheck();
78
- }
79
- resetOptions() {
80
- this.dropSubscriptions();
81
- this.listenToOptionsFocus();
82
- }
83
- dropSubscriptions() {
84
- if (this.optionFocusSubscription) {
85
- this.optionFocusSubscription.unsubscribe();
86
- this.optionFocusSubscription = null;
87
- }
88
- if (this.optionBlurSubscription) {
89
- this.optionBlurSubscription.unsubscribe();
90
- this.optionBlurSubscription = null;
91
- }
92
- }
93
- listenToOptionsFocus() {
94
- this.optionFocusSubscription = this.optionFocusChanges
95
- .subscribe((event) => {
96
- const index = this.focusableItems.toArray().indexOf(event.item);
97
- if (this.isValidIndex(index)) {
98
- this.keyManager.updateActiveItem(index);
99
- }
100
- });
101
- this.optionBlurSubscription = this.optionBlurChanges
102
- .subscribe(() => this.blur());
103
- }
104
- updateTabIndex() {
105
- this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;
106
- }
107
- isValidIndex(index) {
108
- return index >= 0 && index < this.focusableItems.length;
109
- }
110
- hasFocusedItem() {
111
- return this.focusableItems.some((item) => item.hasFocus);
112
- }
113
- }
114
- /** @nocollapse */ /** @nocollapse */ McFocusableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
115
- /** @nocollapse */ /** @nocollapse */ McFocusableComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McFocusableComponent, inputs: { tabIndex: "tabIndex" }, queries: [{ propertyName: "focusableItems", predicate: i0.forwardRef(function () { return McNavbarFocusableItem; }), descendants: true }], ngImport: i0 });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFocusableComponent, decorators: [{
117
- type: Directive
118
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { focusableItems: [{
119
- type: ContentChildren,
120
- args: [forwardRef(() => McNavbarFocusableItem), { descendants: true }]
121
- }], tabIndex: [{
122
- type: Input
123
- }] } });
124
- class McNavbarContainer {
125
- }
126
- /** @nocollapse */ /** @nocollapse */ McNavbarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
- /** @nocollapse */ /** @nocollapse */ McNavbarContainer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarContainer, selector: "mc-navbar-container", host: { classAttribute: "mc-navbar-container" }, ngImport: i0 });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarContainer, decorators: [{
129
- type: Directive,
130
- args: [{
131
- selector: 'mc-navbar-container',
132
- host: {
133
- class: 'mc-navbar-container'
134
- }
135
- }]
136
- }] });
137
- class McNavbar extends McFocusableComponent {
138
- constructor(elementRef, changeDetectorRef) {
139
- super(changeDetectorRef);
140
- this.elementRef = elementRef;
141
- this.resizeStream = new Subject();
142
- this.resizeDebounceInterval = 100;
143
- this.updateExpandedStateForItems = () => {
144
- const collapseDelta = this.totalItemsWidth - this.width;
145
- const needCollapse = collapseDelta > 0;
146
- if (needCollapse) {
147
- this.collapseItems(collapseDelta);
148
- }
149
- else {
150
- this.expandItems(collapseDelta);
151
- }
152
- };
153
- this.setItemsState = () => {
154
- Promise.resolve()
155
- .then(() => { var _a; return (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => item.horizontal = true); });
156
- };
157
- this.resizeSubscription = this.resizeStream
158
- .pipe(debounceTime(this.resizeDebounceInterval))
159
- .subscribe(this.updateExpandedStateForItems);
160
- }
161
- get width() {
162
- return this.elementRef.nativeElement.getBoundingClientRect().width;
163
- }
164
- get totalItemsWidth() {
165
- return this.rectangleElements
166
- .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);
167
- }
168
- get collapsableItems() {
169
- return this.navbarItems
170
- .toArray()
171
- .filter((item) => item.icon && item.title && item.collapsable)
172
- .reverse();
173
- }
174
- ngAfterContentInit() {
175
- this.setItemsState();
176
- this.rectangleElements.changes
177
- .subscribe(this.setItemsState);
178
- super.ngAfterContentInit();
179
- this.keyManager.withHorizontalOrientation('ltr');
180
- }
181
- ngAfterViewInit() {
182
- // Note: this wait is required for loading and rendering fonts for icons;
183
- // unfortunately we cannot control font rendering
184
- setTimeout(this.updateExpandedStateForItems);
185
- }
186
- ngOnDestroy() {
187
- this.resizeSubscription.unsubscribe();
188
- super.ngOnDestroy();
189
- }
190
- onKeyDown(event) {
191
- // tslint:disable-next-line: deprecation
192
- const keyCode = event.keyCode;
193
- if ([SPACE, ENTER, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {
194
- event.preventDefault();
195
- }
196
- if (keyCode === TAB) {
197
- this.keyManager.tabOut.next();
198
- return;
199
- }
200
- else if (keyCode === RIGHT_ARROW) {
201
- this.keyManager.setNextItemActive();
202
- }
203
- else if (keyCode === LEFT_ARROW) {
204
- this.keyManager.setPreviousItemActive();
205
- }
206
- else {
207
- this.keyManager.onKeydown(event);
208
- }
209
- }
210
- collapseItems(collapseDelta) {
211
- let delta = collapseDelta;
212
- const unCollapsedItems = this.collapsableItems
213
- .filter((item) => !item.collapsed);
214
- for (const item of unCollapsedItems) {
215
- item.collapsed = true;
216
- delta -= item.getTitleWidth();
217
- if (delta < 0) {
218
- break;
219
- }
220
- }
221
- }
222
- expandItems(collapseDelta) {
223
- let delta = collapseDelta;
224
- this.collapsableItems
225
- .filter((item) => item.collapsed)
226
- .forEach((item) => {
227
- if (delta + item.getTitleWidth() < 0) {
228
- item.collapsed = false;
229
- delta += item.getTitleWidth();
230
- }
231
- });
232
- }
233
- }
234
- /** @nocollapse */ /** @nocollapse */ McNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
235
- /** @nocollapse */ /** @nocollapse */ McNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McNavbar, selector: "mc-navbar", host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)", "window:resize": "resizeStream.next($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "mc-navbar" }, queries: [{ propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return McNavbarRectangleElement; }), descendants: true }, { propertyName: "navbarItems", predicate: i0.forwardRef(function () { return McNavbarItem; }), descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>`, isInline: true, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item.mc-expanded.mc-navbar-bento{position:absolute;top:0;right:0;z-index:1}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-icon-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;height:var(--mc-navbar-item-size-height-vertical, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-logo{padding-left:12px;justify-content:center}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-title{padding-left:16px}.mc-navbar-brand.mc-vertical.mc-collapsed{padding:0}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-logo{align-items:center;justify-content:center;width:100%}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbar, decorators: [{
237
- type: Component,
238
- args: [{ selector: 'mc-navbar', template: `<ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>`, host: {
239
- class: 'mc-navbar',
240
- '[attr.tabindex]': 'tabIndex',
241
- '(focus)': 'focus()',
242
- '(blur)': 'blur()',
243
- '(keydown)': 'onKeyDown($event)',
244
- '(window:resize)': 'resizeStream.next($event)'
245
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item.mc-expanded.mc-navbar-bento{position:absolute;top:0;right:0;z-index:1}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-icon-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;height:var(--mc-navbar-item-size-height-vertical, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-logo{padding-left:12px;justify-content:center}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-title{padding-left:16px}.mc-navbar-brand.mc-vertical.mc-collapsed{padding:0}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-logo{align-items:center;justify-content:center;width:100%}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
246
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
247
- type: ContentChildren,
248
- args: [forwardRef(() => McNavbarRectangleElement), { descendants: true }]
249
- }], navbarItems: [{
250
- type: ContentChildren,
251
- args: [forwardRef(() => McNavbarItem), { descendants: true }]
24
+ class McFocusableComponent {
25
+ constructor(changeDetectorRef) {
26
+ this.changeDetectorRef = changeDetectorRef;
27
+ this._tabIndex = 0;
28
+ this.destroyed = new Subject();
29
+ }
30
+ get tabIndex() {
31
+ return this._tabIndex;
32
+ }
33
+ set tabIndex(value) {
34
+ this._tabIndex = value;
35
+ }
36
+ get optionFocusChanges() {
37
+ return merge(...this.focusableItems.map((item) => item.onFocus));
38
+ }
39
+ get optionBlurChanges() {
40
+ return merge(...this.focusableItems.map((option) => option.onBlur));
41
+ }
42
+ ngAfterContentInit() {
43
+ this.keyManager = new FocusKeyManager(this.focusableItems)
44
+ .withTypeAhead();
45
+ this.keyManager.setFocusOrigin('keyboard');
46
+ this.keyManager.tabOut
47
+ .pipe(takeUntil(this.destroyed))
48
+ .subscribe(() => {
49
+ this.tabIndex = -1;
50
+ setTimeout(() => {
51
+ this.tabIndex = 0;
52
+ this.changeDetectorRef.markForCheck();
53
+ });
54
+ });
55
+ this.focusableItems.changes
56
+ .pipe(startWith(null), takeUntil(this.destroyed))
57
+ .subscribe(() => {
58
+ this.resetOptions();
59
+ // Check to see if we need to update our tab index
60
+ this.updateTabIndex();
61
+ });
62
+ }
63
+ ngOnDestroy() {
64
+ this.destroyed.next();
65
+ this.destroyed.complete();
66
+ }
67
+ focus() {
68
+ if (this.focusableItems.length === 0) {
69
+ return;
70
+ }
71
+ this.keyManager.setFirstItemActive();
72
+ }
73
+ blur() {
74
+ if (!this.hasFocusedItem()) {
75
+ this.keyManager.setActiveItem(-1);
76
+ }
77
+ this.changeDetectorRef.markForCheck();
78
+ }
79
+ resetOptions() {
80
+ this.dropSubscriptions();
81
+ this.listenToOptionsFocus();
82
+ }
83
+ dropSubscriptions() {
84
+ if (this.optionFocusSubscription) {
85
+ this.optionFocusSubscription.unsubscribe();
86
+ this.optionFocusSubscription = null;
87
+ }
88
+ if (this.optionBlurSubscription) {
89
+ this.optionBlurSubscription.unsubscribe();
90
+ this.optionBlurSubscription = null;
91
+ }
92
+ }
93
+ listenToOptionsFocus() {
94
+ this.optionFocusSubscription = this.optionFocusChanges
95
+ .subscribe((event) => {
96
+ const index = this.focusableItems.toArray().indexOf(event.item);
97
+ if (this.isValidIndex(index)) {
98
+ this.keyManager.updateActiveItem(index);
99
+ }
100
+ });
101
+ this.optionBlurSubscription = this.optionBlurChanges
102
+ .subscribe(() => this.blur());
103
+ }
104
+ updateTabIndex() {
105
+ this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;
106
+ }
107
+ isValidIndex(index) {
108
+ return index >= 0 && index < this.focusableItems.length;
109
+ }
110
+ hasFocusedItem() {
111
+ return this.focusableItems.some((item) => item.hasFocus);
112
+ }
113
+ }
114
+ /** @nocollapse */ /** @nocollapse */ McFocusableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
115
+ /** @nocollapse */ /** @nocollapse */ McFocusableComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McFocusableComponent, inputs: { tabIndex: "tabIndex" }, queries: [{ propertyName: "focusableItems", predicate: i0.forwardRef(function () { return McNavbarFocusableItem; }), descendants: true }], ngImport: i0 });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McFocusableComponent, decorators: [{
117
+ type: Directive
118
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { focusableItems: [{
119
+ type: ContentChildren,
120
+ args: [forwardRef(() => McNavbarFocusableItem), { descendants: true }]
121
+ }], tabIndex: [{
122
+ type: Input
123
+ }] } });
124
+ class McNavbarContainer {
125
+ }
126
+ /** @nocollapse */ /** @nocollapse */ McNavbarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
+ /** @nocollapse */ /** @nocollapse */ McNavbarContainer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarContainer, selector: "mc-navbar-container", host: { classAttribute: "mc-navbar-container" }, ngImport: i0 });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarContainer, decorators: [{
129
+ type: Directive,
130
+ args: [{
131
+ selector: 'mc-navbar-container',
132
+ host: {
133
+ class: 'mc-navbar-container'
134
+ }
135
+ }]
136
+ }] });
137
+ class McNavbar extends McFocusableComponent {
138
+ constructor(elementRef, changeDetectorRef) {
139
+ super(changeDetectorRef);
140
+ this.elementRef = elementRef;
141
+ this.resizeStream = new Subject();
142
+ this.resizeDebounceInterval = 100;
143
+ this.updateExpandedStateForItems = () => {
144
+ const collapseDelta = this.totalItemsWidth - this.width;
145
+ const needCollapse = collapseDelta > 0;
146
+ if (needCollapse) {
147
+ this.collapseItems(collapseDelta);
148
+ }
149
+ else {
150
+ this.expandItems(collapseDelta);
151
+ }
152
+ };
153
+ this.setItemsState = () => {
154
+ Promise.resolve()
155
+ .then(() => { var _a; return (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => item.horizontal = true); });
156
+ };
157
+ this.resizeSubscription = this.resizeStream
158
+ .pipe(debounceTime(this.resizeDebounceInterval))
159
+ .subscribe(this.updateExpandedStateForItems);
160
+ }
161
+ get width() {
162
+ return this.elementRef.nativeElement.getBoundingClientRect().width;
163
+ }
164
+ get totalItemsWidth() {
165
+ return this.rectangleElements
166
+ .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);
167
+ }
168
+ get collapsableItems() {
169
+ return this.navbarItems
170
+ .toArray()
171
+ .filter((item) => item.icon && item.title && item.collapsable)
172
+ .reverse();
173
+ }
174
+ ngAfterContentInit() {
175
+ this.setItemsState();
176
+ this.rectangleElements.changes
177
+ .subscribe(this.setItemsState);
178
+ super.ngAfterContentInit();
179
+ this.keyManager.withHorizontalOrientation('ltr');
180
+ }
181
+ ngAfterViewInit() {
182
+ // Note: this wait is required for loading and rendering fonts for icons;
183
+ // unfortunately we cannot control font rendering
184
+ setTimeout(this.updateExpandedStateForItems);
185
+ }
186
+ ngOnDestroy() {
187
+ this.resizeSubscription.unsubscribe();
188
+ super.ngOnDestroy();
189
+ }
190
+ onKeyDown(event) {
191
+ // tslint:disable-next-line: deprecation
192
+ const keyCode = event.keyCode;
193
+ if ([SPACE, ENTER, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {
194
+ event.preventDefault();
195
+ }
196
+ if (keyCode === TAB) {
197
+ this.keyManager.tabOut.next();
198
+ return;
199
+ }
200
+ else if (keyCode === RIGHT_ARROW) {
201
+ this.keyManager.setNextItemActive();
202
+ }
203
+ else if (keyCode === LEFT_ARROW) {
204
+ this.keyManager.setPreviousItemActive();
205
+ }
206
+ else {
207
+ this.keyManager.onKeydown(event);
208
+ }
209
+ }
210
+ collapseItems(collapseDelta) {
211
+ let delta = collapseDelta;
212
+ const unCollapsedItems = this.collapsableItems
213
+ .filter((item) => !item.collapsed);
214
+ for (const item of unCollapsedItems) {
215
+ item.collapsed = true;
216
+ delta -= item.getTitleWidth();
217
+ if (delta < 0) {
218
+ break;
219
+ }
220
+ }
221
+ }
222
+ expandItems(collapseDelta) {
223
+ let delta = collapseDelta;
224
+ this.collapsableItems
225
+ .filter((item) => item.collapsed)
226
+ .forEach((item) => {
227
+ if (delta + item.getTitleWidth() < 0) {
228
+ item.collapsed = false;
229
+ delta += item.getTitleWidth();
230
+ }
231
+ });
232
+ }
233
+ }
234
+ /** @nocollapse */ /** @nocollapse */ McNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
235
+ /** @nocollapse */ /** @nocollapse */ McNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McNavbar, selector: "mc-navbar", host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)", "window:resize": "resizeStream.next($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "mc-navbar" }, queries: [{ propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return McNavbarRectangleElement; }), descendants: true }, { propertyName: "navbarItems", predicate: i0.forwardRef(function () { return McNavbarItem; }), descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>`, isInline: true, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--mc-navbar-item-size-height-vertical, 56px);min-width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbar, decorators: [{
237
+ type: Component,
238
+ args: [{ selector: 'mc-navbar', template: `<ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>`, host: {
239
+ class: 'mc-navbar',
240
+ '[attr.tabindex]': 'tabIndex',
241
+ '(focus)': 'focus()',
242
+ '(blur)': 'blur()',
243
+ '(keydown)': 'onKeyDown($event)',
244
+ '(window:resize)': 'resizeStream.next($event)'
245
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--mc-navbar-item-size-height-vertical, 56px);min-width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
246
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
247
+ type: ContentChildren,
248
+ args: [forwardRef(() => McNavbarRectangleElement), { descendants: true }]
249
+ }], navbarItems: [{
250
+ type: ContentChildren,
251
+ args: [forwardRef(() => McNavbarItem), { descendants: true }]
252
252
  }] } });
253
253
 
254
- function toggleVerticalNavbarAnimation() {
255
- return trigger('toggle', [
256
- state('0', style({ width: `var(--mc-vertical-navbar-size-states-closed-width, ${VerticalNavbarSizeStatesCollapsedWidth})` })),
257
- state('1', style({ width: `var(--mc-vertical-navbar-size-states-opened-width, ${VerticalNavbarSizeStatesExpandedWidth})` })),
258
- transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))
259
- ]);
260
- }
261
-
262
- class McVerticalNavbar extends McFocusableComponent {
263
- constructor(changeDetectorRef) {
264
- super(changeDetectorRef);
265
- this.animationDone = new Subject();
266
- this._expanded = false;
267
- this.updateExpandedStateForItems = () => {
268
- var _a;
269
- (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
270
- item.collapsed = !this.expanded;
271
- setTimeout(() => { var _a; return (_a = item.button) === null || _a === void 0 ? void 0 : _a.updateClassModifierForIcons(); });
272
- });
273
- };
274
- this.updateTooltipForItems = () => {
275
- this.items.forEach((item) => item.updateTooltip());
276
- };
277
- this.setItemsState = () => {
278
- Promise.resolve()
279
- .then(() => { var _a; return (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => item.vertical = true); });
280
- };
281
- this.animationDone
282
- .subscribe(this.updateTooltipForItems);
283
- }
284
- get expanded() {
285
- return this._expanded;
286
- }
287
- set expanded(value) {
288
- this._expanded = coerceBooleanProperty(value);
289
- this.updateExpandedStateForItems();
290
- }
291
- ngAfterContentInit() {
292
- this.setItemsState();
293
- this.updateExpandedStateForItems();
294
- this.updateTooltipForItems();
295
- this.rectangleElements.changes
296
- .subscribe(this.setItemsState);
297
- super.ngAfterContentInit();
298
- this.keyManager.withVerticalOrientation(true);
299
- }
300
- toggle() {
301
- this.expanded = !this.expanded;
302
- this.changeDetectorRef.markForCheck();
303
- }
304
- onKeyDown(event) {
305
- // tslint:disable-next-line: deprecation
306
- const keyCode = event.keyCode;
307
- if ([SPACE, ENTER, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {
308
- event.preventDefault();
309
- }
310
- if (keyCode === TAB) {
311
- this.keyManager.tabOut.next();
312
- return;
313
- }
314
- else if (keyCode === DOWN_ARROW) {
315
- this.keyManager.setNextItemActive();
316
- }
317
- else if (keyCode === UP_ARROW) {
318
- this.keyManager.setPreviousItemActive();
319
- }
320
- else {
321
- this.keyManager.onKeydown(event);
322
- }
323
- }
254
+ function toggleVerticalNavbarAnimation() {
255
+ return trigger('toggle', [
256
+ state('0', style({ width: `var(--mc-vertical-navbar-size-states-collapsed-width, ${VerticalNavbarSizeStatesCollapsedWidth})` })),
257
+ state('1', style({ width: `var(--mc-vertical-navbar-size-states-expanded-width, ${VerticalNavbarSizeStatesExpandedWidth})` })),
258
+ transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))
259
+ ]);
324
260
  }
325
- /** @nocollapse */ /** @nocollapse */ McVerticalNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McVerticalNavbar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
326
- /** @nocollapse */ /** @nocollapse */ McVerticalNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McVerticalNavbar, selector: "mc-vertical-navbar", inputs: { expanded: "expanded" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "mc-vertical-navbar" }, queries: [{ propertyName: "bento", first: true, predicate: i0.forwardRef(function () { return McNavbarBento; }), descendants: true }, { propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return McNavbarRectangleElement; }), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(function () { return McNavbarItem; }), descendants: true }], exportAs: ["McVerticalNavbar"], usesInheritance: true, ngImport: i0, template: `
327
- <div class="mc-vertical-navbar__container"
328
- [@toggle]="expanded"
329
- (@toggle.done)="animationDone.next()"
330
- [class.mc-collapsed]="!expanded"
331
- [class.mc-expanded]="expanded">
332
-
333
- <ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>
334
- <ng-content select="[mc-navbar-toggle], mc-navbar-toggle"></ng-content>
335
- </div>
336
- `, isInline: true, styles: [".mc-vertical-navbar{position:relative;width:var(--mc-vertical-navbar-size-states-closed-width, 56px);height:100%}.mc-vertical-navbar .mc-navbar-container{flex-direction:column;align-items:unset}.mc-vertical-navbar .mc-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;height:100%}.mc-vertical-navbar .mc-vertical-navbar__container.mc-collapsed{width:var(--mc-vertical-navbar-size-states-closed-width, 56px)}.mc-vertical-navbar .mc-vertical-navbar__container.mc-expanded{width:var(--mc-vertical-navbar-size-states-opened-width, 240px)}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item.mc-expanded.mc-navbar-bento{position:absolute;top:0;right:0;z-index:1}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-icon-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;height:var(--mc-navbar-item-size-height-vertical, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-logo{padding-left:12px;justify-content:center}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-title{padding-left:16px}.mc-navbar-brand.mc-vertical.mc-collapsed{padding:0}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-logo{align-items:center;justify-content:center;width:100%}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], animations: [toggleVerticalNavbarAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McVerticalNavbar, decorators: [{
338
- type: Component,
339
- args: [{ selector: 'mc-vertical-navbar', exportAs: 'McVerticalNavbar', template: `
340
- <div class="mc-vertical-navbar__container"
341
- [@toggle]="expanded"
342
- (@toggle.done)="animationDone.next()"
343
- [class.mc-collapsed]="!expanded"
344
- [class.mc-expanded]="expanded">
345
261
 
346
- <ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>
347
- <ng-content select="[mc-navbar-toggle], mc-navbar-toggle"></ng-content>
348
- </div>
349
- `, host: {
350
- class: 'mc-vertical-navbar',
351
- '[attr.tabindex]': 'tabIndex',
352
- '(focus)': 'focus()',
353
- '(blur)': 'blur()',
354
- '(keydown)': 'onKeyDown($event)'
355
- }, animations: [toggleVerticalNavbarAnimation()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-vertical-navbar{position:relative;width:var(--mc-vertical-navbar-size-states-closed-width, 56px);height:100%}.mc-vertical-navbar .mc-navbar-container{flex-direction:column;align-items:unset}.mc-vertical-navbar .mc-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;height:100%}.mc-vertical-navbar .mc-vertical-navbar__container.mc-collapsed{width:var(--mc-vertical-navbar-size-states-closed-width, 56px)}.mc-vertical-navbar .mc-vertical-navbar__container.mc-expanded{width:var(--mc-vertical-navbar-size-states-opened-width, 240px)}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item.mc-expanded.mc-navbar-bento{position:absolute;top:0;right:0;z-index:1}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-icon-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-icon-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;height:var(--mc-navbar-item-size-height-vertical, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-logo{padding-left:12px;justify-content:center}.mc-navbar-brand.mc-vertical.mc-expanded .mc-navbar-title{padding-left:16px}.mc-navbar-brand.mc-vertical.mc-collapsed{padding:0}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-logo{align-items:center;justify-content:center;width:100%}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
356
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
357
- type: ContentChildren,
358
- args: [forwardRef(() => McNavbarRectangleElement), { descendants: true }]
359
- }], items: [{
360
- type: ContentChildren,
361
- args: [forwardRef(() => McNavbarItem), { descendants: true }]
362
- }], bento: [{
363
- type: ContentChild,
364
- args: [forwardRef(() => McNavbarBento)]
365
- }], expanded: [{
366
- type: Input
367
- }] } });
368
-
369
- class McNavbarLogo {
370
- constructor() {
371
- this.hovered = new Subject();
372
- }
373
- }
374
- /** @nocollapse */ /** @nocollapse */ McNavbarLogo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarLogo, deps: [], target: i0.ɵɵFactoryTarget.Directive });
375
- /** @nocollapse */ /** @nocollapse */ McNavbarLogo.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarLogo, selector: "mc-navbar-logo, [mc-navbar-logo]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, classAttribute: "mc-navbar-logo" }, ngImport: i0 });
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarLogo, decorators: [{
377
- type: Directive,
378
- args: [{
379
- selector: 'mc-navbar-logo, [mc-navbar-logo]',
380
- host: {
381
- class: 'mc-navbar-logo',
382
- '(mouseenter)': 'hovered.next(true)',
383
- '(mouseleave)': 'hovered.next(false)'
384
- }
385
- }]
386
- }] });
387
- class McNavbarBento {
388
- }
389
- /** @nocollapse */ /** @nocollapse */ McNavbarBento.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarBento, deps: [], target: i0.ɵɵFactoryTarget.Directive });
390
- /** @nocollapse */ /** @nocollapse */ McNavbarBento.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarBento, selector: "mc-navbar-item[bento], [mc-navbar-item][bento]", host: { classAttribute: "mc-navbar-bento" }, ngImport: i0 });
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarBento, decorators: [{
392
- type: Directive,
393
- args: [{
394
- selector: 'mc-navbar-item[bento], [mc-navbar-item][bento]',
395
- host: {
396
- class: 'mc-navbar-bento'
397
- }
398
- }]
399
- }] });
400
- class McNavbarTitle {
401
- constructor(elementRef) {
402
- this.elementRef = elementRef;
403
- this.hovered = new Subject();
404
- this.isTextOverflown = false;
405
- }
406
- get text() {
407
- return this.elementRef.nativeElement.innerText;
408
- }
409
- get isOverflown() {
410
- return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;
411
- }
412
- getOuterElementWidth() {
413
- const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
414
- return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);
415
- }
416
- checkTextOverflown() {
417
- // tslint:disable-next-line:no-magic-numbers
418
- this.isTextOverflown = this.text.length > 18;
419
- }
420
- ngAfterViewInit() {
421
- this.outerElementWidth = this.getOuterElementWidth();
422
- }
423
- }
424
- /** @nocollapse */ /** @nocollapse */ McNavbarTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarTitle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
425
- /** @nocollapse */ /** @nocollapse */ McNavbarTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarTitle, selector: "mc-navbar-title, [mc-navbar-title]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, properties: { "class.mc-navbar-title_small": "isTextOverflown" }, classAttribute: "mc-navbar-title" }, ngImport: i0 });
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarTitle, decorators: [{
427
- type: Directive,
428
- args: [{
429
- selector: 'mc-navbar-title, [mc-navbar-title]',
430
- host: {
431
- class: 'mc-navbar-title',
432
- '[class.mc-navbar-title_small]': 'isTextOverflown',
433
- '(mouseenter)': 'hovered.next(true)',
434
- '(mouseleave)': 'hovered.next(false)'
435
- }
436
- }]
437
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
438
- class McNavbarSubTitle {
439
- constructor(elementRef) {
440
- this.elementRef = elementRef;
441
- this.hovered = new Subject();
442
- }
443
- get text() {
444
- return this.elementRef.nativeElement.innerText;
445
- }
446
- get isOverflown() {
447
- return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;
448
- }
449
- getOuterElementWidth() {
450
- const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
451
- return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);
452
- }
453
- ngAfterContentInit() {
454
- this.outerElementWidth = this.getOuterElementWidth();
455
- }
456
- }
457
- /** @nocollapse */ /** @nocollapse */ McNavbarSubTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarSubTitle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
458
- /** @nocollapse */ /** @nocollapse */ McNavbarSubTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarSubTitle, selector: "mc-navbar-subtitle, [mc-navbar-subtitle]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, classAttribute: "mc-navbar-subtitle" }, ngImport: i0 });
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarSubTitle, decorators: [{
460
- type: Directive,
461
- args: [{
462
- selector: 'mc-navbar-subtitle, [mc-navbar-subtitle]',
463
- host: {
464
- class: 'mc-navbar-subtitle',
465
- '(mouseenter)': 'hovered.next(true)',
466
- '(mouseleave)': 'hovered.next(false)'
467
- }
468
- }]
469
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
470
- class McNavbarBrand {
471
- constructor(navbar) {
472
- this.navbar = navbar;
473
- this.hovered = false;
474
- this.destroyed = new Subject();
475
- }
476
- get hasBento() {
477
- var _a;
478
- return !!((_a = this.navbar) === null || _a === void 0 ? void 0 : _a.bento);
479
- }
480
- ngAfterContentInit() {
481
- var _a;
482
- merge(this.logo ? this.logo.hovered : EMPTY, this.title ? this.title.hovered : EMPTY)
483
- .pipe(takeUntil(this.destroyed))
484
- .subscribe((value) => this.hovered = value);
485
- (_a = this.navbar) === null || _a === void 0 ? void 0 : _a.animationDone.subscribe(() => { var _a; return (_a = this.title) === null || _a === void 0 ? void 0 : _a.checkTextOverflown(); });
486
- }
487
- ngOnDestroy() {
488
- this.destroyed.next();
489
- this.destroyed.complete();
490
- }
491
- }
492
- /** @nocollapse */ /** @nocollapse */ McNavbarBrand.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarBrand, deps: [{ token: McVerticalNavbar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
493
- /** @nocollapse */ /** @nocollapse */ McNavbarBrand.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarBrand, selector: "mc-navbar-brand, [mc-navbar-brand]", host: { properties: { "class.mc-hovered": "hovered", "class.layout-column": "hasBento", "class.layout-row": "!hasBento" }, classAttribute: "mc-navbar-brand" }, queries: [{ propertyName: "logo", first: true, predicate: McNavbarLogo, descendants: true }, { propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }], exportAs: ["mcNavbarBrand"], ngImport: i0, template: `
494
- <ng-content></ng-content>
495
- <div class="mc-navbar-item__overlay"></div>
496
- `, isInline: true });
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarBrand, decorators: [{
498
- type: Component,
499
- args: [{
500
- selector: 'mc-navbar-brand, [mc-navbar-brand]',
501
- exportAs: 'mcNavbarBrand',
502
- template: `
503
- <ng-content></ng-content>
504
- <div class="mc-navbar-item__overlay"></div>
505
- `,
506
- host: {
507
- class: 'mc-navbar-brand',
508
- '[class.mc-hovered]': 'hovered',
509
- '[class.layout-column]': 'hasBento',
510
- '[class.layout-row]': '!hasBento'
511
- }
512
- }]
513
- }], ctorParameters: function () {
514
- return [{ type: McVerticalNavbar, decorators: [{
515
- type: Optional
516
- }] }];
517
- }, propDecorators: { logo: [{
518
- type: ContentChild,
519
- args: [McNavbarLogo]
520
- }], title: [{
521
- type: ContentChild,
522
- args: [McNavbarTitle]
523
- }] } });
524
- class McNavbarDivider {
525
- }
526
- /** @nocollapse */ /** @nocollapse */ McNavbarDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarDivider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
527
- /** @nocollapse */ /** @nocollapse */ McNavbarDivider.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarDivider, selector: "mc-navbar-divider", host: { classAttribute: "mc-navbar-divider" }, ngImport: i0 });
528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarDivider, decorators: [{
529
- type: Directive,
530
- args: [{
531
- selector: 'mc-navbar-divider',
532
- host: {
533
- class: 'mc-navbar-divider'
534
- }
535
- }]
536
- }] });
537
- class McNavbarFocusableItem {
538
- constructor(elementRef, changeDetector, focusMonitor, ngZone) {
539
- this.elementRef = elementRef;
540
- this.changeDetector = changeDetector;
541
- this.focusMonitor = focusMonitor;
542
- this.ngZone = ngZone;
543
- this.onFocus = new Subject();
544
- this.onBlur = new Subject();
545
- this._hasFocus = false;
546
- this._disabled = false;
547
- }
548
- get hasFocus() {
549
- var _a;
550
- return !!((_a = this.button) === null || _a === void 0 ? void 0 : _a.hasFocus) || this._hasFocus;
551
- }
552
- set hasFocus(value) {
553
- this._hasFocus = value;
554
- }
555
- get disabled() {
556
- return this._disabled;
557
- }
558
- set disabled(value) {
559
- const newValue = toBoolean(value);
560
- if (newValue !== this._disabled) {
561
- this._disabled = newValue;
562
- this.changeDetector.markForCheck();
563
- }
564
- }
565
- get tabIndex() {
566
- return -1;
567
- }
568
- ngAfterContentInit() {
569
- if (this.button) {
570
- this.button.tabIndex = -1;
571
- }
572
- this.focusMonitor.monitor(this.elementRef);
573
- }
574
- ngOnDestroy() {
575
- this.focusMonitor.stopMonitoring(this.elementRef);
576
- }
577
- onFocusHandler() {
578
- if (this.disabled || this.hasFocus) {
579
- return;
580
- }
581
- this.onFocus.next({ item: this });
582
- this.hasFocus = true;
583
- this.changeDetector.markForCheck();
584
- this.elementRef.nativeElement.focus();
585
- }
586
- focus(origin) {
587
- if (this.disabled || this.hasFocus) {
588
- return origin;
589
- }
590
- if (origin === 'keyboard') {
591
- this.focusMonitor.focusVia(this.elementRef, origin);
592
- }
593
- if (this.button) {
594
- this.button.focusViaKeyboard();
595
- this.changeDetector.markForCheck();
596
- return;
597
- }
598
- this.onFocusHandler();
599
- }
600
- blur() {
601
- // When animations are enabled, Angular may end up removing the option from the DOM a little
602
- // earlier than usual, causing it to be blurred and throwing off the logic in the list
603
- // that moves focus not the next item. To work around the issue, we defer marking the option
604
- // as not focused until the next time the zone stabilizes.
605
- this.ngZone.onStable
606
- .asObservable()
607
- .pipe(take(1))
608
- .subscribe(() => {
609
- this.ngZone.run(() => {
610
- var _a;
611
- this._hasFocus = false;
612
- if ((_a = this.button) === null || _a === void 0 ? void 0 : _a.hasFocus) {
613
- return;
614
- }
615
- this.onBlur.next({ item: this });
616
- });
617
- });
618
- }
619
- getLabel() {
620
- var _a;
621
- return ((_a = this.title) === null || _a === void 0 ? void 0 : _a.text) || '';
622
- }
623
- }
624
- /** @nocollapse */ /** @nocollapse */ McNavbarFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarFocusableItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
625
- /** @nocollapse */ /** @nocollapse */ McNavbarFocusableItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarFocusableItem, selector: "mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocusHandler()", "blur": "blur()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.mc-navbar-item_button": "button" }, classAttribute: "mc-navbar-focusable-item" }, queries: [{ propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }, { propertyName: "button", first: true, predicate: McButton, descendants: true }], ngImport: i0 });
626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarFocusableItem, decorators: [{
627
- type: Directive,
628
- args: [{
629
- selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle',
630
- host: {
631
- '[attr.tabindex]': 'tabIndex',
632
- '[attr.disabled]': 'disabled || null',
633
- class: 'mc-navbar-focusable-item',
634
- '[class.mc-navbar-item_button]': 'button',
635
- '(focus)': 'onFocusHandler()',
636
- '(blur)': 'blur()'
637
- }
638
- }]
639
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.FocusMonitor }, { type: i0.NgZone }]; }, propDecorators: { title: [{
640
- type: ContentChild,
641
- args: [McNavbarTitle]
642
- }], button: [{
643
- type: ContentChild,
644
- args: [McButton]
645
- }], disabled: [{
646
- type: Input
647
- }] } });
648
- class McNavbarRectangleElement {
649
- constructor(elementRef) {
650
- this.elementRef = elementRef;
651
- this.state = new Subject();
652
- }
653
- get horizontal() {
654
- return this._horizontal;
655
- }
656
- set horizontal(value) {
657
- this._horizontal = value;
658
- this.state.next();
659
- }
660
- get vertical() {
661
- return this._vertical;
662
- }
663
- set vertical(value) {
664
- this._vertical = value;
665
- this.state.next();
666
- }
667
- get collapsed() {
668
- return this._collapsed;
669
- }
670
- set collapsed(value) {
671
- this._collapsed = value;
672
- this.state.next();
673
- }
674
- getOuterElementWidth() {
675
- const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
676
- return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);
677
- }
678
- }
679
- /** @nocollapse */ /** @nocollapse */ McNavbarRectangleElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarRectangleElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
680
- /** @nocollapse */ /** @nocollapse */ McNavbarRectangleElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarRectangleElement, selector: "mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]", host: { properties: { "class.mc-vertical": "vertical", "class.mc-horizontal": "horizontal", "class.mc-expanded": "vertical && !collapsed", "class.mc-collapsed": "vertical && collapsed" } }, queries: [{ propertyName: "button", first: true, predicate: McButtonCssStyler, descendants: true }], ngImport: i0 });
681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarRectangleElement, decorators: [{
682
- type: Directive,
683
- args: [{
684
- selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',
685
- host: {
686
- '[class.mc-vertical]': 'vertical',
687
- '[class.mc-horizontal]': 'horizontal',
688
- '[class.mc-expanded]': 'vertical && !collapsed',
689
- '[class.mc-collapsed]': 'vertical && collapsed'
690
- }
691
- }]
692
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { button: [{
693
- type: ContentChild,
694
- args: [McButtonCssStyler]
695
- }] } });
696
- class McNavbarItem extends McTooltipTrigger {
697
- constructor(rectangleElement, changeDetectorRef, overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, dropdownTrigger, bento) {
698
- super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
699
- this.rectangleElement = rectangleElement;
700
- this.changeDetectorRef = changeDetectorRef;
701
- this.dropdownTrigger = dropdownTrigger;
702
- this.bento = bento;
703
- this._collapsed = false;
704
- this._collapsable = true;
705
- if (this.hasDropDownTrigger) {
706
- this.dropdownTrigger.openByArrowDown = false;
707
- }
708
- this.rectangleElement.state
709
- .subscribe(() => {
710
- this.collapsed = this.rectangleElement.collapsed;
711
- this.changeDetectorRef.detectChanges();
712
- });
713
- }
714
- get collapsed() {
715
- return this._collapsed;
716
- }
717
- set collapsed(value) {
718
- if (this._collapsed !== value) {
719
- this._collapsed = value;
720
- this.updateTooltip();
721
- }
722
- }
723
- get croppedText() {
724
- var _a, _b;
725
- const croppedTitleText = ((_a = this.title) === null || _a === void 0 ? void 0 : _a.isOverflown) ? this.titleText : '';
726
- const croppedSubTitleText = ((_b = this.subTitle) === null || _b === void 0 ? void 0 : _b.isOverflown) ? this.subTitleText : '';
727
- return `${croppedTitleText}\n ${croppedSubTitleText}`;
728
- }
729
- get collapsable() {
730
- return this._collapsable;
731
- }
732
- set collapsable(value) {
733
- this._collapsable = coerceBooleanProperty(value);
734
- }
735
- get titleText() {
736
- var _a;
737
- return this.collapsedText || ((_a = this.title) === null || _a === void 0 ? void 0 : _a.text) || null;
738
- }
739
- get subTitleText() {
740
- var _a;
741
- return ((_a = this.subTitle) === null || _a === void 0 ? void 0 : _a.text) || null;
742
- }
743
- get disabled() {
744
- if (this._disabled !== undefined) {
745
- return this._disabled;
746
- }
747
- return (!this.collapsed && !this.hasCroppedText) || !this.title;
748
- }
749
- set disabled(value) {
750
- this._disabled = coerceBooleanProperty(value);
751
- }
752
- get hasDropDownTrigger() {
753
- return !!this.dropdownTrigger;
754
- }
755
- get showVerticalDropDownAngle() {
756
- return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.collapsed;
757
- }
758
- get showHorizontalDropDownAngle() {
759
- return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.collapsed;
760
- }
761
- get hasCroppedText() {
762
- var _a, _b;
763
- return !!(((_a = this.title) === null || _a === void 0 ? void 0 : _a.isOverflown) || ((_b = this.subTitle) === null || _b === void 0 ? void 0 : _b.isOverflown));
764
- }
765
- ngAfterContentInit() {
766
- this.updateTooltip();
767
- }
768
- updateTooltip() {
769
- if (this.collapsed) {
770
- this.content = `${this.titleText}\n ${this.subTitleText || ''}`;
771
- }
772
- else if (!this.collapsed && this.hasCroppedText) {
773
- this.content = this.croppedText;
774
- }
775
- if (this.rectangleElement.vertical) {
776
- this.placement = PopUpPlacements.Right;
777
- }
778
- this.changeDetectorRef.markForCheck();
779
- }
780
- getTitleWidth() {
781
- return this.title.outerElementWidth;
782
- }
783
- onKeyDown($event) {
784
- if (!this.hasDropDownTrigger) {
785
- return;
786
- }
787
- if (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW ||
788
- this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW) {
789
- this.dropdownTrigger.openedBy = 'keyboard';
790
- this.dropdownTrigger.open();
791
- $event.stopPropagation();
792
- $event.preventDefault();
793
- }
794
- }
795
- }
796
- /** @nocollapse */ /** @nocollapse */ McNavbarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarItem, deps: [{ token: McNavbarRectangleElement }, { token: i0.ChangeDetectorRef }, { token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: i5.McDropdownTrigger, optional: true }, { token: McNavbarBento, optional: true }], target: i0.ɵɵFactoryTarget.Component });
797
- /** @nocollapse */ /** @nocollapse */ McNavbarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarItem, selector: "mc-navbar-item, [mc-navbar-item]", inputs: { collapsedText: "collapsedText", collapsed: "collapsed", collapsable: "collapsable" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.mc-navbar-item_collapsed": "collapsed" }, classAttribute: "mc-navbar-item" }, queries: [{ propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }, { propertyName: "subTitle", first: true, predicate: McNavbarSubTitle, descendants: true }, { propertyName: "icon", first: true, predicate: McIcon, descendants: true }], exportAs: ["mcNavbarItem"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[mc-icon]\"></ng-content>\n\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\n <div class=\"mc-navbar-item__title\">\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\n </div>\n\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\n\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"mc-navbar-item__overlay\"></div>\n", components: [{ type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarItem, decorators: [{
799
- type: Component,
800
- args: [{ selector: 'mc-navbar-item, [mc-navbar-item]', exportAs: 'mcNavbarItem', host: {
801
- class: 'mc-navbar-item',
802
- '[class.mc-navbar-item_collapsed]': 'collapsed',
803
- '(keydown)': 'onKeyDown($event)'
804
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"[mc-icon]\"></ng-content>\n\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\n <div class=\"mc-navbar-item__title\">\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\n </div>\n\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\n\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"mc-navbar-item__overlay\"></div>\n" }]
805
- }], ctorParameters: function () {
806
- return [{ type: McNavbarRectangleElement }, { type: i0.ChangeDetectorRef }, { type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
807
- type: Inject,
808
- args: [MC_TOOLTIP_SCROLL_STRATEGY]
809
- }] }, { type: i4.Directionality, decorators: [{
810
- type: Optional
811
- }] }, { type: i5.McDropdownTrigger, decorators: [{
812
- type: Optional
813
- }] }, { type: McNavbarBento, decorators: [{
814
- type: Optional
815
- }] }];
816
- }, propDecorators: { title: [{
817
- type: ContentChild,
818
- args: [McNavbarTitle]
819
- }], subTitle: [{
820
- type: ContentChild,
821
- args: [McNavbarSubTitle]
822
- }], icon: [{
823
- type: ContentChild,
824
- args: [McIcon]
825
- }], collapsedText: [{
826
- type: Input
827
- }], collapsed: [{
828
- type: Input
829
- }], collapsable: [{
830
- type: Input
262
+ class McVerticalNavbar extends McFocusableComponent {
263
+ constructor(changeDetectorRef) {
264
+ super(changeDetectorRef);
265
+ this.animationDone = new Subject();
266
+ this._expanded = false;
267
+ this.updateExpandedStateForItems = () => {
268
+ var _a;
269
+ (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
270
+ item.collapsed = !this.expanded;
271
+ setTimeout(() => { var _a; return (_a = item.button) === null || _a === void 0 ? void 0 : _a.updateClassModifierForIcons(); });
272
+ });
273
+ };
274
+ this.updateTooltipForItems = () => {
275
+ this.items.forEach((item) => item.updateTooltip());
276
+ };
277
+ this.setItemsState = () => {
278
+ Promise.resolve()
279
+ .then(() => { var _a; return (_a = this.rectangleElements) === null || _a === void 0 ? void 0 : _a.forEach((item) => item.vertical = true); });
280
+ };
281
+ this.animationDone
282
+ .subscribe(this.updateTooltipForItems);
283
+ }
284
+ get expanded() {
285
+ return this._expanded;
286
+ }
287
+ set expanded(value) {
288
+ this._expanded = coerceBooleanProperty(value);
289
+ this.updateExpandedStateForItems();
290
+ }
291
+ ngAfterContentInit() {
292
+ this.setItemsState();
293
+ this.updateExpandedStateForItems();
294
+ this.updateTooltipForItems();
295
+ this.rectangleElements.changes
296
+ .subscribe(this.setItemsState);
297
+ super.ngAfterContentInit();
298
+ this.keyManager.withVerticalOrientation(true);
299
+ }
300
+ toggle() {
301
+ this.expanded = !this.expanded;
302
+ this.changeDetectorRef.markForCheck();
303
+ }
304
+ onKeyDown(event) {
305
+ // tslint:disable-next-line: deprecation
306
+ const keyCode = event.keyCode;
307
+ if ([SPACE, ENTER, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {
308
+ event.preventDefault();
309
+ }
310
+ if (keyCode === TAB) {
311
+ this.keyManager.tabOut.next();
312
+ return;
313
+ }
314
+ else if (keyCode === DOWN_ARROW) {
315
+ this.keyManager.setNextItemActive();
316
+ }
317
+ else if (keyCode === UP_ARROW) {
318
+ this.keyManager.setPreviousItemActive();
319
+ }
320
+ else {
321
+ this.keyManager.onKeydown(event);
322
+ }
323
+ }
324
+ }
325
+ /** @nocollapse */ /** @nocollapse */ McVerticalNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McVerticalNavbar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
326
+ /** @nocollapse */ /** @nocollapse */ McVerticalNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McVerticalNavbar, selector: "mc-vertical-navbar", inputs: { expanded: "expanded" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "mc-vertical-navbar" }, queries: [{ propertyName: "bento", first: true, predicate: i0.forwardRef(function () { return McNavbarBento; }), descendants: true }, { propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return McNavbarRectangleElement; }), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(function () { return McNavbarItem; }), descendants: true }], exportAs: ["McVerticalNavbar"], usesInheritance: true, ngImport: i0, template: `
327
+ <div class="mc-vertical-navbar__container"
328
+ [@toggle]="expanded"
329
+ (@toggle.done)="animationDone.next()"
330
+ [class.mc-collapsed]="!expanded"
331
+ [class.mc-expanded]="expanded">
332
+
333
+ <ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>
334
+ <ng-content select="[mc-navbar-toggle], mc-navbar-toggle"></ng-content>
335
+ </div>
336
+ `, isInline: true, styles: [".mc-vertical-navbar{position:relative;width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px);height:100%}.mc-vertical-navbar .mc-navbar-container{flex-direction:column;align-items:unset}.mc-vertical-navbar .mc-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;height:100%}.mc-vertical-navbar .mc-vertical-navbar__container.mc-collapsed{width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-vertical-navbar .mc-vertical-navbar__container.mc-expanded{width:var(--mc-vertical-navbar-size-states-expanded-width, 240px)}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--mc-navbar-item-size-height-vertical, 56px);min-width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], animations: [toggleVerticalNavbarAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McVerticalNavbar, decorators: [{
338
+ type: Component,
339
+ args: [{ selector: 'mc-vertical-navbar', exportAs: 'McVerticalNavbar', template: `
340
+ <div class="mc-vertical-navbar__container"
341
+ [@toggle]="expanded"
342
+ (@toggle.done)="animationDone.next()"
343
+ [class.mc-collapsed]="!expanded"
344
+ [class.mc-expanded]="expanded">
345
+
346
+ <ng-content select="[mc-navbar-container], mc-navbar-container"></ng-content>
347
+ <ng-content select="[mc-navbar-toggle], mc-navbar-toggle"></ng-content>
348
+ </div>
349
+ `, host: {
350
+ class: 'mc-vertical-navbar',
351
+ '[attr.tabindex]': 'tabIndex',
352
+ '(focus)': 'focus()',
353
+ '(blur)': 'blur()',
354
+ '(keydown)': 'onKeyDown($event)'
355
+ }, animations: [toggleVerticalNavbarAnimation()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-vertical-navbar{position:relative;width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px);height:100%}.mc-vertical-navbar .mc-navbar-container{flex-direction:column;align-items:unset}.mc-vertical-navbar .mc-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;height:100%}.mc-vertical-navbar .mc-vertical-navbar__container.mc-collapsed{width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-vertical-navbar .mc-vertical-navbar__container.mc-expanded{width:var(--mc-vertical-navbar-size-states-expanded-width, 240px)}\n", ".mc-navbar-title,.mc-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--mc-navbar-item-size-padding, 16px);padding-right:var(--mc-navbar-item-size-padding, 16px)}.mc-navbar-item .mc-badge{position:absolute}.mc-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.mc-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.mc-navbar-item__container .mc-icon{align-self:center}.mc-navbar-item.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px)}.mc-navbar-item.mc-horizontal .mc-icon{min-width:16px;min-height:16px}.mc-navbar-item.mc-horizontal .mc-navbar-item__title+.mc-icon{margin-left:var(--mc-navbar-size-right-icon-margin, 2px)}.mc-navbar-item.mc-horizontal .mc-icon+.mc-navbar-item__container{margin-left:var(--mc-navbar-size-icon-margin, 6px)}.mc-navbar-item.mc-horizontal.mc-navbar-item_collapsed .mc-navbar-item__container{display:none}.mc-navbar-item.mc-horizontal .mc-badge{top:8px;right:8px}.mc-navbar-item.mc-vertical{height:var(--mc-navbar-item-size-height_vertical, 56px)}.mc-navbar-item.mc-vertical>.mc-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.mc-navbar-item.mc-vertical .mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-icon+.mc-navbar-item__title,.mc-navbar-item.mc-vertical .mc-navbar-item__title+.mc-icon{padding-left:var(--mc-vertical-navbar-size-icon-margin, 16px)}.mc-navbar-item.mc-vertical.mc-navbar-item_button{padding-left:12px;padding-right:12px}.mc-navbar-item.mc-vertical.mc-expanded .mc-badge{top:16px;right:16px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-badge{top:4px;right:4px}.mc-navbar-item.mc-vertical.mc-collapsed .mc-navbar-item__title{display:none}.mc-navbar-item.mc-navbar-item_button .mc-button{flex:1}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper{justify-content:center}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_left{margin-left:unset}.mc-navbar-item.mc-navbar-item_button .mc-button .mc-button-wrapper .mc-icon.mc-icon_right{margin-right:unset}a.mc-navbar-item,a.mc-navbar-title{text-decoration:none}.mc-navbar-item .mc-navbar-item__overlay,.mc-navbar-brand .mc-navbar-item__overlay,.mc-navbar-toggle .mc-navbar-item__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mc-navbar-item [mc-button],.mc-navbar-brand [mc-button],.mc-navbar-toggle [mc-button]{z-index:1}\n", ".mc-navbar-logo{display:flex}.mc-navbar-brand{position:relative;display:flex;align-items:center}.mc-navbar-brand .mc-navbar-title{cursor:pointer}a.mc-navbar-brand{text-decoration:none}.mc-navbar-brand.mc-horizontal{height:var(--mc-navbar-item-size-height, 48px);padding-right:var(--mc-navbar-brand-size-margin-right, 24px)}.mc-navbar-brand.mc-horizontal .mc-navbar-title{padding-left:var(--mc-navbar-brand-size-padding, 12px);padding-right:0}.mc-navbar-brand.mc-vertical .mc-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--mc-navbar-item-size-height-vertical, 56px);min-width:var(--mc-vertical-navbar-size-states-collapsed-width, 56px)}.mc-navbar-brand.mc-vertical .mc-navbar-title{display:flex;align-items:center;height:var(--mc-navbar-item-size-height-vertical, 56px);padding-left:0}.mc-navbar-brand.mc-vertical.mc-expanded{align-items:unset}.mc-navbar-brand.mc-vertical.mc-collapsed .mc-navbar-title{display:none}\n", ".mc-navbar-divider{display:block}.mc-navbar-divider.mc-vertical{height:1px;margin:8px 12px}.mc-navbar-divider.mc-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
356
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
357
+ type: ContentChildren,
358
+ args: [forwardRef(() => McNavbarRectangleElement), { descendants: true }]
359
+ }], items: [{
360
+ type: ContentChildren,
361
+ args: [forwardRef(() => McNavbarItem), { descendants: true }]
362
+ }], bento: [{
363
+ type: ContentChild,
364
+ args: [forwardRef(() => McNavbarBento)]
365
+ }], expanded: [{
366
+ type: Input
831
367
  }] } });
832
- class McNavbarToggle extends McTooltipTrigger {
833
- constructor(navbar, changeDetectorRef, overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, document) {
834
- super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
835
- this.navbar = navbar;
836
- this.changeDetectorRef = changeDetectorRef;
837
- this.document = document;
838
- this.modifier = TooltipModifier.Default;
839
- this.toggle = () => {
840
- this.navbar.toggle();
841
- this.changeDetectorRef.markForCheck();
842
- this.hide();
843
- };
844
- this.windowToggleHandler = (event) => {
845
- if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {
846
- this.ngZone.run(this.toggle);
847
- }
848
- };
849
- this.placement = PopUpPlacements.Right;
850
- const window = this.getWindow();
851
- if (window) {
852
- this.ngZone.runOutsideAngular(() => {
853
- window.addEventListener('keydown', this.windowToggleHandler);
854
- });
855
- }
856
- }
857
- get content() {
858
- return this._content;
859
- }
860
- set content(content) {
861
- this._content = content;
862
- this.updateData();
863
- }
864
- get disabled() {
865
- return this.navbar.expanded;
866
- }
867
- onKeydown($event) {
868
- if ([SPACE, ENTER].includes($event.keyCode)) {
869
- this.toggle();
870
- $event.stopPropagation();
871
- $event.preventDefault();
872
- }
873
- super.handleKeydown($event);
874
- }
875
- ngOnDestroy() {
876
- const window = this.getWindow();
877
- if (window) {
878
- window.removeEventListener('keydown', this.windowToggleHandler);
879
- }
880
- }
881
- getWindow() {
882
- var _a;
883
- return ((_a = this.document) === null || _a === void 0 ? void 0 : _a.defaultView) || window;
884
- }
885
- }
886
- /** @nocollapse */ /** @nocollapse */ McNavbarToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarToggle, deps: [{ token: McVerticalNavbar }, { token: i0.ChangeDetectorRef }, { token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
887
- /** @nocollapse */ /** @nocollapse */ McNavbarToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McNavbarToggle, selector: "mc-navbar-toggle", inputs: { content: ["mcCollapsedTooltip", "content"] }, host: { listeners: { "keydown": "onKeydown($event)", "click": "toggle()", "touchend": "handleTouchend()" }, properties: { "class.mc-tooltip_open": "isOpen" }, classAttribute: "mc-navbar-item mc-navbar-toggle mc-vertical" }, queries: [{ propertyName: "customIcon", first: true, predicate: McIcon, descendants: true }], usesInheritance: true, ngImport: i0, template: `
888
- <i mc-icon
889
- [class.mc-angle-left-M_24]="navbar.expanded"
890
- [class.mc-angle-right-M_24]="!navbar.expanded"
891
- *ngIf="!customIcon">
892
- </i>
893
-
894
- <ng-content select="[mc-icon]"></ng-content>
895
-
896
- <div class="mc-navbar-item__title" *ngIf="navbar.expanded">
897
- <ng-content select="mc-navbar-title"></ng-content>
898
- </div>
899
368
 
900
- <div class="mc-navbar-item__overlay"></div>
901
- `, isInline: true, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n"], components: [{ type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarToggle, decorators: [{
903
- type: Component,
904
- args: [{ selector: 'mc-navbar-toggle', template: `
905
- <i mc-icon
906
- [class.mc-angle-left-M_24]="navbar.expanded"
907
- [class.mc-angle-right-M_24]="!navbar.expanded"
908
- *ngIf="!customIcon">
909
- </i>
910
-
911
- <ng-content select="[mc-icon]"></ng-content>
912
-
913
- <div class="mc-navbar-item__title" *ngIf="navbar.expanded">
914
- <ng-content select="mc-navbar-title"></ng-content>
915
- </div>
916
-
917
- <div class="mc-navbar-item__overlay"></div>
918
- `, host: {
919
- class: 'mc-navbar-item mc-navbar-toggle mc-vertical',
920
- '[class.mc-tooltip_open]': 'isOpen',
921
- '(keydown)': 'onKeydown($event)',
922
- '(click)': 'toggle()',
923
- '(touchend)': 'handleTouchend()'
924
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n"] }]
925
- }], ctorParameters: function () {
926
- return [{ type: McVerticalNavbar }, { type: i0.ChangeDetectorRef }, { type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
927
- type: Inject,
928
- args: [MC_TOOLTIP_SCROLL_STRATEGY]
929
- }] }, { type: i4.Directionality, decorators: [{
930
- type: Optional
931
- }] }, { type: undefined, decorators: [{
932
- type: Optional
933
- }, {
934
- type: Inject,
935
- args: [DOCUMENT]
936
- }] }];
937
- }, propDecorators: { customIcon: [{
938
- type: ContentChild,
939
- args: [McIcon]
940
- }], content: [{
941
- type: Input,
942
- args: ['mcCollapsedTooltip']
369
+ class McNavbarLogo {
370
+ constructor() {
371
+ this.hovered = new Subject();
372
+ }
373
+ }
374
+ /** @nocollapse */ /** @nocollapse */ McNavbarLogo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarLogo, deps: [], target: i0.ɵɵFactoryTarget.Directive });
375
+ /** @nocollapse */ /** @nocollapse */ McNavbarLogo.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarLogo, selector: "mc-navbar-logo, [mc-navbar-logo]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, classAttribute: "mc-navbar-logo" }, ngImport: i0 });
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarLogo, decorators: [{
377
+ type: Directive,
378
+ args: [{
379
+ selector: 'mc-navbar-logo, [mc-navbar-logo]',
380
+ host: {
381
+ class: 'mc-navbar-logo',
382
+ '(mouseenter)': 'hovered.next(true)',
383
+ '(mouseleave)': 'hovered.next(false)'
384
+ }
385
+ }]
386
+ }] });
387
+ class McNavbarBento {
388
+ }
389
+ /** @nocollapse */ /** @nocollapse */ McNavbarBento.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarBento, deps: [], target: i0.ɵɵFactoryTarget.Directive });
390
+ /** @nocollapse */ /** @nocollapse */ McNavbarBento.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarBento, selector: "mc-navbar-item[bento], [mc-navbar-item][bento]", host: { classAttribute: "mc-navbar-bento" }, ngImport: i0 });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarBento, decorators: [{
392
+ type: Directive,
393
+ args: [{
394
+ selector: 'mc-navbar-item[bento], [mc-navbar-item][bento]',
395
+ host: {
396
+ class: 'mc-navbar-bento'
397
+ }
398
+ }]
399
+ }] });
400
+ class McNavbarTitle {
401
+ constructor(elementRef) {
402
+ this.elementRef = elementRef;
403
+ this.hovered = new Subject();
404
+ this.isTextOverflown = false;
405
+ }
406
+ get text() {
407
+ return this.elementRef.nativeElement.innerText;
408
+ }
409
+ get isOverflown() {
410
+ return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;
411
+ }
412
+ getOuterElementWidth() {
413
+ const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
414
+ return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);
415
+ }
416
+ checkTextOverflown() {
417
+ // tslint:disable-next-line:no-magic-numbers
418
+ this.isTextOverflown = this.text.length > 18;
419
+ }
420
+ ngAfterViewInit() {
421
+ this.outerElementWidth = this.getOuterElementWidth();
422
+ }
423
+ }
424
+ /** @nocollapse */ /** @nocollapse */ McNavbarTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarTitle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
425
+ /** @nocollapse */ /** @nocollapse */ McNavbarTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarTitle, selector: "mc-navbar-title, [mc-navbar-title]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, properties: { "class.mc-navbar-title_small": "isTextOverflown" }, classAttribute: "mc-navbar-title" }, ngImport: i0 });
426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarTitle, decorators: [{
427
+ type: Directive,
428
+ args: [{
429
+ selector: 'mc-navbar-title, [mc-navbar-title]',
430
+ host: {
431
+ class: 'mc-navbar-title',
432
+ '[class.mc-navbar-title_small]': 'isTextOverflown',
433
+ '(mouseenter)': 'hovered.next(true)',
434
+ '(mouseleave)': 'hovered.next(false)'
435
+ }
436
+ }]
437
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
438
+ class McNavbarSubTitle {
439
+ constructor(elementRef) {
440
+ this.elementRef = elementRef;
441
+ this.hovered = new Subject();
442
+ }
443
+ get text() {
444
+ return this.elementRef.nativeElement.innerText;
445
+ }
446
+ get isOverflown() {
447
+ return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;
448
+ }
449
+ getOuterElementWidth() {
450
+ const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
451
+ return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);
452
+ }
453
+ ngAfterContentInit() {
454
+ this.outerElementWidth = this.getOuterElementWidth();
455
+ }
456
+ }
457
+ /** @nocollapse */ /** @nocollapse */ McNavbarSubTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarSubTitle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
458
+ /** @nocollapse */ /** @nocollapse */ McNavbarSubTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarSubTitle, selector: "mc-navbar-subtitle, [mc-navbar-subtitle]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, classAttribute: "mc-navbar-subtitle" }, ngImport: i0 });
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarSubTitle, decorators: [{
460
+ type: Directive,
461
+ args: [{
462
+ selector: 'mc-navbar-subtitle, [mc-navbar-subtitle]',
463
+ host: {
464
+ class: 'mc-navbar-subtitle',
465
+ '(mouseenter)': 'hovered.next(true)',
466
+ '(mouseleave)': 'hovered.next(false)'
467
+ }
468
+ }]
469
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
470
+ class McNavbarBrand {
471
+ constructor(navbar) {
472
+ this.navbar = navbar;
473
+ this.hovered = false;
474
+ this.destroyed = new Subject();
475
+ }
476
+ get hasBento() {
477
+ var _a;
478
+ return !!((_a = this.navbar) === null || _a === void 0 ? void 0 : _a.bento);
479
+ }
480
+ ngAfterContentInit() {
481
+ var _a;
482
+ merge(this.logo ? this.logo.hovered : EMPTY, this.title ? this.title.hovered : EMPTY)
483
+ .pipe(takeUntil(this.destroyed))
484
+ .subscribe((value) => this.hovered = value);
485
+ (_a = this.navbar) === null || _a === void 0 ? void 0 : _a.animationDone.subscribe(() => { var _a; return (_a = this.title) === null || _a === void 0 ? void 0 : _a.checkTextOverflown(); });
486
+ }
487
+ ngOnDestroy() {
488
+ this.destroyed.next();
489
+ this.destroyed.complete();
490
+ }
491
+ }
492
+ /** @nocollapse */ /** @nocollapse */ McNavbarBrand.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarBrand, deps: [{ token: McVerticalNavbar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
493
+ /** @nocollapse */ /** @nocollapse */ McNavbarBrand.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarBrand, selector: "mc-navbar-brand, [mc-navbar-brand]", host: { properties: { "class.mc-hovered": "hovered" }, classAttribute: "mc-navbar-brand" }, queries: [{ propertyName: "logo", first: true, predicate: McNavbarLogo, descendants: true }, { propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }], exportAs: ["mcNavbarBrand"], ngImport: i0, template: `
494
+ <ng-content></ng-content>
495
+ <div class="mc-navbar-item__overlay"></div>
496
+ `, isInline: true });
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarBrand, decorators: [{
498
+ type: Component,
499
+ args: [{
500
+ selector: 'mc-navbar-brand, [mc-navbar-brand]',
501
+ exportAs: 'mcNavbarBrand',
502
+ template: `
503
+ <ng-content></ng-content>
504
+ <div class="mc-navbar-item__overlay"></div>
505
+ `,
506
+ host: {
507
+ class: 'mc-navbar-brand',
508
+ '[class.mc-hovered]': 'hovered'
509
+ }
510
+ }]
511
+ }], ctorParameters: function () {
512
+ return [{ type: McVerticalNavbar, decorators: [{
513
+ type: Optional
514
+ }] }];
515
+ }, propDecorators: { logo: [{
516
+ type: ContentChild,
517
+ args: [McNavbarLogo]
518
+ }], title: [{
519
+ type: ContentChild,
520
+ args: [McNavbarTitle]
521
+ }] } });
522
+ class McNavbarDivider {
523
+ }
524
+ /** @nocollapse */ /** @nocollapse */ McNavbarDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarDivider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
525
+ /** @nocollapse */ /** @nocollapse */ McNavbarDivider.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarDivider, selector: "mc-navbar-divider", host: { classAttribute: "mc-navbar-divider" }, ngImport: i0 });
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarDivider, decorators: [{
527
+ type: Directive,
528
+ args: [{
529
+ selector: 'mc-navbar-divider',
530
+ host: {
531
+ class: 'mc-navbar-divider'
532
+ }
533
+ }]
534
+ }] });
535
+ class McNavbarFocusableItem {
536
+ constructor(elementRef, changeDetector, focusMonitor, ngZone) {
537
+ this.elementRef = elementRef;
538
+ this.changeDetector = changeDetector;
539
+ this.focusMonitor = focusMonitor;
540
+ this.ngZone = ngZone;
541
+ this.onFocus = new Subject();
542
+ this.onBlur = new Subject();
543
+ this._hasFocus = false;
544
+ this._disabled = false;
545
+ }
546
+ get hasFocus() {
547
+ var _a;
548
+ return !!((_a = this.button) === null || _a === void 0 ? void 0 : _a.hasFocus) || this._hasFocus;
549
+ }
550
+ set hasFocus(value) {
551
+ this._hasFocus = value;
552
+ }
553
+ get disabled() {
554
+ return this._disabled;
555
+ }
556
+ set disabled(value) {
557
+ const newValue = toBoolean(value);
558
+ if (newValue !== this._disabled) {
559
+ this._disabled = newValue;
560
+ this.changeDetector.markForCheck();
561
+ }
562
+ }
563
+ get tabIndex() {
564
+ return -1;
565
+ }
566
+ ngAfterContentInit() {
567
+ if (this.button) {
568
+ this.button.tabIndex = -1;
569
+ }
570
+ this.focusMonitor.monitor(this.elementRef);
571
+ }
572
+ ngOnDestroy() {
573
+ this.focusMonitor.stopMonitoring(this.elementRef);
574
+ }
575
+ onFocusHandler() {
576
+ if (this.disabled || this.hasFocus) {
577
+ return;
578
+ }
579
+ this.onFocus.next({ item: this });
580
+ this.hasFocus = true;
581
+ this.changeDetector.markForCheck();
582
+ this.elementRef.nativeElement.focus();
583
+ }
584
+ focus(origin) {
585
+ if (this.disabled || this.hasFocus) {
586
+ return origin;
587
+ }
588
+ if (origin === 'keyboard') {
589
+ this.focusMonitor.focusVia(this.elementRef, origin);
590
+ }
591
+ if (this.button) {
592
+ this.button.focusViaKeyboard();
593
+ this.changeDetector.markForCheck();
594
+ return;
595
+ }
596
+ this.onFocusHandler();
597
+ }
598
+ blur() {
599
+ // When animations are enabled, Angular may end up removing the option from the DOM a little
600
+ // earlier than usual, causing it to be blurred and throwing off the logic in the list
601
+ // that moves focus not the next item. To work around the issue, we defer marking the option
602
+ // as not focused until the next time the zone stabilizes.
603
+ this.ngZone.onStable
604
+ .asObservable()
605
+ .pipe(take(1))
606
+ .subscribe(() => {
607
+ this.ngZone.run(() => {
608
+ var _a;
609
+ this._hasFocus = false;
610
+ if ((_a = this.button) === null || _a === void 0 ? void 0 : _a.hasFocus) {
611
+ return;
612
+ }
613
+ this.onBlur.next({ item: this });
614
+ });
615
+ });
616
+ }
617
+ getLabel() {
618
+ var _a;
619
+ return ((_a = this.title) === null || _a === void 0 ? void 0 : _a.text) || '';
620
+ }
621
+ }
622
+ /** @nocollapse */ /** @nocollapse */ McNavbarFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarFocusableItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
623
+ /** @nocollapse */ /** @nocollapse */ McNavbarFocusableItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarFocusableItem, selector: "mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocusHandler()", "blur": "blur()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.mc-navbar-item_button": "button" }, classAttribute: "mc-navbar-focusable-item" }, queries: [{ propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }, { propertyName: "button", first: true, predicate: McButton, descendants: true }], ngImport: i0 });
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarFocusableItem, decorators: [{
625
+ type: Directive,
626
+ args: [{
627
+ selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle',
628
+ host: {
629
+ '[attr.tabindex]': 'tabIndex',
630
+ '[attr.disabled]': 'disabled || null',
631
+ class: 'mc-navbar-focusable-item',
632
+ '[class.mc-navbar-item_button]': 'button',
633
+ '(focus)': 'onFocusHandler()',
634
+ '(blur)': 'blur()'
635
+ }
636
+ }]
637
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.FocusMonitor }, { type: i0.NgZone }]; }, propDecorators: { title: [{
638
+ type: ContentChild,
639
+ args: [McNavbarTitle]
640
+ }], button: [{
641
+ type: ContentChild,
642
+ args: [McButton]
643
+ }], disabled: [{
644
+ type: Input
645
+ }] } });
646
+ class McNavbarRectangleElement {
647
+ constructor(elementRef) {
648
+ this.elementRef = elementRef;
649
+ this.state = new Subject();
650
+ }
651
+ get horizontal() {
652
+ return this._horizontal;
653
+ }
654
+ set horizontal(value) {
655
+ this._horizontal = value;
656
+ this.state.next();
657
+ }
658
+ get vertical() {
659
+ return this._vertical;
660
+ }
661
+ set vertical(value) {
662
+ this._vertical = value;
663
+ this.state.next();
664
+ }
665
+ get collapsed() {
666
+ return this._collapsed;
667
+ }
668
+ set collapsed(value) {
669
+ this._collapsed = value;
670
+ this.state.next();
671
+ }
672
+ getOuterElementWidth() {
673
+ const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);
674
+ return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);
675
+ }
676
+ }
677
+ /** @nocollapse */ /** @nocollapse */ McNavbarRectangleElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarRectangleElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
678
+ /** @nocollapse */ /** @nocollapse */ McNavbarRectangleElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarRectangleElement, selector: "mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]", host: { properties: { "class.mc-vertical": "vertical", "class.mc-horizontal": "horizontal", "class.mc-expanded": "vertical && !collapsed", "class.mc-collapsed": "vertical && collapsed" } }, queries: [{ propertyName: "button", first: true, predicate: McButtonCssStyler, descendants: true }], ngImport: i0 });
679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarRectangleElement, decorators: [{
680
+ type: Directive,
681
+ args: [{
682
+ selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',
683
+ host: {
684
+ '[class.mc-vertical]': 'vertical',
685
+ '[class.mc-horizontal]': 'horizontal',
686
+ '[class.mc-expanded]': 'vertical && !collapsed',
687
+ '[class.mc-collapsed]': 'vertical && collapsed'
688
+ }
689
+ }]
690
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { button: [{
691
+ type: ContentChild,
692
+ args: [McButtonCssStyler]
693
+ }] } });
694
+ class McNavbarItem extends McTooltipTrigger {
695
+ constructor(rectangleElement, changeDetectorRef, overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, dropdownTrigger, bento) {
696
+ super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
697
+ this.rectangleElement = rectangleElement;
698
+ this.changeDetectorRef = changeDetectorRef;
699
+ this.dropdownTrigger = dropdownTrigger;
700
+ this.bento = bento;
701
+ this._collapsed = false;
702
+ this._collapsable = true;
703
+ if (this.hasDropDownTrigger) {
704
+ this.dropdownTrigger.openByArrowDown = false;
705
+ }
706
+ this.rectangleElement.state
707
+ .subscribe(() => {
708
+ this.collapsed = this.rectangleElement.collapsed;
709
+ this.changeDetectorRef.detectChanges();
710
+ });
711
+ }
712
+ get collapsed() {
713
+ return this._collapsed;
714
+ }
715
+ set collapsed(value) {
716
+ if (this._collapsed !== value) {
717
+ this._collapsed = value;
718
+ this.updateTooltip();
719
+ }
720
+ }
721
+ get croppedText() {
722
+ var _a, _b;
723
+ const croppedTitleText = ((_a = this.title) === null || _a === void 0 ? void 0 : _a.isOverflown) ? this.titleText : '';
724
+ const croppedSubTitleText = ((_b = this.subTitle) === null || _b === void 0 ? void 0 : _b.isOverflown) ? this.subTitleText : '';
725
+ return `${croppedTitleText}\n ${croppedSubTitleText}`;
726
+ }
727
+ get collapsable() {
728
+ return this._collapsable;
729
+ }
730
+ set collapsable(value) {
731
+ this._collapsable = coerceBooleanProperty(value);
732
+ }
733
+ get titleText() {
734
+ var _a;
735
+ return this.collapsedText || ((_a = this.title) === null || _a === void 0 ? void 0 : _a.text) || null;
736
+ }
737
+ get subTitleText() {
738
+ var _a;
739
+ return ((_a = this.subTitle) === null || _a === void 0 ? void 0 : _a.text) || null;
740
+ }
741
+ get disabled() {
742
+ if (this._disabled !== undefined) {
743
+ return this._disabled;
744
+ }
745
+ return (!this.collapsed && !this.hasCroppedText) || !this.title;
746
+ }
747
+ set disabled(value) {
748
+ this._disabled = coerceBooleanProperty(value);
749
+ }
750
+ get hasDropDownTrigger() {
751
+ return !!this.dropdownTrigger;
752
+ }
753
+ get showVerticalDropDownAngle() {
754
+ return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.collapsed;
755
+ }
756
+ get showHorizontalDropDownAngle() {
757
+ return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.collapsed;
758
+ }
759
+ get hasCroppedText() {
760
+ var _a, _b;
761
+ return !!(((_a = this.title) === null || _a === void 0 ? void 0 : _a.isOverflown) || ((_b = this.subTitle) === null || _b === void 0 ? void 0 : _b.isOverflown));
762
+ }
763
+ ngAfterContentInit() {
764
+ this.updateTooltip();
765
+ }
766
+ updateTooltip() {
767
+ if (this.collapsed) {
768
+ this.content = `${this.titleText}\n ${this.subTitleText || ''}`;
769
+ }
770
+ else if (!this.collapsed && this.hasCroppedText) {
771
+ this.content = this.croppedText;
772
+ }
773
+ if (this.rectangleElement.vertical) {
774
+ this.placement = PopUpPlacements.Right;
775
+ }
776
+ this.changeDetectorRef.markForCheck();
777
+ }
778
+ getTitleWidth() {
779
+ return this.title.outerElementWidth;
780
+ }
781
+ onKeyDown($event) {
782
+ if (!this.hasDropDownTrigger) {
783
+ return;
784
+ }
785
+ if (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW ||
786
+ this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW) {
787
+ this.dropdownTrigger.openedBy = 'keyboard';
788
+ this.dropdownTrigger.open();
789
+ $event.stopPropagation();
790
+ $event.preventDefault();
791
+ }
792
+ }
793
+ }
794
+ /** @nocollapse */ /** @nocollapse */ McNavbarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarItem, deps: [{ token: McNavbarRectangleElement }, { token: i0.ChangeDetectorRef }, { token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: i5.McDropdownTrigger, optional: true }, { token: McNavbarBento, optional: true }], target: i0.ɵɵFactoryTarget.Component });
795
+ /** @nocollapse */ /** @nocollapse */ McNavbarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarItem, selector: "mc-navbar-item, [mc-navbar-item]", inputs: { collapsedText: "collapsedText", collapsed: "collapsed", collapsable: "collapsable" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.mc-navbar-item_collapsed": "collapsed" }, classAttribute: "mc-navbar-item" }, queries: [{ propertyName: "title", first: true, predicate: McNavbarTitle, descendants: true }, { propertyName: "subTitle", first: true, predicate: McNavbarSubTitle, descendants: true }, { propertyName: "icon", first: true, predicate: McIcon, descendants: true }], exportAs: ["mcNavbarItem"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[mc-icon]\"></ng-content>\r\n\r\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\r\n <div class=\"mc-navbar-item__title\">\r\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\r\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\r\n </div>\r\n\r\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\r\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\r\n\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<div class=\"mc-navbar-item__overlay\"></div>\r\n", components: [{ type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarItem, decorators: [{
797
+ type: Component,
798
+ args: [{ selector: 'mc-navbar-item, [mc-navbar-item]', exportAs: 'mcNavbarItem', host: {
799
+ class: 'mc-navbar-item',
800
+ '[class.mc-navbar-item_collapsed]': 'collapsed',
801
+ '(keydown)': 'onKeyDown($event)'
802
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"[mc-icon]\"></ng-content>\r\n\r\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\r\n <div class=\"mc-navbar-item__title\">\r\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\r\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\r\n </div>\r\n\r\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\r\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\r\n\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<div class=\"mc-navbar-item__overlay\"></div>\r\n" }]
803
+ }], ctorParameters: function () {
804
+ return [{ type: McNavbarRectangleElement }, { type: i0.ChangeDetectorRef }, { type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
805
+ type: Inject,
806
+ args: [MC_TOOLTIP_SCROLL_STRATEGY]
807
+ }] }, { type: i4.Directionality, decorators: [{
808
+ type: Optional
809
+ }] }, { type: i5.McDropdownTrigger, decorators: [{
810
+ type: Optional
811
+ }] }, { type: McNavbarBento, decorators: [{
812
+ type: Optional
813
+ }] }];
814
+ }, propDecorators: { title: [{
815
+ type: ContentChild,
816
+ args: [McNavbarTitle]
817
+ }], subTitle: [{
818
+ type: ContentChild,
819
+ args: [McNavbarSubTitle]
820
+ }], icon: [{
821
+ type: ContentChild,
822
+ args: [McIcon]
823
+ }], collapsedText: [{
824
+ type: Input
825
+ }], collapsed: [{
826
+ type: Input
827
+ }], collapsable: [{
828
+ type: Input
829
+ }] } });
830
+ class McNavbarToggle extends McTooltipTrigger {
831
+ constructor(navbar, changeDetectorRef, overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, document) {
832
+ super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
833
+ this.navbar = navbar;
834
+ this.changeDetectorRef = changeDetectorRef;
835
+ this.document = document;
836
+ this.modifier = TooltipModifier.Default;
837
+ this.toggle = () => {
838
+ this.navbar.toggle();
839
+ this.changeDetectorRef.markForCheck();
840
+ this.hide();
841
+ };
842
+ this.windowToggleHandler = (event) => {
843
+ if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {
844
+ this.ngZone.run(this.toggle);
845
+ }
846
+ };
847
+ this.placement = PopUpPlacements.Right;
848
+ const window = this.getWindow();
849
+ if (window) {
850
+ this.ngZone.runOutsideAngular(() => {
851
+ window.addEventListener('keydown', this.windowToggleHandler);
852
+ });
853
+ }
854
+ }
855
+ get content() {
856
+ return this._content;
857
+ }
858
+ set content(content) {
859
+ this._content = content;
860
+ this.updateData();
861
+ }
862
+ get disabled() {
863
+ return this.navbar.expanded;
864
+ }
865
+ onKeydown($event) {
866
+ if ([SPACE, ENTER].includes($event.keyCode)) {
867
+ this.toggle();
868
+ $event.stopPropagation();
869
+ $event.preventDefault();
870
+ }
871
+ super.handleKeydown($event);
872
+ }
873
+ ngOnDestroy() {
874
+ const window = this.getWindow();
875
+ if (window) {
876
+ window.removeEventListener('keydown', this.windowToggleHandler);
877
+ }
878
+ }
879
+ getWindow() {
880
+ var _a;
881
+ return ((_a = this.document) === null || _a === void 0 ? void 0 : _a.defaultView) || window;
882
+ }
883
+ }
884
+ /** @nocollapse */ /** @nocollapse */ McNavbarToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarToggle, deps: [{ token: McVerticalNavbar }, { token: i0.ChangeDetectorRef }, { token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
885
+ /** @nocollapse */ /** @nocollapse */ McNavbarToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McNavbarToggle, selector: "mc-navbar-toggle", inputs: { content: ["mcCollapsedTooltip", "content"] }, host: { listeners: { "keydown": "onKeydown($event)", "click": "toggle()", "touchend": "handleTouchend()" }, properties: { "class.mc-tooltip_open": "isOpen" }, classAttribute: "mc-navbar-item mc-navbar-toggle mc-vertical" }, queries: [{ propertyName: "customIcon", first: true, predicate: McIcon, descendants: true }], usesInheritance: true, ngImport: i0, template: `
886
+ <i mc-icon
887
+ [class.mc-angle-left-M_24]="navbar.expanded"
888
+ [class.mc-angle-right-M_24]="!navbar.expanded"
889
+ *ngIf="!customIcon">
890
+ </i>
891
+
892
+ <ng-content select="[mc-icon]"></ng-content>
893
+
894
+ <div class="mc-navbar-item__title" *ngIf="navbar.expanded">
895
+ <ng-content select="mc-navbar-title"></ng-content>
896
+ </div>
897
+
898
+ <div class="mc-navbar-item__overlay"></div>
899
+ `, isInline: true, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n"], components: [{ type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarToggle, decorators: [{
901
+ type: Component,
902
+ args: [{ selector: 'mc-navbar-toggle', template: `
903
+ <i mc-icon
904
+ [class.mc-angle-left-M_24]="navbar.expanded"
905
+ [class.mc-angle-right-M_24]="!navbar.expanded"
906
+ *ngIf="!customIcon">
907
+ </i>
908
+
909
+ <ng-content select="[mc-icon]"></ng-content>
910
+
911
+ <div class="mc-navbar-item__title" *ngIf="navbar.expanded">
912
+ <ng-content select="mc-navbar-title"></ng-content>
913
+ </div>
914
+
915
+ <div class="mc-navbar-item__overlay"></div>
916
+ `, host: {
917
+ class: 'mc-navbar-item mc-navbar-toggle mc-vertical',
918
+ '[class.mc-tooltip_open]': 'isOpen',
919
+ '(keydown)': 'onKeydown($event)',
920
+ '(click)': 'toggle()',
921
+ '(touchend)': 'handleTouchend()'
922
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.mc-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n"] }]
923
+ }], ctorParameters: function () {
924
+ return [{ type: McVerticalNavbar }, { type: i0.ChangeDetectorRef }, { type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
925
+ type: Inject,
926
+ args: [MC_TOOLTIP_SCROLL_STRATEGY]
927
+ }] }, { type: i4.Directionality, decorators: [{
928
+ type: Optional
929
+ }] }, { type: undefined, decorators: [{
930
+ type: Optional
931
+ }, {
932
+ type: Inject,
933
+ args: [DOCUMENT]
934
+ }] }];
935
+ }, propDecorators: { customIcon: [{
936
+ type: ContentChild,
937
+ args: [McIcon]
938
+ }], content: [{
939
+ type: Input,
940
+ args: ['mcCollapsedTooltip']
943
941
  }] } });
944
942
 
945
- class McNavbarModule {
946
- }
947
- /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
948
- /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarModule, declarations: [McNavbar,
949
- McNavbarContainer,
950
- McNavbarTitle,
951
- McNavbarItem,
952
- McNavbarBrand,
953
- McNavbarLogo,
954
- McNavbarToggle,
955
- McVerticalNavbar,
956
- McNavbarDivider,
957
- McNavbarFocusableItem,
958
- McNavbarRectangleElement,
959
- McNavbarSubTitle,
960
- McNavbarBento], imports: [CommonModule,
961
- A11yModule,
962
- PlatformModule,
963
- McIconModule,
964
- McToolTipModule], exports: [McNavbar,
965
- McNavbarContainer,
966
- McNavbarTitle,
967
- McNavbarItem,
968
- McNavbarBrand,
969
- McNavbarLogo,
970
- McNavbarToggle,
971
- McVerticalNavbar,
972
- McNavbarDivider,
973
- McNavbarFocusableItem,
974
- McNavbarRectangleElement,
975
- McNavbarSubTitle,
976
- McNavbarBento] });
977
- /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarModule, imports: [[
978
- CommonModule,
979
- A11yModule,
980
- PlatformModule,
981
- McIconModule,
982
- McToolTipModule
983
- ]] });
984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNavbarModule, decorators: [{
985
- type: NgModule,
986
- args: [{
987
- imports: [
988
- CommonModule,
989
- A11yModule,
990
- PlatformModule,
991
- McIconModule,
992
- McToolTipModule
993
- ],
994
- exports: [
995
- McNavbar,
996
- McNavbarContainer,
997
- McNavbarTitle,
998
- McNavbarItem,
999
- McNavbarBrand,
1000
- McNavbarLogo,
1001
- McNavbarToggle,
1002
- McVerticalNavbar,
1003
- McNavbarDivider,
1004
- McNavbarFocusableItem,
1005
- McNavbarRectangleElement,
1006
- McNavbarSubTitle,
1007
- McNavbarBento
1008
- ],
1009
- declarations: [
1010
- McNavbar,
1011
- McNavbarContainer,
1012
- McNavbarTitle,
1013
- McNavbarItem,
1014
- McNavbarBrand,
1015
- McNavbarLogo,
1016
- McNavbarToggle,
1017
- McVerticalNavbar,
1018
- McNavbarDivider,
1019
- McNavbarFocusableItem,
1020
- McNavbarRectangleElement,
1021
- McNavbarSubTitle,
1022
- McNavbarBento
1023
- ]
1024
- }]
943
+ class McNavbarModule {
944
+ }
945
+ /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
946
+ /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarModule, declarations: [McNavbar,
947
+ McNavbarContainer,
948
+ McNavbarTitle,
949
+ McNavbarItem,
950
+ McNavbarBrand,
951
+ McNavbarLogo,
952
+ McNavbarToggle,
953
+ McVerticalNavbar,
954
+ McNavbarDivider,
955
+ McNavbarFocusableItem,
956
+ McNavbarRectangleElement,
957
+ McNavbarSubTitle,
958
+ McNavbarBento], imports: [CommonModule,
959
+ A11yModule,
960
+ PlatformModule,
961
+ McIconModule,
962
+ McToolTipModule], exports: [McNavbar,
963
+ McNavbarContainer,
964
+ McNavbarTitle,
965
+ McNavbarItem,
966
+ McNavbarBrand,
967
+ McNavbarLogo,
968
+ McNavbarToggle,
969
+ McVerticalNavbar,
970
+ McNavbarDivider,
971
+ McNavbarFocusableItem,
972
+ McNavbarRectangleElement,
973
+ McNavbarSubTitle,
974
+ McNavbarBento] });
975
+ /** @nocollapse */ /** @nocollapse */ McNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarModule, imports: [[
976
+ CommonModule,
977
+ A11yModule,
978
+ PlatformModule,
979
+ McIconModule,
980
+ McToolTipModule
981
+ ]] });
982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McNavbarModule, decorators: [{
983
+ type: NgModule,
984
+ args: [{
985
+ imports: [
986
+ CommonModule,
987
+ A11yModule,
988
+ PlatformModule,
989
+ McIconModule,
990
+ McToolTipModule
991
+ ],
992
+ exports: [
993
+ McNavbar,
994
+ McNavbarContainer,
995
+ McNavbarTitle,
996
+ McNavbarItem,
997
+ McNavbarBrand,
998
+ McNavbarLogo,
999
+ McNavbarToggle,
1000
+ McVerticalNavbar,
1001
+ McNavbarDivider,
1002
+ McNavbarFocusableItem,
1003
+ McNavbarRectangleElement,
1004
+ McNavbarSubTitle,
1005
+ McNavbarBento
1006
+ ],
1007
+ declarations: [
1008
+ McNavbar,
1009
+ McNavbarContainer,
1010
+ McNavbarTitle,
1011
+ McNavbarItem,
1012
+ McNavbarBrand,
1013
+ McNavbarLogo,
1014
+ McNavbarToggle,
1015
+ McVerticalNavbar,
1016
+ McNavbarDivider,
1017
+ McNavbarFocusableItem,
1018
+ McNavbarRectangleElement,
1019
+ McNavbarSubTitle,
1020
+ McNavbarBento
1021
+ ]
1022
+ }]
1025
1023
  }] });
1026
1024
 
1027
- /**
1028
- * Generated bundle index. Do not edit.
1025
+ /**
1026
+ * Generated bundle index. Do not edit.
1029
1027
  */
1030
1028
 
1031
1029
  export { McFocusableComponent, McNavbar, McNavbarBento, McNavbarBrand, McNavbarContainer, McNavbarDivider, McNavbarFocusableItem, McNavbarItem, McNavbarLogo, McNavbarModule, McNavbarRectangleElement, McNavbarSubTitle, McNavbarTitle, McNavbarToggle, McVerticalNavbar };