@evotor-dev/ui-kit 7.2.8 → 7.2.9

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 (633) hide show
  1. package/README.md +71 -71
  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 +66 -66
  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 +358 -358
  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 +7 -7
  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 +45 -45
  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 +107 -107
  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 +66 -66
  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 +45 -45
  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 +8 -8
  209. package/esm2020/lib/components/evo-sidebar/enums/evo-sidebar-sizes.mjs +7 -7
  210. package/esm2020/lib/components/evo-sidebar/enums/evo-sidebar-states.mjs +6 -6
  211. package/esm2020/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +33 -33
  212. package/esm2020/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.mjs +13 -13
  213. package/esm2020/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +40 -40
  214. package/esm2020/lib/components/evo-sidebar/evo-sidebar-portal.mjs +21 -21
  215. package/esm2020/lib/components/evo-sidebar/evo-sidebar.component.mjs +172 -172
  216. package/esm2020/lib/components/evo-sidebar/evo-sidebar.module.mjs +90 -90
  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 +2 -2
  220. package/esm2020/lib/components/evo-sidebar/public-api.mjs +12 -12
  221. package/esm2020/lib/components/evo-sidebar/sidebar-injection-token.mjs +3 -3
  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 +6 -6
  244. package/esm2020/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +88 -88
  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 +24 -24
  248. package/esm2020/lib/components/evo-tabs/evo-tabs.component.mjs +83 -83
  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 +9 -9
  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 +45 -45
  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 +59 -59
  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 +1 -1
  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/components/skeleton.scss +12 -12
  618. package/styles/globals.scss +78 -78
  619. package/styles/main.scss +24 -24
  620. package/styles/mixins/_evo-input-mixins.scss +74 -74
  621. package/styles/mixins/_evo-text-button-mixin.scss +24 -24
  622. package/styles/mixins/_evo-text-caption-mixin.scss +26 -26
  623. package/styles/mixins/_evo-text-field-mixin.scss +36 -36
  624. package/styles/mixins/_evo-text-header-mixin.scss +62 -62
  625. package/styles/mixins/_evo-text-mobile-header-mixin.scss +34 -34
  626. package/styles/mixins/_evo-text-paragraph-mixin.scss +34 -34
  627. package/styles/mixins/_evo-text-subtitle-mixin.scss +20 -20
  628. package/styles/mixins/_evo-text-tips-mixin.scss +9 -9
  629. package/styles/mixins/_media-mixins.scss +38 -38
  630. package/styles/mixins.scss +96 -96
  631. package/styles/partials/_fonts.scss +2 -2
  632. package/styles/partials/_typography.scss +135 -135
  633. package/styles/variables.scss +140 -140
@@ -1,40 +1,40 @@
1
- import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
2
- import { EvoSidebarCloseTargets } from '../enums/evo-sidebar-close-targets';
3
- import { SidebarInjectionToken } from '../sidebar-injection-token';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../evo-icon/evo-icon.component";
6
- import * as i2 from "@angular/common";
7
- export class EvoSidebarHeaderComponent {
8
- constructor(sidebar) {
9
- this.sidebar = sidebar;
10
- this.back = new EventEmitter();
11
- }
12
- ngOnInit() {
13
- if (!this.sidebar) {
14
- throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);
15
- }
16
- this.backButton = this.backButton ?? this.sidebar.backButton;
17
- }
18
- handleBackClick() {
19
- this.back.emit();
20
- }
21
- closeSidebar() {
22
- this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);
23
- }
24
- }
25
- EvoSidebarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component });
26
- EvoSidebarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: "backButton" }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], components: [{ type: i1.EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarHeaderComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'evo-sidebar-header, [evo-sidebar-header]', host: {
30
- class: 'evo-sidebar__header',
31
- }, template: "<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
32
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
- type: Inject,
34
- args: [SidebarInjectionToken]
35
- }] }]; }, propDecorators: { backButton: [{
36
- type: Input
37
- }], back: [{
38
- type: Output
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLWhlYWRlci9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItaGVhZGVyL2V2by1zaWRlYmFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVdqRSxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQW1ELE9BQVk7UUFBWixZQUFPLEdBQVAsT0FBTyxDQUFLO1FBRnJELFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRThCLENBQUM7SUFFbkUsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7O3NIQXJCUSx5QkFBeUIsa0JBS2QscUJBQXFCOzBHQUxoQyx5QkFBeUIsa01DYnRDLHVaQWNBOzJGRERhLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDSSwwQ0FBMEMsUUFJOUM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0I7OzBCQU9ZLE1BQU07MkJBQUMscUJBQXFCOzRDQUpoQyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzfSBmcm9tICcuLi9lbnVtcy9ldm8tc2lkZWJhci1jbG9zZS10YXJnZXRzJztcclxuaW1wb3J0IHtTaWRlYmFySW5qZWN0aW9uVG9rZW59IGZyb20gJy4uL3NpZGViYXItaW5qZWN0aW9uLXRva2VuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhci1oZWFkZXIsIFtldm8tc2lkZWJhci1oZWFkZXJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICBjbGFzczogJ2V2by1zaWRlYmFyX19oZWFkZXInLFxyXG4gICAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2b1NpZGViYXJIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgYmFja0J1dHRvbjogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KCkgYmFjayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFNpZGViYXJJbmplY3Rpb25Ub2tlbikgcHJpdmF0ZSBzaWRlYmFyOiBhbnkpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNpZGViYXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFdm9TaWRlYmFySGVhZGVyQ29tcG9uZW50IG11c3QgYmUgdXNlZCBpbnNpZGUgRXZvU2lkZWJhckNvbXBvbmVudCBvbmx5IWApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5iYWNrQnV0dG9uID0gdGhpcy5iYWNrQnV0dG9uID8/IHRoaXMuc2lkZWJhci5iYWNrQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUJhY2tDbGljaygpIHtcclxuICAgICAgICB0aGlzLmJhY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlU2lkZWJhcigpIHtcclxuICAgICAgICB0aGlzLnNpZGViYXIuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuQlVUVE9OKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2JhY2tcIlxuICAgICpuZ0lmPVwiYmFja0J1dHRvblwiXG4gICAgKGNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+XG4gICAgPGV2by1pY29uIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiBzaGFwZT1cImNoZXZyb24tbGVmdFwiPjwvZXZvLWljb24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyX190aXRsZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2Nsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+XG4gICAgPGV2by1pY29uIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiBzaGFwZT1cImNsb3NlXCI+PC9ldm8taWNvbj5cbjwvZGl2PlxuXG4iXX0=
1
+ import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
2
+ import { EvoSidebarCloseTargets } from '../enums/evo-sidebar-close-targets';
3
+ import { SidebarInjectionToken } from '../sidebar-injection-token';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../evo-icon/evo-icon.component";
6
+ import * as i2 from "@angular/common";
7
+ export class EvoSidebarHeaderComponent {
8
+ constructor(sidebar) {
9
+ this.sidebar = sidebar;
10
+ this.back = new EventEmitter();
11
+ }
12
+ ngOnInit() {
13
+ if (!this.sidebar) {
14
+ throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);
15
+ }
16
+ this.backButton = this.backButton ?? this.sidebar.backButton;
17
+ }
18
+ handleBackClick() {
19
+ this.back.emit();
20
+ }
21
+ closeSidebar() {
22
+ this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);
23
+ }
24
+ }
25
+ EvoSidebarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component });
26
+ EvoSidebarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: "backButton" }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], components: [{ type: i1.EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarHeaderComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'evo-sidebar-header, [evo-sidebar-header]', host: {
30
+ class: 'evo-sidebar__header',
31
+ }, template: "<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
32
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
+ type: Inject,
34
+ args: [SidebarInjectionToken]
35
+ }] }]; }, propDecorators: { backButton: [{
36
+ type: Input
37
+ }], back: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLWhlYWRlci9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItaGVhZGVyL2V2by1zaWRlYmFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVdqRSxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQW1ELE9BQVk7UUFBWixZQUFPLEdBQVAsT0FBTyxDQUFLO1FBRnJELFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRThCLENBQUM7SUFFbkUsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7O3NIQXJCUSx5QkFBeUIsa0JBS2QscUJBQXFCOzBHQUxoQyx5QkFBeUIsa01DYnRDLHVaQWNBOzJGRERhLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDSSwwQ0FBMEMsUUFJOUM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0I7OzBCQU9ZLE1BQU07MkJBQUMscUJBQXFCOzRDQUpoQyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZvU2lkZWJhckNsb3NlVGFyZ2V0c30gZnJvbSAnLi4vZW51bXMvZXZvLXNpZGViYXItY2xvc2UtdGFyZ2V0cyc7XG5pbXBvcnQge1NpZGViYXJJbmplY3Rpb25Ub2tlbn0gZnJvbSAnLi4vc2lkZWJhci1pbmplY3Rpb24tdG9rZW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1zaWRlYmFyLWhlYWRlciwgW2V2by1zaWRlYmFyLWhlYWRlcl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1zaWRlYmFyLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdldm8tc2lkZWJhcl9faGVhZGVyJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFdm9TaWRlYmFySGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBiYWNrQnV0dG9uOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFNpZGViYXJJbmplY3Rpb25Ub2tlbikgcHJpdmF0ZSBzaWRlYmFyOiBhbnkpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpZGViYXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXZvU2lkZWJhckhlYWRlckNvbXBvbmVudCBtdXN0IGJlIHVzZWQgaW5zaWRlIEV2b1NpZGViYXJDb21wb25lbnQgb25seSFgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYmFja0J1dHRvbiA9IHRoaXMuYmFja0J1dHRvbiA/PyB0aGlzLnNpZGViYXIuYmFja0J1dHRvbjtcbiAgICB9XG5cbiAgICBoYW5kbGVCYWNrQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuYmFjay5lbWl0KCk7XG4gICAgfVxuXG4gICAgY2xvc2VTaWRlYmFyKCkge1xuICAgICAgICB0aGlzLnNpZGViYXIuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuQlVUVE9OKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2JhY2tcIlxuICAgICpuZ0lmPVwiYmFja0J1dHRvblwiXG4gICAgKGNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+XG4gICAgPGV2by1pY29uIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiBzaGFwZT1cImNoZXZyb24tbGVmdFwiPjwvZXZvLWljb24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyX190aXRsZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2Nsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+XG4gICAgPGV2by1pY29uIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiBzaGFwZT1cImNsb3NlXCI+PC9ldm8taWNvbj5cbjwvZGl2PlxuXG4iXX0=
@@ -1,21 +1,21 @@
1
- import { EvoPortalService } from '../evo-portal';
2
- import { EvoSidebarComponent } from './evo-sidebar.component';
3
- export class EvoSidebarPortal extends EvoPortalService {
4
- constructor(appRef, injector, cfr) {
5
- super(appRef, injector, cfr);
6
- this.appRef = appRef;
7
- this.injector = injector;
8
- this.cfr = cfr;
9
- }
10
- attach(host) {
11
- this.attachedPortal = this.attachComponent(EvoSidebarComponent, host, this.injector);
12
- }
13
- detach() {
14
- super.detach(this.attachedPortal);
15
- this.attachedPortal = null;
16
- }
17
- hasAttachedPortal() {
18
- return !!this.attachedPortal;
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItcG9ydGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUdsRCxZQUFtQixNQUFzQixFQUFTLFFBQWtCLEVBQVMsR0FBNkI7UUFDdEcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUEwQjtJQUUxRyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTTtRQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RXZvQWJzdHJhY3RQb3J0YWwsIEV2b1BvcnRhbFNlcnZpY2V9IGZyb20gJy4uL2V2by1wb3J0YWwnO1xyXG5pbXBvcnQge0V2b1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vZXZvLXNpZGViYXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBFdm9TaWRlYmFyUG9ydGFsIGV4dGVuZHMgRXZvUG9ydGFsU2VydmljZSBpbXBsZW1lbnRzIEV2b0Fic3RyYWN0UG9ydGFsIHtcclxuICAgIGF0dGFjaGVkUG9ydGFsOiBDb21wb25lbnRSZWY8RXZvU2lkZWJhckNvbXBvbmVudD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsIHB1YmxpYyBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgICAgIHN1cGVyKGFwcFJlZiwgaW5qZWN0b3IsIGNmcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXR0YWNoKGhvc3Q6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuYXR0YWNoZWRQb3J0YWwgPSB0aGlzLmF0dGFjaENvbXBvbmVudChFdm9TaWRlYmFyQ29tcG9uZW50LCBob3N0LCB0aGlzLmluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBkZXRhY2goKSB7XHJcbiAgICAgICAgc3VwZXIuZGV0YWNoKHRoaXMuYXR0YWNoZWRQb3J0YWwpO1xyXG4gICAgICAgIHRoaXMuYXR0YWNoZWRQb3J0YWwgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGhhc0F0dGFjaGVkUG9ydGFsKCkge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuYXR0YWNoZWRQb3J0YWw7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { EvoPortalService } from '../evo-portal';
2
+ import { EvoSidebarComponent } from './evo-sidebar.component';
3
+ export class EvoSidebarPortal extends EvoPortalService {
4
+ constructor(appRef, injector, cfr) {
5
+ super(appRef, injector, cfr);
6
+ this.appRef = appRef;
7
+ this.injector = injector;
8
+ this.cfr = cfr;
9
+ }
10
+ attach(host) {
11
+ this.attachedPortal = this.attachComponent(EvoSidebarComponent, host, this.injector);
12
+ }
13
+ detach() {
14
+ super.detach(this.attachedPortal);
15
+ this.attachedPortal = null;
16
+ }
17
+ hasAttachedPortal() {
18
+ return !!this.attachedPortal;
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItcG9ydGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUdsRCxZQUFtQixNQUFzQixFQUFTLFFBQWtCLEVBQVMsR0FBNkI7UUFDdEcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUEwQjtJQUUxRyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTTtRQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2b0Fic3RyYWN0UG9ydGFsLCBFdm9Qb3J0YWxTZXJ2aWNlfSBmcm9tICcuLi9ldm8tcG9ydGFsJztcbmltcG9ydCB7RXZvU2lkZWJhckNvbXBvbmVudH0gZnJvbSAnLi9ldm8tc2lkZWJhci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhclBvcnRhbCBleHRlbmRzIEV2b1BvcnRhbFNlcnZpY2UgaW1wbGVtZW50cyBFdm9BYnN0cmFjdFBvcnRhbCB7XG4gICAgYXR0YWNoZWRQb3J0YWw6IENvbXBvbmVudFJlZjxFdm9TaWRlYmFyQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLCBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLCBwdWJsaWMgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoYXBwUmVmLCBpbmplY3RvciwgY2ZyKTtcbiAgICB9XG5cbiAgICBhdHRhY2goaG9zdDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYXR0YWNoZWRQb3J0YWwgPSB0aGlzLmF0dGFjaENvbXBvbmVudChFdm9TaWRlYmFyQ29tcG9uZW50LCBob3N0LCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG5cbiAgICBkZXRhY2goKSB7XG4gICAgICAgIHN1cGVyLmRldGFjaCh0aGlzLmF0dGFjaGVkUG9ydGFsKTtcbiAgICAgICAgdGhpcy5hdHRhY2hlZFBvcnRhbCA9IG51bGw7XG4gICAgfVxuXG4gICAgaGFzQXR0YWNoZWRQb3J0YWwoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuYXR0YWNoZWRQb3J0YWw7XG4gICAgfVxufVxuIl19
@@ -1,172 +1,172 @@
1
- // tslint:disable-next-line:max-line-length
2
- import { Component, EventEmitter, forwardRef, Injector, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
3
- import { fromEvent, Subject } from 'rxjs';
4
- import { delay, filter, takeUntil, takeWhile, tap } from 'rxjs/operators';
5
- import { enterZone } from '../../operators';
6
- import { EVO_SIDEBAR_DATA, evoSidebarRootId } from './tokens';
7
- import { sidebarAnimation } from '../../common/animations/sidebar.animation';
8
- import { EvoSidebarCloseTargets } from './enums/evo-sidebar-close-targets';
9
- import { EvoSidebarStates } from './enums/evo-sidebar-states';
10
- import { EvoSidebarSizes } from './enums/evo-sidebar-sizes';
11
- import { SidebarInjectionToken } from './sidebar-injection-token';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "./evo-sidebar.service";
15
- import * as i3 from "./evo-sidebar-header/evo-sidebar-header.component";
16
- import * as i4 from "./evo-sidebar-content/evo-sidebar-content.component";
17
- import * as i5 from "./evo-sidebar-footer/evo-sidebar-footer.component";
18
- import * as i6 from "../../directives/evo-ui-class.directive";
19
- export class EvoSidebarComponent {
20
- constructor(zone, location, componentFactoryResolver, sidebarService, cdr) {
21
- this.zone = zone;
22
- this.location = location;
23
- this.componentFactoryResolver = componentFactoryResolver;
24
- this.sidebarService = sidebarService;
25
- this.cdr = cdr;
26
- this.size = EvoSidebarSizes.NORMAL;
27
- this.back = new EventEmitter();
28
- this.isVisible = false;
29
- this.isDynamicContent = false;
30
- this.closeTargets = EvoSidebarCloseTargets;
31
- this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
32
- this.destroy$ = new Subject();
33
- }
34
- ngOnDestroy() {
35
- this.clearView();
36
- this.sidebarService.deregister(this.id);
37
- this.locationSubscription?.unsubscribe();
38
- this.destroy$.next();
39
- this.destroy$.complete();
40
- }
41
- ngOnInit() {
42
- if (!this.id) {
43
- this.id = evoSidebarRootId;
44
- }
45
- this.sidebarService.register(this.id);
46
- this.sidebarService
47
- .getEventsSubscription(this.id, true)
48
- .pipe(
49
- // async hack to avoid "Expression has changed after it was checked" error
50
- delay(0), takeUntil(this.destroy$))
51
- .subscribe((sidebarState) => {
52
- const { isOpen, params } = sidebarState;
53
- if (isOpen) {
54
- this.subscribeToKeyEvent();
55
- }
56
- else {
57
- this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
58
- }
59
- // Dynamic content strategy
60
- if (isOpen && params?.component) {
61
- const { component, closeOnNavigation, size, data } = params;
62
- this.isDynamicContent = true;
63
- this.insertComponent(component, data);
64
- if (size) {
65
- this.size = size;
66
- }
67
- if (!this.locationSubscription && closeOnNavigation !== false) {
68
- this.closeOnLocationUpdates();
69
- }
70
- }
71
- this.isVisible = isOpen;
72
- this.cdr.markForCheck();
73
- });
74
- }
75
- get currentState() {
76
- return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
77
- }
78
- get totalClasses() {
79
- const classes = [];
80
- if (this.isVisible) {
81
- classes.push(EvoSidebarStates.VISIBLE);
82
- }
83
- classes.push(this.size ?? EvoSidebarSizes.NORMAL);
84
- return classes;
85
- }
86
- closeSidebar(source) {
87
- this.isVisible = false;
88
- this.closeTarget = source;
89
- }
90
- handleAnimationDone(event) {
91
- const isClosed = event.fromState === EvoSidebarStates.VISIBLE;
92
- if (isClosed && !this.isVisible) {
93
- this.sidebarService.close(this.id, { closeTarget: this.closeTarget });
94
- this.clearView();
95
- if (this.id === evoSidebarRootId) {
96
- this.sidebarService.deregister(evoSidebarRootId);
97
- this.sidebarService.cleanupDefaultHost();
98
- }
99
- }
100
- }
101
- handleBackClick() {
102
- this.back.emit();
103
- }
104
- subscribeToKeyEvent() {
105
- this.zone.runOutsideAngular(() => {
106
- fromEvent(document.body, 'keyup')
107
- .pipe(takeWhile(() => this.isVisible), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
108
- .subscribe();
109
- });
110
- }
111
- insertComponent(component, data) {
112
- this.clearView();
113
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(component);
114
- const injector = Injector.create({
115
- providers: [
116
- {
117
- provide: EVO_SIDEBAR_DATA,
118
- useValue: data,
119
- },
120
- {
121
- provide: SidebarInjectionToken,
122
- useValue: this,
123
- },
124
- ],
125
- });
126
- this.dynamicComponentRef = this.contentContainer.createComponent(componentFactory, 0, injector);
127
- }
128
- clearView() {
129
- if (!this.dynamicComponentRef) {
130
- return;
131
- }
132
- this.contentContainer.clear();
133
- this.dynamicComponentRef = null;
134
- }
135
- closeOnLocationUpdates() {
136
- this.locationSubscription = this.location.subscribe(() => {
137
- this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);
138
- });
139
- }
140
- }
141
- EvoSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarComponent, deps: [{ token: i0.NgZone }, { token: i1.Location }, { token: i0.ComponentFactoryResolver }, { token: i2.EvoSidebarService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
142
- EvoSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSidebarComponent, selector: "evo-sidebar", inputs: { backButton: "backButton", id: "id", header: "header", size: "size", relativeFooter: "relativeFooter" }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"], components: [{ type: i3.EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: ["backButton"], outputs: ["back"] }, { type: i4.EvoSidebarContentComponent, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: ["relativeFooter"] }, { type: i5.EvoSidebarFooterComponent, selector: "evo-sidebar-footer, [evo-sidebar-footer]" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }], viewProviders: [
143
- {
144
- provide: SidebarInjectionToken,
145
- useExisting: forwardRef(() => EvoSidebarComponent),
146
- },
147
- ], animations: [sidebarAnimation] });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarComponent, decorators: [{
149
- type: Component,
150
- args: [{ selector: 'evo-sidebar', animations: [sidebarAnimation], viewProviders: [
151
- {
152
- provide: SidebarInjectionToken,
153
- useExisting: forwardRef(() => EvoSidebarComponent),
154
- },
155
- ], template: "<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"] }]
156
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Location }, { type: i0.ComponentFactoryResolver }, { type: i2.EvoSidebarService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentContainer: [{
157
- type: ViewChild,
158
- args: ['sidebarContentContainer', { read: ViewContainerRef }]
159
- }], backButton: [{
160
- type: Input
161
- }], id: [{
162
- type: Input
163
- }], header: [{
164
- type: Input
165
- }], size: [{
166
- type: Input
167
- }], relativeFooter: [{
168
- type: Input
169
- }], back: [{
170
- type: Output
171
- }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLE9BQU8sRUFFSCxTQUFTLEVBR1QsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUcxRCxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWNoRSxNQUFNLE9BQU8sbUJB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QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0hBcEtRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHdTQUNpQixnQkFBZ0IsNkJDN0NqRSx1MEJBOEJBLDJzQ0RPbUI7UUFDWDtZQUNJLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUNyRDtLQUNKLGNBTlcsQ0FBQyxnQkFBZ0IsQ0FBQzsyRkFRckIsbUJBQW1CO2tCQVovQixTQUFTOytCQUNJLGFBQWEsY0FHWCxDQUFDLGdCQUFnQixDQUFDLGlCQUNmO3dCQUNYOzRCQUNJLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDO3lCQUNyRDtxQkFDSjsyTkFJRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQztnQkFHckQsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgQ29tcG9uZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBUeXBlLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbkxpa2V9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0V2b1NpZGViYXJTZXJ2aWNlfSBmcm9tICcuL2V2by1zaWRlYmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FuaW1hdGlvbkV2ZW50fSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtkZWxheSwgZmlsdGVyLCB0YWtlVW50aWwsIHRha2VXaGlsZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7ZW50ZXJab25lfSBmcm9tICcuLi8uLi9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0V2b1NpZGViYXJTdGF0ZX0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtFVk9fU0lERUJBUl9EQVRBLCBldm9TaWRlYmFyUm9vdElkfSBmcm9tICcuL3Rva2Vucyc7XHJcbmltcG9ydCB7c2lkZWJhckFuaW1hdGlvbn0gZnJvbSAnLi4vLi4vY29tbW9uL2FuaW1hdGlvbnMvc2lkZWJhci5hbmltYXRpb24nO1xyXG5pbXBvcnQge0V2b1NpZGViYXJDbG9zZVRhcmdldHN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItY2xvc2UtdGFyZ2V0cyc7XHJcbmltcG9ydCB7RXZvU2lkZWJhclN0YXRlc30gZnJvbSAnLi9lbnVtcy9ldm8tc2lkZWJhci1zdGF0ZXMnO1xyXG5pbXBvcnQge0V2b1NpZGViYXJTaXplc30gZnJvbSAnLi9lbnVtcy9ldm8tc2lkZWJhci1zaXplcyc7XHJcbmltcG9ydCB7U2lkZWJhckluamVjdGlvblRva2VufSBmcm9tICcuL3NpZGViYXItaW5qZWN0aW9uLXRva2VuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhcicsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGFuaW1hdGlvbnM6IFtzaWRlYmFyQW5pbWF0aW9uXSxcclxuICAgIHZpZXdQcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFNpZGViYXJJbmplY3Rpb25Ub2tlbixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXZvU2lkZWJhckNvbXBvbmVudCksXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdm9TaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnc2lkZWJhckNvbnRlbnRDb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXHJcbiAgICBjb250ZW50Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICAgIEBJbnB1dCgpIGJhY2tCdXR0b246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzaXplOiBFdm9TaWRlYmFyU2l6ZXMgPSBFdm9TaWRlYmFyU2l6ZXMuTk9STUFMO1xyXG4gICAgQElucHV0KCkgcmVsYXRpdmVGb290ZXI6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgaXNWaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgaXNEeW5hbWljQ29udGVudCA9IGZhbHNlO1xyXG5cclxuICAgIHJlYWRvbmx5IGNsb3NlVGFyZ2V0cyA9IEV2b1NpZGViYXJDbG9zZVRhcmdldHM7XHJcblxyXG4gICAgcHJpdmF0ZSBjbG9zZVRhcmdldDogRXZvU2lkZWJhckNsb3NlVGFyZ2V0cyA9IEV2b1NpZGViYXJDbG9zZVRhcmdldHMuREVGQVVMVDtcclxuXHJcbiAgICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICAgIHByaXZhdGUgbG9jYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbkxpa2U7XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICBwdWJsaWMgc2lkZWJhclNlcnZpY2U6IEV2b1NpZGViYXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xyXG4gICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuZGVyZWdpc3Rlcih0aGlzLmlkKTtcclxuICAgICAgICB0aGlzLmxvY2F0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pZCA9IGV2b1NpZGViYXJSb290SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UucmVnaXN0ZXIodGhpcy5pZCk7XHJcbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZVxyXG4gICAgICAgICAgICAuZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKHRoaXMuaWQsIHRydWUpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgLy8gYXN5bmMgaGFjayB0byBhdm9pZCBcIkV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWRcIiBlcnJvclxyXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc2lkZWJhclN0YXRlOiBFdm9TaWRlYmFyU3RhdGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHtpc09wZW4sIHBhcmFtc30gPSBzaWRlYmFyU3RhdGU7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNPcGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0tleUV2ZW50KCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VUYXJnZXQgPSBFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkRFRkFVTFQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gRHluYW1pYyBjb250ZW50IHN0cmF0ZWd5XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNPcGVuICYmIHBhcmFtcz8uY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qge2NvbXBvbmVudCwgY2xvc2VPbk5hdmlnYXRpb24sIHNpemUsIGRhdGF9ID0gcGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEeW5hbWljQ29udGVudCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnNlcnRDb21wb25lbnQoY29tcG9uZW50LCBkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpemUgPSBzaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24gJiYgY2xvc2VPbk5hdmlnYXRpb24gIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPbkxvY2F0aW9uVXBkYXRlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGlzT3BlbjtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY3VycmVudFN0YXRlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlID8gRXZvU2lkZWJhclN0YXRlcy5WSVNJQkxFIDogRXZvU2lkZWJhclN0YXRlcy5ISURERU47XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHRvdGFsQ2xhc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChFdm9TaWRlYmFyU3RhdGVzLlZJU0lCTEUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuc2l6ZSA/PyBFdm9TaWRlYmFyU2l6ZXMuTk9STUFMKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2VTaWRlYmFyKHNvdXJjZTogRXZvU2lkZWJhckNsb3NlVGFyZ2V0cykge1xyXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbG9zZVRhcmdldCA9IHNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVBbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGlzQ2xvc2VkID0gZXZlbnQuZnJvbVN0YXRlID09PSBFdm9TaWRlYmFyU3RhdGVzLlZJU0lCTEU7XHJcblxyXG4gICAgICAgIGlmIChpc0Nsb3NlZCAmJiAhdGhpcy5pc1Zpc2libGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5jbG9zZSh0aGlzLmlkLCB7Y2xvc2VUYXJnZXQ6IHRoaXMuY2xvc2VUYXJnZXR9KTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhclZpZXcoKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaWQgPT09IGV2b1NpZGViYXJSb290SWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuZGVyZWdpc3Rlcihldm9TaWRlYmFyUm9vdElkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuY2xlYW51cERlZmF1bHRIb3N0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQmFja0NsaWNrKCkge1xyXG4gICAgICAgIHRoaXMuYmFjay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb0tleUV2ZW50KCkge1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGZyb21FdmVudChkb2N1bWVudC5ib2R5LCAna2V5dXAnKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuaXNWaXNpYmxlKSxcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5jb2RlID09PSAnRXNjYXBlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgZW50ZXJab25lKHRoaXMuem9uZSksXHJcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuRVNDKSksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbnNlcnRDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPGFueT4sIGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJWaWV3KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxDb21wb25lbnQ+KGNvbXBvbmVudCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVWT19TSURFQkFSX0RBVEEsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGRhdGEsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFNpZGViYXJJbmplY3Rpb25Ub2tlbixcclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZiA9IHRoaXMuY29udGVudENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2xlYXJWaWV3KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5keW5hbWljQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb250ZW50Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UmVmID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlT25Mb2NhdGlvblVwZGF0ZXMoKSB7XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMubG9jYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZVNpZGViYXIoRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5ERUZBVUxUKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2JhY2tncm91bmRcIlxuICAgICAqbmdJZj1cImlzVmlzaWJsZVwiXG4gICAgIChjbGljayk9XCJjbG9zZVNpZGViYXIoY2xvc2VUYXJnZXRzLkJBQ0tHUk9VTkQpXCJcbj48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyXCJcbiAgICAgW0BvcGVuXT1cImN1cnJlbnRTdGF0ZVwiXG4gICAgIChAb3Blbi5kb25lKT1cImhhbmRsZUFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgIFtldm9VaUNsYXNzXT1cInRvdGFsQ2xhc3Nlc1wiXG4+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NpZGViYXJDb250ZW50Q29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRHluYW1pY0NvbnRlbnRcIj5cblxuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWhlYWRlclxuICAgICAgICAgICAgW2JhY2tCdXR0b25dPVwiYmFja0J1dHRvblwiXG4gICAgICAgICAgICAoYmFjayk9XCJoYW5kbGVCYWNrQ2xpY2soKVwiXG4gICAgICAgICAgICA+e3sgaGVhZGVyIH19PC9kaXY+XG5cbiAgICAgICAgPGRpdiBldm8tc2lkZWJhci1jb250ZW50XG4gICAgICAgICAgICBbcmVsYXRpdmVGb290ZXJdPVwicmVsYXRpdmVGb290ZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWZvb3Rlcj48bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD48L2Rpdj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
1
+ // tslint:disable-next-line:max-line-length
2
+ import { Component, EventEmitter, forwardRef, Injector, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
3
+ import { fromEvent, Subject } from 'rxjs';
4
+ import { delay, filter, takeUntil, takeWhile, tap } from 'rxjs/operators';
5
+ import { enterZone } from '../../operators';
6
+ import { EVO_SIDEBAR_DATA, evoSidebarRootId } from './tokens';
7
+ import { sidebarAnimation } from '../../common/animations/sidebar.animation';
8
+ import { EvoSidebarCloseTargets } from './enums/evo-sidebar-close-targets';
9
+ import { EvoSidebarStates } from './enums/evo-sidebar-states';
10
+ import { EvoSidebarSizes } from './enums/evo-sidebar-sizes';
11
+ import { SidebarInjectionToken } from './sidebar-injection-token';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common";
14
+ import * as i2 from "./evo-sidebar.service";
15
+ import * as i3 from "./evo-sidebar-header/evo-sidebar-header.component";
16
+ import * as i4 from "./evo-sidebar-content/evo-sidebar-content.component";
17
+ import * as i5 from "./evo-sidebar-footer/evo-sidebar-footer.component";
18
+ import * as i6 from "../../directives/evo-ui-class.directive";
19
+ export class EvoSidebarComponent {
20
+ constructor(zone, location, componentFactoryResolver, sidebarService, cdr) {
21
+ this.zone = zone;
22
+ this.location = location;
23
+ this.componentFactoryResolver = componentFactoryResolver;
24
+ this.sidebarService = sidebarService;
25
+ this.cdr = cdr;
26
+ this.size = EvoSidebarSizes.NORMAL;
27
+ this.back = new EventEmitter();
28
+ this.isVisible = false;
29
+ this.isDynamicContent = false;
30
+ this.closeTargets = EvoSidebarCloseTargets;
31
+ this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
32
+ this.destroy$ = new Subject();
33
+ }
34
+ ngOnDestroy() {
35
+ this.clearView();
36
+ this.sidebarService.deregister(this.id);
37
+ this.locationSubscription?.unsubscribe();
38
+ this.destroy$.next();
39
+ this.destroy$.complete();
40
+ }
41
+ ngOnInit() {
42
+ if (!this.id) {
43
+ this.id = evoSidebarRootId;
44
+ }
45
+ this.sidebarService.register(this.id);
46
+ this.sidebarService
47
+ .getEventsSubscription(this.id, true)
48
+ .pipe(
49
+ // async hack to avoid "Expression has changed after it was checked" error
50
+ delay(0), takeUntil(this.destroy$))
51
+ .subscribe((sidebarState) => {
52
+ const { isOpen, params } = sidebarState;
53
+ if (isOpen) {
54
+ this.subscribeToKeyEvent();
55
+ }
56
+ else {
57
+ this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
58
+ }
59
+ // Dynamic content strategy
60
+ if (isOpen && params?.component) {
61
+ const { component, closeOnNavigation, size, data } = params;
62
+ this.isDynamicContent = true;
63
+ this.insertComponent(component, data);
64
+ if (size) {
65
+ this.size = size;
66
+ }
67
+ if (!this.locationSubscription && closeOnNavigation !== false) {
68
+ this.closeOnLocationUpdates();
69
+ }
70
+ }
71
+ this.isVisible = isOpen;
72
+ this.cdr.markForCheck();
73
+ });
74
+ }
75
+ get currentState() {
76
+ return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
77
+ }
78
+ get totalClasses() {
79
+ const classes = [];
80
+ if (this.isVisible) {
81
+ classes.push(EvoSidebarStates.VISIBLE);
82
+ }
83
+ classes.push(this.size ?? EvoSidebarSizes.NORMAL);
84
+ return classes;
85
+ }
86
+ closeSidebar(source) {
87
+ this.isVisible = false;
88
+ this.closeTarget = source;
89
+ }
90
+ handleAnimationDone(event) {
91
+ const isClosed = event.fromState === EvoSidebarStates.VISIBLE;
92
+ if (isClosed && !this.isVisible) {
93
+ this.sidebarService.close(this.id, { closeTarget: this.closeTarget });
94
+ this.clearView();
95
+ if (this.id === evoSidebarRootId) {
96
+ this.sidebarService.deregister(evoSidebarRootId);
97
+ this.sidebarService.cleanupDefaultHost();
98
+ }
99
+ }
100
+ }
101
+ handleBackClick() {
102
+ this.back.emit();
103
+ }
104
+ subscribeToKeyEvent() {
105
+ this.zone.runOutsideAngular(() => {
106
+ fromEvent(document.body, 'keyup')
107
+ .pipe(takeWhile(() => this.isVisible), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
108
+ .subscribe();
109
+ });
110
+ }
111
+ insertComponent(component, data) {
112
+ this.clearView();
113
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(component);
114
+ const injector = Injector.create({
115
+ providers: [
116
+ {
117
+ provide: EVO_SIDEBAR_DATA,
118
+ useValue: data,
119
+ },
120
+ {
121
+ provide: SidebarInjectionToken,
122
+ useValue: this,
123
+ },
124
+ ],
125
+ });
126
+ this.dynamicComponentRef = this.contentContainer.createComponent(componentFactory, 0, injector);
127
+ }
128
+ clearView() {
129
+ if (!this.dynamicComponentRef) {
130
+ return;
131
+ }
132
+ this.contentContainer.clear();
133
+ this.dynamicComponentRef = null;
134
+ }
135
+ closeOnLocationUpdates() {
136
+ this.locationSubscription = this.location.subscribe(() => {
137
+ this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);
138
+ });
139
+ }
140
+ }
141
+ EvoSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarComponent, deps: [{ token: i0.NgZone }, { token: i1.Location }, { token: i0.ComponentFactoryResolver }, { token: i2.EvoSidebarService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
142
+ EvoSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoSidebarComponent, selector: "evo-sidebar", inputs: { backButton: "backButton", id: "id", header: "header", size: "size", relativeFooter: "relativeFooter" }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"], components: [{ type: i3.EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: ["backButton"], outputs: ["back"] }, { type: i4.EvoSidebarContentComponent, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: ["relativeFooter"] }, { type: i5.EvoSidebarFooterComponent, selector: "evo-sidebar-footer, [evo-sidebar-footer]" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }], viewProviders: [
143
+ {
144
+ provide: SidebarInjectionToken,
145
+ useExisting: forwardRef(() => EvoSidebarComponent),
146
+ },
147
+ ], animations: [sidebarAnimation] });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoSidebarComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: 'evo-sidebar', animations: [sidebarAnimation], viewProviders: [
151
+ {
152
+ provide: SidebarInjectionToken,
153
+ useExisting: forwardRef(() => EvoSidebarComponent),
154
+ },
155
+ ], template: "<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"] }]
156
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Location }, { type: i0.ComponentFactoryResolver }, { type: i2.EvoSidebarService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentContainer: [{
157
+ type: ViewChild,
158
+ args: ['sidebarContentContainer', { read: ViewContainerRef }]
159
+ }], backButton: [{
160
+ type: Input
161
+ }], id: [{
162
+ type: Input
163
+ }], header: [{
164
+ type: Input
165
+ }], size: [{
166
+ type: Input
167
+ }], relativeFooter: [{
168
+ type: Input
169
+ }], back: [{
170
+ type: Output
171
+ }] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLE9BQU8sRUFFSCxTQUFTLEVBR1QsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUcxRCxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWNoRSxNQUFNLE9BQU8sbUJB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QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0hBcEtRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHdTQUNpQixnQkFBZ0IsNkJDN0NqRSx1MEJBOEJBLDJzQ0RPbUI7UUFDWDtZQUNJLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUNyRDtLQUNKLGNBTlcsQ0FBQyxnQkFBZ0IsQ0FBQzsyRkFRckIsbUJBQW1CO2tCQVovQixTQUFTOytCQUNJLGFBQWEsY0FHWCxDQUFDLGdCQUFnQixDQUFDLGlCQUNmO3dCQUNYOzRCQUNJLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDO3lCQUNyRDtxQkFDSjsyTkFJRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQztnQkFHckQsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbkxpa2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFdm9TaWRlYmFyU2VydmljZX0gZnJvbSAnLi9ldm8tc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7QW5pbWF0aW9uRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtkZWxheSwgZmlsdGVyLCB0YWtlVW50aWwsIHRha2VXaGlsZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2VudGVyWm9uZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3JzJztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b1NpZGViYXJTdGF0ZX0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVZPX1NJREVCQVJfREFUQSwgZXZvU2lkZWJhclJvb3RJZH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHtzaWRlYmFyQW5pbWF0aW9ufSBmcm9tICcuLi8uLi9jb21tb24vYW5pbWF0aW9ucy9zaWRlYmFyLmFuaW1hdGlvbic7XG5pbXBvcnQge0V2b1NpZGViYXJDbG9zZVRhcmdldHN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItY2xvc2UtdGFyZ2V0cyc7XG5pbXBvcnQge0V2b1NpZGViYXJTdGF0ZXN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItc3RhdGVzJztcbmltcG9ydCB7RXZvU2lkZWJhclNpemVzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLXNpemVzJztcbmltcG9ydCB7U2lkZWJhckluamVjdGlvblRva2VufSBmcm9tICcuL3NpZGViYXItaW5qZWN0aW9uLXRva2VuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFtzaWRlYmFyQW5pbWF0aW9uXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNpZGViYXJJbmplY3Rpb25Ub2tlbixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b1NpZGViYXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b1NpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2lkZWJhckNvbnRlbnRDb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gICAgY29udGVudENvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIEBJbnB1dCgpIGJhY2tCdXR0b246IGJvb2xlYW47XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBzaXplOiBFdm9TaWRlYmFyU2l6ZXMgPSBFdm9TaWRlYmFyU2l6ZXMuTk9STUFMO1xuICAgIEBJbnB1dCgpIHJlbGF0aXZlRm9vdGVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpc1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGlzRHluYW1pY0NvbnRlbnQgPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IGNsb3NlVGFyZ2V0cyA9IEV2b1NpZGViYXJDbG9zZVRhcmdldHM7XG5cbiAgICBwcml2YXRlIGNsb3NlVGFyZ2V0OiBFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzID0gRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5ERUZBVUxUO1xuXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIHByaXZhdGUgbG9jYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbkxpa2U7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHB1YmxpYyBzaWRlYmFyU2VydmljZTogRXZvU2lkZWJhclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhclZpZXcoKTtcbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5kZXJlZ2lzdGVyKHRoaXMuaWQpO1xuICAgICAgICB0aGlzLmxvY2F0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBldm9TaWRlYmFyUm9vdElkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UucmVnaXN0ZXIodGhpcy5pZCk7XG4gICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRFdmVudHNTdWJzY3JpcHRpb24odGhpcy5pZCwgdHJ1ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIGFzeW5jIGhhY2sgdG8gYXZvaWQgXCJFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkXCIgZXJyb3JcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzaWRlYmFyU3RhdGU6IEV2b1NpZGViYXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtpc09wZW4sIHBhcmFtc30gPSBzaWRlYmFyU3RhdGU7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZVRvS2V5RXZlbnQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlVGFyZ2V0ID0gRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5ERUZBVUxUO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIER5bmFtaWMgY29udGVudCBzdHJhdGVneVxuICAgICAgICAgICAgICAgIGlmIChpc09wZW4gJiYgcGFyYW1zPy5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qge2NvbXBvbmVudCwgY2xvc2VPbk5hdmlnYXRpb24sIHNpemUsIGRhdGF9ID0gcGFyYW1zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHluYW1pY0NvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc2VydENvbXBvbmVudChjb21wb25lbnQsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24gJiYgY2xvc2VPbk5hdmlnYXRpb24gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT25Mb2NhdGlvblVwZGF0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gaXNPcGVuO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRTdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUgPyBFdm9TaWRlYmFyU3RhdGVzLlZJU0lCTEUgOiBFdm9TaWRlYmFyU3RhdGVzLkhJRERFTjtcbiAgICB9XG5cbiAgICBnZXQgdG90YWxDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChFdm9TaWRlYmFyU3RhdGVzLlZJU0lCTEUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuc2l6ZSA/PyBFdm9TaWRlYmFyU2l6ZXMuTk9STUFMKTtcblxuICAgICAgICByZXR1cm4gY2xhc3NlcztcbiAgICB9XG5cbiAgICBjbG9zZVNpZGViYXIoc291cmNlOiBFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzKSB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xvc2VUYXJnZXQgPSBzb3VyY2U7XG4gICAgfVxuXG4gICAgaGFuZGxlQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgY29uc3QgaXNDbG9zZWQgPSBldmVudC5mcm9tU3RhdGUgPT09IEV2b1NpZGViYXJTdGF0ZXMuVklTSUJMRTtcblxuICAgICAgICBpZiAoaXNDbG9zZWQgJiYgIXRoaXMuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLmNsb3NlKHRoaXMuaWQsIHtjbG9zZVRhcmdldDogdGhpcy5jbG9zZVRhcmdldH0pO1xuICAgICAgICAgICAgdGhpcy5jbGVhclZpZXcoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkID09PSBldm9TaWRlYmFyUm9vdElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5kZXJlZ2lzdGVyKGV2b1NpZGViYXJSb290SWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuY2xlYW51cERlZmF1bHRIb3N0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVCYWNrQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuYmFjay5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb0tleUV2ZW50KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdrZXl1cCcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmlzVmlzaWJsZSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSxcbiAgICAgICAgICAgICAgICAgICAgZW50ZXJab25lKHRoaXMuem9uZSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNsb3NlU2lkZWJhcihFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkVTQykpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0Q29tcG9uZW50KGNvbXBvbmVudDogVHlwZTxhbnk+LCBkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbGVhclZpZXcoKTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnk8Q29tcG9uZW50Pihjb21wb25lbnQpO1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVWT19TSURFQkFSX0RBVEEsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBkYXRhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBTaWRlYmFySW5qZWN0aW9uVG9rZW4sXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRSZWYgPSB0aGlzLmNvbnRlbnRDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyVmlldygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmR5bmFtaWNDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlT25Mb2NhdGlvblVwZGF0ZXMoKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmxvY2F0aW9uLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU2lkZWJhcihFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkRFRkFVTFQpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2JhY2tncm91bmRcIlxuICAgICAqbmdJZj1cImlzVmlzaWJsZVwiXG4gICAgIChjbGljayk9XCJjbG9zZVNpZGViYXIoY2xvc2VUYXJnZXRzLkJBQ0tHUk9VTkQpXCJcbj48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyXCJcbiAgICAgW0BvcGVuXT1cImN1cnJlbnRTdGF0ZVwiXG4gICAgIChAb3Blbi5kb25lKT1cImhhbmRsZUFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgIFtldm9VaUNsYXNzXT1cInRvdGFsQ2xhc3Nlc1wiXG4+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NpZGViYXJDb250ZW50Q29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRHluYW1pY0NvbnRlbnRcIj5cblxuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWhlYWRlclxuICAgICAgICAgICAgW2JhY2tCdXR0b25dPVwiYmFja0J1dHRvblwiXG4gICAgICAgICAgICAoYmFjayk9XCJoYW5kbGVCYWNrQ2xpY2soKVwiXG4gICAgICAgICAgICA+e3sgaGVhZGVyIH19PC9kaXY+XG5cbiAgICAgICAgPGRpdiBldm8tc2lkZWJhci1jb250ZW50XG4gICAgICAgICAgICBbcmVsYXRpdmVGb290ZXJdPVwicmVsYXRpdmVGb290ZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWZvb3Rlcj48bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD48L2Rpdj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=