@evotor-dev/ui-kit 8.0.0-beta.1 → 8.0.0-beta.11

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 (502) hide show
  1. package/{esm2020 → esm2022}/lib/common/collection/evo-collection-fabric.mjs +1 -1
  2. package/esm2022/lib/common/evo-base-control.mjs +46 -0
  3. package/esm2022/lib/common/form-helper/form-helper.mjs +31 -0
  4. package/esm2022/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +31 -0
  5. package/{esm2020 → esm2022}/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.mjs +5 -5
  6. package/esm2022/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +57 -0
  7. package/{esm2020 → esm2022}/lib/components/evo-accordion/evo-accordion.component.mjs +5 -5
  8. package/esm2022/lib/components/evo-accordion/evo-accordion.module.mjs +64 -0
  9. package/esm2022/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +358 -0
  10. package/esm2022/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +43 -0
  11. package/{esm2020 → esm2022}/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +21 -21
  12. package/esm2022/lib/components/evo-autocomplete/models/DaDataParty.mjs +28 -0
  13. package/esm2022/lib/components/evo-badge/evo-badge.component.mjs +40 -0
  14. package/{esm2020 → esm2022}/lib/components/evo-badge/evo-badge.module.mjs +7 -7
  15. package/{esm2020 → esm2022}/lib/components/evo-button/components/evo-button/evo-button.component.mjs +14 -14
  16. package/esm2022/lib/components/evo-button/evo-button.module.mjs +20 -0
  17. package/{esm2020 → esm2022}/lib/components/evo-button/public-api.mjs +1 -2
  18. package/esm2022/lib/components/evo-checkbox/evo-checkbox.component.mjs +86 -0
  19. package/{esm2020 → esm2022}/lib/components/evo-checkbox/evo-checkbox.module.mjs +11 -11
  20. package/esm2022/lib/components/evo-chip/evo-chip.component.mjs +130 -0
  21. package/esm2022/lib/components/evo-chip/evo-chip.module.mjs +43 -0
  22. package/esm2022/lib/components/evo-control-error/evo-control-error.component.mjs +41 -0
  23. package/{esm2020 → esm2022}/lib/components/evo-control-error/evo-control-error.module.mjs +9 -9
  24. package/{esm2020 → esm2022}/lib/components/evo-control-label/evo-control-label.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/components/evo-control-label/evo-control-label.module.mjs +5 -5
  26. package/esm2022/lib/components/evo-counter/evo-counter.component.mjs +38 -0
  27. package/{esm2020 → esm2022}/lib/components/evo-counter/evo-counter.module.mjs +7 -7
  28. package/esm2022/lib/components/evo-datepicker/evo-datepicker.component.mjs +561 -0
  29. package/{esm2020 → esm2022}/lib/components/evo-datepicker/evo-datepicker.module.mjs +11 -11
  30. package/esm2022/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +41 -0
  31. package/esm2022/lib/components/evo-dropdown/evo-dropdown.component.mjs +107 -0
  32. package/{esm2020 → esm2022}/lib/components/evo-dropdown/evo-dropdown.module.mjs +5 -5
  33. package/esm2022/lib/components/evo-icon/evo-icon.component.mjs +56 -0
  34. package/{esm2020 → esm2022}/lib/components/evo-icon/evo-icon.module.mjs +5 -5
  35. package/esm2022/lib/components/evo-icon-button/evo-icon-button.component.mjs +48 -0
  36. package/{esm2020 → esm2022}/lib/components/evo-icon-button/evo-icon-button.module.mjs +5 -5
  37. package/esm2022/lib/components/evo-icon-button/types/evo-icon-button-color.mjs +2 -0
  38. package/esm2022/lib/components/evo-icon-button/types/index.mjs +3 -0
  39. package/esm2022/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.mjs +14 -0
  40. package/{esm2020 → esm2022}/lib/components/evo-icon-number/evo-icon-number.module.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.mjs +4 -4
  42. package/esm2022/lib/components/evo-input/evo-input.component.mjs +358 -0
  43. package/esm2022/lib/components/evo-input/evo-input.module.mjs +64 -0
  44. package/esm2022/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +150 -0
  45. package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.mjs +9 -9
  46. package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/utils/clear-multiline.mjs +1 -1
  47. package/{esm2020 → esm2022}/lib/components/evo-loader/evo-circular-loader.component.mjs +4 -4
  48. package/esm2022/lib/components/evo-loader/evo-loader.module.mjs +25 -0
  49. package/{esm2020 → esm2022}/lib/components/evo-loader/public-api.mjs +1 -2
  50. package/esm2022/lib/components/evo-modal/evo-modal.component.mjs +127 -0
  51. package/{esm2020 → esm2022}/lib/components/evo-modal/evo-modal.module.mjs +9 -9
  52. package/{esm2020 → esm2022}/lib/components/evo-modal/evo-modal.service.mjs +4 -4
  53. package/esm2022/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +58 -0
  54. package/esm2022/lib/components/evo-navbar/evo-navbar.component.mjs +46 -0
  55. package/{esm2020 → esm2022}/lib/components/evo-navbar/evo-navbar.module.mjs +5 -5
  56. package/{esm2020 → esm2022}/lib/components/evo-navigation-button/evo-navigation-button.component.mjs +5 -5
  57. package/esm2022/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +43 -0
  58. package/esm2022/lib/components/evo-note/evo-note.component.mjs +40 -0
  59. package/esm2022/lib/components/evo-note/evo-note.module.mjs +43 -0
  60. package/esm2022/lib/components/evo-paginator/evo-paginator.component.mjs +109 -0
  61. package/{esm2020 → esm2022}/lib/components/evo-paginator/evo-paginator.module.mjs +5 -5
  62. package/{esm2020 → esm2022}/lib/components/evo-plus-minus/evo-plus-minus.component.mjs +6 -6
  63. package/{esm2020 → esm2022}/lib/components/evo-plus-minus/evo-plus-minus.module.mjs +5 -5
  64. package/esm2022/lib/components/evo-popover/evo-popover.component.mjs +173 -0
  65. package/{esm2020 → esm2022}/lib/components/evo-popover/evo-popover.module.mjs +7 -7
  66. package/{esm2020 → esm2022}/lib/components/evo-portal/evo-portal-outlet.directive.mjs +5 -5
  67. package/{esm2020 → esm2022}/lib/components/evo-portal/evo-portal.module.mjs +7 -7
  68. package/esm2022/lib/components/evo-portal/evo-portal.service.mjs +92 -0
  69. package/esm2022/lib/components/evo-radio/evo-radio.component.mjs +51 -0
  70. package/{esm2020 → esm2022}/lib/components/evo-radio/evo-radio.module.mjs +7 -7
  71. package/esm2022/lib/components/evo-radio-group/evo-radio-group.component.mjs +123 -0
  72. package/{esm2020 → esm2022}/lib/components/evo-radio-group/evo-radio-group.module.mjs +11 -11
  73. package/esm2022/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +56 -0
  74. package/{esm2020 → esm2022}/lib/components/evo-radioshape/evo-radioshape.module.mjs +9 -9
  75. package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.mjs +5 -5
  76. package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +77 -0
  77. package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/evo-segmented-bar.module.mjs +5 -5
  78. package/esm2022/lib/components/evo-select/evo-select.component.mjs +115 -0
  79. package/{esm2020 → esm2022}/lib/components/evo-select/evo-select.module.mjs +11 -11
  80. package/esm2022/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +33 -0
  81. package/{esm2020 → esm2022}/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.mjs +4 -4
  82. package/esm2022/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +40 -0
  83. package/esm2022/lib/components/evo-sidebar/evo-sidebar.component.mjs +172 -0
  84. package/esm2022/lib/components/evo-sidebar/evo-sidebar.module.mjs +88 -0
  85. package/esm2022/lib/components/evo-sidebar/evo-sidebar.service.mjs +105 -0
  86. package/{esm2020 → esm2022}/lib/components/evo-stepper/evo-stepper-events.mjs +4 -4
  87. package/esm2022/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +31 -0
  88. package/esm2022/lib/components/evo-stepper/evo-stepper.component.mjs +67 -0
  89. package/{esm2020 → esm2022}/lib/components/evo-stepper/evo-stepper.module.mjs +7 -7
  90. package/esm2022/lib/components/evo-submenu/evo-submenu.component.mjs +159 -0
  91. package/{esm2020 → esm2022}/lib/components/evo-submenu/evo-submenu.module.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.mjs +4 -4
  93. package/{esm2020 → esm2022}/lib/components/evo-switcher/evo-switcher.component.mjs +6 -6
  94. package/{esm2020 → esm2022}/lib/components/evo-switcher/evo-switcher.module.mjs +7 -7
  95. package/esm2022/lib/components/evo-table/evo-table/evo-table.component.mjs +67 -0
  96. package/{esm2020 → esm2022}/lib/components/evo-table/evo-table-column/evo-table-column.component.mjs +5 -5
  97. package/{esm2020 → esm2022}/lib/components/evo-table/evo-table.module.mjs +5 -5
  98. package/esm2022/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +88 -0
  99. package/esm2022/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +37 -0
  100. package/esm2022/lib/components/evo-tabs/evo-tab-state.collection.mjs +43 -0
  101. package/esm2022/lib/components/evo-tabs/evo-tabs-size.service.mjs +24 -0
  102. package/esm2022/lib/components/evo-tabs/evo-tabs.component.mjs +83 -0
  103. package/{esm2020 → esm2022}/lib/components/evo-tabs/evo-tabs.module.mjs +7 -7
  104. package/esm2022/lib/components/evo-tabs/evo-tabs.service.mjs +67 -0
  105. package/esm2022/lib/components/evo-textarea/evo-textarea.component.mjs +79 -0
  106. package/{esm2020 → esm2022}/lib/components/evo-textarea/evo-textarea.module.mjs +13 -13
  107. package/esm2022/lib/components/evo-toast/evo-toast.component.mjs +98 -0
  108. package/esm2022/lib/components/evo-toast/evo-toast.module.mjs +43 -0
  109. package/esm2022/lib/components/evo-toast/evo-toast.service.mjs +49 -0
  110. package/esm2022/lib/components/evo-toggle/evo-toggle.component.mjs +64 -0
  111. package/{esm2020 → esm2022}/lib/components/evo-toggle/evo-toggle.module.mjs +9 -9
  112. package/esm2022/lib/components/evo-upload/evo-upload.component.mjs +287 -0
  113. package/esm2022/lib/components/evo-upload/evo-upload.module.mjs +61 -0
  114. package/esm2022/lib/directives/evo-click-outside.directive.mjs +40 -0
  115. package/esm2022/lib/directives/evo-is-expanded.directive.mjs +71 -0
  116. package/{esm2020 → esm2022}/lib/directives/evo-let/evo-let.directive.mjs +6 -6
  117. package/esm2022/lib/directives/evo-ui-class.directive.mjs +169 -0
  118. package/{esm2020 → esm2022}/lib/evo-ui-kit.module.mjs +21 -21
  119. package/esm2022/lib/pipes/declination.pipe.mjs +40 -0
  120. package/{esm2020 → esm2022}/lib/pipes/evo-pipes.module.mjs +5 -5
  121. package/{esm2020 → esm2022}/lib/pipes/safe-html.pipe.mjs +5 -5
  122. package/esm2022/lib/services/evo-expanded.service.mjs +23 -0
  123. package/esm2022/lib/services/window.service.mjs +49 -0
  124. package/esm2022/public_api.mjs +72 -0
  125. package/{fesm2020 → fesm2022}/evotor-dev-ui-kit.mjs +956 -1289
  126. package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -0
  127. package/lib/common/evo-base-control.d.ts +1 -1
  128. package/lib/common/types/evo-color.d.ts +1 -1
  129. package/lib/common/types/evo-size.d.ts +1 -1
  130. package/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.d.ts +1 -1
  131. package/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.d.ts +1 -1
  132. package/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.d.ts +1 -1
  133. package/lib/components/evo-accordion/evo-accordion.component.d.ts +1 -1
  134. package/lib/components/evo-autocomplete/components/evo-autocomplete.component.d.ts +5 -5
  135. package/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.d.ts +1 -1
  136. package/lib/components/evo-autocomplete/types/evo-autocomplete-size.d.ts +1 -1
  137. package/lib/components/evo-badge/evo-badge.component.d.ts +1 -1
  138. package/lib/components/evo-badge/types/evo-badge-color.d.ts +1 -1
  139. package/lib/components/evo-badge/types/evo-badge-size.d.ts +1 -1
  140. package/lib/components/evo-button/components/evo-button/evo-button.component.d.ts +1 -1
  141. package/lib/components/evo-button/evo-button.module.d.ts +4 -5
  142. package/lib/components/evo-button/public-api.d.ts +0 -1
  143. package/lib/components/evo-button/types/evo-button-color.d.ts +1 -1
  144. package/lib/components/evo-button/types/evo-button-shape.d.ts +1 -1
  145. package/lib/components/evo-button/types/evo-button-size.d.ts +1 -1
  146. package/lib/components/evo-button/types/evo-button-theme-params.d.ts +1 -1
  147. package/lib/components/evo-button/types/evo-button-theme.d.ts +1 -1
  148. package/lib/components/evo-checkbox/evo-checkbox.component.d.ts +1 -1
  149. package/lib/components/evo-chip/evo-chip.component.d.ts +3 -3
  150. package/lib/components/evo-control-error/evo-control-error.component.d.ts +1 -1
  151. package/lib/components/evo-control-label/evo-control-label.component.d.ts +1 -1
  152. package/lib/components/evo-counter/evo-counter.component.d.ts +1 -1
  153. package/lib/components/evo-datepicker/evo-datepicker.component.d.ts +2 -2
  154. package/lib/components/evo-dropdown/evo-dropdown-origin.directive.d.ts +1 -1
  155. package/lib/components/evo-dropdown/evo-dropdown.component.d.ts +2 -2
  156. package/lib/components/evo-dropdown/types/evo-dropdown-positions.d.ts +1 -1
  157. package/lib/components/evo-icon/evo-icon.component.d.ts +1 -1
  158. package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +3 -13
  159. package/lib/components/evo-icon-button/types/evo-icon-button-color.d.ts +2 -0
  160. package/lib/components/evo-icon-button/types/evo-icon-button-size.d.ts +1 -1
  161. package/lib/components/evo-icon-button/types/index.d.ts +2 -0
  162. package/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.d.ts +1 -1
  163. package/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.d.ts +1 -1
  164. package/lib/components/evo-input/evo-input.component.d.ts +1 -1
  165. package/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.d.ts +1 -1
  166. package/lib/components/evo-loader/evo-circular-loader.component.d.ts +1 -1
  167. package/lib/components/evo-loader/evo-loader.module.d.ts +4 -5
  168. package/lib/components/evo-loader/public-api.d.ts +0 -1
  169. package/lib/components/evo-modal/evo-modal.component.d.ts +1 -1
  170. package/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.d.ts +1 -1
  171. package/lib/components/evo-navbar/evo-navbar.component.d.ts +1 -1
  172. package/lib/components/evo-navbar/types/nav-item.d.ts +1 -1
  173. package/lib/components/evo-navigation-button/evo-navigation-button.component.d.ts +1 -1
  174. package/lib/components/evo-note/evo-note.component.d.ts +1 -1
  175. package/lib/components/evo-note/types/evo-note-type.d.ts +1 -1
  176. package/lib/components/evo-paginator/evo-paginator.component.d.ts +1 -1
  177. package/lib/components/evo-plus-minus/evo-plus-minus.component.d.ts +1 -1
  178. package/lib/components/evo-popover/evo-popover.component.d.ts +2 -2
  179. package/lib/components/evo-portal/evo-portal-outlet.directive.d.ts +1 -1
  180. package/lib/components/evo-portal/evo-portal.service.d.ts +1 -1
  181. package/lib/components/evo-radio/evo-radio.component.d.ts +1 -1
  182. package/lib/components/evo-radio-group/evo-radio-group.component.d.ts +1 -1
  183. package/lib/components/evo-radioshape/components/evo-radioshape.component.d.ts +1 -1
  184. package/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.d.ts +1 -1
  185. package/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.d.ts +1 -1
  186. package/lib/components/evo-select/evo-select.component.d.ts +1 -1
  187. package/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.d.ts +1 -1
  188. package/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.d.ts +1 -1
  189. package/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.d.ts +1 -1
  190. package/lib/components/evo-sidebar/evo-sidebar.component.d.ts +1 -1
  191. package/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.d.ts +1 -1
  192. package/lib/components/evo-stepper/evo-stepper.component.d.ts +1 -1
  193. package/lib/components/evo-submenu/evo-submenu.component.d.ts +1 -1
  194. package/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.d.ts +1 -1
  195. package/lib/components/evo-switcher/evo-switcher.component.d.ts +1 -1
  196. package/lib/components/evo-table/evo-table/evo-table.component.d.ts +1 -1
  197. package/lib/components/evo-table/evo-table-column/evo-table-column.component.d.ts +1 -1
  198. package/lib/components/evo-tabs/evo-tab/evo-tab.component.d.ts +3 -3
  199. package/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.d.ts +1 -1
  200. package/lib/components/evo-tabs/evo-tabs.component.d.ts +1 -1
  201. package/lib/components/evo-textarea/evo-textarea.component.d.ts +1 -1
  202. package/lib/components/evo-toast/evo-toast.component.d.ts +1 -1
  203. package/lib/components/evo-toggle/evo-toggle.component.d.ts +1 -1
  204. package/lib/components/evo-upload/evo-upload.component.d.ts +1 -1
  205. package/lib/components/evo-upload/evo-upload.module.d.ts +2 -2
  206. package/lib/directives/evo-click-outside.directive.d.ts +1 -1
  207. package/lib/directives/evo-is-expanded.directive.d.ts +1 -1
  208. package/lib/directives/evo-let/evo-let.directive.d.ts +1 -1
  209. package/lib/directives/evo-ui-class.directive.d.ts +2 -2
  210. package/package.json +43 -65
  211. package/public_api.d.ts +0 -2
  212. package/styles/components/evo-form.scss +2 -2
  213. package/styles/components/evo-title.scss +4 -4
  214. package/styles/main.scss +0 -1
  215. package/styles/mixins/_evo-input-mixins.scss +0 -6
  216. package/styles/mixins.scss +0 -42
  217. package/styles/variables.scss +0 -8
  218. package/esm2020/lib/common/evo-base-control.mjs +0 -46
  219. package/esm2020/lib/common/form-helper/form-helper.mjs +0 -31
  220. package/esm2020/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +0 -31
  221. package/esm2020/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +0 -57
  222. package/esm2020/lib/components/evo-accordion/evo-accordion.module.mjs +0 -64
  223. package/esm2020/lib/components/evo-alert/evo-alert.component.mjs +0 -79
  224. package/esm2020/lib/components/evo-alert/evo-alert.module.mjs +0 -27
  225. package/esm2020/lib/components/evo-alert/index.mjs +0 -2
  226. package/esm2020/lib/components/evo-alert/public-api.mjs +0 -3
  227. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +0 -358
  228. package/esm2020/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +0 -43
  229. package/esm2020/lib/components/evo-autocomplete/models/DaDataParty.mjs +0 -28
  230. package/esm2020/lib/components/evo-badge/evo-badge.component.mjs +0 -40
  231. package/esm2020/lib/components/evo-banner/evo-banner.component.mjs +0 -109
  232. package/esm2020/lib/components/evo-banner/evo-banner.module.mjs +0 -23
  233. package/esm2020/lib/components/evo-banner/index.mjs +0 -2
  234. package/esm2020/lib/components/evo-banner/public-api.mjs +0 -3
  235. package/esm2020/lib/components/evo-button/components/evo-button-old/evo-button-old.component.mjs +0 -91
  236. package/esm2020/lib/components/evo-button/evo-button.module.mjs +0 -21
  237. package/esm2020/lib/components/evo-checkbox/evo-checkbox.component.mjs +0 -86
  238. package/esm2020/lib/components/evo-chip/evo-chip.component.mjs +0 -130
  239. package/esm2020/lib/components/evo-chip/evo-chip.module.mjs +0 -43
  240. package/esm2020/lib/components/evo-control-error/evo-control-error.component.mjs +0 -41
  241. package/esm2020/lib/components/evo-counter/evo-counter.component.mjs +0 -38
  242. package/esm2020/lib/components/evo-datepicker/evo-datepicker.component.mjs +0 -561
  243. package/esm2020/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +0 -41
  244. package/esm2020/lib/components/evo-dropdown/evo-dropdown.component.mjs +0 -107
  245. package/esm2020/lib/components/evo-icon/evo-icon.component.mjs +0 -56
  246. package/esm2020/lib/components/evo-icon-button/evo-icon-button.component.mjs +0 -64
  247. package/esm2020/lib/components/evo-icon-button/types/evo-icon-button-theme.mjs +0 -2
  248. package/esm2020/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.mjs +0 -14
  249. package/esm2020/lib/components/evo-input/evo-input.component.mjs +0 -358
  250. package/esm2020/lib/components/evo-input/evo-input.module.mjs +0 -64
  251. package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +0 -150
  252. package/esm2020/lib/components/evo-loader/evo-loader.component.mjs +0 -27
  253. package/esm2020/lib/components/evo-loader/evo-loader.module.mjs +0 -31
  254. package/esm2020/lib/components/evo-modal/evo-modal.component.mjs +0 -127
  255. package/esm2020/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +0 -58
  256. package/esm2020/lib/components/evo-navbar/evo-navbar.component.mjs +0 -46
  257. package/esm2020/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +0 -43
  258. package/esm2020/lib/components/evo-note/evo-note.component.mjs +0 -40
  259. package/esm2020/lib/components/evo-note/evo-note.module.mjs +0 -43
  260. package/esm2020/lib/components/evo-paginator/evo-paginator.component.mjs +0 -109
  261. package/esm2020/lib/components/evo-popover/evo-popover.component.mjs +0 -173
  262. package/esm2020/lib/components/evo-portal/evo-portal.service.mjs +0 -92
  263. package/esm2020/lib/components/evo-radio/evo-radio.component.mjs +0 -51
  264. package/esm2020/lib/components/evo-radio-group/evo-radio-group.component.mjs +0 -123
  265. package/esm2020/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +0 -56
  266. package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +0 -77
  267. package/esm2020/lib/components/evo-select/evo-select.component.mjs +0 -115
  268. package/esm2020/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +0 -33
  269. package/esm2020/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +0 -40
  270. package/esm2020/lib/components/evo-sidebar/evo-sidebar.component.mjs +0 -172
  271. package/esm2020/lib/components/evo-sidebar/evo-sidebar.module.mjs +0 -88
  272. package/esm2020/lib/components/evo-sidebar/evo-sidebar.service.mjs +0 -105
  273. package/esm2020/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +0 -31
  274. package/esm2020/lib/components/evo-stepper/evo-stepper.component.mjs +0 -67
  275. package/esm2020/lib/components/evo-submenu/evo-submenu.component.mjs +0 -159
  276. package/esm2020/lib/components/evo-table/evo-table/evo-table.component.mjs +0 -67
  277. package/esm2020/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +0 -88
  278. package/esm2020/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +0 -37
  279. package/esm2020/lib/components/evo-tabs/evo-tab-state.collection.mjs +0 -43
  280. package/esm2020/lib/components/evo-tabs/evo-tabs-size.service.mjs +0 -24
  281. package/esm2020/lib/components/evo-tabs/evo-tabs.component.mjs +0 -83
  282. package/esm2020/lib/components/evo-tabs/evo-tabs.service.mjs +0 -67
  283. package/esm2020/lib/components/evo-textarea/evo-textarea.component.mjs +0 -79
  284. package/esm2020/lib/components/evo-toast/evo-toast.component.mjs +0 -98
  285. package/esm2020/lib/components/evo-toast/evo-toast.module.mjs +0 -43
  286. package/esm2020/lib/components/evo-toast/evo-toast.service.mjs +0 -49
  287. package/esm2020/lib/components/evo-toggle/evo-toggle.component.mjs +0 -64
  288. package/esm2020/lib/components/evo-upload/evo-upload.component.mjs +0 -287
  289. package/esm2020/lib/components/evo-upload/evo-upload.module.mjs +0 -57
  290. package/esm2020/lib/directives/evo-click-outside.directive.mjs +0 -40
  291. package/esm2020/lib/directives/evo-is-expanded.directive.mjs +0 -71
  292. package/esm2020/lib/directives/evo-ui-class.directive.mjs +0 -159
  293. package/esm2020/lib/pipes/declination.pipe.mjs +0 -40
  294. package/esm2020/lib/services/evo-expanded.service.mjs +0 -23
  295. package/esm2020/lib/services/window.service.mjs +0 -49
  296. package/esm2020/public_api.mjs +0 -74
  297. package/fesm2015/evotor-dev-ui-kit.mjs +0 -7385
  298. package/fesm2015/evotor-dev-ui-kit.mjs.map +0 -1
  299. package/fesm2020/evotor-dev-ui-kit-icons-category.mjs +0 -68
  300. package/fesm2020/evotor-dev-ui-kit-icons-category.mjs.map +0 -1
  301. package/fesm2020/evotor-dev-ui-kit-icons-emotions.mjs +0 -24
  302. package/fesm2020/evotor-dev-ui-kit-icons-emotions.mjs.map +0 -1
  303. package/fesm2020/evotor-dev-ui-kit-icons-header.mjs +0 -34
  304. package/fesm2020/evotor-dev-ui-kit-icons-header.mjs.map +0 -1
  305. package/fesm2020/evotor-dev-ui-kit-icons-info.mjs +0 -46
  306. package/fesm2020/evotor-dev-ui-kit-icons-info.mjs.map +0 -1
  307. package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs +0 -62
  308. package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs.map +0 -1
  309. package/fesm2020/evotor-dev-ui-kit-icons-side-menu.mjs +0 -70
  310. package/fesm2020/evotor-dev-ui-kit-icons-side-menu.mjs.map +0 -1
  311. package/fesm2020/evotor-dev-ui-kit-icons-system.mjs +0 -378
  312. package/fesm2020/evotor-dev-ui-kit-icons-system.mjs.map +0 -1
  313. package/fesm2020/evotor-dev-ui-kit-icons.mjs +0 -648
  314. package/fesm2020/evotor-dev-ui-kit-icons.mjs.map +0 -1
  315. package/fesm2020/evotor-dev-ui-kit.mjs.map +0 -1
  316. package/lib/components/evo-alert/evo-alert.component.d.ts +0 -38
  317. package/lib/components/evo-alert/evo-alert.module.d.ts +0 -9
  318. package/lib/components/evo-alert/index.d.ts +0 -1
  319. package/lib/components/evo-alert/public-api.d.ts +0 -2
  320. package/lib/components/evo-banner/evo-banner.component.d.ts +0 -46
  321. package/lib/components/evo-banner/evo-banner.module.d.ts +0 -9
  322. package/lib/components/evo-banner/index.d.ts +0 -1
  323. package/lib/components/evo-banner/public-api.d.ts +0 -2
  324. package/lib/components/evo-button/components/evo-button-old/evo-button-old.component.d.ts +0 -39
  325. package/lib/components/evo-icon-button/types/evo-icon-button-theme.d.ts +0 -1
  326. package/lib/components/evo-loader/evo-loader.component.d.ts +0 -14
  327. package/styles/components/evo-alert.scss +0 -64
  328. /package/{esm2020 → esm2022}/evotor-dev-ui-kit.mjs +0 -0
  329. /package/{esm2020 → esm2022}/icons/category/evotor-dev-ui-kit-icons-category.mjs +0 -0
  330. /package/{esm2020 → esm2022}/icons/category/index.mjs +0 -0
  331. /package/{esm2020 → esm2022}/icons/emotions/evotor-dev-ui-kit-icons-emotions.mjs +0 -0
  332. /package/{esm2020 → esm2022}/icons/emotions/index.mjs +0 -0
  333. /package/{esm2020 → esm2022}/icons/evotor-dev-ui-kit-icons.mjs +0 -0
  334. /package/{esm2020 → esm2022}/icons/header/evotor-dev-ui-kit-icons-header.mjs +0 -0
  335. /package/{esm2020 → esm2022}/icons/header/index.mjs +0 -0
  336. /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
  337. /package/{esm2020 → esm2022}/icons/info/evotor-dev-ui-kit-icons-info.mjs +0 -0
  338. /package/{esm2020 → esm2022}/icons/info/index.mjs +0 -0
  339. /package/{esm2020 → esm2022}/icons/navigation/evotor-dev-ui-kit-icons-navigation.mjs +0 -0
  340. /package/{esm2020 → esm2022}/icons/navigation/index.mjs +0 -0
  341. /package/{esm2020 → esm2022}/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.mjs +0 -0
  342. /package/{esm2020 → esm2022}/icons/side-menu/index.mjs +0 -0
  343. /package/{esm2020 → esm2022}/icons/system/evotor-dev-ui-kit-icons-system.mjs +0 -0
  344. /package/{esm2020 → esm2022}/icons/system/index.mjs +0 -0
  345. /package/{esm2020 → esm2022}/lib/common/Serializable.mjs +0 -0
  346. /package/{esm2020 → esm2022}/lib/common/animations/expand.animation.mjs +0 -0
  347. /package/{esm2020 → esm2022}/lib/common/animations/index.mjs +0 -0
  348. /package/{esm2020 → esm2022}/lib/common/animations/sidebar.animation.mjs +0 -0
  349. /package/{esm2020 → esm2022}/lib/common/animations/skip-initial-render.animation.mjs +0 -0
  350. /package/{esm2020 → esm2022}/lib/common/collection/evo-collection.mjs +0 -0
  351. /package/{esm2020 → esm2022}/lib/common/collection/index.mjs +0 -0
  352. /package/{esm2020 → esm2022}/lib/common/constants/css-breakpoints.mjs +0 -0
  353. /package/{esm2020 → esm2022}/lib/common/constants/view-breakpoint-streams.mjs +0 -0
  354. /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-state-manager.mjs +0 -0
  355. /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-state.interface.mjs +0 -0
  356. /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-states.enum.mjs +0 -0
  357. /package/{esm2020 → esm2022}/lib/common/types/evo-color.mjs +0 -0
  358. /package/{esm2020 → esm2022}/lib/common/types/evo-size.mjs +0 -0
  359. /package/{esm2020 → esm2022}/lib/common/types/index.mjs +0 -0
  360. /package/{esm2020 → esm2022}/lib/components/evo-accordion/index.mjs +0 -0
  361. /package/{esm2020 → esm2022}/lib/components/evo-accordion/public-api.mjs +0 -0
  362. /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/helpers/switch-query-to-list.mjs +0 -0
  363. /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/index.mjs +0 -0
  364. /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/models/dadata.model.mjs +0 -0
  365. /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/public-api.mjs +0 -0
  366. /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/types/evo-autocomplete-size.mjs +0 -0
  367. /package/{esm2020 → esm2022}/lib/components/evo-badge/index.mjs +0 -0
  368. /package/{esm2020 → esm2022}/lib/components/evo-badge/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/lib/components/evo-badge/types/evo-badge-color.mjs +0 -0
  370. /package/{esm2020 → esm2022}/lib/components/evo-badge/types/evo-badge-size.mjs +0 -0
  371. /package/{esm2020 → esm2022}/lib/components/evo-badge/types/index.mjs +0 -0
  372. /package/{esm2020 → esm2022}/lib/components/evo-button/constants/evo-button-themes-map.mjs +0 -0
  373. /package/{esm2020 → esm2022}/lib/components/evo-button/index.mjs +0 -0
  374. /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-color.mjs +0 -0
  375. /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-shape.mjs +0 -0
  376. /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-size.mjs +0 -0
  377. /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-theme-params.mjs +0 -0
  378. /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-theme.mjs +0 -0
  379. /package/{esm2020 → esm2022}/lib/components/evo-button/types/index.mjs +0 -0
  380. /package/{esm2020 → esm2022}/lib/components/evo-checkbox/index.mjs +0 -0
  381. /package/{esm2020 → esm2022}/lib/components/evo-checkbox/public-api.mjs +0 -0
  382. /package/{esm2020 → esm2022}/lib/components/evo-chip/index.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/evo-chip/public-api.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/evo-control-error/index.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/evo-control-error/public-api.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/evo-control-label/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/evo-control-label/public-api.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/evo-counter/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/evo-counter/public-api.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/components/evo-datepicker/flatpickr-options.interface.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/components/evo-datepicker/index.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/components/evo-datepicker/public-api.mjs +0 -0
  393. /package/{esm2020 → esm2022}/lib/components/evo-datepicker/templates/index.mjs +0 -0
  394. /package/{esm2020 → esm2022}/lib/components/evo-dropdown/evo-dropdown-position-description.mjs +0 -0
  395. /package/{esm2020 → esm2022}/lib/components/evo-dropdown/index.mjs +0 -0
  396. /package/{esm2020 → esm2022}/lib/components/evo-dropdown/public-api.mjs +0 -0
  397. /package/{esm2020 → esm2022}/lib/components/evo-dropdown/types/evo-dropdown-positions.mjs +0 -0
  398. /package/{esm2020 → esm2022}/lib/components/evo-icon/classes/evo-icons-library.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/components/evo-icon/index.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/components/evo-icon/interfaces/icons-category.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/components/evo-icon/interfaces/icons-source.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/components/evo-icon/public-api.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/components/evo-icon-button/index.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/components/evo-icon-button/public-api.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/components/evo-icon-button/types/evo-icon-button-size.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/components/evo-icon-number/index.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/components/evo-icon-number/public-api.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/components/evo-input/index.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/components/evo-input/public-api.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/index.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/public-api.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/components/evo-loader/index.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/components/evo-modal/index.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/components/evo-modal/public-api.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/components/evo-navbar/index.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item-main-info.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item-router-link.mjs +0 -0
  418. /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item.href.mjs +0 -0
  419. /package/{esm2020 → esm2022}/lib/components/evo-navbar/public-api.mjs +0 -0
  420. /package/{esm2020 → esm2022}/lib/components/evo-navbar/types/nav-item.mjs +0 -0
  421. /package/{esm2020 → esm2022}/lib/components/evo-navigation-button/index.mjs +0 -0
  422. /package/{esm2020 → esm2022}/lib/components/evo-navigation-button/public-api.mjs +0 -0
  423. /package/{esm2020 → esm2022}/lib/components/evo-note/index.mjs +0 -0
  424. /package/{esm2020 → esm2022}/lib/components/evo-note/public.api.mjs +0 -0
  425. /package/{esm2020 → esm2022}/lib/components/evo-note/types/evo-note-type.mjs +0 -0
  426. /package/{esm2020 → esm2022}/lib/components/evo-paginator/index.mjs +0 -0
  427. /package/{esm2020 → esm2022}/lib/components/evo-paginator/public-api.mjs +0 -0
  428. /package/{esm2020 → esm2022}/lib/components/evo-plus-minus/index.mjs +0 -0
  429. /package/{esm2020 → esm2022}/lib/components/evo-plus-minus/public-api.mjs +0 -0
  430. /package/{esm2020 → esm2022}/lib/components/evo-popover/index.mjs +0 -0
  431. /package/{esm2020 → esm2022}/lib/components/evo-popover/public-api.mjs +0 -0
  432. /package/{esm2020 → esm2022}/lib/components/evo-portal/evo-portal-outlet.class.mjs +0 -0
  433. /package/{esm2020 → esm2022}/lib/components/evo-portal/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/lib/components/evo-portal/public-api.mjs +0 -0
  435. /package/{esm2020 → esm2022}/lib/components/evo-radio/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/components/evo-radio/public-api.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/components/evo-radio-group/index.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/components/evo-radio-group/public-api.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/components/evo-radio-group/typings/options.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/components/evo-radioshape/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/components/evo-radioshape/public-api.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/public-api.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/components/evo-select/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/components/evo-select/public-api.mjs +0 -0
  446. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.mjs +0 -0
  447. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-sizes.mjs +0 -0
  448. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-states.mjs +0 -0
  449. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/evo-sidebar-portal.mjs +0 -0
  450. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/index.mjs +0 -0
  451. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/interfaces.mjs +0 -0
  452. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/public-api.mjs +0 -0
  453. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/sidebar-injection-token.mjs +0 -0
  454. /package/{esm2020 → esm2022}/lib/components/evo-sidebar/tokens.mjs +0 -0
  455. /package/{esm2020 → esm2022}/lib/components/evo-stepper/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/lib/components/evo-stepper/public-api.mjs +0 -0
  457. /package/{esm2020 → esm2022}/lib/components/evo-submenu/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/lib/components/evo-submenu/public-api.mjs +0 -0
  459. /package/{esm2020 → esm2022}/lib/components/evo-switcher/index.mjs +0 -0
  460. /package/{esm2020 → esm2022}/lib/components/evo-switcher/public-api.mjs +0 -0
  461. /package/{esm2020 → esm2022}/lib/components/evo-table/index.mjs +0 -0
  462. /package/{esm2020 → esm2022}/lib/components/evo-table/public-api.mjs +0 -0
  463. /package/{esm2020 → esm2022}/lib/components/evo-tabs/enums/evo-tabs-size.mjs +0 -0
  464. /package/{esm2020 → esm2022}/lib/components/evo-tabs/index.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/components/evo-tabs/public-api.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/components/evo-textarea/index.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/components/evo-textarea/public-api.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/components/evo-toast/index.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/components/evo-toast/public-api.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/components/evo-toggle/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/components/evo-toggle/public-api.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/components/evo-upload/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/components/evo-upload/public-api.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/decorators/deprecate-method.decorator.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/decorators/deprecate-variable.decorator.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/decorators/index.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/decorators/public-api.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/operators/enter-zone.operator.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/operators/index.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/operators/public-api.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/pipes/public-api.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
  487. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-category.mjs +0 -0
  488. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-category.mjs.map +0 -0
  489. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-emotions.mjs +0 -0
  490. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-emotions.mjs.map +0 -0
  491. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-header.mjs +0 -0
  492. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-header.mjs.map +0 -0
  493. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-info.mjs +0 -0
  494. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-info.mjs.map +0 -0
  495. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-navigation.mjs +0 -0
  496. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-navigation.mjs.map +0 -0
  497. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-side-menu.mjs +0 -0
  498. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-side-menu.mjs.map +0 -0
  499. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-system.mjs +0 -0
  500. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-system.mjs.map +0 -0
  501. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons.mjs +0 -0
  502. /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons.mjs.map +0 -0
@@ -1,287 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR, UntypedFormControl, } from '@angular/forms';
4
- import autobind from 'autobind-decorator';
5
- import bytes from 'bytes';
6
- import * as mime from 'mime';
7
- import { EvoBaseControl } from '../../common/evo-base-control';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "../evo-alert/evo-alert.component";
12
- import * as i4 from "../evo-button/components/evo-button/evo-button.component";
13
- import * as i5 from "../evo-icon/evo-icon.component";
14
- import * as i6 from "../../directives/evo-ui-class.directive";
15
- import * as i7 from "../../pipes/declination.pipe";
16
- import * as i8 from "../../pipes/safe-html.pipe";
17
- export class EvoUploadComponent extends EvoBaseControl {
18
- constructor(formBuilder, injector) {
19
- super(injector);
20
- this.formBuilder = formBuilder;
21
- this.injector = injector;
22
- this.dropZoneLabel = 'Перетащите сюда файлы для загрузки';
23
- this.hideClearButton = false;
24
- this.hideSubmitButton = false;
25
- this.clickableFiles = false;
26
- this.earlyValidation = false;
27
- this.loading = false;
28
- this.submit = new EventEmitter();
29
- this.addFiles = new EventEmitter();
30
- this.remove = new EventEmitter();
31
- this.clickFile = new EventEmitter();
32
- this.isDisabled = false;
33
- this.filesForm = this.formBuilder.array([], [this.maxFilesValidator]);
34
- this.states = {
35
- isDragOver: false,
36
- };
37
- this.onChange = (value) => { };
38
- this.onTouched = () => { };
39
- }
40
- set accept(extensions) {
41
- if (extensions) {
42
- this.acceptedMimeTypes = extensions
43
- .split(',')
44
- .map(extension => mime.getType(extension));
45
- }
46
- }
47
- set fileSizeLimit(fileSize) {
48
- this.filesSizeLimitText = fileSize;
49
- this.filesSizeLimitInBytes = bytes(fileSize);
50
- }
51
- ngOnInit() {
52
- this.subscribeOnFormChanges();
53
- }
54
- ngAfterContentInit() {
55
- this.mergeControlsErrors();
56
- }
57
- registerOnChange(fn) {
58
- this.onChange = fn;
59
- }
60
- registerOnTouched(fn) {
61
- this.onTouched = fn;
62
- }
63
- setDisabledState(isDisabled) {
64
- this.isDisabled = isDisabled;
65
- if (!isDisabled) {
66
- this.mergeControlsErrors();
67
- }
68
- }
69
- writeValue(fileList) {
70
- if (fileList && fileList.length > 0) {
71
- if (fileList instanceof Array || fileList instanceof FileList) {
72
- this.wipeUploadList();
73
- if (this.earlyValidation) {
74
- this.earlyValidationFn(fileList);
75
- if (this.filesForm.errors) {
76
- return;
77
- }
78
- }
79
- this.processFiles(fileList);
80
- }
81
- else {
82
- throw Error('[EvoUiKit]: wrong initial value passed to "evo-upload" component. Only FileList and File[] are allowed');
83
- }
84
- }
85
- }
86
- getControlError(control) {
87
- if (!control.errors) {
88
- return null;
89
- }
90
- return Object.keys(control.errors)[0];
91
- }
92
- handleDragOver(event) {
93
- event.preventDefault();
94
- event.stopPropagation();
95
- if (this.loading) {
96
- return;
97
- }
98
- this.states.isDragOver = true;
99
- }
100
- handleDragLeave(event) {
101
- event.preventDefault();
102
- event.stopPropagation();
103
- this.states.isDragOver = false;
104
- }
105
- handleDrop(event) {
106
- event.preventDefault();
107
- event.stopPropagation();
108
- const files = event.dataTransfer.files;
109
- this.states.isDragOver = false;
110
- if (files.length) {
111
- if (this.earlyValidation) {
112
- this.earlyValidationFn(files);
113
- if (this.filesForm.errors) {
114
- return;
115
- }
116
- }
117
- this.addFiles.emit(files);
118
- this.processFiles(files);
119
- }
120
- }
121
- handleItemRemove(index) {
122
- if (this.loading || this.isDisabled) {
123
- return;
124
- }
125
- this.filesForm.removeAt(index);
126
- this.remove.emit(index);
127
- }
128
- handleResetButtonClick() {
129
- if (this.loading || this.isDisabled) {
130
- return;
131
- }
132
- this.wipeUploadList();
133
- }
134
- handleSubmitButtonClick() {
135
- this.submit.emit(this.filesForm.value);
136
- }
137
- inputChange(files) {
138
- if (this.earlyValidation) {
139
- this.earlyValidationFn(files);
140
- if (this.filesForm.errors) {
141
- return;
142
- }
143
- }
144
- this.addFiles.emit(files);
145
- this.processFiles(files);
146
- }
147
- earlyValidationFn(files) {
148
- this.filesForm.setErrors(null);
149
- const filesArray = Array.from(files);
150
- const errors = [];
151
- if (this.maxFiles && this.isFilesLengthValid(filesArray)) {
152
- errors.push({ maxFiles: true });
153
- }
154
- if (this.filesSizeLimitInBytes && !this.isFilesSizeValid(filesArray)) {
155
- errors.push({ size: true });
156
- }
157
- if (this.acceptedMimeTypes && !this.isFilesExtensionValid(filesArray)) {
158
- errors.push({ extension: true });
159
- }
160
- if (errors.length) {
161
- this.filesForm.setErrors(Object.assign({}, ...errors));
162
- this.mergeControlsErrors();
163
- }
164
- }
165
- isFilesLengthValid(files) {
166
- return this.maxFiles < (files.length + this.filesForm.controls.length);
167
- }
168
- isFilesSizeValid(files) {
169
- return !files.some(({ size }) => this.filesSizeLimitInBytes < size);
170
- }
171
- isFilesExtensionValid(files) {
172
- return files.every(({ type }) => {
173
- return this.acceptedMimeTypes.includes(type);
174
- });
175
- }
176
- processFiles(files) {
177
- if (this.loading) {
178
- return;
179
- }
180
- Array.from(files).forEach((file) => {
181
- this.filesForm.push(new UntypedFormControl(file, [this.fileExtensionValidator, this.fileSizeValidator]));
182
- });
183
- if (this.inputFileElement && this.inputFileElement.nativeElement) {
184
- this.inputFileElement.nativeElement.value = '';
185
- }
186
- }
187
- wipeUploadList() {
188
- while (this.filesForm.controls.length) {
189
- this.filesForm.removeAt(0);
190
- }
191
- }
192
- mergeControlsErrors() {
193
- if (!this.control) {
194
- return;
195
- }
196
- const errors = Object.assign({}, this.filesForm.errors);
197
- this.filesForm.controls.forEach((control) => {
198
- Object.assign(errors, control.errors);
199
- });
200
- this.control.setErrors(Object.keys(errors).length ? errors : null);
201
- }
202
- subscribeOnFormChanges() {
203
- this.filesForm.valueChanges.subscribe((value) => {
204
- this.onChange(value);
205
- this.mergeControlsErrors();
206
- });
207
- }
208
- fileSizeValidator(control) {
209
- if (!this.filesSizeLimitInBytes) {
210
- return null;
211
- }
212
- return control.value.size > this.filesSizeLimitInBytes ? { size: true } : null;
213
- }
214
- fileExtensionValidator(control) {
215
- if (!this.acceptedMimeTypes) {
216
- return null;
217
- }
218
- const fileType = control.value.type;
219
- const isExtensionAllowed = this.acceptedMimeTypes.includes(fileType);
220
- return isExtensionAllowed ? null : { extension: true };
221
- }
222
- maxFilesValidator(control) {
223
- if (!this.maxFiles) {
224
- return;
225
- }
226
- return control.controls.length > this.maxFiles ? { maxFiles: true } : null;
227
- }
228
- }
229
- EvoUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
230
- EvoUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EvoUploadComponent, selector: "evo-upload", inputs: { accept: "accept", dropZoneLabel: "dropZoneLabel", dropZoneHint: "dropZoneHint", hideClearButton: "hideClearButton", hideSubmitButton: "hideSubmitButton", clickableFiles: "clickableFiles", earlyValidation: "earlyValidation", fileSizeLimit: "fileSizeLimit", maxFiles: "maxFiles", loading: "loading" }, outputs: { submit: "submit", addFiles: "addFiles", remove: "remove", clickFile: "clickFile" }, providers: [
231
- {
232
- provide: NG_VALUE_ACCESSOR,
233
- useExisting: forwardRef(() => EvoUploadComponent),
234
- multi: true,
235
- },
236
- ], viewQueries: [{ propertyName: "inputFileElement", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-alert *ngIf=\"!earlyValidation && filesForm.errors?.maxFiles\" type=\"danger\">\n <ng-container>\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </ng-container>\n </evo-alert>\n <evo-alert *ngIf=\"earlyValidation && filesForm.errors\" type=\"danger\">\n <ul class=\"evo-list\">\n <li *ngIf=\"filesForm.errors.maxFiles\">\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">\u0412\u044B\u0431\u0440\u0430\u043D \u0444\u0430\u0439\u043B \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0430</li>\n </ul>\n </evo-alert>\n\n <ul class=\"evo-upload__list\">\n <li *ngFor=\"let file of filesForm.controls; let i = index\" class=\"evo-upload__list-item\">\n <div class=\"evo-upload__item-inner\">\n <evo-icon shape=\"file\" svgWidth=\"24\" svgHeight=\"24\" class=\"evo-upload__file-icon\"></evo-icon>\n\n <span\n *ngIf=\"clickableFiles\"\n class=\"evo-upload__link evo-link\"\n (click)=\"clickFile.emit({ file: file.value, index: i })\"\n >\n {{ file.value.name }}\n </span>\n\n <span *ngIf=\"!clickableFiles\">{{ file.value.name }}</span>\n </div>\n\n <evo-icon\n shape=\"decline\"\n svgWidth=\"24\"\n svgHeight=\"24\"\n class=\"evo-upload__button-remove\"\n [evoUiClass]=\"{disabled: loading || isDisabled}\"\n (click)=\"handleItemRemove(i)\"\n ></evo-icon>\n\n <div\n class=\"evo-upload__list-delimiter\"\n [evoUiClass]=\"{error: filesForm.controls[i].errors}\"\n [ngSwitch]=\"getControlError(filesForm.controls[i])\"\n >\n <ng-container *ngSwitchCase=\"'size'\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430</ng-container>\n </div>\n </li>\n </ul>\n\n <div *ngIf=\"filesForm.controls.length\" class=\"evo-upload__controls\">\n <button\n *ngIf=\"!hideClearButton\"\n evoButton\n color=\"secondary\"\n theme=\"rounded-outline\"\n [disabled]=\"loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleResetButtonClick()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451\n </button>\n <button\n *ngIf=\"!hideSubmitButton\"\n evoButton\n color=\"success\"\n class=\"evo-upload__submit\"\n [disabled]=\"filesForm.invalid || loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleSubmitButtonClick()\"\n >\n \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n </button>\n </div>\n</div>\n", styles: [".evo-link,.evo-upload__fake-link{color:#0986e2;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.evo-link:hover,.evo-upload__fake-link:hover{color:#0986e2;border-bottom-color:#0986e2}.evo-link:active,.evo-upload__fake-link:active{color:#0879cb}.evo-link_dashed{border-bottom:1px dashed}.evo-link_dashed:hover{text-decoration:none;border-bottom-color:transparent}.evo-link_danger{color:#ff1817}.evo-link_danger:hover{color:#ff4645;border-bottom-color:#ff4645}.evo-link_danger:active{color:#e51715;border-bottom-color:#e51715}.evo-upload{width:100%}.evo-upload__wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:24px;padding:32px 0;color:#231f20;background:#F4F6F8;border:2px solid transparent;border-radius:8px}@media (max-width: 767px){.evo-upload__wrapper{padding:16px}}.evo-upload__wrapper_disabled{pointer-events:none}.evo-upload__wrapper_over{border-color:#dbe3ea}.evo-upload__upload-icon{flex:0 0 48px;width:48px;height:48px;margin-bottom:24px;transition:fill .3s;fill:#91b1b8}.evo-upload__upload-icon_disabled{fill:#727272}@media (max-width: 767px){.evo-upload__upload-icon{margin-bottom:16px}}.evo-upload__title{margin-bottom:8px;font-weight:700;font-size:24px;text-align:center;transition:color .3s}.evo-upload__title_disabled{color:#727272}@media (max-width: 767px){.evo-upload__title{font-size:16px}}.evo-upload__hint{font-size:18px;text-align:center;transition:color .3s}.evo-upload__hint_disabled{color:#727272}@media (max-width: 767px){.evo-upload__hint{font-size:14px}}.evo-upload__fake-link_disabled{color:#727272}.evo-upload__input{display:none}.evo-upload__list{margin-top:24px;margin-bottom:24px}.evo-upload__list:empty{display:none}.evo-upload__file-icon{margin-right:8px;fill:#91b1b8}.evo-upload__list-item{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:15px;color:#212121;font-weight:600;font-size:16px}.evo-upload__list-item:last-of-type{margin-bottom:24px}.evo-upload__item-inner{display:flex;flex-flow:row wrap;align-items:center}.evo-upload__list-delimiter{width:100%;margin-top:15px;color:#ff1817;font-size:14px;font-style:italic;line-height:22px;border-top:1px solid #C6C6C6}.evo-upload__list-delimiter_error{border-top-color:#ff1817}.evo-upload__button-remove{margin-left:auto;cursor:pointer;transition:fill .3s;fill:#91b1b8}.evo-upload__button-remove:not(.evo-upload__button-remove_disabled):hover{fill:#231f20}.evo-upload__button-remove_disabled{cursor:default;fill:#c6c6c6}.evo-upload__controls{display:flex;justify-content:space-between}.evo-upload__submit{margin-left:auto}.evo-upload__link{cursor:pointer}.evo-list{margin-bottom:0}.evo-list li:before{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.EvoAlertComponent, selector: "evo-alert", inputs: ["closable", "icon", "iconSrc", "type", "size"], outputs: ["close"] }, { kind: "component", type: i4.EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }, { kind: "component", type: i5.EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }, { kind: "directive", type: i6.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "pipe", type: i7.DeclinationPipe, name: "declination" }, { kind: "pipe", type: i8.SafeHtmlPipe, name: "safeHtml" }] });
237
- __decorate([
238
- autobind
239
- ], EvoUploadComponent.prototype, "fileSizeValidator", null);
240
- __decorate([
241
- autobind
242
- ], EvoUploadComponent.prototype, "fileExtensionValidator", null);
243
- __decorate([
244
- autobind
245
- ], EvoUploadComponent.prototype, "maxFilesValidator", null);
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadComponent, decorators: [{
247
- type: Component,
248
- args: [{ selector: 'evo-upload', providers: [
249
- {
250
- provide: NG_VALUE_ACCESSOR,
251
- useExisting: forwardRef(() => EvoUploadComponent),
252
- multi: true,
253
- },
254
- ], template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-alert *ngIf=\"!earlyValidation && filesForm.errors?.maxFiles\" type=\"danger\">\n <ng-container>\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </ng-container>\n </evo-alert>\n <evo-alert *ngIf=\"earlyValidation && filesForm.errors\" type=\"danger\">\n <ul class=\"evo-list\">\n <li *ngIf=\"filesForm.errors.maxFiles\">\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">\u0412\u044B\u0431\u0440\u0430\u043D \u0444\u0430\u0439\u043B \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0430</li>\n </ul>\n </evo-alert>\n\n <ul class=\"evo-upload__list\">\n <li *ngFor=\"let file of filesForm.controls; let i = index\" class=\"evo-upload__list-item\">\n <div class=\"evo-upload__item-inner\">\n <evo-icon shape=\"file\" svgWidth=\"24\" svgHeight=\"24\" class=\"evo-upload__file-icon\"></evo-icon>\n\n <span\n *ngIf=\"clickableFiles\"\n class=\"evo-upload__link evo-link\"\n (click)=\"clickFile.emit({ file: file.value, index: i })\"\n >\n {{ file.value.name }}\n </span>\n\n <span *ngIf=\"!clickableFiles\">{{ file.value.name }}</span>\n </div>\n\n <evo-icon\n shape=\"decline\"\n svgWidth=\"24\"\n svgHeight=\"24\"\n class=\"evo-upload__button-remove\"\n [evoUiClass]=\"{disabled: loading || isDisabled}\"\n (click)=\"handleItemRemove(i)\"\n ></evo-icon>\n\n <div\n class=\"evo-upload__list-delimiter\"\n [evoUiClass]=\"{error: filesForm.controls[i].errors}\"\n [ngSwitch]=\"getControlError(filesForm.controls[i])\"\n >\n <ng-container *ngSwitchCase=\"'size'\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430</ng-container>\n </div>\n </li>\n </ul>\n\n <div *ngIf=\"filesForm.controls.length\" class=\"evo-upload__controls\">\n <button\n *ngIf=\"!hideClearButton\"\n evoButton\n color=\"secondary\"\n theme=\"rounded-outline\"\n [disabled]=\"loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleResetButtonClick()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451\n </button>\n <button\n *ngIf=\"!hideSubmitButton\"\n evoButton\n color=\"success\"\n class=\"evo-upload__submit\"\n [disabled]=\"filesForm.invalid || loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleSubmitButtonClick()\"\n >\n \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n </button>\n </div>\n</div>\n", styles: [".evo-link,.evo-upload__fake-link{color:#0986e2;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.evo-link:hover,.evo-upload__fake-link:hover{color:#0986e2;border-bottom-color:#0986e2}.evo-link:active,.evo-upload__fake-link:active{color:#0879cb}.evo-link_dashed{border-bottom:1px dashed}.evo-link_dashed:hover{text-decoration:none;border-bottom-color:transparent}.evo-link_danger{color:#ff1817}.evo-link_danger:hover{color:#ff4645;border-bottom-color:#ff4645}.evo-link_danger:active{color:#e51715;border-bottom-color:#e51715}.evo-upload{width:100%}.evo-upload__wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:24px;padding:32px 0;color:#231f20;background:#F4F6F8;border:2px solid transparent;border-radius:8px}@media (max-width: 767px){.evo-upload__wrapper{padding:16px}}.evo-upload__wrapper_disabled{pointer-events:none}.evo-upload__wrapper_over{border-color:#dbe3ea}.evo-upload__upload-icon{flex:0 0 48px;width:48px;height:48px;margin-bottom:24px;transition:fill .3s;fill:#91b1b8}.evo-upload__upload-icon_disabled{fill:#727272}@media (max-width: 767px){.evo-upload__upload-icon{margin-bottom:16px}}.evo-upload__title{margin-bottom:8px;font-weight:700;font-size:24px;text-align:center;transition:color .3s}.evo-upload__title_disabled{color:#727272}@media (max-width: 767px){.evo-upload__title{font-size:16px}}.evo-upload__hint{font-size:18px;text-align:center;transition:color .3s}.evo-upload__hint_disabled{color:#727272}@media (max-width: 767px){.evo-upload__hint{font-size:14px}}.evo-upload__fake-link_disabled{color:#727272}.evo-upload__input{display:none}.evo-upload__list{margin-top:24px;margin-bottom:24px}.evo-upload__list:empty{display:none}.evo-upload__file-icon{margin-right:8px;fill:#91b1b8}.evo-upload__list-item{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:15px;color:#212121;font-weight:600;font-size:16px}.evo-upload__list-item:last-of-type{margin-bottom:24px}.evo-upload__item-inner{display:flex;flex-flow:row wrap;align-items:center}.evo-upload__list-delimiter{width:100%;margin-top:15px;color:#ff1817;font-size:14px;font-style:italic;line-height:22px;border-top:1px solid #C6C6C6}.evo-upload__list-delimiter_error{border-top-color:#ff1817}.evo-upload__button-remove{margin-left:auto;cursor:pointer;transition:fill .3s;fill:#91b1b8}.evo-upload__button-remove:not(.evo-upload__button-remove_disabled):hover{fill:#231f20}.evo-upload__button-remove_disabled{cursor:default;fill:#c6c6c6}.evo-upload__controls{display:flex;justify-content:space-between}.evo-upload__submit{margin-left:auto}.evo-upload__link{cursor:pointer}.evo-list{margin-bottom:0}.evo-list li:before{color:#fff}\n"] }]
255
- }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Injector }]; }, propDecorators: { accept: [{
256
- type: Input
257
- }], dropZoneLabel: [{
258
- type: Input
259
- }], dropZoneHint: [{
260
- type: Input
261
- }], hideClearButton: [{
262
- type: Input
263
- }], hideSubmitButton: [{
264
- type: Input
265
- }], clickableFiles: [{
266
- type: Input
267
- }], earlyValidation: [{
268
- type: Input
269
- }], fileSizeLimit: [{
270
- type: Input
271
- }], maxFiles: [{
272
- type: Input
273
- }], loading: [{
274
- type: Input
275
- }], submit: [{
276
- type: Output
277
- }], addFiles: [{
278
- type: Output
279
- }], remove: [{
280
- type: Output
281
- }], clickFile: [{
282
- type: Output
283
- }], inputFileElement: [{
284
- type: ViewChild,
285
- args: ['inputFile']
286
- }], fileSizeValidator: [], fileExtensionValidator: [], maxFilesValidator: [] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tdXBsb2FkL2V2by11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXVwbG9hZC9ldm8tdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBRVYsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILGlCQUFpQixFQUdqQixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBbUI3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQXdDbEQsWUFDWSxXQUErQixFQUM3QixRQUFrQjtRQUU1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIUixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpDdkIsa0JBQWEsR0FBRyxvQ0FBb0MsQ0FBQztRQUVyRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFReEIsWUFBTyxHQUFHLEtBQUssQ0FB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QUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pELEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixnS0N4Q0wscWpMQWlIQTs7SURnS0ssUUFBUTsyREFPUjs7SUFFQSxRQUFRO2dFQVVSOztJQUVBLFFBQVE7MkRBT1I7MkZBblFRLGtCQUFrQjtrQkFaOUIsU0FBUzsrQkFDSSxZQUFZLGFBR1g7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2dJQUlZLE1BQU07c0JBQWxCLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFTyxhQUFhO3NCQUF6QixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVpQixnQkFBZ0I7c0JBQXZDLFNBQVM7dUJBQUMsV0FBVztnQkEyTWQsaUJBQWlCLE1BU2pCLHNCQUFzQixNQVl0QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgVW50eXBlZEZvcm1BcnJheSxcbiAgICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgVW50eXBlZEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgYXV0b2JpbmQgZnJvbSAnYXV0b2JpbmQtZGVjb3JhdG9yJztcbmltcG9ydCBieXRlcyBmcm9tICdieXRlcyc7XG5pbXBvcnQgKiBhcyBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IHtFdm9CYXNlQ29udHJvbH0gZnJvbSAnLi4vLi4vY29tbW9uL2V2by1iYXNlLWNvbnRyb2wnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1VwbG9hZEl0ZW1DbGlja0V2ZW50IHtcbiAgICBmaWxlOiBGaWxlO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXVwbG9hZCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdm9VcGxvYWRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgRXZvQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIHNldCBhY2NlcHQoZXh0ZW5zaW9uczogc3RyaW5nKSB7XG4gICAgICAgIGlmIChleHRlbnNpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmFjY2VwdGVkTWltZVR5cGVzID0gZXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgICAgLm1hcChleHRlbnNpb24gPT4gbWltZS5nZXRUeXBlKGV4dGVuc2lvbikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIGRyb3Bab25lTGFiZWwgPSAn0J/QtdGA0LXRgtCw0YnQuNGC0LUg0YHRjtC00LAg0YTQsNC50LvRiyDQtNC70Y8g0LfQsNCz0YDRg9C30LrQuCc7XG4gICAgQElucHV0KCkgZHJvcFpvbmVIaW50OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaGlkZUNsZWFyQnV0dG9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgaGlkZVN1Ym1pdEJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsaWNrYWJsZUZpbGVzID0gZmFsc2U7XG4gICAgQElucHV0KCkgZWFybHlWYWxpZGF0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzZXQgZmlsZVNpemVMaW1pdChmaWxlU2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZmlsZXNTaXplTGltaXRUZXh0ID0gZmlsZVNpemU7XG4gICAgICAgIHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzID0gYnl0ZXMoZmlsZVNpemUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIG1heEZpbGVzOiBudW1iZXI7XG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG4gICAgQE91dHB1dCgpIGFkZEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvVXBsb2FkSXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEZpbGUnKSBpbnB1dEZpbGVFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGZpbGVzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10sIFt0aGlzLm1heEZpbGVzVmFsaWRhdG9yXSk7XG4gICAgZmlsZXNTaXplTGltaXRUZXh0OiBzdHJpbmc7XG4gICAgZmlsZXNTaXplTGltaXRJbkJ5dGVzOiBudW1iZXI7XG4gICAgc3RhdGVzID0ge1xuICAgICAgICBpc0RyYWdPdmVyOiBmYWxzZSxcbiAgICB9O1xuICAgIGFjY2VwdGVkTWltZVR5cGVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPbkZvcm1DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZSA9ICh2YWx1ZSkgPT4ge307XG4gICAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgICAgICBpZiAoIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VDb250cm9sc0Vycm9ycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShmaWxlTGlzdDogRmlsZUxpc3QgfCBGaWxlW10pIHtcbiAgICAgICAgaWYgKGZpbGVMaXN0ICYmIGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmIChmaWxlTGlzdCBpbnN0YW5jZW9mIEFycmF5IHx8IGZpbGVMaXN0IGluc3RhbmNlb2YgRmlsZUxpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLndpcGVVcGxvYWRMaXN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWFybHlWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWFybHlWYWxpZGF0aW9uRm4oZmlsZUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc0Zvcm0uZXJyb3JzKSB7IHJldHVybjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlTGlzdCBhcyBGaWxlTGlzdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdbRXZvVWlLaXRdOiB3cm9uZyBpbml0aWFsIHZhbHVlIHBhc3NlZCB0byBcImV2by11cGxvYWRcIiBjb21wb25lbnQuIE9ubHkgRmlsZUxpc3QgYW5kIEZpbGVbXSBhcmUgYWxsb3dlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29udHJvbEVycm9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghY29udHJvbC5lcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKVswXTtcbiAgICB9XG5cbiAgICBoYW5kbGVEcmFnT3ZlcihldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhdGVzLmlzRHJhZ092ZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGhhbmRsZURyYWdMZWF2ZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc3RhdGVzLmlzRHJhZ092ZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgICAgdGhpcy5zdGF0ZXMuaXNEcmFnT3ZlciA9IGZhbHNlO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5lYXJseVZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVhcmx5VmFsaWRhdGlvbkZuKGZpbGVzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc0Zvcm0uZXJyb3JzKSB7IHJldHVybjsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hZGRGaWxlcy5lbWl0KGZpbGVzKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpbGVzKGZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUl0ZW1SZW1vdmUoaW5kZXgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGVzRm9ybS5yZW1vdmVBdChpbmRleCk7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoaW5kZXgpO1xuICAgIH1cblxuICAgIGhhbmRsZVJlc2V0QnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndpcGVVcGxvYWRMaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlU3VibWl0QnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc3VibWl0LmVtaXQodGhpcy5maWxlc0Zvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIGlucHV0Q2hhbmdlKGZpbGVzOiBGaWxlTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5lYXJseVZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZWFybHlWYWxpZGF0aW9uRm4oZmlsZXMpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZXNGb3JtLmVycm9ycykgeyByZXR1cm47IH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFkZEZpbGVzLmVtaXQoZmlsZXMpO1xuICAgICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuXG4gICAgZWFybHlWYWxpZGF0aW9uRm4oZmlsZXM6IEZpbGVMaXN0IHwgRmlsZVtdKSB7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgY29uc3QgZmlsZXNBcnJheSA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICAgICAgaWYgKHRoaXMubWF4RmlsZXMgJiYgdGhpcy5pc0ZpbGVzTGVuZ3RoVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgbWF4RmlsZXM6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzICYmICF0aGlzLmlzRmlsZXNTaXplVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgc2l6ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY2NlcHRlZE1pbWVUeXBlcyAmJiAhdGhpcy5pc0ZpbGVzRXh0ZW5zaW9uVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgZXh0ZW5zaW9uOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5zZXRFcnJvcnMoT2JqZWN0LmFzc2lnbih7fSwgLi4uZXJyb3JzKSk7XG4gICAgICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlsZXNMZW5ndGhWYWxpZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heEZpbGVzIDwgKGZpbGVzLmxlbmd0aCArIHRoaXMuZmlsZXNGb3JtLmNvbnRyb2xzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaXNGaWxlc1NpemVWYWxpZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhZmlsZXMuc29tZSgoeyBzaXplIH0pID0+IHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzIDwgc2l6ZSk7XG4gICAgfVxuXG4gICAgaXNGaWxlc0V4dGVuc2lvblZhbGlkKGZpbGVzOiBGaWxlW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KCh7IHR5cGUgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMuaW5jbHVkZXModHlwZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb2Nlc3NGaWxlcyhmaWxlczogRmlsZUxpc3QpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaCgoZmlsZTogRmlsZSkgPT4geyAvLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3ItZWFjaC1wdXNoXG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZmlsZSwgW3RoaXMuZmlsZUV4dGVuc2lvblZhbGlkYXRvciwgdGhpcy5maWxlU2l6ZVZhbGlkYXRvcl0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRGaWxlRWxlbWVudCAmJiB0aGlzLmlucHV0RmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdpcGVVcGxvYWRMaXN0KCkge1xuICAgICAgICB3aGlsZSAodGhpcy5maWxlc0Zvcm0uY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5yZW1vdmVBdCgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VDb250cm9sc0Vycm9ycygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZmlsZXNGb3JtLmVycm9ycyk7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlcnJvcnMsIGNvbnRyb2wuZXJyb3JzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPyBlcnJvcnMgOiBudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU9uRm9ybUNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VDb250cm9sc0Vycm9ycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIGZpbGVTaXplVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250cm9sLnZhbHVlLnNpemUgPiB0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcyA/IHsgc2l6ZTogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIGZpbGVFeHRlbnNpb25WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgICAgIGlmICghdGhpcy5hY2NlcHRlZE1pbWVUeXBlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlVHlwZSA9IChjb250cm9sLnZhbHVlIGFzIEZpbGUpLnR5cGU7XG4gICAgICAgIGNvbnN0IGlzRXh0ZW5zaW9uQWxsb3dlZCA9IHRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMuaW5jbHVkZXMoZmlsZVR5cGUpO1xuXG4gICAgICAgIHJldHVybiBpc0V4dGVuc2lvbkFsbG93ZWQgPyBudWxsIDogeyBleHRlbnNpb246IHRydWUgfTtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIG1heEZpbGVzVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQXJyYXkpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1heEZpbGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udHJvbC5jb250cm9scy5sZW5ndGggPiB0aGlzLm1heEZpbGVzID8geyBtYXhGaWxlczogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXVwbG9hZFwiPlxuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImV2by11cGxvYWRfX3dyYXBwZXJcIlxuICAgICAgICBbZXZvVWlDbGFzc109XCJ7b3Zlcjogc3RhdGVzLmlzRHJhZ092ZXIsIGRpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGRyYWdvdmVyKT1cImhhbmRsZURyYWdPdmVyKCRldmVudClcIlxuICAgICAgICAoZHJhZ2xlYXZlKT1cImhhbmRsZURyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGRyb3ApPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxldm8taWNvblxuICAgICAgICAgICAgc2hhcGU9XCJ1cGxvYWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX191cGxvYWQtaWNvblwiXG4gICAgICAgICAgICBbZXZvVWlDbGFzc109XCJ7ZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfHwgbG9hZGluZ31cIlxuICAgICAgICA+PC9ldm8taWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tdXBsb2FkX190aXRsZVwiIFtldm9VaUNsYXNzXT1cIntkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCBsb2FkaW5nfVwiPnt7IGRyb3Bab25lTGFiZWwgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tdXBsb2FkX19oaW50XCIgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCI+XG4gICAgICAgICAgICDQuNC70LhcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLXVwbG9hZF9fZmFrZS1saW5rXCIgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCI+0LfQsNCz0YDRg9C30LjRgtC1PC9zcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRyb3Bab25lSGludFwiPlxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2by11cGxvYWRfX2FkZGl0aW9uYWwtaGludFwiIFtpbm5lckhUTUxdPVwiZHJvcFpvbmVIaW50IHwgc2FmZUh0bWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dEZpbGVcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9faW5wdXRcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXR0ci5tdWx0aXBsZV09XCJtYXhGaWxlcyA9PT0gMSA/IG51bGwgOiB0cnVlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50LnRhcmdldC5maWxlcylcIlxuICAgICAgICAvPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8ZXZvLWFsZXJ0ICpuZ0lmPVwiIWVhcmx5VmFsaWRhdGlvbiAmJiBmaWxlc0Zvcm0uZXJyb3JzPy5tYXhGaWxlc1wiIHR5cGU9XCJkYW5nZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgINCd0LXQu9GM0LfRjyDQt9Cw0LPRgNGD0LfQuNGC0Ywg0LHQvtC70LXQtSB7eyBtYXhGaWxlcyB8fCAxIHwgZGVjbGluYXRpb246W1wi0YTQsNC50LvQsFwiLCBcItGE0LDQudC70L7QslwiLCBcItGE0LDQudC70L7QslwiXSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2V2by1hbGVydD5cbiAgICA8ZXZvLWFsZXJ0ICpuZ0lmPVwiZWFybHlWYWxpZGF0aW9uICYmIGZpbGVzRm9ybS5lcnJvcnNcIiB0eXBlPVwiZGFuZ2VyXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImV2by1saXN0XCI+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJmaWxlc0Zvcm0uZXJyb3JzLm1heEZpbGVzXCI+XG4gICAgICAgICAgICAgICAg0J3QtdC70YzQt9GPINC30LDQs9GA0YPQt9C40YLRjCDQsdC+0LvQtdC1IHt7IG1heEZpbGVzIHx8IDEgfCBkZWNsaW5hdGlvbjpbXCLRhNCw0LnQu9CwXCIsIFwi0YTQsNC50LvQvtCyXCIsIFwi0YTQsNC50LvQvtCyXCJdIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiZmlsZXNGb3JtLmVycm9ycy5zaXplXCI+0JzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDQvtC00L3QvtCz0L4g0YTQsNC50LvQsCDQvdC1INCx0L7Qu9C10LUge3sgZmlsZXNTaXplTGltaXRUZXh0IH19PC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImZpbGVzRm9ybS5lcnJvcnMuZXh0ZW5zaW9uXCI+0JLRi9Cx0YDQsNC9INGE0LDQudC7INC90LXQtNC+0L/Rg9GB0YLQuNC80L7Qs9C+INGE0L7RgNC80LDRgtCwPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2V2by1hbGVydD5cblxuICAgIDx1bCBjbGFzcz1cImV2by11cGxvYWRfX2xpc3RcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzRm9ybS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiZXZvLXVwbG9hZF9fbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXVwbG9hZF9faXRlbS1pbm5lclwiPlxuICAgICAgICAgICAgICAgIDxldm8taWNvbiBzaGFwZT1cImZpbGVcIiBzdmdXaWR0aD1cIjI0XCIgc3ZnSGVpZ2h0PVwiMjRcIiBjbGFzcz1cImV2by11cGxvYWRfX2ZpbGUtaWNvblwiPjwvZXZvLWljb24+XG5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNsaWNrYWJsZUZpbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19saW5rIGV2by1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrRmlsZS5lbWl0KHsgZmlsZTogZmlsZS52YWx1ZSwgaW5kZXg6IGkgfSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZmlsZS52YWx1ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY2xpY2thYmxlRmlsZXNcIj57eyBmaWxlLnZhbHVlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGV2by1pY29uXG4gICAgICAgICAgICAgICAgc2hhcGU9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgICAgICBzdmdXaWR0aD1cIjI0XCJcbiAgICAgICAgICAgICAgICBzdmdIZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19idXR0b24tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICBbZXZvVWlDbGFzc109XCJ7ZGlzYWJsZWQ6IGxvYWRpbmcgfHwgaXNEaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlKGkpXCJcbiAgICAgICAgICAgID48L2V2by1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19saXN0LWRlbGltaXRlclwiXG4gICAgICAgICAgICAgICAgW2V2b1VpQ2xhc3NdPVwie2Vycm9yOiBmaWxlc0Zvcm0uY29udHJvbHNbaV0uZXJyb3JzfVwiXG4gICAgICAgICAgICAgICAgW25nU3dpdGNoXT1cImdldENvbnRyb2xFcnJvcihmaWxlc0Zvcm0uY29udHJvbHNbaV0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2l6ZSdcIj7QoNCw0LfQvNC10YAg0YTQsNC50LvQsCDQv9GA0LXQstGL0YjQsNC10YIg0LTQvtC/0YPRgdGC0LjQvNGL0Lk8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXh0ZW5zaW9uJ1wiPtCd0LXQstC10YDQvdGL0Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70LA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZmlsZXNGb3JtLmNvbnRyb2xzLmxlbmd0aFwiIGNsYXNzPVwiZXZvLXVwbG9hZF9fY29udHJvbHNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZUNsZWFyQnV0dG9uXCJcbiAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgdGhlbWU9XCJyb3VuZGVkLW91dGxpbmVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSZXNldEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQo9C00LDQu9C40YLRjCDQstGB0ZFcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVTdWJtaXRCdXR0b25cIlxuICAgICAgICAgICAgZXZvQnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19zdWJtaXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpbGVzRm9ybS5pbnZhbGlkIHx8IGxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdWJtaXRCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0JfQsNCz0YDRg9C30LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { EvoUploadComponent } from './evo-upload.component';
3
- import { EvoButtonModule } from '../evo-button/evo-button.module';
4
- import { CommonModule } from '@angular/common';
5
- import { EvoIconModule } from '../evo-icon/evo-icon.module';
6
- import { iconClose } from '@evotor-dev/ui-kit/icons/header';
7
- import { iconDecline, iconFile, iconUpload } from '@evotor-dev/ui-kit/icons/system';
8
- import { EvoUiKitModule } from '../../evo-ui-kit.module';
9
- import { EvoPipesModule } from '../../pipes/evo-pipes.module';
10
- import { EvoAlertModule } from '../evo-alert/evo-alert.module';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../evo-icon/evo-icon.module";
13
- export class EvoUploadModule {
14
- }
15
- EvoUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- EvoUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadModule, declarations: [EvoUploadComponent], imports: [CommonModule,
17
- EvoAlertModule,
18
- EvoButtonModule, i1.EvoIconModule, EvoPipesModule,
19
- EvoUiKitModule], exports: [EvoUploadComponent] });
20
- EvoUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadModule, imports: [CommonModule,
21
- EvoAlertModule,
22
- EvoButtonModule,
23
- EvoIconModule.forRoot([{
24
- name: 'icons',
25
- shapes: {
26
- close: iconClose,
27
- decline: iconDecline,
28
- file: iconFile,
29
- upload: iconUpload,
30
- },
31
- }]),
32
- EvoPipesModule,
33
- EvoUiKitModule] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoUploadModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- imports: [
38
- CommonModule,
39
- EvoAlertModule,
40
- EvoButtonModule,
41
- EvoIconModule.forRoot([{
42
- name: 'icons',
43
- shapes: {
44
- close: iconClose,
45
- decline: iconDecline,
46
- file: iconFile,
47
- upload: iconUpload,
48
- },
49
- }]),
50
- EvoPipesModule,
51
- EvoUiKitModule,
52
- ],
53
- declarations: [EvoUploadComponent],
54
- exports: [EvoUploadComponent],
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXVwbG9hZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tdXBsb2FkL2V2by11cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFzQi9ELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBSFQsa0JBQWtCLGFBZjdCLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZSxvQkFVZixjQUFjO1FBQ2QsY0FBYyxhQUdSLGtCQUFrQjs2R0FFbkIsZUFBZSxZQWxCcEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUU7b0JBQ0osS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLE9BQU8sRUFBRSxXQUFXO29CQUNwQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxNQUFNLEVBQUUsVUFBVTtpQkFDckI7YUFDSixDQUFDLENBQUM7UUFDSCxjQUFjO1FBQ2QsY0FBYzsyRkFLVCxlQUFlO2tCQXBCM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dDQUNuQixJQUFJLEVBQUUsT0FBTztnQ0FDYixNQUFNLEVBQUU7b0NBQ0osS0FBSyxFQUFFLFNBQVM7b0NBQ2hCLE9BQU8sRUFBRSxXQUFXO29DQUNwQixJQUFJLEVBQUUsUUFBUTtvQ0FDZCxNQUFNLEVBQUUsVUFBVTtpQ0FDckI7NkJBQ0osQ0FBQyxDQUFDO3dCQUNILGNBQWM7d0JBQ2QsY0FBYztxQkFDakI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdm9VcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2V2by11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IEV2b0J1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2V2by1idXR0b24vZXZvLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV2b0ljb25Nb2R1bGUgfSBmcm9tICcuLi9ldm8taWNvbi9ldm8taWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgaWNvbkNsb3NlIH0gZnJvbSAnQGV2b3Rvci1kZXYvdWkta2l0L2ljb25zL2hlYWRlcic7XG5pbXBvcnQgeyBpY29uRGVjbGluZSwgaWNvbkZpbGUsIGljb25VcGxvYWQgfSBmcm9tICdAZXZvdG9yLWRldi91aS1raXQvaWNvbnMvc3lzdGVtJztcbmltcG9ydCB7IEV2b1VpS2l0TW9kdWxlIH0gZnJvbSAnLi4vLi4vZXZvLXVpLWtpdC5tb2R1bGUnO1xuaW1wb3J0IHsgRXZvUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9ldm8tcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEV2b0FsZXJ0TW9kdWxlIH0gZnJvbSAnLi4vZXZvLWFsZXJ0L2V2by1hbGVydC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBFdm9BbGVydE1vZHVsZSxcbiAgICAgICAgRXZvQnV0dG9uTW9kdWxlLFxuICAgICAgICBFdm9JY29uTW9kdWxlLmZvclJvb3QoW3tcbiAgICAgICAgICAgIG5hbWU6ICdpY29ucycsXG4gICAgICAgICAgICBzaGFwZXM6IHtcbiAgICAgICAgICAgICAgICBjbG9zZTogaWNvbkNsb3NlLFxuICAgICAgICAgICAgICAgIGRlY2xpbmU6IGljb25EZWNsaW5lLFxuICAgICAgICAgICAgICAgIGZpbGU6IGljb25GaWxlLFxuICAgICAgICAgICAgICAgIHVwbG9hZDogaWNvblVwbG9hZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1dKSxcbiAgICAgICAgRXZvUGlwZXNNb2R1bGUsXG4gICAgICAgIEV2b1VpS2l0TW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRXZvVXBsb2FkQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRXZvVXBsb2FkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvVXBsb2FkTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class EvoClickOutsideDirective {
4
- constructor(_elementRef) {
5
- this._elementRef = _elementRef;
6
- this.evoClickOutside = new EventEmitter();
7
- }
8
- onClick(event, targetElement) {
9
- this.clickOrTouchOutside(event, targetElement);
10
- }
11
- onTouchStart(event, targetElement) {
12
- this.clickOrTouchOutside(event, targetElement);
13
- }
14
- clickOrTouchOutside(event, targetElement) {
15
- if (!targetElement) {
16
- return;
17
- }
18
- const clickedInside = this._elementRef.nativeElement.contains(targetElement);
19
- if (!clickedInside) {
20
- this.evoClickOutside.emit(event);
21
- }
22
- }
23
- }
24
- EvoClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
25
- EvoClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: EvoClickOutsideDirective, selector: "[evoClickOutside]", outputs: { evoClickOutside: "evoClickOutside" }, host: { listeners: { "document:click": "onClick($event,$event.target)", "document:touchstart": "onTouchStart($event,$event.target)" } }, ngImport: i0 });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoClickOutsideDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[evoClickOutside]',
30
- }]
31
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { evoClickOutside: [{
32
- type: Output
33
- }], onClick: [{
34
- type: HostListener,
35
- args: ['document:click', ['$event', '$event.target']]
36
- }], onTouchStart: [{
37
- type: HostListener,
38
- args: ['document:touchstart', ['$event', '$event.target']]
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNsaWNrLW91dHNpZGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvZXZvLWNsaWNrLW91dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFGLE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFGcEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzVDLENBQUM7SUFHTSxPQUFPLENBQThDLEtBQVEsRUFBRSxhQUFnQjtRQUNsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHTSxZQUFZLENBQThDLEtBQVEsRUFBRSxhQUFnQjtRQUN2RixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxtQkFBbUIsQ0FBOEMsS0FBUSxFQUFFLGFBQWdCO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDOztxSEExQlEsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQztpR0FJVSxlQUFlO3NCQURyQixNQUFNO2dCQU9BLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUM7Z0JBTXBELFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V2b0NsaWNrT3V0c2lkZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9DbGlja091dHNpZGVEaXJlY3RpdmUge1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGV2b0NsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcbiAgICBwdWJsaWMgb25DbGljazxUIGV4dGVuZHMgTW91c2VFdmVudCwgRiBleHRlbmRzIEhUTUxFbGVtZW50PihldmVudDogVCwgdGFyZ2V0RWxlbWVudDogRikge1xuICAgICAgICB0aGlzLmNsaWNrT3JUb3VjaE91dHNpZGUoZXZlbnQsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNoc3RhcnQnLCBbJyRldmVudCcsICckZXZlbnQudGFyZ2V0J10pXG4gICAgcHVibGljIG9uVG91Y2hTdGFydDxUIGV4dGVuZHMgTW91c2VFdmVudCwgRiBleHRlbmRzIEhUTUxFbGVtZW50PihldmVudDogVCwgdGFyZ2V0RWxlbWVudDogRikge1xuICAgICAgICB0aGlzLmNsaWNrT3JUb3VjaE91dHNpZGUoZXZlbnQsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNsaWNrT3JUb3VjaE91dHNpZGU8VCBleHRlbmRzIE1vdXNlRXZlbnQsIEYgZXh0ZW5kcyBIVE1MRWxlbWVudD4oZXZlbnQ6IFQsIHRhcmdldEVsZW1lbnQ6IEYpIHtcbiAgICAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLmV2b0NsaWNrT3V0c2lkZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,71 +0,0 @@
1
- import { Directive, EventEmitter, Input, Optional, Output } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/evo-expanded.service";
6
- export class EvoIsExpandedDirective {
7
- constructor(templateRef, viewContainer, expandedService) {
8
- this.templateRef = templateRef;
9
- this.viewContainer = viewContainer;
10
- this.expandedService = expandedService;
11
- this.evoIsExpandedChange = new EventEmitter(false);
12
- this.destroy$ = new Subject();
13
- }
14
- ngOnInit() {
15
- if (this.expandedService) {
16
- this.expandedService.isExpanded = this.evoIsExpanded;
17
- }
18
- this.updateView();
19
- this.handleExpandedChange();
20
- }
21
- ngOnChanges(changes) {
22
- if (changes.evoIsExpanded && !changes.evoIsExpanded.isFirstChange()) {
23
- const isExpanded = changes.evoIsExpanded.currentValue;
24
- if (!this.expandedService) {
25
- this.evoIsExpandedChange.emit(isExpanded);
26
- this.updateView();
27
- return;
28
- }
29
- this.expandedService.isExpanded = isExpanded;
30
- }
31
- }
32
- ngOnDestroy() {
33
- this.destroy$.next();
34
- this.destroy$.unsubscribe();
35
- }
36
- handleExpandedChange() {
37
- this.expandedService?.isExpandedChange$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {
38
- if (isExpanded !== this.evoIsExpanded) {
39
- this.evoIsExpanded = isExpanded;
40
- this.evoIsExpandedChange.emit(isExpanded);
41
- }
42
- this.updateView();
43
- });
44
- }
45
- updateView() {
46
- if (this.evoIsExpanded && this.viewContainer.length !== 0) {
47
- return;
48
- }
49
- if (this.evoIsExpanded) {
50
- this.viewContainer.createEmbeddedView(this.templateRef);
51
- }
52
- else {
53
- this.viewContainer.clear();
54
- }
55
- }
56
- }
57
- EvoIsExpandedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoIsExpandedDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.EvoExpandedService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
58
- EvoIsExpandedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: EvoIsExpandedDirective, selector: "[evoIsExpanded]", inputs: { evoIsExpanded: "evoIsExpanded" }, outputs: { evoIsExpandedChange: "evoIsExpandedChange" }, usesOnChanges: true, ngImport: i0 });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EvoIsExpandedDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- selector: '[evoIsExpanded]'
63
- }]
64
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.EvoExpandedService, decorators: [{
65
- type: Optional
66
- }] }]; }, propDecorators: { evoIsExpanded: [{
67
- type: Input
68
- }], evoIsExpandedChange: [{
69
- type: Output
70
- }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlzLWV4cGFuZGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9kaXJlY3RpdmVzL2V2by1pcy1leHBhbmRlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBSVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDbkIsZUFBbUM7UUFGL0MsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFQakQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNbkMsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDakUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckIsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDN0M7WUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkQsT0FBTztTQUNWO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs7bUhBMURRLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7OzBCQVVRLFFBQVE7NENBUkosYUFBYTtzQkFBckIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2b0V4cGFuZGVkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2by1leHBhbmRlZC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXZvSXNFeHBhbmRlZF0nXG59KVxuZXhwb3J0IGNsYXNzIEV2b0lzRXhwYW5kZWREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBldm9Jc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBldm9Jc0V4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZXhwYW5kZWRTZXJ2aWNlOiBFdm9FeHBhbmRlZFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlLmlzRXhwYW5kZWQgPSB0aGlzLmV2b0lzRXhwYW5kZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIHRoaXMuaGFuZGxlRXhwYW5kZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmV2b0lzRXhwYW5kZWQgJiYgIWNoYW5nZXMuZXZvSXNFeHBhbmRlZC5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzRXhwYW5kZWQgPSBjaGFuZ2VzLmV2b0lzRXhwYW5kZWQuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkU2VydmljZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZvSXNFeHBhbmRlZENoYW5nZS5lbWl0KGlzRXhwYW5kZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlLmlzRXhwYW5kZWQgPSBpc0V4cGFuZGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlPy5pc0V4cGFuZGVkQ2hhbmdlJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICkuc3Vic2NyaWJlKGlzRXhwYW5kZWQgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRXhwYW5kZWQgIT09IHRoaXMuZXZvSXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZvSXNFeHBhbmRlZCA9IGlzRXhwYW5kZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5ldm9Jc0V4cGFuZGVkQ2hhbmdlLmVtaXQoaXNFeHBhbmRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldm9Jc0V4cGFuZGVkICYmIHRoaXMudmlld0NvbnRhaW5lci5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldm9Jc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=