@evotor-dev/ui-kit 7.1.0 → 7.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. package/README.md +71 -114
  2. package/esm2020/evotor-dev-ui-kit.mjs +4 -4
  3. package/esm2020/icons/category/evotor-dev-ui-kit-icons-category.mjs +4 -4
  4. package/esm2020/icons/category/index.mjs +61 -61
  5. package/esm2020/icons/emotions/evotor-dev-ui-kit-icons-emotions.mjs +4 -4
  6. package/esm2020/icons/emotions/index.mjs +17 -17
  7. package/esm2020/icons/evotor-dev-ui-kit-icons.mjs +4 -4
  8. package/esm2020/icons/header/evotor-dev-ui-kit-icons-header.mjs +4 -4
  9. package/esm2020/icons/header/index.mjs +27 -27
  10. package/esm2020/icons/index.mjs +8 -8
  11. package/esm2020/icons/info/evotor-dev-ui-kit-icons-info.mjs +4 -4
  12. package/esm2020/icons/info/index.mjs +39 -39
  13. package/esm2020/icons/navigation/evotor-dev-ui-kit-icons-navigation.mjs +4 -4
  14. package/esm2020/icons/navigation/index.mjs +56 -56
  15. package/esm2020/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.mjs +4 -4
  16. package/esm2020/icons/side-menu/index.mjs +63 -63
  17. package/esm2020/icons/system/evotor-dev-ui-kit-icons-system.mjs +4 -4
  18. package/esm2020/icons/system/index.mjs +372 -372
  19. package/esm2020/lib/common/Serializable.mjs +5 -5
  20. package/esm2020/lib/common/animations/expand.animation.mjs +27 -27
  21. package/esm2020/lib/common/animations/index.mjs +3 -3
  22. package/esm2020/lib/common/animations/sidebar.animation.mjs +9 -9
  23. package/esm2020/lib/common/animations/skip-initial-render.animation.mjs +2 -2
  24. package/esm2020/lib/common/collection/evo-collection-fabric.mjs +9 -9
  25. package/esm2020/lib/common/collection/evo-collection.mjs +6 -6
  26. package/esm2020/lib/common/collection/index.mjs +2 -2
  27. package/esm2020/lib/common/constants/css-breakpoints.mjs +8 -8
  28. package/esm2020/lib/common/constants/view-breakpoint-streams.mjs +23 -23
  29. package/esm2020/lib/common/evo-base-control.mjs +45 -45
  30. package/esm2020/lib/common/evo-control-state-manager/evo-control-state-manager.mjs +12 -12
  31. package/esm2020/lib/common/evo-control-state-manager/evo-control-state.interface.mjs +1 -1
  32. package/esm2020/lib/common/evo-control-state-manager/evo-control-states.enum.mjs +5 -5
  33. package/esm2020/lib/common/form-helper/form-helper.mjs +30 -30
  34. package/esm2020/lib/common/types/evo-color.mjs +1 -1
  35. package/esm2020/lib/common/types/evo-size.mjs +1 -1
  36. package/esm2020/lib/common/types/index.mjs +2 -2
  37. package/esm2020/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +30 -30
  38. package/esm2020/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.mjs +18 -18
  39. package/esm2020/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +56 -56
  40. package/esm2020/lib/components/evo-accordion/evo-accordion.component.mjs +16 -16
  41. package/esm2020/lib/components/evo-accordion/evo-accordion.module.mjs +65 -65
  42. package/esm2020/lib/components/evo-accordion/index.mjs +1 -1
  43. package/esm2020/lib/components/evo-accordion/public-api.mjs +5 -5
  44. package/esm2020/lib/components/evo-alert/evo-alert.component.mjs +78 -78
  45. package/esm2020/lib/components/evo-alert/evo-alert.module.mjs +28 -28
  46. package/esm2020/lib/components/evo-alert/index.mjs +1 -1
  47. package/esm2020/lib/components/evo-alert/public-api.mjs +2 -2
  48. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +357 -357
  49. package/esm2020/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +42 -42
  50. package/esm2020/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +57 -57
  51. package/esm2020/lib/components/evo-autocomplete/helpers/switch-query-to-list.mjs +6 -6
  52. package/esm2020/lib/components/evo-autocomplete/index.mjs +1 -1
  53. package/esm2020/lib/components/evo-autocomplete/models/DaDataParty.mjs +27 -27
  54. package/esm2020/lib/components/evo-autocomplete/models/dadata.model.mjs +47 -47
  55. package/esm2020/lib/components/evo-autocomplete/public-api.mjs +6 -6
  56. package/esm2020/lib/components/evo-autocomplete/types/evo-autocomplete-size.mjs +1 -1
  57. package/esm2020/lib/components/evo-badge/evo-badge.component.mjs +39 -39
  58. package/esm2020/lib/components/evo-badge/evo-badge.module.mjs +27 -27
  59. package/esm2020/lib/components/evo-badge/index.mjs +2 -2
  60. package/esm2020/lib/components/evo-badge/public-api.mjs +2 -2
  61. package/esm2020/lib/components/evo-badge/types/evo-badge-color.mjs +1 -1
  62. package/esm2020/lib/components/evo-badge/types/evo-badge-size.mjs +1 -1
  63. package/esm2020/lib/components/evo-badge/types/index.mjs +2 -2
  64. package/esm2020/lib/components/evo-banner/evo-banner.component.mjs +109 -109
  65. package/esm2020/lib/components/evo-banner/evo-banner.module.mjs +23 -23
  66. package/esm2020/lib/components/evo-banner/index.mjs +1 -1
  67. package/esm2020/lib/components/evo-banner/public-api.mjs +2 -2
  68. package/esm2020/lib/components/evo-button/components/evo-button/evo-button.component.mjs +86 -86
  69. package/esm2020/lib/components/evo-button/components/evo-button-old/evo-button-old.component.mjs +91 -91
  70. package/esm2020/lib/components/evo-button/constants/evo-button-themes-map.mjs +31 -31
  71. package/esm2020/lib/components/evo-button/evo-button.module.mjs +21 -21
  72. package/esm2020/lib/components/evo-button/index.mjs +1 -1
  73. package/esm2020/lib/components/evo-button/public-api.mjs +5 -5
  74. package/esm2020/lib/components/evo-button/types/evo-button-color.mjs +2 -2
  75. package/esm2020/lib/components/evo-button/types/evo-button-shape.mjs +2 -2
  76. package/esm2020/lib/components/evo-button/types/evo-button-size.mjs +2 -2
  77. package/esm2020/lib/components/evo-button/types/evo-button-theme-params.mjs +2 -2
  78. package/esm2020/lib/components/evo-button/types/evo-button-theme.mjs +2 -2
  79. package/esm2020/lib/components/evo-button/types/index.mjs +6 -6
  80. package/esm2020/lib/components/evo-checkbox/evo-checkbox.component.mjs +86 -86
  81. package/esm2020/lib/components/evo-checkbox/evo-checkbox.module.mjs +33 -33
  82. package/esm2020/lib/components/evo-checkbox/index.mjs +1 -1
  83. package/esm2020/lib/components/evo-checkbox/public-api.mjs +2 -2
  84. package/esm2020/lib/components/evo-chip/evo-chip.component.mjs +129 -129
  85. package/esm2020/lib/components/evo-chip/evo-chip.module.mjs +44 -44
  86. package/esm2020/lib/components/evo-chip/index.mjs +1 -1
  87. package/esm2020/lib/components/evo-chip/public-api.mjs +2 -2
  88. package/esm2020/lib/components/evo-control-error/evo-control-error.component.mjs +40 -40
  89. package/esm2020/lib/components/evo-control-error/evo-control-error.module.mjs +29 -29
  90. package/esm2020/lib/components/evo-control-error/index.mjs +1 -1
  91. package/esm2020/lib/components/evo-control-error/public-api.mjs +2 -2
  92. package/esm2020/lib/components/evo-control-label/evo-control-label.component.mjs +18 -18
  93. package/esm2020/lib/components/evo-control-label/evo-control-label.module.mjs +21 -21
  94. package/esm2020/lib/components/evo-control-label/index.mjs +1 -1
  95. package/esm2020/lib/components/evo-control-label/public-api.mjs +2 -2
  96. package/esm2020/lib/components/evo-counter/evo-counter.component.mjs +37 -37
  97. package/esm2020/lib/components/evo-counter/evo-counter.module.mjs +29 -29
  98. package/esm2020/lib/components/evo-counter/index.mjs +1 -1
  99. package/esm2020/lib/components/evo-counter/public-api.mjs +2 -2
  100. package/esm2020/lib/components/evo-datepicker/evo-datepicker.component.mjs +554 -554
  101. package/esm2020/lib/components/evo-datepicker/evo-datepicker.module.mjs +33 -33
  102. package/esm2020/lib/components/evo-datepicker/flatpickr-options.interface.mjs +1 -1
  103. package/esm2020/lib/components/evo-datepicker/index.mjs +1 -1
  104. package/esm2020/lib/components/evo-datepicker/public-api.mjs +2 -2
  105. package/esm2020/lib/components/evo-datepicker/templates/index.mjs +19 -19
  106. package/esm2020/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +40 -40
  107. package/esm2020/lib/components/evo-dropdown/evo-dropdown-position-description.mjs +50 -50
  108. package/esm2020/lib/components/evo-dropdown/evo-dropdown.component.mjs +106 -106
  109. package/esm2020/lib/components/evo-dropdown/evo-dropdown.module.mjs +19 -19
  110. package/esm2020/lib/components/evo-dropdown/index.mjs +1 -1
  111. package/esm2020/lib/components/evo-dropdown/public-api.mjs +4 -4
  112. package/esm2020/lib/components/evo-dropdown/types/evo-dropdown-positions.mjs +1 -1
  113. package/esm2020/lib/components/evo-icon/classes/evo-icons-library.mjs +18 -18
  114. package/esm2020/lib/components/evo-icon/evo-icon.component.mjs +56 -56
  115. package/esm2020/lib/components/evo-icon/evo-icon.module.mjs +56 -56
  116. package/esm2020/lib/components/evo-icon/index.mjs +1 -1
  117. package/esm2020/lib/components/evo-icon/interfaces/icons-category.mjs +1 -1
  118. package/esm2020/lib/components/evo-icon/interfaces/icons-source.mjs +1 -1
  119. package/esm2020/lib/components/evo-icon/public-api.mjs +5 -5
  120. package/esm2020/lib/components/evo-icon-button/evo-icon-button.component.mjs +64 -64
  121. package/esm2020/lib/components/evo-icon-button/evo-icon-button.module.mjs +25 -25
  122. package/esm2020/lib/components/evo-icon-button/index.mjs +1 -1
  123. package/esm2020/lib/components/evo-icon-button/public-api.mjs +2 -2
  124. package/esm2020/lib/components/evo-icon-button/types/evo-icon-button-size.mjs +1 -1
  125. package/esm2020/lib/components/evo-icon-button/types/evo-icon-button-theme.mjs +1 -1
  126. package/esm2020/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.mjs +13 -13
  127. package/esm2020/lib/components/evo-icon-number/evo-icon-number.module.mjs +17 -17
  128. package/esm2020/lib/components/evo-icon-number/index.mjs +1 -1
  129. package/esm2020/lib/components/evo-icon-number/public-api.mjs +2 -2
  130. package/esm2020/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.mjs +12 -12
  131. package/esm2020/lib/components/evo-input/evo-input.component.mjs +358 -358
  132. package/esm2020/lib/components/evo-input/evo-input.module.mjs +65 -65
  133. package/esm2020/lib/components/evo-input/index.mjs +1 -1
  134. package/esm2020/lib/components/evo-input/public-api.mjs +3 -3
  135. package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +149 -149
  136. package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.mjs +33 -33
  137. package/esm2020/lib/components/evo-input-contenteditable/index.mjs +1 -1
  138. package/esm2020/lib/components/evo-input-contenteditable/public-api.mjs +2 -2
  139. package/esm2020/lib/components/evo-input-contenteditable/utils/clear-multiline.mjs +6 -6
  140. package/esm2020/lib/components/evo-loader/evo-circular-loader.component.mjs +18 -18
  141. package/esm2020/lib/components/evo-loader/evo-loader.component.mjs +27 -27
  142. package/esm2020/lib/components/evo-loader/evo-loader.module.mjs +32 -32
  143. package/esm2020/lib/components/evo-loader/index.mjs +1 -1
  144. package/esm2020/lib/components/evo-loader/public-api.mjs +3 -3
  145. package/esm2020/lib/components/evo-modal/evo-modal.component.mjs +127 -127
  146. package/esm2020/lib/components/evo-modal/evo-modal.module.mjs +31 -31
  147. package/esm2020/lib/components/evo-modal/evo-modal.service.mjs +31 -31
  148. package/esm2020/lib/components/evo-modal/index.mjs +1 -1
  149. package/esm2020/lib/components/evo-modal/public-api.mjs +3 -3
  150. package/esm2020/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +57 -57
  151. package/esm2020/lib/components/evo-navbar/evo-navbar.component.mjs +45 -45
  152. package/esm2020/lib/components/evo-navbar/evo-navbar.module.mjs +23 -23
  153. package/esm2020/lib/components/evo-navbar/index.mjs +1 -1
  154. package/esm2020/lib/components/evo-navbar/interfaces/nav-item-main-info.mjs +1 -1
  155. package/esm2020/lib/components/evo-navbar/interfaces/nav-item-router-link.mjs +1 -1
  156. package/esm2020/lib/components/evo-navbar/interfaces/nav-item.href.mjs +1 -1
  157. package/esm2020/lib/components/evo-navbar/public-api.mjs +3 -3
  158. package/esm2020/lib/components/evo-navbar/types/nav-item.mjs +1 -1
  159. package/esm2020/lib/components/evo-navigation-button/evo-navigation-button.component.mjs +12 -12
  160. package/esm2020/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +45 -45
  161. package/esm2020/lib/components/evo-navigation-button/index.mjs +2 -2
  162. package/esm2020/lib/components/evo-navigation-button/public-api.mjs +3 -3
  163. package/esm2020/lib/components/evo-note/evo-note.component.mjs +39 -39
  164. package/esm2020/lib/components/evo-note/evo-note.module.mjs +44 -44
  165. package/esm2020/lib/components/evo-note/index.mjs +1 -1
  166. package/esm2020/lib/components/evo-note/public.api.mjs +3 -3
  167. package/esm2020/lib/components/evo-note/types/evo-note-type.mjs +1 -1
  168. package/esm2020/lib/components/evo-paginator/evo-paginator.component.mjs +107 -107
  169. package/esm2020/lib/components/evo-paginator/evo-paginator.module.mjs +21 -21
  170. package/esm2020/lib/components/evo-paginator/index.mjs +1 -1
  171. package/esm2020/lib/components/evo-paginator/public-api.mjs +2 -2
  172. package/esm2020/lib/components/evo-plus-minus/evo-plus-minus.component.mjs +25 -25
  173. package/esm2020/lib/components/evo-plus-minus/evo-plus-minus.module.mjs +21 -21
  174. package/esm2020/lib/components/evo-plus-minus/index.mjs +1 -1
  175. package/esm2020/lib/components/evo-plus-minus/public-api.mjs +2 -2
  176. package/esm2020/lib/components/evo-popover/evo-popover.component.mjs +173 -173
  177. package/esm2020/lib/components/evo-popover/evo-popover.module.mjs +25 -25
  178. package/esm2020/lib/components/evo-popover/index.mjs +1 -1
  179. package/esm2020/lib/components/evo-popover/public-api.mjs +2 -2
  180. package/esm2020/lib/components/evo-portal/evo-portal-outlet.class.mjs +6 -6
  181. package/esm2020/lib/components/evo-portal/evo-portal-outlet.directive.mjs +18 -18
  182. package/esm2020/lib/components/evo-portal/evo-portal.module.mjs +31 -31
  183. package/esm2020/lib/components/evo-portal/evo-portal.service.mjs +91 -91
  184. package/esm2020/lib/components/evo-portal/index.mjs +1 -1
  185. package/esm2020/lib/components/evo-portal/public-api.mjs +4 -4
  186. package/esm2020/lib/components/evo-radio/evo-radio.component.mjs +50 -50
  187. package/esm2020/lib/components/evo-radio/evo-radio.module.mjs +25 -25
  188. package/esm2020/lib/components/evo-radio/index.mjs +1 -1
  189. package/esm2020/lib/components/evo-radio/public-api.mjs +2 -2
  190. package/esm2020/lib/components/evo-radio-group/evo-radio-group.component.mjs +122 -122
  191. package/esm2020/lib/components/evo-radio-group/evo-radio-group.module.mjs +33 -33
  192. package/esm2020/lib/components/evo-radio-group/index.mjs +1 -1
  193. package/esm2020/lib/components/evo-radio-group/public-api.mjs +2 -2
  194. package/esm2020/lib/components/evo-radio-group/typings/options.mjs +1 -1
  195. package/esm2020/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +55 -55
  196. package/esm2020/lib/components/evo-radioshape/evo-radioshape.module.mjs +32 -32
  197. package/esm2020/lib/components/evo-radioshape/index.mjs +1 -1
  198. package/esm2020/lib/components/evo-radioshape/public-api.mjs +2 -2
  199. package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.mjs +21 -21
  200. package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +77 -77
  201. package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar.module.mjs +24 -24
  202. package/esm2020/lib/components/evo-segmented-bar/index.mjs +1 -1
  203. package/esm2020/lib/components/evo-segmented-bar/public-api.mjs +3 -3
  204. package/esm2020/lib/components/evo-select/evo-select.component.mjs +115 -115
  205. package/esm2020/lib/components/evo-select/evo-select.module.mjs +33 -33
  206. package/esm2020/lib/components/evo-select/index.mjs +1 -1
  207. package/esm2020/lib/components/evo-select/public-api.mjs +2 -2
  208. package/esm2020/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.mjs +7 -7
  209. package/esm2020/lib/components/evo-sidebar/enums/evo-sidebar-sizes.mjs +6 -6
  210. package/esm2020/lib/components/evo-sidebar/enums/evo-sidebar-states.mjs +5 -5
  211. package/esm2020/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +32 -32
  212. package/esm2020/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.mjs +12 -12
  213. package/esm2020/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +39 -39
  214. package/esm2020/lib/components/evo-sidebar/evo-sidebar-portal.mjs +20 -20
  215. package/esm2020/lib/components/evo-sidebar/evo-sidebar.component.mjs +172 -172
  216. package/esm2020/lib/components/evo-sidebar/evo-sidebar.module.mjs +89 -89
  217. package/esm2020/lib/components/evo-sidebar/evo-sidebar.service.mjs +104 -104
  218. package/esm2020/lib/components/evo-sidebar/index.mjs +1 -1
  219. package/esm2020/lib/components/evo-sidebar/interfaces.mjs +1 -1
  220. package/esm2020/lib/components/evo-sidebar/public-api.mjs +11 -11
  221. package/esm2020/lib/components/evo-sidebar/sidebar-injection-token.mjs +2 -2
  222. package/esm2020/lib/components/evo-sidebar/tokens.mjs +11 -11
  223. package/esm2020/lib/components/evo-stepper/evo-stepper-events.mjs +24 -24
  224. package/esm2020/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +30 -30
  225. package/esm2020/lib/components/evo-stepper/evo-stepper.component.mjs +66 -66
  226. package/esm2020/lib/components/evo-stepper/evo-stepper.module.mjs +26 -26
  227. package/esm2020/lib/components/evo-stepper/index.mjs +1 -1
  228. package/esm2020/lib/components/evo-stepper/public-api.mjs +3 -3
  229. package/esm2020/lib/components/evo-submenu/evo-submenu.component.mjs +159 -159
  230. package/esm2020/lib/components/evo-submenu/evo-submenu.module.mjs +26 -26
  231. package/esm2020/lib/components/evo-submenu/index.mjs +1 -1
  232. package/esm2020/lib/components/evo-submenu/public-api.mjs +2 -2
  233. package/esm2020/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.mjs +10 -10
  234. package/esm2020/lib/components/evo-switcher/evo-switcher.component.mjs +31 -31
  235. package/esm2020/lib/components/evo-switcher/evo-switcher.module.mjs +26 -26
  236. package/esm2020/lib/components/evo-switcher/index.mjs +1 -1
  237. package/esm2020/lib/components/evo-switcher/public-api.mjs +3 -3
  238. package/esm2020/lib/components/evo-table/evo-table/evo-table.component.mjs +66 -66
  239. package/esm2020/lib/components/evo-table/evo-table-column/evo-table-column.component.mjs +30 -30
  240. package/esm2020/lib/components/evo-table/evo-table.module.mjs +22 -22
  241. package/esm2020/lib/components/evo-table/index.mjs +1 -1
  242. package/esm2020/lib/components/evo-table/public-api.mjs +3 -3
  243. package/esm2020/lib/components/evo-tabs/enums/evo-tabs-size.mjs +5 -5
  244. package/esm2020/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +87 -87
  245. package/esm2020/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +36 -36
  246. package/esm2020/lib/components/evo-tabs/evo-tab-state.collection.mjs +42 -42
  247. package/esm2020/lib/components/evo-tabs/evo-tabs-size.service.mjs +23 -23
  248. package/esm2020/lib/components/evo-tabs/evo-tabs.component.mjs +82 -82
  249. package/esm2020/lib/components/evo-tabs/evo-tabs.module.mjs +29 -29
  250. package/esm2020/lib/components/evo-tabs/evo-tabs.service.mjs +66 -66
  251. package/esm2020/lib/components/evo-tabs/index.mjs +1 -1
  252. package/esm2020/lib/components/evo-tabs/public-api.mjs +8 -8
  253. package/esm2020/lib/components/evo-textarea/evo-textarea.component.mjs +78 -78
  254. package/esm2020/lib/components/evo-textarea/evo-textarea.module.mjs +36 -36
  255. package/esm2020/lib/components/evo-textarea/index.mjs +1 -1
  256. package/esm2020/lib/components/evo-textarea/public-api.mjs +2 -2
  257. package/esm2020/lib/components/evo-toast/evo-toast.component.mjs +97 -97
  258. package/esm2020/lib/components/evo-toast/evo-toast.module.mjs +44 -44
  259. package/esm2020/lib/components/evo-toast/evo-toast.service.mjs +48 -48
  260. package/esm2020/lib/components/evo-toast/index.mjs +1 -1
  261. package/esm2020/lib/components/evo-toast/public-api.mjs +3 -3
  262. package/esm2020/lib/components/evo-toggle/evo-toggle.component.mjs +63 -63
  263. package/esm2020/lib/components/evo-toggle/evo-toggle.module.mjs +29 -29
  264. package/esm2020/lib/components/evo-toggle/index.mjs +1 -1
  265. package/esm2020/lib/components/evo-toggle/public-api.mjs +2 -2
  266. package/esm2020/lib/components/evo-upload/evo-upload.component.mjs +287 -287
  267. package/esm2020/lib/components/evo-upload/evo-upload.module.mjs +58 -58
  268. package/esm2020/lib/components/evo-upload/index.mjs +1 -1
  269. package/esm2020/lib/components/evo-upload/public-api.mjs +2 -2
  270. package/esm2020/lib/decorators/deprecate-method.decorator.mjs +7 -7
  271. package/esm2020/lib/decorators/deprecate-variable.decorator.mjs +16 -16
  272. package/esm2020/lib/decorators/index.mjs +1 -1
  273. package/esm2020/lib/decorators/public-api.mjs +2 -2
  274. package/esm2020/lib/directives/evo-click-outside.directive.mjs +39 -39
  275. package/esm2020/lib/directives/evo-is-expanded.directive.mjs +70 -70
  276. package/esm2020/lib/directives/evo-let/evo-let.directive.mjs +45 -45
  277. package/esm2020/lib/directives/evo-ui-class.directive.mjs +158 -158
  278. package/esm2020/lib/directives/index.mjs +1 -1
  279. package/esm2020/lib/directives/public-api.mjs +4 -4
  280. package/esm2020/lib/evo-ui-kit.module.mjs +64 -64
  281. package/esm2020/lib/operators/enter-zone.operator.mjs +8 -8
  282. package/esm2020/lib/operators/index.mjs +1 -1
  283. package/esm2020/lib/operators/public-api.mjs +1 -1
  284. package/esm2020/lib/pipes/declination.pipe.mjs +39 -39
  285. package/esm2020/lib/pipes/evo-pipes.module.mjs +16 -16
  286. package/esm2020/lib/pipes/index.mjs +1 -1
  287. package/esm2020/lib/pipes/public-api.mjs +3 -3
  288. package/esm2020/lib/pipes/safe-html.pipe.mjs +17 -17
  289. package/esm2020/lib/services/evo-expanded.service.mjs +22 -22
  290. package/esm2020/lib/services/index.mjs +1 -1
  291. package/esm2020/lib/services/public-api.mjs +1 -1
  292. package/esm2020/lib/services/window.service.mjs +48 -48
  293. package/esm2020/public_api.mjs +74 -74
  294. package/evotor-dev-ui-kit.d.ts +5 -5
  295. package/fesm2015/evotor-dev-ui-kit-icons-category.mjs +62 -62
  296. package/fesm2015/evotor-dev-ui-kit-icons-emotions.mjs +18 -18
  297. package/fesm2015/evotor-dev-ui-kit-icons-header.mjs +28 -28
  298. package/fesm2015/evotor-dev-ui-kit-icons-info.mjs +40 -40
  299. package/fesm2015/evotor-dev-ui-kit-icons-navigation.mjs +56 -56
  300. package/fesm2015/evotor-dev-ui-kit-icons-navigation.mjs.map +1 -1
  301. package/fesm2015/evotor-dev-ui-kit-icons-side-menu.mjs +64 -64
  302. package/fesm2015/evotor-dev-ui-kit-icons-system.mjs +372 -372
  303. package/fesm2015/evotor-dev-ui-kit-icons-system.mjs.map +1 -1
  304. package/fesm2015/evotor-dev-ui-kit-icons.mjs +628 -628
  305. package/fesm2015/evotor-dev-ui-kit-icons.mjs.map +1 -1
  306. package/fesm2015/evotor-dev-ui-kit.mjs +7041 -7041
  307. package/fesm2015/evotor-dev-ui-kit.mjs.map +1 -1
  308. package/fesm2020/evotor-dev-ui-kit-icons-category.mjs +62 -62
  309. package/fesm2020/evotor-dev-ui-kit-icons-emotions.mjs +18 -18
  310. package/fesm2020/evotor-dev-ui-kit-icons-header.mjs +28 -28
  311. package/fesm2020/evotor-dev-ui-kit-icons-info.mjs +40 -40
  312. package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs +56 -56
  313. package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs.map +1 -1
  314. package/fesm2020/evotor-dev-ui-kit-icons-side-menu.mjs +64 -64
  315. package/fesm2020/evotor-dev-ui-kit-icons-system.mjs +372 -372
  316. package/fesm2020/evotor-dev-ui-kit-icons-system.mjs.map +1 -1
  317. package/fesm2020/evotor-dev-ui-kit-icons.mjs +628 -628
  318. package/fesm2020/evotor-dev-ui-kit-icons.mjs.map +1 -1
  319. package/fesm2020/evotor-dev-ui-kit.mjs +7021 -7021
  320. package/fesm2020/evotor-dev-ui-kit.mjs.map +1 -1
  321. package/icons/category/evotor-dev-ui-kit-icons-category.d.ts +5 -5
  322. package/icons/category/index.d.ts +59 -59
  323. package/icons/emotions/evotor-dev-ui-kit-icons-emotions.d.ts +5 -5
  324. package/icons/emotions/index.d.ts +15 -15
  325. package/icons/evotor-dev-ui-kit-icons.d.ts +5 -5
  326. package/icons/header/evotor-dev-ui-kit-icons-header.d.ts +5 -5
  327. package/icons/header/index.d.ts +25 -25
  328. package/icons/index.d.ts +321 -321
  329. package/icons/info/evotor-dev-ui-kit-icons-info.d.ts +5 -5
  330. package/icons/info/index.d.ts +37 -37
  331. package/icons/navigation/evotor-dev-ui-kit-icons-navigation.d.ts +5 -5
  332. package/icons/navigation/index.d.ts +53 -53
  333. package/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.d.ts +5 -5
  334. package/icons/side-menu/index.d.ts +61 -61
  335. package/icons/system/evotor-dev-ui-kit-icons-system.d.ts +5 -5
  336. package/icons/system/index.d.ts +369 -369
  337. package/lib/common/Serializable.d.ts +3 -3
  338. package/lib/common/animations/expand.animation.d.ts +1 -1
  339. package/lib/common/animations/index.d.ts +3 -3
  340. package/lib/common/animations/sidebar.animation.d.ts +2 -2
  341. package/lib/common/animations/skip-initial-render.animation.d.ts +1 -1
  342. package/lib/common/collection/evo-collection-fabric.d.ts +4 -4
  343. package/lib/common/collection/evo-collection.d.ts +3 -3
  344. package/lib/common/collection/index.d.ts +2 -2
  345. package/lib/common/constants/css-breakpoints.d.ts +8 -8
  346. package/lib/common/constants/view-breakpoint-streams.d.ts +9 -9
  347. package/lib/common/evo-base-control.d.ts +21 -21
  348. package/lib/common/evo-control-state-manager/evo-control-state-manager.d.ts +7 -7
  349. package/lib/common/evo-control-state-manager/evo-control-state.interface.d.ts +5 -5
  350. package/lib/common/evo-control-state-manager/evo-control-states.enum.d.ts +4 -4
  351. package/lib/common/form-helper/form-helper.d.ts +5 -5
  352. package/lib/common/types/evo-color.d.ts +1 -1
  353. package/lib/common/types/evo-size.d.ts +1 -1
  354. package/lib/common/types/index.d.ts +2 -2
  355. package/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.d.ts +11 -11
  356. package/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.d.ts +9 -9
  357. package/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.d.ts +11 -11
  358. package/lib/components/evo-accordion/evo-accordion.component.d.ts +9 -9
  359. package/lib/components/evo-accordion/evo-accordion.module.d.ts +13 -13
  360. package/lib/components/evo-accordion/index.d.ts +1 -1
  361. package/lib/components/evo-accordion/public-api.d.ts +5 -5
  362. package/lib/components/evo-alert/evo-alert.component.d.ts +38 -38
  363. package/lib/components/evo-alert/evo-alert.module.d.ts +9 -9
  364. package/lib/components/evo-alert/index.d.ts +1 -1
  365. package/lib/components/evo-alert/public-api.d.ts +2 -2
  366. package/lib/components/evo-autocomplete/components/evo-autocomplete.component.d.ts +115 -115
  367. package/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.d.ts +16 -16
  368. package/lib/components/evo-autocomplete/evo-autocomplete.module.d.ts +15 -15
  369. package/lib/components/evo-autocomplete/helpers/switch-query-to-list.d.ts +2 -2
  370. package/lib/components/evo-autocomplete/index.d.ts +1 -1
  371. package/lib/components/evo-autocomplete/models/DaDataParty.d.ts +37 -37
  372. package/lib/components/evo-autocomplete/models/dadata.model.d.ts +320 -320
  373. package/lib/components/evo-autocomplete/public-api.d.ts +6 -6
  374. package/lib/components/evo-autocomplete/types/evo-autocomplete-size.d.ts +1 -1
  375. package/lib/components/evo-badge/evo-badge.component.d.ts +12 -12
  376. package/lib/components/evo-badge/evo-badge.module.d.ts +9 -9
  377. package/lib/components/evo-badge/index.d.ts +2 -2
  378. package/lib/components/evo-badge/public-api.d.ts +2 -2
  379. package/lib/components/evo-badge/types/evo-badge-color.d.ts +2 -2
  380. package/lib/components/evo-badge/types/evo-badge-size.d.ts +2 -2
  381. package/lib/components/evo-badge/types/index.d.ts +2 -2
  382. package/lib/components/evo-banner/evo-banner.component.d.ts +46 -46
  383. package/lib/components/evo-banner/evo-banner.module.d.ts +9 -9
  384. package/lib/components/evo-banner/index.d.ts +1 -1
  385. package/lib/components/evo-banner/public-api.d.ts +2 -2
  386. package/lib/components/evo-button/components/evo-button/evo-button.component.d.ts +24 -24
  387. package/lib/components/evo-button/components/evo-button-old/evo-button-old.component.d.ts +39 -39
  388. package/lib/components/evo-button/constants/evo-button-themes-map.d.ts +2 -2
  389. package/lib/components/evo-button/evo-button.module.d.ts +11 -11
  390. package/lib/components/evo-button/index.d.ts +1 -1
  391. package/lib/components/evo-button/public-api.d.ts +4 -4
  392. package/lib/components/evo-button/types/evo-button-color.d.ts +5 -5
  393. package/lib/components/evo-button/types/evo-button-shape.d.ts +4 -4
  394. package/lib/components/evo-button/types/evo-button-size.d.ts +5 -5
  395. package/lib/components/evo-button/types/evo-button-theme-params.d.ts +5 -5
  396. package/lib/components/evo-button/types/evo-button-theme.d.ts +1 -1
  397. package/lib/components/evo-button/types/index.d.ts +5 -5
  398. package/lib/components/evo-checkbox/evo-checkbox.component.d.ts +29 -29
  399. package/lib/components/evo-checkbox/evo-checkbox.module.d.ts +11 -11
  400. package/lib/components/evo-checkbox/index.d.ts +1 -1
  401. package/lib/components/evo-checkbox/public-api.d.ts +2 -2
  402. package/lib/components/evo-chip/evo-chip.component.d.ts +45 -45
  403. package/lib/components/evo-chip/evo-chip.module.d.ts +11 -11
  404. package/lib/components/evo-chip/index.d.ts +1 -1
  405. package/lib/components/evo-chip/public-api.d.ts +2 -2
  406. package/lib/components/evo-control-error/evo-control-error.component.d.ts +14 -14
  407. package/lib/components/evo-control-error/evo-control-error.module.d.ts +10 -10
  408. package/lib/components/evo-control-error/index.d.ts +1 -1
  409. package/lib/components/evo-control-error/public-api.d.ts +2 -2
  410. package/lib/components/evo-control-label/evo-control-label.component.d.ts +9 -9
  411. package/lib/components/evo-control-label/evo-control-label.module.d.ts +8 -8
  412. package/lib/components/evo-control-label/index.d.ts +1 -1
  413. package/lib/components/evo-control-label/public-api.d.ts +2 -2
  414. package/lib/components/evo-counter/evo-counter.component.d.ts +16 -16
  415. package/lib/components/evo-counter/evo-counter.module.d.ts +9 -9
  416. package/lib/components/evo-counter/index.d.ts +1 -1
  417. package/lib/components/evo-counter/public-api.d.ts +2 -2
  418. package/lib/components/evo-datepicker/evo-datepicker.component.d.ts +174 -174
  419. package/lib/components/evo-datepicker/evo-datepicker.module.d.ts +11 -11
  420. package/lib/components/evo-datepicker/flatpickr-options.interface.d.ts +10 -10
  421. package/lib/components/evo-datepicker/index.d.ts +1 -1
  422. package/lib/components/evo-datepicker/public-api.d.ts +2 -2
  423. package/lib/components/evo-datepicker/templates/index.d.ts +16 -16
  424. package/lib/components/evo-dropdown/evo-dropdown-origin.directive.d.ts +15 -15
  425. package/lib/components/evo-dropdown/evo-dropdown-position-description.d.ts +3 -3
  426. package/lib/components/evo-dropdown/evo-dropdown.component.d.ts +34 -34
  427. package/lib/components/evo-dropdown/evo-dropdown.module.d.ts +10 -10
  428. package/lib/components/evo-dropdown/index.d.ts +1 -1
  429. package/lib/components/evo-dropdown/public-api.d.ts +4 -4
  430. package/lib/components/evo-dropdown/types/evo-dropdown-positions.d.ts +1 -1
  431. package/lib/components/evo-icon/classes/evo-icons-library.d.ts +11 -11
  432. package/lib/components/evo-icon/evo-icon.component.d.ts +20 -20
  433. package/lib/components/evo-icon/evo-icon.module.d.ts +16 -16
  434. package/lib/components/evo-icon/index.d.ts +1 -1
  435. package/lib/components/evo-icon/interfaces/icons-category.d.ts +5 -5
  436. package/lib/components/evo-icon/interfaces/icons-source.d.ts +3 -3
  437. package/lib/components/evo-icon/public-api.d.ts +5 -5
  438. package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +26 -26
  439. package/lib/components/evo-icon-button/evo-icon-button.module.d.ts +8 -8
  440. package/lib/components/evo-icon-button/index.d.ts +1 -1
  441. package/lib/components/evo-icon-button/public-api.d.ts +2 -2
  442. package/lib/components/evo-icon-button/types/evo-icon-button-size.d.ts +2 -2
  443. package/lib/components/evo-icon-button/types/evo-icon-button-theme.d.ts +1 -1
  444. package/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.d.ts +6 -6
  445. package/lib/components/evo-icon-number/evo-icon-number.module.d.ts +8 -8
  446. package/lib/components/evo-icon-number/index.d.ts +1 -1
  447. package/lib/components/evo-icon-number/public-api.d.ts +2 -2
  448. package/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.d.ts +5 -5
  449. package/lib/components/evo-input/evo-input.component.d.ts +93 -93
  450. package/lib/components/evo-input/evo-input.module.d.ts +14 -14
  451. package/lib/components/evo-input/index.d.ts +1 -1
  452. package/lib/components/evo-input/public-api.d.ts +3 -3
  453. package/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.d.ts +44 -44
  454. package/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.d.ts +10 -10
  455. package/lib/components/evo-input-contenteditable/index.d.ts +1 -1
  456. package/lib/components/evo-input-contenteditable/public-api.d.ts +2 -2
  457. package/lib/components/evo-input-contenteditable/utils/clear-multiline.d.ts +1 -1
  458. package/lib/components/evo-loader/evo-circular-loader.component.d.ts +8 -8
  459. package/lib/components/evo-loader/evo-loader.component.d.ts +14 -14
  460. package/lib/components/evo-loader/evo-loader.module.d.ts +10 -10
  461. package/lib/components/evo-loader/index.d.ts +1 -1
  462. package/lib/components/evo-loader/public-api.d.ts +3 -3
  463. package/lib/components/evo-modal/evo-modal.component.d.ts +41 -41
  464. package/lib/components/evo-modal/evo-modal.module.d.ts +10 -10
  465. package/lib/components/evo-modal/evo-modal.service.d.ts +22 -22
  466. package/lib/components/evo-modal/index.d.ts +1 -1
  467. package/lib/components/evo-modal/public-api.d.ts +3 -3
  468. package/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.d.ts +21 -21
  469. package/lib/components/evo-navbar/evo-navbar.component.d.ts +18 -18
  470. package/lib/components/evo-navbar/evo-navbar.module.d.ts +12 -12
  471. package/lib/components/evo-navbar/index.d.ts +1 -1
  472. package/lib/components/evo-navbar/interfaces/nav-item-main-info.d.ts +5 -5
  473. package/lib/components/evo-navbar/interfaces/nav-item-router-link.d.ts +14 -14
  474. package/lib/components/evo-navbar/interfaces/nav-item.href.d.ts +4 -4
  475. package/lib/components/evo-navbar/public-api.d.ts +7 -7
  476. package/lib/components/evo-navbar/types/nav-item.d.ts +4 -4
  477. package/lib/components/evo-navigation-button/evo-navigation-button.component.d.ts +5 -5
  478. package/lib/components/evo-navigation-button/evo-navigation-button.module.d.ts +9 -9
  479. package/lib/components/evo-navigation-button/index.d.ts +1 -1
  480. package/lib/components/evo-navigation-button/public-api.d.ts +2 -2
  481. package/lib/components/evo-note/evo-note.component.d.ts +13 -13
  482. package/lib/components/evo-note/evo-note.module.d.ts +10 -10
  483. package/lib/components/evo-note/index.d.ts +1 -1
  484. package/lib/components/evo-note/public.api.d.ts +3 -3
  485. package/lib/components/evo-note/types/evo-note-type.d.ts +1 -1
  486. package/lib/components/evo-paginator/evo-paginator.component.d.ts +26 -26
  487. package/lib/components/evo-paginator/evo-paginator.module.d.ts +8 -8
  488. package/lib/components/evo-paginator/index.d.ts +1 -1
  489. package/lib/components/evo-paginator/public-api.d.ts +2 -2
  490. package/lib/components/evo-plus-minus/evo-plus-minus.component.d.ts +13 -13
  491. package/lib/components/evo-plus-minus/evo-plus-minus.module.d.ts +8 -8
  492. package/lib/components/evo-plus-minus/index.d.ts +1 -1
  493. package/lib/components/evo-plus-minus/public-api.d.ts +2 -2
  494. package/lib/components/evo-popover/evo-popover.component.d.ts +43 -43
  495. package/lib/components/evo-popover/evo-popover.module.d.ts +9 -9
  496. package/lib/components/evo-popover/index.d.ts +1 -1
  497. package/lib/components/evo-popover/public-api.d.ts +2 -2
  498. package/lib/components/evo-portal/evo-portal-outlet.class.d.ts +6 -6
  499. package/lib/components/evo-portal/evo-portal-outlet.directive.d.ts +10 -10
  500. package/lib/components/evo-portal/evo-portal.module.d.ts +8 -8
  501. package/lib/components/evo-portal/evo-portal.service.d.ts +27 -27
  502. package/lib/components/evo-portal/index.d.ts +1 -1
  503. package/lib/components/evo-portal/public-api.d.ts +4 -4
  504. package/lib/components/evo-radio/evo-radio.component.d.ts +18 -18
  505. package/lib/components/evo-radio/evo-radio.module.d.ts +9 -9
  506. package/lib/components/evo-radio/index.d.ts +1 -1
  507. package/lib/components/evo-radio/public-api.d.ts +2 -2
  508. package/lib/components/evo-radio-group/evo-radio-group.component.d.ts +56 -56
  509. package/lib/components/evo-radio-group/evo-radio-group.module.d.ts +11 -11
  510. package/lib/components/evo-radio-group/index.d.ts +1 -1
  511. package/lib/components/evo-radio-group/public-api.d.ts +2 -2
  512. package/lib/components/evo-radio-group/typings/options.d.ts +6 -6
  513. package/lib/components/evo-radioshape/components/evo-radioshape.component.d.ts +19 -19
  514. package/lib/components/evo-radioshape/evo-radioshape.module.d.ts +9 -9
  515. package/lib/components/evo-radioshape/index.d.ts +1 -1
  516. package/lib/components/evo-radioshape/public-api.d.ts +2 -2
  517. package/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.d.ts +10 -10
  518. package/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.d.ts +22 -22
  519. package/lib/components/evo-segmented-bar/evo-segmented-bar.module.d.ts +11 -11
  520. package/lib/components/evo-segmented-bar/index.d.ts +1 -1
  521. package/lib/components/evo-segmented-bar/public-api.d.ts +3 -3
  522. package/lib/components/evo-select/evo-select.component.d.ts +37 -37
  523. package/lib/components/evo-select/evo-select.module.d.ts +11 -11
  524. package/lib/components/evo-select/index.d.ts +1 -1
  525. package/lib/components/evo-select/public-api.d.ts +2 -2
  526. package/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.d.ts +6 -6
  527. package/lib/components/evo-sidebar/enums/evo-sidebar-sizes.d.ts +5 -5
  528. package/lib/components/evo-sidebar/enums/evo-sidebar-states.d.ts +4 -4
  529. package/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.d.ts +12 -12
  530. package/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.d.ts +5 -5
  531. package/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.d.ts +13 -13
  532. package/lib/components/evo-sidebar/evo-sidebar-portal.d.ts +13 -13
  533. package/lib/components/evo-sidebar/evo-sidebar.component.d.ts +42 -42
  534. package/lib/components/evo-sidebar/evo-sidebar.module.d.ts +17 -17
  535. package/lib/components/evo-sidebar/evo-sidebar.service.d.ts +26 -26
  536. package/lib/components/evo-sidebar/index.d.ts +1 -1
  537. package/lib/components/evo-sidebar/interfaces.d.ts +23 -23
  538. package/lib/components/evo-sidebar/public-api.d.ts +11 -11
  539. package/lib/components/evo-sidebar/sidebar-injection-token.d.ts +2 -2
  540. package/lib/components/evo-sidebar/tokens.d.ts +7 -7
  541. package/lib/components/evo-stepper/evo-stepper-events.d.ts +12 -12
  542. package/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.d.ts +13 -13
  543. package/lib/components/evo-stepper/evo-stepper.component.d.ts +27 -27
  544. package/lib/components/evo-stepper/evo-stepper.module.d.ts +10 -10
  545. package/lib/components/evo-stepper/index.d.ts +1 -1
  546. package/lib/components/evo-stepper/public-api.d.ts +3 -3
  547. package/lib/components/evo-submenu/evo-submenu.component.d.ts +49 -49
  548. package/lib/components/evo-submenu/evo-submenu.module.d.ts +11 -11
  549. package/lib/components/evo-submenu/index.d.ts +1 -1
  550. package/lib/components/evo-submenu/public-api.d.ts +2 -2
  551. package/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.d.ts +9 -9
  552. package/lib/components/evo-switcher/evo-switcher.component.d.ts +14 -14
  553. package/lib/components/evo-switcher/evo-switcher.module.d.ts +10 -10
  554. package/lib/components/evo-switcher/index.d.ts +1 -1
  555. package/lib/components/evo-switcher/public-api.d.ts +3 -3
  556. package/lib/components/evo-table/evo-table/evo-table.component.d.ts +35 -35
  557. package/lib/components/evo-table/evo-table-column/evo-table-column.component.d.ts +12 -12
  558. package/lib/components/evo-table/evo-table.module.d.ts +9 -9
  559. package/lib/components/evo-table/index.d.ts +1 -1
  560. package/lib/components/evo-table/public-api.d.ts +3 -3
  561. package/lib/components/evo-tabs/enums/evo-tabs-size.d.ts +4 -4
  562. package/lib/components/evo-tabs/evo-tab/evo-tab.component.d.ts +35 -35
  563. package/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.d.ts +16 -16
  564. package/lib/components/evo-tabs/evo-tab-state.collection.d.ts +15 -15
  565. package/lib/components/evo-tabs/evo-tabs-size.service.d.ts +12 -12
  566. package/lib/components/evo-tabs/evo-tabs.component.d.ts +22 -22
  567. package/lib/components/evo-tabs/evo-tabs.module.d.ts +11 -11
  568. package/lib/components/evo-tabs/evo-tabs.service.d.ts +19 -19
  569. package/lib/components/evo-tabs/index.d.ts +1 -1
  570. package/lib/components/evo-tabs/public-api.d.ts +8 -8
  571. package/lib/components/evo-textarea/evo-textarea.component.d.ts +25 -25
  572. package/lib/components/evo-textarea/evo-textarea.module.d.ts +11 -11
  573. package/lib/components/evo-textarea/index.d.ts +1 -1
  574. package/lib/components/evo-textarea/public-api.d.ts +2 -2
  575. package/lib/components/evo-toast/evo-toast.component.d.ts +23 -23
  576. package/lib/components/evo-toast/evo-toast.module.d.ts +10 -10
  577. package/lib/components/evo-toast/evo-toast.service.d.ts +22 -22
  578. package/lib/components/evo-toast/index.d.ts +1 -1
  579. package/lib/components/evo-toast/public-api.d.ts +3 -3
  580. package/lib/components/evo-toggle/evo-toggle.component.d.ts +20 -20
  581. package/lib/components/evo-toggle/evo-toggle.module.d.ts +10 -10
  582. package/lib/components/evo-toggle/index.d.ts +1 -1
  583. package/lib/components/evo-toggle/public-api.d.ts +2 -2
  584. package/lib/components/evo-upload/evo-upload.component.d.ts +65 -65
  585. package/lib/components/evo-upload/evo-upload.module.d.ts +13 -13
  586. package/lib/components/evo-upload/index.d.ts +1 -1
  587. package/lib/components/evo-upload/public-api.d.ts +2 -2
  588. package/lib/decorators/deprecate-method.decorator.d.ts +1 -1
  589. package/lib/decorators/deprecate-variable.decorator.d.ts +1 -1
  590. package/lib/decorators/index.d.ts +1 -1
  591. package/lib/decorators/public-api.d.ts +2 -2
  592. package/lib/directives/evo-click-outside.directive.d.ts +12 -12
  593. package/lib/directives/evo-is-expanded.directive.d.ts +19 -19
  594. package/lib/directives/evo-let/evo-let.directive.d.ts +33 -33
  595. package/lib/directives/evo-ui-class.directive.d.ts +61 -61
  596. package/lib/directives/index.d.ts +1 -1
  597. package/lib/directives/public-api.d.ts +4 -4
  598. package/lib/evo-ui-kit.module.d.ts +16 -16
  599. package/lib/operators/enter-zone.operator.d.ts +3 -3
  600. package/lib/operators/index.d.ts +1 -1
  601. package/lib/operators/public-api.d.ts +1 -1
  602. package/lib/pipes/declination.pipe.d.ts +7 -7
  603. package/lib/pipes/evo-pipes.module.d.ts +8 -8
  604. package/lib/pipes/index.d.ts +1 -1
  605. package/lib/pipes/public-api.d.ts +3 -3
  606. package/lib/pipes/safe-html.pipe.d.ts +10 -10
  607. package/lib/services/evo-expanded.service.d.ts +11 -11
  608. package/lib/services/index.d.ts +1 -1
  609. package/lib/services/public-api.d.ts +1 -1
  610. package/lib/services/window.service.d.ts +14 -14
  611. package/package.json +5 -3
  612. package/public_api.d.ts +63 -63
  613. package/styles/components/evo-button.scss +233 -233
  614. package/styles/components/evo-chip.scss +167 -167
  615. package/styles/components/evo-table.scss +42 -42
  616. package/styles/components/evo-title.scss +23 -23
  617. package/styles/globals.scss +78 -78
  618. package/styles/main.scss +24 -24
  619. package/styles/mixins/_evo-input-mixins.scss +74 -74
  620. package/styles/mixins/_evo-text-button-mixin.scss +24 -24
  621. package/styles/mixins/_evo-text-caption-mixin.scss +26 -26
  622. package/styles/mixins/_evo-text-field-mixin.scss +36 -36
  623. package/styles/mixins/_evo-text-header-mixin.scss +62 -62
  624. package/styles/mixins/_evo-text-mobile-header-mixin.scss +34 -34
  625. package/styles/mixins/_evo-text-paragraph-mixin.scss +34 -34
  626. package/styles/mixins/_evo-text-subtitle-mixin.scss +20 -20
  627. package/styles/mixins/_evo-text-tips-mixin.scss +9 -9
  628. package/styles/mixins/_media-mixins.scss +38 -38
  629. package/styles/mixins.scss +96 -96
  630. package/styles/partials/_fonts.scss +2 -2
  631. package/styles/partials/_typography.scss +135 -135
  632. package/styles/variables.scss +140 -140
@@ -1,159 +1,159 @@
1
- import { Component, HostListener, Inject, Input, ViewChild } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { delay } from 'rxjs/operators';
4
- import { WINDOW } from '../../services/window.service';
5
- import { DOCUMENT } from '@angular/common';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../directives/evo-ui-class.directive";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "ngx-page-scroll";
10
- import * as i4 from "@angular/router";
11
- /**
12
- * scroll - [default] link type with auto scroll to section on the same page
13
- * outer - outer link (not accesible with router)
14
- * router - router type link
15
- */
16
- export var EvoSubmenuType;
17
- (function (EvoSubmenuType) {
18
- EvoSubmenuType[EvoSubmenuType["scroll"] = 0] = "scroll";
19
- EvoSubmenuType[EvoSubmenuType["outer"] = 1] = "outer";
20
- EvoSubmenuType[EvoSubmenuType["router"] = 2] = "router";
21
- })(EvoSubmenuType || (EvoSubmenuType = {}));
22
- /**
23
- * @deprecated use `EvoTabsComponent`
24
- */
25
- export class EvoSubmenuComponent {
26
- constructor(elRef, window, document) {
27
- this.elRef = elRef;
28
- this.window = window;
29
- this.document = document;
30
- this.menuType = EvoSubmenuType.scroll;
31
- this.offsetLeft = false;
32
- this.isFloated = false;
33
- this.activeItemIndex = 0;
34
- this.evoSubmenuType = EvoSubmenuType;
35
- this._items = [];
36
- this.submenuOffset = 0;
37
- this.isWindowResize = false;
38
- }
39
- get items() {
40
- return this._items;
41
- }
42
- set items(items) {
43
- this._items = items;
44
- if (this.menuType === EvoSubmenuType.scroll) {
45
- this.calculateActiveItemIndex();
46
- }
47
- }
48
- ngOnInit() { }
49
- onWindowResize() {
50
- if (this.menuType === EvoSubmenuType.scroll) {
51
- this.isWindowResize = true;
52
- this.submenuOffset = this.elRef.nativeElement.offsetTop;
53
- this.onWindowScroll();
54
- }
55
- }
56
- onWindowScroll() {
57
- if (this.menuType === EvoSubmenuType.scroll) {
58
- this.submenuOffset = this.elRef.nativeElement.offsetTop;
59
- this.isFloated = this.window.pageYOffset + this.headerHeight >= this.submenuOffset;
60
- this.calculateActiveItemIndex();
61
- }
62
- }
63
- ngAfterViewInit() {
64
- if (this.menuType === EvoSubmenuType.scroll) {
65
- this.submenuOffset = this.elRef.nativeElement.offsetTop;
66
- this.header = this.document.querySelector('evo-header');
67
- if (this.header) {
68
- this.headerHeight = this.header.getBoundingClientRect().height;
69
- }
70
- this.onWindowScroll();
71
- }
72
- }
73
- calculateActiveItemIndex() {
74
- let newIndex;
75
- const { documentElement } = this.document;
76
- if (documentElement.clientHeight + documentElement.scrollTop >= documentElement.scrollHeight) {
77
- newIndex = this.items.length - 1;
78
- }
79
- else {
80
- newIndex =
81
- this.items
82
- .map((item) => {
83
- const anchorSection = this.document.querySelector('#' + item.href);
84
- if (anchorSection) {
85
- return anchorSection.getBoundingClientRect().top - item.scrollOffset - 1;
86
- }
87
- })
88
- .filter((value) => value < 0).length - 1;
89
- }
90
- if (this.isWindowResize || newIndex !== this.activeItemIndex) {
91
- this.activeItemIndex = newIndex;
92
- this.isWindowResize = false;
93
- // Timeout to get correct container scrollWidth
94
- of({})
95
- .pipe(delay(0))
96
- .subscribe(() => {
97
- this.checkHorizontalScroll();
98
- });
99
- }
100
- }
101
- checkHorizontalScroll() {
102
- const container = this.container.nativeElement;
103
- if (container.scrollWidth > container.clientWidth) {
104
- const items = container.querySelectorAll('.evo-submenu__item');
105
- const item = items ? items[this.activeItemIndex] : null;
106
- if (item) {
107
- const itemOffset = item.getBoundingClientRect().left;
108
- if (itemOffset >= 0) {
109
- if (item.clientWidth + itemOffset > container.clientWidth) {
110
- container.scroll({
111
- left: container.scrollLeft + item.clientWidth + itemOffset - container.clientWidth,
112
- behavior: 'smooth',
113
- });
114
- }
115
- }
116
- else {
117
- container.scroll({
118
- left: container.scrollLeft + itemOffset,
119
- behavior: 'smooth',
120
- });
121
- }
122
- }
123
- else {
124
- container.scroll({
125
- left: 0,
126
- behavior: 'smooth',
127
- });
128
- }
129
- }
130
- }
131
- }
132
- EvoSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuComponent, deps: [{ token: i0.ElementRef }, { token: WINDOW }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
133
- EvoSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSubmenuComponent, selector: "evo-submenu", inputs: { menuType: "menuType", offsetLeft: "offsetLeft", items: "items" }, host: { listeners: { "window:resize": "onWindowResize()", "window:scroll": "onWindowScroll()" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\n"], directives: [{ type: i1.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgxPageScrollDirective, selector: "[pageScroll]", inputs: ["routerLink", "href", "fragment", "pageScrollTarget", "pageScrollHorizontal", "pageScrollOffset", "pageScrollDuration", "pageScrollSpeed", "pageScrollEasing", "pageScrollInterruptible", "pageScrollInView", "pageScrollAdjustHash", "pageScroll"], outputs: ["pageScrollFinish"] }, { type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuComponent, decorators: [{
135
- type: Component,
136
- args: [{ selector: 'evo-submenu', template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\n"] }]
137
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
138
- type: Inject,
139
- args: [WINDOW]
140
- }] }, { type: undefined, decorators: [{
141
- type: Inject,
142
- args: [DOCUMENT]
143
- }] }]; }, propDecorators: { menuType: [{
144
- type: Input
145
- }], offsetLeft: [{
146
- type: Input
147
- }], items: [{
148
- type: Input
149
- }], container: [{
150
- type: ViewChild,
151
- args: ['container', { static: true }]
152
- }], onWindowResize: [{
153
- type: HostListener,
154
- args: ['window:resize', []]
155
- }], onWindowScroll: [{
156
- type: HostListener,
157
- args: ['window:scroll', []]
158
- }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN1Ym1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQXNCLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFekM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsdURBQU0sQ0FBQTtJQUNOLHFEQUFLLENBQUE7SUFDTCx1REFBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBa0JEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQTRCNUIsWUFDYyxLQUFpQixFQUNELE1BQVcsRUFDVCxRQUFhO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDRCxXQUFNLEdBQU4sTUFBTSxDQUFLO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQTFCcEMsYUFBUSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ2pELGVBQVUsR0FBRyxLQUFLLENBQUM7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LFFBQVEsRUFBRSxRQUFRO3lCQUNyQixDQUFDLENBQUM7cUJBQ047aUJBQ0o7cUJBQU07b0JBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixJQUFJLEVBQUUsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVO3dCQUN2QyxRQUFRLEVBQUUsUUFBUTtxQkFDckIsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7aUJBQU07Z0JBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsQ0FBQztvQkFDUCxRQUFRLEVBQUUsUUFBUTtpQkFDckIsQ0FBQyxDQUFDO2FBQ047U0FDSjtJQUNMLENBQUM7O2dIQS9IUSxtQkFBbUIsNENBOEJoQixNQUFNLGFBQ04sUUFBUTtvR0EvQlgsbUJBQW1CLHdWQ3BDaEMsNHNFQXNDQTsyRkRGYSxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0ksYUFBYTs7MEJBcUNsQixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsUUFBUTs0Q0ExQlgsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBT2tDLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFzQnRDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRTtnQkFVakMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtkZWxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIHNjcm9sbCAtIFtkZWZhdWx0XSBsaW5rIHR5cGUgd2l0aCBhdXRvIHNjcm9sbCB0byBzZWN0aW9uIG9uIHRoZSBzYW1lIHBhZ2VcclxuICogb3V0ZXIgLSBvdXRlciBsaW5rIChub3QgYWNjZXNpYmxlIHdpdGggcm91dGVyKVxyXG4gKiByb3V0ZXIgLSByb3V0ZXIgdHlwZSBsaW5rXHJcbiAqL1xyXG5leHBvcnQgZW51bSBFdm9TdWJtZW51VHlwZSB7XHJcbiAgICBzY3JvbGwsXHJcbiAgICBvdXRlcixcclxuICAgIHJvdXRlcixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9TdWJtZW51SXRlbSB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgaHJlZjogc3RyaW5nO1xyXG4gICAgdHlwZT86IEV2b1N1Ym1lbnVUeXBlOyAvLyBpZiBtZW51VHlwZSA9PT0gc2Nyb2xsLCB0aGlzIHByb3BlcnR5IGlzIGlnbm9yZWQgKGZvciBub3cpXHJcbiAgICB0YXJnZXQ/OiBzdHJpbmc7IC8vIHVzZWQgb25seSBmb3Igb3V0ZXIgdHlwZVxyXG4gICAgaXNBY3RpdmU/OiBib29sZWFuOyAvLyB1c2VkIG9ubHkgZm9yIG91dGVyIHR5cGVcclxuICAgIGluZGV4PzogbnVtYmVyO1xyXG4gICAgc2Nyb2xsT2Zmc2V0PzogbnVtYmVyO1xyXG4gICAgc2Nyb2xsRHVyYXRpb24/OiBudW1iZXI7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdldm8tc3VibWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXN1Ym1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIHVzZSBgRXZvVGFic0NvbXBvbmVudGBcclxuICovXHJcbmV4cG9ydCBjbGFzcyBFdm9TdWJtZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIGdldCBpdGVtcygpOiBFdm9TdWJtZW51SXRlbVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbWVudVR5cGU6IEV2b1N1Ym1lbnVUeXBlID0gRXZvU3VibWVudVR5cGUuc2Nyb2xsO1xyXG4gICAgQElucHV0KCkgb2Zmc2V0TGVmdCA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogRXZvU3VibWVudUl0ZW1bXSkge1xyXG4gICAgICAgIHRoaXMuX2l0ZW1zID0gaXRlbXM7XHJcbiAgICAgICAgaWYgKHRoaXMubWVudVR5cGUgPT09IEV2b1N1Ym1lbnVUeXBlLnNjcm9sbCkge1xyXG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUFjdGl2ZUl0ZW1JbmRleCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkgY29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIGlzRmxvYXRlZCA9IGZhbHNlO1xyXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcclxuICAgIGV2b1N1Ym1lbnVUeXBlID0gRXZvU3VibWVudVR5cGU7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEV2b1N1Ym1lbnVJdGVtW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIGhlYWRlckhlaWdodDogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBzdWJtZW51T2Zmc2V0ID0gMDtcclxuICAgIHByaXZhdGUgaXNXaW5kb3dSZXNpemUgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgaGVhZGVyOiBFbGVtZW50IHwgbnVsbDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByb3RlY3RlZCB3aW5kb3c6IGFueSxcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgZG9jdW1lbnQ6IGFueSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFtdKVxyXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubWVudVR5cGUgPT09IEV2b1N1Ym1lbnVUeXBlLnNjcm9sbCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzV2luZG93UmVzaXplID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtZW51T2Zmc2V0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgICAgICAgdGhpcy5vbldpbmRvd1Njcm9sbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgW10pXHJcbiAgICBvbldpbmRvd1Njcm9sbCgpIHtcclxuICAgICAgICBpZiAodGhpcy5tZW51VHlwZSA9PT0gRXZvU3VibWVudVR5cGUuc2Nyb2xsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWVudU9mZnNldCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgIHRoaXMuaXNGbG9hdGVkID0gdGhpcy53aW5kb3cucGFnZVlPZmZzZXQgKyB0aGlzLmhlYWRlckhlaWdodCA+PSB0aGlzLnN1Ym1lbnVPZmZzZXQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQWN0aXZlSXRlbUluZGV4KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5tZW51VHlwZSA9PT0gRXZvU3VibWVudVR5cGUuc2Nyb2xsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWVudU9mZnNldCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdldm8taGVhZGVyJyk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhlYWRlcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5vbldpbmRvd1Njcm9sbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUFjdGl2ZUl0ZW1JbmRleCgpIHtcclxuICAgICAgICBsZXQgbmV3SW5kZXg7XHJcbiAgICAgICAgY29uc3Qge2RvY3VtZW50RWxlbWVudH0gPSB0aGlzLmRvY3VtZW50O1xyXG5cclxuICAgICAgICBpZiAoZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCArIGRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPj0gZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCkge1xyXG4gICAgICAgICAgICBuZXdJbmRleCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdJbmRleCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbTogRXZvU3VibWVudUl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5jaG9yU2VjdGlvbiA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyBpdGVtLmhyZWYpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2hvclNlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhbmNob3JTZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIGl0ZW0uc2Nyb2xsT2Zmc2V0IC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigodmFsdWU6IG51bWJlcikgPT4gdmFsdWUgPCAwKS5sZW5ndGggLSAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNXaW5kb3dSZXNpemUgfHwgbmV3SW5kZXggIT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gbmV3SW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMuaXNXaW5kb3dSZXNpemUgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIC8vICBUaW1lb3V0IHRvIGdldCBjb3JyZWN0IGNvbnRhaW5lciBzY3JvbGxXaWR0aFxyXG4gICAgICAgICAgICBvZih7fSlcclxuICAgICAgICAgICAgICAgIC5waXBlKGRlbGF5KDApKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0hvcml6b250YWxTY3JvbGwoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrSG9yaXpvbnRhbFNjcm9sbCgpIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAoY29udGFpbmVyLnNjcm9sbFdpZHRoID4gY29udGFpbmVyLmNsaWVudFdpZHRoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldm8tc3VibWVudV9faXRlbScpO1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gaXRlbXMgPyBpdGVtc1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gOiBudWxsO1xyXG5cclxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1PZmZzZXQgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1PZmZzZXQgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmNsaWVudFdpZHRoICsgaXRlbU9mZnNldCA+IGNvbnRhaW5lci5jbGllbnRXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuc2Nyb2xsKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNvbnRhaW5lci5zY3JvbGxMZWZ0ICsgaXRlbS5jbGllbnRXaWR0aCArIGl0ZW1PZmZzZXQgLSBjb250YWluZXIuY2xpZW50V2lkdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNvbnRhaW5lci5zY3JvbGxMZWZ0ICsgaXRlbU9mZnNldCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbCh7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cImV2by1zdWJtZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cImV2by1zdWJtZW51X193cmFwcGVyXCIgW2V2b1VpQ2xhc3NdPVwie2FmZml4OiBpc0Zsb2F0ZWQsICdoYXMtb2Zmc2V0LWxlZnQnOiBvZmZzZXRMZWZ0fVwiPlxuICAgICAgICA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb250YWluZXIgZXZvLXN1Ym1lbnVfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2xpc3RcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnNjcm9sbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1zdWJtZW51X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtldm9VaUNsYXNzXT1cInthY3RpdmU6IGluZGV4ID09PSBhY3RpdmVJdGVtSW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTY3JvbGxEdXJhdGlvbl09XCIyMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTY3JvbGxPZmZzZXRdPVwiaXRlbS5zY3JvbGxPZmZzZXQgfHwgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlU2Nyb2xsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI3t7IGl0ZW0uaHJlZiB9fVwiPnt7IGl0ZW0udGl0bGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUeXBlID09PSBldm9TdWJtZW51VHlwZS5yb3V0ZXIgfHwgbWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLm91dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImV2by1zdWJtZW51X19pdGVtX2FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2V2by1zdWJtZW51X19pdGVtX2FjdGl2ZSc6IGl0ZW0uaXNBY3RpdmV9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnJvdXRlciB8fCAoISBpdGVtLnR5cGUgJiYgbWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnJvdXRlcilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImV2by1zdWJtZW51X19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS5ocmVmXVwiPnt7IGl0ZW0udGl0bGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLm91dGVyIHx8ICghIGl0ZW0udHlwZSAmJiBtZW51VHlwZSA9PT0gZXZvU3VibWVudVR5cGUub3V0ZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJldm8tc3VibWVudV9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cInt7IGl0ZW0uaHJlZiB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS50aXRsZSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
1
+ import { Component, HostListener, Inject, Input, ViewChild } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { delay } from 'rxjs/operators';
4
+ import { WINDOW } from '../../services/window.service';
5
+ import { DOCUMENT } from '@angular/common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../directives/evo-ui-class.directive";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "ngx-page-scroll";
10
+ import * as i4 from "@angular/router";
11
+ /**
12
+ * scroll - [default] link type with auto scroll to section on the same page
13
+ * outer - outer link (not accesible with router)
14
+ * router - router type link
15
+ */
16
+ export var EvoSubmenuType;
17
+ (function (EvoSubmenuType) {
18
+ EvoSubmenuType[EvoSubmenuType["scroll"] = 0] = "scroll";
19
+ EvoSubmenuType[EvoSubmenuType["outer"] = 1] = "outer";
20
+ EvoSubmenuType[EvoSubmenuType["router"] = 2] = "router";
21
+ })(EvoSubmenuType || (EvoSubmenuType = {}));
22
+ /**
23
+ * @deprecated use `EvoTabsComponent`
24
+ */
25
+ export class EvoSubmenuComponent {
26
+ constructor(elRef, window, document) {
27
+ this.elRef = elRef;
28
+ this.window = window;
29
+ this.document = document;
30
+ this.menuType = EvoSubmenuType.scroll;
31
+ this.offsetLeft = false;
32
+ this.isFloated = false;
33
+ this.activeItemIndex = 0;
34
+ this.evoSubmenuType = EvoSubmenuType;
35
+ this._items = [];
36
+ this.submenuOffset = 0;
37
+ this.isWindowResize = false;
38
+ }
39
+ get items() {
40
+ return this._items;
41
+ }
42
+ set items(items) {
43
+ this._items = items;
44
+ if (this.menuType === EvoSubmenuType.scroll) {
45
+ this.calculateActiveItemIndex();
46
+ }
47
+ }
48
+ ngOnInit() { }
49
+ onWindowResize() {
50
+ if (this.menuType === EvoSubmenuType.scroll) {
51
+ this.isWindowResize = true;
52
+ this.submenuOffset = this.elRef.nativeElement.offsetTop;
53
+ this.onWindowScroll();
54
+ }
55
+ }
56
+ onWindowScroll() {
57
+ if (this.menuType === EvoSubmenuType.scroll) {
58
+ this.submenuOffset = this.elRef.nativeElement.offsetTop;
59
+ this.isFloated = this.window.pageYOffset + this.headerHeight >= this.submenuOffset;
60
+ this.calculateActiveItemIndex();
61
+ }
62
+ }
63
+ ngAfterViewInit() {
64
+ if (this.menuType === EvoSubmenuType.scroll) {
65
+ this.submenuOffset = this.elRef.nativeElement.offsetTop;
66
+ this.header = this.document.querySelector('evo-header');
67
+ if (this.header) {
68
+ this.headerHeight = this.header.getBoundingClientRect().height;
69
+ }
70
+ this.onWindowScroll();
71
+ }
72
+ }
73
+ calculateActiveItemIndex() {
74
+ let newIndex;
75
+ const { documentElement } = this.document;
76
+ if (documentElement.clientHeight + documentElement.scrollTop >= documentElement.scrollHeight) {
77
+ newIndex = this.items.length - 1;
78
+ }
79
+ else {
80
+ newIndex =
81
+ this.items
82
+ .map((item) => {
83
+ const anchorSection = this.document.querySelector('#' + item.href);
84
+ if (anchorSection) {
85
+ return anchorSection.getBoundingClientRect().top - item.scrollOffset - 1;
86
+ }
87
+ })
88
+ .filter((value) => value < 0).length - 1;
89
+ }
90
+ if (this.isWindowResize || newIndex !== this.activeItemIndex) {
91
+ this.activeItemIndex = newIndex;
92
+ this.isWindowResize = false;
93
+ // Timeout to get correct container scrollWidth
94
+ of({})
95
+ .pipe(delay(0))
96
+ .subscribe(() => {
97
+ this.checkHorizontalScroll();
98
+ });
99
+ }
100
+ }
101
+ checkHorizontalScroll() {
102
+ const container = this.container.nativeElement;
103
+ if (container.scrollWidth > container.clientWidth) {
104
+ const items = container.querySelectorAll('.evo-submenu__item');
105
+ const item = items ? items[this.activeItemIndex] : null;
106
+ if (item) {
107
+ const itemOffset = item.getBoundingClientRect().left;
108
+ if (itemOffset >= 0) {
109
+ if (item.clientWidth + itemOffset > container.clientWidth) {
110
+ container.scroll({
111
+ left: container.scrollLeft + item.clientWidth + itemOffset - container.clientWidth,
112
+ behavior: 'smooth',
113
+ });
114
+ }
115
+ }
116
+ else {
117
+ container.scroll({
118
+ left: container.scrollLeft + itemOffset,
119
+ behavior: 'smooth',
120
+ });
121
+ }
122
+ }
123
+ else {
124
+ container.scroll({
125
+ left: 0,
126
+ behavior: 'smooth',
127
+ });
128
+ }
129
+ }
130
+ }
131
+ }
132
+ EvoSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuComponent, deps: [{ token: i0.ElementRef }, { token: WINDOW }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
133
+ EvoSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSubmenuComponent, selector: "evo-submenu", inputs: { menuType: "menuType", offsetLeft: "offsetLeft", items: "items" }, host: { listeners: { "window:resize": "onWindowResize()", "window:scroll": "onWindowScroll()" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\n"], directives: [{ type: i1.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgxPageScrollDirective, selector: "[pageScroll]", inputs: ["routerLink", "href", "fragment", "pageScrollTarget", "pageScrollHorizontal", "pageScrollOffset", "pageScrollDuration", "pageScrollSpeed", "pageScrollEasing", "pageScrollInterruptible", "pageScrollInView", "pageScrollAdjustHash", "pageScroll"], outputs: ["pageScrollFinish"] }, { type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuComponent, decorators: [{
135
+ type: Component,
136
+ args: [{ selector: 'evo-submenu', template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\n"] }]
137
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
138
+ type: Inject,
139
+ args: [WINDOW]
140
+ }] }, { type: undefined, decorators: [{
141
+ type: Inject,
142
+ args: [DOCUMENT]
143
+ }] }]; }, propDecorators: { menuType: [{
144
+ type: Input
145
+ }], offsetLeft: [{
146
+ type: Input
147
+ }], items: [{
148
+ type: Input
149
+ }], container: [{
150
+ type: ViewChild,
151
+ args: ['container', { static: true }]
152
+ }], onWindowResize: [{
153
+ type: HostListener,
154
+ args: ['window:resize', []]
155
+ }], onWindowScroll: [{
156
+ type: HostListener,
157
+ args: ['window:scroll', []]
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN1Ym1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQXNCLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFekM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsdURBQU0sQ0FBQTtJQUNOLHFEQUFLLENBQUE7SUFDTCx1REFBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBa0JEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQTRCNUIsWUFDYyxLQUFpQixFQUNELE1BQVcsRUFDVCxRQUFhO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDRCxXQUFNLEdBQU4sTUFBTSxDQUFLO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQTFCcEMsYUFBUSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ2pELGVBQVUsR0FBRyxLQUFLLENBQUM7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LFFBQVEsRUFBRSxRQUFRO3lCQUNyQixDQUFDLENBQUM7cUJBQ047aUJBQ0o7cUJBQU07b0JBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixJQUFJLEVBQUUsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVO3dCQUN2QyxRQUFRLEVBQUUsUUFBUTtxQkFDckIsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7aUJBQU07Z0JBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsQ0FBQztvQkFDUCxRQUFRLEVBQUUsUUFBUTtpQkFDckIsQ0FBQyxDQUFDO2FBQ047U0FDSjtJQUNMLENBQUM7O2dIQS9IUSxtQkFBbUIsNENBOEJoQixNQUFNLGFBQ04sUUFBUTtvR0EvQlgsbUJBQW1CLHdWQ3BDaEMsNHNFQXNDQTsyRkRGYSxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0ksYUFBYTs7MEJBcUNsQixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsUUFBUTs0Q0ExQlgsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBT2tDLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFzQnRDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRTtnQkFVakMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBzY3JvbGwgLSBbZGVmYXVsdF0gbGluayB0eXBlIHdpdGggYXV0byBzY3JvbGwgdG8gc2VjdGlvbiBvbiB0aGUgc2FtZSBwYWdlXG4gKiBvdXRlciAtIG91dGVyIGxpbmsgKG5vdCBhY2Nlc2libGUgd2l0aCByb3V0ZXIpXG4gKiByb3V0ZXIgLSByb3V0ZXIgdHlwZSBsaW5rXG4gKi9cbmV4cG9ydCBlbnVtIEV2b1N1Ym1lbnVUeXBlIHtcbiAgICBzY3JvbGwsXG4gICAgb3V0ZXIsXG4gICAgcm91dGVyLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1N1Ym1lbnVJdGVtIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgICB0eXBlPzogRXZvU3VibWVudVR5cGU7IC8vIGlmIG1lbnVUeXBlID09PSBzY3JvbGwsIHRoaXMgcHJvcGVydHkgaXMgaWdub3JlZCAoZm9yIG5vdylcbiAgICB0YXJnZXQ/OiBzdHJpbmc7IC8vIHVzZWQgb25seSBmb3Igb3V0ZXIgdHlwZVxuICAgIGlzQWN0aXZlPzogYm9vbGVhbjsgLy8gdXNlZCBvbmx5IGZvciBvdXRlciB0eXBlXG4gICAgaW5kZXg/OiBudW1iZXI7XG4gICAgc2Nyb2xsT2Zmc2V0PzogbnVtYmVyO1xuICAgIHNjcm9sbER1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1zdWJtZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1zdWJtZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYEV2b1RhYnNDb21wb25lbnRgXG4gKi9cbmV4cG9ydCBjbGFzcyBFdm9TdWJtZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBnZXQgaXRlbXMoKTogRXZvU3VibWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBtZW51VHlwZTogRXZvU3VibWVudVR5cGUgPSBFdm9TdWJtZW51VHlwZS5zY3JvbGw7XG4gICAgQElucHV0KCkgb2Zmc2V0TGVmdCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBFdm9TdWJtZW51SXRlbVtdKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gaXRlbXM7XG4gICAgICAgIGlmICh0aGlzLm1lbnVUeXBlID09PSBFdm9TdWJtZW51VHlwZS5zY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQWN0aXZlSXRlbUluZGV4KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkgY29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgaXNGbG9hdGVkID0gZmFsc2U7XG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcbiAgICBldm9TdWJtZW51VHlwZSA9IEV2b1N1Ym1lbnVUeXBlO1xuXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEV2b1N1Ym1lbnVJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgaGVhZGVySGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBzdWJtZW51T2Zmc2V0ID0gMDtcbiAgICBwcml2YXRlIGlzV2luZG93UmVzaXplID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBoZWFkZXI6IEVsZW1lbnQgfCBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByb3RlY3RlZCB3aW5kb3c6IGFueSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50OiBhbnksXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFtdKVxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICBpZiAodGhpcy5tZW51VHlwZSA9PT0gRXZvU3VibWVudVR5cGUuc2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmlzV2luZG93UmVzaXplID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3VibWVudU9mZnNldCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB0aGlzLm9uV2luZG93U2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgW10pXG4gICAgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVUeXBlID09PSBFdm9TdWJtZW51VHlwZS5zY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWVudU9mZnNldCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRlZCA9IHRoaXMud2luZG93LnBhZ2VZT2Zmc2V0ICsgdGhpcy5oZWFkZXJIZWlnaHQgPj0gdGhpcy5zdWJtZW51T2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVBY3RpdmVJdGVtSW5kZXgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudVR5cGUgPT09IEV2b1N1Ym1lbnVUeXBlLnNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5zdWJtZW51T2Zmc2V0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdldm8taGVhZGVyJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWFkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub25XaW5kb3dTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQWN0aXZlSXRlbUluZGV4KCkge1xuICAgICAgICBsZXQgbmV3SW5kZXg7XG4gICAgICAgIGNvbnN0IHtkb2N1bWVudEVsZW1lbnR9ID0gdGhpcy5kb2N1bWVudDtcblxuICAgICAgICBpZiAoZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCArIGRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPj0gZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgbmV3SW5kZXggPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdJbmRleCA9XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtc1xuICAgICAgICAgICAgICAgICAgICAubWFwKChpdGVtOiBFdm9TdWJtZW51SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5jaG9yU2VjdGlvbiA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyBpdGVtLmhyZWYpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYW5jaG9yU2VjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhbmNob3JTZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIGl0ZW0uc2Nyb2xsT2Zmc2V0IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigodmFsdWU6IG51bWJlcikgPT4gdmFsdWUgPCAwKS5sZW5ndGggLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNXaW5kb3dSZXNpemUgfHwgbmV3SW5kZXggIT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IG5ld0luZGV4O1xuICAgICAgICAgICAgdGhpcy5pc1dpbmRvd1Jlc2l6ZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyAgVGltZW91dCB0byBnZXQgY29ycmVjdCBjb250YWluZXIgc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgIG9mKHt9KVxuICAgICAgICAgICAgICAgIC5waXBlKGRlbGF5KDApKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0hvcml6b250YWxTY3JvbGwoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lci5zY3JvbGxXaWR0aCA+IGNvbnRhaW5lci5jbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmV2by1zdWJtZW51X19pdGVtJyk7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gaXRlbXMgPyBpdGVtc1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1PZmZzZXQgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXRlbU9mZnNldCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmNsaWVudFdpZHRoICsgaXRlbU9mZnNldCA+IGNvbnRhaW5lci5jbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogY29udGFpbmVyLnNjcm9sbExlZnQgKyBpdGVtLmNsaWVudFdpZHRoICsgaXRlbU9mZnNldCAtIGNvbnRhaW5lci5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zY3JvbGwoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogY29udGFpbmVyLnNjcm9sbExlZnQgKyBpdGVtT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zY3JvbGwoe1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImV2by1zdWJtZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cImV2by1zdWJtZW51X193cmFwcGVyXCIgW2V2b1VpQ2xhc3NdPVwie2FmZml4OiBpc0Zsb2F0ZWQsICdoYXMtb2Zmc2V0LWxlZnQnOiBvZmZzZXRMZWZ0fVwiPlxuICAgICAgICA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb250YWluZXIgZXZvLXN1Ym1lbnVfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2xpc3RcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnNjcm9sbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1zdWJtZW51X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtldm9VaUNsYXNzXT1cInthY3RpdmU6IGluZGV4ID09PSBhY3RpdmVJdGVtSW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTY3JvbGxEdXJhdGlvbl09XCIyMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTY3JvbGxPZmZzZXRdPVwiaXRlbS5zY3JvbGxPZmZzZXQgfHwgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlU2Nyb2xsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI3t7IGl0ZW0uaHJlZiB9fVwiPnt7IGl0ZW0udGl0bGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUeXBlID09PSBldm9TdWJtZW51VHlwZS5yb3V0ZXIgfHwgbWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLm91dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImV2by1zdWJtZW51X19pdGVtX2FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2V2by1zdWJtZW51X19pdGVtX2FjdGl2ZSc6IGl0ZW0uaXNBY3RpdmV9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnJvdXRlciB8fCAoISBpdGVtLnR5cGUgJiYgbWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLnJvdXRlcilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImV2by1zdWJtZW51X19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS5ocmVmXVwiPnt7IGl0ZW0udGl0bGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLm91dGVyIHx8ICghIGl0ZW0udHlwZSAmJiBtZW51VHlwZSA9PT0gZXZvU3VibWVudVR5cGUub3V0ZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJldm8tc3VibWVudV9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cInt7IGl0ZW0uaHJlZiB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS50aXRsZSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,26 +1,26 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { EvoSubmenuComponent } from './evo-submenu.component';
4
- import { EvoUiKitModule } from '../../evo-ui-kit.module';
5
- import { NgxPageScrollModule } from 'ngx-page-scroll';
6
- import { RouterModule } from '@angular/router';
7
- import { WINDOW_PROVIDERS } from '../../services/window.service';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @deprecated use `EvoTabsModule`
11
- */
12
- export class EvoSubmenuModule {
13
- }
14
- EvoSubmenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- EvoSubmenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, declarations: [EvoSubmenuComponent], imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule], exports: [EvoSubmenuComponent] });
16
- EvoSubmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, providers: [...WINDOW_PROVIDERS], imports: [[CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule]] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule],
21
- declarations: [EvoSubmenuComponent],
22
- exports: [EvoSubmenuComponent],
23
- providers: [...WINDOW_PROVIDERS],
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN1Ym1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBUS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVBWLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsYUFFL0QsbUJBQW1COzhHQU1wQixnQkFBZ0IsYUFMZCxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsWUFIdkIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQzsyRkFRakUsZ0JBQWdCO2tCQVQ1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDO29CQUMxRSxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0V2b1N1Ym1lbnVDb21wb25lbnR9IGZyb20gJy4vZXZvLXN1Ym1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHtFdm9VaUtpdE1vZHVsZX0gZnJvbSAnLi4vLi4vZXZvLXVpLWtpdC5tb2R1bGUnO1xyXG5pbXBvcnQge05neFBhZ2VTY3JvbGxNb2R1bGV9IGZyb20gJ25neC1wYWdlLXNjcm9sbCc7XHJcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1dJTkRPV19QUk9WSURFUlN9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEV2b1VpS2l0TW9kdWxlLCBOZ3hQYWdlU2Nyb2xsTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0V2b1N1Ym1lbnVDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW0V2b1N1Ym1lbnVDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbLi4uV0lORE9XX1BST1ZJREVSU10sXHJcbn0pXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCB1c2UgYEV2b1RhYnNNb2R1bGVgXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXZvU3VibWVudU1vZHVsZSB7fVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EvoSubmenuComponent } from './evo-submenu.component';
4
+ import { EvoUiKitModule } from '../../evo-ui-kit.module';
5
+ import { NgxPageScrollModule } from 'ngx-page-scroll';
6
+ import { RouterModule } from '@angular/router';
7
+ import { WINDOW_PROVIDERS } from '../../services/window.service';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * @deprecated use `EvoTabsModule`
11
+ */
12
+ export class EvoSubmenuModule {
13
+ }
14
+ EvoSubmenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ EvoSubmenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, declarations: [EvoSubmenuComponent], imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule], exports: [EvoSubmenuComponent] });
16
+ EvoSubmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, providers: [...WINDOW_PROVIDERS], imports: [[CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule]] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSubmenuModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule],
21
+ declarations: [EvoSubmenuComponent],
22
+ exports: [EvoSubmenuComponent],
23
+ providers: [...WINDOW_PROVIDERS],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN1Ym1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBUS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVBWLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsYUFFL0QsbUJBQW1COzhHQU1wQixnQkFBZ0IsYUFMZCxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsWUFIdkIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQzsyRkFRakUsZ0JBQWdCO2tCQVQ1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDO29CQUMxRSxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RXZvU3VibWVudUNvbXBvbmVudH0gZnJvbSAnLi9ldm8tc3VibWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9VaUtpdE1vZHVsZX0gZnJvbSAnLi4vLi4vZXZvLXVpLWtpdC5tb2R1bGUnO1xuaW1wb3J0IHtOZ3hQYWdlU2Nyb2xsTW9kdWxlfSBmcm9tICduZ3gtcGFnZS1zY3JvbGwnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1dJTkRPV19QUk9WSURFUlN9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEV2b1VpS2l0TW9kdWxlLCBOZ3hQYWdlU2Nyb2xsTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtFdm9TdWJtZW51Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRXZvU3VibWVudUNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbLi4uV0lORE9XX1BST1ZJREVSU10sXG59KVxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYEV2b1RhYnNNb2R1bGVgXG4gKi9cbmV4cG9ydCBjbGFzcyBFdm9TdWJtZW51TW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './public-api';
1
+ export * from './public-api';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tc3VibWVudS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './evo-submenu.module';
2
- export * from './evo-submenu.component';
1
+ export * from './evo-submenu.module';
2
+ export * from './evo-submenu.component';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zdWJtZW51L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8tc3VibWVudS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ldm8tc3VibWVudS5jb21wb25lbnQnO1xuIl19
@@ -1,11 +1,11 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class EvoSwitcherItemComponent {
4
- }
5
- EvoSwitcherItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- EvoSwitcherItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSwitcherItemComponent, selector: "evo-switcher-item", ngImport: i0, template: "<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherItemComponent, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'evo-switcher-item', template: "<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""] }]
10
- }] });
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EvoSwitcherItemComponent {
4
+ }
5
+ EvoSwitcherItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ EvoSwitcherItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSwitcherItemComponent, selector: "evo-switcher-item", ngImport: i0, template: "<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""] });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherItemComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'evo-switcher-item', template: "<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""] }]
10
+ }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN3aXRjaGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN3aXRjaGVyL2NvbXBvbmVudHMvZXZvLXN3aXRjaGVyLWl0ZW0vZXZvLXN3aXRjaGVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN3aXRjaGVyL2NvbXBvbmVudHMvZXZvLXN3aXRjaGVyLWl0ZW0vZXZvLXN3aXRjaGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUMsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHlEQ1pyQyw4RUFJQTsyRkRRYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZvU3dpdGNoZXJJdGVtIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgY2xpY2tGdW5jdGlvbjogRnVuY3Rpb247XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V2by1zd2l0Y2hlci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2by1zd2l0Y2hlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2V2by1zd2l0Y2hlci1pdGVtLmNvbXBvbmVudC5zY3NzJyBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9Td2l0Y2hlckl0ZW1Db21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJldm8tc3dpdGNoZXItaXRlbVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG4iXX0=
@@ -1,32 +1,32 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../directives/evo-ui-class.directive";
5
- export class EvoSwitcherComponent {
6
- constructor() {
7
- this.onItemSelection = new EventEmitter();
8
- }
9
- get selectedIndex() {
10
- return this._selectedIndex;
11
- }
12
- set selectedIndex(index) {
13
- this._selectedIndex = index > this.items.length ? this.items.length - 1 : index;
14
- }
15
- handleItemClick(index) {
16
- this.selectedIndex = index;
17
- this.onItemSelection.emit(index);
18
- }
19
- }
20
- EvoSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- EvoSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSwitcherComponent, selector: "evo-switcher", inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { onItemSelection: "onItemSelection" }, ngImport: i0, template: "<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n", styles: [".evo-switcher{position:relative;display:flex;flex-wrap:nowrap;box-sizing:border-box;height:30px;overflow:hidden;background:#FFFFFF;border:solid 1px #78909c;border-radius:30px}.evo-switcher__item{width:140px;padding:6px 0;color:#435b67;font-weight:600;font-size:14px;line-height:16px;cursor:pointer;transition:.2s}.evo-switcher__item_selected{width:140px;color:#fff;background:#435B67;border-radius:30px}@media (max-width: 768px){:host{display:block;width:100%;height:60px;overflow:hidden;box-shadow:0 1px #ededed}.evo-switcher{justify-content:left;box-sizing:content-box;height:60px;padding-bottom:20px;overflow-x:scroll;overflow-y:hidden;background:none;border:none;border-radius:0}.evo-switcher__item{position:relative;display:flex;align-items:center;width:auto;height:60px;margin-right:30px;padding:20px 0;color:#546e7a;font-weight:700;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none;background:none;transition:none}.evo-switcher__item_selected{color:#f05023}.evo-switcher__item_selected:before{position:absolute;right:0;bottom:0;left:0;height:3px;background-color:#f05023;content:\"\"}}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'evo-switcher', template: "<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n", styles: [".evo-switcher{position:relative;display:flex;flex-wrap:nowrap;box-sizing:border-box;height:30px;overflow:hidden;background:#FFFFFF;border:solid 1px #78909c;border-radius:30px}.evo-switcher__item{width:140px;padding:6px 0;color:#435b67;font-weight:600;font-size:14px;line-height:16px;cursor:pointer;transition:.2s}.evo-switcher__item_selected{width:140px;color:#fff;background:#435B67;border-radius:30px}@media (max-width: 768px){:host{display:block;width:100%;height:60px;overflow:hidden;box-shadow:0 1px #ededed}.evo-switcher{justify-content:left;box-sizing:content-box;height:60px;padding-bottom:20px;overflow-x:scroll;overflow-y:hidden;background:none;border:none;border-radius:0}.evo-switcher__item{position:relative;display:flex;align-items:center;width:auto;height:60px;margin-right:30px;padding:20px 0;color:#546e7a;font-weight:700;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none;background:none;transition:none}.evo-switcher__item_selected{color:#f05023}.evo-switcher__item_selected:before{position:absolute;right:0;bottom:0;left:0;height:3px;background-color:#f05023;content:\"\"}}\n"] }]
25
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
26
- type: Input
27
- }], onItemSelection: [{
28
- type: Output
29
- }], selectedIndex: [{
30
- type: Input
31
- }] } });
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../directives/evo-ui-class.directive";
5
+ export class EvoSwitcherComponent {
6
+ constructor() {
7
+ this.onItemSelection = new EventEmitter();
8
+ }
9
+ get selectedIndex() {
10
+ return this._selectedIndex;
11
+ }
12
+ set selectedIndex(index) {
13
+ this._selectedIndex = index > this.items.length ? this.items.length - 1 : index;
14
+ }
15
+ handleItemClick(index) {
16
+ this.selectedIndex = index;
17
+ this.onItemSelection.emit(index);
18
+ }
19
+ }
20
+ EvoSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ EvoSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSwitcherComponent, selector: "evo-switcher", inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { onItemSelection: "onItemSelection" }, ngImport: i0, template: "<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n", styles: [".evo-switcher{position:relative;display:flex;flex-wrap:nowrap;box-sizing:border-box;height:30px;overflow:hidden;background:#FFFFFF;border:solid 1px #78909c;border-radius:30px}.evo-switcher__item{width:140px;padding:6px 0;color:#435b67;font-weight:600;font-size:14px;line-height:16px;cursor:pointer;transition:.2s}.evo-switcher__item_selected{width:140px;color:#fff;background:#435B67;border-radius:30px}@media (max-width: 768px){:host{display:block;width:100%;height:60px;overflow:hidden;box-shadow:0 1px #ededed}.evo-switcher{justify-content:left;box-sizing:content-box;height:60px;padding-bottom:20px;overflow-x:scroll;overflow-y:hidden;background:none;border:none;border-radius:0}.evo-switcher__item{position:relative;display:flex;align-items:center;width:auto;height:60px;margin-right:30px;padding:20px 0;color:#546e7a;font-weight:700;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none;background:none;transition:none}.evo-switcher__item_selected{color:#f05023}.evo-switcher__item_selected:before{position:absolute;right:0;bottom:0;left:0;height:3px;background-color:#f05023;content:\"\"}}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSwitcherComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'evo-switcher', template: "<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n", styles: [".evo-switcher{position:relative;display:flex;flex-wrap:nowrap;box-sizing:border-box;height:30px;overflow:hidden;background:#FFFFFF;border:solid 1px #78909c;border-radius:30px}.evo-switcher__item{width:140px;padding:6px 0;color:#435b67;font-weight:600;font-size:14px;line-height:16px;cursor:pointer;transition:.2s}.evo-switcher__item_selected{width:140px;color:#fff;background:#435B67;border-radius:30px}@media (max-width: 768px){:host{display:block;width:100%;height:60px;overflow:hidden;box-shadow:0 1px #ededed}.evo-switcher{justify-content:left;box-sizing:content-box;height:60px;padding-bottom:20px;overflow-x:scroll;overflow-y:hidden;background:none;border:none;border-radius:0}.evo-switcher__item{position:relative;display:flex;align-items:center;width:auto;height:60px;margin-right:30px;padding:20px 0;color:#546e7a;font-weight:700;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none;background:none;transition:none}.evo-switcher__item_selected{color:#f05023}.evo-switcher__item_selected:before{position:absolute;right:0;bottom:0;left:0;height:3px;background-color:#f05023;content:\"\"}}\n"] }]
25
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
26
+ type: Input
27
+ }], onItemSelection: [{
28
+ type: Output
29
+ }], selectedIndex: [{
30
+ type: Input
31
+ }] } });
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN3aXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zd2l0Y2hlci9ldm8tc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN3aXRjaGVyL2V2by1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXZFLE1BQU0sT0FBTyxvQkFBb0I7SUFNN0I7UUFKVSxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBTXJFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQWEsYUFBYSxDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOztpSEFyQlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsaUtDUmpDLGlRQU9BOzJGRENhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjOzBFQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQVlNLGFBQWE7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZvU3dpdGNoZXJJdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL2V2by1zd2l0Y2hlci1pdGVtL2V2by1zd2l0Y2hlci1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXN3aXRjaGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc3dpdGNoZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvU3dpdGNoZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBFdm9Td2l0Y2hlckl0ZW1bXTtcbiAgICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkSW5kZXg6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaW5kZXggPiB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXMubGVuZ3RoIC0gMSA6IGluZGV4O1xuICAgIH1cblxuICAgIGhhbmRsZUl0ZW1DbGljayhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGlvbi5lbWl0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXN3aXRjaGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2by1zd2l0Y2hlcl9faXRlbVwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgW2V2b1VpQ2xhc3NdPVwie3NlbGVjdGVkOiBpID09PSBzZWxlY3RlZEluZGV4fVwiXG4gICAgICAgICAoY2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKGkpXCI+e3sgaXRlbSB9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=