@evotor-dev/ui-kit 8.0.0-beta.5 → 8.0.0-beta.7
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.
- package/esm2022/lib/components/evo-navigation-button/evo-navigation-button.component.mjs +2 -2
- package/esm2022/lib/components/evo-upload/evo-upload.component.mjs +4 -4
- package/esm2022/lib/components/evo-upload/evo-upload.module.mjs +13 -9
- package/esm2022/public_api.mjs +1 -3
- package/fesm2022/evotor-dev-ui-kit.mjs +32 -243
- package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -1
- package/lib/components/evo-upload/evo-upload.module.d.ts +2 -2
- package/package.json +1 -1
- package/public_api.d.ts +0 -2
- package/styles/components/evo-form.scss +2 -2
- package/styles/components/evo-title.scss +4 -4
- package/styles/main.scss +0 -1
- package/styles/mixins/_evo-input-mixins.scss +0 -6
- package/styles/mixins.scss +0 -42
- package/styles/variables.scss +0 -8
- package/esm2022/lib/components/evo-alert/evo-alert.component.mjs +0 -79
- package/esm2022/lib/components/evo-alert/evo-alert.module.mjs +0 -27
- package/esm2022/lib/components/evo-alert/index.mjs +0 -2
- package/esm2022/lib/components/evo-alert/public-api.mjs +0 -3
- package/esm2022/lib/components/evo-banner/evo-banner.component.mjs +0 -109
- package/esm2022/lib/components/evo-banner/evo-banner.module.mjs +0 -23
- package/esm2022/lib/components/evo-banner/index.mjs +0 -2
- package/esm2022/lib/components/evo-banner/public-api.mjs +0 -3
- package/lib/components/evo-alert/evo-alert.component.d.ts +0 -38
- package/lib/components/evo-alert/evo-alert.module.d.ts +0 -9
- package/lib/components/evo-alert/index.d.ts +0 -1
- package/lib/components/evo-alert/public-api.d.ts +0 -2
- package/lib/components/evo-banner/evo-banner.component.d.ts +0 -46
- package/lib/components/evo-banner/evo-banner.module.d.ts +0 -9
- package/lib/components/evo-banner/index.d.ts +0 -1
- package/lib/components/evo-banner/public-api.d.ts +0 -2
- package/styles/components/evo-alert.scss +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evotor-dev-ui-kit.mjs","sources":["../../../projects/evo-ui-kit/src/lib/services/window.service.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-ui-class.directive.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-click-outside.directive.ts","../../../projects/evo-ui-kit/src/lib/services/evo-expanded.service.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-is-expanded.directive.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-let/evo-let.directive.ts","../../../projects/evo-ui-kit/src/lib/evo-ui-kit.module.ts","../../../projects/evo-ui-kit/src/lib/common/form-helper/form-helper.ts","../../../projects/evo-ui-kit/src/lib/common/evo-control-state-manager/evo-control-state-manager.ts","../../../projects/evo-ui-kit/src/lib/common/evo-control-state-manager/evo-control-states.enum.ts","../../../projects/evo-ui-kit/src/lib/common/evo-base-control.ts","../../../projects/evo-ui-kit/src/lib/common/animations/expand.animation.ts","../../../projects/evo-ui-kit/src/lib/common/animations/skip-initial-render.animation.ts","../../../projects/evo-ui-kit/src/lib/common/animations/sidebar.animation.ts","../../../projects/evo-ui-kit/src/lib/common/collection/evo-collection.ts","../../../projects/evo-ui-kit/src/lib/common/collection/evo-collection-fabric.ts","../../../projects/evo-ui-kit/src/lib/decorators/deprecate-method.decorator.ts","../../../projects/evo-ui-kit/src/lib/decorators/deprecate-variable.decorator.ts","../../../projects/evo-ui-kit/src/lib/operators/enter-zone.operator.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/classes/evo-icons-library.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-alert/evo-alert.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-alert/evo-alert.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-alert/evo-alert.module.ts","../../../projects/evo-ui-kit/src/lib/pipes/safe-html.pipe.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.component.html","../../../projects/evo-ui-kit/src/lib/pipes/declination.pipe.ts","../../../projects/evo-ui-kit/src/lib/pipes/evo-pipes.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/evo-autocomplete.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/evo-autocomplete.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/evo-autocomplete.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/helpers/switch-query-to-list.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/models/DaDataParty.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/models/dadata.model.ts","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.module.ts","../../../projects/evo-ui-kit/src/lib/common/Serializable.ts","../../../projects/evo-ui-kit/src/lib/common/constants/css-breakpoints.ts","../../../projects/evo-ui-kit/src/lib/components/evo-banner/evo-banner.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-banner/evo-banner.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-banner/evo-banner.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/constants/evo-button-themes-map.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-circular-loader.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-circular-loader.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button/evo-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button/evo-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button-old/evo-button-old.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button-old/evo-button-old.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/evo-button.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/templates/index.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/evo-icon-number.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/utils/clear-multiline.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal-outlet.class.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal-outlet.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/components/evo-radioshape.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/components/evo-radioshape.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/evo-radioshape.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/tokens.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-states.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-sizes.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/sidebar-injection-token.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-portal.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-events.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table-column/evo-table-column.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table-column/evo-table-column.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table/evo-table.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table/evo-table.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/enums/evo-tabs-size.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-state.collection.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs-size.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab/evo-tab.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab/evo-tab.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown-position-description.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown-origin.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.module.ts","../../../projects/evo-ui-kit/src/lib/common/constants/view-breakpoint-streams.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.module.ts","../../../projects/evo-ui-kit/src/public_api.ts","../../../projects/evo-ui-kit/src/evotor-dev-ui-kit.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';\n\n/* Create a new injection token for injecting the window into a component. */\nexport const WINDOW = new InjectionToken('WindowToken');\n\n/* Define abstract class for obtaining reference to the global window object. */\nexport abstract class WindowRef {\n\n get nativeWindow(): Window | Object {\n throw new Error('Not implemented.');\n }\n\n}\n\n/* Define class that implements the abstract class and returns the native window object. */\n@Injectable()\nexport class BrowserWindowRef extends WindowRef {\n constructor() {\n super();\n }\n\n get nativeWindow(): Window | Object {\n return window;\n }\n\n}\n\n/* Create an factory function that returns the native window object. */\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\n if (isPlatformBrowser(platformId)) {\n return browserWindowRef.nativeWindow;\n }\n return new Object();\n}\n\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\nconst browserWindowProvider: ClassProvider = {\n provide: WindowRef,\n useClass: BrowserWindowRef,\n};\n\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\nconst windowProvider: FactoryProvider = {\n provide: WINDOW,\n useFactory: windowFactory,\n deps: [ WindowRef, PLATFORM_ID ],\n};\n\n/* Create an array of providers. */\nexport const WINDOW_PROVIDERS = [\n browserWindowProvider,\n windowProvider,\n];\n","import {\n Directive,\n DoCheck,\n ElementRef,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n KeyValueChanges,\n KeyValueDiffer,\n KeyValueDiffers,\n Renderer2,\n ɵstringify as stringify,\n} from '@angular/core';\n\n// TODO: actualize to current realization of NgClass\n\nfunction isJsObject(o: any): boolean {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n\nfunction isListLikeIterable(obj: any): boolean {\n if (!isJsObject(obj)) return false;\n return (\n Array.isArray(obj) ||\n (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]\n Symbol.iterator in obj)\n ); // JS Iterable have a Symbol.iterator prop\n}\n\n/**\n * @usageNotes\n * ```\n * <some-element [evoUiClass]=\"'first second'\">...</some-element>\n *\n * <some-element [evoUiClass]=\"['first', 'second']\">...</some-element>\n *\n * <some-element [evoUiClass]=\"{'first': true, 'second': true, 'third': false}\">...</some-element>\n *\n * <some-element [evoUiClass]=\"stringExp|arrayExp|objExp\">...</some-element>\n *\n * <some-element [evoUiClass]=\"{'class1 class2 class3' : true}\">...</some-element>\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n */\n@Directive({\n selector: '[evoUiClass]',\n})\nexport class EvoUiClassDirective implements DoCheck {\n private iterableDiffer!: IterableDiffer<string> | null;\n private keyValueDiffer!: KeyValueDiffer<string, any> | null;\n private initialClasses: string[] = [];\n private rawClass!: string[] | Set<string> | {[klass: string]: any};\n\n constructor(\n private _iterableDiffers: IterableDiffers,\n private _keyValueDiffers: KeyValueDiffers,\n private _ngEl: ElementRef,\n private _renderer: Renderer2,\n ) {}\n\n @Input('class')\n set klass(value: string) {\n this.removeClasses(this.initialClasses);\n this.initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this.applyClasses(this.initialClasses);\n this.applyClasses(this.rawClass);\n }\n\n @Input()\n set evoUiClass(value: string | string[] | Set<string> | {[klass: string]: any}) {\n this.removeClasses(this.rawClass);\n this.applyClasses(this.initialClasses);\n\n this.iterableDiffer = null;\n this.keyValueDiffer = null;\n\n this.rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n\n if (this.rawClass) {\n if (isListLikeIterable(this.rawClass)) {\n this.iterableDiffer = this._iterableDiffers.find(this.rawClass).create();\n } else {\n this.keyValueDiffer = this._keyValueDiffers.find(this.rawClass).create();\n }\n }\n }\n\n ngDoCheck(): void {\n if (this.iterableDiffer) {\n const iterableChanges = this.iterableDiffer.diff(this.rawClass as string[]);\n if (iterableChanges) {\n this.applyIterableChanges(iterableChanges);\n }\n } else if (this.keyValueDiffer) {\n const keyValueChanges = this.keyValueDiffer.diff(this.rawClass as {[k: string]: any});\n if (keyValueChanges) {\n this.applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n\n private applyKeyValueChanges(changes: KeyValueChanges<string, any>): void {\n changes.forEachAddedItem((record) => this.toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this.toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this.toggleClass(record.key, false);\n }\n });\n }\n\n private applyIterableChanges(changes: IterableChanges<string>): void {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this.toggleClass(record.item, true);\n } else {\n throw new Error(\n `EvoUiClass can only toggle CSS classes expressed as strings, got ${stringify(record.item)}`,\n );\n }\n });\n\n changes.forEachRemovedItem((record) => this.toggleClass(record.item, false));\n }\n\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n private applyClasses(rawClassVal: string[] | Set<string> | {[klass: string]: any}) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal as any).forEach((klass: string) => this.toggleClass(klass, true));\n } else {\n Object.keys(rawClassVal).forEach((klass) => this.toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n private removeClasses(rawClassVal: string[] | Set<string> | {[klass: string]: any}) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal as any).forEach((klass: string) => this.toggleClass(klass, false));\n } else {\n Object.keys(rawClassVal).forEach((klass) => this.toggleClass(klass, false));\n }\n }\n }\n\n private toggleClass(klass: string, enabled: boolean): void {\n const prefix = this.initialClasses[0];\n\n const prefixClasses = (classes: string) => {\n return classes\n .trim()\n .split(' ')\n .filter((k) => k.trim())\n .map((k) => prefix + '_' + k)\n .join(' ');\n };\n\n klass = this.initialClasses.indexOf(klass) === -1 ? prefixClasses(klass) : klass.trim();\n\n if (klass) {\n klass.split(/\\s+/g).forEach((_klass) => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, _klass);\n } else {\n this._renderer.removeClass(this._ngEl.nativeElement, _klass);\n }\n });\n }\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[evoClickOutside]',\n})\nexport class EvoClickOutsideDirective {\n\n @Output()\n public evoClickOutside = new EventEmitter();\n\n constructor(private _elementRef: ElementRef) {\n }\n\n @HostListener('document:click', ['$event', '$event.target'])\n public onClick<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n this.clickOrTouchOutside(event, targetElement);\n }\n\n @HostListener('document:touchstart', ['$event', '$event.target'])\n public onTouchStart<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n this.clickOrTouchOutside(event, targetElement);\n }\n\n clickOrTouchOutside<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n if (!targetElement) {\n return;\n }\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.evoClickOutside.emit(event);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class EvoExpandedService {\n isExpandedChange$: Observable<boolean>;\n private isExpanded$ = new BehaviorSubject<boolean>(false);\n\n constructor() {\n this.isExpandedChange$ = this.isExpanded$.asObservable();\n }\n\n set isExpanded(value: boolean) {\n if (value !== this.isExpanded$.value) {\n this.isExpanded$.next(value);\n }\n }\n\n get isExpanded(): boolean {\n return this.isExpanded$.value;\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EvoExpandedService } from '../services/evo-expanded.service';\n\n@Directive({\n selector: '[evoIsExpanded]'\n})\nexport class EvoIsExpandedDirective implements OnInit, OnChanges, OnDestroy {\n @Input() evoIsExpanded: boolean;\n @Output() evoIsExpandedChange = new EventEmitter<boolean>(false);\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n @Optional() private expandedService: EvoExpandedService,\n ) { }\n\n ngOnInit(): void {\n if (this.expandedService) {\n this.expandedService.isExpanded = this.evoIsExpanded;\n }\n this.updateView();\n this.handleExpandedChange();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.evoIsExpanded && !changes.evoIsExpanded.isFirstChange()) {\n const isExpanded = changes.evoIsExpanded.currentValue;\n if (!this.expandedService) {\n this.evoIsExpandedChange.emit(isExpanded);\n this.updateView();\n return;\n }\n this.expandedService.isExpanded = isExpanded;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n handleExpandedChange(): void {\n this.expandedService?.isExpandedChange$.pipe(\n takeUntil(this.destroy$)\n ).subscribe(isExpanded => {\n if (isExpanded !== this.evoIsExpanded) {\n this.evoIsExpanded = isExpanded;\n this.evoIsExpandedChange.emit(isExpanded);\n }\n this.updateView();\n });\n }\n\n private updateView(): void {\n if (this.evoIsExpanded && this.viewContainer.length !== 0) {\n return;\n }\n if (this.evoIsExpanded) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n }\n}\n","import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nexport class EvoLetContext<T> {\n constructor(private readonly dir: EvoLetDirective<T>) {}\n\n public get evoLet(): T {\n return this.dir.evoLet;\n }\n}\n\n/**\n * Works like ngIf, but condition not affects on rendering.\n * Used for aliases.\n */\n@Directive({\n selector: '[evoLet]',\n})\nexport class EvoLetDirective<T> {\n @Input() evoLet!: T;\n\n constructor(\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<EvoLetContext<T>>,\n ) {\n viewContainer.createEmbeddedView(templateRef, new EvoLetContext<T>(this));\n }\n\n /**\n * Assert the correct type of the expression bound to the `evoLet` input within the template.\n *\n * The presence of this static field is a signal to the Ivy template type check compiler that\n * when the `EvoLetDirective` structural directive renders its template, the type of the expression bound\n * to `evoLet` should be narrowed in some way. For `EvoLetDirective`, the binding expression itself is used to\n * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `EvoLetDirective`.\n */\n static ngTemplateGuard_evoLet: 'binding';\n\n /**\n * Asserts the correct type of the context for the template that `EvoLetDirective` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `EvoLetDirective` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard<T>(dir: EvoLetDirective<T>, ctx: any): ctx is EvoLetContext<T> {\n return true;\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxPageScrollModule } from 'ngx-page-scroll';\n\nimport { WINDOW_PROVIDERS } from './services/window.service';\nimport { RouterModule } from '@angular/router';\n\nimport { EvoUiClassDirective } from './directives/evo-ui-class.directive';\nimport { EvoClickOutsideDirective } from './directives/evo-click-outside.directive';\nimport { EvoIsExpandedDirective, EvoLetDirective } from './directives';\n\nexport { WINDOW_PROVIDERS };\n\nconst directives = [\n EvoUiClassDirective,\n EvoClickOutsideDirective,\n EvoIsExpandedDirective,\n EvoLetDirective,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NgxPageScrollModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n ...directives,\n ],\n exports: [\n ...directives,\n ],\n providers: [\n WINDOW_PROVIDERS,\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA,\n ],\n})\nexport class EvoUiKitModule {\n}\n","import {EventEmitter} from '@angular/core';\nimport {AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup} from '@angular/forms';\n\nexport class FormHelper {\n static validateControls(control: AbstractControl) {\n if (control instanceof UntypedFormControl) {\n control.markAsDirty();\n control.markAsTouched();\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n } else if (control instanceof UntypedFormGroup || control instanceof UntypedFormArray) {\n for (const controlName of Object.keys(control.controls)) {\n FormHelper.validateControls(control.controls[controlName]);\n }\n }\n }\n\n static resetControls(control: AbstractControl) {\n if (control instanceof UntypedFormControl) {\n control.markAsPristine();\n control.markAsUntouched();\n control.setValue('', {\n emitEvent: false,\n onlySelf: true,\n });\n } else if (control instanceof UntypedFormGroup || control instanceof UntypedFormArray) {\n for (const controlName of Object.keys(control.controls)) {\n FormHelper.resetControls(control.controls[controlName]);\n }\n }\n }\n}\n","import { AbstractControl } from '@angular/forms';\nimport { IEvoControlState } from './evo-control-state.interface';\n\nexport class EvoControlStateManager {\n control: AbstractControl;\n\n constructor(control: AbstractControl, extraStates?: IEvoControlState) {\n this.control = control;\n }\n\n get currentState(): IEvoControlState {\n // TODO merge conditions with extraStates\n\n return {\n valid: this.control.dirty && this.control.touched && this.control.valid,\n invalid: this.control.dirty && this.control.touched && this.control.invalid,\n };\n }\n}\n","export enum EvoControlStates {\n valid = 'valid',\n invalid = 'invalid',\n}\n","import { Directive, Injector, Input } from '@angular/core';\nimport { AbstractControl, NgControl } from '@angular/forms';\nimport { IEvoControlState } from './evo-control-state-manager/evo-control-state.interface';\nimport { IEvoControlError } from '../components/evo-control-error';\nimport { EvoControlStates } from './evo-control-state-manager/evo-control-states.enum';\n\n@Directive()\n// tslint:disable-next-line:directive-class-suffix\nexport abstract class EvoBaseControl {\n\n @Input() errorsMessages: IEvoControlError;\n @Input() state: IEvoControlState;\n @Input() readonly autoFocus: boolean;\n\n private _control: AbstractControl;\n\n constructor(\n protected injector: Injector,\n ) {\n }\n\n get control(): AbstractControl {\n if (!this._control) {\n this.initBaseControl();\n }\n return this._control;\n }\n\n set control(control: AbstractControl) {\n this._control = control;\n }\n\n focus?(): void;\n\n initBaseControl() {\n const ngControl = this.injector?.get(NgControl, null);\n if (ngControl?.control) {\n this._control = ngControl?.control;\n }\n }\n\n get currentState(): IEvoControlState {\n return Object.assign(\n {\n valid: this.control ? this.control.dirty && this.control.touched && this.control.valid : undefined,\n invalid: this.control ? this.control.dirty && this.control.touched && this.control.invalid : undefined,\n },\n this.state,\n );\n }\n\n get showErrors(): boolean {\n return this.currentState[EvoControlStates.invalid];\n }\n\n}\n","import { trigger, transition, style, animate, state } from '@angular/animations';\n\nconst closeStateStyles = style({\n height: '0px',\n marginBottom: '0px',\n paddingBottom: '0px'\n});\n\nconst openStateStyles = style({\n height: '*',\n marginBottom: '*',\n paddingBottom: '*'\n});\n\nconst openStep = [\n closeStateStyles,\n animate('200ms ease-in-out', openStateStyles)\n];\n\nconst closeStep = [\n openStateStyles,\n animate('200ms ease-in-out', closeStateStyles),\n];\n\nexport const expandAnimation = trigger('expand', [\n state('open', openStateStyles),\n state('close', closeStateStyles),\n transition(':enter', openStep),\n transition(':leave', closeStep),\n transition('open => close', closeStep),\n transition('close => open', openStep)\n]);\n","import { transition, trigger } from '@angular/animations';\n\nexport const skipInitialRenderAnimation = trigger('skipInitialRender', [transition(':enter', [])]);\n","import { trigger, state, style, transition, animate } from '@angular/animations';\n\nexport const evoSidebarAnimationDuration = 500;\n\nexport const sidebarAnimation = trigger('open', [\n state('visible', style({\n transform: 'translateX(0px)',\n })),\n transition('hidden => visible', animate(`${evoSidebarAnimationDuration}ms ease-out`)),\n transition('visible => hidden', animate(`${evoSidebarAnimationDuration}ms ease-out`)),\n]);\n","export abstract class EvoCollection<T> extends Array<T> {\n public constructor() {\n super();\n throw new Error(`Inheritor of EvoCollection can't be instantiated, use EvoCollectionFabric.create() instead.`);\n }\n}\n","import { EvoCollection } from './evo-collection';\n\nexport class EvoCollectionFabric {\n static create<T extends EvoCollection<K>, K>(collectionType: (new () => T), itemType: (new (...args: any[]) => K), data: any[]) {\n const collection = Object.create(collectionType.prototype);\n\n for (let i = 0; i < data.length; i++) {\n collection.push(new itemType(data[i]));\n }\n\n return collection as T;\n }\n}\n","export function DeprecateMethod(message: string = ''): MethodDecorator {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const deprecatedMessage = `${target.constructor.name} method ${propertyKey} is deprecated. ${message}`;\n\n console.warn(deprecatedMessage);\n\n return descriptor;\n };\n}\n","export function DeprecateVariable(target: any, propertyKey: string) {\n const deprecatedMessage = `${target.constructor.name} variable ${propertyKey} is deprecated.`;\n let propertyValue;\n\n function getter() {\n console.warn(deprecatedMessage);\n return propertyValue;\n }\n\n function setter(value: any) {\n console.warn(deprecatedMessage);\n propertyValue = value;\n }\n\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n });\n}\n","import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport function enterZone(zone: NgZone) {\n return <T>(source: Observable<T>) =>\n new Observable<T>(observer =>\n source.subscribe({\n next: (x) => zone.run(() => observer.next(x)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n })\n );\n}\n","import { IconsCategory } from '../interfaces/icons-category';\nimport { IconsSource } from '../interfaces/icons-source';\n\nexport class EvoIconsLibrary {\n categories: { name: string; iconsNames: string[]; }[] = [];\n shapes: IconsSource = {};\n constructor(\n lib: IconsCategory[][]\n ) {\n lib.forEach(categoriesArray => {\n this.addCategories(categoriesArray);\n this.shapes = Object.assign(this.shapes, ...categoriesArray.map(iconsCategory => iconsCategory.shapes));\n });\n }\n\n addCategories(categoriesArray: IconsCategory[]): void {\n this.categories.push( ...categoriesArray.map(iconsCategory => {\n return {\n name: iconsCategory.name,\n iconsNames: Object.keys(iconsCategory.shapes)\n };\n })\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {EvoIconsLibrary} from './classes/evo-icons-library';\n\n@Component({\n selector: 'evo-icon',\n templateUrl: './evo-icon.component.html',\n styleUrls: ['./evo-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconComponent {\n @Input() set shape(shape: string) {\n this._shape = shape;\n const shapes = this.iconsService.shapes;\n if (!shapes[this._shape]) {\n throw new Error(\n `No icon with name \"${this._shape}\" was found. Please check UI Kit and import certain category to Icon Module`,\n );\n }\n this.content = this.sanitizer.bypassSecurityTrustHtml(shapes[this._shape]);\n }\n\n get shape(): string {\n return this._shape;\n }\n\n @Input() svgWidth = 24;\n\n @Input() svgHeight = 24;\n\n @Input() svgViewBox: string;\n\n content: SafeHtml;\n\n get viewBox(): string {\n if (this.svgViewBox) {\n return this.svgViewBox;\n }\n return `0 0 ${this.svgWidth} ${this.svgHeight}`;\n }\n\n @HostBinding('class.evo-icon') hostClass = true;\n\n get classes(): string[] {\n const classes = ['evo-icon'];\n if (this._shape) {\n classes.push('evo-icon_' + this._shape);\n }\n return classes;\n }\n\n private _shape: string;\n\n constructor(private readonly sanitizer: DomSanitizer, private readonly iconsService: EvoIconsLibrary) {}\n}\n","<svg\n [attr.width]=\"svgWidth\"\n [attr.height]=\"svgHeight\"\n [attr.viewBox]=\"viewBox\"\n preserveAspectRatio=\"xMidYMid meet\"\n [innerHTML]=\"content\"\n [ngClass]=\"classes\"\n ></svg>\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoIconComponent } from './evo-icon.component';\nimport { EvoIconsLibrary } from './classes/evo-icons-library';\nimport { IconsCategory } from './interfaces/icons-category';\n\nexport { EvoIconsLibrary } from './classes/evo-icons-library';\nexport function evoIconsLibraryGetter(iconsList: IconsCategory[][]) {\n return new EvoIconsLibrary(iconsList);\n}\n\nexport const ICONS_LIST_TOKEN = new InjectionToken<IconsCategory[]>('ICONS_LIST_TOKEN');\n\n// @dynamic\n@NgModule({\n imports: [\n CommonModule\n ],\n exports: [ EvoIconComponent ],\n declarations: [ EvoIconComponent ],\n})\nexport class EvoIconModule {\n static forRoot(iconsList: IconsCategory[]): ModuleWithProviders<EvoIconModule> {\n return {\n ngModule: EvoIconModule,\n providers: [{\n provide: ICONS_LIST_TOKEN,\n useValue: iconsList,\n multi: true,\n }, {\n provide: EvoIconsLibrary,\n useFactory: evoIconsLibraryGetter,\n deps: [ ICONS_LIST_TOKEN ],\n }]\n };\n }\n static forChild(iconsList: IconsCategory[]): ModuleWithProviders<EvoIconModule> {\n return {\n ngModule: EvoIconModule,\n providers: [{\n provide: ICONS_LIST_TOKEN,\n useValue: iconsList,\n multi: true,\n }, {\n provide: EvoIconsLibrary,\n useFactory: evoIconsLibraryGetter,\n deps: [ ICONS_LIST_TOKEN ],\n }]\n };\n }\n}\n","import { Component, HostBinding, Optional } from '@angular/core';\nimport { expandAnimation } from '../../../common/animations/expand.animation';\nimport { EvoIsExpandedDirective } from '../../../directives/evo-is-expanded.directive';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\n\n@Component({\n selector: 'evo-accordion-content',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion-content.component.scss'],\n animations: [expandAnimation],\n})\nexport class EvoAccordionContentComponent {\n @HostBinding('@expand') get expandAnimation() {\n if (this.evoIsExpandedDirective) {\n return;\n } else {\n return this.evoExpandedService.isExpanded ? 'open' : 'close';\n }\n }\n\n constructor(@Optional() private evoIsExpandedDirective: EvoIsExpandedDirective,\n private evoExpandedService: EvoExpandedService\n ) {\n }\n}\n","import { Component } from '@angular/core';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\n\n@Component({\n selector: 'evo-accordion-panel',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion-panel.component.scss'],\n providers: [EvoExpandedService],\n})\nexport class EvoAccordionPanelComponent {\n constructor(private evoExpandedService: EvoExpandedService) { }\n\n public toggle() {\n this.evoExpandedService.isExpanded = !this.evoExpandedService.isExpanded;\n }\n}\n","import { Component, HostListener, Input } from '@angular/core';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\nimport { animate, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'evo-accordion-title',\n templateUrl: './evo-accordion-title.component.html',\n styleUrls: ['./evo-accordion-title.component.scss'],\n animations: [\n trigger('toggleBlock', [\n transition(':leave', [\n style({opacity: 1}),\n animate('.3s ease-in-out',\n style({\n opacity: 0,\n })),\n ]),\n transition(':enter', [\n style({opacity: 0}),\n animate('.3s ease-in-out',\n style({\n opacity: 1,\n })),\n ]),\n ]),\n ],\n})\nexport class EvoAccordionTitleComponent {\n @Input() label: string;\n\n isExpanded$ = this.expandedService.isExpandedChange$;\n\n constructor(\n private expandedService: EvoExpandedService,\n ) {\n }\n\n @HostListener('click') onClick() {\n this.expandedService.isExpanded = !this.expandedService.isExpanded;\n }\n}\n","<ng-container *ngIf=\"label; else customContent\">\n <div class=\"evo-accordion-title\">\n <div class=\"evo-accordion-title__dot\"></div>\n <h4 class=\"evo-accordion-title__label evo-title evo-title_h4\">{{label}}</h4>\n <div *ngIf=\"{isExpanded: (isExpanded$ | async)} as asyncData\" class=\"evo-accordion-title__expander\">\n <evo-icon\n *ngIf=\"asyncData.isExpanded\"\n shape=\"fold\"\n @toggleBlock\n ></evo-icon>\n <evo-icon\n *ngIf=\"!asyncData.isExpanded\"\n shape=\"unfold\"\n @toggleBlock\n ></evo-icon>\n </div>\n </div>\n</ng-container>\n\n<ng-template #customContent>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\nimport { skipInitialRenderAnimation } from '../../common/animations/skip-initial-render.animation';\n\n@Component({\n selector: 'evo-accordion',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [skipInitialRenderAnimation]\n})\nexport class EvoAccordionComponent implements OnInit {\n @HostBinding('@skipInitialRender') skipInitialRender;\n constructor() { }\n\n ngOnInit(): void { }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { iconUnfoldMore, iconUnfoldLess } from '@evotor-dev/ui-kit/icons/navigation';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon';\nimport { EvoAccordionContentComponent } from './evo-accordion-content/evo-accordion-content.component';\nimport { EvoAccordionPanelComponent } from './evo-accordion-panel/evo-accordion-panel.component';\nimport { EvoAccordionTitleComponent } from './evo-accordion-title/evo-accordion-title.component';\nimport { EvoAccordionComponent } from './evo-accordion.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'navigation',\n shapes: {\n unfold: iconUnfoldMore,\n fold: iconUnfoldLess,\n },\n },\n ]),\n ],\n declarations: [\n EvoAccordionComponent,\n EvoAccordionTitleComponent,\n EvoAccordionPanelComponent,\n EvoAccordionContentComponent,\n ],\n exports: [\n EvoAccordionComponent,\n EvoAccordionTitleComponent,\n EvoAccordionPanelComponent,\n EvoAccordionContentComponent,\n ]\n})\nexport class EvoAccordionModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n/**\n * @deprecated use `EvoNoteComponent`\n */\nexport enum EvoAlertTypes {\n danger = 'danger',\n info = 'info',\n success = 'success',\n warning = 'warning',\n}\n\n/**\n * @deprecated use `EvoNoteComponent`\n */\nexport enum EvoAlertSizes {\n large = 'large',\n normal = 'normal',\n}\n\n/**\n * @deprecated use `EvoNoteComponent`\n */\nexport enum EvoAlertDefaultIcons {\n exclamation = 'exclamation',\n success = 'success',\n}\n\n@Component({\n selector: 'evo-alert',\n templateUrl: './evo-alert.component.html',\n styleUrls: [ './evo-alert.component.scss' ],\n})\n/**\n * @deprecated use `EvoNoteComponent`\n */\nexport class EvoAlertComponent {\n @Input() closable = false;\n @Input() icon: string;\n @Input() iconSrc: string;\n @Input() type: EvoAlertTypes = EvoAlertTypes.success;\n @Input() size: EvoAlertSizes = EvoAlertSizes.normal;\n\n @Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n hasDefaultIcon() {\n if (!this.icon) {\n return false;\n }\n\n return EvoAlertDefaultIcons[ this.icon ];\n }\n\n handleCloseClick() {\n this.close.emit();\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.type) {\n classes.push(this.type);\n }\n\n if (this.size) {\n classes.push(this.size);\n }\n\n return classes;\n }\n}\n","<div class=\"evo-alert\" [evoUiClass]=\"totalClasses\">\n <div class=\"evo-alert__close\"\n *ngIf=\"closable\"\n (click)=\"handleCloseClick()\"\n >\n <svg class=\"evo-alert__close-icon\"\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 11 11\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M3.26966 5.39098L0.439994 8.22065C-0.141952 8.8026 -0.144551 9.75494 0.441235 10.3407C1.03111 10.9306 1.97621 10.9271 2.56131 10.342L5.39098 7.5123L8.22065 10.342C8.8026 10.9239 9.75494 10.9265 10.3407 10.3407C10.9306 9.75086 10.9271 8.80575 10.342 8.22065L7.5123 5.39098L10.342 2.56131C10.9239 1.97937 10.9265 1.02702 10.3407 0.441235C9.75086 -0.148635 8.80575 -0.145107 8.22065 0.439994L5.39098 3.26966L2.56131 0.439994C1.97937 -0.141952 1.02702 -0.144551 0.441235 0.441235C-0.148635 1.03111 -0.145107 1.97621 0.439994 2.56131L3.26966 5.39098Z\"\n fill=\"#546E7A\" />\n </svg>\n </div>\n <div class=\"evo-alert__body\">\n <div class=\"evo-alert__icon\" *ngIf=\"hasDefaultIcon()\"\n [ngClass]=\"'evo-alert__icon_' + icon\"\n ></div>\n <div class=\"evo-alert__icon\" *ngIf=\"iconSrc\">\n <img [attr.src]=\"iconSrc\" alt=\"\">\n </div>\n <div class=\"evo-alert__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoAlertComponent } from './evo-alert.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoAlertComponent ],\n exports: [ EvoAlertComponent ],\n})\n/**\n * @deprecated use `EvoNoteModule`\n */\nexport class EvoAlertModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(url) {\n return this.sanitizer.bypassSecurityTrustHtml(url);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\nexport interface IEvoControlError {\n [error: string]: string;\n}\n\n@Component({\n selector: 'evo-control-error',\n templateUrl: './evo-control-error.component.html',\n styleUrls: ['./evo-control-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoControlErrorComponent {\n @Input() errors: ValidationErrors | null;\n @Input() errorsMessages: IEvoControlError;\n @Input() showCount = 1;\n\n private defaultErrorMessages: IEvoControlError = {\n required: 'Заполните поле',\n email: 'Неправильно указана почта',\n phone: 'Введите телефон',\n };\n\n get errorsMap(): string[] {\n const messages = {\n ...this.defaultErrorMessages,\n ...(this.errorsMessages || {}),\n };\n const errorKeys = Object.keys(this.errors || {});\n const result: string[] = [];\n for (let index = 0; index < this.showCount && index < errorKeys.length; index++) {\n if (messages[errorKeys[index]]) {\n result.push(messages[errorKeys[index]]);\n }\n }\n return result;\n }\n}\n","<div\n class=\"evo-error\"\n *ngFor=\"let errorMsg of errorsMap\"\n [innerHTML]=\"errorMsg | safeHtml\"\n></div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n COMPOSITION_BUFFER_MODE,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport {EvoControlStates} from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {fromEvent, Subject} from 'rxjs';\nimport {debounceTime, map, takeUntil, tap} from 'rxjs/operators';\nimport {enterZone} from '../../operators';\nimport * as IMask from 'imask';\n\nexport enum EvoInputSizes {\n small = 'small',\n normal = 'normal',\n}\n\nexport enum EvoInputTheme {\n default = 'default',\n rounded = 'rounded',\n}\n\n@Component({\n selector: 'evo-input',\n templateUrl: './evo-input.component.html',\n styleUrls: ['./evo-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EvoInputComponent),\n multi: true,\n },\n ],\n})\nexport class EvoInputComponent\n extends EvoBaseControl\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy, Validator {\n\n @Input() autoFocus: boolean;\n // tslint:disable-next-line\n @Input('data-cp') dataCp: string;\n @Input() icon: string;\n @Input() mask: any;\n @Input() placeholder: string;\n @Input() tooltip: string;\n @Input() type = 'text';\n @Input() disabled = false;\n @Input() loading = false;\n @Input() prefix = '';\n @Input() autocomplete: string;\n @Input() inputDebounce = 50;\n @Input() unmask: boolean | 'typed' = false;\n @Input() clearable = false;\n @Input() maskValidation = false;\n\n @Output() blur: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input', {static: true}) inputElement: ElementRef;\n @ViewChild('tooltipContainer', {static: true}) tooltipElement: ElementRef;\n\n size: EvoInputSizes = EvoInputSizes.normal;\n theme: EvoInputTheme = EvoInputTheme.default;\n _value: string;\n customTooltipChecked = false;\n uiStates = {\n hasCustomTooltip: false,\n isTooltipVisible: false,\n isFocused: false,\n };\n\n private iMask: IMask.InputMask<any>;\n\n private tooltipVisibilityTimeout = false;\n\n private destroy$ = new Subject<void>();\n\n /** Whether the user is creating a composition string (IME events). */\n private _composing = false;\n\n constructor(\n private zone: NgZone,\n private changeDetector: ChangeDetectorRef,\n private _renderer: Renderer2,\n @Optional() @Inject(COMPOSITION_BUFFER_MODE) private _compositionMode: boolean,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n @Input('value') set setValue(value) {\n this._value = value;\n }\n\n @Input('size') set setSize(size: EvoInputSizes | string) {\n if (EvoInputSizes[size]) {\n this.size = EvoInputSizes[size];\n }\n }\n\n @Input('theme') set setTheme(theme: string | EvoInputTheme) {\n if (EvoInputTheme[theme]) {\n this.theme = EvoInputTheme[theme];\n }\n }\n\n get isDisabled() {\n if (this.loading) {\n return true;\n }\n return this.disabled;\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (value || this._value) {\n this._value = this.removePrefix(value);\n this.onChange(this.prefix + (this._value || ''));\n this.changeDetector.detectChanges();\n }\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n 'focused': this.uiStates.isFocused,\n 'disabled': this.isDisabled,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n [`size-${this.size}`]: this.size !== EvoInputSizes.normal,\n [`theme-${this.theme}`]: true,\n };\n }\n\n get hasAdditional(): boolean {\n return !!this.tooltip || this.uiStates.hasCustomTooltip || !!this.icon;\n }\n\n set maskValue(value: any) {\n const normalizedValue = value ?? '';\n if (this.iMask) {\n if (this.unmask === 'typed') {\n this.iMask.typedValue = normalizedValue;\n } else if (this.unmask) {\n this.iMask.unmaskedValue = normalizedValue;\n } else {\n this.iMask.value = normalizedValue;\n }\n } else {\n this.writeToElement(normalizedValue);\n }\n }\n\n get maskValue(): any {\n if (!this.iMask) {\n return this.inputElement.nativeElement.value;\n }\n if (this.unmask === 'typed') {\n return this.iMask.typedValue;\n }\n if (this.unmask) {\n return this.iMask.unmaskedValue;\n }\n return this.iMask.value;\n }\n\n get isClearable(): boolean {\n return this.clearable && !this.disabled;\n }\n\n ngOnInit() {\n\n const inputEl = this.inputElement.nativeElement;\n\n this.zone.runOutsideAngular(() => {\n\n if (this.mask) {\n this.createMaskInstance(this.mask);\n }\n\n fromEvent(inputEl, 'input')\n .pipe(\n debounceTime(this.inputDebounce),\n map((e: InputEvent) => {\n if (this.iMask) {\n return this.maskValue;\n }\n return (e.target as HTMLInputElement).value;\n }),\n enterZone(this.zone),\n tap((value: string) => {\n this.value = value;\n }),\n takeUntil(this.destroy$),\n ).subscribe();\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n if (this.iMask) {\n this.destroyMask();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes) {\n return;\n }\n\n const {mask} = changes;\n\n if (mask && !mask.firstChange) {\n const newMaskOptions = mask.currentValue;\n if (newMaskOptions) {\n if (this.iMask) {\n this.iMask.updateOptions(newMaskOptions);\n } else {\n this.createMaskInstance(newMaskOptions);\n }\n } else {\n this.destroyMask();\n }\n }\n }\n\n onChange(value) {\n // this is intentional\n }\n\n onTouched() {\n // this is intentional\n }\n\n ngAfterViewInit() {\n if (this.autoFocus) {\n this.inputElement.nativeElement.focus();\n }\n this.checkCustomTooltip();\n }\n\n writeToElement(value: any) {\n this._renderer.setProperty(this.inputElement.nativeElement, 'value', value);\n }\n\n writeValue(value: any): void {\n if (value === this._value) {\n return;\n }\n\n this.value = value;\n\n if (this.mask) {\n this.maskValue = value;\n } else {\n this.writeToElement(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n this.changeDetector.detectChanges();\n }\n\n onFocus(): void {\n if (!this.uiStates.isFocused) {\n this.uiStates.isFocused = true;\n }\n }\n\n onBlur(): void {\n this.uiStates.isFocused = false;\n this.onTouched();\n this.blur.emit();\n }\n\n onTooltipClick(event: any): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onClear(): void {\n this.writeValue('');\n }\n\n hideTooltip() {\n this.tooltipVisibilityTimeout = true;\n\n setTimeout(() => {\n if (this.tooltipVisibilityTimeout) {\n this.uiStates.isTooltipVisible = false;\n }\n }, 25);\n }\n\n showTooltip() {\n this.uiStates.isTooltipVisible = true;\n this.tooltipVisibilityTimeout = false;\n }\n\n // Composition handling is taken from:\n // https://github.com/angular/angular/blob/11.0.3/packages/forms/src/directives/default_value_accessor.ts#L152\n _compositionStart(): void {\n this._composing = true;\n }\n\n _compositionEnd(value: any): void {\n this._composing = false;\n if (this._compositionMode) {\n this.value = value;\n }\n }\n\n private removePrefix(value: any): any {\n if (\n typeof value === 'string' &&\n value.indexOf(this.prefix) === 0\n ) {\n return value.replace(this.prefix, '');\n }\n return value;\n }\n\n private createMaskInstance(opts: any) {\n this.iMask = new IMask.InputMask(\n this.inputElement.nativeElement,\n opts\n );\n }\n\n private destroyMask() {\n this.iMask?.destroy();\n this.iMask = null;\n }\n\n private checkCustomTooltip() {\n this.uiStates.hasCustomTooltip = this.tooltipElement &&\n this.tooltipElement.nativeElement &&\n this.tooltipElement.nativeElement.children.length > 0;\n this.customTooltipChecked = true;\n this.changeDetector.detectChanges();\n }\n\n validate() {\n if (this.maskValidation && this.mask && !this.iMask.masked.isComplete) {\n return { mask: true };\n }\n return null;\n }\n}\n","<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\"></ng-content>\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\"></ng-content>\n </div>\n <span\n class=\"evo-input__prefix\" *ngIf=\"prefix\"\n [evoUiClass]=\"{focused: !isDisabled && !!value || uiStates.isFocused }\"\n >{{prefix}}</span>\n <input\n #input\n class=\"evo-input__field\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n type=\"{{ type }}\"\n [attr.autocomplete]=\"autocomplete\"\n placeholder=\"{{ placeholder }}\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n >\n <div *ngIf=\"loading; else sideBlock\" class=\"evo-input__loading-spinner\"></div>\n <ng-template #sideBlock>\n <div\n *ngIf=\"isClearable\"\n class=\"evo-input__clearable\"\n (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\"></evo-icon>\n </div>\n <div class=\"evo-input__additional\" *ngIf=\"hasAdditional\">\n <evo-icon\n shape=\"help\" class=\"evo-input__tooltip\"\n *ngIf=\"tooltip || uiStates.hasCustomTooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n ></evo-icon>\n <div class=\"evo-input__icon\" *ngIf=\"icon\">\n <img [attr.src]=\"icon\">\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"!customTooltipChecked || uiStates.isTooltipVisible\"\n [hidden]=\"!customTooltipChecked\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n #tooltipContainer\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\"></ng-content>\n </div>\n</label>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isUndefined } from 'lodash-es';\n\n@Pipe({\n name: 'declination',\n})\nexport class DeclinationPipe implements PipeTransform {\n transform(value: number | string, titles: string[], noNum: boolean = false): string {\n if (isUndefined(value)) { return null; }\n\n const preparedValue: any = typeof value === 'string' ?\n (value as string).replace(',', '.') :\n value;\n\n let result = null;\n let count = preparedValue % 100;\n if (count >= 5 && count <= 20) {\n result = titles['2'];\n } else {\n count = count % 10;\n if (count === 1) {\n result = titles['0'];\n } else if (count >= 2 && count <= 4) {\n result = titles['1'];\n } else {\n result = titles['2'];\n }\n }\n return noNum ? result : preparedValue + ' ' + result;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { DeclinationPipe } from './declination.pipe';\n\n@NgModule({\n declarations: [DeclinationPipe, SafeHtmlPipe],\n exports: [DeclinationPipe, SafeHtmlPipe]\n})\nexport class EvoPipesModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoControlErrorComponent } from './evo-control-error.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoPipesModule } from '../../pipes';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoPipesModule,\n ],\n declarations: [ EvoControlErrorComponent ],\n exports: [ EvoControlErrorComponent ],\n})\nexport class EvoControlErrorModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[evoInputIcon]',\n})\nexport class EvoInputIconDirective {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoInputComponent } from './evo-input.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { FormsModule } from '@angular/forms';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconHelp, iconDecline } from '@evotor-dev/ui-kit/icons/system';\nimport { EvoInputIconDirective } from './evo-input-icon/evo-input-icon.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n IMaskModule,\n EvoIconModule.forRoot([{\n name: 'icons',\n shapes: {\n help: iconHelp,\n decline: iconDecline,\n },\n }]),\n ],\n declarations: [\n EvoInputComponent,\n EvoInputIconDirective,\n EvoInputIconDirective,\n ],\n exports: [\n EvoInputComponent,\n EvoInputIconDirective,\n ],\n})\nexport class EvoInputModule {\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NgControl} from '@angular/forms';\nimport {merge, Subject} from 'rxjs';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {delay, takeUntil, tap} from 'rxjs/operators';\nimport {isNull} from 'lodash-es';\nimport {EvoInputTheme} from '../../evo-input';\nimport {iconDecline} from '@evotor-dev/ui-kit/icons/system';\nimport {EvoAutocompleteSize} from '../types/evo-autocomplete-size';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = ((term: string) => any | Promise<any>);\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (key: string | object, children: any[]) => string | object;\n\n@Component({\n // tslint:disable-next-line\n selector: 'evo-autocomplete',\n templateUrl: './evo-autocomplete.component.html',\n styleUrls: ['./evo-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EvoAutocompleteComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n theme: EvoInputTheme = EvoInputTheme.default;\n\n @Input() size: EvoAutocompleteSize = 'normal';\n\n isFocused = false;\n isSelectbox = false;\n\n // Inputs\n @Input() isOpen;\n @Input() items: any[];\n @Input() bindLabel: string;\n @Input() bindValue: string;\n @Input() markFirst = true;\n @Input() placeholder: string;\n @Input() notFoundText = 'Не найдено';\n @Input() typeToSearchText: string;\n @Input() addTagText = 'Добавить тэг';\n @Input() loadingText = 'Идет поиск...';\n @Input() clearAllText: string;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() appendTo: string;\n @Input() loading: boolean;\n @Input() closeOnSelect = true;\n @Input() hideSelected: boolean;\n @Input() selectOnTab: boolean;\n @Input() openOnEnter: boolean;\n @Input() maxSelectedItems: number;\n // tslint:disable-next-line\n @Input() groupBy: string | Function;\n @Input() groupValue: GroupValueFn;\n @Input() bufferAmount = 4;\n @Input() virtualScroll: boolean;\n @Input() selectableGroup: boolean;\n @Input() selectableGroupAsModel = true;\n @Input() searchFn: () => {};\n @Input() clearOnBackspace = true;\n @Input() typeahead: Subject<string>;\n @Input() multiple: boolean;\n @Input() multipleInline: boolean;\n @Input() addTag: boolean | AddTagFn;\n @Input() searchable = true;\n @Input() clearable = true;\n @Input() errorsMessages: {[key: string]: string};\n @Input() compareWith: CompareWithFn;\n\n // Fix: https://github.com/ng-select/ng-select/pull/1257\n // Don't work with custom template - labelTemp\n @Input() editQuery = false;\n\n // Outputs\n /* eslint-disable @angular-eslint/no-output-rename */\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{term: string, items: any[]}>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scrollEvent = new EventEmitter<{start: number; end: number}>();\n @Output('scrollToEnd') scrollToEndEvent = new EventEmitter();\n /* eslint-enable @angular-eslint/no-output-rename */\n\n @ViewChild(NgSelectComponent)\n ngSelectComponent: NgSelectComponent;\n\n @ContentChild('labelTemp', { read: TemplateRef }) labelTemp: TemplateRef<any>;\n @ContentChild('multiLabelTemp', { read: TemplateRef }) multiLabelTemp: TemplateRef<any>;\n @ContentChild('optionTemp', {read: TemplateRef}) optionTemp: TemplateRef<any>;\n\n protected inputVal: string;\n\n protected readonly _destroy$ = new Subject<void>();\n\n protected _value: any;\n\n protected inputEl: HTMLInputElement;\n\n constructor(\n private cdr: ChangeDetectorRef,\n public control: NgControl,\n ) {\n control.valueAccessor = this;\n }\n\n @Input('isSelectbox') set setSelectbox(isSelectbox: boolean) {\n this.clearable = false;\n this.editQuery = false;\n this.searchable = false;\n this.notFoundText = '';\n this.isSelectbox = isSelectbox;\n }\n\n @Input('theme') set setTheme(theme: string | EvoInputTheme) {\n if (EvoInputTheme[theme]) {\n this.theme = EvoInputTheme[theme];\n }\n }\n\n get hasErrors(): boolean {\n return this.control.dirty && this.control.touched && this.control.invalid;\n }\n\n get classes(): {[key: string]: boolean} {\n return {\n 'is-multiple-inline': this.multipleInline,\n 'is-edit-query': this.editQuery,\n 'is-selectbox': this.isSelectbox,\n 'disabled': this.control.disabled,\n 'touched': this.control.touched,\n 'valid': this.control.valid,\n 'invalid': this.control.invalid,\n [`theme-${ this.theme }`]: true,\n [`size-${this.size}`]: true,\n };\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (value !== this._value) {\n this._value = value;\n this._onChange(value);\n }\n }\n\n getMultipleInlineItemsLabels(items: any[]): string {\n if (!items || !Array.isArray(items) || items.length === 0) {\n return '';\n }\n return items.map((item) => item[this.bindLabel] || '').filter((item) => item !== '').join(', ');\n }\n\n ngAfterViewInit(): void {\n if (this.editQuery) {\n this.editQueryMode();\n }\n\n this.patchClearButtonIcon();\n\n // prevent option click to close evo-modal\n this.ngSelectComponent.element.addEventListener('click', (e) => {\n if ((e.target as HTMLElement).closest('.ng-option')) {\n e.stopPropagation();\n }\n });\n\n // Allows to mark view for check\n // if control was validated with FormHelper.validate\n // and it's touched\n this.control.control.statusChanges.pipe(\n takeUntil(this._destroy$),\n tap(() => this.cdr.markForCheck()),\n ).subscribe();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n writeValue(value: any): void {\n this.value = value;\n if (this.ngSelectComponent) {\n this.ngSelectComponent.writeValue(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.ngSelectComponent) {\n this.ngSelectComponent.setDisabledState(isDisabled);\n }\n }\n\n // TODO: investigate and remove\n editQueryMode(): void {\n const ngSelectEl: HTMLElement = this.ngSelectComponent.element;\n this.inputEl = ngSelectEl.querySelector('.ng-input input');\n const streams$ = [\n this.changeEvent.pipe(\n delay(0),\n tap(() => {\n this.resetSearchQuery();\n this.inputEl.value = this.inputVal || '';\n }),\n ),\n this.closeEvent.pipe(\n delay(0),\n tap(() => {\n this.resetSearchQuery();\n if (ngSelectEl.classList.contains('ng-select-focused')) {\n this.inputEl.value = this.inputVal || '';\n }\n }),\n ),\n this.focusEvent.pipe(\n tap(() => {\n this.resetSearchQuery();\n this.inputEl.value = this.inputVal || '';\n }),\n ),\n this.blurEvent.pipe(\n tap(() => {\n this.inputEl.value = '';\n }),\n ),\n ];\n\n if (this.control.valueChanges) {\n streams$.push(\n this.control.valueChanges.pipe(\n tap((value) => {\n if (!isNull(value)) {\n this.resetSearchQuery();\n return;\n }\n this.inputVal = '';\n this.inputEl.value = '';\n }),\n )\n );\n }\n\n merge(...streams$).pipe(\n takeUntil(this._destroy$),\n ).subscribe();\n }\n\n resetSearchQuery(): void {\n const currentItem = this.ngSelectComponent.selectedItems[0];\n this.inputVal = currentItem?.label || '';\n }\n\n focus(): void {\n this.ngSelectComponent.focus();\n }\n\n blur(): void {\n this.ngSelectComponent.blur();\n }\n\n open(): void {\n this.ngSelectComponent.open();\n }\n\n close(): void {\n this.ngSelectComponent.close();\n }\n\n onFocus(event: FocusEvent): void {\n this.isFocused = true;\n this._onTouched();\n if (this.control.value) {\n this.focusEvent.emit(event);\n }\n }\n\n onBlur(event: FocusEvent): void {\n this.isFocused = false;\n this.blurEvent.emit(event);\n }\n\n onClearClick(): void {\n this.ngSelectComponent.handleClearClick();\n }\n\n protected _onChange = (value) => {\n }\n\n protected _onTouched = () => {\n }\n\n /**\n * Try to patch clear button icon\n */\n protected patchClearButtonIcon(): void {\n const originalShowClearFn = this.ngSelectComponent.showClear;\n const ngSelectElement = this.ngSelectComponent;\n let patchTimeout = null;\n this.ngSelectComponent.showClear = function () {\n const isClearButtonVisible = originalShowClearFn.bind(this)();\n if (isClearButtonVisible) {\n if (patchTimeout) {\n clearTimeout(patchTimeout);\n }\n patchTimeout = setTimeout(() => {\n const ngClearWrapperElement = ngSelectElement.element.querySelector('.ng-clear-wrapper');\n if (!ngClearWrapperElement) {\n return;\n }\n // tslint:disable-next-line:max-line-length\n ngClearWrapperElement.innerHTML = `<span class=\"ng-clear ng-clear_patched\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">${ iconDecline }</svg></span>`;\n });\n }\n return isClearButtonVisible;\n };\n }\n}\n","<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [(ngModel)]=\"value\"\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n <ng-template\n *ngIf=\"labelTemp\"\n ng-label-tmp\n let-item=\"item\"\n >\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"></ng-template>\n </ng-template>\n\n <!-- Overall Lable For All Selected Items Template -->\n <ng-template\n *ngIf=\"multiLabelTemp\"\n ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\"\n >\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: { items: items, clear: clear }\"></ng-template>\n </ng-template>\n\n <!-- Option Template -->\n <ng-template\n *ngIf=\"optionTemp\"\n ng-option-tmp\n let-item=\"item\"\n let-index=\"index\"\n let-search=\"searchTerm\"\n let-item$=\"item$\"\n >\n <ng-template *ngTemplateOutlet=\"optionTemp; context: { item: item, index: index, searchTerm: search, item$: item$}\"></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"multipleInline && !multiLabelTemp\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">\n {{ getMultipleInlineItemsLabels(items) }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n <div class=\"ng-option disabled\" *ngIf=\"typeToSearchText\">{{typeToSearchText}}</div>\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{loadingText}}</div>\n </ng-template>\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{notFoundText}}</div>\n </ng-template>\n </ng-select>\n <evo-control-error\n *ngIf=\"hasErrors && errorsMessages\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n ></evo-control-error>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport { EvoBaseControl } from '../../common/evo-base-control';\n\n@Component({\n selector: 'evo-checkbox',\n templateUrl: './evo-checkbox.component.html',\n styleUrls: ['./evo-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class EvoCheckboxComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input('indeterminate') set setIndeterminate(value) {\n this.indeterminate = value;\n }\n\n @Output() indeterminateChange = new EventEmitter<boolean>();\n\n @ViewChild('inputElement') inputElement: ElementRef;\n\n indeterminate = undefined;\n\n disabled = false;\n private _value: boolean;\n\n constructor(protected injector: Injector, private cdr: ChangeDetectorRef) {\n super(injector);\n }\n\n onChange(_) {\n }\n\n onTouched() {\n }\n\n get value(): boolean {\n return this._value;\n }\n\n set value(value: boolean) {\n this._value = value;\n this.onChange(value);\n this.cdr.detectChanges();\n }\n\n get checkboxClass() {\n return {\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n onInputChange(value) {\n this.value = value;\n if (this.indeterminate === true) {\n this.indeterminate = false;\n this.indeterminateChange.emit(false);\n }\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n this.cdr.detectChanges();\n }\n\n}\n","<label class=\"evo-checkbox\">\n <input\n #inputElement\n class=\"evo-checkbox__input\"\n type=\"checkbox\"\n [indeterminate]=\"indeterminate\"\n [evoUiClass]=\"checkboxClass\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onInputChange($event)\"\n >\n <span class=\"evo-checkbox__text\">\n <ng-content></ng-content>\n </span>\n</label>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoCheckboxComponent } from './evo-checkbox.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoCheckboxComponent ],\n exports: [ EvoCheckboxComponent ],\n})\nexport class EvoCheckboxModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'evo-autocomplete-default-option',\n templateUrl: './evo-autocomplete-default-option.component.html',\n styleUrls: ['./evo-autocomplete-default-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoAutocompleteDefaultOptionComponent {\n @Input() hasCheckbox: boolean;\n\n @Input() label: string;\n @Input() description: string;\n @Input() isDisabled: boolean;\n @Input() isSelected: boolean;\n\n @HostBinding('class.has-checkbox') get hasCheckboxClass(): boolean {\n return this.hasCheckbox;\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n onSelectedChange(e): void {\n this.cdr.markForCheck();\n }\n\n onCheckboxClick(e: Event): void {\n e.preventDefault();\n e.stopImmediatePropagation();\n if (e.target) {\n (e.target as HTMLElement).closest('.ng-option')?.dispatchEvent(new Event('click'));\n }\n }\n}\n","<div class=\"option option_has-checkbox\" *ngIf=\"hasCheckbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >{{ label }}</evo-checkbox>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n<div class=\"option\" *ngIf=\"!hasCheckbox\">\n <div class=\"option__label\">{{ label }}</div>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoAutocompleteComponent } from './components/evo-autocomplete.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { EvoCheckboxModule } from '../evo-checkbox';\nimport { EvoAutocompleteDefaultOptionComponent } from './components/templates/evo-autocomplete-default-option.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n EvoCheckboxModule,\n NgSelectModule,\n IMaskModule,\n ],\n declarations: [\n EvoAutocompleteComponent,\n EvoAutocompleteDefaultOptionComponent,\n ],\n exports: [\n EvoAutocompleteComponent,\n EvoAutocompleteDefaultOptionComponent,\n ],\n})\nexport class EvoAutocompleteModule {\n}\n","import {concat, Observable, of, Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, switchMap} from 'rxjs/operators';\n\nexport function switchQueryToList(\n queryStream: Subject<string>,\n switchMapFn: (query: string) => Observable<any[]>,\n initialList = [],\n debounce = 300,\n): Observable<any[]> {\n return concat(\n of(initialList),\n queryStream.pipe(debounceTime(debounce), distinctUntilChanged(), switchMap(switchMapFn)),\n ) as Observable<any[]>;\n}\n","/**\n * @deprecated use an DadataCompanyType\n */\nexport enum DaDataEntityTypes {\n legal = 'LEGAL',\n individual = 'INDIVIDUAL',\n}\n\n/**\n * @deprecated use an DadataPartySuggestion\n */\nexport class DaDataParty {\n name: {\n full: string,\n full_with_opf: string,\n latin: string,\n short: string,\n short_with_opf: string,\n };\n\n management: {\n name: string,\n post: string,\n };\n\n address: {\n value: string,\n data: any,\n };\n\n inn: string;\n kpp: string;\n okpo: string;\n ogrn: string;\n okved: string;\n okato: string;\n\n type: DaDataEntityTypes;\n\n constructor(data?: any) {\n Object.assign(this, data);\n }\n\n get legalName(): string {\n return this.name ? this.name.short_with_opf || this.name.full_with_opf : null;\n }\n\n get contactPerson(): string {\n if (this.management) {\n return this.management.name;\n } else {\n return this.name ? this.name.full : '';\n }\n }\n}\n","export enum DadataFounderShareType {\n PERCENT = 'PERCENT',\n DECIMAL = 'DECIMAL',\n FRACTION = 'FRACTION',\n}\n\nexport enum DadataCompanyType {\n LEGAL = 'LEGAL',\n INDIVIDUAL = 'INDIVIDUAL',\n}\n\nexport enum DadataCompanyBranchType {\n MAIN = 'MAIN',\n BRANCH = 'BRANCH',\n}\n\nexport enum DadataCompanyStatus {\n ACTIVE = 'ACTIVE',\n LIQUIDATING = 'LIQUIDATING',\n LIQUIDATED = 'LIQUIDATED',\n REORGANIZING = 'REORGANIZING',\n BANKRUPT = 'BANKRUPT',\n}\n\nexport enum DadataBankStatus {\n ACTIVE = 'ACTIVE',\n LIQUIDATING = 'LIQUIDATING',\n LIQUIDATED = 'LIQUIDATED',\n}\n\nexport enum DadataBankType {\n CBR = 'CBR',\n BANK = 'BANK',\n BANK_BRANCH = 'BANK_BRANCH',\n NKO = 'NKO',\n NKO_BRANCH = 'NKO_BRANCH',\n RKC = 'RKC',\n TREASURY = 'TREASURY',\n OTHER = 'OTHER'\n}\n\nexport enum DadataManagerType {\n EMPLOYEE = 'EMPLOYEE',\n FOREIGNER = 'FOREIGNER',\n LEGAL = 'LEGAL',\n}\n\nexport interface DadataMetro {\n name: string;\n line: string;\n distance: string;\n}\n\nexport interface DadataFio {\n gender?: string;\n name: string;\n patronymic: string;\n qc?: any;\n source?: string;\n surname: string;\n}\n\nexport interface DadataManager {\n ogrn: string;\n inn: string;\n name: string;\n fio: DadataFio;\n post: string;\n hid: string;\n type: DadataManagerType;\n}\n\nexport interface DadataReorganized {\n ogrn: string;\n inn: string;\n name: string;\n}\n\nexport interface DadataPartyOPF {\n code: string;\n full: string;\n short: string;\n type: string;\n}\n\nexport interface DadataFounderShare {\n type: DadataFounderShareType;\n value?: number;\n numerator?: number;\n denominator?: number;\n}\n\nexport interface DadataFounder {\n ogrn: string;\n inn: string;\n name: string;\n fio: DadataFio;\n hid: string;\n type: string;\n share: DadataFounderShare;\n}\n\nexport interface DadataFioSuggestion {\n surname: string;\n name: string;\n patronymic: string;\n gender: string;\n source: string;\n qc: string;\n}\n\nexport interface DadataFTSSuggestion {\n type: string;\n name: string;\n code: string;\n address: string;\n}\n\nexport interface DadataAuthoritiesSuggestion {\n fts_registration?: DadataFTSSuggestion;\n fts_report?: DadataFTSSuggestion;\n pf?: DadataFTSSuggestion;\n sif?: DadataFTSSuggestion;\n}\n\nexport interface DadataFinance {\n tax_system?: string;\n income?: number;\n expense?: number;\n debt?: number;\n penalty?: number;\n year?: number;\n}\n\nexport interface DadataState<T> {\n actuality_date?: number;\n registration_date?: number;\n liquidation_date?: number;\n code?: string;\n status?: T;\n}\n\nexport interface DadataSecondaryOKVED {\n main: boolean;\n type: string;\n code: string;\n name: string;\n}\n\nexport interface DadataPartyDocumentRegistration {\n type: string;\n series: string;\n number: string;\n issue_date: number;\n issue_authority: string;\n}\n\nexport interface DadataPartyDocument {\n fts_registration: DadataPartyDocumentRegistration;\n pf_registration: DadataPartyDocumentRegistration;\n sif_registration: DadataPartyDocumentRegistration;\n smb: {\n type: string;\n category: string;\n issue_date: number;\n };\n}\n\nexport interface DadataPartyLicence {\n series: string;\n number: string;\n issue_date: number;\n issue_authority: string;\n suspend_date: number;\n suspend_authority: string;\n valid_from: number;\n valid_to: number;\n activities: string[];\n addresses: string[];\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=262996078\n */\nexport interface DadataBankSuggestion {\n bic?: string;\n swift?: string;\n inn?: string;\n kpp?: string;\n correspondent_account?: string;\n treasury_accounts?: string[];\n registration_number?: string;\n name?: {\n payment?: string;\n short?: string;\n };\n payment_city?: string;\n opf?: {\n type?: DadataBankType;\n };\n address?: DadataSuggestion<DadataAddressSuggestion>;\n source?: string;\n qc?: string;\n state?: DadataState<DadataBankStatus>;\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669107\n */\nexport interface DadataAddressSuggestion {\n postal_code?: string;\n country?: string;\n country_iso_code?: string;\n federal_district?: string;\n region_fias_id?: string;\n region_kladr_id: string;\n region_iso_code?: string;\n region_with_type?: string;\n region_type?: string;\n region_type_full?: string;\n region?: string;\n area_fias_id?: string;\n area_kladr_id?: string;\n area_with_type?: string;\n area_type?: string;\n area_type_full?: string;\n area?: string;\n city_fias_id?: string;\n city_kladr_id?: string;\n city_with_type?: string;\n city_type?: string;\n city_type_full?: string;\n city?: string;\n city_district_fias_id?: string;\n city_district_kladr_id?: string;\n city_district_with_type?: string;\n city_district_type?: string;\n city_district_type_full?: string;\n city_district?: string;\n settlement_fias_id?: string;\n settlement_kladr_id?: string;\n settlement_with_type?: string;\n settlement_type?: string;\n settlement_type_full?: string;\n settlement?: string;\n street_fias_id?: string;\n street_kladr_id?: string;\n street_with_type?: string;\n street_type?: string;\n street_type_full?: string;\n street?: string;\n house_fias_id?: string;\n house_kladr_id?: string;\n house_type?: string;\n house_type_full?: string;\n house?: string;\n block_type?: string;\n block_type_full?: string;\n block?: string;\n flat_fias_id?: string;\n flat_type?: string;\n flat_type_full?: string;\n flat?: string;\n postal_box?: string;\n fias_id?: string;\n fias_level?: string;\n kladr_id?: string;\n geoname_id?: string;\n capital_marker?: string;\n okato?: string;\n oktmo?: string;\n tax_office?: string;\n tax_office_legal?: string;\n source?: string;\n history_values?: string[];\n geo_lat?: string;\n geo_lon?: string;\n qc_geo?: string;\n fias_code?: string;\n fias_actuality_state?: string;\n city_area?: string;\n beltway_hit?: string;\n beltway_distance?: string;\n flat_area?: string;\n square_meter_price?: string;\n flat_price?: string;\n timezone?: string;\n metro?: DadataMetro[];\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669122\n */\nexport interface DadataPartySuggestion {\n address?: DadataSuggestion<DadataAddressSuggestion>;\n branch_count?: number;\n branch_type?: DadataCompanyBranchType;\n fio?: DadataFio;\n inn?: string;\n kpp?: string;\n ogrn?: string;\n ogrn_date?: number;\n hid?: string;\n management?: {\n name: string;\n post: string;\n disqualified: boolean;\n };\n name?: {\n full_with_opf?: string;\n short_with_opf?: string;\n };\n okato?: string;\n oktmo?: string;\n okpo?: string;\n okogu?: string;\n okfs?: string;\n finance?: DadataFinance;\n okved?: string;\n okved_type?: string;\n opf?: DadataPartyOPF;\n state?: DadataState<DadataCompanyStatus>;\n type?: DadataCompanyType;\n employee_count: number;\n okveds?: DadataSecondaryOKVED[];\n authorities?: DadataAuthoritiesSuggestion;\n founders?: DadataFounder[];\n managers?: DadataManager[];\n predecessors?: DadataReorganized[];\n successors?: DadataReorganized[];\n capital?: {\n type: string;\n value: number;\n };\n documents?: DadataPartyDocument[];\n licenses?: DadataPartyLicence[];\n}\n\nexport interface DadataSuggestion<T> {\n data: T;\n value?: string;\n unrestricted_value?: string;\n}\n\nexport interface DadataSuggestionsResponse<T> {\n suggestions: DadataSuggestion<T>[];\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { EvoBadgeColor, EvoBadgeSize } from './types';\n\n@Component({\n selector: 'evo-badge',\n templateUrl: './evo-badge.component.html',\n styleUrls: ['./evo-badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoBadgeComponent {\n\n @Input() color: EvoBadgeColor;\n @Input() size: EvoBadgeSize;\n @Input() multiline = false;\n\n // tslint:disable-next-line:no-input-rename\n @Input('width.px') widthPixels: number;\n // tslint:disable-next-line:no-input-rename\n @Input('width.%') widthPercents: number;\n\n get classes(): string[] {\n const classes: string[] = [];\n\n if (this.size) {\n classes.push(this.size);\n }\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.multiline) {\n classes.push('multiline');\n }\n\n return classes;\n }\n}\n","<div\n class=\"evo-badge\"\n [evoUiClass]=\"classes\"\n [style.width.px]=\"widthPixels\"\n [style.width.%]=\"widthPercents\"\n>\n <div class=\"evo-badge__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoBadgeComponent} from './evo-badge.component';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\n\n@NgModule({\n declarations: [EvoBadgeComponent],\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n exports: [\n EvoBadgeComponent,\n ]\n})\nexport class EvoBadgeModule { }\n","export class Serializable {\n constructor(data) {\n Object.assign(this, data);\n }\n}\n","export const CSS_BREAKPOINTS = {\n mobile: 500,\n tablet: 768,\n desktopS: 992,\n desktopM: 1200,\n desktopL: 1680,\n desktopXL: 2500,\n};\n","import {Component, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Output} from '@angular/core';\n\nimport {Serializable} from '../../common/Serializable';\nimport {asyncScheduler, BehaviorSubject, fromEvent, Subscription} from 'rxjs';\nimport {throttleTime} from 'rxjs/operators';\nimport {CSS_BREAKPOINTS} from '../../common/constants/css-breakpoints';\nimport {WINDOW} from '../../services/window.service';\n\nexport enum EvoBannerTypes {\n large = 'large',\n small = 'small',\n fullWidth = 'full-width',\n}\n\nexport enum EvoBannerLocations {\n main = 'Main',\n category = 'Category',\n}\n\nexport class EvoBanner extends Serializable {\n background: string;\n bannerPositionNames = {\n [EvoBannerLocations.main]: ['main', 'top', 'bottom'],\n [EvoBannerLocations.category]: ['main'],\n };\n button: string;\n id: string;\n image: string;\n title: string;\n url: string;\n\n constructor(data) {\n super(data);\n }\n}\n\n@Component({\n selector: 'evo-banner',\n templateUrl: './evo-banner.component.html',\n styleUrls: ['./evo-banner.component.scss'],\n})\n/**\n * @deprecated\n */\nexport class EvoBannerComponent implements OnInit, OnDestroy {\n @Input() banner: EvoBanner;\n @Input() type: EvoBannerTypes = EvoBannerTypes.small;\n\n @Output() bannerClick: EventEmitter<EvoBanner> = new EventEmitter<EvoBanner>();\n\n bannerSize$: BehaviorSubject<string[]> = new BehaviorSubject(['']);\n\n subscriptions: {[name: string]: Subscription} = {};\n\n constructor(@Inject(WINDOW) private window: any, private el: ElementRef) {\n this.initResizeEvent();\n }\n\n ngOnInit() {\n this.onResize();\n }\n\n ngOnDestroy() {\n Object.keys(this.subscriptions).forEach((key) => {\n this.subscriptions[key].unsubscribe();\n });\n }\n\n onBannerClick() {\n this.bannerClick.emit(this.banner);\n }\n\n get bannerClass() {\n const result = [];\n\n if (this.type) {\n result.push(this.type);\n }\n\n if (this.bannerSize$.getValue()) {\n result.push(...this.bannerSize$.getValue());\n }\n\n return result;\n }\n\n private initResizeEvent() {\n this.subscriptions['resize'] = fromEvent(this.window, 'resize')\n .pipe(throttleTime(300, asyncScheduler, {trailing: true}))\n .subscribe(() => {\n this.onResize();\n });\n }\n\n private onResize() {\n if (!this.el.nativeElement) {\n return;\n }\n\n const rect = (this.el.nativeElement as HTMLElement).getBoundingClientRect();\n\n if (!rect) {\n return;\n }\n\n const width = rect.width + 30; // grid double gap\n\n if (width <= CSS_BREAKPOINTS.mobile) {\n this.bannerSize$.next(['size-mobile']);\n } else if (width < CSS_BREAKPOINTS.tablet) {\n this.bannerSize$.next(['size-tablet']);\n } else if (width < CSS_BREAKPOINTS.desktopS) {\n this.bannerSize$.next(['size-desktop', 'size-desktop-s']);\n } else {\n this.bannerSize$.next(['size-desktop']);\n }\n }\n}\n","<a\n class=\"evo-banner\"\n target=\"_blank\"\n [attr.href]=\"banner?.url\"\n (click)=\"onBannerClick()\"\n [evoUiClass]=\"bannerClass\"\n [ngStyle]=\"{'background-color': banner?.background}\"\n>\n <div class=\"evo-banner__content\">\n <div class=\"evo-banner__title\">{{ banner?.title }}</div>\n <button\n class=\"btn\"\n [ngStyle]=\"{'color': banner?.background}\"\n *ngIf=\"banner?.button\"\n >{{ banner?.button }}</button>\n </div>\n <img\n class=\"evo-banner__img\"\n [src]=\"banner?.image\"\n [alt]=\"banner?.title\"\n >\n</a>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoBannerComponent} from './evo-banner.component';\nimport {EvoUiKitModule, WINDOW_PROVIDERS} from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [CommonModule, EvoUiKitModule],\n declarations: [EvoBannerComponent],\n exports: [EvoBannerComponent],\n providers: [WINDOW_PROVIDERS],\n})\n/**\n * @deprecated\n */\nexport class EvoBannerModule {}\n","import {EvoButtonTheme, EvoButtonThemeParams} from '../types';\n\nexport const EVO_BUTTON_THEMES_MAP: Map<EvoButtonTheme, EvoButtonThemeParams> = new Map([\n [\n 'rectangle-outline',\n {\n shape: 'rectangle',\n isOutline: true,\n },\n ],\n [\n 'rounded-outline',\n {\n shape: 'rounded',\n isOutline: true,\n },\n ],\n [\n 'rounded-solid',\n {\n shape: 'rounded',\n isOutline: false,\n },\n ],\n [\n 'semi-rectangle-solid',\n {\n shape: 'semi-rectangle',\n isOutline: false,\n },\n ],\n]);\n","import {ChangeDetectionStrategy, Component, OnInit} from '@angular/core';\n\nconst defaultId = `clip-path-`;\n\n@Component({\n selector: 'evo-circular-loader',\n templateUrl: './evo-circular-loader.component.html',\n styleUrls: ['./evo-circular-loader.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoCircularLoaderComponent implements OnInit {\n clipPathId: string = defaultId;\n\n ngOnInit(): void {\n this.clipPathId += `${defaultId}${Math.random().toString(36).substring(2)}`;\n }\n}\n","<div class=\"wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <clipPath [attr.id]=\"clipPathId\">\n <path d=\"M12 20C10.4178 20 8.87103 19.5308 7.55544 18.6518C6.23985 17.7727 5.21447 16.5233 4.60896 15.0615C4.00346 13.5997 3.84504 11.9911 4.15372 10.4393C4.4624 8.88743 5.22433 7.46197 6.34315 6.34315C7.46197 5.22433 8.88743 4.4624 10.4393 4.15372C11.9911 3.84504 13.5997 4.00346 15.0615 4.60896C16.5233 5.21446 17.7727 6.23984 18.6518 7.55544C19.5308 8.87103 20 10.4177 20 12L18 12C18 10.8133 17.6481 9.65327 16.9888 8.66658C16.3295 7.67988 15.3925 6.91085 14.2961 6.45672C13.1997 6.0026 11.9933 5.88378 10.8295 6.11529C9.66557 6.3468 8.59647 6.91824 7.75736 7.75736C6.91824 8.59647 6.3468 9.66557 6.11529 10.8295C5.88378 11.9933 6.0026 13.1997 6.45672 14.2961C6.91085 15.3925 7.67988 16.3295 8.66658 16.9888C9.65327 17.6481 10.8133 18 12 18L12 20Z\"/>\n </clipPath>\n <foreignObject x=\"0\" y=\"0\" width=\"17\" height=\"16\" [attr.clip-path]=\"'url(#' + clipPathId + ')'\">\n <xhtml:div class=\"loader\"></xhtml:div>\n </foreignObject>\n </svg>\n</div>\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\nimport {EvoButtonColor, EvoButtonShape, EvoButtonSize, EvoButtonTheme, EvoButtonThemeParams} from '../../types';\nimport {EVO_BUTTON_THEMES_MAP} from '../../constants/evo-button-themes-map';\n\n@Component({\n selector: 'button[evoButton], a[evoButton]',\n templateUrl: './evo-button.component.html',\n styleUrls: ['./evo-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoButtonComponent {\n @Input() size: EvoButtonSize = 'normal';\n @Input() color: EvoButtonColor = 'success';\n\n /**\n * `theme` is a complex prop, that sets a number of inner parameters, described in `EvoButtonThemeParams`\n */\n @Input() set theme(value: EvoButtonTheme) {\n const selectedTheme: EvoButtonThemeParams =\n EVO_BUTTON_THEMES_MAP.get(value) ?? EVO_BUTTON_THEMES_MAP.get('rounded-solid');\n this.shape = selectedTheme.shape;\n this._isOutline = selectedTheme.isOutline;\n }\n\n @Input() set disabled(value: boolean) {\n this._isDisabled = value;\n\n if (!this.isLoading) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n @Input() set loading(value: boolean) {\n this._isLoading = value;\n\n if (!this._isDisabled) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n private shape: EvoButtonShape = 'rounded';\n private _isOutline = false;\n private _isDisabled = false;\n private _isLoading = false;\n\n constructor(private readonly elRef: ElementRef) {}\n\n get isLoading(): boolean {\n return this._isLoading;\n }\n\n get buttonClasses(): string[] {\n const classes: string[] = [];\n\n if (this.color) {\n classes.push(`color_${this.color}`);\n }\n\n if (this.shape) {\n classes.push(`shape_${this.shape}`);\n }\n\n if (this.size) {\n classes.push(`size_${this.size}`);\n }\n\n if (this._isOutline) {\n classes.push(`is-outline`);\n }\n\n if (this._isDisabled) {\n classes.push('is-disabled');\n }\n\n if (this.isLoading) {\n classes.push('is-loading');\n }\n\n return classes;\n }\n\n get buttonStyles(): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (this.isLoading) {\n result['visibility'] = 'hidden';\n }\n\n return result;\n }\n}\n","<div class=\"evo-button\" [evoUiClass]=\"buttonClasses\">\n <span class=\"evo-button__content\" [ngStyle]=\"buttonStyles\">\n <ng-content></ng-content>\n </span>\n <evo-circular-loader class=\"evo-button__loader\" *ngIf=\"isLoading\"></evo-circular-loader>\n</div>\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\n\n/**\n * @deprecated use EvoButtonComponent\n */\nexport enum EvoButtonSizes {\n small = 'small',\n large = 'large',\n}\n\n/**\n * @deprecated use EvoButtonColor with EvoButtonTheme\n */\nexport enum EvoButtonStyles {\n lined = 'lined',\n darkblue = 'darkblue',\n darkblueLined = 'darkblue-lined',\n green = 'green',\n greenlined = 'green-lined',\n purple = 'purple',\n red = 'red',\n}\n\n@Component({\n selector: 'evo-button, button[evo-button]',\n templateUrl: './evo-button-old.component.html',\n styleUrls: ['./evo-button-old.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n/**\n * @deprecated use EvoButtonComponent\n */\nexport class EvoButtonOldComponent {\n @Input() color: EvoButtonStyles;\n @Input() size: EvoButtonSizes;\n\n @Input() set disabled(value: boolean) {\n this._disabled = value;\n\n if (!this.loading) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n @Input() set loading(value: boolean) {\n this._loading = value;\n\n if (!this.disabled) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n private _disabled = false;\n private _loading = false;\n\n constructor(private elRef: ElementRef) {}\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n get loading() {\n return this._loading;\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.size) {\n classes.push(this.size);\n }\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.loading) {\n classes.push('loading');\n }\n\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n get totalStyles(): {[styleKey: string]: any} {\n const result = {};\n\n if (this.loading) {\n result['visibility'] = 'hidden';\n }\n\n return result;\n }\n}\n","<div class=\"evo-button\" [evoUiClass]=\"totalClasses\">\n <span [ngStyle]=\"totalStyles\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"loading\" class=\"evo-button__dots\">\n <span class=\"evo-button__dot\"></span>\n <span class=\"evo-button__dot\"></span>\n <span class=\"evo-button__dot\"></span>\n </span>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\nexport enum EvoLoaderStyles {\n darkblue = 'darkblue',\n green = 'green',\n white = 'white',\n}\n\n@Component({\n selector: 'evo-loader',\n templateUrl: './evo-loader.component.html',\n styleUrls: ['./evo-loader.component.scss'],\n})\n/**\n * @deprecated use `EvoCircularLoaderComponent`\n */\nexport class EvoLoaderComponent implements OnInit {\n @Input() color: EvoLoaderStyles = EvoLoaderStyles.darkblue;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"evo-loader\" [evoUiClass]=\"color\">\n <span class=\"evo-loader__dot\"></span>\n <span class=\"evo-loader__dot\"></span>\n <span class=\"evo-loader__dot\"></span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoLoaderComponent } from './evo-loader.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoCircularLoaderComponent } from './evo-circular-loader.component';\n\nconst bundle = [\n EvoLoaderComponent,\n EvoCircularLoaderComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [...bundle],\n exports: [...bundle],\n})\nexport class EvoLoaderModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {EvoButtonComponent} from './components/evo-button/evo-button.component';\nimport {EvoButtonOldComponent} from './components/evo-button-old/evo-button-old.component';\nimport {EvoLoaderModule} from '../evo-loader';\n\n@NgModule({\n imports: [CommonModule, EvoUiKitModule, EvoLoaderModule],\n declarations: [EvoButtonComponent, EvoButtonOldComponent],\n exports: [EvoButtonComponent, EvoButtonOldComponent],\n})\nexport class EvoButtonModule {}\n","import { AfterViewInit, Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\n\nexport enum EvoChipType {\n radio = 'radio', // default\n checkbox = 'checkbox',\n label = 'label',\n}\n\nexport enum EvoChipTheme {\n grey = 'grey', // default\n white = 'white',\n}\n\n@Component({\n selector: 'evo-chip',\n templateUrl: 'evo-chip.component.html',\n styleUrls: [\n 'evo-chip.component.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoChipComponent),\n multi: true,\n },\n ],\n})\nexport class EvoChipComponent extends EvoBaseControl implements ControlValueAccessor, OnInit, AfterViewInit {\n\n @Input() type: EvoChipType | string;\n @Input() theme: EvoChipTheme | string;\n @Input() counter: number;\n @Input() disabled: boolean;\n @Input() name: string;\n @Input() closable: boolean;\n @Input() closeTitle = '';\n\n @Input('value') set setInitialValue(value: any) {\n this.inheritedValue = value;\n }\n\n @Output() close = new EventEmitter<Event>();\n\n inheritedValue: any;\n\n templateVariables = {\n chipTypes: EvoChipType,\n chipThemes: EvoChipTheme,\n };\n\n private _value: any;\n\n get classes(): string[] {\n const states = {\n 'touched': this.control?.touched,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n 'disabled': this.control?.disabled,\n };\n\n const result = Object.keys(states)\n .filter((key: string) => states[key]);\n\n result.push(`theme-${ this.theme || EvoChipTheme.grey }`);\n\n result.push(`type-${ this.type }`);\n\n return result;\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this.onChange(value);\n this.onTouched();\n }\n\n ngOnInit(): void {\n this.initDefaultParams();\n }\n\n ngAfterViewInit() {\n if (this.control) {\n this.control.valueChanges.subscribe(() => {\n this.writeValue(this.control.value);\n });\n }\n }\n\n writeValue(value: any): void {\n this._value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInputChange(value): void {\n this.value = value;\n }\n\n onCloseClick(e: Event): void {\n this.close.emit(e);\n }\n\n private initDefaultParams(): void {\n if (!this.type) {\n this.type = EvoChipType.radio;\n }\n if (!this.theme) {\n this.theme = EvoChipTheme.grey;\n }\n }\n\n private onChange(value): void {\n }\n\n private onTouched(): void {\n }\n}\n","<label class=\"chip\" [evoUiClass]=\"classes\">\n <ng-container [ngSwitch]=\"type\">\n <input\n *ngSwitchCase=\"templateVariables?.chipTypes.checkbox\"\n type=\"checkbox\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n [value]=\"inheritedValue\"\n (ngModelChange)=\"onInputChange($event)\"\n [name]=\"name\"\n />\n <input\n *ngSwitchCase=\"templateVariables?.chipTypes.radio\"\n type=\"radio\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n [value]=\"inheritedValue\"\n (ngModelChange)=\"onInputChange($event)\"\n [name]=\"name\"\n />\n </ng-container>\n <div\n class=\"chip__label\"\n [evoUiClass]=\"{'disabled': disabled}\"\n >\n <span class=\"chip__text\">\n <ng-content></ng-content>\n </span>\n <div\n class=\"chip__counter\"\n *ngIf=\"(type !== templateVariables?.chipTypes.label || !closable) && counter !== undefined\"\n >\n <span class=\"chip__counter-value\">\n {{ counter }}\n </span>\n </div>\n <button\n class=\"chip__close\"\n *ngIf=\"closable\"\n [disabled]=\"disabled\"\n [title]=\"closeTitle\"\n (click)=\"onCloseClick($event)\"\n type=\"button\"\n >\n <evo-icon shape=\"decline\"></evo-icon>\n </button>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoChipComponent } from './evo-chip.component';\nimport { FormsModule } from '@angular/forms';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconDecline } from '@evotor-dev/ui-kit/icons/system';\n\n@NgModule({\n declarations: [EvoChipComponent],\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([{\n name: 'system',\n shapes: {\n 'decline': iconDecline,\n }\n }]),\n ],\n exports: [EvoChipComponent],\n})\nexport class EvoChipModule {\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'evo-control-label',\n templateUrl: './evo-control-label.component.html',\n styleUrls: ['./evo-control-label.component.scss'],\n})\nexport class EvoControlLabelComponent {\n @Input() label: string | TemplateRef<any>;\n @Input() context: Object | null;\n\n get isStringLabel(): boolean {\n return typeof this.label === 'string';\n }\n}\n","<div class=\"evo-control-label\">\n <label class=\"evo-control-label__text\">\n <ng-container *ngIf=\"isStringLabel; else templatedLabel\">{{ label || ' ' }}</ng-container>\n </label>\n <div class=\"evo-control-label__content\">\n <ng-content></ng-content>\n </div>\n</div>\n<ng-template #templatedLabel>\n <ng-container [ngTemplateOutlet]=\"label\" [ngTemplateOutletContext]=\"context\"></ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoControlLabelComponent } from './evo-control-label.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ EvoControlLabelComponent ],\n exports: [ EvoControlLabelComponent ],\n})\nexport class EvoControlLabelModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport enum EvoCounterSize {\n small = 'small',\n normal = 'normal',\n}\n\n@Component({\n selector: 'evo-counter',\n templateUrl: './evo-counter.component.html',\n styleUrls: ['./evo-counter.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoCounterComponent {\n\n @Input() value: number;\n @Input() disabled: boolean;\n\n size: EvoCounterSize = EvoCounterSize.normal;\n\n @Input('size') set setSize(size: EvoCounterSize | string) {\n if (EvoCounterSize[size]) {\n this.size = EvoCounterSize[size];\n }\n }\n\n get blockClasses(): { [cssClass: string]: boolean } {\n return {\n 'disabled': this.disabled,\n [`size-${this.size}`]: this.size !== EvoCounterSize.normal\n };\n }\n\n}\n","<div class=\"evo-counter\" [evoUiClass]=\"blockClasses\">\n <span class=\"evo-counter__value\">{{value}}</span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoCounterComponent } from './evo-counter.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule\n ],\n declarations: [\n EvoCounterComponent\n ],\n exports: [\n EvoCounterComponent\n ]\n})\nexport class EvoCounterModule {\n}\n","export const cssClasses = {\n DESCRIPTION: 'evo-datepicker__description',\n INPUT: 'evo-datepicker__input',\n TIME_PICKER: 'evo-datepicker__time-picker',\n TIME_LABEL: 'evo-datepicker__time-label',\n TIME_LABEL_FROM: 'evo-datepicker__time-label_from',\n TIME_LABEL_UNTIL: 'evo-datepicker__time-label_until',\n SELECTORS: 'evo-datepicker__selectors',\n SELECT: 'evo-datepicker__select',\n SELECTOR_HOUR: 'evo-datepicker__select_hour',\n SELECTOR_MINUTE: 'evo-datepicker__select_minute',\n SELECT_WRAPPER: 'evo-datepicker__select-wrapper',\n APPLY: 'evo-datepicker__apply',\n SELECT_FIELD: 'evo-datepicker__select-field'\n};\n\n export const renderRangeTime = (classes) => {\n const template = `\n <div class=\"${classes.TIME_PICKER}\">\n <label class=\"${classes.TIME_LABEL} ${classes.TIME_LABEL_FROM}\"></label>\n <div class=\"${classes.SELECTORS}\">\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">00</div>\n <select value class=\"${classes.SELECT} ${classes.SELECTOR_HOUR}\">\n <option selected>00</option>\n <option>01</option>\n <option>02</option>\n <option>03</option>\n <option>04</option>\n <option>05</option>\n <option>06</option>\n <option>07</option>\n <option>08</option>\n <option>09</option>\n <option>10</option>\n <option>11</option>\n <option>12</option>\n <option>13</option>\n <option>14</option>\n <option>15</option>\n <option>16</option>\n <option>17</option>\n <option>18</option>\n <option>19</option>\n <option>20</option>\n <option>21</option>\n <option>22</option>\n <option>23</option>\n </select>\n </label>\n <span>:</span>\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">00</div>\n <select class=\"${classes.SELECT} ${classes.SELECTOR_MINUTE}\">\n <option selected>00</option>\n <option>15</option>\n <option>30</option>\n <option>45</option>\n </select>\n </label>\n </div>\n </div>\n\n <div class=\"${classes.TIME_PICKER}\">\n <label class=\"${classes.TIME_LABEL} ${classes.TIME_LABEL_UNTIL}\"></label>\n\n <div class=\"${classes.SELECTORS}\">\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">23</div>\n <select value class=\"${classes.SELECT} ${classes.SELECTOR_HOUR}\">\n <option>00</option>\n <option>01</option>\n <option>02</option>\n <option>03</option>\n <option>04</option>\n <option>05</option>\n <option>06</option>\n <option>07</option>\n <option>08</option>\n <option>09</option>\n <option>10</option>\n <option>11</option>\n <option>12</option>\n <option>13</option>\n <option>14</option>\n <option>15</option>\n <option>16</option>\n <option>17</option>\n <option>18</option>\n <option>19</option>\n <option>20</option>\n <option>21</option>\n <option>22</option>\n <option selected>23</option>\n </select>\n </label>\n <span>:</span>\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">59</div>\n <select class=\"${classes.SELECT} ${classes.SELECTOR_MINUTE}\">\n <option selected>00</option>\n <option>15</option>\n <option>30</option>\n <option>45</option>\n <option selected>59</option>\n </select>\n </label>\n </div>\n </div>\n\n <button class=\"${classes.APPLY}\"> Применить </button>\n `;\n return template;\n};\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FlatpickrOptions } from './flatpickr-options.interface';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { cssClasses, renderRangeTime } from './templates';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport flatpickr from 'flatpickr';\n\nexport * from './flatpickr-options.interface';\n\nenum DatepickerModes {\n RANGE = 'range',\n}\n\ninterface Option {\n disabled: boolean;\n value: string;\n}\n\ntype SelectedDates = string[] | Date[];\n\n@Component({\n selector: 'evo-datepicker',\n templateUrl: './evo-datepicker.component.html',\n styleUrls: ['./evo-datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoDatepickerComponent),\n multi: true,\n },\n ],\n})\nexport class EvoDatepickerComponent extends EvoBaseControl implements AfterViewInit, ControlValueAccessor, OnChanges, OnInit, OnDestroy {\n\n @ViewChild('flatpickr', {static: true})\n flatpickrElement: ElementRef;\n\n @Input()\n config: FlatpickrOptions;\n\n @Input()\n maskedInput: boolean;\n\n @Input() theme?: string;\n\n @Input() folded = false;\n\n @Input()\n placeholder = '';\n\n @Input()\n setDate: SelectedDates;\n\n @Input()\n description: string;\n\n @Input()\n maxRangeDays: number;\n\n @Input()\n appendToBody = true;\n\n @Output()\n closePicker = new EventEmitter<[Date, Date]>();\n\n disabled = false;\n\n uiState = {\n isOpen: false,\n isEmptyField: false,\n };\n\n elements: any = {};\n\n maskConfig: { mask: any, pattern?: string, max?: Date };\n\n private flatpickr: any;\n\n constructor(\n private zone: NgZone,\n private elementRef: ElementRef,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n onChange = (value) => {\n };\n onTouched = () => {\n };\n\n writeValue(value: SelectedDates) {\n this.updatePickerIfNeed(value);\n this.propagateChange(value);\n this.onChange(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n propagateChange = (_: any) => {\n }\n\n handleMaskComplete(value) {\n if (this.maskedInput) {\n const date = this.flatpickrElement.nativeElement._flatpickr.parseDate(value, this.config.dateFormat);\n this.setDateFromInput(date);\n }\n }\n\n setDateFromInput(date: SelectedDates) {\n this.flatpickrElement.nativeElement._flatpickr.setDate(date, true);\n }\n\n ngAfterViewInit() {\n const config = this.getConfig();\n\n this.zone.runOutsideAngular(() => {\n this.flatpickr = flatpickr(this.flatpickrElement.nativeElement, config);\n });\n\n if (this.setDate) {\n this.setDateFromInput(this.setDate);\n }\n this.customizePicker();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.hasOwnProperty('setDate') && changes['setDate'].currentValue) {\n this.setDateFromInput(changes['setDate'].currentValue);\n }\n }\n\n ngOnInit() {\n this.initMask();\n }\n\n ngOnDestroy() {\n this.flatpickr = null;\n this.flatpickrElement.nativeElement._flatpickr.destroy();\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n 'disabled': this.disabled,\n 'hidden': !this.isValueExist(),\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.theme) {\n classes.push(this.theme);\n }\n\n if (this.uiState.isOpen) {\n classes.push('opened');\n }\n\n if (this.folded) {\n classes.push('folded');\n }\n\n return classes;\n }\n\n initMask() {\n if (this.config.allowInput && this.maskedInput) {\n this.maskConfig = {\n pattern: this.config.dateFormat,\n max: this.config.maxDate as Date,\n mask: Date,\n };\n }\n }\n\n onDatepickerClick(event: MouseEvent) {\n if (this.config.allowInput &&\n (event.target as HTMLElement).classList.contains(cssClasses.INPUT) ||\n this.disabled\n ) {\n return;\n }\n\n this.toggleDatepicker();\n }\n\n toggleDatepicker(): void {\n this.flatpickr.toggle();\n }\n\n setDisabledState(state: boolean) {\n this.disabled = state;\n }\n\n isValueExist(): boolean {\n if (!this.flatpickr) {\n const defaultDate = this.config.defaultDate;\n\n return Array.isArray(defaultDate) ?\n (this.config.defaultDate as Date[]).length > 0 : !!defaultDate;\n } else {\n return this.flatpickr.selectedDates.length > 0;\n }\n }\n\n isRange(): boolean {\n return this.config.mode === DatepickerModes.RANGE;\n }\n\n shouldShowEmptyText(): boolean {\n return !this.isValueExist() && !this.config.altInput;\n }\n\n getDefaultFlatpickrOptions(): FlatpickrOptions {\n return {\n wrap: true,\n clickOpens: false,\n onChange: (selectedDates: Date[]) => {\n this.setEmptyFieldState(false);\n this.setRangeConstraints(selectedDates);\n this.setTimeConstraints(selectedDates);\n this.updateLabelValues(selectedDates);\n\n this.writeValue(selectedDates);\n },\n onClose: (selectedDates: [Date, Date]) => {\n this.handleSingleSelectedValueInRange(selectedDates);\n this.setEmptyFieldStateIfNeed();\n this.resetConstraints();\n this.setOpenedState(false);\n this.closePicker.emit(selectedDates);\n },\n onOpen: () => {\n this.setOpenedState(true);\n this.resetTimeAfterOpen();\n this.updateLabelValues(this.flatpickr.selectedDates);\n this.onTouched();\n },\n ...(!this.appendToBody && {appendTo: this.elementRef.nativeElement}),\n };\n }\n\n getConfig() {\n return {\n ...this.getDefaultFlatpickrOptions(),\n ...(this.config || {}),\n };\n }\n\n /**\n * Customization of the flatpickr's view to ui-kit state\n */\n private customizePicker(): void {\n this.changeNextIcon();\n this.addDescriptionIfNeed();\n this.addTimeSelectors();\n }\n\n /**\n * Sets new state of the picker openness\n * @param state new state\n */\n private setOpenedState(state: boolean): void {\n this.uiState.isOpen = state;\n }\n\n private setEmptyFieldState(state: boolean): void {\n this.uiState.isEmptyField = state;\n }\n\n private addTimeSelectors() {\n if (this.isRangeWithTime()) {\n const timeWrapper = document.createElement('div');\n timeWrapper.innerHTML = renderRangeTime(cssClasses);\n this.saveTimeRangeElements(timeWrapper);\n this.addListenersOnTimeSelectors();\n this.elements.apply.onclick = this.onApply.bind(this);\n\n this.flatpickr.rContainer.appendChild(timeWrapper);\n }\n }\n\n private saveTimeRangeElements(timeWrapper: HTMLElement) {\n this.elements = {\n apply: timeWrapper.getElementsByClassName(cssClasses.APPLY)[0],\n from: {\n hour: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_HOUR)[0],\n minute: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_MINUTE)[0],\n label: timeWrapper.getElementsByClassName(cssClasses.TIME_LABEL_FROM)[0],\n },\n until: {\n hour: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_HOUR)[1],\n minute: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_MINUTE)[1],\n label: timeWrapper.getElementsByClassName(cssClasses.TIME_LABEL_UNTIL)[0],\n }\n };\n\n this.elements.from.hourField = this.elements.from.hour.previousElementSibling;\n this.elements.from.minuteField = this.elements.from.minute.previousElementSibling;\n\n this.elements.until.hourField = this.elements.until.hour.previousElementSibling;\n this.elements.until.minuteField = this.elements.until.minute.previousElementSibling;\n }\n\n private onApply() {\n this.setTime();\n this.flatpickr.close();\n }\n\n private setTime() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n const selectedDates = cloneDeep(this.flatpickr.selectedDates);\n\n selectedDates[0].setHours(fromHour, fromMinute);\n\n if (selectedDates[1]) {\n selectedDates[1].setHours(untilHour, untilMinute);\n }\n\n this.setDateFromInput(selectedDates);\n }\n\n private updateLabelValues(selectedDates: Date[]) {\n if (!selectedDates || !selectedDates[0] || !selectedDates[1]) {\n return;\n }\n if (this.isRangeWithTime()) {\n this.elements.from.label.innerText = `Период с ${this.flatpickr.formatDate(selectedDates[0], 'D d.m.Y')}`;\n\n if (selectedDates[1]) {\n this.elements.until.label.innerText = `по ${this.flatpickr.formatDate(selectedDates[1], 'D d.m.Y')}`;\n }\n }\n }\n\n private setTimeConstraints(selectedDates: Date[]) {\n if (this.isRangeWithTime()) {\n if (this.isSameDate(selectedDates[0], selectedDates[1])) {\n this.resetTimeIfNeed();\n this.setUntilTimeConstraint(selectedDates);\n } else {\n this.resetAllConstraints();\n }\n }\n }\n\n private resetAllConstraints() {\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n\n private addListenersOnTimeSelectors() {\n this.elements.from.hour.onchange = this.onChangeTimeFrom.bind(this);\n this.elements.from.minute.onchange = this.onChangeTimeFrom.bind(this);\n\n this.elements.until.hour.onchange = this.onChangeTimeUntil.bind(this);\n this.elements.until.minute.onchange = this.onChangeTimeUntil.bind(this);\n }\n\n private onChangeTimeFrom(event: Event) {\n if (this.isSameDate(this.flatpickr.selectedDates[0], this.flatpickr.selectedDates[1])) {\n this.disableTimeUntilSelectors();\n }\n this.updateTimeFieldsContent();\n }\n\n private handleSingleSelectedValueInRange(selectedDates: [Date, Date]) {\n if (this.isRange() && !selectedDates[1]) {\n const untilDate = new Date(selectedDates[0]);\n untilDate.setHours(23, 59, 0, 0);\n\n const updatedDates = [selectedDates[0], untilDate];\n this.writeValue(updatedDates);\n }\n }\n\n private onChangeTimeUntil(event: Event) {\n if (this.isSameDate(this.flatpickr.selectedDates[0], this.flatpickr.selectedDates[1])) {\n this.disableTimeFromSelectors();\n }\n this.updateTimeFieldsContent();\n\n }\n\n private updateTimeFieldsContent() {\n const {fromHour, fromMinute, untilHour, untilMinute} = this.getSelectorVaulesAsString();\n\n this.elements.from.hourField.innerText = fromHour;\n this.elements.from.minuteField.innerText = fromMinute;\n\n this.elements.until.hourField.innerText = untilHour;\n this.elements.until.minuteField.innerText = untilMinute;\n }\n\n private disableTimeUntilSelectors() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromHour;\n });\n\n if (fromHour === untilHour) {\n if (fromMinute > untilMinute) {\n this.elements.until.minute.selectedIndex = 4;\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n\n private disableTimeFromSelectors() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilHour;\n });\n\n if (fromHour === untilHour) {\n if (fromMinute > untilMinute) {\n this.elements.until.minute.selectedIndex = 4;\n }\n const {untilMinute: untilMinuteAfterUpdate} = this.getSelectedUntil();\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilMinuteAfterUpdate;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n\n private setUntilTimeConstraint(selectedDates: Date[]) {\n this.disableTimeUntilSelectors();\n }\n\n private resetTimeIfNeed() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n if ((fromHour > untilHour) || (fromHour === untilHour && fromMinute > untilMinute)) {\n this.resetTime();\n }\n }\n\n private resetTime() {\n this.elements.from.hour.selectedIndex = 0;\n this.elements.from.minute.selectedIndex = 0;\n\n this.elements.until.hour.selectedIndex = 23;\n this.elements.until.minute.selectedIndex = 4;\n\n this.updateTimeFieldsContent();\n }\n\n private getSelectorVaulesAsString(): { fromHour: string, fromMinute: string, untilHour: string, untilMinute: string } {\n return {\n fromHour: this.elements.from.hour.options[this.elements.from.hour.selectedIndex].value,\n fromMinute: this.elements.from.minute.options[this.elements.from.minute.selectedIndex].value,\n untilHour: this.elements.until.hour.options[this.elements.until.hour.selectedIndex].value,\n untilMinute: this.elements.until.minute.options[this.elements.until.minute.selectedIndex].value,\n };\n }\n\n private getSelectedFrom(): { fromHour: number, fromMinute: number } {\n return {\n fromHour: Number(this.elements.from.hour.options[this.elements.from.hour.selectedIndex].value),\n fromMinute: Number(this.elements.from.minute.options[this.elements.from.minute.selectedIndex].value),\n };\n }\n\n private getSelectedUntil(): { untilHour: number, untilMinute: number } {\n return {\n untilHour: Number(this.elements.until.hour.options[this.elements.until.hour.selectedIndex].value),\n untilMinute: Number(this.elements.until.minute.options[this.elements.until.minute.selectedIndex].value),\n };\n }\n\n private setRangeConstraints(selectedDates: Date[]) {\n if (this.isRange() && this.maxRangeDays) {\n if (selectedDates.length === 1) {\n const minDate = new Date(selectedDates[0]);\n const maxDate = new Date(selectedDates[0]);\n\n minDate.setDate(minDate.getDate() - this.maxRangeDays);\n maxDate.setDate(maxDate.getDate() + this.maxRangeDays);\n\n this.flatpickr.config.minDate = minDate;\n this.flatpickr.config.maxDate = maxDate;\n } else {\n this.resetConstraints();\n }\n }\n }\n\n private resetConstraints() {\n this.flatpickr.config.minDate = this.config.minDate;\n this.flatpickr.config.maxDate = this.config.maxDate;\n }\n\n private isRangeWithTime(): boolean {\n return this.isRange() && this.config.enableTime;\n }\n\n private setEmptyFieldStateIfNeed(): void {\n if (this.isRange() && this.flatpickr.selectedDates.length !== 2) {\n this.setEmptyFieldState(true);\n }\n }\n\n private updatePickerIfNeed(value: SelectedDates): void {\n if (this.flatpickr) {\n const selectedDates = this.getSelectedDatesWithDatePickerFormat(this.flatpickr.selectedDates);\n const values = this.getSelectedDatesWithDatePickerFormat(value);\n\n if (!isEqual(values, selectedDates)) {\n this.setDateFromInput(value);\n }\n }\n }\n\n private getSelectedDatesWithDatePickerFormat(dateRange: SelectedDates): string[] {\n if (dateRange && dateRange.length && typeof (dateRange[0]) !== 'string') {\n return (dateRange as Date[]).map((date) => this.toDatePickerFormat(date));\n }\n\n return dateRange as string[];\n }\n\n private toDatePickerFormat(date?: Date): string {\n if (!date) {\n return '';\n }\n\n return `${date.getDate()}.${date.getMonth() + 1}.${date.getFullYear()}`;\n }\n\n /**\n * Substitution of icons\n */\n private changeNextIcon(): void {\n const Icons = {\n PREV: `\n <svg height=\"16\" viewBox=\"0 0 6 16\" width=\"6\" xmlns=\"http://www.w3.org/2000/svg\">\n <path _ngcontent-c0=\"\" d=\"M6 0L0 8L6 16V0Z\" fill=\"white\" transform=\"translate(6 16) rotate(180)\"></path>\n </svg>`,\n NEXT: `\n <svg height=\"16\" viewBox=\"0 0 6 16\" width=\"6\" xmlns=\"http://www.w3.org/2000/svg\">\n <path _ngcontent-c0=\"\" d=\"M6 0L0 8L6 16V0Z\" fill=\"white\"></path>\n </svg>`,\n };\n\n this.flatpickr.nextMonthNav.innerHTML = Icons.PREV;\n this.flatpickr.prevMonthNav.innerHTML = Icons.NEXT;\n }\n\n private addDescriptionIfNeed() {\n if (this.description) {\n const descriptionElement = document.createElement('p');\n descriptionElement.className = cssClasses.DESCRIPTION;\n descriptionElement.innerHTML = this.description;\n\n this.flatpickr.rContainer.appendChild(descriptionElement);\n }\n }\n\n private isSameDate(firstDate: Date, secondDate: Date): boolean {\n return firstDate && secondDate && firstDate.getDate() === secondDate.getDate() &&\n firstDate.getMonth() === secondDate.getMonth() &&\n firstDate.getFullYear() === secondDate.getFullYear();\n }\n\n private getSelectedIndexByMinutes(minutes: number): number {\n return Math.round(minutes / 5) * 5 / 15;\n }\n\n private resetTimeAfterOpen() {\n if (this.isRangeWithTime()) {\n const selectedDates = this.flatpickr.selectedDates;\n if (selectedDates[0] && selectedDates[1]) {\n this.elements.from.hour.selectedIndex = selectedDates[0].getHours();\n this.elements.from.minute.selectedIndex = this.getSelectedIndexByMinutes(selectedDates[0].getMinutes());\n\n this.elements.until.hour.selectedIndex = selectedDates[1].getHours();\n this.elements.until.minute.selectedIndex = this.getSelectedIndexByMinutes(selectedDates[1].getMinutes());\n this.addConstraintsAfterOpen(selectedDates);\n this.updateTimeFieldsContent();\n }\n }\n }\n\n private addConstraintsAfterOpen(selectedDates: [Date, Date]) {\n if (this.isSameDate(selectedDates[0], selectedDates[1])) {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilHour;\n });\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromHour;\n });\n\n if (fromHour === untilHour) {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilMinute;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n }\n}\n","<div #flatpickr class=\"evo-datepicker\" [evoUiClass]=\"totalClasses\" (click)=\"onDatepickerClick($event)\">\n <input\n #input\n type=\"text\"\n data-input\n class=\"evo-datepicker__input\"\n [evoUiClass]=\"inputClass\"\n [imask]=\"maskConfig\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n (complete)=\"handleMaskComplete($event)\"\n />\n\n <span *ngIf=\"isRange() && input.value\" class=\"evo-datepicker__value\">{{input.value}}</span>\n\n <span *ngIf=\"shouldShowEmptyText()\" class=\"evo-datepicker__empty-text\">{{isRange() ? 'За период': 'Дата'}}</span>\n\n <span *ngIf=\"!disabled\" class=\"evo-datepicker__opener\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M20 3H19V2C19 1.45 18.55 1 18 1C17.45 1 17 1.45 17 2V3H7V2C7 1.45 6.55 1 6 1C5.45 1 5 1.45 5 2V3H4C2.9 3 2 3.9 2 5V21C2 22.1 2.9 23 4 23H20C21.1 23 22 22.1 22 21V5C22 3.9 21.1 3 20 3ZM19 21H5C4.45 21 4 20.55 4 20V8H20V20C20 20.55 19.55 21 19 21Z\"\n />\n </svg>\n </span>\n <span *ngIf=\"!uiState.isEmptyField\" class=\"evo-datepicker__opener-triangle\"></span>\n</div>\n\n<evo-control-error *ngIf=\"showErrors\" [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoDatepickerComponent } from './evo-datepicker.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n IMaskModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoDatepickerComponent ],\n exports: [ EvoDatepickerComponent ],\n})\nexport class EvoDatepickerModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { EvoIconButtonTheme } from './types/evo-icon-button-theme';\nimport { EvoIconButtonSize } from './types/evo-icon-button-size';\n\n// TODO: replace color to string literal type based on a `EvoColor` type\nexport enum EvoIconButtonColor {\n link = 'link',\n danger = 'danger',\n success = 'success',\n}\n\nconst wrapperSelector = 'evo-icon-button';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[evo-icon-button], a[evo-icon-button]',\n templateUrl: './evo-icon-button.component.html',\n styleUrls: ['./evo-icon-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconButtonComponent implements OnInit, OnChanges {\n @Input() disabled: boolean;\n @Input() loading: boolean;\n @Input() color: EvoIconButtonColor | string = EvoIconButtonColor.link;\n /**\n * @deprecated instead of rectangle theme use `EvoNavigationButtonComponent`\n */\n @Input() theme: EvoIconButtonTheme = 'default';\n @Input() size: EvoIconButtonSize;\n\n classes: string[] = [];\n\n @HostBinding('disabled') get isDisabled(): boolean {\n return this.disabled || this.loading;\n }\n\n ngOnInit(): void {\n this.updateClassesList();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color !== undefined || changes.theme !== undefined) {\n this.updateClassesList();\n }\n }\n\n private updateClassesList(): void {\n this.classes = [];\n if (this.size) {\n this.classes.push(`${wrapperSelector}_size-${this.size}`);\n }\n if (this.color && EvoIconButtonColor[this.color]) {\n this.classes.push(`${wrapperSelector}_color-${EvoIconButtonColor[this.color]}`);\n }\n if (this.theme) {\n this.classes.push(`${wrapperSelector}_theme-${this.theme}`);\n }\n }\n}\n","<div class=\"evo-icon-button\" [ngClass]=\"classes\">\n <div *ngIf=\"!loading else spinner\" class=\"evo-icon-button__icon-wrapper\">\n <ng-content select=\"evo-icon\"></ng-content>\n </div>\n <span class=\"evo-icon-button__label\"><ng-content></ng-content></span>\n</div>\n\n<ng-template #spinner>\n <span class=\"evo-icon-button__loading-spinner\"></span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { EvoIconButtonComponent } from './evo-icon-button.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EvoIconButtonComponent,\n ],\n exports: [\n EvoIconButtonComponent,\n ]\n})\nexport class EvoIconButtonModule {\n}\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'evo-icon-number',\n templateUrl: './evo-icon-number.component.html',\n styleUrls: ['./evo-icon-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconNumberComponent {\n @Input() number: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n}\n","<svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"evo-icon-number\">\n <circle class=\"evo-icon-number__shadow\" cx=\"28\" cy=\"28\" r=\"18\" />\n <circle class=\"evo-icon-number__background\" cx=\"24\" cy=\"24\" r=\"18\" />\n <path class=\"evo-icon-number__border\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 7C21.5785 7 19.2778 7.50567 17.1955 8.41623C16.6895 8.63751 16.0999 8.40668 15.8786 7.90066C15.6574 7.39464 15.8882 6.80505 16.3942 6.58377C18.7244 5.56481 21.2976 5 24 5C34.4934 5 43 13.5066 43 24C43 34.4934 34.4934 43 24 43C13.5066 43 5 34.4934 5 24C5 20.7567 5.81344 17.7005 7.24826 15.0271C7.50943 14.5405 8.11565 14.3577 8.60228 14.6189C9.0889 14.8801 9.27167 15.4863 9.01049 15.9729C7.72792 18.3626 7 21.0948 7 24C7 33.3888 14.6112 41 24 41C33.3888 41 41 33.3888 41 24C41 14.6112 33.3888 7 24 7Z\" />\n <ng-container [ngSwitch]=\"number\">\n <path *ngSwitchCase=\"1\" d=\"M24.5729 33C24.2529 33 23.9729 32.88 23.7329 32.64C23.4929 32.4 23.3729 32.112 23.3729 31.776V17.136L21.6209 17.88C21.3489 17.992 21.0929 18.048 20.8529 18.048C20.5009 18.048 20.2049 17.936 19.9649 17.712C19.7409 17.488 19.6289 17.2 19.6289 16.848C19.6289 16.592 19.6929 16.36 19.8209 16.152C19.9489 15.944 20.1489 15.792 20.4209 15.696L24.1649 14.352C24.2449 14.32 24.3249 14.296 24.4049 14.28C24.4849 14.264 24.5569 14.256 24.6209 14.256C24.9889 14.256 25.2769 14.376 25.4849 14.616C25.7089 14.84 25.8209 15.136 25.8209 15.504V31.776C25.8209 32.112 25.7009 32.4 25.4609 32.64C25.2209 32.88 24.9249 33 24.5729 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"2\" d=\"M19.7294 33C19.3774 33 19.0814 32.88 18.8414 32.64C18.6174 32.4 18.5054 32.112 18.5054 31.776C18.5054 31.424 18.6174 31.136 18.8414 30.912L25.6574 22.944C26.1374 22.384 26.5054 21.856 26.7614 21.36C27.0334 20.864 27.1694 20.392 27.1694 19.944C27.1694 18.904 26.8974 18.072 26.3534 17.448C25.8254 16.824 25.0974 16.512 24.1694 16.512C23.5614 16.512 23.0094 16.672 22.5134 16.992C22.0334 17.296 21.6494 17.712 21.3614 18.24C21.0894 18.752 20.9534 19.32 20.9534 19.944C20.9534 20.264 20.8334 20.544 20.5934 20.784C20.3694 21.024 20.0814 21.144 19.7294 21.144C19.3934 21.144 19.1054 21.024 18.8654 20.784C18.6254 20.544 18.5054 20.264 18.5054 19.944C18.5054 18.856 18.7534 17.888 19.2494 17.04C19.7454 16.176 20.4174 15.496 21.2654 15C22.1294 14.504 23.0974 14.256 24.1694 14.256C25.2574 14.256 26.2014 14.488 27.0014 14.952C27.8014 15.416 28.4174 16.072 28.8494 16.92C29.2974 17.768 29.5214 18.776 29.5214 19.944C29.5214 20.456 29.4094 20.976 29.1854 21.504C28.9774 22.032 28.7054 22.536 28.3694 23.016C28.0494 23.496 27.7214 23.928 27.3854 24.312L21.8894 30.552H28.6094C28.9614 30.552 29.2574 30.68 29.4974 30.936C29.7374 31.176 29.8574 31.456 29.8574 31.776C29.8574 32.112 29.7374 32.4 29.4974 32.64C29.2574 32.88 28.9614 33 28.6094 33H19.7294Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"3\" d=\"M24.3042 33C23.1042 33 22.0402 32.752 21.1122 32.256C20.1842 31.744 19.4562 31.056 18.9282 30.192C18.4002 29.312 18.1362 28.328 18.1362 27.24C18.1362 26.872 18.2402 26.576 18.4482 26.352C18.6722 26.112 18.9362 25.992 19.2402 25.992C19.5602 25.992 19.8242 26.112 20.0322 26.352C20.2402 26.576 20.3442 26.872 20.3442 27.24C20.3442 27.896 20.5122 28.504 20.8482 29.064C21.1842 29.608 21.6402 30.048 22.2162 30.384C22.7922 30.704 23.4402 30.864 24.1602 30.864C25.2162 30.864 26.0642 30.576 26.7042 30C27.3602 29.408 27.6882 28.584 27.6882 27.528C27.6882 26.856 27.5442 26.256 27.2562 25.728C26.9682 25.184 26.5762 24.752 26.0802 24.432C25.5842 24.112 25.0242 23.952 24.4002 23.952C24.0482 23.952 23.7522 23.832 23.5122 23.592C23.2882 23.352 23.1762 23.056 23.1762 22.704C23.1762 22.352 23.2882 22.064 23.5122 21.84C23.7522 21.6 24.0482 21.48 24.4002 21.48C24.8482 21.48 25.2802 21.368 25.6962 21.144C26.1122 20.904 26.4562 20.592 26.7282 20.208C27.0002 19.808 27.1362 19.36 27.1362 18.864C27.1362 18.16 26.8802 17.568 26.3682 17.088C25.8562 16.608 25.2002 16.368 24.4002 16.368C23.7922 16.368 23.2322 16.488 22.7202 16.728C22.2242 16.968 21.8242 17.288 21.5202 17.688C21.2322 18.088 21.0882 18.536 21.0882 19.032C21.0882 19.4 20.9842 19.712 20.7762 19.968C20.5682 20.208 20.3042 20.328 19.9842 20.328C19.6802 20.328 19.4162 20.216 19.1922 19.992C18.9842 19.752 18.8802 19.456 18.8802 19.104C18.8802 18.176 19.1202 17.344 19.6002 16.608C20.0802 15.872 20.7362 15.296 21.5682 14.88C22.4002 14.448 23.3282 14.232 24.3522 14.232C25.2962 14.232 26.1442 14.44 26.8962 14.856C27.6642 15.256 28.2642 15.808 28.6962 16.512C29.1442 17.2 29.3682 17.984 29.3682 18.864C29.3682 19.488 29.2242 20.04 28.9362 20.52C28.6642 21 28.3122 21.416 27.8802 21.768C27.4482 22.104 26.9922 22.384 26.5122 22.608C27.7762 23.04 28.6882 23.696 29.2482 24.576C29.8242 25.44 30.1122 26.432 30.1122 27.552C30.1122 28.592 29.8482 29.528 29.3202 30.36C28.7922 31.176 28.0882 31.824 27.2082 32.304C26.3282 32.768 25.3602 33 24.3042 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"4\" d=\"M26.5082 33C26.1882 33 25.9162 32.88 25.6922 32.64C25.4682 32.4 25.3562 32.112 25.3562 31.776V28.752H17.3642C16.9962 28.752 16.7082 28.64 16.5002 28.416C16.2922 28.192 16.1722 27.936 16.1402 27.648C16.1242 27.344 16.2042 27.072 16.3802 26.832L25.5722 14.784C25.7002 14.624 25.8442 14.496 26.0042 14.4C26.1802 14.304 26.3722 14.256 26.5802 14.256C26.9162 14.256 27.1882 14.376 27.3962 14.616C27.6042 14.856 27.7082 15.152 27.7082 15.504V26.544H29.1482C29.4842 26.544 29.7722 26.624 30.0122 26.784C30.2522 26.944 30.3722 27.232 30.3722 27.648C30.3722 27.952 30.2522 28.216 30.0122 28.44C29.7722 28.648 29.4842 28.752 29.1482 28.752H27.7082V31.776C27.7082 32.112 27.5962 32.4 27.3722 32.64C27.1482 32.88 26.8602 33 26.5082 33ZM25.3562 26.544V18.6L19.3082 26.544H25.3562Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"5\" d=\"M23.6092 33C22.4572 33 21.4172 32.736 20.4892 32.208C19.5772 31.664 18.8492 30.928 18.3052 30C17.7772 29.072 17.5132 28.032 17.5132 26.88C17.5132 26.528 17.6252 26.24 17.8492 26.016C18.0732 25.776 18.3612 25.656 18.7132 25.656C19.0652 25.656 19.3612 25.776 19.6012 26.016C19.8412 26.24 19.9612 26.528 19.9612 26.88C19.9612 27.568 20.1212 28.192 20.4412 28.752C20.7612 29.312 21.1932 29.752 21.7372 30.072C22.2972 30.392 22.9212 30.552 23.6092 30.552C24.3132 30.552 24.9372 30.392 25.4812 30.072C26.0412 29.752 26.4812 29.312 26.8012 28.752C27.1212 28.192 27.2812 27.568 27.2812 26.88C27.2812 26.176 27.1212 25.552 26.8012 25.008C26.4812 24.448 26.0412 24.008 25.4812 23.688C24.9372 23.368 24.3132 23.208 23.6092 23.208H19.6012C19.2492 23.208 18.9612 23.096 18.7372 22.872C18.5132 22.632 18.4012 22.336 18.4012 21.984V15.504C18.4012 15.152 18.5132 14.856 18.7372 14.616C18.9612 14.376 19.2492 14.256 19.6012 14.256H27.6172C27.9532 14.256 28.2412 14.384 28.4812 14.64C28.7212 14.88 28.8412 15.168 28.8412 15.504C28.8412 15.824 28.7212 16.104 28.4812 16.344C28.2572 16.584 27.9692 16.704 27.6172 16.704H20.8252V20.76H23.6092C24.7772 20.76 25.8172 21.032 26.7292 21.576C27.6572 22.104 28.3852 22.832 28.9132 23.76C29.4572 24.672 29.7292 25.712 29.7292 26.88C29.7292 28.032 29.4572 29.072 28.9132 30C28.3852 30.928 27.6572 31.664 26.7292 32.208C25.8172 32.736 24.7772 33 23.6092 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"6\" d=\"M23.7514 33C22.6474 33 21.6634 32.76 20.7994 32.28C19.9514 31.784 19.2874 31.112 18.8074 30.264C18.3274 29.4 18.0874 28.416 18.0874 27.312C18.0874 26.08 18.3914 24.992 18.9994 24.048L24.4474 14.952C24.7354 14.504 25.1034 14.28 25.5514 14.28C25.8874 14.28 26.1674 14.376 26.3914 14.568C26.6154 14.76 26.7514 15 26.7994 15.288C26.8634 15.576 26.8074 15.864 26.6314 16.152L23.3434 21.624C23.4714 21.608 23.6074 21.6 23.7514 21.6C24.8554 21.6 25.8314 21.848 26.6794 22.344C27.5274 22.824 28.1914 23.496 28.6714 24.36C29.1514 25.208 29.3914 26.192 29.3914 27.312C29.3914 28.416 29.1514 29.4 28.6714 30.264C28.1914 31.112 27.5274 31.784 26.6794 32.28C25.8314 32.76 24.8554 33 23.7514 33ZM23.7274 30.84C24.7194 30.84 25.5274 30.512 26.1514 29.856C26.7754 29.2 27.0874 28.352 27.0874 27.312C27.0874 26.272 26.7754 25.424 26.1514 24.768C25.5274 24.096 24.7194 23.76 23.7274 23.76C22.7514 23.76 21.9514 24.096 21.3274 24.768C20.7034 25.424 20.3914 26.272 20.3914 27.312C20.3914 28.352 20.7034 29.2 21.3274 29.856C21.9514 30.512 22.7514 30.84 23.7274 30.84Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"7\" d=\"M20.3694 33C20.0494 33 19.7694 32.88 19.5294 32.64C19.2894 32.4 19.1694 32.112 19.1694 31.776C19.1694 31.552 19.2414 31.296 19.3854 31.008L26.2734 16.704H18.9774C18.6254 16.704 18.3294 16.592 18.0894 16.368C17.8654 16.128 17.7534 15.832 17.7534 15.48C17.7534 15.128 17.8654 14.84 18.0894 14.616C18.3294 14.376 18.6254 14.256 18.9774 14.256H28.1214C28.4574 14.256 28.7454 14.376 28.9854 14.616C29.2254 14.856 29.3454 15.144 29.3454 15.48C29.3454 15.592 29.3294 15.704 29.2974 15.816C29.2654 15.912 29.2254 16.016 29.1774 16.128L21.4974 32.328C21.2414 32.776 20.8654 33 20.3694 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"8\" d=\"M23.5113 32.976C22.4553 32.976 21.5033 32.728 20.6553 32.232C19.8233 31.72 19.1673 31.032 18.6873 30.168C18.2073 29.288 17.9673 28.304 17.9673 27.216C17.9673 26.192 18.1993 25.272 18.6633 24.456C19.1273 23.624 19.7513 22.968 20.5353 22.488C19.9913 22.072 19.5593 21.56 19.2393 20.952C18.9193 20.328 18.7593 19.64 18.7593 18.888C18.7593 17.976 18.9673 17.168 19.3833 16.464C19.7993 15.744 20.3593 15.176 21.0633 14.76C21.7833 14.328 22.5993 14.112 23.5113 14.112C24.4233 14.096 25.2313 14.296 25.9353 14.712C26.6553 15.128 27.2233 15.696 27.6393 16.416C28.0553 17.136 28.2553 17.96 28.2393 18.888C28.2393 19.64 28.0793 20.328 27.7593 20.952C27.4393 21.56 27.0073 22.064 26.4633 22.464C27.2473 22.944 27.8713 23.6 28.3353 24.432C28.7993 25.264 29.0313 26.192 29.0313 27.216C29.0313 28.304 28.7833 29.288 28.2873 30.168C27.8073 31.032 27.1513 31.72 26.3193 32.232C25.4873 32.728 24.5513 32.976 23.5113 32.976ZM23.5113 21.432C24.1833 21.432 24.7353 21.176 25.1673 20.664C25.6153 20.152 25.8473 19.536 25.8633 18.816C25.8793 18.096 25.6633 17.504 25.2153 17.04C24.7673 16.576 24.1993 16.344 23.5113 16.344C22.8393 16.344 22.2793 16.576 21.8313 17.04C21.3833 17.504 21.1513 18.096 21.1353 18.816C21.1193 19.536 21.3353 20.152 21.7833 20.664C22.2473 21.176 22.8233 21.432 23.5113 21.432ZM23.5113 30.768C24.1033 30.768 24.6313 30.608 25.0953 30.288C25.5753 29.968 25.9513 29.544 26.2233 29.016C26.4953 28.472 26.6313 27.872 26.6313 27.216C26.6473 26.576 26.5193 26.008 26.2473 25.512C25.9753 25 25.5993 24.6 25.1193 24.312C24.6553 24.008 24.1193 23.856 23.5113 23.856C22.9193 23.856 22.3833 24.008 21.9033 24.312C21.4233 24.6 21.0473 25 20.7753 25.512C20.5033 26.008 20.3673 26.576 20.3673 27.216C20.3673 27.872 20.4953 28.472 20.7513 29.016C21.0233 29.544 21.3993 29.968 21.8793 30.288C22.3593 30.608 22.9033 30.768 23.5113 30.768Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"9\" d=\"M24.2474 14.232C25.3514 14.232 26.3274 14.48 27.1754 14.976C28.0394 15.456 28.7114 16.128 29.1914 16.992C29.6714 17.84 29.9114 18.816 29.9114 19.92C29.9114 21.152 29.6074 22.24 28.9994 23.184L23.5514 32.28C23.2634 32.728 22.8954 32.952 22.4474 32.952C22.1114 32.952 21.8314 32.856 21.6074 32.664C21.3834 32.472 21.2394 32.232 21.1754 31.944C21.1274 31.656 21.1914 31.368 21.3674 31.08L24.6554 25.608C24.5274 25.624 24.3914 25.632 24.2474 25.632C23.1434 25.632 22.1674 25.392 21.3194 24.912C20.4714 24.416 19.8074 23.744 19.3274 22.896C18.8474 22.032 18.6074 21.04 18.6074 19.92C18.6074 18.816 18.8474 17.84 19.3274 16.992C19.8074 16.128 20.4714 15.456 21.3194 14.976C22.1674 14.48 23.1434 14.232 24.2474 14.232ZM24.2714 16.392C23.2794 16.392 22.4714 16.72 21.8474 17.376C21.2234 18.032 20.9114 18.88 20.9114 19.92C20.9114 20.96 21.2234 21.816 21.8474 22.488C22.4714 23.144 23.2794 23.472 24.2714 23.472C25.2474 23.472 26.0474 23.144 26.6714 22.488C27.2954 21.816 27.6074 20.96 27.6074 19.92C27.6074 18.88 27.2954 18.032 26.6714 17.376C26.0474 16.72 25.2474 16.392 24.2714 16.392Z\" class=\"evo-icon-number__number\" />\n </ng-container>\n</svg>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoIconNumberComponent} from './components/evo-icon-number/evo-icon-number.component';\n\n@NgModule({\n declarations: [EvoIconNumberComponent],\n imports: [CommonModule],\n exports: [EvoIconNumberComponent],\n})\nexport class EvoIconNumberModule {}\n","export function clearMultiline(value: string, isMultiline: boolean): string {\n if (typeof value === 'string') {\n value = isMultiline ? value : value?.replace(/\\n/g, '');\n }\n\n return value;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport { clearMultiline } from './utils/clear-multiline';\n\n@Component({\n selector: 'evo-input-contenteditable',\n templateUrl: './evo-input-contenteditable.component.html',\n styleUrls: ['./evo-input-contenteditable.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoInputContenteditableComponent),\n multi: true,\n },\n {\n provide: EvoBaseControl,\n useExisting: forwardRef(() => EvoInputContenteditableComponent),\n multi: true,\n },\n ],\n})\nexport class EvoInputContenteditableComponent extends EvoBaseControl implements OnInit, ControlValueAccessor {\n\n static readonly STYLE_KEYCODES = [\n 66, // B b\n 73, // I i\n 85, // U u\n ];\n\n @ViewChild('contenteditable', {read: ElementRef, static: true}) readonly contenteditable: ElementRef;\n\n @Output() blur = new EventEmitter<FocusEvent>();\n\n @Input() multiline = true;\n @Input() placeholder: string;\n @Input() autoFocus: boolean;\n @Input() maxLines = 3;\n @Input() minLines = 0;\n\n @Input() private disabled = false;\n @Input() private preventStylingHotkeys = true;\n\n private onChange: Function;\n private onTouched: Function;\n private _isDisabled = false;\n\n\n constructor(\n private cd: ChangeDetectorRef,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n get isDisabled(): boolean {\n return this._isDisabled || this.disabled;\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n open: this.minLines > 0,\n single: !this.multiline,\n disabled: this._isDisabled,\n valid: this.currentState[EvoControlStates.valid],\n invalid: this.currentState[EvoControlStates.invalid],\n };\n }\n\n ngOnInit(): void {\n this.wrapSetValue();\n\n if (this.autoFocus) {\n this.focus();\n }\n }\n\n focus(): void {\n this.contenteditable.nativeElement.focus();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n writeValue(value: string): void {\n this.contenteditable.nativeElement.innerText = this.clearMultiline(value);\n }\n\n onBlur(event: FocusEvent): void {\n this.blur.emit(event);\n }\n\n /**\n * New line triggers changes in both modes\n * Handle this case here if you found this behaviour redundant\n */\n onInput(event: Event): void {\n if (this.onTouched) { this.onTouched(); }\n\n if (this.onChange) {\n const value = ((event as InputEvent).target as HTMLElement).innerText;\n this.onChange(this.clearMultiline(value));\n }\n }\n\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const content = event.clipboardData?.getData('text/plain');\n document.execCommand('insertText', false, this.clearMultiline(content));\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (\n this.preventStylingHotkeys &&\n (event.ctrlKey || event.metaKey) &&\n EvoInputContenteditableComponent.STYLE_KEYCODES.includes(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this.cd.detectChanges();\n }\n\n private clearMultiline(value: string): string {\n return clearMultiline(value, this.multiline);\n }\n\n private wrapSetValue() {\n const originalSetValue = this.control.setValue;\n\n this.control.setValue = (value: unknown, options?: Object) => {\n if (typeof value === 'string') {\n value = this.clearMultiline(value);\n }\n return originalSetValue.call(this.control, value, options);\n };\n }\n}\n","<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoInputContenteditableComponent } from './evo-input-contenteditable.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error';\n\n@NgModule({\n declarations: [\n EvoInputContenteditableComponent,\n ],\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n exports: [\n EvoInputContenteditableComponent,\n ],\n})\nexport class EvoInputContenteditableModule {\n}\n","import { distinctUntilChanged, filter, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { isEqual } from 'lodash-es';\nimport { EvoSidebarState } from '../evo-sidebar';\n\nexport interface EvoModalState {\n id: string;\n isOpen: boolean;\n agreement?: boolean;\n params?: EvoModalParams;\n}\n\nexport interface EvoModalParams {\n [property: string]: any;\n}\n\n@Injectable()\nexport class EvoModalService {\n\n private modalEvents$ = new Subject<EvoModalState>();\n private registeredModals: {[modalId: string]: EvoModalState} = {};\n\n register(id: string) {\n this.registeredModals[id] = {id, isOpen: false};\n }\n\n unregister(id: string) {\n delete this.registeredModals[id];\n }\n\n open(id: string, params?: EvoModalParams) {\n this.modalEvents$.next({id, isOpen: true, params});\n }\n\n close(id: string, agreement: boolean, params?: EvoModalParams) {\n this.modalEvents$.next({id, isOpen: false, agreement, params});\n }\n\n getEventsSubscription(id: string): Observable<EvoModalState> {\n return this.modalEvents$.pipe(\n filter((data: EvoSidebarState) => data.id === id),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n tap((evoModalState: EvoModalState) => evoModalState[id]),\n );\n }\n}\n","import {Component, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EvoModalService, EvoModalState} from './evo-modal.service';\nimport {fromEvent, Observable, Subscription} from 'rxjs';\nimport {takeWhile} from 'rxjs/operators';\nimport {Key} from 'ts-keycode-enum';\nimport {EvoButtonColor, EvoButtonTheme} from '../evo-button';\n\nexport enum EvoModalCloseTargets {\n BACKGROUND = 'background',\n BUTTON = 'button',\n DEFAULT = 'default',\n ESC = 'escape',\n}\n\n@Component({\n selector: 'evo-modal',\n templateUrl: './evo-modal.component.html',\n styleUrls: ['./evo-modal.component.scss'],\n})\nexport class EvoModalComponent implements OnInit, OnDestroy {\n get id(): string {\n return this._id;\n }\n\n @Input() set id(id: string) {\n if (id) {\n this._id = id;\n this.modalService.register(id);\n } else {\n throw new Error(\"EvoModal. Can't be registered, wrong id passed\");\n }\n }\n\n @Input() titleText: string;\n @Input() acceptText: string;\n @Input() acceptButtonColor: EvoButtonColor;\n @Input() acceptButtonTheme: EvoButtonTheme;\n @Input() declineText: string;\n @Input() declineButtonColor: EvoButtonColor = 'secondary';\n @Input() declineButtonTheme: EvoButtonTheme = 'rounded-outline';\n @Input() asyncAccept: () => Observable<any>;\n\n modalState: EvoModalState;\n isAcceptLoading = false;\n isDeclineDisabled = false;\n isVisible = false;\n\n readonly closeTargets = EvoModalCloseTargets;\n private _id: string;\n private closeTarget: EvoModalCloseTargets = EvoModalCloseTargets.DEFAULT;\n\n constructor(private readonly modalService: EvoModalService, private readonly elRef: ElementRef) {}\n\n ngOnInit(): void {\n this.subscribeModalEvents();\n }\n\n ngOnDestroy(): void {\n this.modalService.unregister(this.id);\n }\n\n onBackgroundClick($event): void {\n if (\n this.declineText &&\n $event &&\n $event.target &&\n !this.elRef.nativeElement.querySelector('.evo-modal').contains($event.target) &&\n this.modalState.isOpen\n ) {\n this.handleOnClose(false, this.closeTargets.BACKGROUND);\n }\n }\n\n handleOnClose(agreement: boolean, closeTarget: EvoModalCloseTargets): Subscription {\n this.closeTarget = closeTarget;\n\n if (agreement === false && this.isDeclineDisabled) {\n return;\n }\n if (agreement && typeof this.asyncAccept === 'function') {\n const setAsyncStates = (isLoading = false) => {\n this.isDeclineDisabled = isLoading;\n this.isAcceptLoading = isLoading;\n };\n\n setAsyncStates(true);\n return this.asyncAccept().subscribe(\n () => {\n setAsyncStates(false);\n this.modalService.close(this.id, agreement, {\n closeTarget: this.closeTarget,\n });\n },\n () => {\n setAsyncStates(false);\n },\n );\n }\n this.modalService.close(this.id, agreement, {\n closeTarget: this.closeTarget,\n });\n }\n\n private subscribeModalEvents(): void {\n this.modalService.getEventsSubscription(this.id).subscribe((modalState: EvoModalState) => {\n this.modalState = modalState;\n // timeout for modal animation support\n setTimeout(() => {\n this.isVisible = modalState.isOpen;\n });\n if (modalState.isOpen) {\n this.initKeyboardListener();\n }\n });\n }\n\n private initKeyboardListener(): Subscription {\n return fromEvent(document.body, 'keydown')\n .pipe(\n takeWhile(() => {\n return this.modalState.isOpen;\n }),\n )\n .subscribe((event: KeyboardEvent) => {\n if (this.declineText && event.keyCode === Key.Escape) {\n this.handleOnClose(false, this.closeTargets.ESC);\n }\n });\n }\n}\n","<div\n *ngIf=\"modalState?.isOpen\"\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n></div>\n<div\n *ngIf=\"modalState?.isOpen\"\n class=\"evo-modal__wrapper\"\n [ngClass]=\"{'evo-modal_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n>\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"></ng-content>\n </div>\n <h2 *ngIf=\"titleText !== undefined\" class=\"evo-modal__title\">{{ titleText }}</h2>\n <div class=\"evo-modal__content\">\n <ng-content></ng-content>\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n <button\n *ngIf=\"declineText\"\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n <button\n *ngIf=\"acceptText\"\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoModalComponent } from './evo-modal.component';\nimport { EvoButtonModule } from '../evo-button/evo-button.module';\nimport { EvoModalService } from './evo-modal.service';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoButtonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoModalComponent],\n exports: [EvoModalComponent],\n providers: [EvoModalService]\n})\nexport class EvoModalModule {\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvoNoteType } from './types/evo-note-type';\n\n@Component({\n selector: 'evo-note',\n templateUrl: './evo-note.component.html',\n styleUrls: [ './evo-note.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNoteComponent {\n @Input() closable = false;\n @Input() iconSrc: string;\n @Input() type: EvoNoteType = 'success';\n\n @Output() close = new EventEmitter<MouseEvent>();\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.type) {\n classes.push('type-' + this.type);\n }\n\n if (this.closable) {\n classes.push('is-closable');\n }\n\n return classes;\n }\n\n onCloseClick(event: MouseEvent): void {\n this.close.emit(event);\n }\n}\n","<div class=\"evo-note\" [evoUiClass]=\"totalClasses\">\n <a *ngIf=\"closable\" class=\"evo-note__close\" (click)=\"$event.preventDefault(); onCloseClick($event)\">\n <evo-icon class=\"evo-note__close-icon\" shape=\"close\"></evo-icon>\n </a>\n <div class=\"evo-note__icon\" *ngIf=\"iconSrc\">\n <img [src]=\"iconSrc\" alt=\"\"/>\n </div>\n <div class=\"evo-note__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoNoteComponent } from './evo-note.component';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconClose } from '@evotor-dev/ui-kit/icons/header';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'header',\n shapes: {\n close: iconClose,\n },\n },\n ]),\n ],\n declarations: [ EvoNoteComponent ],\n exports: [ EvoNoteComponent ],\n})\nexport class EvoNoteModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface PageEvent {\n currentPage: number;\n previousPage: number;\n pageSize: number;\n pagesTotal: number;\n}\n\nconst MIN_VISIBLE_PAGES_LIMIT = 5;\nconst DEFAULT_VISIBLE_PAGES_LIMIT = 7;\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Component({\n selector: 'evo-paginator',\n templateUrl: './evo-paginator.component.html',\n styleUrls: ['./evo-paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoPaginatorComponent {\n @Output() pageClick = new EventEmitter<PageEvent>();\n\n pagesTotal = 1;\n visiblePagesLimit = DEFAULT_VISIBLE_PAGES_LIMIT;\n pagesList = [1];\n private pageSize = DEFAULT_PAGE_SIZE;\n private itemsTotal = 0;\n private currentPage = 1; // starts with 1\n\n @Input('currentPage') set setCurrentPage(value: string | number) {\n this.currentPage = parseInt(value as string, 10) || 1;\n this.updatePagesList();\n }\n\n @Input('itemsTotal') set setItemsTotal(itemsTotal: number) {\n this.itemsTotal = itemsTotal > 0 ? itemsTotal : 0;\n this.updatePagesList();\n }\n\n @Input('pageSize') set setPageSize(pageSize: number) {\n this.pageSize = pageSize > 0 ? pageSize : 10;\n this.updatePagesList();\n }\n\n @Input('visiblePagesLimit') set setMaxVisiblePages(visiblePagesLimit: number) {\n if (!visiblePagesLimit) {\n return;\n }\n let valueToSet = visiblePagesLimit;\n if (visiblePagesLimit % 2 === 0 || visiblePagesLimit < MIN_VISIBLE_PAGES_LIMIT) {\n console.warn(`evo-paginator: visiblePagesLimit MUST be a positive odd number. Minimal value is ${MIN_VISIBLE_PAGES_LIMIT}.\n The Component will use default value (${DEFAULT_VISIBLE_PAGES_LIMIT}) instead of your value (${visiblePagesLimit})`);\n valueToSet = DEFAULT_VISIBLE_PAGES_LIMIT;\n }\n this.visiblePagesLimit = valueToSet;\n this.updatePagesList();\n }\n\n onPageClick(page: number): void {\n if (page === this.currentPage) {\n return;\n }\n\n const payload: PageEvent = {\n currentPage: page,\n previousPage: this.currentPage,\n pageSize: this.pageSize,\n pagesTotal: this.pagesTotal,\n };\n this.currentPage = page;\n this.pageClick.emit(payload);\n this.updatePagesList();\n }\n\n isActivePage(page: string | number): boolean {\n return parseInt(page as string, 10) === this.currentPage;\n }\n\n private updatePagesList(): void {\n this.pagesList = [];\n this.pagesTotal = Math.ceil(this.itemsTotal / this.pageSize) || 1;\n const allPages = [...new Array(this.pagesTotal)].map((_, i) => i + 1);\n const halfVisible = (this.visiblePagesLimit - 1) / 2;\n const pagesOnSides = (this.visiblePagesLimit - 2 - 1) / 2;\n\n const lastPageNumber = allPages.length;\n if (this.currentPage > this.pagesTotal) {\n return;\n }\n\n this.pagesList = allPages.filter((p, i) => {\n // is boundary value (always visible)\n if (p === 1 || p === lastPageNumber || p === this.currentPage) {\n return true;\n }\n // start non-shiftable items, for example, when currentPage === 3: [1 2 (3)] 4 5 6 9\n if (this.currentPage <= halfVisible) {\n return p < this.visiblePagesLimit;\n }\n\n // end non-shiftable items, for example, when currentPage === 8: 1 4 5 6 [7 (8) 9]\n // in example above it is 4\n if (this.currentPage >= lastPageNumber - halfVisible) {\n return lastPageNumber - this.visiblePagesLimit < i;\n }\n\n // siblings, for example, when currentPage === 5: 1 [3 4] (5) [6 7] 9\n return (\n (p < this.currentPage && this.currentPage - pagesOnSides <= p) ||\n (p > this.currentPage && p <= this.currentPage + pagesOnSides)\n );\n });\n }\n}\n","<div class=\"paginator-container\">\n <button\n *ngFor=\"let page of pagesList; index as i\"\n class=\"page\"\n [ngClass]=\"{\n page_active: isActivePage(page),\n page_min: i === 0 && pagesList[1] !== 2,\n page_max: (i === (pagesList.length - 1)) && ((page - 1) !== pagesList[pagesList.length - 2])\n }\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPaginatorComponent } from './evo-paginator.component';\n\n@NgModule({\n declarations: [EvoPaginatorComponent],\n imports: [\n CommonModule,\n ],\n exports: [EvoPaginatorComponent]\n})\nexport class EvoPaginatorModule { }\n","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'evo-plus-minus',\n templateUrl: './evo-plus-minus.component.html',\n styleUrls: [ './evo-plus-minus.component.scss' ],\n})\nexport class EvoPlusMinusComponent implements OnInit {\n @Input() id: any;\n @Input() disabledMinus: boolean;\n @Input() disabledPlus: boolean;\n\n @Output() increase: EventEmitter<string> = new EventEmitter<string>();\n @Output() decrease: EventEmitter<string> = new EventEmitter<string>();\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","<div class=\"evo-plus-minus\">\n <button class=\"evo-plus-minus__button\" (click)=\"decrease.emit(id)\" [disabled]=\"disabledMinus\">\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M6,11.25 C5.58579,11.25 5.25,11.5858 5.25,12 C5.25,12.4142 5.58579,12.75 6,12.75 L18,12.75 C18.4142,12.75 18.75,12.4142 18.75,12 C18.75,11.5858 18.4142,11.25 18,11.25 L6,11.25 Z\" id=\"Path\"></path>\n </svg>\n </button>\n <button class=\"evo-plus-minus__button\" (click)=\"increase.emit(id)\" [disabled]=\"disabledPlus\">\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M12,18.75 C11.5858,18.75 11.25,18.4142 11.25,18 L11.25,12.75 L6,12.75 C5.58579,12.75 5.25,12.4142 5.25,12 C5.25,11.5858 5.58579,11.25 6,11.25 L11.25,11.25 L11.25,6 C11.25,5.58579 11.5858,5.25 12,5.25 C12.4142,5.25 12.75,5.58579 12.75,6 L12.75,11.25 L18,11.25 C18.4142,11.25 18.75,11.5858 18.75,12 C18.75,12.4142 18.4142,12.75 18,12.75 L12.75,12.75 L12.75,18 C12.75,18.4142 12.4142,18.75 12,18.75 Z\" id=\"Path\"></path>\n </svg>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPlusMinusComponent } from './evo-plus-minus.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ EvoPlusMinusComponent ],\n exports: [ EvoPlusMinusComponent ],\n})\nexport class EvoPlusMinusModule {}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {createPopper, Instance, Modifier, Placement, PositioningStrategy} from '@popperjs/core';\nimport {asyncScheduler, Subject} from 'rxjs';\nimport {observeOn, takeUntil, tap} from 'rxjs/operators';\n\nexport type EvoPopoverPosition = 'center' | Placement;\n\nexport interface EvoPopoverDelay {\n show?: number;\n hide?: number;\n}\n\nconst DEFAULT_DELAY = {\n show: 0,\n hide: 100,\n};\n\n@Component({\n selector: 'evo-popover',\n templateUrl: 'evo-popover.component.html',\n styleUrls: ['evo-popover.component.scss'],\n})\nexport class EvoPopoverComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n // TODO: This prop only for support old API. Remove later\n // tslint:disable-next-line\n @Input('media-tablet-position') mediaTabletPosition: 'right' | 'left' | 'center' = 'center';\n\n @Input('position') set position(position: EvoPopoverPosition) {\n this.placement = position === 'center' ? (this.positionMap[position] as Placement) : position;\n }\n\n @Input() show = false;\n @Input() modifiers: Partial<Modifier<any, any>>[] = [];\n @Input() strategy: PositioningStrategy = 'absolute';\n\n @Input('delay') set setDelay(value: any) {\n if (typeof value === 'number' && value >= 0) {\n this.delay = {\n show: value,\n hide: value,\n };\n return;\n }\n\n if (typeof value === 'object') {\n this.delay = {\n show: value.show >= 0 ? value.show : DEFAULT_DELAY.show,\n hide: value.hide >= 0 ? value.hide : DEFAULT_DELAY.hide,\n };\n return;\n }\n\n this.delay.show = DEFAULT_DELAY.show;\n this.delay.hide = DEFAULT_DELAY.hide;\n }\n\n @ViewChild('popover') el: ElementRef;\n @ViewChild('popoverWrap') popoverWrap: ElementRef;\n\n private popper: Instance;\n private placement: Placement = 'bottom';\n private delay: EvoPopoverDelay = {};\n private visibilityTimeout = null;\n // Old API Map\n private positionMap = {'center': 'bottom'};\n private update$ = new Subject<void>();\n private subscriptions$ = new Subject<void>();\n\n constructor(\n private zone: NgZone,\n ) {\n }\n\n ngAfterViewInit() {\n this.create();\n this.update$.pipe(\n observeOn(asyncScheduler),\n tap(() => {\n if (this.popper) {\n this.popper.update();\n }\n }),\n takeUntil(this.subscriptions$),\n ).subscribe();\n }\n\n ngOnDestroy() {\n this.destroy();\n this.subscriptions$.next();\n this.subscriptions$.complete();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const position = changes.position;\n if (position && !position.firstChange) {\n this.destroy();\n this.create();\n }\n }\n\n create() {\n this.zone.runOutsideAngular(() => {\n this.popper = createPopper(\n this.el.nativeElement,\n this.popoverWrap.nativeElement,\n {\n strategy: this.strategy,\n placement: this.placement,\n modifiers: this.modifiers,\n }\n );\n this.update$.next();\n });\n }\n\n destroy() {\n if (this.popper) {\n this.zone.runOutsideAngular(() => {\n this.popper.destroy();\n });\n\n this.popper = null;\n }\n }\n\n @HostListener('mouseenter')\n onEnter() {\n this.onMouseoverPopover();\n }\n\n @HostListener('touchend')\n onTouchEnd() {\n this.onMouseoverPopover();\n }\n\n @HostListener('mouseleave')\n onLeave() {\n this.onMouseleavePopover();\n }\n\n onClickOutside(): void {\n this.hidePopover();\n }\n\n showPopover(): void {\n this.popper.update();\n this.show = true;\n }\n\n hidePopover() {\n this.show = false;\n }\n\n private onMouseoverPopover() {\n this.togglePopover(true);\n }\n\n private onMouseleavePopover() {\n this.togglePopover(false);\n }\n\n private togglePopover(show: boolean = false) {\n const action = show ? 'show' : 'hide';\n const delayValue = this.delay && this.delay[action] > 0 ? this.delay[action] : 0;\n const toggle = () => {\n if (show) {\n this.showPopover();\n } else {\n this.hidePopover();\n }\n };\n if (this.visibilityTimeout) {\n clearTimeout(this.visibilityTimeout);\n }\n if (delayValue > 0) {\n this.visibilityTimeout = setTimeout(() => {\n toggle();\n }, delayValue);\n } else {\n toggle();\n }\n }\n\n}\n","<span class=\"evo-popover\" #popover evoClickOutside (evoClickOutside)=\"onClickOutside()\">\n <ng-content></ng-content>\n <div class=\"evo-popover__tip\" [evoUiClass]=\"{ 'visible': show }\" #popoverWrap>\n <div class=\"evo-popover__tip-inner\">\n <ng-content select=\"[popover-body]\"></ng-content>\n <div class=\"evo-popover__arrow\" data-popper-arrow>\n <div class=\"evo-popover__arrow-inner\"></div>\n </div>\n </div>\n </div>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPopoverComponent } from './evo-popover.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoPopoverComponent],\n exports: [EvoPopoverComponent],\n})\nexport class EvoPopoverModule {\n}\n","import { Injector, ViewContainerRef } from '@angular/core';\n\nexport class EvoPortalOutlet {\n\n constructor(\n public injector: Injector,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n}\n","// tslint:disable-next-line:max-line-length\nimport { ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector, TemplateRef, Type, ViewRef } from '@angular/core';\nimport { EvoPortalOutlet } from './evo-portal-outlet.class';\n\nexport type EvoPortalHostType = EvoPortalOutlet | HTMLElement | string;\n\nexport abstract class EvoAbstractPortal {\n\n abstract hasAttachedPortal(): boolean;\n\n abstract attach(\n host: EvoPortalHostType\n ): void;\n\n abstract detach(): void;\n}\n\n@Injectable()\nexport class EvoPortalService {\n\n constructor(\n protected appRef: ApplicationRef,\n protected injector: Injector,\n protected cfr: ComponentFactoryResolver,\n ) { }\n\n attachComponent<T = any>(\n portal: Type<T>,\n host: EvoPortalHostType,\n injector?: Injector,\n ): ComponentRef<T> {\n if (host instanceof EvoPortalOutlet) {\n return this.attachToHost<T>(\n portal,\n host,\n injector,\n );\n } else {\n return this.attachToDomElement<T>(\n portal,\n host,\n injector,\n );\n }\n }\n\n attachToDomElement<T = any>(\n portal: Type<T>,\n elementOrSelector: HTMLElement | string,\n injector?: Injector,\n ): ComponentRef<T> {\n\n let element: HTMLElement;\n\n if (\n this.isElementSelector(elementOrSelector)\n ) {\n element = document.querySelector(elementOrSelector as string);\n if (!element) {\n this.errNotFoundBySelector(elementOrSelector as string);\n }\n } else if (\n this.isHTMLElement(elementOrSelector)\n ) {\n element = elementOrSelector as HTMLElement;\n }\n\n const factory = this.cfr\n .resolveComponentFactory<T>(portal);\n\n const compRef = factory.create(\n injector || this.injector\n );\n\n this.appRef.attachView(compRef.hostView);\n\n element.appendChild(\n this.getRootNode(compRef)\n );\n\n return compRef;\n\n }\n\n attachToHost<T = any>(\n portal: Type<T>,\n portalHost: EvoPortalOutlet,\n injector?: Injector,\n ): ComponentRef<T> {\n\n const factory = this.cfr\n .resolveComponentFactory<T>(portal);\n\n return portalHost.viewContainerRef.createComponent<T>(\n factory,\n portalHost.viewContainerRef.length,\n injector || portalHost.injector,\n );\n }\n\n attachTemplate<T = any>(\n template: TemplateRef<T>,\n host: EvoPortalHostType,\n context?: T,\n ): EmbeddedViewRef<T> {\n\n if (host instanceof EvoPortalOutlet) {\n return host.viewContainerRef.createEmbeddedView(\n template,\n context,\n host.viewContainerRef.length,\n );\n } else if (\n this.isHTMLElement(host)\n ) {\n return this.attachTemplateToElement(\n template,\n host as HTMLElement,\n context,\n );\n } else {\n const hostEl: HTMLElement = document.querySelector(host as string);\n if (!hostEl) {\n this.errNotFoundBySelector(host as string);\n return;\n }\n return this.attachTemplateToElement(\n template,\n hostEl,\n context,\n );\n }\n }\n\n detach<T = any>(\n portal: ComponentRef<T> | EmbeddedViewRef<T> | ViewRef,\n ) {\n portal.destroy();\n }\n\n protected attachTemplateToElement<T>(\n template: TemplateRef<T>,\n element: HTMLElement,\n context?: T,\n ): EmbeddedViewRef<T> {\n const viewRef = template.createEmbeddedView(context);\n this.appRef.attachView(viewRef);\n element.appendChild(\n viewRef.rootNodes[0] as HTMLElement\n );\n return viewRef;\n }\n\n protected getRootNode(\n ref: ComponentRef<any> | EmbeddedViewRef<any>,\n ): HTMLElement {\n if (ref instanceof ComponentRef) {\n return (ref.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n } else {\n return ref.rootNodes[0] as HTMLElement;\n }\n }\n\n protected isElementSelector(selector: any): boolean {\n return selector && typeof selector === 'string' && !!selector.trim().length;\n }\n\n protected isHTMLElement(element: any): boolean {\n return element && (element instanceof Element || element instanceof HTMLDocument);\n }\n\n protected errNotFoundBySelector(selector: string) {\n throw new Error(`Element with selector '${selector}' not found`);\n }\n\n}\n","import { Directive, Injector, ViewContainerRef } from '@angular/core';\nimport { EvoPortalOutlet } from './evo-portal-outlet.class';\n\n@Directive({\n selector: '[evoPortalOutlet]'\n})\nexport class EvoPortalOutletDirective extends EvoPortalOutlet {\n\n constructor(\n public injector: Injector,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(injector, viewContainerRef);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPortalService } from './evo-portal.service';\nimport { EvoPortalOutletDirective } from './evo-portal-outlet.directive';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n providers: [\n EvoPortalService,\n ],\n declarations: [\n EvoPortalOutletDirective,\n ],\n exports: [\n EvoPortalOutletDirective,\n ]\n})\nexport class EvoPortalModule { }\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\n\n@Component({\n selector: 'evo-radio',\n templateUrl: './evo-radio.component.html',\n styleUrls: [ './evo-radio.component.scss' ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioComponent extends EvoBaseControl implements ControlValueAccessor {\n @Input() value: any;\n @Input() name: string;\n\n disabled: boolean;\n\n onChange = (_) => {};\n onTouch = () => {};\n\n get checked() {\n return this.control ? this.control.value === this.value : false;\n }\n\n handleOnChange() {\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n\n }\n}\n","<label class=\"evo-radio\">\n <input class=\"evo-radio__input\"\n type=\"radio\"\n (change)=\"handleOnChange()\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\">\n <span class=\"evo-radio__element\"></span>\n <span class=\"evo-radio__content\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoRadioComponent } from './evo-radio.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n declarations: [ EvoRadioComponent ],\n exports: [ EvoRadioComponent ],\n})\nexport class EvoRadioModule {}\n","import {Component, forwardRef, Injector, Input, OnInit} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR, UntypedFormBuilder} from '@angular/forms';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {IOptions} from './typings/options';\n\nexport * from './typings/options';\n\n\nexport enum EvoRadioGroupThemes {\n light = 'light',\n segment = 'segment',\n}\n\nexport enum EvoRadioGroupDirections {\n row = 'row',\n column = 'column',\n}\n\n@Component({\n selector: 'evo-radio-group',\n templateUrl: './evo-radio-group.component.html',\n styleUrls: [ './evo-radio-group.component.scss' ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioGroupComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioGroupComponent extends EvoBaseControl implements ControlValueAccessor, OnInit {\n @Input() options: IOptions;\n // tslint:disable-next-line\n @Input('value') _value?: string;\n @Input() theme: EvoRadioGroupThemes;\n @Input() direction: EvoRadioGroupDirections;\n\n formGroup;\n private disabled = false;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n onChange = (_) => {};\n onTouched = () => {};\n\n get value(): string {\n return this._value;\n }\n\n set value(value: string) {\n this._value = value;\n this.onChange(value);\n }\n\n ngOnInit() {\n this.createFormGroup();\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n }\n\n /**\n * Обработчик на смену значения\n * @param value значение\n */\n onChangedValue(value: string): void {\n this.value = value;\n }\n\n /**\n * Геттер на возможные варианты отчета в формате массива\n * презентационного текста для радио группа\n */\n get optionArray(): IOptions[] {\n return this.generateOptionArray(this.options);\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.theme) {\n classes.push(this.theme);\n }\n\n if (this.direction) {\n classes.push(this.direction);\n }\n\n return classes;\n }\n\n /**\n * Генерирует из опций массив\n * @param source объект с вариантами\n */\n private generateOptionArray(source: IOptions): IOptions[] {\n const array = [];\n\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n array.push(source[key]);\n }\n }\n\n return array;\n }\n\n /**\n * Создание группы\n */\n private createFormGroup(): void {\n this.formGroup = this.formBuilder.group({\n value: [ this.value ],\n });\n }\n}\n","<div class=\"evo-radio-group\" [evoUiClass]=\"totalClasses\" [formGroup]=\"formGroup\">\n <label class=\"evo-radio-group__radio\" *ngFor=\"let option of optionArray\">\n <!-- Переключение стилей выполняется с помощью псевдоселектора :checked -->\n <input class=\"evo-radio-group__radio-control\" (ngModelChange) = \"onChangedValue($event)\" formControlName=\"value\" type=\"radio\" value={{option.value}}>\n <div class=\"evo-radio-group__radio-view\">\n <span class=\"evo-radio-group__radio-icon\"></span>\n <span class=\"evo-radio-group__radio-value\">{{option.presentationText}}</span>\n </div>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoRadioGroupComponent } from './evo-radio-group.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\nexport { EvoRadioGroupDirections, EvoRadioGroupThemes } from './evo-radio-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoRadioGroupComponent ],\n exports: [ EvoRadioGroupComponent ],\n})\nexport class EvoRadioGroupModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { EvoBaseControl } from '../../../common/evo-base-control';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEqual } from 'lodash-es';\n\n@Component({\n selector: 'evo-radioshape',\n templateUrl: 'evo-radioshape.component.html',\n styleUrls: ['evo-radioshape.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioshapeComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioshapeComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input() forceChecked: boolean;\n @Input() value: any;\n @Input() name = Math.random();\n\n disabled: boolean;\n\n onChange = (_) => {};\n onTouch = () => {};\n\n get checked() {\n return this.control ? isEqual(this.control.value, this.value) || this.forceChecked : this.forceChecked;\n }\n\n handleOnChange() {\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n\n }\n}\n","<div class=\"evo-radioshape\" [ngClass]=\"{'evo-radioshape_checked': checked, 'evo-radioshape_disabled': disabled}\">\n <label class=\"evo-radioshape__label\" *ngIf=\"value || forceChecked\">\n <input class=\"evo-radioshape__input\"\n type=\"radio\"\n (change)=\"handleOnChange()\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\">\n <span class=\"evo-radioshape__control\"></span>\n </label>\n <div class=\"evo-radioshape__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EvoRadioshapeComponent } from './components/evo-radioshape.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [\n EvoRadioshapeComponent,\n ],\n exports: [\n EvoRadioshapeComponent,\n ],\n})\nexport class EvoRadioshapeModule {}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'evo-segmented-bar',\n templateUrl: './evo-segmented-bar.component.html',\n styleUrls: ['./evo-segmented-bar.component.scss'],\n})\n/**\n * @deprecated use `EvoChipComponent`\n */\nexport class EvoSegmentedBarComponent implements OnInit {\n @Input() label: string;\n @Input() labelShort: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"bar\">\n <div class=\"bar__label\"\n *ngIf=\"label\"\n [ngClass]=\"{bar__label_normal: labelShort}\"\n >\n {{ label }}\n </div>\n\n <div class=\"bar__label bar__label_short\"\n *ngIf=\"labelShort\"\n >\n {{ labelShort }}\n </div>\n\n <div class=\"bar__buttons-wrapper\">\n <div class=\"bar__buttons\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import {AfterViewChecked, Component, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {EvoBaseControl} from '../../../common/evo-base-control';\n\n@Component({\n selector: 'evo-segmented-bar-button',\n templateUrl: './evo-segmented-bar-button.component.html',\n styleUrls: ['./evo-segmented-bar-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoSegmentedBarButtonComponent),\n multi: true,\n },\n ],\n})\n/**\n * @deprecated use `EvoChipComponent`\n */\nexport class EvoSegmentedBarButtonComponent extends EvoBaseControl implements ControlValueAccessor, AfterViewChecked {\n @Input() name: string;\n @Input() value: string;\n @Input() color = 'white';\n @Input() disabled = false;\n\n private _selectedValue: any;\n\n onChange = (_) => {};\n onTouched = () => {};\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n ngAfterViewChecked() {\n if (this.control) {\n this.control.valueChanges.subscribe(() => {\n this.writeValue(this.control.value);\n });\n }\n }\n\n writeValue(value) {\n this._selectedValue = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n onInputChange(value) {\n this._selectedValue = value;\n this.onChange(value);\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n}\n","<label class=\"segmented-button\" [evoUiClass]=\"totalClasses\">\n <input class=\"segmented-button__input\"\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"value === selectedValue\"\n (change)=\"onInputChange(value)\"\n [disabled]=\"disabled\"\n />\n <span class=\"segmented-button__view\">\n <span class=\"segmented-button__view-text\">\n <ng-content></ng-content>\n </span>\n </span>\n</label>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSegmentedBarComponent} from './evo-segmented-bar/evo-segmented-bar.component';\nimport {EvoSegmentedBarButtonComponent} from './evo-segmented-bar-button/evo-segmented-bar-button.component';\nimport {FormsModule} from '@angular/forms';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [CommonModule, FormsModule, EvoUiKitModule],\n declarations: [EvoSegmentedBarComponent, EvoSegmentedBarButtonComponent],\n exports: [EvoSegmentedBarComponent, EvoSegmentedBarButtonComponent],\n})\n/**\n * @deprecated use `EvoChipModule`\n */\nexport class EvoSegmentedBarModule {}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {IEvoControlState} from '../../common/evo-control-state-manager/evo-control-state.interface';\nimport {Subject, Subscription} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\n@Component({\n selector: 'evo-select',\n templateUrl: './evo-select.component.html',\n styleUrls: ['./evo-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoSelectComponent),\n multi: true,\n },\n ],\n})\nexport class EvoSelectComponent\n extends EvoBaseControl\n implements ControlValueAccessor, AfterContentInit, OnDestroy, AfterContentChecked\n{\n @Input() style: 'input' | 'inline' = 'input';\n @Input() label: string;\n @Input() theme: string;\n\n disabled = false;\n @ViewChild('select', {static: true}) select: ElementRef;\n\n set selectedValue(value: any) {\n this._selectedValue = value;\n [].slice.call(this.select.nativeElement.options).some((option, index) => {\n if (option && option.value === value) {\n this.selectedLabel = option.innerText;\n return true;\n }\n return false;\n });\n }\n\n get selectedValue(): any {\n return this._selectedValue;\n }\n\n selectedLabel: any;\n\n private _selectedValue: any;\n\n private contentChanges$ = new Subject<void>();\n\n private contentChangesSubscription: Subscription;\n\n propagateChange = (_: any) => {};\n\n ngAfterContentInit() {\n if (!this.selectedValue) {\n const selectOptions = this.select.nativeElement.options;\n this.selectedValue = selectOptions && selectOptions.length > 0 ? selectOptions[0].value : undefined;\n } else {\n this.setLabel();\n }\n this.contentChangesSubscription = this.contentChanges$.pipe(tap(() => this.setLabel())).subscribe();\n }\n\n ngAfterContentChecked() {\n this.contentChanges$.next();\n }\n\n ngOnDestroy(): void {\n this.contentChangesSubscription.unsubscribe();\n }\n\n writeValue(value: any) {\n if (value !== undefined) {\n this.selectedValue = value;\n }\n }\n\n registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n registerOnTouched() {}\n\n getSelectClasses() {\n return {\n [this.style]: true,\n [this.theme]: this.theme,\n disabled: this.disabled,\n invalid: this.currentState.invalid,\n valid: this.currentState.valid,\n };\n }\n\n onChange(newValue) {\n this.propagateChange(newValue);\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n get currentState(): IEvoControlState {\n return Object.assign(\n {\n valid: this.control ? this.control.dirty && this.control.valid : undefined,\n invalid: this.control ? this.control.dirty && this.control.invalid : undefined,\n },\n this.state,\n );\n }\n\n setLabel(): void {\n const optionsArray = [].slice.call(this.select.nativeElement.options);\n const selectedIndex = optionsArray.findIndex((option) => option.value === this.selectedValue);\n if (selectedIndex >= 0) {\n const selectedOption = optionsArray[selectedIndex];\n this.selectedLabel = selectedOption.innerText;\n this.select.nativeElement.selectedIndex = selectedIndex;\n }\n }\n}\n","<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoSelectComponent } from './evo-select.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule } from '@angular/forms';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [EvoSelectComponent],\n exports: [EvoSelectComponent],\n})\nexport class EvoSelectModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport { EvoSidebarConfig } from './interfaces';\n\n// Root ID\nexport const evoSidebarRootId = 'EVO_SIDEBAR_ROOT_ID';\nexport const EVO_SIDEBAR_ROOT_ID = new InjectionToken<string>(\n evoSidebarRootId\n);\n\n// Config\nexport const evoSidebarDefaultConfig: EvoSidebarConfig = {\n host: 'body',\n};\n\nexport const EVO_SIDEBAR_CONFIG = new InjectionToken<EvoSidebarConfig>('EVO_SIDEBAR_CONFIG');\n\n// Sidebar Data\nexport const EVO_SIDEBAR_DATA = new InjectionToken('EVO_SIDEBAR_DATA');\n","export enum EvoSidebarCloseTargets {\n BACKGROUND = 'background',\n BUTTON = 'button',\n DEFAULT = 'default',\n ESC = 'escape',\n}\n","export enum EvoSidebarStates {\n HIDDEN = 'hidden',\n VISIBLE = 'visible',\n}\n","export enum EvoSidebarSizes {\n NORMAL = 'normal',\n MIDDLE = 'middle',\n LARGE = 'large',\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const SidebarInjectionToken = new InjectionToken('SidebarInjectionToken');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, take, tap } from 'rxjs/operators';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { EvoAbstractPortal } from '../evo-portal';\nimport { EvoSidebarState, EvoSidebarConfig, EvoSidebarParams, EvoOpenedSidebarActions } from './interfaces';\nimport { evoSidebarDefaultConfig, evoSidebarRootId, EVO_SIDEBAR_CONFIG } from './tokens';\n\n@Injectable()\nexport class EvoSidebarService {\n\n private sidebarEvents$ = new Subject<EvoSidebarState>();\n private registeredSidebars: {[id: string]: EvoSidebarState} = {};\n private config: EvoSidebarConfig;\n\n constructor(\n private portal: EvoAbstractPortal, // EvoSidebarPortal provided\n @Optional()\n @Inject(EVO_SIDEBAR_CONFIG) private _config: EvoSidebarConfig,\n ) {\n this.config = {\n ...evoSidebarDefaultConfig,\n ..._config,\n };\n }\n\n deregister(id: string) {\n delete this.registeredSidebars[id];\n }\n\n register(id: string) {\n if (this.registeredSidebars[id]) {\n throw Error(`[EvoUiKit]: Another evo-sidebar with id = \"${id}\" already registered!`);\n } else {\n this.registeredSidebars[id] = { id, isOpen: false };\n }\n }\n\n open(params: EvoSidebarParams): EvoOpenedSidebarActions;\n open(id: string, params?: EvoSidebarParams): EvoOpenedSidebarActions;\n open(idOrParams: string | EvoSidebarParams, params?: EvoSidebarParams): EvoOpenedSidebarActions {\n if (typeof idOrParams === 'string') {\n this.sidebarEvents$.next({\n id: idOrParams,\n isOpen: true,\n params,\n });\n return this.getOpenedSidebarActions(idOrParams);\n } else {\n this.openWithDefaultHost(idOrParams);\n return this.getOpenedSidebarActions(evoSidebarRootId);\n }\n }\n\n openWithDefaultHost(params: EvoSidebarParams) {\n if (!this.portal.hasAttachedPortal()) {\n this.portal.attach(this.config.host);\n setTimeout(() => {\n this.open(evoSidebarRootId, params);\n }, 0);\n } else {\n this.open(evoSidebarRootId, params);\n }\n }\n\n close(params?: EvoSidebarParams): void;\n close(id: string, params?: EvoSidebarParams): void;\n close(idOrParams?: string | EvoSidebarParams, params?: EvoSidebarParams): void {\n if (typeof idOrParams === 'string') {\n this.sidebarEvents$.next({id: idOrParams, isOpen: false, params});\n } else {\n this.closeWithDefaultHost(idOrParams);\n }\n }\n\n closeWithDefaultHost(params?: EvoSidebarParams) {\n this.sidebarEvents$.next({id: evoSidebarRootId, isOpen: false, params});\n }\n\n getEventsSubscription(id: string, immediate?: boolean): Observable<EvoSidebarState> {\n return this.sidebarEvents$.pipe(\n filter((data: EvoSidebarState) => data.id === id),\n filter((data: EvoSidebarState) => {\n if (!data.isOpen) {\n return data.params && data.params.closeTarget ? true : immediate;\n }\n\n return true;\n }),\n distinctUntilChanged((prev: EvoSidebarState, next: EvoSidebarState) => {\n return immediate ? false : isEqual(prev, next);\n }),\n tap((data: EvoSidebarState) => {\n if (!immediate) {\n this.registeredSidebars[data.id] = cloneDeep(data);\n }\n }),\n );\n }\n\n cleanupDefaultHost() {\n if (!this.portal.hasAttachedPortal()) {\n return;\n }\n this.portal.detach();\n }\n\n getOpenedSidebarActions(id: string): EvoOpenedSidebarActions {\n return {\n afterClosed: () => {\n return this.getEventsSubscription(id).pipe(\n filter(({ isOpen }) => !isOpen),\n take(1),\n );\n }\n };\n }\n\n}\n","import {Component, EventEmitter, Inject, Input, OnInit, Output} from '@angular/core';\nimport {EvoSidebarCloseTargets} from '../enums/evo-sidebar-close-targets';\nimport {SidebarInjectionToken} from '../sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar-header, [evo-sidebar-header]',\n templateUrl: './evo-sidebar-header.component.html',\n styleUrls: ['./evo-sidebar-header.component.scss'],\n // eslint-disable-next-line\n host: {\n class: 'evo-sidebar__header',\n },\n})\nexport class EvoSidebarHeaderComponent implements OnInit {\n @Input() backButton: boolean;\n\n @Output() back = new EventEmitter();\n\n constructor(@Inject(SidebarInjectionToken) private sidebar: any) {}\n\n ngOnInit() {\n if (!this.sidebar) {\n throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);\n }\n\n this.backButton = this.backButton ?? this.sidebar.backButton;\n }\n\n handleBackClick() {\n this.back.emit();\n }\n\n closeSidebar() {\n this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);\n }\n}\n","<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n","import {Component, HostBinding, Inject, Input, OnInit} from '@angular/core';\nimport {SidebarInjectionToken} from '../sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar-content, [evo-sidebar-content]',\n templateUrl: './evo-sidebar-content.component.html',\n styleUrls: ['./evo-sidebar-content.component.scss'],\n})\nexport class EvoSidebarContentComponent implements OnInit {\n @Input() relativeFooter: boolean;\n\n private hostClass = 'evo-sidebar__content';\n\n constructor(@Inject(SidebarInjectionToken) private sidebar: any) {}\n\n ngOnInit() {\n if (!this.sidebar) {\n throw new Error(`EvoSidebarContentComponent must be used inside EvoSidebarComponent only!`);\n }\n\n this.relativeFooter = this.relativeFooter ?? this.sidebar.relativeFooter;\n }\n\n @HostBinding('class')\n get hostClasses() {\n return this.relativeFooter ? `${this.hostClass} evo-sidebar__content_relative-footer` : this.hostClass;\n }\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'evo-sidebar-footer, [evo-sidebar-footer]',\n templateUrl: './evo-sidebar-footer.component.html',\n styleUrls: ['./evo-sidebar-footer.component.scss'],\n // eslint-disable-next-line\n host: {\n 'class': 'evo-sidebar__footer-wrapper',\n }\n})\nexport class EvoSidebarFooterComponent {}\n","<div class=\"evo-sidebar__footer\"><ng-content></ng-content></div> <!--чтобы :empty работал, не должно быть внутри evo-sidebar__footer вообще ничего, даже пробела-->\n","// tslint:disable-next-line:max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {fromEvent, Subject, SubscriptionLike} from 'rxjs';\nimport {EvoSidebarService} from './evo-sidebar.service';\nimport {AnimationEvent} from '@angular/animations';\nimport {delay, filter, takeUntil, takeWhile, tap} from 'rxjs/operators';\nimport {enterZone} from '../../operators';\nimport {Location} from '@angular/common';\nimport {EvoSidebarState} from './interfaces';\nimport {EVO_SIDEBAR_DATA, evoSidebarRootId} from './tokens';\nimport {sidebarAnimation} from '../../common/animations/sidebar.animation';\nimport {EvoSidebarCloseTargets} from './enums/evo-sidebar-close-targets';\nimport {EvoSidebarStates} from './enums/evo-sidebar-states';\nimport {EvoSidebarSizes} from './enums/evo-sidebar-sizes';\nimport {SidebarInjectionToken} from './sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar',\n styleUrls: ['./evo-sidebar.component.scss'],\n templateUrl: './evo-sidebar.component.html',\n animations: [sidebarAnimation],\n viewProviders: [\n {\n provide: SidebarInjectionToken,\n useExisting: forwardRef(() => EvoSidebarComponent),\n },\n ],\n})\nexport class EvoSidebarComponent implements OnDestroy, OnInit {\n @ViewChild('sidebarContentContainer', {read: ViewContainerRef})\n contentContainer: ViewContainerRef;\n\n @Input() backButton: boolean;\n @Input() id: string;\n @Input() header: string;\n @Input() size: EvoSidebarSizes = EvoSidebarSizes.NORMAL;\n @Input() relativeFooter: boolean;\n\n @Output() back = new EventEmitter<void>();\n\n isVisible = false;\n\n isDynamicContent = false;\n\n readonly closeTargets = EvoSidebarCloseTargets;\n\n private closeTarget: EvoSidebarCloseTargets = EvoSidebarCloseTargets.DEFAULT;\n\n private dynamicComponentRef: ComponentRef<any>;\n\n private locationSubscription: SubscriptionLike;\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private zone: NgZone,\n private location: Location,\n private componentFactoryResolver: ComponentFactoryResolver,\n public sidebarService: EvoSidebarService,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n ngOnDestroy() {\n this.clearView();\n this.sidebarService.deregister(this.id);\n this.locationSubscription?.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnInit() {\n if (!this.id) {\n this.id = evoSidebarRootId;\n }\n this.sidebarService.register(this.id);\n this.sidebarService\n .getEventsSubscription(this.id, true)\n .pipe(\n // async hack to avoid \"Expression has changed after it was checked\" error\n delay(0),\n takeUntil(this.destroy$),\n )\n .subscribe((sidebarState: EvoSidebarState) => {\n const {isOpen, params} = sidebarState;\n if (isOpen) {\n this.subscribeToKeyEvent();\n } else {\n this.closeTarget = EvoSidebarCloseTargets.DEFAULT;\n }\n\n // Dynamic content strategy\n if (isOpen && params?.component) {\n const {component, closeOnNavigation, size, data} = params;\n this.isDynamicContent = true;\n this.insertComponent(component, data);\n if (size) {\n this.size = size;\n }\n if (!this.locationSubscription && closeOnNavigation !== false) {\n this.closeOnLocationUpdates();\n }\n }\n\n this.isVisible = isOpen;\n this.cdr.markForCheck();\n });\n }\n\n get currentState(): string {\n return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.isVisible) {\n classes.push(EvoSidebarStates.VISIBLE);\n }\n\n classes.push(this.size ?? EvoSidebarSizes.NORMAL);\n\n return classes;\n }\n\n closeSidebar(source: EvoSidebarCloseTargets) {\n this.isVisible = false;\n this.closeTarget = source;\n }\n\n handleAnimationDone(event: AnimationEvent) {\n const isClosed = event.fromState === EvoSidebarStates.VISIBLE;\n\n if (isClosed && !this.isVisible) {\n this.sidebarService.close(this.id, {closeTarget: this.closeTarget});\n this.clearView();\n if (this.id === evoSidebarRootId) {\n this.sidebarService.deregister(evoSidebarRootId);\n this.sidebarService.cleanupDefaultHost();\n }\n }\n }\n\n handleBackClick() {\n this.back.emit();\n }\n\n private subscribeToKeyEvent() {\n this.zone.runOutsideAngular(() => {\n fromEvent(document.body, 'keyup')\n .pipe(\n takeWhile(() => this.isVisible),\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n enterZone(this.zone),\n tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)),\n )\n .subscribe();\n });\n }\n\n private insertComponent(component: Type<any>, data: any) {\n this.clearView();\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory<Component>(component);\n\n const injector: Injector = Injector.create({\n providers: [\n {\n provide: EVO_SIDEBAR_DATA,\n useValue: data,\n },\n {\n provide: SidebarInjectionToken,\n useValue: this,\n },\n ],\n });\n\n this.dynamicComponentRef = this.contentContainer.createComponent(componentFactory, 0, injector);\n }\n\n private clearView() {\n if (!this.dynamicComponentRef) {\n return;\n }\n this.contentContainer.clear();\n this.dynamicComponentRef = null;\n }\n\n private closeOnLocationUpdates() {\n this.locationSubscription = this.location.subscribe(() => {\n this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);\n });\n }\n}\n","<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injector} from '@angular/core';\nimport {EvoAbstractPortal, EvoPortalService} from '../evo-portal';\nimport {EvoSidebarComponent} from './evo-sidebar.component';\n\nexport class EvoSidebarPortal extends EvoPortalService implements EvoAbstractPortal {\n attachedPortal: ComponentRef<EvoSidebarComponent>;\n\n constructor(public appRef: ApplicationRef, public injector: Injector, public cfr: ComponentFactoryResolver) {\n super(appRef, injector, cfr);\n }\n\n attach(host: string) {\n this.attachedPortal = this.attachComponent(EvoSidebarComponent, host, this.injector);\n }\n\n detach() {\n super.detach(this.attachedPortal);\n this.attachedPortal = null;\n }\n\n hasAttachedPortal() {\n return !!this.attachedPortal;\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injector,\n ModuleWithProviders,\n NgModule,\n Provider,\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSidebarComponent} from './evo-sidebar.component';\nimport {EvoSidebarHeaderComponent} from './evo-sidebar-header/evo-sidebar-header.component';\nimport {EvoSidebarFooterComponent} from './evo-sidebar-footer/evo-sidebar-footer.component';\nimport {EvoSidebarService} from './evo-sidebar.service';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {EvoIconModule} from '../evo-icon/evo-icon.module';\nimport {iconChevronLeft} from '@evotor-dev/ui-kit/icons/navigation';\nimport {iconClose} from '@evotor-dev/ui-kit/icons/header';\nimport {EvoSidebarContentComponent} from './evo-sidebar-content/evo-sidebar-content.component';\nimport {EvoSidebarConfig} from './interfaces';\nimport {EVO_SIDEBAR_CONFIG} from './tokens';\nimport {EvoSidebarPortal} from './evo-sidebar-portal';\nimport {EvoAbstractPortal} from '../evo-portal';\n\nexport const portalProvider: Provider = {\n provide: EvoAbstractPortal,\n useClass: EvoSidebarPortal,\n deps: [ApplicationRef, Injector, ComponentFactoryResolver],\n};\n\nconst components = [\n EvoSidebarComponent,\n EvoSidebarHeaderComponent,\n EvoSidebarContentComponent,\n EvoSidebarFooterComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'sidebarIcons',\n shapes: {\n 'chevron-left': iconChevronLeft,\n close: iconClose,\n },\n },\n ]),\n ],\n declarations: [...components],\n exports: [...components],\n providers: [portalProvider, EvoSidebarService],\n})\nexport class EvoSidebarModule {\n static forRoot(config?: EvoSidebarConfig): ModuleWithProviders<EvoSidebarModule> {\n return {\n ngModule: EvoSidebarModule,\n providers: [\n portalProvider,\n {\n provide: EVO_SIDEBAR_CONFIG,\n useValue: config,\n },\n {\n provide: EvoSidebarService,\n useClass: EvoSidebarService,\n deps: [EvoAbstractPortal, EVO_SIDEBAR_CONFIG],\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nexport enum EvoStepperEvent {\n LABEL_CHANGED = 'LABEL_CHANGED'\n}\n\n@Injectable()\nexport class EvoStepperEvents {\n\n private events$ = new Subject<EvoStepperEvent>();\n\n getEvents(type: EvoStepperEvent): Observable<EvoStepperEvent> {\n return this.events$.pipe(\n filter(event => event === type),\n );\n }\n\n emit(type: EvoStepperEvent) {\n this.events$.next(type);\n }\n\n}\n","import { Component, Input, ContentChild, TemplateRef, OnChanges, SimpleChanges, Host } from '@angular/core';\nimport { EvoStepperEvent, EvoStepperEvents } from '../evo-stepper-events';\n\n@Component({\n selector: 'evo-stepper-item',\n templateUrl: './evo-stepper-item.component.html',\n styleUrls: ['./evo-stepper-item.component.scss'],\n})\nexport class EvoStepperItemComponent implements OnChanges {\n\n @Input() label: string;\n\n isSelected = false;\n\n @ContentChild(TemplateRef) contentTemp: TemplateRef<any>;\n\n constructor(\n @Host()\n private stepperEvents: EvoStepperEvents\n ) { }\n\n ngOnChanges(changes: SimpleChanges) {\n const { firstChange } = changes.label;\n\n if (!firstChange) {\n this.stepperEvents.emit(EvoStepperEvent.LABEL_CHANGED);\n }\n }\n\n}\n","<div class=\"evo-stepper-content\" *ngIf=\"isSelected\">\n <ng-container *ngIf=\"contentTemp\">\n <ng-container *ngTemplateOutlet=\"contentTemp\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!contentTemp\">\n <ng-content></ng-content>\n </ng-container>\n</div>","import {\n Component, Input, QueryList, ContentChildren,\n SimpleChanges, OnChanges, Output, EventEmitter, AfterViewInit, ChangeDetectorRef,\n} from '@angular/core';\nimport { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';\nimport { map } from 'rxjs/operators';\nimport { concat, asyncScheduler, of, scheduled, merge, Observable } from 'rxjs';\nimport { EvoStepperEvent, EvoStepperEvents } from './evo-stepper-events';\n\n@Component({\n selector: 'evo-stepper',\n templateUrl: './evo-stepper.component.html',\n styleUrls: [ './evo-stepper.component.scss' ],\n providers: [\n EvoStepperEvents,\n ]\n})\nexport class EvoStepperComponent implements AfterViewInit, OnChanges {\n\n stepsList$: Observable<{ label: string }[]>;\n\n @ContentChildren(EvoStepperItemComponent) stepComponentsList: QueryList<EvoStepperItemComponent>;\n\n @Input() currentStepIndex = 0;\n\n @Input() clickableItems = false;\n\n @Output() onChange = new EventEmitter<number>();\n\n @Output() clickItem = new EventEmitter<number>();\n\n constructor(\n private cd: ChangeDetectorRef,\n private stepperEvents: EvoStepperEvents,\n ) {}\n\n ngAfterViewInit() {\n this.stepsList$ = concat(\n scheduled(of(null), asyncScheduler),\n merge(\n this.stepComponentsList.changes,\n this.stepperEvents.getEvents(EvoStepperEvent.LABEL_CHANGED)\n )\n ).pipe(\n map(() => this.getStepsList()),\n );\n this.cd.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.stepComponentsList && changes.currentStepIndex !== undefined) {\n const index = changes.currentStepIndex.currentValue;\n this.changeCurrentStep(index);\n }\n }\n\n getStepsList() {\n const currentStepComponent = this.stepComponentsList.find((stepComponent, i) => i === this.currentStepIndex);\n currentStepComponent.isSelected = true;\n return this.stepComponentsList.map(({ label }) => ({ label }));\n }\n\n changeCurrentStep(index: number) {\n this.stepComponentsList.forEach((step, i) => step.isSelected = (index === i));\n this.currentStepIndex = index;\n this.onChange.emit(index);\n this.cd.markForCheck();\n }\n\n handleItemClick(index: number) {\n if (this.clickableItems) {\n this.clickItem.emit(index);\n }\n }\n}\n","<div class=\"evo-stepper\">\n\n <ng-container\n *ngIf=\"stepsList$ | async as stepsList\"\n >\n\n <div class=\"evo-stepper__current-step-name\">{{stepsList[currentStepIndex].label}}</div>\n\n <!-- List -->\n <div class=\"evo-stepper__list\">\n <div\n class=\"evo-stepper__item\"\n *ngFor=\"let step of stepsList; index as i\"\n [evoUiClass]=\"{'active': currentStepIndex == i, 'completed': i < currentStepIndex, 'clickable': clickableItems}\"\n >\n\n <div\n class=\"evo-stepper__item-inner\"\n (click)=\"handleItemClick(i)\"\n >\n\n <div class=\"evo-stepper__item-point\">\n <div class=\"evo-stepper__item-number\">{{i + 1}}</div>\n </div>\n\n <div class=\"evo-stepper__item-name\">{{step.label}}</div>\n\n </div>\n\n </div>\n </div>\n\n </ng-container>\n\n <!-- Content -->\n <ng-content></ng-content>\n\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoStepperComponent } from './evo-stepper.component';\nimport { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoStepperComponent, EvoStepperItemComponent ],\n exports: [ EvoStepperComponent, EvoStepperItemComponent ],\n})\nexport class EvoStepperModule {}\n","import {AfterViewInit, Component, OnInit, ElementRef, HostListener, Inject, Input, ViewChild} from '@angular/core';\nimport {of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\nimport {WINDOW} from '../../services/window.service';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * scroll - [default] link type with auto scroll to section on the same page\n * outer - outer link (not accesible with router)\n * router - router type link\n */\nexport enum EvoSubmenuType {\n scroll,\n outer,\n router,\n}\n\nexport interface EvoSubmenuItem {\n title: string;\n href: string;\n type?: EvoSubmenuType; // if menuType === scroll, this property is ignored (for now)\n target?: string; // used only for outer type\n isActive?: boolean; // used only for outer type\n index?: number;\n scrollOffset?: number;\n scrollDuration?: number;\n}\n\n@Component({\n selector: 'evo-submenu',\n templateUrl: './evo-submenu.component.html',\n styleUrls: ['./evo-submenu.component.scss'],\n})\n/**\n * @deprecated use `EvoTabsComponent`\n */\nexport class EvoSubmenuComponent implements OnInit, AfterViewInit {\n get items(): EvoSubmenuItem[] {\n return this._items;\n }\n\n @Input() menuType: EvoSubmenuType = EvoSubmenuType.scroll;\n @Input() offsetLeft = false;\n\n @Input() set items(items: EvoSubmenuItem[]) {\n this._items = items;\n if (this.menuType === EvoSubmenuType.scroll) {\n this.calculateActiveItemIndex();\n }\n }\n\n @ViewChild('container', {static: true}) container: ElementRef;\n\n isFloated = false;\n activeItemIndex = 0;\n evoSubmenuType = EvoSubmenuType;\n\n private _items: EvoSubmenuItem[] = [];\n\n private headerHeight: number;\n private submenuOffset = 0;\n private isWindowResize = false;\n private header: Element | null;\n\n constructor(\n protected elRef: ElementRef,\n @Inject(WINDOW) protected window: any,\n @Inject(DOCUMENT) protected document: any,\n ) {}\n\n ngOnInit() {}\n\n @HostListener('window:resize', [])\n onWindowResize() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.isWindowResize = true;\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.onWindowScroll();\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.isFloated = this.window.pageYOffset + this.headerHeight >= this.submenuOffset;\n this.calculateActiveItemIndex();\n }\n }\n\n ngAfterViewInit() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.header = this.document.querySelector('evo-header');\n if (this.header) {\n this.headerHeight = this.header.getBoundingClientRect().height;\n }\n this.onWindowScroll();\n }\n }\n\n private calculateActiveItemIndex() {\n let newIndex;\n const {documentElement} = this.document;\n\n if (documentElement.clientHeight + documentElement.scrollTop >= documentElement.scrollHeight) {\n newIndex = this.items.length - 1;\n } else {\n newIndex =\n this.items\n .map((item: EvoSubmenuItem) => {\n const anchorSection = this.document.querySelector('#' + item.href);\n\n if (anchorSection) {\n return anchorSection.getBoundingClientRect().top - item.scrollOffset - 1;\n }\n })\n .filter((value: number) => value < 0).length - 1;\n }\n\n if (this.isWindowResize || newIndex !== this.activeItemIndex) {\n this.activeItemIndex = newIndex;\n this.isWindowResize = false;\n\n // Timeout to get correct container scrollWidth\n of({})\n .pipe(delay(0))\n .subscribe(() => {\n this.checkHorizontalScroll();\n });\n }\n }\n\n private checkHorizontalScroll() {\n const container = this.container.nativeElement;\n\n if (container.scrollWidth > container.clientWidth) {\n const items = container.querySelectorAll('.evo-submenu__item');\n const item = items ? items[this.activeItemIndex] : null;\n\n if (item) {\n const itemOffset = item.getBoundingClientRect().left;\n\n if (itemOffset >= 0) {\n if (item.clientWidth + itemOffset > container.clientWidth) {\n container.scroll({\n left: container.scrollLeft + item.clientWidth + itemOffset - container.clientWidth,\n behavior: 'smooth',\n });\n }\n } else {\n container.scroll({\n left: container.scrollLeft + itemOffset,\n behavior: 'smooth',\n });\n }\n } else {\n container.scroll({\n left: 0,\n behavior: 'smooth',\n });\n }\n }\n }\n}\n","<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSubmenuComponent} from './evo-submenu.component';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {NgxPageScrollModule} from 'ngx-page-scroll';\nimport {RouterModule} from '@angular/router';\nimport {WINDOW_PROVIDERS} from '../../services/window.service';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule],\n declarations: [EvoSubmenuComponent],\n exports: [EvoSubmenuComponent],\n providers: [...WINDOW_PROVIDERS],\n})\n/**\n * @deprecated use `EvoTabsModule`\n */\nexport class EvoSubmenuModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvoSwitcherItem } from './components/evo-switcher-item/evo-switcher-item.component';\n\n@Component({\n selector: 'evo-switcher',\n templateUrl: './evo-switcher.component.html',\n styleUrls: ['./evo-switcher.component.scss'],\n})\nexport class EvoSwitcherComponent {\n @Input() items: EvoSwitcherItem[];\n @Output() onItemSelection: EventEmitter<number> = new EventEmitter();\n\n private _selectedIndex: number;\n\n constructor() {\n\n }\n\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(index: number) {\n this._selectedIndex = index > this.items.length ? this.items.length - 1 : index;\n }\n\n handleItemClick(index: number) {\n this.selectedIndex = index;\n this.onItemSelection.emit(index);\n }\n}\n","<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n","import { Component } from '@angular/core';\n\nexport interface EvoSwitcherItem {\n text: string;\n clickFunction: Function;\n}\n\n@Component({\n selector: 'evo-switcher-item',\n templateUrl: './evo-switcher-item.component.html',\n styleUrls: [ './evo-switcher-item.component.scss' ],\n})\nexport class EvoSwitcherItemComponent {}\n","<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoSwitcherComponent } from './evo-switcher.component';\nimport { EvoSwitcherItemComponent } from './components/evo-switcher-item/evo-switcher-item.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoSwitcherComponent, EvoSwitcherItemComponent ],\n exports: [ EvoSwitcherComponent, EvoSwitcherItemComponent ],\n})\nexport class EvoSwitcherModule {}\n","import { Component, Input, TemplateRef, ContentChild } from '@angular/core';\n\n@Component({\n selector: 'evo-table-column',\n templateUrl: './evo-table-column.component.html',\n styleUrls: ['./evo-table-column.component.scss'],\n})\nexport class EvoTableColumnComponent {\n\n @Input() prop: string = undefined;\n @Input() label = '';\n @Input() className = '';\n @ContentChild('header', { read: TemplateRef }) header: any;\n @ContentChild('content', { read: TemplateRef }) content: any;\n\n constructor() {\n\n }\n\n @Input() formatter: (row: number, col: number, cellValue: any, item: any) => any = (row, col, cellValue) => cellValue;\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { EvoTableColumnComponent } from '../evo-table-column/evo-table-column.component';\n\nexport class EvoTableRowClickEvent {\n payload: {\n item: any;\n rowIndex: number;\n };\n event: MouseEvent;\n}\n\n@Component({\n selector: 'evo-table',\n templateUrl: './evo-table.component.html',\n styleUrls: [ './evo-table.component.scss' ],\n})\nexport class EvoTableComponent implements OnInit, AfterContentInit, OnChanges {\n\n filteredColumns: EvoTableColumnComponent[] = [];\n\n @Input() data: any[];\n @Input() showHeader = true;\n @Input() stripe = false;\n @Input() visibleColumns: string[];\n @Input() rowClasses?: string | string[] | Set<string> | { [klass: string]: any; };\n\n @Output() rowClick: EventEmitter<EvoTableRowClickEvent> = new EventEmitter<EvoTableRowClickEvent>();\n @ContentChildren(EvoTableColumnComponent) columns: EvoTableColumnComponent[];\n\n states = {\n isRowClickable: false,\n };\n\n ngOnChanges(changes: SimpleChanges) {\n if ('visibleColumns' in changes) {\n this.filterColumns();\n }\n }\n\n ngOnInit() {\n this.states.isRowClickable = this.rowClick.observers.length > 0;\n }\n\n ngAfterContentInit() {\n this.filteredColumns = this.columns;\n this.filterColumns();\n }\n\n getRowClasses() {\n return {\n 'striped': this.stripe,\n };\n }\n\n onRowClick(rowIndex, item, event) {\n this.rowClick.emit({\n payload: {rowIndex, item},\n event: event,\n });\n }\n\n private filterColumns() {\n if (this.visibleColumns && this.columns) {\n this.filteredColumns = this.columns.filter(col => this.visibleColumns.includes(col.prop));\n }\n }\n}\n","<div class=\"evo-table\"\n [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\"\n>\n <div class=\"evo-table__row evo-table__row_head mobile-hide\" *ngIf=\"showHeader\">\n <div class=\"evo-table__cell evo-table__cell_head\"\n *ngFor=\"let column of filteredColumns\" [ngClass]=\"column.className\">\n <ng-container *ngIf=\"column.header as header else label\">\n <ng-container *ngTemplateOutlet=\"header; context: { label: column.label }\"></ng-container>\n </ng-container>\n <ng-template #label>{{ column.label }}</ng-template>\n </div>\n </div>\n\n <div class=\"evo-table__row\"\n [ngClass]=\"rowClasses\"\n *ngFor=\"let item of data; let row = index\"\n (click)=\"onRowClick(row, item, $event)\">\n <div class=\"evo-table__cell\"\n *ngFor=\"let column of filteredColumns; let col = index\" [ngClass]=\"column.className\">\n\n <div class=\"evo-table__label mobile-show\" *ngIf=\"column.label\">\n <ng-container *ngIf=\"column.header as header else mobileLabel\">\n <ng-container *ngTemplateOutlet=\"header; context: { label: column.label }\"></ng-container>\n </ng-container>\n <ng-template #mobileLabel>{{ column.label }}</ng-template>\n </div>\n\n\n <div class=\"evo-table__data\"\n *ngIf=\"column.content as content else prop\">\n <ng-container *ngTemplateOutlet=\"content; context: { row: row, col: col, item: item }\"></ng-container>\n </div>\n\n <ng-template #prop>\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n </ng-template>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTableComponent } from './evo-table/evo-table.component';\nimport { EvoTableColumnComponent } from './evo-table-column/evo-table-column.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [ EvoTableComponent, EvoTableColumnComponent ],\n exports: [ EvoTableComponent, EvoTableColumnComponent ],\n})\nexport class EvoTableModule {}\n","export enum EvoTabsSize {\n small = 'small',\n normal = 'normal',\n}\n","export interface EvoTabState {\n name: string;\n isActive: boolean;\n params?: {};\n}\n\nexport class EvoTabStateCollection extends Array<EvoTabState> implements Array<EvoTabState> {\n\n private constructor(items?: Array<any>) {\n super(...items);\n }\n\n static create(tabs: any[]): EvoTabStateCollection {\n const array: EvoTabStateCollection = Object.create(EvoTabStateCollection.prototype);\n\n for (let i = 0; i < tabs.length; i++) {\n array.push(tabs[i]);\n }\n\n return array;\n }\n\n initTab(name: string) {\n this.push({name: name, isActive: false});\n }\n\n hasTab(name: string): boolean {\n return this.some((state) => state.name === name);\n }\n\n getTab(name: string): EvoTabState {\n return this.find((state) => state.name === name);\n }\n\n getActiveTab(): EvoTabState {\n return this.find((state) => state.isActive);\n }\n\n removeTab(name: string) {\n const tabToRemove = this.getTab(name);\n const index = this.indexOf(tabToRemove);\n\n if (index > -1) {\n this.splice(index, 1);\n }\n }\n\n setTab(name: string, params?: {}) {\n const prevActiveTab = this.find((state) => state.isActive);\n\n if (prevActiveTab) {\n prevActiveTab.isActive = false;\n }\n\n const newActiveTab = this.getTab(name);\n newActiveTab.isActive = true;\n\n if (params) {\n newActiveTab.params = params;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, tap } from 'rxjs/operators';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { EvoTabState, EvoTabStateCollection } from './evo-tab-state.collection';\n\nexport interface EvoTabsGroup {\n tabs: EvoTabStateCollection;\n name: string;\n}\n\n@Injectable()\nexport class EvoTabsService {\n\n private tabsState$ = new Subject<Map<string, EvoTabsGroup>>();\n private tabsGroupsMap: Map<string, EvoTabsGroup> = new Map();\n\n registerTabsGroup(groupName) {\n this.tabsGroupsMap.set(groupName, {name: groupName, tabs: EvoTabStateCollection.create([])});\n }\n\n registerTab(groupName: string, tabName: string) {\n const tabsGroup = this.getRegisteredTabsGroup(groupName);\n\n if (tabsGroup.tabs.hasTab(tabName)) {\n throw Error(`[EvoUiKit]: trying to register existing tab name('${tabName}') of '${groupName}' group`);\n }\n\n tabsGroup.tabs.initTab(tabName);\n\n if (tabsGroup.tabs.length === 1) {\n this.setTab(groupName, tabName);\n }\n }\n\n setTab(groupName: string, tabName: string, params?: {}) {\n const tabsGroup = this.getRegisteredTabsGroup(groupName);\n\n if (!tabsGroup) {\n throw Error(`[EvoUiKit]: trying to set tab for not registered group ${groupName}`);\n }\n\n if (!tabsGroup.tabs.hasTab(tabName)) {\n throw Error(`[EvoUiKit]: trying to set tab with not registered name ${tabName}`);\n }\n\n tabsGroup.tabs.setTab(tabName, params);\n this.tabsState$.next(this.tabsGroupsMap);\n }\n\n getTabEventsSubscription(groupName: string, tabName: string): Observable<EvoTabState> {\n return this.tabsState$.pipe(\n map((tabsGroupsMap: Map<string, EvoTabsGroup>) => {\n return tabsGroupsMap.get(groupName);\n }),\n filter((tabsGroup: EvoTabsGroup) => {\n return tabsGroup.tabs.hasTab(tabName);\n }),\n tap((tabsGroup: EvoTabsGroup) => {\n this.tabsGroupsMap.set(groupName, cloneDeep(tabsGroup));\n }),\n map((tabsGroup: EvoTabsGroup) => {\n return tabsGroup.tabs.getTab(tabName);\n }),\n distinctUntilChanged((prevTabState: EvoTabState, nextTabState: EvoTabState) => {\n return isEqual(prevTabState, nextTabState);\n }),\n );\n }\n\n getGroupEventsSubscription(groupName: string): Observable<EvoTabsGroup> {\n return this.tabsState$.pipe(\n map((tabsGroupsMap: Map<string, EvoTabsGroup>) => {\n return tabsGroupsMap.get(groupName);\n }),\n distinctUntilChanged((prevTabsGroup: EvoTabsGroup, nextTabsGroup: EvoTabsGroup) => {\n return isEqual(prevTabsGroup, nextTabsGroup);\n }),\n tap((tabsGroup: EvoTabsGroup) => {\n this.tabsGroupsMap.set(groupName, cloneDeep(tabsGroup));\n }),\n );\n }\n\n getRegisteredTabsGroup(groupName: string): EvoTabsGroup {\n return this.tabsGroupsMap.get(groupName);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {EvoTabsSize} from './enums/evo-tabs-size';\n\n@Injectable()\nexport class EvoTabsSizeService {\n sizeChanges$: Observable<EvoTabsSize>;\n private size$ = new BehaviorSubject<EvoTabsSize>(EvoTabsSize.normal);\n\n constructor() {\n this.sizeChanges$ = this.size$.asObservable();\n }\n\n set size(value: EvoTabsSize) {\n if (value !== this.size$.value) {\n this.size$.next(value);\n }\n }\n\n get size(): EvoTabsSize {\n return this.size$.value;\n }\n}\n","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit, Optional} from '@angular/core';\nimport {EvoTabsService} from '../evo-tabs.service';\nimport {filter, takeUntil} from 'rxjs/operators';\nimport {EvoTabState} from '../evo-tab-state.collection';\nimport {NavigationEnd, Router, RouterLink} from '@angular/router';\nimport {Subject} from 'rxjs';\nimport {EvoTabsSizeService} from '../evo-tabs-size.service';\nimport {EvoTabsSize} from '../enums/evo-tabs-size';\n\n@Component({\n selector: 'evo-tab, [evoTab]',\n templateUrl: './evo-tab.component.html',\n styleUrls: ['./evo-tab.component.scss'],\n})\nexport class EvoTabComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() name: string;\n\n selected = false;\n size = this.sizeService.size;\n\n private _groupName: string;\n private destroy$ = new Subject<void>();\n\n constructor(\n private tabsService: EvoTabsService,\n private cd: ChangeDetectorRef,\n private sizeService: EvoTabsSizeService,\n @Optional() private routerLink: RouterLink,\n @Optional() private routerLinkWithHref: RouterLink,\n @Optional() private router: Router,\n ) {}\n\n set groupName(tabGroupId: string) {\n this._groupName = tabGroupId;\n this.subscribeToTabChanges();\n }\n\n get groupName(): string {\n return this._groupName;\n }\n\n get wrapperClasses(): {[cssClass: string]: boolean} {\n return {\n selected: this.selected,\n 'size-small': this.size === EvoTabsSize.small,\n };\n }\n\n ngOnInit() {\n this.subscribeOnNavigationEnd();\n }\n\n ngAfterViewInit(): void {\n this.initByUrl();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onChangeTabClick() {\n this.setTabActive();\n }\n\n private initByUrl(): void {\n const urlTree = this.routerLink?.urlTree || this.routerLinkWithHref?.urlTree;\n if (!(urlTree && this.router.isActive(urlTree, true))) {\n return;\n }\n this.setTabActive();\n }\n\n private setTabActive() {\n this.tabsService.setTab(this.groupName, this.name);\n }\n\n private subscribeOnNavigationEnd() {\n this.router?.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.initByUrl());\n }\n\n private subscribeToTabChanges() {\n this.tabsService\n .getTabEventsSubscription(this.groupName, this.name)\n .pipe(takeUntil(this.destroy$))\n .subscribe((data: EvoTabState) => {\n this.selected = data.isActive;\n this.cd.detectChanges();\n });\n }\n}\n","<div\n class=\"evo-tab\"\n (click)=\"onChangeTabClick()\"\n [evoUiClass]=\"wrapperClasses\"\n>\n <ng-content></ng-content>\n</div>\n","import {AfterContentChecked, Component, ContentChildren, Input, OnInit, QueryList} from '@angular/core';\nimport {EvoTabsService} from './evo-tabs.service';\nimport {EvoTabComponent} from './evo-tab/evo-tab.component';\nimport {EvoTabState} from './evo-tab-state.collection';\nimport {isEqual} from 'lodash-es';\nimport {EvoTabsSizeService} from './evo-tabs-size.service';\nimport {EvoTabsSize} from './enums/evo-tabs-size';\n\n@Component({\n selector: 'evo-tabs',\n templateUrl: './evo-tabs.component.html',\n styleUrls: ['./evo-tabs.component.scss'],\n providers: [EvoTabsSizeService],\n})\nexport class EvoTabsComponent implements OnInit, AfterContentChecked {\n @Input() name: string;\n\n @ContentChildren(EvoTabComponent) tabComponentsList: QueryList<any>;\n\n size: EvoTabsSize = EvoTabsSize.normal;\n\n get hasRegisteredTabs() {\n return this.tabsService.getRegisteredTabsGroup(this.name).tabs.length > 0;\n }\n\n get blockClasses(): {[cssClass: string]: boolean} {\n return {\n [`size-${this.size}`]: this.size !== EvoTabsSize.normal,\n };\n }\n\n constructor(public tabsService: EvoTabsService, public sizeService: EvoTabsSizeService) {}\n\n @Input('size') set setSize(size: EvoTabsSize | string) {\n if (EvoTabsSize[size]) {\n const tabsSize = EvoTabsSize[size];\n this.size = tabsSize;\n this.sizeService.size = tabsSize;\n }\n }\n\n ngOnInit() {\n this.tabsService.registerTabsGroup(this.name);\n }\n\n ngAfterContentChecked() {\n const getRegisteredTabsGroupTabs = this.tabsService.getRegisteredTabsGroup(this.name).tabs;\n\n this.tabComponentsList.forEach((tab: EvoTabComponent) => {\n // check tabs with same names\n if (\n this.tabComponentsList.filter((iteratedTab: EvoTabComponent) => iteratedTab.name === tab.name).length >\n 1\n ) {\n throw Error('[EvoUiKit]: some evo-tab components have the same name attribute!');\n }\n\n if (!tab.name) {\n throw Error('[EvoUiKit]: some evo-tab component has no name attribute!');\n }\n\n if (!getRegisteredTabsGroupTabs.hasTab(tab.name)) {\n tab.groupName = this.name;\n this.tabsService.registerTab(this.name, tab.name);\n }\n });\n\n // check redundant tabs\n const registeredTabsNames = getRegisteredTabsGroupTabs.map((tab: EvoTabState) => tab.name);\n const renderedTabsNames = this.tabComponentsList.map((tabComponent: EvoTabComponent) => tabComponent.name);\n\n if (!isEqual(registeredTabsNames, renderedTabsNames)) {\n registeredTabsNames.forEach((tabName: string) => {\n // if we have registered tab which not exists in DOM - delete it\n if (\n !renderedTabsNames.some((renderedTabName: string) => {\n return renderedTabName === tabName;\n })\n ) {\n getRegisteredTabsGroupTabs.removeTab(tabName);\n }\n });\n\n if (!!getRegisteredTabsGroupTabs.length && !getRegisteredTabsGroupTabs.getActiveTab()) {\n this.tabsService.setTab(this.name, getRegisteredTabsGroupTabs[0].name);\n }\n }\n }\n}\n","<div class=\"evo-tabs\" [evoUiClass]=\"blockClasses\" *ngIf=\"hasRegisteredTabs\">\n <div class=\"evo-tabs__container\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { EvoTabsService } from '../evo-tabs.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { EvoTabState } from '../evo-tab-state.collection';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'evo-tab-content, [evoTabContent]',\n templateUrl: './evo-tab-content.component.html',\n})\nexport class EvoTabContentComponent implements OnInit, OnDestroy {\n\n @Input() set tabsRef(tabsRef: string) {\n [this.groupName, this.tabName] = tabsRef.split('#');\n\n if (!this.groupName || !this.tabName) {\n throw Error('[EvoUiKit]: specify both group and name divided by # for evo-tab-content!');\n }\n }\n\n isActive = false;\n\n private groupName: string;\n private tabName: string;\n private destroy$ = new Subject<void>();\n\n constructor(\n private tabsService: EvoTabsService,\n ) {\n }\n\n ngOnInit() {\n this.tabsService.getTabEventsSubscription(this.groupName, this.tabName).pipe(\n takeUntil(this.destroy$)\n ).subscribe((data: EvoTabState) => {\n this.isActive = data.isActive;\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div *ngIf=\"isActive\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTabsComponent } from './evo-tabs.component';\nimport { EvoTabComponent } from './evo-tab/evo-tab.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoTabsService } from './evo-tabs.service';\nimport { EvoTabContentComponent } from './evo-tab-content/evo-tab-content.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoTabsComponent, EvoTabComponent, EvoTabContentComponent],\n providers: [EvoTabsService],\n exports: [EvoTabsComponent, EvoTabComponent, EvoTabContentComponent],\n})\nexport class EvoTabsModule {\n}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\n\n@Component({\n selector: 'evo-textarea',\n templateUrl: './evo-textarea.component.html',\n styleUrls: ['./evo-textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class EvoTextareaComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input() placeholder = '';\n\n @Input() rows = 3;\n\n _value: string;\n disabled = false;\n focused = false;\n\n get value(): string {\n return this._value;\n }\n\n get textareaClasses(): {[cssClass: string]: boolean} {\n return {\n 'focused': this.focused,\n 'disabled': this.disabled,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n set value(value: string) {\n this._value = value.trim();\n this.onChange(this.value);\n }\n\n onFocus(): void {\n if (!this.focused) {\n this.focused = true;\n }\n }\n\n onBlur(): void {\n this.focused = false;\n this.onTouched();\n }\n\n onChange = (_) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n}\n","<textarea [(ngModel)]=\"value\"\n [evoUiClass]=\"textareaClasses\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n [disabled]=\"disabled\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n class=\"evo-textarea\"></textarea>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTextareaComponent } from './evo-textarea.component';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoTextareaComponent ],\n exports: [ EvoTextareaComponent ],\n})\nexport class EvoTextareaModule {}\n","import { EventEmitter, Injectable, TemplateRef } from '@angular/core';\nimport { EvoToastTypes } from './evo-toast.component';\nimport { Subject } from 'rxjs';\n\nexport interface EvoToast {\n type?: EvoToastTypes;\n message?: string;\n templateRef?: TemplateRef<any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EvoToastService {\n\n pushEvents: Subject<EvoToast> = new Subject<EvoToast>();\n\n private isComponentRegistered = false;\n private isToastInProgress = false;\n private queue: EvoToast[] = [];\n\n constructor() {\n\n }\n\n force(toast: EvoToast) {\n this.queue = [toast];\n this.isToastInProgress = true;\n this.pushEvents.next(toast);\n }\n\n push(toast: EvoToast) {\n this.queue.push(toast);\n\n if (!this.isToastInProgress) {\n this.isToastInProgress = true;\n this.pushEvents.next(this.queue[0]);\n }\n }\n\n toastComplete() {\n this.queue.shift();\n\n if (this.queue.length) {\n this.pushEvents.next(this.queue[0]);\n } else {\n this.isToastInProgress = false;\n }\n }\n\n register() {\n if (this.isComponentRegistered) {\n throw Error('[EvoUiKit]: Another evo-toast already registered. Only one toast component available in app!');\n } else {\n this.isComponentRegistered = true;\n }\n }\n}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { EvoToast, EvoToastService } from './evo-toast.service';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { delay, filter, map, mergeMap, take, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subscription } from 'rxjs';\n\nexport enum EvoToastTypes {\n DEFAULT = 'default',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n@Component({\n selector: 'evo-toast',\n templateUrl: './evo-toast.component.html',\n styleUrls: [ './evo-toast.component.scss' ],\n animations: [\n trigger('appear', [\n transition('void => in', [\n style({\n bottom: '-100px',\n }),\n animate('250ms cubic-bezier(0, 0, 0.2, 1.40)', style({\n bottom: '32px',\n })),\n ]),\n transition('in => void', [\n animate('250ms ease-in', style({\n bottom: '-100px',\n })),\n ]),\n ]),\n ],\n})\nexport class EvoToastComponent implements OnInit {\n\n toast: EvoToast;\n\n private $appearTimeout: Subscription;\n private isForced = false;\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n constructor(\n private toastService: EvoToastService,\n private readonly cdr: ChangeDetectorRef,\n ) { }\n\n ngOnInit() {\n this.toastService.register();\n this.subscribeToToastPushes();\n }\n\n handleAnimationDone() {\n if (this.toast) {\n this.$appearTimeout = of({}).pipe(\n delay(5000),\n ).subscribe(() => {\n this.toast = null;\n this.cdr.detectChanges();\n });\n } else if (!this.isForced) {\n this.toastService.toastComplete();\n }\n\n this.isOpen$.next(!!this.toast);\n }\n\n close() {\n this.$appearTimeout.unsubscribe();\n this.toast = null;\n this.cdr.detectChanges();\n }\n\n private subscribeToToastPushes() {\n this.toastService.pushEvents.pipe(\n tap(() => {\n this.toast = null;\n\n if (this.$appearTimeout && !this.$appearTimeout.closed) {\n this.isForced = true;\n this.$appearTimeout.unsubscribe();\n }\n }),\n mergeMap((toast: EvoToast) => {\n return this.isOpen$.pipe(\n filter((isOpen: boolean) => !isOpen),\n take(1),\n map(() => toast),\n );\n }),\n ).subscribe((toast: EvoToast) => {\n this.toast = toast;\n this.isForced = false;\n this.cdr.detectChanges();\n });\n }\n}\n","<div class=\"evo-toast__wrapper\"\n [@appear]=\"toast ? 'in' : null\"\n (@appear.done)=\"handleAnimationDone()\"\n *ngIf=\"toast\">\n <div class=\"evo-toast\" [evoUiClass]=\"toast?.type || ''\">\n <ng-container *ngIf=\"toast?.message\">\n <div class=\"evo-toast__message\" [innerHTML]=\"toast?.message\"></div>\n </ng-container>\n <ng-container *ngIf=\"toast?.templateRef\">\n <div class=\"evo-toast__message\">\n <ng-container [ngTemplateOutlet]=\"toast?.templateRef\"></ng-container>\n </div>\n </ng-container>\n <evo-icon class=\"evo-toast__close\" shape=\"close\" (click)=\"close()\"></evo-icon>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoToastComponent } from './evo-toast.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon/evo-icon.module';\nimport { iconClose } from '@evotor-dev/ui-kit/icons/header';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'sidebarIcons',\n shapes: {\n 'close': iconClose,\n },\n }\n ]),\n ],\n declarations: [EvoToastComponent],\n exports: [EvoToastComponent],\n})\nexport class EvoToastModule {\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'evo-toggle',\n templateUrl: './evo-toggle.component.html',\n styleUrls: ['./evo-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoToggleComponent),\n multi: true,\n },\n ],\n})\nexport class EvoToggleComponent implements ControlValueAccessor {\n isDisabled = false;\n\n private _value: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n ) {\n }\n\n get value(): boolean {\n return this._value;\n }\n\n set value(value: boolean) {\n if (value !== this._value) {\n this._value = value;\n this.onChange(value);\n }\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.isDisabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n onChange = (_value) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n if (value !== this._value) {\n this._value = value;\n this.changeDetector.detectChanges();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.isDisabled = state;\n this.changeDetector.detectChanges();\n }\n}\n","<label class=\"evo-toggle\" [evoUiClass]=\"totalClasses\">\n <input type=\"checkbox\" [(ngModel)]=\"value\" [disabled]=\"isDisabled\">\n <span class=\"slider\"></span>\n</label>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoToggleComponent } from './evo-toggle.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoToggleComponent ],\n exports: [ EvoToggleComponent ],\n})\nexport class EvoToggleModule {}\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormArray,\n UntypedFormBuilder,\n UntypedFormControl,\n} from '@angular/forms';\nimport autobind from 'autobind-decorator';\nimport bytes from 'bytes';\nimport * as mime from 'mime';\nimport {EvoBaseControl} from '../../common/evo-base-control';\n\nexport interface EvoUploadItemClickEvent {\n file: File;\n index: number;\n}\n\n@Component({\n selector: 'evo-upload',\n styleUrls: ['./evo-upload.component.scss'],\n templateUrl: './evo-upload.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoUploadComponent),\n multi: true,\n },\n ],\n})\nexport class EvoUploadComponent extends EvoBaseControl implements ControlValueAccessor, AfterContentInit, OnInit {\n\n @Input() set accept(extensions: string) {\n if (extensions) {\n this.acceptedMimeTypes = extensions\n .split(',')\n .map(extension => mime.getType(extension));\n }\n }\n @Input() dropZoneLabel = 'Перетащите сюда файлы для загрузки';\n @Input() dropZoneHint: string;\n @Input() hideClearButton = false;\n @Input() hideSubmitButton = false;\n @Input() clickableFiles = false;\n @Input() earlyValidation = false;\n\n @Input() set fileSizeLimit(fileSize: string) {\n this.filesSizeLimitText = fileSize;\n this.filesSizeLimitInBytes = bytes(fileSize);\n }\n\n @Input() maxFiles: number;\n @Input() loading = false;\n\n @Output() submit = new EventEmitter<FileList>();\n @Output() addFiles = new EventEmitter<FileList>();\n @Output() remove = new EventEmitter<number>();\n @Output() clickFile = new EventEmitter<EvoUploadItemClickEvent>();\n\n @ViewChild('inputFile') inputFileElement: ElementRef;\n\n isDisabled = false;\n filesForm = this.formBuilder.array([], [this.maxFilesValidator]);\n filesSizeLimitText: string;\n filesSizeLimitInBytes: number;\n states = {\n isDragOver: false,\n };\n acceptedMimeTypes: string[];\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.subscribeOnFormChanges();\n }\n\n ngAfterContentInit() {\n this.mergeControlsErrors();\n }\n\n onChange = (value) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.isDisabled = isDisabled;\n\n if (!isDisabled) {\n this.mergeControlsErrors();\n }\n }\n\n writeValue(fileList: FileList | File[]) {\n if (fileList && fileList.length > 0) {\n if (fileList instanceof Array || fileList instanceof FileList) {\n this.wipeUploadList();\n if (this.earlyValidation) {\n this.earlyValidationFn(fileList);\n if (this.filesForm.errors) { return; }\n }\n this.processFiles(fileList as FileList);\n } else {\n throw Error('[EvoUiKit]: wrong initial value passed to \"evo-upload\" component. Only FileList and File[] are allowed');\n }\n }\n }\n\n getControlError(control: AbstractControl): string {\n if (!control.errors) {\n return null;\n }\n\n return Object.keys(control.errors)[0];\n }\n\n handleDragOver(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.loading) {\n return;\n }\n this.states.isDragOver = true;\n }\n\n handleDragLeave(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.states.isDragOver = false;\n }\n\n handleDrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n const files = event.dataTransfer.files;\n\n this.states.isDragOver = false;\n if (files.length) {\n if (this.earlyValidation) {\n this.earlyValidationFn(files);\n if (this.filesForm.errors) { return; }\n }\n this.addFiles.emit(files);\n this.processFiles(files);\n }\n }\n\n handleItemRemove(index) {\n if (this.loading || this.isDisabled) {\n return;\n }\n this.filesForm.removeAt(index);\n this.remove.emit(index);\n }\n\n handleResetButtonClick() {\n if (this.loading || this.isDisabled) {\n return;\n }\n\n this.wipeUploadList();\n }\n\n handleSubmitButtonClick() {\n this.submit.emit(this.filesForm.value);\n }\n\n inputChange(files: FileList) {\n if (this.earlyValidation) {\n this.earlyValidationFn(files);\n if (this.filesForm.errors) { return; }\n }\n this.addFiles.emit(files);\n this.processFiles(files);\n }\n\n earlyValidationFn(files: FileList | File[]) {\n this.filesForm.setErrors(null);\n const filesArray = Array.from(files);\n const errors = [];\n if (this.maxFiles && this.isFilesLengthValid(filesArray)) {\n errors.push({ maxFiles: true });\n }\n if (this.filesSizeLimitInBytes && !this.isFilesSizeValid(filesArray)) {\n errors.push({ size: true });\n }\n if (this.acceptedMimeTypes && !this.isFilesExtensionValid(filesArray)) {\n errors.push({ extension: true });\n }\n if (errors.length) {\n this.filesForm.setErrors(Object.assign({}, ...errors));\n this.mergeControlsErrors();\n }\n }\n\n isFilesLengthValid(files: File[]): boolean {\n return this.maxFiles < (files.length + this.filesForm.controls.length);\n }\n\n isFilesSizeValid(files: File[]): boolean {\n return !files.some(({ size }) => this.filesSizeLimitInBytes < size);\n }\n\n isFilesExtensionValid(files: File[]): boolean {\n return files.every(({ type }) => {\n return this.acceptedMimeTypes.includes(type);\n });\n }\n\n processFiles(files: FileList) {\n if (this.loading) {\n return;\n }\n\n Array.from(files).forEach((file: File) => { // tslint:disable:no-for-each-push\n this.filesForm.push(new UntypedFormControl(file, [this.fileExtensionValidator, this.fileSizeValidator]));\n });\n\n if (this.inputFileElement && this.inputFileElement.nativeElement) {\n this.inputFileElement.nativeElement.value = '';\n }\n }\n\n wipeUploadList() {\n while (this.filesForm.controls.length) {\n this.filesForm.removeAt(0);\n }\n }\n\n private mergeControlsErrors() {\n if (!this.control) {\n return;\n }\n\n const errors = Object.assign({}, this.filesForm.errors);\n this.filesForm.controls.forEach((control: UntypedFormControl) => {\n Object.assign(errors, control.errors);\n });\n this.control.setErrors(Object.keys(errors).length ? errors : null);\n }\n\n private subscribeOnFormChanges() {\n this.filesForm.valueChanges.subscribe((value) => {\n this.onChange(value);\n this.mergeControlsErrors();\n });\n }\n\n @autobind\n private fileSizeValidator(control: AbstractControl) {\n if (!this.filesSizeLimitInBytes) {\n return null;\n }\n\n return control.value.size > this.filesSizeLimitInBytes ? { size: true } : null;\n }\n\n @autobind\n private fileExtensionValidator(control: AbstractControl) {\n if (!this.acceptedMimeTypes) {\n return null;\n }\n\n const fileType = (control.value as File).type;\n const isExtensionAllowed = this.acceptedMimeTypes.includes(fileType);\n\n return isExtensionAllowed ? null : { extension: true };\n }\n\n @autobind\n private maxFilesValidator(control: UntypedFormArray) {\n if (!this.maxFiles) {\n return;\n }\n\n return control.controls.length > this.maxFiles ? { maxFiles: true } : null;\n }\n}\n","<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 или\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">загрузите</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 Нельзя загрузить более {{ maxFiles || 1 | declination:[\"файла\", \"файлов\", \"файлов\"] }}\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 Нельзя загрузить более {{ maxFiles || 1 | declination:[\"файла\", \"файлов\", \"файлов\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">Максимальный размер одного файла не более {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">Выбран файл недопустимого формата</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'\">Размер файла превышает допустимый</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">Неверный формат файла</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 Удалить всё\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 Загрузить\n </button>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { EvoUploadComponent } from './evo-upload.component';\nimport { EvoButtonModule } from '../evo-button/evo-button.module';\nimport { CommonModule } from '@angular/common';\nimport { EvoIconModule } from '../evo-icon/evo-icon.module';\nimport { iconClose } from '@evotor-dev/ui-kit/icons/header';\nimport { iconDecline, iconFile, iconUpload } from '@evotor-dev/ui-kit/icons/system';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoPipesModule } from '../../pipes/evo-pipes.module';\nimport { EvoAlertModule } from '../evo-alert/evo-alert.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoAlertModule,\n EvoButtonModule,\n EvoIconModule.forRoot([{\n name: 'icons',\n shapes: {\n close: iconClose,\n decline: iconDecline,\n file: iconFile,\n upload: iconUpload,\n },\n }]),\n EvoPipesModule,\n EvoUiKitModule,\n ],\n declarations: [EvoUploadComponent],\n exports: [EvoUploadComponent],\n})\nexport class EvoUploadModule {\n}\n","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EvoDropdownPositions } from './types/evo-dropdown-positions';\n\nexport const EVO_DROPDOWN_POSITION_DESCRIPTION: Record<EvoDropdownPositions, ConnectedPosition> = {\n 'top-left': {\n originX: 'start', originY: 'top',\n overlayX: 'start', overlayY: 'bottom',\n },\n 'top-center': {\n originX: 'center', originY: 'top',\n overlayX: 'center', overlayY: 'bottom',\n },\n 'top-right': {\n originX: 'end', originY: 'top',\n overlayX: 'end', overlayY: 'bottom',\n },\n 'bottom-left': {\n originX: 'start', originY: 'bottom',\n overlayX: 'start', overlayY: 'top',\n },\n 'bottom-center': {\n originX: 'center', originY: 'bottom',\n overlayX: 'center', overlayY: 'top',\n },\n 'bottom-right': {\n originX: 'end', originY: 'bottom',\n overlayX: 'end', overlayY: 'top',\n },\n 'left-top': {\n originX: 'start', originY: 'top',\n overlayX: 'end', overlayY: 'top',\n },\n 'left-center': {\n originX: 'start', originY: 'center',\n overlayX: 'end', overlayY: 'center',\n },\n 'left-bottom': {\n originX: 'start', originY: 'bottom',\n overlayX: 'end', overlayY: 'bottom',\n },\n 'right-top': {\n originX: 'end', originY: 'top',\n overlayX: 'start', overlayY: 'top',\n },\n 'right-center': {\n originX: 'end', originY: 'center',\n overlayX: 'start', overlayY: 'center',\n },\n 'right-bottom': {\n originX: 'end', originY: 'bottom',\n overlayX: 'start', overlayY: 'bottom',\n },\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { EvoDropdownOriginDirective } from './evo-dropdown-origin.directive';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EVO_DROPDOWN_POSITION_DESCRIPTION } from './evo-dropdown-position-description';\nimport { EvoDropdownPositions } from './types/evo-dropdown-positions';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { filter, take, takeUntil, throttleTime } from 'rxjs/operators';\n\ntype Position = EvoDropdownPositions | ConnectedPosition;\n\nconst DEFAULT_POSITION = [EVO_DROPDOWN_POSITION_DESCRIPTION['bottom-right']];\n\n@Component({\n selector: 'evo-dropdown',\n templateUrl: './evo-dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoDropdownComponent implements OnDestroy {\n @Input() scrollStrategy: 'noop' | 'close' = 'close';\n\n @Input() dropdownOrigin!: EvoDropdownOriginDirective;\n @Output() isOpenChange = new EventEmitter<boolean>();\n connectedPositions: ConnectedPosition[] = DEFAULT_POSITION;\n\n // @Input() needCloseOnOutsideClick = true; // TODO: add after update to ng12\n\n private scrollEventSubscription: Subscription;\n private destroy$ = new Subject<void>();\n private _isOpen = false;\n\n constructor(\n protected readonly viewContainerRef: ViewContainerRef,\n private readonly ngZone: NgZone,\n private readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n @Input() set isOpen(value: boolean) {\n this._isOpen = value;\n\n if (value) {\n this.listenScroll();\n }\n }\n\n @Input() set positions(value: Position[] | Position) {\n this.connectedPositions = value ? [].concat(value).map(p => EVO_DROPDOWN_POSITION_DESCRIPTION[p] || p) : DEFAULT_POSITION;\n }\n\n private get element(): HTMLElement | null {\n if (!this.viewContainerRef) {\n return;\n }\n\n return this.viewContainerRef?.element instanceof ElementRef\n ? this.viewContainerRef.element?.nativeElement as HTMLElement\n : this.viewContainerRef.element as HTMLElement;\n }\n\n toggle(): void {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open(): void {\n if (this.isOpen) {\n return;\n }\n\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n this.cdr.detectChanges();\n }\n\n close(): void {\n if (!this.isOpen) {\n return;\n }\n\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n\n if (this.scrollEventSubscription && !this.scrollEventSubscription.closed) {\n this.scrollEventSubscription.unsubscribe();\n }\n\n this.cdr.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n /**\n * Listens to the scroll in the dropdown container and closes it\n */\n private listenScroll() {\n if (this.scrollStrategy === 'noop') {\n return;\n }\n\n this.scrollEventSubscription = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'scroll', {capture: true})\n .pipe(\n throttleTime(10),\n filter((scrollEvent: Event) => {\n return (scrollEvent.target instanceof HTMLElement || scrollEvent.target instanceof HTMLDocument)\n && (scrollEvent.target.contains(this.element) || !this.element);\n }),\n take(1),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.ngZone.run(() => {\n this.close();\n });\n });\n });\n }\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"dropdownOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayPositions]=\"connectedPositions\"\n>\n <!-- TODO: (overlayOutsideClick)=\"needCloseOnOutsideClick && close()\" add after update to ng12-->\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\n\n@Directive({\n selector: '[evoDropdownOrigin]',\n exportAs: 'evoDropdownOrigin',\n})\nexport class EvoDropdownOriginDirective extends CdkOverlayOrigin {\n get isDropdownOpen(): boolean {\n return this._isDropdownOpen;\n }\n\n set isDropdownOpen(value: boolean) {\n this._isDropdownOpen = value;\n this.cdr.markForCheck();\n }\n private _isDropdownOpen = false;\n\n constructor(private cdr: ChangeDetectorRef, elementRef: ElementRef) {\n super(elementRef);\n }\n\n open(): void {\n this.isDropdownOpen = true;\n }\n\n close(): void {\n this.isDropdownOpen = false;\n }\n\n toggle(): void {\n if (this.isDropdownOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoDropdownComponent } from './evo-dropdown.component';\nimport { EvoDropdownOriginDirective } from './evo-dropdown-origin.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [EvoDropdownComponent, EvoDropdownOriginDirective],\n imports: [CommonModule, OverlayModule],\n exports: [EvoDropdownComponent, EvoDropdownOriginDirective],\n})\nexport class EvoDropdownModule {}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { CSS_BREAKPOINTS } from './css-breakpoints';\n\nexport const MOBILE_VIEW = new InjectionToken<Observable<boolean>>('MOBILE_VIEW');\n\nexport const MobileViewProvider: Provider = {\n provide: MOBILE_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(max-width: ${ CSS_BREAKPOINTS.tablet - 1 }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const TABLET_VIEW = new InjectionToken<Observable<boolean>>('TABLET_VIEW');\n\nexport const TabletViewProvider: Provider = {\n provide: TABLET_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(min-width: ${ CSS_BREAKPOINTS.tablet }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const DESKTOP_SMALL_VIEW = new InjectionToken<Observable<boolean>>('DESKTOP_SMALL_VIEW');\n\nexport const DesktopSmallViewProvider: Provider = {\n provide: DESKTOP_SMALL_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(min-width: ${ CSS_BREAKPOINTS.desktopS }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const VIEW_BREAKPOINTS_PROVIDERS = [MobileViewProvider, TabletViewProvider, DesktopSmallViewProvider];\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EvoDropdownOriginDirective } from '../../evo-dropdown';\nimport { NavItem } from '../types/nav-item';\n\n@Component({\n selector: 'evo-navbar-item',\n templateUrl: './evo-navbar-item.component.html',\n styleUrls: ['./evo-navbar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavbarItemComponent {\n @Input() item!: NavItem;\n /**\n * Is a secondary link\n */\n @Input() isNested?: boolean;\n @Input() isMobileView?: boolean;\n @Input() subMenuPositions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ];\n\n @Output() openSubMenu = new EventEmitter<EvoDropdownOriginDirective>();\n @Output() closeSubMenu = new EventEmitter<EvoDropdownOriginDirective>();\n\n toggle(origin: EvoDropdownOriginDirective) {\n if (origin.isDropdownOpen) {\n this.closeSubMenu.emit(origin);\n } else {\n this.openSubMenu.emit(origin);\n }\n }\n\n open(origin: EvoDropdownOriginDirective) {\n if (!origin.isDropdownOpen) {\n this.openSubMenu.emit(origin);\n }\n }\n\n close(origin: EvoDropdownOriginDirective) {\n if (origin.isDropdownOpen) {\n this.closeSubMenu.emit(origin);\n }\n }\n\n\n}\n","<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section\n class=\"evo-navbar__sub\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n ></evo-navbar-item>\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { Observable } from 'rxjs';\nimport { MOBILE_VIEW } from '../../common/constants/view-breakpoint-streams';\nimport { EvoDropdownOriginDirective } from '../evo-dropdown';\nimport { NavItem } from './types/nav-item';\n\n@Component({\n selector: 'evo-navbar',\n templateUrl: './evo-navbar.component.html',\n styleUrls: ['./evo-navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavbarComponent {\n @Input() subMenuPositions?: ConnectedPosition[];\n @Input() items!: NavItem[];\n\n lastOpenedSubMenu?: EvoDropdownOriginDirective;\n\n constructor(\n @Inject(MOBILE_VIEW)\n public readonly isMobileView$: Observable<boolean>,\n ) {}\n\n closeLastOpenedSubMenu(): void {\n if (this.lastOpenedSubMenu) {\n this.closeSubMenu(this.lastOpenedSubMenu);\n }\n }\n\n toggleSubMenu(origin: EvoDropdownOriginDirective): void {\n if (origin.isDropdownOpen) {\n this.closeSubMenu(origin);\n } else {\n this.openSubMenu(origin);\n }\n }\n\n openSubMenu(origin: EvoDropdownOriginDirective): void {\n origin.open();\n this.lastOpenedSubMenu = origin;\n }\n\n closeSubMenu(origin: EvoDropdownOriginDirective): void {\n origin.close();\n this.lastOpenedSubMenu = undefined;\n }\n}\n","<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n <evo-navbar-item\n *ngFor=\"let item of items\"\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n ></evo-navbar-item>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoNavbarComponent } from './evo-navbar.component';\nimport { RouterModule } from '@angular/router';\nimport { EvoNavbarItemComponent } from './evo-navbar-item/evo-navbar-item.component';\nimport { MobileViewProvider } from '../../common/constants/view-breakpoint-streams';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoDropdownModule } from '../evo-dropdown';\n\n@NgModule({\n declarations: [EvoNavbarComponent, EvoNavbarItemComponent],\n imports: [CommonModule, EvoUiKitModule, RouterModule, EvoDropdownModule],\n exports: [EvoNavbarComponent],\n providers: [MobileViewProvider],\n})\nexport class EvoNavbarModule {}\n","import {ChangeDetectionStrategy, Component} from \"@angular/core\";\n\n@Component({\n selector: 'evo-navigation-button',\n templateUrl: './evo-navigation-button.component.html',\n styleUrls: ['./evo-navigation-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavigationButtonComponent {\n}\n","<button class=\"evo-navigation-button\">\n <div class=\"evo-navigation-button__icon-wrapper\">\n <evo-icon class=\"evo-navigation-button__icon\" shape=\"chevron-left\"></evo-icon>\n </div>\n <span class=\"evo-navigation-button__label\"><ng-content></ng-content></span>\n</button>\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {EvoNavigationButtonComponent} from \"./evo-navigation-button.component\";\nimport {EvoIconModule} from \"../evo-icon\";\nimport {iconChevronLeft} from '@evotor-dev/ui-kit/icons/navigation';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoIconModule.forRoot([\n {\n name: 'navigation',\n shapes: {\n 'chevron-left': iconChevronLeft,\n },\n },\n ]),\n ],\n declarations: [\n EvoNavigationButtonComponent,\n ],\n exports: [\n EvoNavigationButtonComponent,\n ]\n})\nexport class EvoNavigationButtonModule {\n}\n","/*\n * Public API Surface of evo-ui-kit\n */\n\nexport * from './lib/evo-ui-kit.module';\n\nexport * from './lib/common/form-helper/form-helper';\nexport * from './lib/common/evo-control-state-manager/evo-control-state-manager';\nexport * from './lib/common/evo-control-state-manager/evo-control-states.enum';\nexport * from './lib/common/evo-control-state-manager/evo-control-state.interface';\nexport * from './lib/common/evo-base-control';\n\n// Animations\nexport * from './lib/common/animations/index';\n\n// Collection\nexport * from './lib/common/collection/index';\n\n// Decorators\nexport * from './lib/decorators/index';\n\n// Directives\nexport * from './lib/directives/index';\n\n// Operators\nexport * from './lib/operators/index';\n\n// Components\nexport * from './lib/components/evo-accordion/index';\nexport * from './lib/components/evo-alert/index';\nexport * from './lib/components/evo-autocomplete/index';\nexport * from './lib/components/evo-badge/index';\nexport * from './lib/components/evo-banner/index';\nexport * from './lib/components/evo-button/index';\nexport * from './lib/components/evo-checkbox/index';\nexport * from './lib/components/evo-chip/index';\nexport * from './lib/components/evo-control-error/index';\nexport * from './lib/components/evo-control-label/index';\nexport * from './lib/components/evo-counter/index';\nexport * from './lib/components/evo-datepicker/index';\nexport * from './lib/components/evo-icon/index';\nexport * from './lib/components/evo-icon-button/index';\nexport * from './lib/components/evo-icon-number/index'\nexport * from './lib/components/evo-input/index';\nexport * from './lib/components/evo-input-contenteditable/index';\nexport * from './lib/components/evo-loader/index';\nexport * from './lib/components/evo-modal/index';\nexport * from './lib/components/evo-note/index';\nexport * from './lib/components/evo-paginator/index';\nexport * from './lib/components/evo-plus-minus/index';\nexport * from './lib/components/evo-popover/index';\nexport * from './lib/components/evo-portal/index';\nexport * from './lib/components/evo-radio/index';\nexport * from './lib/components/evo-radio-group/index';\nexport * from './lib/components/evo-radioshape/index';\nexport * from './lib/components/evo-segmented-bar/index';\nexport * from './lib/components/evo-select/index';\nexport * from './lib/components/evo-sidebar/index';\nexport * from './lib/components/evo-stepper/index';\nexport * from './lib/components/evo-submenu/index';\nexport * from './lib/components/evo-switcher/index';\nexport * from './lib/components/evo-table/index';\nexport * from './lib/components/evo-tabs/index';\nexport * from './lib/components/evo-textarea/index';\nexport * from './lib/components/evo-toast/index';\nexport * from './lib/components/evo-toggle/index';\nexport * from './lib/components/evo-upload/index';\nexport * from './lib/components/evo-dropdown/index';\nexport * from './lib/components/evo-navbar/index';\nexport * from './lib/components/evo-navigation-button/index';\n\nexport * from './lib/pipes/index';\n\n// Services\nexport * from './lib/services/index';\nexport * from './lib/components/evo-portal/index';\n\nexport * from './lib/common/evo-control-state-manager/evo-control-state-manager';\nexport * from './lib/common/form-helper/form-helper';\nexport * from './lib/common/constants/css-breakpoints';\nexport * from './lib/common/constants/view-breakpoint-streams';\nexport * from './lib/common/types/index';\nexport * from './lib/common/evo-base-control';\nexport * from './lib/common/Serializable';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["stringify","i1.EvoExpandedService","i2.EvoIconsLibrary","i3","i1.EvoIsExpandedDirective","i2.EvoExpandedService","i2","i3.EvoIconComponent","i1","i2.EvoUiClassDirective","i2.SafeHtmlPipe","i3.EvoControlErrorComponent","i4.EvoIconComponent","i3.EvoUiClassDirective","i4.EvoControlErrorComponent","i3.EvoCheckboxComponent","i1.EvoUiClassDirective","i3.EvoCircularLoaderComponent","i1.EvoModalService","i3.EvoButtonComponent","i2.EvoClickOutsideDirective","i2.EvoIconComponent","i2.EvoSidebarService","i4.EvoSidebarHeaderComponent","i5.EvoSidebarContentComponent","i6.EvoSidebarFooterComponent","i1.EvoStepperEvents","i1.EvoTabsService","i2.EvoTabsSizeService","i4.EvoUiClassDirective","i1.EvoToastService","i3.EvoAlertComponent","i4.EvoButtonComponent","i5.EvoIconComponent","i6.EvoUiClassDirective","i7.DeclinationPipe","i8.SafeHtmlPipe","i2.EvoLetDirective","i4.EvoDropdownComponent","i5.EvoDropdownOriginDirective","i2.EvoNavbarItemComponent","i1.EvoIconComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evotor-dev-ui-kit.mjs","sources":["../../../projects/evo-ui-kit/src/lib/services/window.service.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-ui-class.directive.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-click-outside.directive.ts","../../../projects/evo-ui-kit/src/lib/services/evo-expanded.service.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-is-expanded.directive.ts","../../../projects/evo-ui-kit/src/lib/directives/evo-let/evo-let.directive.ts","../../../projects/evo-ui-kit/src/lib/evo-ui-kit.module.ts","../../../projects/evo-ui-kit/src/lib/common/form-helper/form-helper.ts","../../../projects/evo-ui-kit/src/lib/common/evo-control-state-manager/evo-control-state-manager.ts","../../../projects/evo-ui-kit/src/lib/common/evo-control-state-manager/evo-control-states.enum.ts","../../../projects/evo-ui-kit/src/lib/common/evo-base-control.ts","../../../projects/evo-ui-kit/src/lib/common/animations/expand.animation.ts","../../../projects/evo-ui-kit/src/lib/common/animations/skip-initial-render.animation.ts","../../../projects/evo-ui-kit/src/lib/common/animations/sidebar.animation.ts","../../../projects/evo-ui-kit/src/lib/common/collection/evo-collection.ts","../../../projects/evo-ui-kit/src/lib/common/collection/evo-collection-fabric.ts","../../../projects/evo-ui-kit/src/lib/decorators/deprecate-method.decorator.ts","../../../projects/evo-ui-kit/src/lib/decorators/deprecate-variable.decorator.ts","../../../projects/evo-ui-kit/src/lib/operators/enter-zone.operator.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/classes/evo-icons-library.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon/evo-icon.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-accordion/evo-accordion.module.ts","../../../projects/evo-ui-kit/src/lib/pipes/safe-html.pipe.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.component.html","../../../projects/evo-ui-kit/src/lib/pipes/declination.pipe.ts","../../../projects/evo-ui-kit/src/lib/pipes/evo-pipes.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-error/evo-control-error.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input/evo-input.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/evo-autocomplete.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/evo-autocomplete.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-checkbox/evo-checkbox.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/evo-autocomplete.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/helpers/switch-query-to-list.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/models/DaDataParty.ts","../../../projects/evo-ui-kit/src/lib/components/evo-autocomplete/models/dadata.model.ts","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-badge/evo-badge.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/constants/evo-button-themes-map.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-circular-loader.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-circular-loader.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button/evo-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button/evo-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button-old/evo-button-old.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/components/evo-button-old/evo-button-old.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-loader/evo-loader.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-button/evo-button.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-chip/evo-chip.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-control-label/evo-control-label.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-counter/evo-counter.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/templates/index.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-datepicker/evo-datepicker.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon-button/evo-icon-button.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-icon-number/evo-icon-number.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/utils/clear-multiline.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-modal/evo-modal.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-note/evo-note.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-paginator/evo-paginator.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-plus-minus/evo-plus-minus.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-popover/evo-popover.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal-outlet.class.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal-outlet.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-portal/evo-portal.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radio/evo-radio.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radio-group/evo-radio-group.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/components/evo-radioshape.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/components/evo-radioshape.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-radioshape/evo-radioshape.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-segmented-bar/evo-segmented-bar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-select/evo-select.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/tokens.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-states.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/enums/evo-sidebar-sizes.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/sidebar-injection-token.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar-portal.ts","../../../projects/evo-ui-kit/src/lib/components/evo-sidebar/evo-sidebar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-events.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-stepper/evo-stepper.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-submenu/evo-submenu.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-switcher/evo-switcher.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table-column/evo-table-column.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table-column/evo-table-column.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table/evo-table.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table/evo-table.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-table/evo-table.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/enums/evo-tabs-size.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-state.collection.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs-size.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab/evo-tab.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab/evo-tab.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-tabs/evo-tabs.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-textarea/evo-textarea.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.service.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-toast/evo-toast.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-toggle/evo-toggle.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-upload/evo-upload.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown-position-description.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown-origin.directive.ts","../../../projects/evo-ui-kit/src/lib/components/evo-dropdown/evo-dropdown.module.ts","../../../projects/evo-ui-kit/src/lib/common/constants/css-breakpoints.ts","../../../projects/evo-ui-kit/src/lib/common/constants/view-breakpoint-streams.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navbar/evo-navbar.module.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.component.ts","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.component.html","../../../projects/evo-ui-kit/src/lib/components/evo-navigation-button/evo-navigation-button.module.ts","../../../projects/evo-ui-kit/src/lib/common/Serializable.ts","../../../projects/evo-ui-kit/src/public_api.ts","../../../projects/evo-ui-kit/src/evotor-dev-ui-kit.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';\n\n/* Create a new injection token for injecting the window into a component. */\nexport const WINDOW = new InjectionToken('WindowToken');\n\n/* Define abstract class for obtaining reference to the global window object. */\nexport abstract class WindowRef {\n\n get nativeWindow(): Window | Object {\n throw new Error('Not implemented.');\n }\n\n}\n\n/* Define class that implements the abstract class and returns the native window object. */\n@Injectable()\nexport class BrowserWindowRef extends WindowRef {\n constructor() {\n super();\n }\n\n get nativeWindow(): Window | Object {\n return window;\n }\n\n}\n\n/* Create an factory function that returns the native window object. */\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\n if (isPlatformBrowser(platformId)) {\n return browserWindowRef.nativeWindow;\n }\n return new Object();\n}\n\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\nconst browserWindowProvider: ClassProvider = {\n provide: WindowRef,\n useClass: BrowserWindowRef,\n};\n\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\nconst windowProvider: FactoryProvider = {\n provide: WINDOW,\n useFactory: windowFactory,\n deps: [ WindowRef, PLATFORM_ID ],\n};\n\n/* Create an array of providers. */\nexport const WINDOW_PROVIDERS = [\n browserWindowProvider,\n windowProvider,\n];\n","import {\n Directive,\n DoCheck,\n ElementRef,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n KeyValueChanges,\n KeyValueDiffer,\n KeyValueDiffers,\n Renderer2,\n ɵstringify as stringify,\n} from '@angular/core';\n\n// TODO: actualize to current realization of NgClass\n\nfunction isJsObject(o: any): boolean {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n\nfunction isListLikeIterable(obj: any): boolean {\n if (!isJsObject(obj)) return false;\n return (\n Array.isArray(obj) ||\n (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]\n Symbol.iterator in obj)\n ); // JS Iterable have a Symbol.iterator prop\n}\n\n/**\n * @usageNotes\n * ```\n * <some-element [evoUiClass]=\"'first second'\">...</some-element>\n *\n * <some-element [evoUiClass]=\"['first', 'second']\">...</some-element>\n *\n * <some-element [evoUiClass]=\"{'first': true, 'second': true, 'third': false}\">...</some-element>\n *\n * <some-element [evoUiClass]=\"stringExp|arrayExp|objExp\">...</some-element>\n *\n * <some-element [evoUiClass]=\"{'class1 class2 class3' : true}\">...</some-element>\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n */\n@Directive({\n selector: '[evoUiClass]',\n})\nexport class EvoUiClassDirective implements DoCheck {\n private iterableDiffer!: IterableDiffer<string> | null;\n private keyValueDiffer!: KeyValueDiffer<string, any> | null;\n private initialClasses: string[] = [];\n private rawClass!: string[] | Set<string> | {[klass: string]: any};\n\n constructor(\n private _iterableDiffers: IterableDiffers,\n private _keyValueDiffers: KeyValueDiffers,\n private _ngEl: ElementRef,\n private _renderer: Renderer2,\n ) {}\n\n @Input('class')\n set klass(value: string) {\n this.removeClasses(this.initialClasses);\n this.initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this.applyClasses(this.initialClasses);\n this.applyClasses(this.rawClass);\n }\n\n @Input()\n set evoUiClass(value: string | string[] | Set<string> | {[klass: string]: any}) {\n this.removeClasses(this.rawClass);\n this.applyClasses(this.initialClasses);\n\n this.iterableDiffer = null;\n this.keyValueDiffer = null;\n\n this.rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n\n if (this.rawClass) {\n if (isListLikeIterable(this.rawClass)) {\n this.iterableDiffer = this._iterableDiffers.find(this.rawClass).create();\n } else {\n this.keyValueDiffer = this._keyValueDiffers.find(this.rawClass).create();\n }\n }\n }\n\n ngDoCheck(): void {\n if (this.iterableDiffer) {\n const iterableChanges = this.iterableDiffer.diff(this.rawClass as string[]);\n if (iterableChanges) {\n this.applyIterableChanges(iterableChanges);\n }\n } else if (this.keyValueDiffer) {\n const keyValueChanges = this.keyValueDiffer.diff(this.rawClass as {[k: string]: any});\n if (keyValueChanges) {\n this.applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n\n private applyKeyValueChanges(changes: KeyValueChanges<string, any>): void {\n changes.forEachAddedItem((record) => this.toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this.toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this.toggleClass(record.key, false);\n }\n });\n }\n\n private applyIterableChanges(changes: IterableChanges<string>): void {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this.toggleClass(record.item, true);\n } else {\n throw new Error(\n `EvoUiClass can only toggle CSS classes expressed as strings, got ${stringify(record.item)}`,\n );\n }\n });\n\n changes.forEachRemovedItem((record) => this.toggleClass(record.item, false));\n }\n\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n private applyClasses(rawClassVal: string[] | Set<string> | {[klass: string]: any}) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal as any).forEach((klass: string) => this.toggleClass(klass, true));\n } else {\n Object.keys(rawClassVal).forEach((klass) => this.toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n private removeClasses(rawClassVal: string[] | Set<string> | {[klass: string]: any}) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal as any).forEach((klass: string) => this.toggleClass(klass, false));\n } else {\n Object.keys(rawClassVal).forEach((klass) => this.toggleClass(klass, false));\n }\n }\n }\n\n private toggleClass(klass: string, enabled: boolean): void {\n const prefix = this.initialClasses[0];\n\n const prefixClasses = (classes: string) => {\n return classes\n .trim()\n .split(' ')\n .filter((k) => k.trim())\n .map((k) => prefix + '_' + k)\n .join(' ');\n };\n\n klass = this.initialClasses.indexOf(klass) === -1 ? prefixClasses(klass) : klass.trim();\n\n if (klass) {\n klass.split(/\\s+/g).forEach((_klass) => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, _klass);\n } else {\n this._renderer.removeClass(this._ngEl.nativeElement, _klass);\n }\n });\n }\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[evoClickOutside]',\n})\nexport class EvoClickOutsideDirective {\n\n @Output()\n public evoClickOutside = new EventEmitter();\n\n constructor(private _elementRef: ElementRef) {\n }\n\n @HostListener('document:click', ['$event', '$event.target'])\n public onClick<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n this.clickOrTouchOutside(event, targetElement);\n }\n\n @HostListener('document:touchstart', ['$event', '$event.target'])\n public onTouchStart<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n this.clickOrTouchOutside(event, targetElement);\n }\n\n clickOrTouchOutside<T extends MouseEvent, F extends HTMLElement>(event: T, targetElement: F) {\n if (!targetElement) {\n return;\n }\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.evoClickOutside.emit(event);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class EvoExpandedService {\n isExpandedChange$: Observable<boolean>;\n private isExpanded$ = new BehaviorSubject<boolean>(false);\n\n constructor() {\n this.isExpandedChange$ = this.isExpanded$.asObservable();\n }\n\n set isExpanded(value: boolean) {\n if (value !== this.isExpanded$.value) {\n this.isExpanded$.next(value);\n }\n }\n\n get isExpanded(): boolean {\n return this.isExpanded$.value;\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EvoExpandedService } from '../services/evo-expanded.service';\n\n@Directive({\n selector: '[evoIsExpanded]'\n})\nexport class EvoIsExpandedDirective implements OnInit, OnChanges, OnDestroy {\n @Input() evoIsExpanded: boolean;\n @Output() evoIsExpandedChange = new EventEmitter<boolean>(false);\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n @Optional() private expandedService: EvoExpandedService,\n ) { }\n\n ngOnInit(): void {\n if (this.expandedService) {\n this.expandedService.isExpanded = this.evoIsExpanded;\n }\n this.updateView();\n this.handleExpandedChange();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.evoIsExpanded && !changes.evoIsExpanded.isFirstChange()) {\n const isExpanded = changes.evoIsExpanded.currentValue;\n if (!this.expandedService) {\n this.evoIsExpandedChange.emit(isExpanded);\n this.updateView();\n return;\n }\n this.expandedService.isExpanded = isExpanded;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n handleExpandedChange(): void {\n this.expandedService?.isExpandedChange$.pipe(\n takeUntil(this.destroy$)\n ).subscribe(isExpanded => {\n if (isExpanded !== this.evoIsExpanded) {\n this.evoIsExpanded = isExpanded;\n this.evoIsExpandedChange.emit(isExpanded);\n }\n this.updateView();\n });\n }\n\n private updateView(): void {\n if (this.evoIsExpanded && this.viewContainer.length !== 0) {\n return;\n }\n if (this.evoIsExpanded) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n }\n}\n","import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nexport class EvoLetContext<T> {\n constructor(private readonly dir: EvoLetDirective<T>) {}\n\n public get evoLet(): T {\n return this.dir.evoLet;\n }\n}\n\n/**\n * Works like ngIf, but condition not affects on rendering.\n * Used for aliases.\n */\n@Directive({\n selector: '[evoLet]',\n})\nexport class EvoLetDirective<T> {\n @Input() evoLet!: T;\n\n constructor(\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<EvoLetContext<T>>,\n ) {\n viewContainer.createEmbeddedView(templateRef, new EvoLetContext<T>(this));\n }\n\n /**\n * Assert the correct type of the expression bound to the `evoLet` input within the template.\n *\n * The presence of this static field is a signal to the Ivy template type check compiler that\n * when the `EvoLetDirective` structural directive renders its template, the type of the expression bound\n * to `evoLet` should be narrowed in some way. For `EvoLetDirective`, the binding expression itself is used to\n * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `EvoLetDirective`.\n */\n static ngTemplateGuard_evoLet: 'binding';\n\n /**\n * Asserts the correct type of the context for the template that `EvoLetDirective` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `EvoLetDirective` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard<T>(dir: EvoLetDirective<T>, ctx: any): ctx is EvoLetContext<T> {\n return true;\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxPageScrollModule } from 'ngx-page-scroll';\n\nimport { WINDOW_PROVIDERS } from './services/window.service';\nimport { RouterModule } from '@angular/router';\n\nimport { EvoUiClassDirective } from './directives/evo-ui-class.directive';\nimport { EvoClickOutsideDirective } from './directives/evo-click-outside.directive';\nimport { EvoIsExpandedDirective, EvoLetDirective } from './directives';\n\nexport { WINDOW_PROVIDERS };\n\nconst directives = [\n EvoUiClassDirective,\n EvoClickOutsideDirective,\n EvoIsExpandedDirective,\n EvoLetDirective,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NgxPageScrollModule,\n ReactiveFormsModule,\n RouterModule,\n ],\n declarations: [\n ...directives,\n ],\n exports: [\n ...directives,\n ],\n providers: [\n WINDOW_PROVIDERS,\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA,\n ],\n})\nexport class EvoUiKitModule {\n}\n","import {EventEmitter} from '@angular/core';\nimport {AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup} from '@angular/forms';\n\nexport class FormHelper {\n static validateControls(control: AbstractControl) {\n if (control instanceof UntypedFormControl) {\n control.markAsDirty();\n control.markAsTouched();\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n } else if (control instanceof UntypedFormGroup || control instanceof UntypedFormArray) {\n for (const controlName of Object.keys(control.controls)) {\n FormHelper.validateControls(control.controls[controlName]);\n }\n }\n }\n\n static resetControls(control: AbstractControl) {\n if (control instanceof UntypedFormControl) {\n control.markAsPristine();\n control.markAsUntouched();\n control.setValue('', {\n emitEvent: false,\n onlySelf: true,\n });\n } else if (control instanceof UntypedFormGroup || control instanceof UntypedFormArray) {\n for (const controlName of Object.keys(control.controls)) {\n FormHelper.resetControls(control.controls[controlName]);\n }\n }\n }\n}\n","import { AbstractControl } from '@angular/forms';\nimport { IEvoControlState } from './evo-control-state.interface';\n\nexport class EvoControlStateManager {\n control: AbstractControl;\n\n constructor(control: AbstractControl, extraStates?: IEvoControlState) {\n this.control = control;\n }\n\n get currentState(): IEvoControlState {\n // TODO merge conditions with extraStates\n\n return {\n valid: this.control.dirty && this.control.touched && this.control.valid,\n invalid: this.control.dirty && this.control.touched && this.control.invalid,\n };\n }\n}\n","export enum EvoControlStates {\n valid = 'valid',\n invalid = 'invalid',\n}\n","import { Directive, Injector, Input } from '@angular/core';\nimport { AbstractControl, NgControl } from '@angular/forms';\nimport { IEvoControlState } from './evo-control-state-manager/evo-control-state.interface';\nimport { IEvoControlError } from '../components/evo-control-error';\nimport { EvoControlStates } from './evo-control-state-manager/evo-control-states.enum';\n\n@Directive()\n// tslint:disable-next-line:directive-class-suffix\nexport abstract class EvoBaseControl {\n\n @Input() errorsMessages: IEvoControlError;\n @Input() state: IEvoControlState;\n @Input() readonly autoFocus: boolean;\n\n private _control: AbstractControl;\n\n constructor(\n protected injector: Injector,\n ) {\n }\n\n get control(): AbstractControl {\n if (!this._control) {\n this.initBaseControl();\n }\n return this._control;\n }\n\n set control(control: AbstractControl) {\n this._control = control;\n }\n\n focus?(): void;\n\n initBaseControl() {\n const ngControl = this.injector?.get(NgControl, null);\n if (ngControl?.control) {\n this._control = ngControl?.control;\n }\n }\n\n get currentState(): IEvoControlState {\n return Object.assign(\n {\n valid: this.control ? this.control.dirty && this.control.touched && this.control.valid : undefined,\n invalid: this.control ? this.control.dirty && this.control.touched && this.control.invalid : undefined,\n },\n this.state,\n );\n }\n\n get showErrors(): boolean {\n return this.currentState[EvoControlStates.invalid];\n }\n\n}\n","import { trigger, transition, style, animate, state } from '@angular/animations';\n\nconst closeStateStyles = style({\n height: '0px',\n marginBottom: '0px',\n paddingBottom: '0px'\n});\n\nconst openStateStyles = style({\n height: '*',\n marginBottom: '*',\n paddingBottom: '*'\n});\n\nconst openStep = [\n closeStateStyles,\n animate('200ms ease-in-out', openStateStyles)\n];\n\nconst closeStep = [\n openStateStyles,\n animate('200ms ease-in-out', closeStateStyles),\n];\n\nexport const expandAnimation = trigger('expand', [\n state('open', openStateStyles),\n state('close', closeStateStyles),\n transition(':enter', openStep),\n transition(':leave', closeStep),\n transition('open => close', closeStep),\n transition('close => open', openStep)\n]);\n","import { transition, trigger } from '@angular/animations';\n\nexport const skipInitialRenderAnimation = trigger('skipInitialRender', [transition(':enter', [])]);\n","import { trigger, state, style, transition, animate } from '@angular/animations';\n\nexport const evoSidebarAnimationDuration = 500;\n\nexport const sidebarAnimation = trigger('open', [\n state('visible', style({\n transform: 'translateX(0px)',\n })),\n transition('hidden => visible', animate(`${evoSidebarAnimationDuration}ms ease-out`)),\n transition('visible => hidden', animate(`${evoSidebarAnimationDuration}ms ease-out`)),\n]);\n","export abstract class EvoCollection<T> extends Array<T> {\n public constructor() {\n super();\n throw new Error(`Inheritor of EvoCollection can't be instantiated, use EvoCollectionFabric.create() instead.`);\n }\n}\n","import { EvoCollection } from './evo-collection';\n\nexport class EvoCollectionFabric {\n static create<T extends EvoCollection<K>, K>(collectionType: (new () => T), itemType: (new (...args: any[]) => K), data: any[]) {\n const collection = Object.create(collectionType.prototype);\n\n for (let i = 0; i < data.length; i++) {\n collection.push(new itemType(data[i]));\n }\n\n return collection as T;\n }\n}\n","export function DeprecateMethod(message: string = ''): MethodDecorator {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const deprecatedMessage = `${target.constructor.name} method ${propertyKey} is deprecated. ${message}`;\n\n console.warn(deprecatedMessage);\n\n return descriptor;\n };\n}\n","export function DeprecateVariable(target: any, propertyKey: string) {\n const deprecatedMessage = `${target.constructor.name} variable ${propertyKey} is deprecated.`;\n let propertyValue;\n\n function getter() {\n console.warn(deprecatedMessage);\n return propertyValue;\n }\n\n function setter(value: any) {\n console.warn(deprecatedMessage);\n propertyValue = value;\n }\n\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n });\n}\n","import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport function enterZone(zone: NgZone) {\n return <T>(source: Observable<T>) =>\n new Observable<T>(observer =>\n source.subscribe({\n next: (x) => zone.run(() => observer.next(x)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n })\n );\n}\n","import { IconsCategory } from '../interfaces/icons-category';\nimport { IconsSource } from '../interfaces/icons-source';\n\nexport class EvoIconsLibrary {\n categories: { name: string; iconsNames: string[]; }[] = [];\n shapes: IconsSource = {};\n constructor(\n lib: IconsCategory[][]\n ) {\n lib.forEach(categoriesArray => {\n this.addCategories(categoriesArray);\n this.shapes = Object.assign(this.shapes, ...categoriesArray.map(iconsCategory => iconsCategory.shapes));\n });\n }\n\n addCategories(categoriesArray: IconsCategory[]): void {\n this.categories.push( ...categoriesArray.map(iconsCategory => {\n return {\n name: iconsCategory.name,\n iconsNames: Object.keys(iconsCategory.shapes)\n };\n })\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {EvoIconsLibrary} from './classes/evo-icons-library';\n\n@Component({\n selector: 'evo-icon',\n templateUrl: './evo-icon.component.html',\n styleUrls: ['./evo-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconComponent {\n @Input() set shape(shape: string) {\n this._shape = shape;\n const shapes = this.iconsService.shapes;\n if (!shapes[this._shape]) {\n throw new Error(\n `No icon with name \"${this._shape}\" was found. Please check UI Kit and import certain category to Icon Module`,\n );\n }\n this.content = this.sanitizer.bypassSecurityTrustHtml(shapes[this._shape]);\n }\n\n get shape(): string {\n return this._shape;\n }\n\n @Input() svgWidth = 24;\n\n @Input() svgHeight = 24;\n\n @Input() svgViewBox: string;\n\n content: SafeHtml;\n\n get viewBox(): string {\n if (this.svgViewBox) {\n return this.svgViewBox;\n }\n return `0 0 ${this.svgWidth} ${this.svgHeight}`;\n }\n\n @HostBinding('class.evo-icon') hostClass = true;\n\n get classes(): string[] {\n const classes = ['evo-icon'];\n if (this._shape) {\n classes.push('evo-icon_' + this._shape);\n }\n return classes;\n }\n\n private _shape: string;\n\n constructor(private readonly sanitizer: DomSanitizer, private readonly iconsService: EvoIconsLibrary) {}\n}\n","<svg\n [attr.width]=\"svgWidth\"\n [attr.height]=\"svgHeight\"\n [attr.viewBox]=\"viewBox\"\n preserveAspectRatio=\"xMidYMid meet\"\n [innerHTML]=\"content\"\n [ngClass]=\"classes\"\n ></svg>\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoIconComponent } from './evo-icon.component';\nimport { EvoIconsLibrary } from './classes/evo-icons-library';\nimport { IconsCategory } from './interfaces/icons-category';\n\nexport { EvoIconsLibrary } from './classes/evo-icons-library';\nexport function evoIconsLibraryGetter(iconsList: IconsCategory[][]) {\n return new EvoIconsLibrary(iconsList);\n}\n\nexport const ICONS_LIST_TOKEN = new InjectionToken<IconsCategory[]>('ICONS_LIST_TOKEN');\n\n// @dynamic\n@NgModule({\n imports: [\n CommonModule\n ],\n exports: [ EvoIconComponent ],\n declarations: [ EvoIconComponent ],\n})\nexport class EvoIconModule {\n static forRoot(iconsList: IconsCategory[]): ModuleWithProviders<EvoIconModule> {\n return {\n ngModule: EvoIconModule,\n providers: [{\n provide: ICONS_LIST_TOKEN,\n useValue: iconsList,\n multi: true,\n }, {\n provide: EvoIconsLibrary,\n useFactory: evoIconsLibraryGetter,\n deps: [ ICONS_LIST_TOKEN ],\n }]\n };\n }\n static forChild(iconsList: IconsCategory[]): ModuleWithProviders<EvoIconModule> {\n return {\n ngModule: EvoIconModule,\n providers: [{\n provide: ICONS_LIST_TOKEN,\n useValue: iconsList,\n multi: true,\n }, {\n provide: EvoIconsLibrary,\n useFactory: evoIconsLibraryGetter,\n deps: [ ICONS_LIST_TOKEN ],\n }]\n };\n }\n}\n","import { Component, HostBinding, Optional } from '@angular/core';\nimport { expandAnimation } from '../../../common/animations/expand.animation';\nimport { EvoIsExpandedDirective } from '../../../directives/evo-is-expanded.directive';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\n\n@Component({\n selector: 'evo-accordion-content',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion-content.component.scss'],\n animations: [expandAnimation],\n})\nexport class EvoAccordionContentComponent {\n @HostBinding('@expand') get expandAnimation() {\n if (this.evoIsExpandedDirective) {\n return;\n } else {\n return this.evoExpandedService.isExpanded ? 'open' : 'close';\n }\n }\n\n constructor(@Optional() private evoIsExpandedDirective: EvoIsExpandedDirective,\n private evoExpandedService: EvoExpandedService\n ) {\n }\n}\n","import { Component } from '@angular/core';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\n\n@Component({\n selector: 'evo-accordion-panel',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion-panel.component.scss'],\n providers: [EvoExpandedService],\n})\nexport class EvoAccordionPanelComponent {\n constructor(private evoExpandedService: EvoExpandedService) { }\n\n public toggle() {\n this.evoExpandedService.isExpanded = !this.evoExpandedService.isExpanded;\n }\n}\n","import { Component, HostListener, Input } from '@angular/core';\nimport { EvoExpandedService } from '../../../services/evo-expanded.service';\nimport { animate, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'evo-accordion-title',\n templateUrl: './evo-accordion-title.component.html',\n styleUrls: ['./evo-accordion-title.component.scss'],\n animations: [\n trigger('toggleBlock', [\n transition(':leave', [\n style({opacity: 1}),\n animate('.3s ease-in-out',\n style({\n opacity: 0,\n })),\n ]),\n transition(':enter', [\n style({opacity: 0}),\n animate('.3s ease-in-out',\n style({\n opacity: 1,\n })),\n ]),\n ]),\n ],\n})\nexport class EvoAccordionTitleComponent {\n @Input() label: string;\n\n isExpanded$ = this.expandedService.isExpandedChange$;\n\n constructor(\n private expandedService: EvoExpandedService,\n ) {\n }\n\n @HostListener('click') onClick() {\n this.expandedService.isExpanded = !this.expandedService.isExpanded;\n }\n}\n","<ng-container *ngIf=\"label; else customContent\">\n <div class=\"evo-accordion-title\">\n <div class=\"evo-accordion-title__dot\"></div>\n <h4 class=\"evo-accordion-title__label evo-title evo-title_h4\">{{label}}</h4>\n <div *ngIf=\"{isExpanded: (isExpanded$ | async)} as asyncData\" class=\"evo-accordion-title__expander\">\n <evo-icon\n *ngIf=\"asyncData.isExpanded\"\n shape=\"fold\"\n @toggleBlock\n ></evo-icon>\n <evo-icon\n *ngIf=\"!asyncData.isExpanded\"\n shape=\"unfold\"\n @toggleBlock\n ></evo-icon>\n </div>\n </div>\n</ng-container>\n\n<ng-template #customContent>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit } from '@angular/core';\nimport { skipInitialRenderAnimation } from '../../common/animations/skip-initial-render.animation';\n\n@Component({\n selector: 'evo-accordion',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./evo-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [skipInitialRenderAnimation]\n})\nexport class EvoAccordionComponent implements OnInit {\n @HostBinding('@skipInitialRender') skipInitialRender;\n constructor() { }\n\n ngOnInit(): void { }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { iconUnfoldMore, iconUnfoldLess } from '@evotor-dev/ui-kit/icons/navigation';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon';\nimport { EvoAccordionContentComponent } from './evo-accordion-content/evo-accordion-content.component';\nimport { EvoAccordionPanelComponent } from './evo-accordion-panel/evo-accordion-panel.component';\nimport { EvoAccordionTitleComponent } from './evo-accordion-title/evo-accordion-title.component';\nimport { EvoAccordionComponent } from './evo-accordion.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'navigation',\n shapes: {\n unfold: iconUnfoldMore,\n fold: iconUnfoldLess,\n },\n },\n ]),\n ],\n declarations: [\n EvoAccordionComponent,\n EvoAccordionTitleComponent,\n EvoAccordionPanelComponent,\n EvoAccordionContentComponent,\n ],\n exports: [\n EvoAccordionComponent,\n EvoAccordionTitleComponent,\n EvoAccordionPanelComponent,\n EvoAccordionContentComponent,\n ]\n})\nexport class EvoAccordionModule {\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(url) {\n return this.sanitizer.bypassSecurityTrustHtml(url);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\nexport interface IEvoControlError {\n [error: string]: string;\n}\n\n@Component({\n selector: 'evo-control-error',\n templateUrl: './evo-control-error.component.html',\n styleUrls: ['./evo-control-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoControlErrorComponent {\n @Input() errors: ValidationErrors | null;\n @Input() errorsMessages: IEvoControlError;\n @Input() showCount = 1;\n\n private defaultErrorMessages: IEvoControlError = {\n required: 'Заполните поле',\n email: 'Неправильно указана почта',\n phone: 'Введите телефон',\n };\n\n get errorsMap(): string[] {\n const messages = {\n ...this.defaultErrorMessages,\n ...(this.errorsMessages || {}),\n };\n const errorKeys = Object.keys(this.errors || {});\n const result: string[] = [];\n for (let index = 0; index < this.showCount && index < errorKeys.length; index++) {\n if (messages[errorKeys[index]]) {\n result.push(messages[errorKeys[index]]);\n }\n }\n return result;\n }\n}\n","<div\n class=\"evo-error\"\n *ngFor=\"let errorMsg of errorsMap\"\n [innerHTML]=\"errorMsg | safeHtml\"\n></div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n COMPOSITION_BUFFER_MODE,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n} from '@angular/forms';\nimport {EvoControlStates} from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {fromEvent, Subject} from 'rxjs';\nimport {debounceTime, map, takeUntil, tap} from 'rxjs/operators';\nimport {enterZone} from '../../operators';\nimport * as IMask from 'imask';\n\nexport enum EvoInputSizes {\n small = 'small',\n normal = 'normal',\n}\n\nexport enum EvoInputTheme {\n default = 'default',\n rounded = 'rounded',\n}\n\n@Component({\n selector: 'evo-input',\n templateUrl: './evo-input.component.html',\n styleUrls: ['./evo-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EvoInputComponent),\n multi: true,\n },\n ],\n})\nexport class EvoInputComponent\n extends EvoBaseControl\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy, Validator {\n\n @Input() autoFocus: boolean;\n // tslint:disable-next-line\n @Input('data-cp') dataCp: string;\n @Input() icon: string;\n @Input() mask: any;\n @Input() placeholder: string;\n @Input() tooltip: string;\n @Input() type = 'text';\n @Input() disabled = false;\n @Input() loading = false;\n @Input() prefix = '';\n @Input() autocomplete: string;\n @Input() inputDebounce = 50;\n @Input() unmask: boolean | 'typed' = false;\n @Input() clearable = false;\n @Input() maskValidation = false;\n\n @Output() blur: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input', {static: true}) inputElement: ElementRef;\n @ViewChild('tooltipContainer', {static: true}) tooltipElement: ElementRef;\n\n size: EvoInputSizes = EvoInputSizes.normal;\n theme: EvoInputTheme = EvoInputTheme.default;\n _value: string;\n customTooltipChecked = false;\n uiStates = {\n hasCustomTooltip: false,\n isTooltipVisible: false,\n isFocused: false,\n };\n\n private iMask: IMask.InputMask<any>;\n\n private tooltipVisibilityTimeout = false;\n\n private destroy$ = new Subject<void>();\n\n /** Whether the user is creating a composition string (IME events). */\n private _composing = false;\n\n constructor(\n private zone: NgZone,\n private changeDetector: ChangeDetectorRef,\n private _renderer: Renderer2,\n @Optional() @Inject(COMPOSITION_BUFFER_MODE) private _compositionMode: boolean,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n @Input('value') set setValue(value) {\n this._value = value;\n }\n\n @Input('size') set setSize(size: EvoInputSizes | string) {\n if (EvoInputSizes[size]) {\n this.size = EvoInputSizes[size];\n }\n }\n\n @Input('theme') set setTheme(theme: string | EvoInputTheme) {\n if (EvoInputTheme[theme]) {\n this.theme = EvoInputTheme[theme];\n }\n }\n\n get isDisabled() {\n if (this.loading) {\n return true;\n }\n return this.disabled;\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (value || this._value) {\n this._value = this.removePrefix(value);\n this.onChange(this.prefix + (this._value || ''));\n this.changeDetector.detectChanges();\n }\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n 'focused': this.uiStates.isFocused,\n 'disabled': this.isDisabled,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n [`size-${this.size}`]: this.size !== EvoInputSizes.normal,\n [`theme-${this.theme}`]: true,\n };\n }\n\n get hasAdditional(): boolean {\n return !!this.tooltip || this.uiStates.hasCustomTooltip || !!this.icon;\n }\n\n set maskValue(value: any) {\n const normalizedValue = value ?? '';\n if (this.iMask) {\n if (this.unmask === 'typed') {\n this.iMask.typedValue = normalizedValue;\n } else if (this.unmask) {\n this.iMask.unmaskedValue = normalizedValue;\n } else {\n this.iMask.value = normalizedValue;\n }\n } else {\n this.writeToElement(normalizedValue);\n }\n }\n\n get maskValue(): any {\n if (!this.iMask) {\n return this.inputElement.nativeElement.value;\n }\n if (this.unmask === 'typed') {\n return this.iMask.typedValue;\n }\n if (this.unmask) {\n return this.iMask.unmaskedValue;\n }\n return this.iMask.value;\n }\n\n get isClearable(): boolean {\n return this.clearable && !this.disabled;\n }\n\n ngOnInit() {\n\n const inputEl = this.inputElement.nativeElement;\n\n this.zone.runOutsideAngular(() => {\n\n if (this.mask) {\n this.createMaskInstance(this.mask);\n }\n\n fromEvent(inputEl, 'input')\n .pipe(\n debounceTime(this.inputDebounce),\n map((e: InputEvent) => {\n if (this.iMask) {\n return this.maskValue;\n }\n return (e.target as HTMLInputElement).value;\n }),\n enterZone(this.zone),\n tap((value: string) => {\n this.value = value;\n }),\n takeUntil(this.destroy$),\n ).subscribe();\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n if (this.iMask) {\n this.destroyMask();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes) {\n return;\n }\n\n const {mask} = changes;\n\n if (mask && !mask.firstChange) {\n const newMaskOptions = mask.currentValue;\n if (newMaskOptions) {\n if (this.iMask) {\n this.iMask.updateOptions(newMaskOptions);\n } else {\n this.createMaskInstance(newMaskOptions);\n }\n } else {\n this.destroyMask();\n }\n }\n }\n\n onChange(value) {\n // this is intentional\n }\n\n onTouched() {\n // this is intentional\n }\n\n ngAfterViewInit() {\n if (this.autoFocus) {\n this.inputElement.nativeElement.focus();\n }\n this.checkCustomTooltip();\n }\n\n writeToElement(value: any) {\n this._renderer.setProperty(this.inputElement.nativeElement, 'value', value);\n }\n\n writeValue(value: any): void {\n if (value === this._value) {\n return;\n }\n\n this.value = value;\n\n if (this.mask) {\n this.maskValue = value;\n } else {\n this.writeToElement(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n this.changeDetector.detectChanges();\n }\n\n onFocus(): void {\n if (!this.uiStates.isFocused) {\n this.uiStates.isFocused = true;\n }\n }\n\n onBlur(): void {\n this.uiStates.isFocused = false;\n this.onTouched();\n this.blur.emit();\n }\n\n onTooltipClick(event: any): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onClear(): void {\n this.writeValue('');\n }\n\n hideTooltip() {\n this.tooltipVisibilityTimeout = true;\n\n setTimeout(() => {\n if (this.tooltipVisibilityTimeout) {\n this.uiStates.isTooltipVisible = false;\n }\n }, 25);\n }\n\n showTooltip() {\n this.uiStates.isTooltipVisible = true;\n this.tooltipVisibilityTimeout = false;\n }\n\n // Composition handling is taken from:\n // https://github.com/angular/angular/blob/11.0.3/packages/forms/src/directives/default_value_accessor.ts#L152\n _compositionStart(): void {\n this._composing = true;\n }\n\n _compositionEnd(value: any): void {\n this._composing = false;\n if (this._compositionMode) {\n this.value = value;\n }\n }\n\n private removePrefix(value: any): any {\n if (\n typeof value === 'string' &&\n value.indexOf(this.prefix) === 0\n ) {\n return value.replace(this.prefix, '');\n }\n return value;\n }\n\n private createMaskInstance(opts: any) {\n this.iMask = new IMask.InputMask(\n this.inputElement.nativeElement,\n opts\n );\n }\n\n private destroyMask() {\n this.iMask?.destroy();\n this.iMask = null;\n }\n\n private checkCustomTooltip() {\n this.uiStates.hasCustomTooltip = this.tooltipElement &&\n this.tooltipElement.nativeElement &&\n this.tooltipElement.nativeElement.children.length > 0;\n this.customTooltipChecked = true;\n this.changeDetector.detectChanges();\n }\n\n validate() {\n if (this.maskValidation && this.mask && !this.iMask.masked.isComplete) {\n return { mask: true };\n }\n return null;\n }\n}\n","<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\"></ng-content>\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\"></ng-content>\n </div>\n <span\n class=\"evo-input__prefix\" *ngIf=\"prefix\"\n [evoUiClass]=\"{focused: !isDisabled && !!value || uiStates.isFocused }\"\n >{{prefix}}</span>\n <input\n #input\n class=\"evo-input__field\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n type=\"{{ type }}\"\n [attr.autocomplete]=\"autocomplete\"\n placeholder=\"{{ placeholder }}\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n >\n <div *ngIf=\"loading; else sideBlock\" class=\"evo-input__loading-spinner\"></div>\n <ng-template #sideBlock>\n <div\n *ngIf=\"isClearable\"\n class=\"evo-input__clearable\"\n (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\"></evo-icon>\n </div>\n <div class=\"evo-input__additional\" *ngIf=\"hasAdditional\">\n <evo-icon\n shape=\"help\" class=\"evo-input__tooltip\"\n *ngIf=\"tooltip || uiStates.hasCustomTooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n ></evo-icon>\n <div class=\"evo-input__icon\" *ngIf=\"icon\">\n <img [attr.src]=\"icon\">\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"!customTooltipChecked || uiStates.isTooltipVisible\"\n [hidden]=\"!customTooltipChecked\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n #tooltipContainer\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\"></ng-content>\n </div>\n</label>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isUndefined } from 'lodash-es';\n\n@Pipe({\n name: 'declination',\n})\nexport class DeclinationPipe implements PipeTransform {\n transform(value: number | string, titles: string[], noNum: boolean = false): string {\n if (isUndefined(value)) { return null; }\n\n const preparedValue: any = typeof value === 'string' ?\n (value as string).replace(',', '.') :\n value;\n\n let result = null;\n let count = preparedValue % 100;\n if (count >= 5 && count <= 20) {\n result = titles['2'];\n } else {\n count = count % 10;\n if (count === 1) {\n result = titles['0'];\n } else if (count >= 2 && count <= 4) {\n result = titles['1'];\n } else {\n result = titles['2'];\n }\n }\n return noNum ? result : preparedValue + ' ' + result;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { DeclinationPipe } from './declination.pipe';\n\n@NgModule({\n declarations: [DeclinationPipe, SafeHtmlPipe],\n exports: [DeclinationPipe, SafeHtmlPipe]\n})\nexport class EvoPipesModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoControlErrorComponent } from './evo-control-error.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoPipesModule } from '../../pipes';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoPipesModule,\n ],\n declarations: [ EvoControlErrorComponent ],\n exports: [ EvoControlErrorComponent ],\n})\nexport class EvoControlErrorModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[evoInputIcon]',\n})\nexport class EvoInputIconDirective {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoInputComponent } from './evo-input.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { FormsModule } from '@angular/forms';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconHelp, iconDecline } from '@evotor-dev/ui-kit/icons/system';\nimport { EvoInputIconDirective } from './evo-input-icon/evo-input-icon.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n IMaskModule,\n EvoIconModule.forRoot([{\n name: 'icons',\n shapes: {\n help: iconHelp,\n decline: iconDecline,\n },\n }]),\n ],\n declarations: [\n EvoInputComponent,\n EvoInputIconDirective,\n EvoInputIconDirective,\n ],\n exports: [\n EvoInputComponent,\n EvoInputIconDirective,\n ],\n})\nexport class EvoInputModule {\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NgControl} from '@angular/forms';\nimport {merge, Subject} from 'rxjs';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {delay, takeUntil, tap} from 'rxjs/operators';\nimport {isNull} from 'lodash-es';\nimport {EvoInputTheme} from '../../evo-input';\nimport {iconDecline} from '@evotor-dev/ui-kit/icons/system';\nimport {EvoAutocompleteSize} from '../types/evo-autocomplete-size';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = ((term: string) => any | Promise<any>);\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (key: string | object, children: any[]) => string | object;\n\n@Component({\n // tslint:disable-next-line\n selector: 'evo-autocomplete',\n templateUrl: './evo-autocomplete.component.html',\n styleUrls: ['./evo-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EvoAutocompleteComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n theme: EvoInputTheme = EvoInputTheme.default;\n\n @Input() size: EvoAutocompleteSize = 'normal';\n\n isFocused = false;\n isSelectbox = false;\n\n // Inputs\n @Input() isOpen;\n @Input() items: any[];\n @Input() bindLabel: string;\n @Input() bindValue: string;\n @Input() markFirst = true;\n @Input() placeholder: string;\n @Input() notFoundText = 'Не найдено';\n @Input() typeToSearchText: string;\n @Input() addTagText = 'Добавить тэг';\n @Input() loadingText = 'Идет поиск...';\n @Input() clearAllText: string;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() appendTo: string;\n @Input() loading: boolean;\n @Input() closeOnSelect = true;\n @Input() hideSelected: boolean;\n @Input() selectOnTab: boolean;\n @Input() openOnEnter: boolean;\n @Input() maxSelectedItems: number;\n // tslint:disable-next-line\n @Input() groupBy: string | Function;\n @Input() groupValue: GroupValueFn;\n @Input() bufferAmount = 4;\n @Input() virtualScroll: boolean;\n @Input() selectableGroup: boolean;\n @Input() selectableGroupAsModel = true;\n @Input() searchFn: () => {};\n @Input() clearOnBackspace = true;\n @Input() typeahead: Subject<string>;\n @Input() multiple: boolean;\n @Input() multipleInline: boolean;\n @Input() addTag: boolean | AddTagFn;\n @Input() searchable = true;\n @Input() clearable = true;\n @Input() errorsMessages: {[key: string]: string};\n @Input() compareWith: CompareWithFn;\n\n // Fix: https://github.com/ng-select/ng-select/pull/1257\n // Don't work with custom template - labelTemp\n @Input() editQuery = false;\n\n // Outputs\n /* eslint-disable @angular-eslint/no-output-rename */\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{term: string, items: any[]}>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scrollEvent = new EventEmitter<{start: number; end: number}>();\n @Output('scrollToEnd') scrollToEndEvent = new EventEmitter();\n /* eslint-enable @angular-eslint/no-output-rename */\n\n @ViewChild(NgSelectComponent)\n ngSelectComponent: NgSelectComponent;\n\n @ContentChild('labelTemp', { read: TemplateRef }) labelTemp: TemplateRef<any>;\n @ContentChild('multiLabelTemp', { read: TemplateRef }) multiLabelTemp: TemplateRef<any>;\n @ContentChild('optionTemp', {read: TemplateRef}) optionTemp: TemplateRef<any>;\n\n protected inputVal: string;\n\n protected readonly _destroy$ = new Subject<void>();\n\n protected _value: any;\n\n protected inputEl: HTMLInputElement;\n\n constructor(\n private cdr: ChangeDetectorRef,\n public control: NgControl,\n ) {\n control.valueAccessor = this;\n }\n\n @Input('isSelectbox') set setSelectbox(isSelectbox: boolean) {\n this.clearable = false;\n this.editQuery = false;\n this.searchable = false;\n this.notFoundText = '';\n this.isSelectbox = isSelectbox;\n }\n\n @Input('theme') set setTheme(theme: string | EvoInputTheme) {\n if (EvoInputTheme[theme]) {\n this.theme = EvoInputTheme[theme];\n }\n }\n\n get hasErrors(): boolean {\n return this.control.dirty && this.control.touched && this.control.invalid;\n }\n\n get classes(): {[key: string]: boolean} {\n return {\n 'is-multiple-inline': this.multipleInline,\n 'is-edit-query': this.editQuery,\n 'is-selectbox': this.isSelectbox,\n 'disabled': this.control.disabled,\n 'touched': this.control.touched,\n 'valid': this.control.valid,\n 'invalid': this.control.invalid,\n [`theme-${ this.theme }`]: true,\n [`size-${this.size}`]: true,\n };\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (value !== this._value) {\n this._value = value;\n this._onChange(value);\n }\n }\n\n getMultipleInlineItemsLabels(items: any[]): string {\n if (!items || !Array.isArray(items) || items.length === 0) {\n return '';\n }\n return items.map((item) => item[this.bindLabel] || '').filter((item) => item !== '').join(', ');\n }\n\n ngAfterViewInit(): void {\n if (this.editQuery) {\n this.editQueryMode();\n }\n\n this.patchClearButtonIcon();\n\n // prevent option click to close evo-modal\n this.ngSelectComponent.element.addEventListener('click', (e) => {\n if ((e.target as HTMLElement).closest('.ng-option')) {\n e.stopPropagation();\n }\n });\n\n // Allows to mark view for check\n // if control was validated with FormHelper.validate\n // and it's touched\n this.control.control.statusChanges.pipe(\n takeUntil(this._destroy$),\n tap(() => this.cdr.markForCheck()),\n ).subscribe();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n writeValue(value: any): void {\n this.value = value;\n if (this.ngSelectComponent) {\n this.ngSelectComponent.writeValue(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.ngSelectComponent) {\n this.ngSelectComponent.setDisabledState(isDisabled);\n }\n }\n\n // TODO: investigate and remove\n editQueryMode(): void {\n const ngSelectEl: HTMLElement = this.ngSelectComponent.element;\n this.inputEl = ngSelectEl.querySelector('.ng-input input');\n const streams$ = [\n this.changeEvent.pipe(\n delay(0),\n tap(() => {\n this.resetSearchQuery();\n this.inputEl.value = this.inputVal || '';\n }),\n ),\n this.closeEvent.pipe(\n delay(0),\n tap(() => {\n this.resetSearchQuery();\n if (ngSelectEl.classList.contains('ng-select-focused')) {\n this.inputEl.value = this.inputVal || '';\n }\n }),\n ),\n this.focusEvent.pipe(\n tap(() => {\n this.resetSearchQuery();\n this.inputEl.value = this.inputVal || '';\n }),\n ),\n this.blurEvent.pipe(\n tap(() => {\n this.inputEl.value = '';\n }),\n ),\n ];\n\n if (this.control.valueChanges) {\n streams$.push(\n this.control.valueChanges.pipe(\n tap((value) => {\n if (!isNull(value)) {\n this.resetSearchQuery();\n return;\n }\n this.inputVal = '';\n this.inputEl.value = '';\n }),\n )\n );\n }\n\n merge(...streams$).pipe(\n takeUntil(this._destroy$),\n ).subscribe();\n }\n\n resetSearchQuery(): void {\n const currentItem = this.ngSelectComponent.selectedItems[0];\n this.inputVal = currentItem?.label || '';\n }\n\n focus(): void {\n this.ngSelectComponent.focus();\n }\n\n blur(): void {\n this.ngSelectComponent.blur();\n }\n\n open(): void {\n this.ngSelectComponent.open();\n }\n\n close(): void {\n this.ngSelectComponent.close();\n }\n\n onFocus(event: FocusEvent): void {\n this.isFocused = true;\n this._onTouched();\n if (this.control.value) {\n this.focusEvent.emit(event);\n }\n }\n\n onBlur(event: FocusEvent): void {\n this.isFocused = false;\n this.blurEvent.emit(event);\n }\n\n onClearClick(): void {\n this.ngSelectComponent.handleClearClick();\n }\n\n protected _onChange = (value) => {\n }\n\n protected _onTouched = () => {\n }\n\n /**\n * Try to patch clear button icon\n */\n protected patchClearButtonIcon(): void {\n const originalShowClearFn = this.ngSelectComponent.showClear;\n const ngSelectElement = this.ngSelectComponent;\n let patchTimeout = null;\n this.ngSelectComponent.showClear = function () {\n const isClearButtonVisible = originalShowClearFn.bind(this)();\n if (isClearButtonVisible) {\n if (patchTimeout) {\n clearTimeout(patchTimeout);\n }\n patchTimeout = setTimeout(() => {\n const ngClearWrapperElement = ngSelectElement.element.querySelector('.ng-clear-wrapper');\n if (!ngClearWrapperElement) {\n return;\n }\n // tslint:disable-next-line:max-line-length\n ngClearWrapperElement.innerHTML = `<span class=\"ng-clear ng-clear_patched\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">${ iconDecline }</svg></span>`;\n });\n }\n return isClearButtonVisible;\n };\n }\n}\n","<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [(ngModel)]=\"value\"\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n <ng-template\n *ngIf=\"labelTemp\"\n ng-label-tmp\n let-item=\"item\"\n >\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"></ng-template>\n </ng-template>\n\n <!-- Overall Lable For All Selected Items Template -->\n <ng-template\n *ngIf=\"multiLabelTemp\"\n ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\"\n >\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: { items: items, clear: clear }\"></ng-template>\n </ng-template>\n\n <!-- Option Template -->\n <ng-template\n *ngIf=\"optionTemp\"\n ng-option-tmp\n let-item=\"item\"\n let-index=\"index\"\n let-search=\"searchTerm\"\n let-item$=\"item$\"\n >\n <ng-template *ngTemplateOutlet=\"optionTemp; context: { item: item, index: index, searchTerm: search, item$: item$}\"></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"multipleInline && !multiLabelTemp\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">\n {{ getMultipleInlineItemsLabels(items) }}\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n <div class=\"ng-option disabled\" *ngIf=\"typeToSearchText\">{{typeToSearchText}}</div>\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{loadingText}}</div>\n </ng-template>\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{notFoundText}}</div>\n </ng-template>\n </ng-select>\n <evo-control-error\n *ngIf=\"hasErrors && errorsMessages\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n ></evo-control-error>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport { EvoBaseControl } from '../../common/evo-base-control';\n\n@Component({\n selector: 'evo-checkbox',\n templateUrl: './evo-checkbox.component.html',\n styleUrls: ['./evo-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class EvoCheckboxComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input('indeterminate') set setIndeterminate(value) {\n this.indeterminate = value;\n }\n\n @Output() indeterminateChange = new EventEmitter<boolean>();\n\n @ViewChild('inputElement') inputElement: ElementRef;\n\n indeterminate = undefined;\n\n disabled = false;\n private _value: boolean;\n\n constructor(protected injector: Injector, private cdr: ChangeDetectorRef) {\n super(injector);\n }\n\n onChange(_) {\n }\n\n onTouched() {\n }\n\n get value(): boolean {\n return this._value;\n }\n\n set value(value: boolean) {\n this._value = value;\n this.onChange(value);\n this.cdr.detectChanges();\n }\n\n get checkboxClass() {\n return {\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n onInputChange(value) {\n this.value = value;\n if (this.indeterminate === true) {\n this.indeterminate = false;\n this.indeterminateChange.emit(false);\n }\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n this.cdr.detectChanges();\n }\n\n}\n","<label class=\"evo-checkbox\">\n <input\n #inputElement\n class=\"evo-checkbox__input\"\n type=\"checkbox\"\n [indeterminate]=\"indeterminate\"\n [evoUiClass]=\"checkboxClass\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onInputChange($event)\"\n >\n <span class=\"evo-checkbox__text\">\n <ng-content></ng-content>\n </span>\n</label>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoCheckboxComponent } from './evo-checkbox.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoCheckboxComponent ],\n exports: [ EvoCheckboxComponent ],\n})\nexport class EvoCheckboxModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'evo-autocomplete-default-option',\n templateUrl: './evo-autocomplete-default-option.component.html',\n styleUrls: ['./evo-autocomplete-default-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoAutocompleteDefaultOptionComponent {\n @Input() hasCheckbox: boolean;\n\n @Input() label: string;\n @Input() description: string;\n @Input() isDisabled: boolean;\n @Input() isSelected: boolean;\n\n @HostBinding('class.has-checkbox') get hasCheckboxClass(): boolean {\n return this.hasCheckbox;\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n onSelectedChange(e): void {\n this.cdr.markForCheck();\n }\n\n onCheckboxClick(e: Event): void {\n e.preventDefault();\n e.stopImmediatePropagation();\n if (e.target) {\n (e.target as HTMLElement).closest('.ng-option')?.dispatchEvent(new Event('click'));\n }\n }\n}\n","<div class=\"option option_has-checkbox\" *ngIf=\"hasCheckbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >{{ label }}</evo-checkbox>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n<div class=\"option\" *ngIf=\"!hasCheckbox\">\n <div class=\"option__label\">{{ label }}</div>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoAutocompleteComponent } from './components/evo-autocomplete.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { EvoCheckboxModule } from '../evo-checkbox';\nimport { EvoAutocompleteDefaultOptionComponent } from './components/templates/evo-autocomplete-default-option.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n EvoCheckboxModule,\n NgSelectModule,\n IMaskModule,\n ],\n declarations: [\n EvoAutocompleteComponent,\n EvoAutocompleteDefaultOptionComponent,\n ],\n exports: [\n EvoAutocompleteComponent,\n EvoAutocompleteDefaultOptionComponent,\n ],\n})\nexport class EvoAutocompleteModule {\n}\n","import {concat, Observable, of, Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, switchMap} from 'rxjs/operators';\n\nexport function switchQueryToList(\n queryStream: Subject<string>,\n switchMapFn: (query: string) => Observable<any[]>,\n initialList = [],\n debounce = 300,\n): Observable<any[]> {\n return concat(\n of(initialList),\n queryStream.pipe(debounceTime(debounce), distinctUntilChanged(), switchMap(switchMapFn)),\n ) as Observable<any[]>;\n}\n","/**\n * @deprecated use an DadataCompanyType\n */\nexport enum DaDataEntityTypes {\n legal = 'LEGAL',\n individual = 'INDIVIDUAL',\n}\n\n/**\n * @deprecated use an DadataPartySuggestion\n */\nexport class DaDataParty {\n name: {\n full: string,\n full_with_opf: string,\n latin: string,\n short: string,\n short_with_opf: string,\n };\n\n management: {\n name: string,\n post: string,\n };\n\n address: {\n value: string,\n data: any,\n };\n\n inn: string;\n kpp: string;\n okpo: string;\n ogrn: string;\n okved: string;\n okato: string;\n\n type: DaDataEntityTypes;\n\n constructor(data?: any) {\n Object.assign(this, data);\n }\n\n get legalName(): string {\n return this.name ? this.name.short_with_opf || this.name.full_with_opf : null;\n }\n\n get contactPerson(): string {\n if (this.management) {\n return this.management.name;\n } else {\n return this.name ? this.name.full : '';\n }\n }\n}\n","export enum DadataFounderShareType {\n PERCENT = 'PERCENT',\n DECIMAL = 'DECIMAL',\n FRACTION = 'FRACTION',\n}\n\nexport enum DadataCompanyType {\n LEGAL = 'LEGAL',\n INDIVIDUAL = 'INDIVIDUAL',\n}\n\nexport enum DadataCompanyBranchType {\n MAIN = 'MAIN',\n BRANCH = 'BRANCH',\n}\n\nexport enum DadataCompanyStatus {\n ACTIVE = 'ACTIVE',\n LIQUIDATING = 'LIQUIDATING',\n LIQUIDATED = 'LIQUIDATED',\n REORGANIZING = 'REORGANIZING',\n BANKRUPT = 'BANKRUPT',\n}\n\nexport enum DadataBankStatus {\n ACTIVE = 'ACTIVE',\n LIQUIDATING = 'LIQUIDATING',\n LIQUIDATED = 'LIQUIDATED',\n}\n\nexport enum DadataBankType {\n CBR = 'CBR',\n BANK = 'BANK',\n BANK_BRANCH = 'BANK_BRANCH',\n NKO = 'NKO',\n NKO_BRANCH = 'NKO_BRANCH',\n RKC = 'RKC',\n TREASURY = 'TREASURY',\n OTHER = 'OTHER'\n}\n\nexport enum DadataManagerType {\n EMPLOYEE = 'EMPLOYEE',\n FOREIGNER = 'FOREIGNER',\n LEGAL = 'LEGAL',\n}\n\nexport interface DadataMetro {\n name: string;\n line: string;\n distance: string;\n}\n\nexport interface DadataFio {\n gender?: string;\n name: string;\n patronymic: string;\n qc?: any;\n source?: string;\n surname: string;\n}\n\nexport interface DadataManager {\n ogrn: string;\n inn: string;\n name: string;\n fio: DadataFio;\n post: string;\n hid: string;\n type: DadataManagerType;\n}\n\nexport interface DadataReorganized {\n ogrn: string;\n inn: string;\n name: string;\n}\n\nexport interface DadataPartyOPF {\n code: string;\n full: string;\n short: string;\n type: string;\n}\n\nexport interface DadataFounderShare {\n type: DadataFounderShareType;\n value?: number;\n numerator?: number;\n denominator?: number;\n}\n\nexport interface DadataFounder {\n ogrn: string;\n inn: string;\n name: string;\n fio: DadataFio;\n hid: string;\n type: string;\n share: DadataFounderShare;\n}\n\nexport interface DadataFioSuggestion {\n surname: string;\n name: string;\n patronymic: string;\n gender: string;\n source: string;\n qc: string;\n}\n\nexport interface DadataFTSSuggestion {\n type: string;\n name: string;\n code: string;\n address: string;\n}\n\nexport interface DadataAuthoritiesSuggestion {\n fts_registration?: DadataFTSSuggestion;\n fts_report?: DadataFTSSuggestion;\n pf?: DadataFTSSuggestion;\n sif?: DadataFTSSuggestion;\n}\n\nexport interface DadataFinance {\n tax_system?: string;\n income?: number;\n expense?: number;\n debt?: number;\n penalty?: number;\n year?: number;\n}\n\nexport interface DadataState<T> {\n actuality_date?: number;\n registration_date?: number;\n liquidation_date?: number;\n code?: string;\n status?: T;\n}\n\nexport interface DadataSecondaryOKVED {\n main: boolean;\n type: string;\n code: string;\n name: string;\n}\n\nexport interface DadataPartyDocumentRegistration {\n type: string;\n series: string;\n number: string;\n issue_date: number;\n issue_authority: string;\n}\n\nexport interface DadataPartyDocument {\n fts_registration: DadataPartyDocumentRegistration;\n pf_registration: DadataPartyDocumentRegistration;\n sif_registration: DadataPartyDocumentRegistration;\n smb: {\n type: string;\n category: string;\n issue_date: number;\n };\n}\n\nexport interface DadataPartyLicence {\n series: string;\n number: string;\n issue_date: number;\n issue_authority: string;\n suspend_date: number;\n suspend_authority: string;\n valid_from: number;\n valid_to: number;\n activities: string[];\n addresses: string[];\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=262996078\n */\nexport interface DadataBankSuggestion {\n bic?: string;\n swift?: string;\n inn?: string;\n kpp?: string;\n correspondent_account?: string;\n treasury_accounts?: string[];\n registration_number?: string;\n name?: {\n payment?: string;\n short?: string;\n };\n payment_city?: string;\n opf?: {\n type?: DadataBankType;\n };\n address?: DadataSuggestion<DadataAddressSuggestion>;\n source?: string;\n qc?: string;\n state?: DadataState<DadataBankStatus>;\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669107\n */\nexport interface DadataAddressSuggestion {\n postal_code?: string;\n country?: string;\n country_iso_code?: string;\n federal_district?: string;\n region_fias_id?: string;\n region_kladr_id: string;\n region_iso_code?: string;\n region_with_type?: string;\n region_type?: string;\n region_type_full?: string;\n region?: string;\n area_fias_id?: string;\n area_kladr_id?: string;\n area_with_type?: string;\n area_type?: string;\n area_type_full?: string;\n area?: string;\n city_fias_id?: string;\n city_kladr_id?: string;\n city_with_type?: string;\n city_type?: string;\n city_type_full?: string;\n city?: string;\n city_district_fias_id?: string;\n city_district_kladr_id?: string;\n city_district_with_type?: string;\n city_district_type?: string;\n city_district_type_full?: string;\n city_district?: string;\n settlement_fias_id?: string;\n settlement_kladr_id?: string;\n settlement_with_type?: string;\n settlement_type?: string;\n settlement_type_full?: string;\n settlement?: string;\n street_fias_id?: string;\n street_kladr_id?: string;\n street_with_type?: string;\n street_type?: string;\n street_type_full?: string;\n street?: string;\n house_fias_id?: string;\n house_kladr_id?: string;\n house_type?: string;\n house_type_full?: string;\n house?: string;\n block_type?: string;\n block_type_full?: string;\n block?: string;\n flat_fias_id?: string;\n flat_type?: string;\n flat_type_full?: string;\n flat?: string;\n postal_box?: string;\n fias_id?: string;\n fias_level?: string;\n kladr_id?: string;\n geoname_id?: string;\n capital_marker?: string;\n okato?: string;\n oktmo?: string;\n tax_office?: string;\n tax_office_legal?: string;\n source?: string;\n history_values?: string[];\n geo_lat?: string;\n geo_lon?: string;\n qc_geo?: string;\n fias_code?: string;\n fias_actuality_state?: string;\n city_area?: string;\n beltway_hit?: string;\n beltway_distance?: string;\n flat_area?: string;\n square_meter_price?: string;\n flat_price?: string;\n timezone?: string;\n metro?: DadataMetro[];\n}\n\n/**\n * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669122\n */\nexport interface DadataPartySuggestion {\n address?: DadataSuggestion<DadataAddressSuggestion>;\n branch_count?: number;\n branch_type?: DadataCompanyBranchType;\n fio?: DadataFio;\n inn?: string;\n kpp?: string;\n ogrn?: string;\n ogrn_date?: number;\n hid?: string;\n management?: {\n name: string;\n post: string;\n disqualified: boolean;\n };\n name?: {\n full_with_opf?: string;\n short_with_opf?: string;\n };\n okato?: string;\n oktmo?: string;\n okpo?: string;\n okogu?: string;\n okfs?: string;\n finance?: DadataFinance;\n okved?: string;\n okved_type?: string;\n opf?: DadataPartyOPF;\n state?: DadataState<DadataCompanyStatus>;\n type?: DadataCompanyType;\n employee_count: number;\n okveds?: DadataSecondaryOKVED[];\n authorities?: DadataAuthoritiesSuggestion;\n founders?: DadataFounder[];\n managers?: DadataManager[];\n predecessors?: DadataReorganized[];\n successors?: DadataReorganized[];\n capital?: {\n type: string;\n value: number;\n };\n documents?: DadataPartyDocument[];\n licenses?: DadataPartyLicence[];\n}\n\nexport interface DadataSuggestion<T> {\n data: T;\n value?: string;\n unrestricted_value?: string;\n}\n\nexport interface DadataSuggestionsResponse<T> {\n suggestions: DadataSuggestion<T>[];\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { EvoBadgeColor, EvoBadgeSize } from './types';\n\n@Component({\n selector: 'evo-badge',\n templateUrl: './evo-badge.component.html',\n styleUrls: ['./evo-badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoBadgeComponent {\n\n @Input() color: EvoBadgeColor;\n @Input() size: EvoBadgeSize;\n @Input() multiline = false;\n\n // tslint:disable-next-line:no-input-rename\n @Input('width.px') widthPixels: number;\n // tslint:disable-next-line:no-input-rename\n @Input('width.%') widthPercents: number;\n\n get classes(): string[] {\n const classes: string[] = [];\n\n if (this.size) {\n classes.push(this.size);\n }\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.multiline) {\n classes.push('multiline');\n }\n\n return classes;\n }\n}\n","<div\n class=\"evo-badge\"\n [evoUiClass]=\"classes\"\n [style.width.px]=\"widthPixels\"\n [style.width.%]=\"widthPercents\"\n>\n <div class=\"evo-badge__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoBadgeComponent} from './evo-badge.component';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\n\n@NgModule({\n declarations: [EvoBadgeComponent],\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n exports: [\n EvoBadgeComponent,\n ]\n})\nexport class EvoBadgeModule { }\n","import {EvoButtonTheme, EvoButtonThemeParams} from '../types';\n\nexport const EVO_BUTTON_THEMES_MAP: Map<EvoButtonTheme, EvoButtonThemeParams> = new Map([\n [\n 'rectangle-outline',\n {\n shape: 'rectangle',\n isOutline: true,\n },\n ],\n [\n 'rounded-outline',\n {\n shape: 'rounded',\n isOutline: true,\n },\n ],\n [\n 'rounded-solid',\n {\n shape: 'rounded',\n isOutline: false,\n },\n ],\n [\n 'semi-rectangle-solid',\n {\n shape: 'semi-rectangle',\n isOutline: false,\n },\n ],\n]);\n","import {ChangeDetectionStrategy, Component, OnInit} from '@angular/core';\n\nconst defaultId = `clip-path-`;\n\n@Component({\n selector: 'evo-circular-loader',\n templateUrl: './evo-circular-loader.component.html',\n styleUrls: ['./evo-circular-loader.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoCircularLoaderComponent implements OnInit {\n clipPathId: string = defaultId;\n\n ngOnInit(): void {\n this.clipPathId += `${defaultId}${Math.random().toString(36).substring(2)}`;\n }\n}\n","<div class=\"wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <clipPath [attr.id]=\"clipPathId\">\n <path d=\"M12 20C10.4178 20 8.87103 19.5308 7.55544 18.6518C6.23985 17.7727 5.21447 16.5233 4.60896 15.0615C4.00346 13.5997 3.84504 11.9911 4.15372 10.4393C4.4624 8.88743 5.22433 7.46197 6.34315 6.34315C7.46197 5.22433 8.88743 4.4624 10.4393 4.15372C11.9911 3.84504 13.5997 4.00346 15.0615 4.60896C16.5233 5.21446 17.7727 6.23984 18.6518 7.55544C19.5308 8.87103 20 10.4177 20 12L18 12C18 10.8133 17.6481 9.65327 16.9888 8.66658C16.3295 7.67988 15.3925 6.91085 14.2961 6.45672C13.1997 6.0026 11.9933 5.88378 10.8295 6.11529C9.66557 6.3468 8.59647 6.91824 7.75736 7.75736C6.91824 8.59647 6.3468 9.66557 6.11529 10.8295C5.88378 11.9933 6.0026 13.1997 6.45672 14.2961C6.91085 15.3925 7.67988 16.3295 8.66658 16.9888C9.65327 17.6481 10.8133 18 12 18L12 20Z\"/>\n </clipPath>\n <foreignObject x=\"0\" y=\"0\" width=\"17\" height=\"16\" [attr.clip-path]=\"'url(#' + clipPathId + ')'\">\n <xhtml:div class=\"loader\"></xhtml:div>\n </foreignObject>\n </svg>\n</div>\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\nimport {EvoButtonColor, EvoButtonShape, EvoButtonSize, EvoButtonTheme, EvoButtonThemeParams} from '../../types';\nimport {EVO_BUTTON_THEMES_MAP} from '../../constants/evo-button-themes-map';\n\n@Component({\n selector: 'button[evoButton], a[evoButton]',\n templateUrl: './evo-button.component.html',\n styleUrls: ['./evo-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoButtonComponent {\n @Input() size: EvoButtonSize = 'normal';\n @Input() color: EvoButtonColor = 'success';\n\n /**\n * `theme` is a complex prop, that sets a number of inner parameters, described in `EvoButtonThemeParams`\n */\n @Input() set theme(value: EvoButtonTheme) {\n const selectedTheme: EvoButtonThemeParams =\n EVO_BUTTON_THEMES_MAP.get(value) ?? EVO_BUTTON_THEMES_MAP.get('rounded-solid');\n this.shape = selectedTheme.shape;\n this._isOutline = selectedTheme.isOutline;\n }\n\n @Input() set disabled(value: boolean) {\n this._isDisabled = value;\n\n if (!this.isLoading) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n @Input() set loading(value: boolean) {\n this._isLoading = value;\n\n if (!this._isDisabled) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n private shape: EvoButtonShape = 'rounded';\n private _isOutline = false;\n private _isDisabled = false;\n private _isLoading = false;\n\n constructor(private readonly elRef: ElementRef) {}\n\n get isLoading(): boolean {\n return this._isLoading;\n }\n\n get buttonClasses(): string[] {\n const classes: string[] = [];\n\n if (this.color) {\n classes.push(`color_${this.color}`);\n }\n\n if (this.shape) {\n classes.push(`shape_${this.shape}`);\n }\n\n if (this.size) {\n classes.push(`size_${this.size}`);\n }\n\n if (this._isOutline) {\n classes.push(`is-outline`);\n }\n\n if (this._isDisabled) {\n classes.push('is-disabled');\n }\n\n if (this.isLoading) {\n classes.push('is-loading');\n }\n\n return classes;\n }\n\n get buttonStyles(): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (this.isLoading) {\n result['visibility'] = 'hidden';\n }\n\n return result;\n }\n}\n","<div class=\"evo-button\" [evoUiClass]=\"buttonClasses\">\n <span class=\"evo-button__content\" [ngStyle]=\"buttonStyles\">\n <ng-content></ng-content>\n </span>\n <evo-circular-loader class=\"evo-button__loader\" *ngIf=\"isLoading\"></evo-circular-loader>\n</div>\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\n\n/**\n * @deprecated use EvoButtonComponent\n */\nexport enum EvoButtonSizes {\n small = 'small',\n large = 'large',\n}\n\n/**\n * @deprecated use EvoButtonColor with EvoButtonTheme\n */\nexport enum EvoButtonStyles {\n lined = 'lined',\n darkblue = 'darkblue',\n darkblueLined = 'darkblue-lined',\n green = 'green',\n greenlined = 'green-lined',\n purple = 'purple',\n red = 'red',\n}\n\n@Component({\n selector: 'evo-button, button[evo-button]',\n templateUrl: './evo-button-old.component.html',\n styleUrls: ['./evo-button-old.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n/**\n * @deprecated use EvoButtonComponent\n */\nexport class EvoButtonOldComponent {\n @Input() color: EvoButtonStyles;\n @Input() size: EvoButtonSizes;\n\n @Input() set disabled(value: boolean) {\n this._disabled = value;\n\n if (!this.loading) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n @Input() set loading(value: boolean) {\n this._loading = value;\n\n if (!this.disabled) {\n this.elRef.nativeElement.disabled = value;\n }\n }\n\n private _disabled = false;\n private _loading = false;\n\n constructor(private elRef: ElementRef) {}\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n get loading() {\n return this._loading;\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.size) {\n classes.push(this.size);\n }\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.loading) {\n classes.push('loading');\n }\n\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n get totalStyles(): {[styleKey: string]: any} {\n const result = {};\n\n if (this.loading) {\n result['visibility'] = 'hidden';\n }\n\n return result;\n }\n}\n","<div class=\"evo-button\" [evoUiClass]=\"totalClasses\">\n <span [ngStyle]=\"totalStyles\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"loading\" class=\"evo-button__dots\">\n <span class=\"evo-button__dot\"></span>\n <span class=\"evo-button__dot\"></span>\n <span class=\"evo-button__dot\"></span>\n </span>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\nexport enum EvoLoaderStyles {\n darkblue = 'darkblue',\n green = 'green',\n white = 'white',\n}\n\n@Component({\n selector: 'evo-loader',\n templateUrl: './evo-loader.component.html',\n styleUrls: ['./evo-loader.component.scss'],\n})\n/**\n * @deprecated use `EvoCircularLoaderComponent`\n */\nexport class EvoLoaderComponent implements OnInit {\n @Input() color: EvoLoaderStyles = EvoLoaderStyles.darkblue;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"evo-loader\" [evoUiClass]=\"color\">\n <span class=\"evo-loader__dot\"></span>\n <span class=\"evo-loader__dot\"></span>\n <span class=\"evo-loader__dot\"></span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoLoaderComponent } from './evo-loader.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoCircularLoaderComponent } from './evo-circular-loader.component';\n\nconst bundle = [\n EvoLoaderComponent,\n EvoCircularLoaderComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [...bundle],\n exports: [...bundle],\n})\nexport class EvoLoaderModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {EvoButtonComponent} from './components/evo-button/evo-button.component';\nimport {EvoButtonOldComponent} from './components/evo-button-old/evo-button-old.component';\nimport {EvoLoaderModule} from '../evo-loader';\n\n@NgModule({\n imports: [CommonModule, EvoUiKitModule, EvoLoaderModule],\n declarations: [EvoButtonComponent, EvoButtonOldComponent],\n exports: [EvoButtonComponent, EvoButtonOldComponent],\n})\nexport class EvoButtonModule {}\n","import { AfterViewInit, Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\n\nexport enum EvoChipType {\n radio = 'radio', // default\n checkbox = 'checkbox',\n label = 'label',\n}\n\nexport enum EvoChipTheme {\n grey = 'grey', // default\n white = 'white',\n}\n\n@Component({\n selector: 'evo-chip',\n templateUrl: 'evo-chip.component.html',\n styleUrls: [\n 'evo-chip.component.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoChipComponent),\n multi: true,\n },\n ],\n})\nexport class EvoChipComponent extends EvoBaseControl implements ControlValueAccessor, OnInit, AfterViewInit {\n\n @Input() type: EvoChipType | string;\n @Input() theme: EvoChipTheme | string;\n @Input() counter: number;\n @Input() disabled: boolean;\n @Input() name: string;\n @Input() closable: boolean;\n @Input() closeTitle = '';\n\n @Input('value') set setInitialValue(value: any) {\n this.inheritedValue = value;\n }\n\n @Output() close = new EventEmitter<Event>();\n\n inheritedValue: any;\n\n templateVariables = {\n chipTypes: EvoChipType,\n chipThemes: EvoChipTheme,\n };\n\n private _value: any;\n\n get classes(): string[] {\n const states = {\n 'touched': this.control?.touched,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n 'disabled': this.control?.disabled,\n };\n\n const result = Object.keys(states)\n .filter((key: string) => states[key]);\n\n result.push(`theme-${ this.theme || EvoChipTheme.grey }`);\n\n result.push(`type-${ this.type }`);\n\n return result;\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this.onChange(value);\n this.onTouched();\n }\n\n ngOnInit(): void {\n this.initDefaultParams();\n }\n\n ngAfterViewInit() {\n if (this.control) {\n this.control.valueChanges.subscribe(() => {\n this.writeValue(this.control.value);\n });\n }\n }\n\n writeValue(value: any): void {\n this._value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onInputChange(value): void {\n this.value = value;\n }\n\n onCloseClick(e: Event): void {\n this.close.emit(e);\n }\n\n private initDefaultParams(): void {\n if (!this.type) {\n this.type = EvoChipType.radio;\n }\n if (!this.theme) {\n this.theme = EvoChipTheme.grey;\n }\n }\n\n private onChange(value): void {\n }\n\n private onTouched(): void {\n }\n}\n","<label class=\"chip\" [evoUiClass]=\"classes\">\n <ng-container [ngSwitch]=\"type\">\n <input\n *ngSwitchCase=\"templateVariables?.chipTypes.checkbox\"\n type=\"checkbox\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n [value]=\"inheritedValue\"\n (ngModelChange)=\"onInputChange($event)\"\n [name]=\"name\"\n />\n <input\n *ngSwitchCase=\"templateVariables?.chipTypes.radio\"\n type=\"radio\"\n [disabled]=\"disabled\"\n [ngModel]=\"value\"\n [value]=\"inheritedValue\"\n (ngModelChange)=\"onInputChange($event)\"\n [name]=\"name\"\n />\n </ng-container>\n <div\n class=\"chip__label\"\n [evoUiClass]=\"{'disabled': disabled}\"\n >\n <span class=\"chip__text\">\n <ng-content></ng-content>\n </span>\n <div\n class=\"chip__counter\"\n *ngIf=\"(type !== templateVariables?.chipTypes.label || !closable) && counter !== undefined\"\n >\n <span class=\"chip__counter-value\">\n {{ counter }}\n </span>\n </div>\n <button\n class=\"chip__close\"\n *ngIf=\"closable\"\n [disabled]=\"disabled\"\n [title]=\"closeTitle\"\n (click)=\"onCloseClick($event)\"\n type=\"button\"\n >\n <evo-icon shape=\"decline\"></evo-icon>\n </button>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoChipComponent } from './evo-chip.component';\nimport { FormsModule } from '@angular/forms';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconDecline } from '@evotor-dev/ui-kit/icons/system';\n\n@NgModule({\n declarations: [EvoChipComponent],\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([{\n name: 'system',\n shapes: {\n 'decline': iconDecline,\n }\n }]),\n ],\n exports: [EvoChipComponent],\n})\nexport class EvoChipModule {\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'evo-control-label',\n templateUrl: './evo-control-label.component.html',\n styleUrls: ['./evo-control-label.component.scss'],\n})\nexport class EvoControlLabelComponent {\n @Input() label: string | TemplateRef<any>;\n @Input() context: Object | null;\n\n get isStringLabel(): boolean {\n return typeof this.label === 'string';\n }\n}\n","<div class=\"evo-control-label\">\n <label class=\"evo-control-label__text\">\n <ng-container *ngIf=\"isStringLabel; else templatedLabel\">{{ label || ' ' }}</ng-container>\n </label>\n <div class=\"evo-control-label__content\">\n <ng-content></ng-content>\n </div>\n</div>\n<ng-template #templatedLabel>\n <ng-container [ngTemplateOutlet]=\"label\" [ngTemplateOutletContext]=\"context\"></ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoControlLabelComponent } from './evo-control-label.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ EvoControlLabelComponent ],\n exports: [ EvoControlLabelComponent ],\n})\nexport class EvoControlLabelModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport enum EvoCounterSize {\n small = 'small',\n normal = 'normal',\n}\n\n@Component({\n selector: 'evo-counter',\n templateUrl: './evo-counter.component.html',\n styleUrls: ['./evo-counter.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoCounterComponent {\n\n @Input() value: number;\n @Input() disabled: boolean;\n\n size: EvoCounterSize = EvoCounterSize.normal;\n\n @Input('size') set setSize(size: EvoCounterSize | string) {\n if (EvoCounterSize[size]) {\n this.size = EvoCounterSize[size];\n }\n }\n\n get blockClasses(): { [cssClass: string]: boolean } {\n return {\n 'disabled': this.disabled,\n [`size-${this.size}`]: this.size !== EvoCounterSize.normal\n };\n }\n\n}\n","<div class=\"evo-counter\" [evoUiClass]=\"blockClasses\">\n <span class=\"evo-counter__value\">{{value}}</span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoCounterComponent } from './evo-counter.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule\n ],\n declarations: [\n EvoCounterComponent\n ],\n exports: [\n EvoCounterComponent\n ]\n})\nexport class EvoCounterModule {\n}\n","export const cssClasses = {\n DESCRIPTION: 'evo-datepicker__description',\n INPUT: 'evo-datepicker__input',\n TIME_PICKER: 'evo-datepicker__time-picker',\n TIME_LABEL: 'evo-datepicker__time-label',\n TIME_LABEL_FROM: 'evo-datepicker__time-label_from',\n TIME_LABEL_UNTIL: 'evo-datepicker__time-label_until',\n SELECTORS: 'evo-datepicker__selectors',\n SELECT: 'evo-datepicker__select',\n SELECTOR_HOUR: 'evo-datepicker__select_hour',\n SELECTOR_MINUTE: 'evo-datepicker__select_minute',\n SELECT_WRAPPER: 'evo-datepicker__select-wrapper',\n APPLY: 'evo-datepicker__apply',\n SELECT_FIELD: 'evo-datepicker__select-field'\n};\n\n export const renderRangeTime = (classes) => {\n const template = `\n <div class=\"${classes.TIME_PICKER}\">\n <label class=\"${classes.TIME_LABEL} ${classes.TIME_LABEL_FROM}\"></label>\n <div class=\"${classes.SELECTORS}\">\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">00</div>\n <select value class=\"${classes.SELECT} ${classes.SELECTOR_HOUR}\">\n <option selected>00</option>\n <option>01</option>\n <option>02</option>\n <option>03</option>\n <option>04</option>\n <option>05</option>\n <option>06</option>\n <option>07</option>\n <option>08</option>\n <option>09</option>\n <option>10</option>\n <option>11</option>\n <option>12</option>\n <option>13</option>\n <option>14</option>\n <option>15</option>\n <option>16</option>\n <option>17</option>\n <option>18</option>\n <option>19</option>\n <option>20</option>\n <option>21</option>\n <option>22</option>\n <option>23</option>\n </select>\n </label>\n <span>:</span>\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">00</div>\n <select class=\"${classes.SELECT} ${classes.SELECTOR_MINUTE}\">\n <option selected>00</option>\n <option>15</option>\n <option>30</option>\n <option>45</option>\n </select>\n </label>\n </div>\n </div>\n\n <div class=\"${classes.TIME_PICKER}\">\n <label class=\"${classes.TIME_LABEL} ${classes.TIME_LABEL_UNTIL}\"></label>\n\n <div class=\"${classes.SELECTORS}\">\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">23</div>\n <select value class=\"${classes.SELECT} ${classes.SELECTOR_HOUR}\">\n <option>00</option>\n <option>01</option>\n <option>02</option>\n <option>03</option>\n <option>04</option>\n <option>05</option>\n <option>06</option>\n <option>07</option>\n <option>08</option>\n <option>09</option>\n <option>10</option>\n <option>11</option>\n <option>12</option>\n <option>13</option>\n <option>14</option>\n <option>15</option>\n <option>16</option>\n <option>17</option>\n <option>18</option>\n <option>19</option>\n <option>20</option>\n <option>21</option>\n <option>22</option>\n <option selected>23</option>\n </select>\n </label>\n <span>:</span>\n <label class=\"${classes.SELECT_WRAPPER}\">\n <div class=\"${classes.SELECT_FIELD}\">59</div>\n <select class=\"${classes.SELECT} ${classes.SELECTOR_MINUTE}\">\n <option selected>00</option>\n <option>15</option>\n <option>30</option>\n <option>45</option>\n <option selected>59</option>\n </select>\n </label>\n </div>\n </div>\n\n <button class=\"${classes.APPLY}\"> Применить </button>\n `;\n return template;\n};\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FlatpickrOptions } from './flatpickr-options.interface';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { cssClasses, renderRangeTime } from './templates';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport flatpickr from 'flatpickr';\n\nexport * from './flatpickr-options.interface';\n\nenum DatepickerModes {\n RANGE = 'range',\n}\n\ninterface Option {\n disabled: boolean;\n value: string;\n}\n\ntype SelectedDates = string[] | Date[];\n\n@Component({\n selector: 'evo-datepicker',\n templateUrl: './evo-datepicker.component.html',\n styleUrls: ['./evo-datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoDatepickerComponent),\n multi: true,\n },\n ],\n})\nexport class EvoDatepickerComponent extends EvoBaseControl implements AfterViewInit, ControlValueAccessor, OnChanges, OnInit, OnDestroy {\n\n @ViewChild('flatpickr', {static: true})\n flatpickrElement: ElementRef;\n\n @Input()\n config: FlatpickrOptions;\n\n @Input()\n maskedInput: boolean;\n\n @Input() theme?: string;\n\n @Input() folded = false;\n\n @Input()\n placeholder = '';\n\n @Input()\n setDate: SelectedDates;\n\n @Input()\n description: string;\n\n @Input()\n maxRangeDays: number;\n\n @Input()\n appendToBody = true;\n\n @Output()\n closePicker = new EventEmitter<[Date, Date]>();\n\n disabled = false;\n\n uiState = {\n isOpen: false,\n isEmptyField: false,\n };\n\n elements: any = {};\n\n maskConfig: { mask: any, pattern?: string, max?: Date };\n\n private flatpickr: any;\n\n constructor(\n private zone: NgZone,\n private elementRef: ElementRef,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n onChange = (value) => {\n };\n onTouched = () => {\n };\n\n writeValue(value: SelectedDates) {\n this.updatePickerIfNeed(value);\n this.propagateChange(value);\n this.onChange(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n propagateChange = (_: any) => {\n }\n\n handleMaskComplete(value) {\n if (this.maskedInput) {\n const date = this.flatpickrElement.nativeElement._flatpickr.parseDate(value, this.config.dateFormat);\n this.setDateFromInput(date);\n }\n }\n\n setDateFromInput(date: SelectedDates) {\n this.flatpickrElement.nativeElement._flatpickr.setDate(date, true);\n }\n\n ngAfterViewInit() {\n const config = this.getConfig();\n\n this.zone.runOutsideAngular(() => {\n this.flatpickr = flatpickr(this.flatpickrElement.nativeElement, config);\n });\n\n if (this.setDate) {\n this.setDateFromInput(this.setDate);\n }\n this.customizePicker();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.hasOwnProperty('setDate') && changes['setDate'].currentValue) {\n this.setDateFromInput(changes['setDate'].currentValue);\n }\n }\n\n ngOnInit() {\n this.initMask();\n }\n\n ngOnDestroy() {\n this.flatpickr = null;\n this.flatpickrElement.nativeElement._flatpickr.destroy();\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n 'disabled': this.disabled,\n 'hidden': !this.isValueExist(),\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.theme) {\n classes.push(this.theme);\n }\n\n if (this.uiState.isOpen) {\n classes.push('opened');\n }\n\n if (this.folded) {\n classes.push('folded');\n }\n\n return classes;\n }\n\n initMask() {\n if (this.config.allowInput && this.maskedInput) {\n this.maskConfig = {\n pattern: this.config.dateFormat,\n max: this.config.maxDate as Date,\n mask: Date,\n };\n }\n }\n\n onDatepickerClick(event: MouseEvent) {\n if (this.config.allowInput &&\n (event.target as HTMLElement).classList.contains(cssClasses.INPUT) ||\n this.disabled\n ) {\n return;\n }\n\n this.toggleDatepicker();\n }\n\n toggleDatepicker(): void {\n this.flatpickr.toggle();\n }\n\n setDisabledState(state: boolean) {\n this.disabled = state;\n }\n\n isValueExist(): boolean {\n if (!this.flatpickr) {\n const defaultDate = this.config.defaultDate;\n\n return Array.isArray(defaultDate) ?\n (this.config.defaultDate as Date[]).length > 0 : !!defaultDate;\n } else {\n return this.flatpickr.selectedDates.length > 0;\n }\n }\n\n isRange(): boolean {\n return this.config.mode === DatepickerModes.RANGE;\n }\n\n shouldShowEmptyText(): boolean {\n return !this.isValueExist() && !this.config.altInput;\n }\n\n getDefaultFlatpickrOptions(): FlatpickrOptions {\n return {\n wrap: true,\n clickOpens: false,\n onChange: (selectedDates: Date[]) => {\n this.setEmptyFieldState(false);\n this.setRangeConstraints(selectedDates);\n this.setTimeConstraints(selectedDates);\n this.updateLabelValues(selectedDates);\n\n this.writeValue(selectedDates);\n },\n onClose: (selectedDates: [Date, Date]) => {\n this.handleSingleSelectedValueInRange(selectedDates);\n this.setEmptyFieldStateIfNeed();\n this.resetConstraints();\n this.setOpenedState(false);\n this.closePicker.emit(selectedDates);\n },\n onOpen: () => {\n this.setOpenedState(true);\n this.resetTimeAfterOpen();\n this.updateLabelValues(this.flatpickr.selectedDates);\n this.onTouched();\n },\n ...(!this.appendToBody && {appendTo: this.elementRef.nativeElement}),\n };\n }\n\n getConfig() {\n return {\n ...this.getDefaultFlatpickrOptions(),\n ...(this.config || {}),\n };\n }\n\n /**\n * Customization of the flatpickr's view to ui-kit state\n */\n private customizePicker(): void {\n this.changeNextIcon();\n this.addDescriptionIfNeed();\n this.addTimeSelectors();\n }\n\n /**\n * Sets new state of the picker openness\n * @param state new state\n */\n private setOpenedState(state: boolean): void {\n this.uiState.isOpen = state;\n }\n\n private setEmptyFieldState(state: boolean): void {\n this.uiState.isEmptyField = state;\n }\n\n private addTimeSelectors() {\n if (this.isRangeWithTime()) {\n const timeWrapper = document.createElement('div');\n timeWrapper.innerHTML = renderRangeTime(cssClasses);\n this.saveTimeRangeElements(timeWrapper);\n this.addListenersOnTimeSelectors();\n this.elements.apply.onclick = this.onApply.bind(this);\n\n this.flatpickr.rContainer.appendChild(timeWrapper);\n }\n }\n\n private saveTimeRangeElements(timeWrapper: HTMLElement) {\n this.elements = {\n apply: timeWrapper.getElementsByClassName(cssClasses.APPLY)[0],\n from: {\n hour: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_HOUR)[0],\n minute: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_MINUTE)[0],\n label: timeWrapper.getElementsByClassName(cssClasses.TIME_LABEL_FROM)[0],\n },\n until: {\n hour: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_HOUR)[1],\n minute: timeWrapper.getElementsByClassName(cssClasses.SELECTOR_MINUTE)[1],\n label: timeWrapper.getElementsByClassName(cssClasses.TIME_LABEL_UNTIL)[0],\n }\n };\n\n this.elements.from.hourField = this.elements.from.hour.previousElementSibling;\n this.elements.from.minuteField = this.elements.from.minute.previousElementSibling;\n\n this.elements.until.hourField = this.elements.until.hour.previousElementSibling;\n this.elements.until.minuteField = this.elements.until.minute.previousElementSibling;\n }\n\n private onApply() {\n this.setTime();\n this.flatpickr.close();\n }\n\n private setTime() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n const selectedDates = cloneDeep(this.flatpickr.selectedDates);\n\n selectedDates[0].setHours(fromHour, fromMinute);\n\n if (selectedDates[1]) {\n selectedDates[1].setHours(untilHour, untilMinute);\n }\n\n this.setDateFromInput(selectedDates);\n }\n\n private updateLabelValues(selectedDates: Date[]) {\n if (!selectedDates || !selectedDates[0] || !selectedDates[1]) {\n return;\n }\n if (this.isRangeWithTime()) {\n this.elements.from.label.innerText = `Период с ${this.flatpickr.formatDate(selectedDates[0], 'D d.m.Y')}`;\n\n if (selectedDates[1]) {\n this.elements.until.label.innerText = `по ${this.flatpickr.formatDate(selectedDates[1], 'D d.m.Y')}`;\n }\n }\n }\n\n private setTimeConstraints(selectedDates: Date[]) {\n if (this.isRangeWithTime()) {\n if (this.isSameDate(selectedDates[0], selectedDates[1])) {\n this.resetTimeIfNeed();\n this.setUntilTimeConstraint(selectedDates);\n } else {\n this.resetAllConstraints();\n }\n }\n }\n\n private resetAllConstraints() {\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n\n private addListenersOnTimeSelectors() {\n this.elements.from.hour.onchange = this.onChangeTimeFrom.bind(this);\n this.elements.from.minute.onchange = this.onChangeTimeFrom.bind(this);\n\n this.elements.until.hour.onchange = this.onChangeTimeUntil.bind(this);\n this.elements.until.minute.onchange = this.onChangeTimeUntil.bind(this);\n }\n\n private onChangeTimeFrom(event: Event) {\n if (this.isSameDate(this.flatpickr.selectedDates[0], this.flatpickr.selectedDates[1])) {\n this.disableTimeUntilSelectors();\n }\n this.updateTimeFieldsContent();\n }\n\n private handleSingleSelectedValueInRange(selectedDates: [Date, Date]) {\n if (this.isRange() && !selectedDates[1]) {\n const untilDate = new Date(selectedDates[0]);\n untilDate.setHours(23, 59, 0, 0);\n\n const updatedDates = [selectedDates[0], untilDate];\n this.writeValue(updatedDates);\n }\n }\n\n private onChangeTimeUntil(event: Event) {\n if (this.isSameDate(this.flatpickr.selectedDates[0], this.flatpickr.selectedDates[1])) {\n this.disableTimeFromSelectors();\n }\n this.updateTimeFieldsContent();\n\n }\n\n private updateTimeFieldsContent() {\n const {fromHour, fromMinute, untilHour, untilMinute} = this.getSelectorVaulesAsString();\n\n this.elements.from.hourField.innerText = fromHour;\n this.elements.from.minuteField.innerText = fromMinute;\n\n this.elements.until.hourField.innerText = untilHour;\n this.elements.until.minuteField.innerText = untilMinute;\n }\n\n private disableTimeUntilSelectors() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromHour;\n });\n\n if (fromHour === untilHour) {\n if (fromMinute > untilMinute) {\n this.elements.until.minute.selectedIndex = 4;\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n\n private disableTimeFromSelectors() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilHour;\n });\n\n if (fromHour === untilHour) {\n if (fromMinute > untilMinute) {\n this.elements.until.minute.selectedIndex = 4;\n }\n const {untilMinute: untilMinuteAfterUpdate} = this.getSelectedUntil();\n\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilMinuteAfterUpdate;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n\n private setUntilTimeConstraint(selectedDates: Date[]) {\n this.disableTimeUntilSelectors();\n }\n\n private resetTimeIfNeed() {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n if ((fromHour > untilHour) || (fromHour === untilHour && fromMinute > untilMinute)) {\n this.resetTime();\n }\n }\n\n private resetTime() {\n this.elements.from.hour.selectedIndex = 0;\n this.elements.from.minute.selectedIndex = 0;\n\n this.elements.until.hour.selectedIndex = 23;\n this.elements.until.minute.selectedIndex = 4;\n\n this.updateTimeFieldsContent();\n }\n\n private getSelectorVaulesAsString(): { fromHour: string, fromMinute: string, untilHour: string, untilMinute: string } {\n return {\n fromHour: this.elements.from.hour.options[this.elements.from.hour.selectedIndex].value,\n fromMinute: this.elements.from.minute.options[this.elements.from.minute.selectedIndex].value,\n untilHour: this.elements.until.hour.options[this.elements.until.hour.selectedIndex].value,\n untilMinute: this.elements.until.minute.options[this.elements.until.minute.selectedIndex].value,\n };\n }\n\n private getSelectedFrom(): { fromHour: number, fromMinute: number } {\n return {\n fromHour: Number(this.elements.from.hour.options[this.elements.from.hour.selectedIndex].value),\n fromMinute: Number(this.elements.from.minute.options[this.elements.from.minute.selectedIndex].value),\n };\n }\n\n private getSelectedUntil(): { untilHour: number, untilMinute: number } {\n return {\n untilHour: Number(this.elements.until.hour.options[this.elements.until.hour.selectedIndex].value),\n untilMinute: Number(this.elements.until.minute.options[this.elements.until.minute.selectedIndex].value),\n };\n }\n\n private setRangeConstraints(selectedDates: Date[]) {\n if (this.isRange() && this.maxRangeDays) {\n if (selectedDates.length === 1) {\n const minDate = new Date(selectedDates[0]);\n const maxDate = new Date(selectedDates[0]);\n\n minDate.setDate(minDate.getDate() - this.maxRangeDays);\n maxDate.setDate(maxDate.getDate() + this.maxRangeDays);\n\n this.flatpickr.config.minDate = minDate;\n this.flatpickr.config.maxDate = maxDate;\n } else {\n this.resetConstraints();\n }\n }\n }\n\n private resetConstraints() {\n this.flatpickr.config.minDate = this.config.minDate;\n this.flatpickr.config.maxDate = this.config.maxDate;\n }\n\n private isRangeWithTime(): boolean {\n return this.isRange() && this.config.enableTime;\n }\n\n private setEmptyFieldStateIfNeed(): void {\n if (this.isRange() && this.flatpickr.selectedDates.length !== 2) {\n this.setEmptyFieldState(true);\n }\n }\n\n private updatePickerIfNeed(value: SelectedDates): void {\n if (this.flatpickr) {\n const selectedDates = this.getSelectedDatesWithDatePickerFormat(this.flatpickr.selectedDates);\n const values = this.getSelectedDatesWithDatePickerFormat(value);\n\n if (!isEqual(values, selectedDates)) {\n this.setDateFromInput(value);\n }\n }\n }\n\n private getSelectedDatesWithDatePickerFormat(dateRange: SelectedDates): string[] {\n if (dateRange && dateRange.length && typeof (dateRange[0]) !== 'string') {\n return (dateRange as Date[]).map((date) => this.toDatePickerFormat(date));\n }\n\n return dateRange as string[];\n }\n\n private toDatePickerFormat(date?: Date): string {\n if (!date) {\n return '';\n }\n\n return `${date.getDate()}.${date.getMonth() + 1}.${date.getFullYear()}`;\n }\n\n /**\n * Substitution of icons\n */\n private changeNextIcon(): void {\n const Icons = {\n PREV: `\n <svg height=\"16\" viewBox=\"0 0 6 16\" width=\"6\" xmlns=\"http://www.w3.org/2000/svg\">\n <path _ngcontent-c0=\"\" d=\"M6 0L0 8L6 16V0Z\" fill=\"white\" transform=\"translate(6 16) rotate(180)\"></path>\n </svg>`,\n NEXT: `\n <svg height=\"16\" viewBox=\"0 0 6 16\" width=\"6\" xmlns=\"http://www.w3.org/2000/svg\">\n <path _ngcontent-c0=\"\" d=\"M6 0L0 8L6 16V0Z\" fill=\"white\"></path>\n </svg>`,\n };\n\n this.flatpickr.nextMonthNav.innerHTML = Icons.PREV;\n this.flatpickr.prevMonthNav.innerHTML = Icons.NEXT;\n }\n\n private addDescriptionIfNeed() {\n if (this.description) {\n const descriptionElement = document.createElement('p');\n descriptionElement.className = cssClasses.DESCRIPTION;\n descriptionElement.innerHTML = this.description;\n\n this.flatpickr.rContainer.appendChild(descriptionElement);\n }\n }\n\n private isSameDate(firstDate: Date, secondDate: Date): boolean {\n return firstDate && secondDate && firstDate.getDate() === secondDate.getDate() &&\n firstDate.getMonth() === secondDate.getMonth() &&\n firstDate.getFullYear() === secondDate.getFullYear();\n }\n\n private getSelectedIndexByMinutes(minutes: number): number {\n return Math.round(minutes / 5) * 5 / 15;\n }\n\n private resetTimeAfterOpen() {\n if (this.isRangeWithTime()) {\n const selectedDates = this.flatpickr.selectedDates;\n if (selectedDates[0] && selectedDates[1]) {\n this.elements.from.hour.selectedIndex = selectedDates[0].getHours();\n this.elements.from.minute.selectedIndex = this.getSelectedIndexByMinutes(selectedDates[0].getMinutes());\n\n this.elements.until.hour.selectedIndex = selectedDates[1].getHours();\n this.elements.until.minute.selectedIndex = this.getSelectedIndexByMinutes(selectedDates[1].getMinutes());\n this.addConstraintsAfterOpen(selectedDates);\n this.updateTimeFieldsContent();\n }\n }\n }\n\n private addConstraintsAfterOpen(selectedDates: [Date, Date]) {\n if (this.isSameDate(selectedDates[0], selectedDates[1])) {\n const {fromHour, fromMinute} = this.getSelectedFrom();\n const {untilHour, untilMinute} = this.getSelectedUntil();\n\n Array.from(this.elements.from.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilHour;\n });\n\n Array.from(this.elements.until.hour.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromHour;\n });\n\n if (fromHour === untilHour) {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) > untilMinute;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = Number(option.value) < fromMinute;\n });\n } else {\n Array.from(this.elements.from.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n\n Array.from(this.elements.until.minute.options).forEach((option: Option) => {\n option.disabled = false;\n });\n }\n }\n }\n}\n","<div #flatpickr class=\"evo-datepicker\" [evoUiClass]=\"totalClasses\" (click)=\"onDatepickerClick($event)\">\n <input\n #input\n type=\"text\"\n data-input\n class=\"evo-datepicker__input\"\n [evoUiClass]=\"inputClass\"\n [imask]=\"maskConfig\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n (complete)=\"handleMaskComplete($event)\"\n />\n\n <span *ngIf=\"isRange() && input.value\" class=\"evo-datepicker__value\">{{input.value}}</span>\n\n <span *ngIf=\"shouldShowEmptyText()\" class=\"evo-datepicker__empty-text\">{{isRange() ? 'За период': 'Дата'}}</span>\n\n <span *ngIf=\"!disabled\" class=\"evo-datepicker__opener\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M20 3H19V2C19 1.45 18.55 1 18 1C17.45 1 17 1.45 17 2V3H7V2C7 1.45 6.55 1 6 1C5.45 1 5 1.45 5 2V3H4C2.9 3 2 3.9 2 5V21C2 22.1 2.9 23 4 23H20C21.1 23 22 22.1 22 21V5C22 3.9 21.1 3 20 3ZM19 21H5C4.45 21 4 20.55 4 20V8H20V20C20 20.55 19.55 21 19 21Z\"\n />\n </svg>\n </span>\n <span *ngIf=\"!uiState.isEmptyField\" class=\"evo-datepicker__opener-triangle\"></span>\n</div>\n\n<evo-control-error *ngIf=\"showErrors\" [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoDatepickerComponent } from './evo-datepicker.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { IMaskModule } from 'angular-imask';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n IMaskModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoDatepickerComponent ],\n exports: [ EvoDatepickerComponent ],\n})\nexport class EvoDatepickerModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { EvoIconButtonTheme } from './types/evo-icon-button-theme';\nimport { EvoIconButtonSize } from './types/evo-icon-button-size';\n\n// TODO: replace color to string literal type based on a `EvoColor` type\nexport enum EvoIconButtonColor {\n link = 'link',\n danger = 'danger',\n success = 'success',\n}\n\nconst wrapperSelector = 'evo-icon-button';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[evo-icon-button], a[evo-icon-button]',\n templateUrl: './evo-icon-button.component.html',\n styleUrls: ['./evo-icon-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconButtonComponent implements OnInit, OnChanges {\n @Input() disabled: boolean;\n @Input() loading: boolean;\n @Input() color: EvoIconButtonColor | string = EvoIconButtonColor.link;\n /**\n * @deprecated instead of rectangle theme use `EvoNavigationButtonComponent`\n */\n @Input() theme: EvoIconButtonTheme = 'default';\n @Input() size: EvoIconButtonSize;\n\n classes: string[] = [];\n\n @HostBinding('disabled') get isDisabled(): boolean {\n return this.disabled || this.loading;\n }\n\n ngOnInit(): void {\n this.updateClassesList();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color !== undefined || changes.theme !== undefined) {\n this.updateClassesList();\n }\n }\n\n private updateClassesList(): void {\n this.classes = [];\n if (this.size) {\n this.classes.push(`${wrapperSelector}_size-${this.size}`);\n }\n if (this.color && EvoIconButtonColor[this.color]) {\n this.classes.push(`${wrapperSelector}_color-${EvoIconButtonColor[this.color]}`);\n }\n if (this.theme) {\n this.classes.push(`${wrapperSelector}_theme-${this.theme}`);\n }\n }\n}\n","<div class=\"evo-icon-button\" [ngClass]=\"classes\">\n <div *ngIf=\"!loading else spinner\" class=\"evo-icon-button__icon-wrapper\">\n <ng-content select=\"evo-icon\"></ng-content>\n </div>\n <span class=\"evo-icon-button__label\"><ng-content></ng-content></span>\n</div>\n\n<ng-template #spinner>\n <span class=\"evo-icon-button__loading-spinner\"></span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { EvoIconButtonComponent } from './evo-icon-button.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EvoIconButtonComponent,\n ],\n exports: [\n EvoIconButtonComponent,\n ]\n})\nexport class EvoIconButtonModule {\n}\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'evo-icon-number',\n templateUrl: './evo-icon-number.component.html',\n styleUrls: ['./evo-icon-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoIconNumberComponent {\n @Input() number: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n}\n","<svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"evo-icon-number\">\n <circle class=\"evo-icon-number__shadow\" cx=\"28\" cy=\"28\" r=\"18\" />\n <circle class=\"evo-icon-number__background\" cx=\"24\" cy=\"24\" r=\"18\" />\n <path class=\"evo-icon-number__border\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 7C21.5785 7 19.2778 7.50567 17.1955 8.41623C16.6895 8.63751 16.0999 8.40668 15.8786 7.90066C15.6574 7.39464 15.8882 6.80505 16.3942 6.58377C18.7244 5.56481 21.2976 5 24 5C34.4934 5 43 13.5066 43 24C43 34.4934 34.4934 43 24 43C13.5066 43 5 34.4934 5 24C5 20.7567 5.81344 17.7005 7.24826 15.0271C7.50943 14.5405 8.11565 14.3577 8.60228 14.6189C9.0889 14.8801 9.27167 15.4863 9.01049 15.9729C7.72792 18.3626 7 21.0948 7 24C7 33.3888 14.6112 41 24 41C33.3888 41 41 33.3888 41 24C41 14.6112 33.3888 7 24 7Z\" />\n <ng-container [ngSwitch]=\"number\">\n <path *ngSwitchCase=\"1\" d=\"M24.5729 33C24.2529 33 23.9729 32.88 23.7329 32.64C23.4929 32.4 23.3729 32.112 23.3729 31.776V17.136L21.6209 17.88C21.3489 17.992 21.0929 18.048 20.8529 18.048C20.5009 18.048 20.2049 17.936 19.9649 17.712C19.7409 17.488 19.6289 17.2 19.6289 16.848C19.6289 16.592 19.6929 16.36 19.8209 16.152C19.9489 15.944 20.1489 15.792 20.4209 15.696L24.1649 14.352C24.2449 14.32 24.3249 14.296 24.4049 14.28C24.4849 14.264 24.5569 14.256 24.6209 14.256C24.9889 14.256 25.2769 14.376 25.4849 14.616C25.7089 14.84 25.8209 15.136 25.8209 15.504V31.776C25.8209 32.112 25.7009 32.4 25.4609 32.64C25.2209 32.88 24.9249 33 24.5729 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"2\" d=\"M19.7294 33C19.3774 33 19.0814 32.88 18.8414 32.64C18.6174 32.4 18.5054 32.112 18.5054 31.776C18.5054 31.424 18.6174 31.136 18.8414 30.912L25.6574 22.944C26.1374 22.384 26.5054 21.856 26.7614 21.36C27.0334 20.864 27.1694 20.392 27.1694 19.944C27.1694 18.904 26.8974 18.072 26.3534 17.448C25.8254 16.824 25.0974 16.512 24.1694 16.512C23.5614 16.512 23.0094 16.672 22.5134 16.992C22.0334 17.296 21.6494 17.712 21.3614 18.24C21.0894 18.752 20.9534 19.32 20.9534 19.944C20.9534 20.264 20.8334 20.544 20.5934 20.784C20.3694 21.024 20.0814 21.144 19.7294 21.144C19.3934 21.144 19.1054 21.024 18.8654 20.784C18.6254 20.544 18.5054 20.264 18.5054 19.944C18.5054 18.856 18.7534 17.888 19.2494 17.04C19.7454 16.176 20.4174 15.496 21.2654 15C22.1294 14.504 23.0974 14.256 24.1694 14.256C25.2574 14.256 26.2014 14.488 27.0014 14.952C27.8014 15.416 28.4174 16.072 28.8494 16.92C29.2974 17.768 29.5214 18.776 29.5214 19.944C29.5214 20.456 29.4094 20.976 29.1854 21.504C28.9774 22.032 28.7054 22.536 28.3694 23.016C28.0494 23.496 27.7214 23.928 27.3854 24.312L21.8894 30.552H28.6094C28.9614 30.552 29.2574 30.68 29.4974 30.936C29.7374 31.176 29.8574 31.456 29.8574 31.776C29.8574 32.112 29.7374 32.4 29.4974 32.64C29.2574 32.88 28.9614 33 28.6094 33H19.7294Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"3\" d=\"M24.3042 33C23.1042 33 22.0402 32.752 21.1122 32.256C20.1842 31.744 19.4562 31.056 18.9282 30.192C18.4002 29.312 18.1362 28.328 18.1362 27.24C18.1362 26.872 18.2402 26.576 18.4482 26.352C18.6722 26.112 18.9362 25.992 19.2402 25.992C19.5602 25.992 19.8242 26.112 20.0322 26.352C20.2402 26.576 20.3442 26.872 20.3442 27.24C20.3442 27.896 20.5122 28.504 20.8482 29.064C21.1842 29.608 21.6402 30.048 22.2162 30.384C22.7922 30.704 23.4402 30.864 24.1602 30.864C25.2162 30.864 26.0642 30.576 26.7042 30C27.3602 29.408 27.6882 28.584 27.6882 27.528C27.6882 26.856 27.5442 26.256 27.2562 25.728C26.9682 25.184 26.5762 24.752 26.0802 24.432C25.5842 24.112 25.0242 23.952 24.4002 23.952C24.0482 23.952 23.7522 23.832 23.5122 23.592C23.2882 23.352 23.1762 23.056 23.1762 22.704C23.1762 22.352 23.2882 22.064 23.5122 21.84C23.7522 21.6 24.0482 21.48 24.4002 21.48C24.8482 21.48 25.2802 21.368 25.6962 21.144C26.1122 20.904 26.4562 20.592 26.7282 20.208C27.0002 19.808 27.1362 19.36 27.1362 18.864C27.1362 18.16 26.8802 17.568 26.3682 17.088C25.8562 16.608 25.2002 16.368 24.4002 16.368C23.7922 16.368 23.2322 16.488 22.7202 16.728C22.2242 16.968 21.8242 17.288 21.5202 17.688C21.2322 18.088 21.0882 18.536 21.0882 19.032C21.0882 19.4 20.9842 19.712 20.7762 19.968C20.5682 20.208 20.3042 20.328 19.9842 20.328C19.6802 20.328 19.4162 20.216 19.1922 19.992C18.9842 19.752 18.8802 19.456 18.8802 19.104C18.8802 18.176 19.1202 17.344 19.6002 16.608C20.0802 15.872 20.7362 15.296 21.5682 14.88C22.4002 14.448 23.3282 14.232 24.3522 14.232C25.2962 14.232 26.1442 14.44 26.8962 14.856C27.6642 15.256 28.2642 15.808 28.6962 16.512C29.1442 17.2 29.3682 17.984 29.3682 18.864C29.3682 19.488 29.2242 20.04 28.9362 20.52C28.6642 21 28.3122 21.416 27.8802 21.768C27.4482 22.104 26.9922 22.384 26.5122 22.608C27.7762 23.04 28.6882 23.696 29.2482 24.576C29.8242 25.44 30.1122 26.432 30.1122 27.552C30.1122 28.592 29.8482 29.528 29.3202 30.36C28.7922 31.176 28.0882 31.824 27.2082 32.304C26.3282 32.768 25.3602 33 24.3042 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"4\" d=\"M26.5082 33C26.1882 33 25.9162 32.88 25.6922 32.64C25.4682 32.4 25.3562 32.112 25.3562 31.776V28.752H17.3642C16.9962 28.752 16.7082 28.64 16.5002 28.416C16.2922 28.192 16.1722 27.936 16.1402 27.648C16.1242 27.344 16.2042 27.072 16.3802 26.832L25.5722 14.784C25.7002 14.624 25.8442 14.496 26.0042 14.4C26.1802 14.304 26.3722 14.256 26.5802 14.256C26.9162 14.256 27.1882 14.376 27.3962 14.616C27.6042 14.856 27.7082 15.152 27.7082 15.504V26.544H29.1482C29.4842 26.544 29.7722 26.624 30.0122 26.784C30.2522 26.944 30.3722 27.232 30.3722 27.648C30.3722 27.952 30.2522 28.216 30.0122 28.44C29.7722 28.648 29.4842 28.752 29.1482 28.752H27.7082V31.776C27.7082 32.112 27.5962 32.4 27.3722 32.64C27.1482 32.88 26.8602 33 26.5082 33ZM25.3562 26.544V18.6L19.3082 26.544H25.3562Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"5\" d=\"M23.6092 33C22.4572 33 21.4172 32.736 20.4892 32.208C19.5772 31.664 18.8492 30.928 18.3052 30C17.7772 29.072 17.5132 28.032 17.5132 26.88C17.5132 26.528 17.6252 26.24 17.8492 26.016C18.0732 25.776 18.3612 25.656 18.7132 25.656C19.0652 25.656 19.3612 25.776 19.6012 26.016C19.8412 26.24 19.9612 26.528 19.9612 26.88C19.9612 27.568 20.1212 28.192 20.4412 28.752C20.7612 29.312 21.1932 29.752 21.7372 30.072C22.2972 30.392 22.9212 30.552 23.6092 30.552C24.3132 30.552 24.9372 30.392 25.4812 30.072C26.0412 29.752 26.4812 29.312 26.8012 28.752C27.1212 28.192 27.2812 27.568 27.2812 26.88C27.2812 26.176 27.1212 25.552 26.8012 25.008C26.4812 24.448 26.0412 24.008 25.4812 23.688C24.9372 23.368 24.3132 23.208 23.6092 23.208H19.6012C19.2492 23.208 18.9612 23.096 18.7372 22.872C18.5132 22.632 18.4012 22.336 18.4012 21.984V15.504C18.4012 15.152 18.5132 14.856 18.7372 14.616C18.9612 14.376 19.2492 14.256 19.6012 14.256H27.6172C27.9532 14.256 28.2412 14.384 28.4812 14.64C28.7212 14.88 28.8412 15.168 28.8412 15.504C28.8412 15.824 28.7212 16.104 28.4812 16.344C28.2572 16.584 27.9692 16.704 27.6172 16.704H20.8252V20.76H23.6092C24.7772 20.76 25.8172 21.032 26.7292 21.576C27.6572 22.104 28.3852 22.832 28.9132 23.76C29.4572 24.672 29.7292 25.712 29.7292 26.88C29.7292 28.032 29.4572 29.072 28.9132 30C28.3852 30.928 27.6572 31.664 26.7292 32.208C25.8172 32.736 24.7772 33 23.6092 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"6\" d=\"M23.7514 33C22.6474 33 21.6634 32.76 20.7994 32.28C19.9514 31.784 19.2874 31.112 18.8074 30.264C18.3274 29.4 18.0874 28.416 18.0874 27.312C18.0874 26.08 18.3914 24.992 18.9994 24.048L24.4474 14.952C24.7354 14.504 25.1034 14.28 25.5514 14.28C25.8874 14.28 26.1674 14.376 26.3914 14.568C26.6154 14.76 26.7514 15 26.7994 15.288C26.8634 15.576 26.8074 15.864 26.6314 16.152L23.3434 21.624C23.4714 21.608 23.6074 21.6 23.7514 21.6C24.8554 21.6 25.8314 21.848 26.6794 22.344C27.5274 22.824 28.1914 23.496 28.6714 24.36C29.1514 25.208 29.3914 26.192 29.3914 27.312C29.3914 28.416 29.1514 29.4 28.6714 30.264C28.1914 31.112 27.5274 31.784 26.6794 32.28C25.8314 32.76 24.8554 33 23.7514 33ZM23.7274 30.84C24.7194 30.84 25.5274 30.512 26.1514 29.856C26.7754 29.2 27.0874 28.352 27.0874 27.312C27.0874 26.272 26.7754 25.424 26.1514 24.768C25.5274 24.096 24.7194 23.76 23.7274 23.76C22.7514 23.76 21.9514 24.096 21.3274 24.768C20.7034 25.424 20.3914 26.272 20.3914 27.312C20.3914 28.352 20.7034 29.2 21.3274 29.856C21.9514 30.512 22.7514 30.84 23.7274 30.84Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"7\" d=\"M20.3694 33C20.0494 33 19.7694 32.88 19.5294 32.64C19.2894 32.4 19.1694 32.112 19.1694 31.776C19.1694 31.552 19.2414 31.296 19.3854 31.008L26.2734 16.704H18.9774C18.6254 16.704 18.3294 16.592 18.0894 16.368C17.8654 16.128 17.7534 15.832 17.7534 15.48C17.7534 15.128 17.8654 14.84 18.0894 14.616C18.3294 14.376 18.6254 14.256 18.9774 14.256H28.1214C28.4574 14.256 28.7454 14.376 28.9854 14.616C29.2254 14.856 29.3454 15.144 29.3454 15.48C29.3454 15.592 29.3294 15.704 29.2974 15.816C29.2654 15.912 29.2254 16.016 29.1774 16.128L21.4974 32.328C21.2414 32.776 20.8654 33 20.3694 33Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"8\" d=\"M23.5113 32.976C22.4553 32.976 21.5033 32.728 20.6553 32.232C19.8233 31.72 19.1673 31.032 18.6873 30.168C18.2073 29.288 17.9673 28.304 17.9673 27.216C17.9673 26.192 18.1993 25.272 18.6633 24.456C19.1273 23.624 19.7513 22.968 20.5353 22.488C19.9913 22.072 19.5593 21.56 19.2393 20.952C18.9193 20.328 18.7593 19.64 18.7593 18.888C18.7593 17.976 18.9673 17.168 19.3833 16.464C19.7993 15.744 20.3593 15.176 21.0633 14.76C21.7833 14.328 22.5993 14.112 23.5113 14.112C24.4233 14.096 25.2313 14.296 25.9353 14.712C26.6553 15.128 27.2233 15.696 27.6393 16.416C28.0553 17.136 28.2553 17.96 28.2393 18.888C28.2393 19.64 28.0793 20.328 27.7593 20.952C27.4393 21.56 27.0073 22.064 26.4633 22.464C27.2473 22.944 27.8713 23.6 28.3353 24.432C28.7993 25.264 29.0313 26.192 29.0313 27.216C29.0313 28.304 28.7833 29.288 28.2873 30.168C27.8073 31.032 27.1513 31.72 26.3193 32.232C25.4873 32.728 24.5513 32.976 23.5113 32.976ZM23.5113 21.432C24.1833 21.432 24.7353 21.176 25.1673 20.664C25.6153 20.152 25.8473 19.536 25.8633 18.816C25.8793 18.096 25.6633 17.504 25.2153 17.04C24.7673 16.576 24.1993 16.344 23.5113 16.344C22.8393 16.344 22.2793 16.576 21.8313 17.04C21.3833 17.504 21.1513 18.096 21.1353 18.816C21.1193 19.536 21.3353 20.152 21.7833 20.664C22.2473 21.176 22.8233 21.432 23.5113 21.432ZM23.5113 30.768C24.1033 30.768 24.6313 30.608 25.0953 30.288C25.5753 29.968 25.9513 29.544 26.2233 29.016C26.4953 28.472 26.6313 27.872 26.6313 27.216C26.6473 26.576 26.5193 26.008 26.2473 25.512C25.9753 25 25.5993 24.6 25.1193 24.312C24.6553 24.008 24.1193 23.856 23.5113 23.856C22.9193 23.856 22.3833 24.008 21.9033 24.312C21.4233 24.6 21.0473 25 20.7753 25.512C20.5033 26.008 20.3673 26.576 20.3673 27.216C20.3673 27.872 20.4953 28.472 20.7513 29.016C21.0233 29.544 21.3993 29.968 21.8793 30.288C22.3593 30.608 22.9033 30.768 23.5113 30.768Z\" class=\"evo-icon-number__number\" />\n <path *ngSwitchCase=\"9\" d=\"M24.2474 14.232C25.3514 14.232 26.3274 14.48 27.1754 14.976C28.0394 15.456 28.7114 16.128 29.1914 16.992C29.6714 17.84 29.9114 18.816 29.9114 19.92C29.9114 21.152 29.6074 22.24 28.9994 23.184L23.5514 32.28C23.2634 32.728 22.8954 32.952 22.4474 32.952C22.1114 32.952 21.8314 32.856 21.6074 32.664C21.3834 32.472 21.2394 32.232 21.1754 31.944C21.1274 31.656 21.1914 31.368 21.3674 31.08L24.6554 25.608C24.5274 25.624 24.3914 25.632 24.2474 25.632C23.1434 25.632 22.1674 25.392 21.3194 24.912C20.4714 24.416 19.8074 23.744 19.3274 22.896C18.8474 22.032 18.6074 21.04 18.6074 19.92C18.6074 18.816 18.8474 17.84 19.3274 16.992C19.8074 16.128 20.4714 15.456 21.3194 14.976C22.1674 14.48 23.1434 14.232 24.2474 14.232ZM24.2714 16.392C23.2794 16.392 22.4714 16.72 21.8474 17.376C21.2234 18.032 20.9114 18.88 20.9114 19.92C20.9114 20.96 21.2234 21.816 21.8474 22.488C22.4714 23.144 23.2794 23.472 24.2714 23.472C25.2474 23.472 26.0474 23.144 26.6714 22.488C27.2954 21.816 27.6074 20.96 27.6074 19.92C27.6074 18.88 27.2954 18.032 26.6714 17.376C26.0474 16.72 25.2474 16.392 24.2714 16.392Z\" class=\"evo-icon-number__number\" />\n </ng-container>\n</svg>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoIconNumberComponent} from './components/evo-icon-number/evo-icon-number.component';\n\n@NgModule({\n declarations: [EvoIconNumberComponent],\n imports: [CommonModule],\n exports: [EvoIconNumberComponent],\n})\nexport class EvoIconNumberModule {}\n","export function clearMultiline(value: string, isMultiline: boolean): string {\n if (typeof value === 'string') {\n value = isMultiline ? value : value?.replace(/\\n/g, '');\n }\n\n return value;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\nimport { clearMultiline } from './utils/clear-multiline';\n\n@Component({\n selector: 'evo-input-contenteditable',\n templateUrl: './evo-input-contenteditable.component.html',\n styleUrls: ['./evo-input-contenteditable.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoInputContenteditableComponent),\n multi: true,\n },\n {\n provide: EvoBaseControl,\n useExisting: forwardRef(() => EvoInputContenteditableComponent),\n multi: true,\n },\n ],\n})\nexport class EvoInputContenteditableComponent extends EvoBaseControl implements OnInit, ControlValueAccessor {\n\n static readonly STYLE_KEYCODES = [\n 66, // B b\n 73, // I i\n 85, // U u\n ];\n\n @ViewChild('contenteditable', {read: ElementRef, static: true}) readonly contenteditable: ElementRef;\n\n @Output() blur = new EventEmitter<FocusEvent>();\n\n @Input() multiline = true;\n @Input() placeholder: string;\n @Input() autoFocus: boolean;\n @Input() maxLines = 3;\n @Input() minLines = 0;\n\n @Input() private disabled = false;\n @Input() private preventStylingHotkeys = true;\n\n private onChange: Function;\n private onTouched: Function;\n private _isDisabled = false;\n\n\n constructor(\n private cd: ChangeDetectorRef,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n get isDisabled(): boolean {\n return this._isDisabled || this.disabled;\n }\n\n get inputClass(): { [cssClass: string]: boolean } {\n return {\n open: this.minLines > 0,\n single: !this.multiline,\n disabled: this._isDisabled,\n valid: this.currentState[EvoControlStates.valid],\n invalid: this.currentState[EvoControlStates.invalid],\n };\n }\n\n ngOnInit(): void {\n this.wrapSetValue();\n\n if (this.autoFocus) {\n this.focus();\n }\n }\n\n focus(): void {\n this.contenteditable.nativeElement.focus();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n writeValue(value: string): void {\n this.contenteditable.nativeElement.innerText = this.clearMultiline(value);\n }\n\n onBlur(event: FocusEvent): void {\n this.blur.emit(event);\n }\n\n /**\n * New line triggers changes in both modes\n * Handle this case here if you found this behaviour redundant\n */\n onInput(event: Event): void {\n if (this.onTouched) { this.onTouched(); }\n\n if (this.onChange) {\n const value = ((event as InputEvent).target as HTMLElement).innerText;\n this.onChange(this.clearMultiline(value));\n }\n }\n\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const content = event.clipboardData?.getData('text/plain');\n document.execCommand('insertText', false, this.clearMultiline(content));\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (\n this.preventStylingHotkeys &&\n (event.ctrlKey || event.metaKey) &&\n EvoInputContenteditableComponent.STYLE_KEYCODES.includes(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this.cd.detectChanges();\n }\n\n private clearMultiline(value: string): string {\n return clearMultiline(value, this.multiline);\n }\n\n private wrapSetValue() {\n const originalSetValue = this.control.setValue;\n\n this.control.setValue = (value: unknown, options?: Object) => {\n if (typeof value === 'string') {\n value = this.clearMultiline(value);\n }\n return originalSetValue.call(this.control, value, options);\n };\n }\n}\n","<div\n class=\"evo-contenteditable-input\"\n [evoUiClass]=\"inputClass\"\n [style.--evo-contenteditable-lines]=\"multiline ? maxLines : 0\"\n>\n\t<span\n #contenteditable\n class=\"evo-contenteditable-input__content\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n (paste)=\"onPaste($event)\"\n (dragover)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event)\"\n [evoUiClass]=\"{'open-lines': minLines > 0}\"\n [attr.contenteditable]=\"!isDisabled\"\n [attr.placeholder]=\"placeholder\"\n [style.--evo-contenteditable-min-lines]=\"multiline ? minLines : 0\"\n ></span>\n</div>\n<evo-control-error\n *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoInputContenteditableComponent } from './evo-input-contenteditable.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoControlErrorModule } from '../evo-control-error';\n\n@NgModule({\n declarations: [\n EvoInputContenteditableComponent,\n ],\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n exports: [\n EvoInputContenteditableComponent,\n ],\n})\nexport class EvoInputContenteditableModule {\n}\n","import { distinctUntilChanged, filter, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { isEqual } from 'lodash-es';\nimport { EvoSidebarState } from '../evo-sidebar';\n\nexport interface EvoModalState {\n id: string;\n isOpen: boolean;\n agreement?: boolean;\n params?: EvoModalParams;\n}\n\nexport interface EvoModalParams {\n [property: string]: any;\n}\n\n@Injectable()\nexport class EvoModalService {\n\n private modalEvents$ = new Subject<EvoModalState>();\n private registeredModals: {[modalId: string]: EvoModalState} = {};\n\n register(id: string) {\n this.registeredModals[id] = {id, isOpen: false};\n }\n\n unregister(id: string) {\n delete this.registeredModals[id];\n }\n\n open(id: string, params?: EvoModalParams) {\n this.modalEvents$.next({id, isOpen: true, params});\n }\n\n close(id: string, agreement: boolean, params?: EvoModalParams) {\n this.modalEvents$.next({id, isOpen: false, agreement, params});\n }\n\n getEventsSubscription(id: string): Observable<EvoModalState> {\n return this.modalEvents$.pipe(\n filter((data: EvoSidebarState) => data.id === id),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n tap((evoModalState: EvoModalState) => evoModalState[id]),\n );\n }\n}\n","import {Component, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EvoModalService, EvoModalState} from './evo-modal.service';\nimport {fromEvent, Observable, Subscription} from 'rxjs';\nimport {takeWhile} from 'rxjs/operators';\nimport {Key} from 'ts-keycode-enum';\nimport {EvoButtonColor, EvoButtonTheme} from '../evo-button';\n\nexport enum EvoModalCloseTargets {\n BACKGROUND = 'background',\n BUTTON = 'button',\n DEFAULT = 'default',\n ESC = 'escape',\n}\n\n@Component({\n selector: 'evo-modal',\n templateUrl: './evo-modal.component.html',\n styleUrls: ['./evo-modal.component.scss'],\n})\nexport class EvoModalComponent implements OnInit, OnDestroy {\n get id(): string {\n return this._id;\n }\n\n @Input() set id(id: string) {\n if (id) {\n this._id = id;\n this.modalService.register(id);\n } else {\n throw new Error(\"EvoModal. Can't be registered, wrong id passed\");\n }\n }\n\n @Input() titleText: string;\n @Input() acceptText: string;\n @Input() acceptButtonColor: EvoButtonColor;\n @Input() acceptButtonTheme: EvoButtonTheme;\n @Input() declineText: string;\n @Input() declineButtonColor: EvoButtonColor = 'secondary';\n @Input() declineButtonTheme: EvoButtonTheme = 'rounded-outline';\n @Input() asyncAccept: () => Observable<any>;\n\n modalState: EvoModalState;\n isAcceptLoading = false;\n isDeclineDisabled = false;\n isVisible = false;\n\n readonly closeTargets = EvoModalCloseTargets;\n private _id: string;\n private closeTarget: EvoModalCloseTargets = EvoModalCloseTargets.DEFAULT;\n\n constructor(private readonly modalService: EvoModalService, private readonly elRef: ElementRef) {}\n\n ngOnInit(): void {\n this.subscribeModalEvents();\n }\n\n ngOnDestroy(): void {\n this.modalService.unregister(this.id);\n }\n\n onBackgroundClick($event): void {\n if (\n this.declineText &&\n $event &&\n $event.target &&\n !this.elRef.nativeElement.querySelector('.evo-modal').contains($event.target) &&\n this.modalState.isOpen\n ) {\n this.handleOnClose(false, this.closeTargets.BACKGROUND);\n }\n }\n\n handleOnClose(agreement: boolean, closeTarget: EvoModalCloseTargets): Subscription {\n this.closeTarget = closeTarget;\n\n if (agreement === false && this.isDeclineDisabled) {\n return;\n }\n if (agreement && typeof this.asyncAccept === 'function') {\n const setAsyncStates = (isLoading = false) => {\n this.isDeclineDisabled = isLoading;\n this.isAcceptLoading = isLoading;\n };\n\n setAsyncStates(true);\n return this.asyncAccept().subscribe(\n () => {\n setAsyncStates(false);\n this.modalService.close(this.id, agreement, {\n closeTarget: this.closeTarget,\n });\n },\n () => {\n setAsyncStates(false);\n },\n );\n }\n this.modalService.close(this.id, agreement, {\n closeTarget: this.closeTarget,\n });\n }\n\n private subscribeModalEvents(): void {\n this.modalService.getEventsSubscription(this.id).subscribe((modalState: EvoModalState) => {\n this.modalState = modalState;\n // timeout for modal animation support\n setTimeout(() => {\n this.isVisible = modalState.isOpen;\n });\n if (modalState.isOpen) {\n this.initKeyboardListener();\n }\n });\n }\n\n private initKeyboardListener(): Subscription {\n return fromEvent(document.body, 'keydown')\n .pipe(\n takeWhile(() => {\n return this.modalState.isOpen;\n }),\n )\n .subscribe((event: KeyboardEvent) => {\n if (this.declineText && event.keyCode === Key.Escape) {\n this.handleOnClose(false, this.closeTargets.ESC);\n }\n });\n }\n}\n","<div\n *ngIf=\"modalState?.isOpen\"\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n></div>\n<div\n *ngIf=\"modalState?.isOpen\"\n class=\"evo-modal__wrapper\"\n [ngClass]=\"{'evo-modal_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n>\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"></ng-content>\n </div>\n <h2 *ngIf=\"titleText !== undefined\" class=\"evo-modal__title\">{{ titleText }}</h2>\n <div class=\"evo-modal__content\">\n <ng-content></ng-content>\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n <button\n *ngIf=\"declineText\"\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n <button\n *ngIf=\"acceptText\"\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoModalComponent } from './evo-modal.component';\nimport { EvoButtonModule } from '../evo-button/evo-button.module';\nimport { EvoModalService } from './evo-modal.service';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoButtonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoModalComponent],\n exports: [EvoModalComponent],\n providers: [EvoModalService]\n})\nexport class EvoModalModule {\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvoNoteType } from './types/evo-note-type';\n\n@Component({\n selector: 'evo-note',\n templateUrl: './evo-note.component.html',\n styleUrls: [ './evo-note.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNoteComponent {\n @Input() closable = false;\n @Input() iconSrc: string;\n @Input() type: EvoNoteType = 'success';\n\n @Output() close = new EventEmitter<MouseEvent>();\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.type) {\n classes.push('type-' + this.type);\n }\n\n if (this.closable) {\n classes.push('is-closable');\n }\n\n return classes;\n }\n\n onCloseClick(event: MouseEvent): void {\n this.close.emit(event);\n }\n}\n","<div class=\"evo-note\" [evoUiClass]=\"totalClasses\">\n <a *ngIf=\"closable\" class=\"evo-note__close\" (click)=\"$event.preventDefault(); onCloseClick($event)\">\n <evo-icon class=\"evo-note__close-icon\" shape=\"close\"></evo-icon>\n </a>\n <div class=\"evo-note__icon\" *ngIf=\"iconSrc\">\n <img [src]=\"iconSrc\" alt=\"\"/>\n </div>\n <div class=\"evo-note__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoNoteComponent } from './evo-note.component';\nimport { EvoIconModule } from '../evo-icon';\nimport { iconClose } from '@evotor-dev/ui-kit/icons/header';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'header',\n shapes: {\n close: iconClose,\n },\n },\n ]),\n ],\n declarations: [ EvoNoteComponent ],\n exports: [ EvoNoteComponent ],\n})\nexport class EvoNoteModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface PageEvent {\n currentPage: number;\n previousPage: number;\n pageSize: number;\n pagesTotal: number;\n}\n\nconst MIN_VISIBLE_PAGES_LIMIT = 5;\nconst DEFAULT_VISIBLE_PAGES_LIMIT = 7;\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Component({\n selector: 'evo-paginator',\n templateUrl: './evo-paginator.component.html',\n styleUrls: ['./evo-paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoPaginatorComponent {\n @Output() pageClick = new EventEmitter<PageEvent>();\n\n pagesTotal = 1;\n visiblePagesLimit = DEFAULT_VISIBLE_PAGES_LIMIT;\n pagesList = [1];\n private pageSize = DEFAULT_PAGE_SIZE;\n private itemsTotal = 0;\n private currentPage = 1; // starts with 1\n\n @Input('currentPage') set setCurrentPage(value: string | number) {\n this.currentPage = parseInt(value as string, 10) || 1;\n this.updatePagesList();\n }\n\n @Input('itemsTotal') set setItemsTotal(itemsTotal: number) {\n this.itemsTotal = itemsTotal > 0 ? itemsTotal : 0;\n this.updatePagesList();\n }\n\n @Input('pageSize') set setPageSize(pageSize: number) {\n this.pageSize = pageSize > 0 ? pageSize : 10;\n this.updatePagesList();\n }\n\n @Input('visiblePagesLimit') set setMaxVisiblePages(visiblePagesLimit: number) {\n if (!visiblePagesLimit) {\n return;\n }\n let valueToSet = visiblePagesLimit;\n if (visiblePagesLimit % 2 === 0 || visiblePagesLimit < MIN_VISIBLE_PAGES_LIMIT) {\n console.warn(`evo-paginator: visiblePagesLimit MUST be a positive odd number. Minimal value is ${MIN_VISIBLE_PAGES_LIMIT}.\n The Component will use default value (${DEFAULT_VISIBLE_PAGES_LIMIT}) instead of your value (${visiblePagesLimit})`);\n valueToSet = DEFAULT_VISIBLE_PAGES_LIMIT;\n }\n this.visiblePagesLimit = valueToSet;\n this.updatePagesList();\n }\n\n onPageClick(page: number): void {\n if (page === this.currentPage) {\n return;\n }\n\n const payload: PageEvent = {\n currentPage: page,\n previousPage: this.currentPage,\n pageSize: this.pageSize,\n pagesTotal: this.pagesTotal,\n };\n this.currentPage = page;\n this.pageClick.emit(payload);\n this.updatePagesList();\n }\n\n isActivePage(page: string | number): boolean {\n return parseInt(page as string, 10) === this.currentPage;\n }\n\n private updatePagesList(): void {\n this.pagesList = [];\n this.pagesTotal = Math.ceil(this.itemsTotal / this.pageSize) || 1;\n const allPages = [...new Array(this.pagesTotal)].map((_, i) => i + 1);\n const halfVisible = (this.visiblePagesLimit - 1) / 2;\n const pagesOnSides = (this.visiblePagesLimit - 2 - 1) / 2;\n\n const lastPageNumber = allPages.length;\n if (this.currentPage > this.pagesTotal) {\n return;\n }\n\n this.pagesList = allPages.filter((p, i) => {\n // is boundary value (always visible)\n if (p === 1 || p === lastPageNumber || p === this.currentPage) {\n return true;\n }\n // start non-shiftable items, for example, when currentPage === 3: [1 2 (3)] 4 5 6 9\n if (this.currentPage <= halfVisible) {\n return p < this.visiblePagesLimit;\n }\n\n // end non-shiftable items, for example, when currentPage === 8: 1 4 5 6 [7 (8) 9]\n // in example above it is 4\n if (this.currentPage >= lastPageNumber - halfVisible) {\n return lastPageNumber - this.visiblePagesLimit < i;\n }\n\n // siblings, for example, when currentPage === 5: 1 [3 4] (5) [6 7] 9\n return (\n (p < this.currentPage && this.currentPage - pagesOnSides <= p) ||\n (p > this.currentPage && p <= this.currentPage + pagesOnSides)\n );\n });\n }\n}\n","<div class=\"paginator-container\">\n <button\n *ngFor=\"let page of pagesList; index as i\"\n class=\"page\"\n [ngClass]=\"{\n page_active: isActivePage(page),\n page_min: i === 0 && pagesList[1] !== 2,\n page_max: (i === (pagesList.length - 1)) && ((page - 1) !== pagesList[pagesList.length - 2])\n }\"\n (click)=\"onPageClick(page)\"\n >\n {{ page }}\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPaginatorComponent } from './evo-paginator.component';\n\n@NgModule({\n declarations: [EvoPaginatorComponent],\n imports: [\n CommonModule,\n ],\n exports: [EvoPaginatorComponent]\n})\nexport class EvoPaginatorModule { }\n","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'evo-plus-minus',\n templateUrl: './evo-plus-minus.component.html',\n styleUrls: [ './evo-plus-minus.component.scss' ],\n})\nexport class EvoPlusMinusComponent implements OnInit {\n @Input() id: any;\n @Input() disabledMinus: boolean;\n @Input() disabledPlus: boolean;\n\n @Output() increase: EventEmitter<string> = new EventEmitter<string>();\n @Output() decrease: EventEmitter<string> = new EventEmitter<string>();\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","<div class=\"evo-plus-minus\">\n <button class=\"evo-plus-minus__button\" (click)=\"decrease.emit(id)\" [disabled]=\"disabledMinus\">\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M6,11.25 C5.58579,11.25 5.25,11.5858 5.25,12 C5.25,12.4142 5.58579,12.75 6,12.75 L18,12.75 C18.4142,12.75 18.75,12.4142 18.75,12 C18.75,11.5858 18.4142,11.25 18,11.25 L6,11.25 Z\" id=\"Path\"></path>\n </svg>\n </button>\n <button class=\"evo-plus-minus__button\" (click)=\"increase.emit(id)\" [disabled]=\"disabledPlus\">\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M12,18.75 C11.5858,18.75 11.25,18.4142 11.25,18 L11.25,12.75 L6,12.75 C5.58579,12.75 5.25,12.4142 5.25,12 C5.25,11.5858 5.58579,11.25 6,11.25 L11.25,11.25 L11.25,6 C11.25,5.58579 11.5858,5.25 12,5.25 C12.4142,5.25 12.75,5.58579 12.75,6 L12.75,11.25 L18,11.25 C18.4142,11.25 18.75,11.5858 18.75,12 C18.75,12.4142 18.4142,12.75 18,12.75 L12.75,12.75 L12.75,18 C12.75,18.4142 12.4142,18.75 12,18.75 Z\" id=\"Path\"></path>\n </svg>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPlusMinusComponent } from './evo-plus-minus.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ EvoPlusMinusComponent ],\n exports: [ EvoPlusMinusComponent ],\n})\nexport class EvoPlusMinusModule {}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {createPopper, Instance, Modifier, Placement, PositioningStrategy} from '@popperjs/core';\nimport {asyncScheduler, Subject} from 'rxjs';\nimport {observeOn, takeUntil, tap} from 'rxjs/operators';\n\nexport type EvoPopoverPosition = 'center' | Placement;\n\nexport interface EvoPopoverDelay {\n show?: number;\n hide?: number;\n}\n\nconst DEFAULT_DELAY = {\n show: 0,\n hide: 100,\n};\n\n@Component({\n selector: 'evo-popover',\n templateUrl: 'evo-popover.component.html',\n styleUrls: ['evo-popover.component.scss'],\n})\nexport class EvoPopoverComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n // TODO: This prop only for support old API. Remove later\n // tslint:disable-next-line\n @Input('media-tablet-position') mediaTabletPosition: 'right' | 'left' | 'center' = 'center';\n\n @Input('position') set position(position: EvoPopoverPosition) {\n this.placement = position === 'center' ? (this.positionMap[position] as Placement) : position;\n }\n\n @Input() show = false;\n @Input() modifiers: Partial<Modifier<any, any>>[] = [];\n @Input() strategy: PositioningStrategy = 'absolute';\n\n @Input('delay') set setDelay(value: any) {\n if (typeof value === 'number' && value >= 0) {\n this.delay = {\n show: value,\n hide: value,\n };\n return;\n }\n\n if (typeof value === 'object') {\n this.delay = {\n show: value.show >= 0 ? value.show : DEFAULT_DELAY.show,\n hide: value.hide >= 0 ? value.hide : DEFAULT_DELAY.hide,\n };\n return;\n }\n\n this.delay.show = DEFAULT_DELAY.show;\n this.delay.hide = DEFAULT_DELAY.hide;\n }\n\n @ViewChild('popover') el: ElementRef;\n @ViewChild('popoverWrap') popoverWrap: ElementRef;\n\n private popper: Instance;\n private placement: Placement = 'bottom';\n private delay: EvoPopoverDelay = {};\n private visibilityTimeout = null;\n // Old API Map\n private positionMap = {'center': 'bottom'};\n private update$ = new Subject<void>();\n private subscriptions$ = new Subject<void>();\n\n constructor(\n private zone: NgZone,\n ) {\n }\n\n ngAfterViewInit() {\n this.create();\n this.update$.pipe(\n observeOn(asyncScheduler),\n tap(() => {\n if (this.popper) {\n this.popper.update();\n }\n }),\n takeUntil(this.subscriptions$),\n ).subscribe();\n }\n\n ngOnDestroy() {\n this.destroy();\n this.subscriptions$.next();\n this.subscriptions$.complete();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const position = changes.position;\n if (position && !position.firstChange) {\n this.destroy();\n this.create();\n }\n }\n\n create() {\n this.zone.runOutsideAngular(() => {\n this.popper = createPopper(\n this.el.nativeElement,\n this.popoverWrap.nativeElement,\n {\n strategy: this.strategy,\n placement: this.placement,\n modifiers: this.modifiers,\n }\n );\n this.update$.next();\n });\n }\n\n destroy() {\n if (this.popper) {\n this.zone.runOutsideAngular(() => {\n this.popper.destroy();\n });\n\n this.popper = null;\n }\n }\n\n @HostListener('mouseenter')\n onEnter() {\n this.onMouseoverPopover();\n }\n\n @HostListener('touchend')\n onTouchEnd() {\n this.onMouseoverPopover();\n }\n\n @HostListener('mouseleave')\n onLeave() {\n this.onMouseleavePopover();\n }\n\n onClickOutside(): void {\n this.hidePopover();\n }\n\n showPopover(): void {\n this.popper.update();\n this.show = true;\n }\n\n hidePopover() {\n this.show = false;\n }\n\n private onMouseoverPopover() {\n this.togglePopover(true);\n }\n\n private onMouseleavePopover() {\n this.togglePopover(false);\n }\n\n private togglePopover(show: boolean = false) {\n const action = show ? 'show' : 'hide';\n const delayValue = this.delay && this.delay[action] > 0 ? this.delay[action] : 0;\n const toggle = () => {\n if (show) {\n this.showPopover();\n } else {\n this.hidePopover();\n }\n };\n if (this.visibilityTimeout) {\n clearTimeout(this.visibilityTimeout);\n }\n if (delayValue > 0) {\n this.visibilityTimeout = setTimeout(() => {\n toggle();\n }, delayValue);\n } else {\n toggle();\n }\n }\n\n}\n","<span class=\"evo-popover\" #popover evoClickOutside (evoClickOutside)=\"onClickOutside()\">\n <ng-content></ng-content>\n <div class=\"evo-popover__tip\" [evoUiClass]=\"{ 'visible': show }\" #popoverWrap>\n <div class=\"evo-popover__tip-inner\">\n <ng-content select=\"[popover-body]\"></ng-content>\n <div class=\"evo-popover__arrow\" data-popper-arrow>\n <div class=\"evo-popover__arrow-inner\"></div>\n </div>\n </div>\n </div>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPopoverComponent } from './evo-popover.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoPopoverComponent],\n exports: [EvoPopoverComponent],\n})\nexport class EvoPopoverModule {\n}\n","import { Injector, ViewContainerRef } from '@angular/core';\n\nexport class EvoPortalOutlet {\n\n constructor(\n public injector: Injector,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n}\n","// tslint:disable-next-line:max-line-length\nimport { ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector, TemplateRef, Type, ViewRef } from '@angular/core';\nimport { EvoPortalOutlet } from './evo-portal-outlet.class';\n\nexport type EvoPortalHostType = EvoPortalOutlet | HTMLElement | string;\n\nexport abstract class EvoAbstractPortal {\n\n abstract hasAttachedPortal(): boolean;\n\n abstract attach(\n host: EvoPortalHostType\n ): void;\n\n abstract detach(): void;\n}\n\n@Injectable()\nexport class EvoPortalService {\n\n constructor(\n protected appRef: ApplicationRef,\n protected injector: Injector,\n protected cfr: ComponentFactoryResolver,\n ) { }\n\n attachComponent<T = any>(\n portal: Type<T>,\n host: EvoPortalHostType,\n injector?: Injector,\n ): ComponentRef<T> {\n if (host instanceof EvoPortalOutlet) {\n return this.attachToHost<T>(\n portal,\n host,\n injector,\n );\n } else {\n return this.attachToDomElement<T>(\n portal,\n host,\n injector,\n );\n }\n }\n\n attachToDomElement<T = any>(\n portal: Type<T>,\n elementOrSelector: HTMLElement | string,\n injector?: Injector,\n ): ComponentRef<T> {\n\n let element: HTMLElement;\n\n if (\n this.isElementSelector(elementOrSelector)\n ) {\n element = document.querySelector(elementOrSelector as string);\n if (!element) {\n this.errNotFoundBySelector(elementOrSelector as string);\n }\n } else if (\n this.isHTMLElement(elementOrSelector)\n ) {\n element = elementOrSelector as HTMLElement;\n }\n\n const factory = this.cfr\n .resolveComponentFactory<T>(portal);\n\n const compRef = factory.create(\n injector || this.injector\n );\n\n this.appRef.attachView(compRef.hostView);\n\n element.appendChild(\n this.getRootNode(compRef)\n );\n\n return compRef;\n\n }\n\n attachToHost<T = any>(\n portal: Type<T>,\n portalHost: EvoPortalOutlet,\n injector?: Injector,\n ): ComponentRef<T> {\n\n const factory = this.cfr\n .resolveComponentFactory<T>(portal);\n\n return portalHost.viewContainerRef.createComponent<T>(\n factory,\n portalHost.viewContainerRef.length,\n injector || portalHost.injector,\n );\n }\n\n attachTemplate<T = any>(\n template: TemplateRef<T>,\n host: EvoPortalHostType,\n context?: T,\n ): EmbeddedViewRef<T> {\n\n if (host instanceof EvoPortalOutlet) {\n return host.viewContainerRef.createEmbeddedView(\n template,\n context,\n host.viewContainerRef.length,\n );\n } else if (\n this.isHTMLElement(host)\n ) {\n return this.attachTemplateToElement(\n template,\n host as HTMLElement,\n context,\n );\n } else {\n const hostEl: HTMLElement = document.querySelector(host as string);\n if (!hostEl) {\n this.errNotFoundBySelector(host as string);\n return;\n }\n return this.attachTemplateToElement(\n template,\n hostEl,\n context,\n );\n }\n }\n\n detach<T = any>(\n portal: ComponentRef<T> | EmbeddedViewRef<T> | ViewRef,\n ) {\n portal.destroy();\n }\n\n protected attachTemplateToElement<T>(\n template: TemplateRef<T>,\n element: HTMLElement,\n context?: T,\n ): EmbeddedViewRef<T> {\n const viewRef = template.createEmbeddedView(context);\n this.appRef.attachView(viewRef);\n element.appendChild(\n viewRef.rootNodes[0] as HTMLElement\n );\n return viewRef;\n }\n\n protected getRootNode(\n ref: ComponentRef<any> | EmbeddedViewRef<any>,\n ): HTMLElement {\n if (ref instanceof ComponentRef) {\n return (ref.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n } else {\n return ref.rootNodes[0] as HTMLElement;\n }\n }\n\n protected isElementSelector(selector: any): boolean {\n return selector && typeof selector === 'string' && !!selector.trim().length;\n }\n\n protected isHTMLElement(element: any): boolean {\n return element && (element instanceof Element || element instanceof HTMLDocument);\n }\n\n protected errNotFoundBySelector(selector: string) {\n throw new Error(`Element with selector '${selector}' not found`);\n }\n\n}\n","import { Directive, Injector, ViewContainerRef } from '@angular/core';\nimport { EvoPortalOutlet } from './evo-portal-outlet.class';\n\n@Directive({\n selector: '[evoPortalOutlet]'\n})\nexport class EvoPortalOutletDirective extends EvoPortalOutlet {\n\n constructor(\n public injector: Injector,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(injector, viewContainerRef);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoPortalService } from './evo-portal.service';\nimport { EvoPortalOutletDirective } from './evo-portal-outlet.directive';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n providers: [\n EvoPortalService,\n ],\n declarations: [\n EvoPortalOutletDirective,\n ],\n exports: [\n EvoPortalOutletDirective,\n ]\n})\nexport class EvoPortalModule { }\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\n\n@Component({\n selector: 'evo-radio',\n templateUrl: './evo-radio.component.html',\n styleUrls: [ './evo-radio.component.scss' ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioComponent extends EvoBaseControl implements ControlValueAccessor {\n @Input() value: any;\n @Input() name: string;\n\n disabled: boolean;\n\n onChange = (_) => {};\n onTouch = () => {};\n\n get checked() {\n return this.control ? this.control.value === this.value : false;\n }\n\n handleOnChange() {\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n\n }\n}\n","<label class=\"evo-radio\">\n <input class=\"evo-radio__input\"\n type=\"radio\"\n (change)=\"handleOnChange()\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\">\n <span class=\"evo-radio__element\"></span>\n <span class=\"evo-radio__content\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoRadioComponent } from './evo-radio.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n declarations: [ EvoRadioComponent ],\n exports: [ EvoRadioComponent ],\n})\nexport class EvoRadioModule {}\n","import {Component, forwardRef, Injector, Input, OnInit} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR, UntypedFormBuilder} from '@angular/forms';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {IOptions} from './typings/options';\n\nexport * from './typings/options';\n\n\nexport enum EvoRadioGroupThemes {\n light = 'light',\n segment = 'segment',\n}\n\nexport enum EvoRadioGroupDirections {\n row = 'row',\n column = 'column',\n}\n\n@Component({\n selector: 'evo-radio-group',\n templateUrl: './evo-radio-group.component.html',\n styleUrls: [ './evo-radio-group.component.scss' ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioGroupComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioGroupComponent extends EvoBaseControl implements ControlValueAccessor, OnInit {\n @Input() options: IOptions;\n // tslint:disable-next-line\n @Input('value') _value?: string;\n @Input() theme: EvoRadioGroupThemes;\n @Input() direction: EvoRadioGroupDirections;\n\n formGroup;\n private disabled = false;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n onChange = (_) => {};\n onTouched = () => {};\n\n get value(): string {\n return this._value;\n }\n\n set value(value: string) {\n this._value = value;\n this.onChange(value);\n }\n\n ngOnInit() {\n this.createFormGroup();\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.disabled = state;\n }\n\n /**\n * Обработчик на смену значения\n * @param value значение\n */\n onChangedValue(value: string): void {\n this.value = value;\n }\n\n /**\n * Геттер на возможные варианты отчета в формате массива\n * презентационного текста для радио группа\n */\n get optionArray(): IOptions[] {\n return this.generateOptionArray(this.options);\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.theme) {\n classes.push(this.theme);\n }\n\n if (this.direction) {\n classes.push(this.direction);\n }\n\n return classes;\n }\n\n /**\n * Генерирует из опций массив\n * @param source объект с вариантами\n */\n private generateOptionArray(source: IOptions): IOptions[] {\n const array = [];\n\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n array.push(source[key]);\n }\n }\n\n return array;\n }\n\n /**\n * Создание группы\n */\n private createFormGroup(): void {\n this.formGroup = this.formBuilder.group({\n value: [ this.value ],\n });\n }\n}\n","<div class=\"evo-radio-group\" [evoUiClass]=\"totalClasses\" [formGroup]=\"formGroup\">\n <label class=\"evo-radio-group__radio\" *ngFor=\"let option of optionArray\">\n <!-- Переключение стилей выполняется с помощью псевдоселектора :checked -->\n <input class=\"evo-radio-group__radio-control\" (ngModelChange) = \"onChangedValue($event)\" formControlName=\"value\" type=\"radio\" value={{option.value}}>\n <div class=\"evo-radio-group__radio-view\">\n <span class=\"evo-radio-group__radio-icon\"></span>\n <span class=\"evo-radio-group__radio-value\">{{option.presentationText}}</span>\n </div>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoRadioGroupComponent } from './evo-radio-group.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\nexport { EvoRadioGroupDirections, EvoRadioGroupThemes } from './evo-radio-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoRadioGroupComponent ],\n exports: [ EvoRadioGroupComponent ],\n})\nexport class EvoRadioGroupModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { EvoBaseControl } from '../../../common/evo-base-control';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEqual } from 'lodash-es';\n\n@Component({\n selector: 'evo-radioshape',\n templateUrl: 'evo-radioshape.component.html',\n styleUrls: ['evo-radioshape.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoRadioshapeComponent),\n multi: true,\n },\n ],\n})\nexport class EvoRadioshapeComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input() forceChecked: boolean;\n @Input() value: any;\n @Input() name = Math.random();\n\n disabled: boolean;\n\n onChange = (_) => {};\n onTouch = () => {};\n\n get checked() {\n return this.control ? isEqual(this.control.value, this.value) || this.forceChecked : this.forceChecked;\n }\n\n handleOnChange() {\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n\n }\n}\n","<div class=\"evo-radioshape\" [ngClass]=\"{'evo-radioshape_checked': checked, 'evo-radioshape_disabled': disabled}\">\n <label class=\"evo-radioshape__label\" *ngIf=\"value || forceChecked\">\n <input class=\"evo-radioshape__input\"\n type=\"radio\"\n (change)=\"handleOnChange()\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\">\n <span class=\"evo-radioshape__control\"></span>\n </label>\n <div class=\"evo-radioshape__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EvoRadioshapeComponent } from './components/evo-radioshape.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [\n EvoRadioshapeComponent,\n ],\n exports: [\n EvoRadioshapeComponent,\n ],\n})\nexport class EvoRadioshapeModule {}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'evo-segmented-bar',\n templateUrl: './evo-segmented-bar.component.html',\n styleUrls: ['./evo-segmented-bar.component.scss'],\n})\n/**\n * @deprecated use `EvoChipComponent`\n */\nexport class EvoSegmentedBarComponent implements OnInit {\n @Input() label: string;\n @Input() labelShort: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"bar\">\n <div class=\"bar__label\"\n *ngIf=\"label\"\n [ngClass]=\"{bar__label_normal: labelShort}\"\n >\n {{ label }}\n </div>\n\n <div class=\"bar__label bar__label_short\"\n *ngIf=\"labelShort\"\n >\n {{ labelShort }}\n </div>\n\n <div class=\"bar__buttons-wrapper\">\n <div class=\"bar__buttons\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import {AfterViewChecked, Component, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {EvoBaseControl} from '../../../common/evo-base-control';\n\n@Component({\n selector: 'evo-segmented-bar-button',\n templateUrl: './evo-segmented-bar-button.component.html',\n styleUrls: ['./evo-segmented-bar-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoSegmentedBarButtonComponent),\n multi: true,\n },\n ],\n})\n/**\n * @deprecated use `EvoChipComponent`\n */\nexport class EvoSegmentedBarButtonComponent extends EvoBaseControl implements ControlValueAccessor, AfterViewChecked {\n @Input() name: string;\n @Input() value: string;\n @Input() color = 'white';\n @Input() disabled = false;\n\n private _selectedValue: any;\n\n onChange = (_) => {};\n onTouched = () => {};\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n ngAfterViewChecked() {\n if (this.control) {\n this.control.valueChanges.subscribe(() => {\n this.writeValue(this.control.value);\n });\n }\n }\n\n writeValue(value) {\n this._selectedValue = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n onInputChange(value) {\n this._selectedValue = value;\n this.onChange(value);\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.color) {\n classes.push(this.color);\n }\n\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n}\n","<label class=\"segmented-button\" [evoUiClass]=\"totalClasses\">\n <input class=\"segmented-button__input\"\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"value === selectedValue\"\n (change)=\"onInputChange(value)\"\n [disabled]=\"disabled\"\n />\n <span class=\"segmented-button__view\">\n <span class=\"segmented-button__view-text\">\n <ng-content></ng-content>\n </span>\n </span>\n</label>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSegmentedBarComponent} from './evo-segmented-bar/evo-segmented-bar.component';\nimport {EvoSegmentedBarButtonComponent} from './evo-segmented-bar-button/evo-segmented-bar-button.component';\nimport {FormsModule} from '@angular/forms';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [CommonModule, FormsModule, EvoUiKitModule],\n declarations: [EvoSegmentedBarComponent, EvoSegmentedBarButtonComponent],\n exports: [EvoSegmentedBarComponent, EvoSegmentedBarButtonComponent],\n})\n/**\n * @deprecated use `EvoChipModule`\n */\nexport class EvoSegmentedBarModule {}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {EvoBaseControl} from '../../common/evo-base-control';\nimport {IEvoControlState} from '../../common/evo-control-state-manager/evo-control-state.interface';\nimport {Subject, Subscription} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\n@Component({\n selector: 'evo-select',\n templateUrl: './evo-select.component.html',\n styleUrls: ['./evo-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoSelectComponent),\n multi: true,\n },\n ],\n})\nexport class EvoSelectComponent\n extends EvoBaseControl\n implements ControlValueAccessor, AfterContentInit, OnDestroy, AfterContentChecked\n{\n @Input() style: 'input' | 'inline' = 'input';\n @Input() label: string;\n @Input() theme: string;\n\n disabled = false;\n @ViewChild('select', {static: true}) select: ElementRef;\n\n set selectedValue(value: any) {\n this._selectedValue = value;\n [].slice.call(this.select.nativeElement.options).some((option, index) => {\n if (option && option.value === value) {\n this.selectedLabel = option.innerText;\n return true;\n }\n return false;\n });\n }\n\n get selectedValue(): any {\n return this._selectedValue;\n }\n\n selectedLabel: any;\n\n private _selectedValue: any;\n\n private contentChanges$ = new Subject<void>();\n\n private contentChangesSubscription: Subscription;\n\n propagateChange = (_: any) => {};\n\n ngAfterContentInit() {\n if (!this.selectedValue) {\n const selectOptions = this.select.nativeElement.options;\n this.selectedValue = selectOptions && selectOptions.length > 0 ? selectOptions[0].value : undefined;\n } else {\n this.setLabel();\n }\n this.contentChangesSubscription = this.contentChanges$.pipe(tap(() => this.setLabel())).subscribe();\n }\n\n ngAfterContentChecked() {\n this.contentChanges$.next();\n }\n\n ngOnDestroy(): void {\n this.contentChangesSubscription.unsubscribe();\n }\n\n writeValue(value: any) {\n if (value !== undefined) {\n this.selectedValue = value;\n }\n }\n\n registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n registerOnTouched() {}\n\n getSelectClasses() {\n return {\n [this.style]: true,\n [this.theme]: this.theme,\n disabled: this.disabled,\n invalid: this.currentState.invalid,\n valid: this.currentState.valid,\n };\n }\n\n onChange(newValue) {\n this.propagateChange(newValue);\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n get currentState(): IEvoControlState {\n return Object.assign(\n {\n valid: this.control ? this.control.dirty && this.control.valid : undefined,\n invalid: this.control ? this.control.dirty && this.control.invalid : undefined,\n },\n this.state,\n );\n }\n\n setLabel(): void {\n const optionsArray = [].slice.call(this.select.nativeElement.options);\n const selectedIndex = optionsArray.findIndex((option) => option.value === this.selectedValue);\n if (selectedIndex >= 0) {\n const selectedOption = optionsArray[selectedIndex];\n this.selectedLabel = selectedOption.innerText;\n this.select.nativeElement.selectedIndex = selectedIndex;\n }\n }\n}\n","<label class=\"evo-select\" [evoUiClass]=\"getSelectClasses()\">\n <div class=\"evo-select__field\" [evoUiClass]=\"getSelectClasses()\">{{selectedLabel}}</div>\n <select #select class=\"evo-select__native\" [disabled]=\"disabled\" [(ngModel)]=\"selectedValue\" (ngModelChange)=\"onChange($event)\">\n <ng-content></ng-content>\n </select>\n <span class=\"evo-select__icon-arrow\">\n <svg width=\"7\" height=\"5\" viewBox=\"0 0 7 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7L3.44199 5L0 0Z\" />\n </svg>\n </span>\n</label>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoSelectComponent } from './evo-select.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule } from '@angular/forms';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [EvoSelectComponent],\n exports: [EvoSelectComponent],\n})\nexport class EvoSelectModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport { EvoSidebarConfig } from './interfaces';\n\n// Root ID\nexport const evoSidebarRootId = 'EVO_SIDEBAR_ROOT_ID';\nexport const EVO_SIDEBAR_ROOT_ID = new InjectionToken<string>(\n evoSidebarRootId\n);\n\n// Config\nexport const evoSidebarDefaultConfig: EvoSidebarConfig = {\n host: 'body',\n};\n\nexport const EVO_SIDEBAR_CONFIG = new InjectionToken<EvoSidebarConfig>('EVO_SIDEBAR_CONFIG');\n\n// Sidebar Data\nexport const EVO_SIDEBAR_DATA = new InjectionToken('EVO_SIDEBAR_DATA');\n","export enum EvoSidebarCloseTargets {\n BACKGROUND = 'background',\n BUTTON = 'button',\n DEFAULT = 'default',\n ESC = 'escape',\n}\n","export enum EvoSidebarStates {\n HIDDEN = 'hidden',\n VISIBLE = 'visible',\n}\n","export enum EvoSidebarSizes {\n NORMAL = 'normal',\n MIDDLE = 'middle',\n LARGE = 'large',\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const SidebarInjectionToken = new InjectionToken('SidebarInjectionToken');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, take, tap } from 'rxjs/operators';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { EvoAbstractPortal } from '../evo-portal';\nimport { EvoSidebarState, EvoSidebarConfig, EvoSidebarParams, EvoOpenedSidebarActions } from './interfaces';\nimport { evoSidebarDefaultConfig, evoSidebarRootId, EVO_SIDEBAR_CONFIG } from './tokens';\n\n@Injectable()\nexport class EvoSidebarService {\n\n private sidebarEvents$ = new Subject<EvoSidebarState>();\n private registeredSidebars: {[id: string]: EvoSidebarState} = {};\n private config: EvoSidebarConfig;\n\n constructor(\n private portal: EvoAbstractPortal, // EvoSidebarPortal provided\n @Optional()\n @Inject(EVO_SIDEBAR_CONFIG) private _config: EvoSidebarConfig,\n ) {\n this.config = {\n ...evoSidebarDefaultConfig,\n ..._config,\n };\n }\n\n deregister(id: string) {\n delete this.registeredSidebars[id];\n }\n\n register(id: string) {\n if (this.registeredSidebars[id]) {\n throw Error(`[EvoUiKit]: Another evo-sidebar with id = \"${id}\" already registered!`);\n } else {\n this.registeredSidebars[id] = { id, isOpen: false };\n }\n }\n\n open(params: EvoSidebarParams): EvoOpenedSidebarActions;\n open(id: string, params?: EvoSidebarParams): EvoOpenedSidebarActions;\n open(idOrParams: string | EvoSidebarParams, params?: EvoSidebarParams): EvoOpenedSidebarActions {\n if (typeof idOrParams === 'string') {\n this.sidebarEvents$.next({\n id: idOrParams,\n isOpen: true,\n params,\n });\n return this.getOpenedSidebarActions(idOrParams);\n } else {\n this.openWithDefaultHost(idOrParams);\n return this.getOpenedSidebarActions(evoSidebarRootId);\n }\n }\n\n openWithDefaultHost(params: EvoSidebarParams) {\n if (!this.portal.hasAttachedPortal()) {\n this.portal.attach(this.config.host);\n setTimeout(() => {\n this.open(evoSidebarRootId, params);\n }, 0);\n } else {\n this.open(evoSidebarRootId, params);\n }\n }\n\n close(params?: EvoSidebarParams): void;\n close(id: string, params?: EvoSidebarParams): void;\n close(idOrParams?: string | EvoSidebarParams, params?: EvoSidebarParams): void {\n if (typeof idOrParams === 'string') {\n this.sidebarEvents$.next({id: idOrParams, isOpen: false, params});\n } else {\n this.closeWithDefaultHost(idOrParams);\n }\n }\n\n closeWithDefaultHost(params?: EvoSidebarParams) {\n this.sidebarEvents$.next({id: evoSidebarRootId, isOpen: false, params});\n }\n\n getEventsSubscription(id: string, immediate?: boolean): Observable<EvoSidebarState> {\n return this.sidebarEvents$.pipe(\n filter((data: EvoSidebarState) => data.id === id),\n filter((data: EvoSidebarState) => {\n if (!data.isOpen) {\n return data.params && data.params.closeTarget ? true : immediate;\n }\n\n return true;\n }),\n distinctUntilChanged((prev: EvoSidebarState, next: EvoSidebarState) => {\n return immediate ? false : isEqual(prev, next);\n }),\n tap((data: EvoSidebarState) => {\n if (!immediate) {\n this.registeredSidebars[data.id] = cloneDeep(data);\n }\n }),\n );\n }\n\n cleanupDefaultHost() {\n if (!this.portal.hasAttachedPortal()) {\n return;\n }\n this.portal.detach();\n }\n\n getOpenedSidebarActions(id: string): EvoOpenedSidebarActions {\n return {\n afterClosed: () => {\n return this.getEventsSubscription(id).pipe(\n filter(({ isOpen }) => !isOpen),\n take(1),\n );\n }\n };\n }\n\n}\n","import {Component, EventEmitter, Inject, Input, OnInit, Output} from '@angular/core';\nimport {EvoSidebarCloseTargets} from '../enums/evo-sidebar-close-targets';\nimport {SidebarInjectionToken} from '../sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar-header, [evo-sidebar-header]',\n templateUrl: './evo-sidebar-header.component.html',\n styleUrls: ['./evo-sidebar-header.component.scss'],\n // eslint-disable-next-line\n host: {\n class: 'evo-sidebar__header',\n },\n})\nexport class EvoSidebarHeaderComponent implements OnInit {\n @Input() backButton: boolean;\n\n @Output() back = new EventEmitter();\n\n constructor(@Inject(SidebarInjectionToken) private sidebar: any) {}\n\n ngOnInit() {\n if (!this.sidebar) {\n throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);\n }\n\n this.backButton = this.backButton ?? this.sidebar.backButton;\n }\n\n handleBackClick() {\n this.back.emit();\n }\n\n closeSidebar() {\n this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);\n }\n}\n","<div class=\"evo-sidebar__back\"\n *ngIf=\"backButton\"\n (click)=\"handleBackClick()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"chevron-left\"></evo-icon>\n</div>\n\n<div class=\"evo-sidebar__title\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon class=\"evo-sidebar__icon\" shape=\"close\"></evo-icon>\n</div>\n\n","import {Component, HostBinding, Inject, Input, OnInit} from '@angular/core';\nimport {SidebarInjectionToken} from '../sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar-content, [evo-sidebar-content]',\n templateUrl: './evo-sidebar-content.component.html',\n styleUrls: ['./evo-sidebar-content.component.scss'],\n})\nexport class EvoSidebarContentComponent implements OnInit {\n @Input() relativeFooter: boolean;\n\n private hostClass = 'evo-sidebar__content';\n\n constructor(@Inject(SidebarInjectionToken) private sidebar: any) {}\n\n ngOnInit() {\n if (!this.sidebar) {\n throw new Error(`EvoSidebarContentComponent must be used inside EvoSidebarComponent only!`);\n }\n\n this.relativeFooter = this.relativeFooter ?? this.sidebar.relativeFooter;\n }\n\n @HostBinding('class')\n get hostClasses() {\n return this.relativeFooter ? `${this.hostClass} evo-sidebar__content_relative-footer` : this.hostClass;\n }\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'evo-sidebar-footer, [evo-sidebar-footer]',\n templateUrl: './evo-sidebar-footer.component.html',\n styleUrls: ['./evo-sidebar-footer.component.scss'],\n // eslint-disable-next-line\n host: {\n 'class': 'evo-sidebar__footer-wrapper',\n }\n})\nexport class EvoSidebarFooterComponent {}\n","<div class=\"evo-sidebar__footer\"><ng-content></ng-content></div> <!--чтобы :empty работал, не должно быть внутри evo-sidebar__footer вообще ничего, даже пробела-->\n","// tslint:disable-next-line:max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {fromEvent, Subject, SubscriptionLike} from 'rxjs';\nimport {EvoSidebarService} from './evo-sidebar.service';\nimport {AnimationEvent} from '@angular/animations';\nimport {delay, filter, takeUntil, takeWhile, tap} from 'rxjs/operators';\nimport {enterZone} from '../../operators';\nimport {Location} from '@angular/common';\nimport {EvoSidebarState} from './interfaces';\nimport {EVO_SIDEBAR_DATA, evoSidebarRootId} from './tokens';\nimport {sidebarAnimation} from '../../common/animations/sidebar.animation';\nimport {EvoSidebarCloseTargets} from './enums/evo-sidebar-close-targets';\nimport {EvoSidebarStates} from './enums/evo-sidebar-states';\nimport {EvoSidebarSizes} from './enums/evo-sidebar-sizes';\nimport {SidebarInjectionToken} from './sidebar-injection-token';\n\n@Component({\n selector: 'evo-sidebar',\n styleUrls: ['./evo-sidebar.component.scss'],\n templateUrl: './evo-sidebar.component.html',\n animations: [sidebarAnimation],\n viewProviders: [\n {\n provide: SidebarInjectionToken,\n useExisting: forwardRef(() => EvoSidebarComponent),\n },\n ],\n})\nexport class EvoSidebarComponent implements OnDestroy, OnInit {\n @ViewChild('sidebarContentContainer', {read: ViewContainerRef})\n contentContainer: ViewContainerRef;\n\n @Input() backButton: boolean;\n @Input() id: string;\n @Input() header: string;\n @Input() size: EvoSidebarSizes = EvoSidebarSizes.NORMAL;\n @Input() relativeFooter: boolean;\n\n @Output() back = new EventEmitter<void>();\n\n isVisible = false;\n\n isDynamicContent = false;\n\n readonly closeTargets = EvoSidebarCloseTargets;\n\n private closeTarget: EvoSidebarCloseTargets = EvoSidebarCloseTargets.DEFAULT;\n\n private dynamicComponentRef: ComponentRef<any>;\n\n private locationSubscription: SubscriptionLike;\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private zone: NgZone,\n private location: Location,\n private componentFactoryResolver: ComponentFactoryResolver,\n public sidebarService: EvoSidebarService,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n ngOnDestroy() {\n this.clearView();\n this.sidebarService.deregister(this.id);\n this.locationSubscription?.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnInit() {\n if (!this.id) {\n this.id = evoSidebarRootId;\n }\n this.sidebarService.register(this.id);\n this.sidebarService\n .getEventsSubscription(this.id, true)\n .pipe(\n // async hack to avoid \"Expression has changed after it was checked\" error\n delay(0),\n takeUntil(this.destroy$),\n )\n .subscribe((sidebarState: EvoSidebarState) => {\n const {isOpen, params} = sidebarState;\n if (isOpen) {\n this.subscribeToKeyEvent();\n } else {\n this.closeTarget = EvoSidebarCloseTargets.DEFAULT;\n }\n\n // Dynamic content strategy\n if (isOpen && params?.component) {\n const {component, closeOnNavigation, size, data} = params;\n this.isDynamicContent = true;\n this.insertComponent(component, data);\n if (size) {\n this.size = size;\n }\n if (!this.locationSubscription && closeOnNavigation !== false) {\n this.closeOnLocationUpdates();\n }\n }\n\n this.isVisible = isOpen;\n this.cdr.markForCheck();\n });\n }\n\n get currentState(): string {\n return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.isVisible) {\n classes.push(EvoSidebarStates.VISIBLE);\n }\n\n classes.push(this.size ?? EvoSidebarSizes.NORMAL);\n\n return classes;\n }\n\n closeSidebar(source: EvoSidebarCloseTargets) {\n this.isVisible = false;\n this.closeTarget = source;\n }\n\n handleAnimationDone(event: AnimationEvent) {\n const isClosed = event.fromState === EvoSidebarStates.VISIBLE;\n\n if (isClosed && !this.isVisible) {\n this.sidebarService.close(this.id, {closeTarget: this.closeTarget});\n this.clearView();\n if (this.id === evoSidebarRootId) {\n this.sidebarService.deregister(evoSidebarRootId);\n this.sidebarService.cleanupDefaultHost();\n }\n }\n }\n\n handleBackClick() {\n this.back.emit();\n }\n\n private subscribeToKeyEvent() {\n this.zone.runOutsideAngular(() => {\n fromEvent(document.body, 'keyup')\n .pipe(\n takeWhile(() => this.isVisible),\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n enterZone(this.zone),\n tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)),\n )\n .subscribe();\n });\n }\n\n private insertComponent(component: Type<any>, data: any) {\n this.clearView();\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory<Component>(component);\n\n const injector: Injector = Injector.create({\n providers: [\n {\n provide: EVO_SIDEBAR_DATA,\n useValue: data,\n },\n {\n provide: SidebarInjectionToken,\n useValue: this,\n },\n ],\n });\n\n this.dynamicComponentRef = this.contentContainer.createComponent(componentFactory, 0, injector);\n }\n\n private clearView() {\n if (!this.dynamicComponentRef) {\n return;\n }\n this.contentContainer.clear();\n this.dynamicComponentRef = null;\n }\n\n private closeOnLocationUpdates() {\n this.locationSubscription = this.location.subscribe(() => {\n this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);\n });\n }\n}\n","<div class=\"evo-sidebar__background\"\n *ngIf=\"isVisible\"\n (click)=\"closeSidebar(closeTargets.BACKGROUND)\"\n></div>\n\n<div class=\"evo-sidebar\"\n [@open]=\"currentState\"\n (@open.done)=\"handleAnimationDone($event)\"\n [evoUiClass]=\"totalClasses\"\n>\n\n <ng-template #sidebarContentContainer></ng-template>\n\n <ng-container *ngIf=\"!isDynamicContent\">\n\n <div evo-sidebar-header\n [backButton]=\"backButton\"\n (back)=\"handleBackClick()\"\n >{{ header }}</div>\n\n <div evo-sidebar-content\n [relativeFooter]=\"relativeFooter\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div evo-sidebar-footer><ng-content select=\"[footer]\"></ng-content></div>\n\n </ng-container>\n</div>\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injector} from '@angular/core';\nimport {EvoAbstractPortal, EvoPortalService} from '../evo-portal';\nimport {EvoSidebarComponent} from './evo-sidebar.component';\n\nexport class EvoSidebarPortal extends EvoPortalService implements EvoAbstractPortal {\n attachedPortal: ComponentRef<EvoSidebarComponent>;\n\n constructor(public appRef: ApplicationRef, public injector: Injector, public cfr: ComponentFactoryResolver) {\n super(appRef, injector, cfr);\n }\n\n attach(host: string) {\n this.attachedPortal = this.attachComponent(EvoSidebarComponent, host, this.injector);\n }\n\n detach() {\n super.detach(this.attachedPortal);\n this.attachedPortal = null;\n }\n\n hasAttachedPortal() {\n return !!this.attachedPortal;\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injector,\n ModuleWithProviders,\n NgModule,\n Provider,\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSidebarComponent} from './evo-sidebar.component';\nimport {EvoSidebarHeaderComponent} from './evo-sidebar-header/evo-sidebar-header.component';\nimport {EvoSidebarFooterComponent} from './evo-sidebar-footer/evo-sidebar-footer.component';\nimport {EvoSidebarService} from './evo-sidebar.service';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {EvoIconModule} from '../evo-icon/evo-icon.module';\nimport {iconChevronLeft} from '@evotor-dev/ui-kit/icons/navigation';\nimport {iconClose} from '@evotor-dev/ui-kit/icons/header';\nimport {EvoSidebarContentComponent} from './evo-sidebar-content/evo-sidebar-content.component';\nimport {EvoSidebarConfig} from './interfaces';\nimport {EVO_SIDEBAR_CONFIG} from './tokens';\nimport {EvoSidebarPortal} from './evo-sidebar-portal';\nimport {EvoAbstractPortal} from '../evo-portal';\n\nexport const portalProvider: Provider = {\n provide: EvoAbstractPortal,\n useClass: EvoSidebarPortal,\n deps: [ApplicationRef, Injector, ComponentFactoryResolver],\n};\n\nconst components = [\n EvoSidebarComponent,\n EvoSidebarHeaderComponent,\n EvoSidebarContentComponent,\n EvoSidebarFooterComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'sidebarIcons',\n shapes: {\n 'chevron-left': iconChevronLeft,\n close: iconClose,\n },\n },\n ]),\n ],\n declarations: [...components],\n exports: [...components],\n providers: [portalProvider, EvoSidebarService],\n})\nexport class EvoSidebarModule {\n static forRoot(config?: EvoSidebarConfig): ModuleWithProviders<EvoSidebarModule> {\n return {\n ngModule: EvoSidebarModule,\n providers: [\n portalProvider,\n {\n provide: EVO_SIDEBAR_CONFIG,\n useValue: config,\n },\n {\n provide: EvoSidebarService,\n useClass: EvoSidebarService,\n deps: [EvoAbstractPortal, EVO_SIDEBAR_CONFIG],\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nexport enum EvoStepperEvent {\n LABEL_CHANGED = 'LABEL_CHANGED'\n}\n\n@Injectable()\nexport class EvoStepperEvents {\n\n private events$ = new Subject<EvoStepperEvent>();\n\n getEvents(type: EvoStepperEvent): Observable<EvoStepperEvent> {\n return this.events$.pipe(\n filter(event => event === type),\n );\n }\n\n emit(type: EvoStepperEvent) {\n this.events$.next(type);\n }\n\n}\n","import { Component, Input, ContentChild, TemplateRef, OnChanges, SimpleChanges, Host } from '@angular/core';\nimport { EvoStepperEvent, EvoStepperEvents } from '../evo-stepper-events';\n\n@Component({\n selector: 'evo-stepper-item',\n templateUrl: './evo-stepper-item.component.html',\n styleUrls: ['./evo-stepper-item.component.scss'],\n})\nexport class EvoStepperItemComponent implements OnChanges {\n\n @Input() label: string;\n\n isSelected = false;\n\n @ContentChild(TemplateRef) contentTemp: TemplateRef<any>;\n\n constructor(\n @Host()\n private stepperEvents: EvoStepperEvents\n ) { }\n\n ngOnChanges(changes: SimpleChanges) {\n const { firstChange } = changes.label;\n\n if (!firstChange) {\n this.stepperEvents.emit(EvoStepperEvent.LABEL_CHANGED);\n }\n }\n\n}\n","<div class=\"evo-stepper-content\" *ngIf=\"isSelected\">\n <ng-container *ngIf=\"contentTemp\">\n <ng-container *ngTemplateOutlet=\"contentTemp\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!contentTemp\">\n <ng-content></ng-content>\n </ng-container>\n</div>","import {\n Component, Input, QueryList, ContentChildren,\n SimpleChanges, OnChanges, Output, EventEmitter, AfterViewInit, ChangeDetectorRef,\n} from '@angular/core';\nimport { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';\nimport { map } from 'rxjs/operators';\nimport { concat, asyncScheduler, of, scheduled, merge, Observable } from 'rxjs';\nimport { EvoStepperEvent, EvoStepperEvents } from './evo-stepper-events';\n\n@Component({\n selector: 'evo-stepper',\n templateUrl: './evo-stepper.component.html',\n styleUrls: [ './evo-stepper.component.scss' ],\n providers: [\n EvoStepperEvents,\n ]\n})\nexport class EvoStepperComponent implements AfterViewInit, OnChanges {\n\n stepsList$: Observable<{ label: string }[]>;\n\n @ContentChildren(EvoStepperItemComponent) stepComponentsList: QueryList<EvoStepperItemComponent>;\n\n @Input() currentStepIndex = 0;\n\n @Input() clickableItems = false;\n\n @Output() onChange = new EventEmitter<number>();\n\n @Output() clickItem = new EventEmitter<number>();\n\n constructor(\n private cd: ChangeDetectorRef,\n private stepperEvents: EvoStepperEvents,\n ) {}\n\n ngAfterViewInit() {\n this.stepsList$ = concat(\n scheduled(of(null), asyncScheduler),\n merge(\n this.stepComponentsList.changes,\n this.stepperEvents.getEvents(EvoStepperEvent.LABEL_CHANGED)\n )\n ).pipe(\n map(() => this.getStepsList()),\n );\n this.cd.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.stepComponentsList && changes.currentStepIndex !== undefined) {\n const index = changes.currentStepIndex.currentValue;\n this.changeCurrentStep(index);\n }\n }\n\n getStepsList() {\n const currentStepComponent = this.stepComponentsList.find((stepComponent, i) => i === this.currentStepIndex);\n currentStepComponent.isSelected = true;\n return this.stepComponentsList.map(({ label }) => ({ label }));\n }\n\n changeCurrentStep(index: number) {\n this.stepComponentsList.forEach((step, i) => step.isSelected = (index === i));\n this.currentStepIndex = index;\n this.onChange.emit(index);\n this.cd.markForCheck();\n }\n\n handleItemClick(index: number) {\n if (this.clickableItems) {\n this.clickItem.emit(index);\n }\n }\n}\n","<div class=\"evo-stepper\">\n\n <ng-container\n *ngIf=\"stepsList$ | async as stepsList\"\n >\n\n <div class=\"evo-stepper__current-step-name\">{{stepsList[currentStepIndex].label}}</div>\n\n <!-- List -->\n <div class=\"evo-stepper__list\">\n <div\n class=\"evo-stepper__item\"\n *ngFor=\"let step of stepsList; index as i\"\n [evoUiClass]=\"{'active': currentStepIndex == i, 'completed': i < currentStepIndex, 'clickable': clickableItems}\"\n >\n\n <div\n class=\"evo-stepper__item-inner\"\n (click)=\"handleItemClick(i)\"\n >\n\n <div class=\"evo-stepper__item-point\">\n <div class=\"evo-stepper__item-number\">{{i + 1}}</div>\n </div>\n\n <div class=\"evo-stepper__item-name\">{{step.label}}</div>\n\n </div>\n\n </div>\n </div>\n\n </ng-container>\n\n <!-- Content -->\n <ng-content></ng-content>\n\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoStepperComponent } from './evo-stepper.component';\nimport { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoStepperComponent, EvoStepperItemComponent ],\n exports: [ EvoStepperComponent, EvoStepperItemComponent ],\n})\nexport class EvoStepperModule {}\n","import {AfterViewInit, Component, OnInit, ElementRef, HostListener, Inject, Input, ViewChild} from '@angular/core';\nimport {of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\nimport {WINDOW} from '../../services/window.service';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * scroll - [default] link type with auto scroll to section on the same page\n * outer - outer link (not accesible with router)\n * router - router type link\n */\nexport enum EvoSubmenuType {\n scroll,\n outer,\n router,\n}\n\nexport interface EvoSubmenuItem {\n title: string;\n href: string;\n type?: EvoSubmenuType; // if menuType === scroll, this property is ignored (for now)\n target?: string; // used only for outer type\n isActive?: boolean; // used only for outer type\n index?: number;\n scrollOffset?: number;\n scrollDuration?: number;\n}\n\n@Component({\n selector: 'evo-submenu',\n templateUrl: './evo-submenu.component.html',\n styleUrls: ['./evo-submenu.component.scss'],\n})\n/**\n * @deprecated use `EvoTabsComponent`\n */\nexport class EvoSubmenuComponent implements OnInit, AfterViewInit {\n get items(): EvoSubmenuItem[] {\n return this._items;\n }\n\n @Input() menuType: EvoSubmenuType = EvoSubmenuType.scroll;\n @Input() offsetLeft = false;\n\n @Input() set items(items: EvoSubmenuItem[]) {\n this._items = items;\n if (this.menuType === EvoSubmenuType.scroll) {\n this.calculateActiveItemIndex();\n }\n }\n\n @ViewChild('container', {static: true}) container: ElementRef;\n\n isFloated = false;\n activeItemIndex = 0;\n evoSubmenuType = EvoSubmenuType;\n\n private _items: EvoSubmenuItem[] = [];\n\n private headerHeight: number;\n private submenuOffset = 0;\n private isWindowResize = false;\n private header: Element | null;\n\n constructor(\n protected elRef: ElementRef,\n @Inject(WINDOW) protected window: any,\n @Inject(DOCUMENT) protected document: any,\n ) {}\n\n ngOnInit() {}\n\n @HostListener('window:resize', [])\n onWindowResize() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.isWindowResize = true;\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.onWindowScroll();\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.isFloated = this.window.pageYOffset + this.headerHeight >= this.submenuOffset;\n this.calculateActiveItemIndex();\n }\n }\n\n ngAfterViewInit() {\n if (this.menuType === EvoSubmenuType.scroll) {\n this.submenuOffset = this.elRef.nativeElement.offsetTop;\n this.header = this.document.querySelector('evo-header');\n if (this.header) {\n this.headerHeight = this.header.getBoundingClientRect().height;\n }\n this.onWindowScroll();\n }\n }\n\n private calculateActiveItemIndex() {\n let newIndex;\n const {documentElement} = this.document;\n\n if (documentElement.clientHeight + documentElement.scrollTop >= documentElement.scrollHeight) {\n newIndex = this.items.length - 1;\n } else {\n newIndex =\n this.items\n .map((item: EvoSubmenuItem) => {\n const anchorSection = this.document.querySelector('#' + item.href);\n\n if (anchorSection) {\n return anchorSection.getBoundingClientRect().top - item.scrollOffset - 1;\n }\n })\n .filter((value: number) => value < 0).length - 1;\n }\n\n if (this.isWindowResize || newIndex !== this.activeItemIndex) {\n this.activeItemIndex = newIndex;\n this.isWindowResize = false;\n\n // Timeout to get correct container scrollWidth\n of({})\n .pipe(delay(0))\n .subscribe(() => {\n this.checkHorizontalScroll();\n });\n }\n }\n\n private checkHorizontalScroll() {\n const container = this.container.nativeElement;\n\n if (container.scrollWidth > container.clientWidth) {\n const items = container.querySelectorAll('.evo-submenu__item');\n const item = items ? items[this.activeItemIndex] : null;\n\n if (item) {\n const itemOffset = item.getBoundingClientRect().left;\n\n if (itemOffset >= 0) {\n if (item.clientWidth + itemOffset > container.clientWidth) {\n container.scroll({\n left: container.scrollLeft + item.clientWidth + itemOffset - container.clientWidth,\n behavior: 'smooth',\n });\n }\n } else {\n container.scroll({\n left: container.scrollLeft + itemOffset,\n behavior: 'smooth',\n });\n }\n } else {\n container.scroll({\n left: 0,\n behavior: 'smooth',\n });\n }\n }\n }\n}\n","<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EvoSubmenuComponent} from './evo-submenu.component';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {NgxPageScrollModule} from 'ngx-page-scroll';\nimport {RouterModule} from '@angular/router';\nimport {WINDOW_PROVIDERS} from '../../services/window.service';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EvoUiKitModule, NgxPageScrollModule],\n declarations: [EvoSubmenuComponent],\n exports: [EvoSubmenuComponent],\n providers: [...WINDOW_PROVIDERS],\n})\n/**\n * @deprecated use `EvoTabsModule`\n */\nexport class EvoSubmenuModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvoSwitcherItem } from './components/evo-switcher-item/evo-switcher-item.component';\n\n@Component({\n selector: 'evo-switcher',\n templateUrl: './evo-switcher.component.html',\n styleUrls: ['./evo-switcher.component.scss'],\n})\nexport class EvoSwitcherComponent {\n @Input() items: EvoSwitcherItem[];\n @Output() onItemSelection: EventEmitter<number> = new EventEmitter();\n\n private _selectedIndex: number;\n\n constructor() {\n\n }\n\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(index: number) {\n this._selectedIndex = index > this.items.length ? this.items.length - 1 : index;\n }\n\n handleItemClick(index: number) {\n this.selectedIndex = index;\n this.onItemSelection.emit(index);\n }\n}\n","<div class=\"evo-switcher\">\n <div class=\"evo-switcher__item\"\n *ngFor=\"let item of items; let i = index;\"\n [evoUiClass]=\"{selected: i === selectedIndex}\"\n (click)=\"handleItemClick(i)\">{{ item }}\n </div>\n</div>\n","import { Component } from '@angular/core';\n\nexport interface EvoSwitcherItem {\n text: string;\n clickFunction: Function;\n}\n\n@Component({\n selector: 'evo-switcher-item',\n templateUrl: './evo-switcher-item.component.html',\n styleUrls: [ './evo-switcher-item.component.scss' ],\n})\nexport class EvoSwitcherItemComponent {}\n","<div class=\"evo-switcher-item\">\n <ng-content></ng-content>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoSwitcherComponent } from './evo-switcher.component';\nimport { EvoSwitcherItemComponent } from './components/evo-switcher-item/evo-switcher-item.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoSwitcherComponent, EvoSwitcherItemComponent ],\n exports: [ EvoSwitcherComponent, EvoSwitcherItemComponent ],\n})\nexport class EvoSwitcherModule {}\n","import { Component, Input, TemplateRef, ContentChild } from '@angular/core';\n\n@Component({\n selector: 'evo-table-column',\n templateUrl: './evo-table-column.component.html',\n styleUrls: ['./evo-table-column.component.scss'],\n})\nexport class EvoTableColumnComponent {\n\n @Input() prop: string = undefined;\n @Input() label = '';\n @Input() className = '';\n @ContentChild('header', { read: TemplateRef }) header: any;\n @ContentChild('content', { read: TemplateRef }) content: any;\n\n constructor() {\n\n }\n\n @Input() formatter: (row: number, col: number, cellValue: any, item: any) => any = (row, col, cellValue) => cellValue;\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { EvoTableColumnComponent } from '../evo-table-column/evo-table-column.component';\n\nexport class EvoTableRowClickEvent {\n payload: {\n item: any;\n rowIndex: number;\n };\n event: MouseEvent;\n}\n\n@Component({\n selector: 'evo-table',\n templateUrl: './evo-table.component.html',\n styleUrls: [ './evo-table.component.scss' ],\n})\nexport class EvoTableComponent implements OnInit, AfterContentInit, OnChanges {\n\n filteredColumns: EvoTableColumnComponent[] = [];\n\n @Input() data: any[];\n @Input() showHeader = true;\n @Input() stripe = false;\n @Input() visibleColumns: string[];\n @Input() rowClasses?: string | string[] | Set<string> | { [klass: string]: any; };\n\n @Output() rowClick: EventEmitter<EvoTableRowClickEvent> = new EventEmitter<EvoTableRowClickEvent>();\n @ContentChildren(EvoTableColumnComponent) columns: EvoTableColumnComponent[];\n\n states = {\n isRowClickable: false,\n };\n\n ngOnChanges(changes: SimpleChanges) {\n if ('visibleColumns' in changes) {\n this.filterColumns();\n }\n }\n\n ngOnInit() {\n this.states.isRowClickable = this.rowClick.observers.length > 0;\n }\n\n ngAfterContentInit() {\n this.filteredColumns = this.columns;\n this.filterColumns();\n }\n\n getRowClasses() {\n return {\n 'striped': this.stripe,\n };\n }\n\n onRowClick(rowIndex, item, event) {\n this.rowClick.emit({\n payload: {rowIndex, item},\n event: event,\n });\n }\n\n private filterColumns() {\n if (this.visibleColumns && this.columns) {\n this.filteredColumns = this.columns.filter(col => this.visibleColumns.includes(col.prop));\n }\n }\n}\n","<div class=\"evo-table\"\n [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\"\n>\n <div class=\"evo-table__row evo-table__row_head mobile-hide\" *ngIf=\"showHeader\">\n <div class=\"evo-table__cell evo-table__cell_head\"\n *ngFor=\"let column of filteredColumns\" [ngClass]=\"column.className\">\n <ng-container *ngIf=\"column.header as header else label\">\n <ng-container *ngTemplateOutlet=\"header; context: { label: column.label }\"></ng-container>\n </ng-container>\n <ng-template #label>{{ column.label }}</ng-template>\n </div>\n </div>\n\n <div class=\"evo-table__row\"\n [ngClass]=\"rowClasses\"\n *ngFor=\"let item of data; let row = index\"\n (click)=\"onRowClick(row, item, $event)\">\n <div class=\"evo-table__cell\"\n *ngFor=\"let column of filteredColumns; let col = index\" [ngClass]=\"column.className\">\n\n <div class=\"evo-table__label mobile-show\" *ngIf=\"column.label\">\n <ng-container *ngIf=\"column.header as header else mobileLabel\">\n <ng-container *ngTemplateOutlet=\"header; context: { label: column.label }\"></ng-container>\n </ng-container>\n <ng-template #mobileLabel>{{ column.label }}</ng-template>\n </div>\n\n\n <div class=\"evo-table__data\"\n *ngIf=\"column.content as content else prop\">\n <ng-container *ngTemplateOutlet=\"content; context: { row: row, col: col, item: item }\"></ng-container>\n </div>\n\n <ng-template #prop>\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n </ng-template>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTableComponent } from './evo-table/evo-table.component';\nimport { EvoTableColumnComponent } from './evo-table-column/evo-table-column.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [ EvoTableComponent, EvoTableColumnComponent ],\n exports: [ EvoTableComponent, EvoTableColumnComponent ],\n})\nexport class EvoTableModule {}\n","export enum EvoTabsSize {\n small = 'small',\n normal = 'normal',\n}\n","export interface EvoTabState {\n name: string;\n isActive: boolean;\n params?: {};\n}\n\nexport class EvoTabStateCollection extends Array<EvoTabState> implements Array<EvoTabState> {\n\n private constructor(items?: Array<any>) {\n super(...items);\n }\n\n static create(tabs: any[]): EvoTabStateCollection {\n const array: EvoTabStateCollection = Object.create(EvoTabStateCollection.prototype);\n\n for (let i = 0; i < tabs.length; i++) {\n array.push(tabs[i]);\n }\n\n return array;\n }\n\n initTab(name: string) {\n this.push({name: name, isActive: false});\n }\n\n hasTab(name: string): boolean {\n return this.some((state) => state.name === name);\n }\n\n getTab(name: string): EvoTabState {\n return this.find((state) => state.name === name);\n }\n\n getActiveTab(): EvoTabState {\n return this.find((state) => state.isActive);\n }\n\n removeTab(name: string) {\n const tabToRemove = this.getTab(name);\n const index = this.indexOf(tabToRemove);\n\n if (index > -1) {\n this.splice(index, 1);\n }\n }\n\n setTab(name: string, params?: {}) {\n const prevActiveTab = this.find((state) => state.isActive);\n\n if (prevActiveTab) {\n prevActiveTab.isActive = false;\n }\n\n const newActiveTab = this.getTab(name);\n newActiveTab.isActive = true;\n\n if (params) {\n newActiveTab.params = params;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, tap } from 'rxjs/operators';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { EvoTabState, EvoTabStateCollection } from './evo-tab-state.collection';\n\nexport interface EvoTabsGroup {\n tabs: EvoTabStateCollection;\n name: string;\n}\n\n@Injectable()\nexport class EvoTabsService {\n\n private tabsState$ = new Subject<Map<string, EvoTabsGroup>>();\n private tabsGroupsMap: Map<string, EvoTabsGroup> = new Map();\n\n registerTabsGroup(groupName) {\n this.tabsGroupsMap.set(groupName, {name: groupName, tabs: EvoTabStateCollection.create([])});\n }\n\n registerTab(groupName: string, tabName: string) {\n const tabsGroup = this.getRegisteredTabsGroup(groupName);\n\n if (tabsGroup.tabs.hasTab(tabName)) {\n throw Error(`[EvoUiKit]: trying to register existing tab name('${tabName}') of '${groupName}' group`);\n }\n\n tabsGroup.tabs.initTab(tabName);\n\n if (tabsGroup.tabs.length === 1) {\n this.setTab(groupName, tabName);\n }\n }\n\n setTab(groupName: string, tabName: string, params?: {}) {\n const tabsGroup = this.getRegisteredTabsGroup(groupName);\n\n if (!tabsGroup) {\n throw Error(`[EvoUiKit]: trying to set tab for not registered group ${groupName}`);\n }\n\n if (!tabsGroup.tabs.hasTab(tabName)) {\n throw Error(`[EvoUiKit]: trying to set tab with not registered name ${tabName}`);\n }\n\n tabsGroup.tabs.setTab(tabName, params);\n this.tabsState$.next(this.tabsGroupsMap);\n }\n\n getTabEventsSubscription(groupName: string, tabName: string): Observable<EvoTabState> {\n return this.tabsState$.pipe(\n map((tabsGroupsMap: Map<string, EvoTabsGroup>) => {\n return tabsGroupsMap.get(groupName);\n }),\n filter((tabsGroup: EvoTabsGroup) => {\n return tabsGroup.tabs.hasTab(tabName);\n }),\n tap((tabsGroup: EvoTabsGroup) => {\n this.tabsGroupsMap.set(groupName, cloneDeep(tabsGroup));\n }),\n map((tabsGroup: EvoTabsGroup) => {\n return tabsGroup.tabs.getTab(tabName);\n }),\n distinctUntilChanged((prevTabState: EvoTabState, nextTabState: EvoTabState) => {\n return isEqual(prevTabState, nextTabState);\n }),\n );\n }\n\n getGroupEventsSubscription(groupName: string): Observable<EvoTabsGroup> {\n return this.tabsState$.pipe(\n map((tabsGroupsMap: Map<string, EvoTabsGroup>) => {\n return tabsGroupsMap.get(groupName);\n }),\n distinctUntilChanged((prevTabsGroup: EvoTabsGroup, nextTabsGroup: EvoTabsGroup) => {\n return isEqual(prevTabsGroup, nextTabsGroup);\n }),\n tap((tabsGroup: EvoTabsGroup) => {\n this.tabsGroupsMap.set(groupName, cloneDeep(tabsGroup));\n }),\n );\n }\n\n getRegisteredTabsGroup(groupName: string): EvoTabsGroup {\n return this.tabsGroupsMap.get(groupName);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {EvoTabsSize} from './enums/evo-tabs-size';\n\n@Injectable()\nexport class EvoTabsSizeService {\n sizeChanges$: Observable<EvoTabsSize>;\n private size$ = new BehaviorSubject<EvoTabsSize>(EvoTabsSize.normal);\n\n constructor() {\n this.sizeChanges$ = this.size$.asObservable();\n }\n\n set size(value: EvoTabsSize) {\n if (value !== this.size$.value) {\n this.size$.next(value);\n }\n }\n\n get size(): EvoTabsSize {\n return this.size$.value;\n }\n}\n","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit, Optional} from '@angular/core';\nimport {EvoTabsService} from '../evo-tabs.service';\nimport {filter, takeUntil} from 'rxjs/operators';\nimport {EvoTabState} from '../evo-tab-state.collection';\nimport {NavigationEnd, Router, RouterLink} from '@angular/router';\nimport {Subject} from 'rxjs';\nimport {EvoTabsSizeService} from '../evo-tabs-size.service';\nimport {EvoTabsSize} from '../enums/evo-tabs-size';\n\n@Component({\n selector: 'evo-tab, [evoTab]',\n templateUrl: './evo-tab.component.html',\n styleUrls: ['./evo-tab.component.scss'],\n})\nexport class EvoTabComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() name: string;\n\n selected = false;\n size = this.sizeService.size;\n\n private _groupName: string;\n private destroy$ = new Subject<void>();\n\n constructor(\n private tabsService: EvoTabsService,\n private cd: ChangeDetectorRef,\n private sizeService: EvoTabsSizeService,\n @Optional() private routerLink: RouterLink,\n @Optional() private routerLinkWithHref: RouterLink,\n @Optional() private router: Router,\n ) {}\n\n set groupName(tabGroupId: string) {\n this._groupName = tabGroupId;\n this.subscribeToTabChanges();\n }\n\n get groupName(): string {\n return this._groupName;\n }\n\n get wrapperClasses(): {[cssClass: string]: boolean} {\n return {\n selected: this.selected,\n 'size-small': this.size === EvoTabsSize.small,\n };\n }\n\n ngOnInit() {\n this.subscribeOnNavigationEnd();\n }\n\n ngAfterViewInit(): void {\n this.initByUrl();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onChangeTabClick() {\n this.setTabActive();\n }\n\n private initByUrl(): void {\n const urlTree = this.routerLink?.urlTree || this.routerLinkWithHref?.urlTree;\n if (!(urlTree && this.router.isActive(urlTree, true))) {\n return;\n }\n this.setTabActive();\n }\n\n private setTabActive() {\n this.tabsService.setTab(this.groupName, this.name);\n }\n\n private subscribeOnNavigationEnd() {\n this.router?.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.initByUrl());\n }\n\n private subscribeToTabChanges() {\n this.tabsService\n .getTabEventsSubscription(this.groupName, this.name)\n .pipe(takeUntil(this.destroy$))\n .subscribe((data: EvoTabState) => {\n this.selected = data.isActive;\n this.cd.detectChanges();\n });\n }\n}\n","<div\n class=\"evo-tab\"\n (click)=\"onChangeTabClick()\"\n [evoUiClass]=\"wrapperClasses\"\n>\n <ng-content></ng-content>\n</div>\n","import {AfterContentChecked, Component, ContentChildren, Input, OnInit, QueryList} from '@angular/core';\nimport {EvoTabsService} from './evo-tabs.service';\nimport {EvoTabComponent} from './evo-tab/evo-tab.component';\nimport {EvoTabState} from './evo-tab-state.collection';\nimport {isEqual} from 'lodash-es';\nimport {EvoTabsSizeService} from './evo-tabs-size.service';\nimport {EvoTabsSize} from './enums/evo-tabs-size';\n\n@Component({\n selector: 'evo-tabs',\n templateUrl: './evo-tabs.component.html',\n styleUrls: ['./evo-tabs.component.scss'],\n providers: [EvoTabsSizeService],\n})\nexport class EvoTabsComponent implements OnInit, AfterContentChecked {\n @Input() name: string;\n\n @ContentChildren(EvoTabComponent) tabComponentsList: QueryList<any>;\n\n size: EvoTabsSize = EvoTabsSize.normal;\n\n get hasRegisteredTabs() {\n return this.tabsService.getRegisteredTabsGroup(this.name).tabs.length > 0;\n }\n\n get blockClasses(): {[cssClass: string]: boolean} {\n return {\n [`size-${this.size}`]: this.size !== EvoTabsSize.normal,\n };\n }\n\n constructor(public tabsService: EvoTabsService, public sizeService: EvoTabsSizeService) {}\n\n @Input('size') set setSize(size: EvoTabsSize | string) {\n if (EvoTabsSize[size]) {\n const tabsSize = EvoTabsSize[size];\n this.size = tabsSize;\n this.sizeService.size = tabsSize;\n }\n }\n\n ngOnInit() {\n this.tabsService.registerTabsGroup(this.name);\n }\n\n ngAfterContentChecked() {\n const getRegisteredTabsGroupTabs = this.tabsService.getRegisteredTabsGroup(this.name).tabs;\n\n this.tabComponentsList.forEach((tab: EvoTabComponent) => {\n // check tabs with same names\n if (\n this.tabComponentsList.filter((iteratedTab: EvoTabComponent) => iteratedTab.name === tab.name).length >\n 1\n ) {\n throw Error('[EvoUiKit]: some evo-tab components have the same name attribute!');\n }\n\n if (!tab.name) {\n throw Error('[EvoUiKit]: some evo-tab component has no name attribute!');\n }\n\n if (!getRegisteredTabsGroupTabs.hasTab(tab.name)) {\n tab.groupName = this.name;\n this.tabsService.registerTab(this.name, tab.name);\n }\n });\n\n // check redundant tabs\n const registeredTabsNames = getRegisteredTabsGroupTabs.map((tab: EvoTabState) => tab.name);\n const renderedTabsNames = this.tabComponentsList.map((tabComponent: EvoTabComponent) => tabComponent.name);\n\n if (!isEqual(registeredTabsNames, renderedTabsNames)) {\n registeredTabsNames.forEach((tabName: string) => {\n // if we have registered tab which not exists in DOM - delete it\n if (\n !renderedTabsNames.some((renderedTabName: string) => {\n return renderedTabName === tabName;\n })\n ) {\n getRegisteredTabsGroupTabs.removeTab(tabName);\n }\n });\n\n if (!!getRegisteredTabsGroupTabs.length && !getRegisteredTabsGroupTabs.getActiveTab()) {\n this.tabsService.setTab(this.name, getRegisteredTabsGroupTabs[0].name);\n }\n }\n }\n}\n","<div class=\"evo-tabs\" [evoUiClass]=\"blockClasses\" *ngIf=\"hasRegisteredTabs\">\n <div class=\"evo-tabs__container\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { EvoTabsService } from '../evo-tabs.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { EvoTabState } from '../evo-tab-state.collection';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'evo-tab-content, [evoTabContent]',\n templateUrl: './evo-tab-content.component.html',\n})\nexport class EvoTabContentComponent implements OnInit, OnDestroy {\n\n @Input() set tabsRef(tabsRef: string) {\n [this.groupName, this.tabName] = tabsRef.split('#');\n\n if (!this.groupName || !this.tabName) {\n throw Error('[EvoUiKit]: specify both group and name divided by # for evo-tab-content!');\n }\n }\n\n isActive = false;\n\n private groupName: string;\n private tabName: string;\n private destroy$ = new Subject<void>();\n\n constructor(\n private tabsService: EvoTabsService,\n ) {\n }\n\n ngOnInit() {\n this.tabsService.getTabEventsSubscription(this.groupName, this.tabName).pipe(\n takeUntil(this.destroy$)\n ).subscribe((data: EvoTabState) => {\n this.isActive = data.isActive;\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div *ngIf=\"isActive\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTabsComponent } from './evo-tabs.component';\nimport { EvoTabComponent } from './evo-tab/evo-tab.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoTabsService } from './evo-tabs.service';\nimport { EvoTabContentComponent } from './evo-tab-content/evo-tab-content.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n ],\n declarations: [EvoTabsComponent, EvoTabComponent, EvoTabContentComponent],\n providers: [EvoTabsService],\n exports: [EvoTabsComponent, EvoTabComponent, EvoTabContentComponent],\n})\nexport class EvoTabsModule {\n}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EvoBaseControl } from '../../common/evo-base-control';\nimport { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';\n\n@Component({\n selector: 'evo-textarea',\n templateUrl: './evo-textarea.component.html',\n styleUrls: ['./evo-textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class EvoTextareaComponent extends EvoBaseControl implements ControlValueAccessor {\n\n @Input() placeholder = '';\n\n @Input() rows = 3;\n\n _value: string;\n disabled = false;\n focused = false;\n\n get value(): string {\n return this._value;\n }\n\n get textareaClasses(): {[cssClass: string]: boolean} {\n return {\n 'focused': this.focused,\n 'disabled': this.disabled,\n 'valid': this.currentState[EvoControlStates.valid],\n 'invalid': this.currentState[EvoControlStates.invalid],\n };\n }\n\n set value(value: string) {\n this._value = value.trim();\n this.onChange(this.value);\n }\n\n onFocus(): void {\n if (!this.focused) {\n this.focused = true;\n }\n }\n\n onBlur(): void {\n this.focused = false;\n this.onTouched();\n }\n\n onChange = (_) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n}\n","<textarea [(ngModel)]=\"value\"\n [evoUiClass]=\"textareaClasses\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n [disabled]=\"disabled\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n class=\"evo-textarea\"></textarea>\n<evo-control-error *ngIf=\"showErrors\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoTextareaComponent } from './evo-textarea.component';\nimport { EvoControlErrorModule } from '../evo-control-error/evo-control-error.module';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EvoUiKitModule,\n EvoControlErrorModule,\n ],\n declarations: [ EvoTextareaComponent ],\n exports: [ EvoTextareaComponent ],\n})\nexport class EvoTextareaModule {}\n","import { EventEmitter, Injectable, TemplateRef } from '@angular/core';\nimport { EvoToastTypes } from './evo-toast.component';\nimport { Subject } from 'rxjs';\n\nexport interface EvoToast {\n type?: EvoToastTypes;\n message?: string;\n templateRef?: TemplateRef<any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EvoToastService {\n\n pushEvents: Subject<EvoToast> = new Subject<EvoToast>();\n\n private isComponentRegistered = false;\n private isToastInProgress = false;\n private queue: EvoToast[] = [];\n\n constructor() {\n\n }\n\n force(toast: EvoToast) {\n this.queue = [toast];\n this.isToastInProgress = true;\n this.pushEvents.next(toast);\n }\n\n push(toast: EvoToast) {\n this.queue.push(toast);\n\n if (!this.isToastInProgress) {\n this.isToastInProgress = true;\n this.pushEvents.next(this.queue[0]);\n }\n }\n\n toastComplete() {\n this.queue.shift();\n\n if (this.queue.length) {\n this.pushEvents.next(this.queue[0]);\n } else {\n this.isToastInProgress = false;\n }\n }\n\n register() {\n if (this.isComponentRegistered) {\n throw Error('[EvoUiKit]: Another evo-toast already registered. Only one toast component available in app!');\n } else {\n this.isComponentRegistered = true;\n }\n }\n}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { EvoToast, EvoToastService } from './evo-toast.service';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { delay, filter, map, mergeMap, take, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subscription } from 'rxjs';\n\nexport enum EvoToastTypes {\n DEFAULT = 'default',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n@Component({\n selector: 'evo-toast',\n templateUrl: './evo-toast.component.html',\n styleUrls: [ './evo-toast.component.scss' ],\n animations: [\n trigger('appear', [\n transition('void => in', [\n style({\n bottom: '-100px',\n }),\n animate('250ms cubic-bezier(0, 0, 0.2, 1.40)', style({\n bottom: '32px',\n })),\n ]),\n transition('in => void', [\n animate('250ms ease-in', style({\n bottom: '-100px',\n })),\n ]),\n ]),\n ],\n})\nexport class EvoToastComponent implements OnInit {\n\n toast: EvoToast;\n\n private $appearTimeout: Subscription;\n private isForced = false;\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n constructor(\n private toastService: EvoToastService,\n private readonly cdr: ChangeDetectorRef,\n ) { }\n\n ngOnInit() {\n this.toastService.register();\n this.subscribeToToastPushes();\n }\n\n handleAnimationDone() {\n if (this.toast) {\n this.$appearTimeout = of({}).pipe(\n delay(5000),\n ).subscribe(() => {\n this.toast = null;\n this.cdr.detectChanges();\n });\n } else if (!this.isForced) {\n this.toastService.toastComplete();\n }\n\n this.isOpen$.next(!!this.toast);\n }\n\n close() {\n this.$appearTimeout.unsubscribe();\n this.toast = null;\n this.cdr.detectChanges();\n }\n\n private subscribeToToastPushes() {\n this.toastService.pushEvents.pipe(\n tap(() => {\n this.toast = null;\n\n if (this.$appearTimeout && !this.$appearTimeout.closed) {\n this.isForced = true;\n this.$appearTimeout.unsubscribe();\n }\n }),\n mergeMap((toast: EvoToast) => {\n return this.isOpen$.pipe(\n filter((isOpen: boolean) => !isOpen),\n take(1),\n map(() => toast),\n );\n }),\n ).subscribe((toast: EvoToast) => {\n this.toast = toast;\n this.isForced = false;\n this.cdr.detectChanges();\n });\n }\n}\n","<div class=\"evo-toast__wrapper\"\n [@appear]=\"toast ? 'in' : null\"\n (@appear.done)=\"handleAnimationDone()\"\n *ngIf=\"toast\">\n <div class=\"evo-toast\" [evoUiClass]=\"toast?.type || ''\">\n <ng-container *ngIf=\"toast?.message\">\n <div class=\"evo-toast__message\" [innerHTML]=\"toast?.message\"></div>\n </ng-container>\n <ng-container *ngIf=\"toast?.templateRef\">\n <div class=\"evo-toast__message\">\n <ng-container [ngTemplateOutlet]=\"toast?.templateRef\"></ng-container>\n </div>\n </ng-container>\n <evo-icon class=\"evo-toast__close\" shape=\"close\" (click)=\"close()\"></evo-icon>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoToastComponent } from './evo-toast.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoIconModule } from '../evo-icon/evo-icon.module';\nimport { iconClose } from '@evotor-dev/ui-kit/icons/header';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoUiKitModule,\n EvoIconModule.forRoot([\n {\n name: 'sidebarIcons',\n shapes: {\n 'close': iconClose,\n },\n }\n ]),\n ],\n declarations: [EvoToastComponent],\n exports: [EvoToastComponent],\n})\nexport class EvoToastModule {\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'evo-toggle',\n templateUrl: './evo-toggle.component.html',\n styleUrls: ['./evo-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoToggleComponent),\n multi: true,\n },\n ],\n})\nexport class EvoToggleComponent implements ControlValueAccessor {\n isDisabled = false;\n\n private _value: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n ) {\n }\n\n get value(): boolean {\n return this._value;\n }\n\n set value(value: boolean) {\n if (value !== this._value) {\n this._value = value;\n this.onChange(value);\n }\n }\n\n get totalClasses(): string[] {\n const classes: string[] = [];\n\n if (this.isDisabled) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n onChange = (_value) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n if (value !== this._value) {\n this._value = value;\n this.changeDetector.detectChanges();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(state: boolean): void {\n this.isDisabled = state;\n this.changeDetector.detectChanges();\n }\n}\n","<label class=\"evo-toggle\" [evoUiClass]=\"totalClasses\">\n <input type=\"checkbox\" [(ngModel)]=\"value\" [disabled]=\"isDisabled\">\n <span class=\"slider\"></span>\n</label>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoToggleComponent } from './evo-toggle.component';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n EvoUiKitModule,\n ],\n declarations: [ EvoToggleComponent ],\n exports: [ EvoToggleComponent ],\n})\nexport class EvoToggleModule {}\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormArray,\n UntypedFormBuilder,\n UntypedFormControl,\n} from '@angular/forms';\nimport autobind from 'autobind-decorator';\nimport bytes from 'bytes';\nimport * as mime from 'mime';\nimport {EvoBaseControl} from '../../common/evo-base-control';\n\nexport interface EvoUploadItemClickEvent {\n file: File;\n index: number;\n}\n\n@Component({\n selector: 'evo-upload',\n styleUrls: ['./evo-upload.component.scss'],\n templateUrl: './evo-upload.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EvoUploadComponent),\n multi: true,\n },\n ],\n})\nexport class EvoUploadComponent extends EvoBaseControl implements ControlValueAccessor, AfterContentInit, OnInit {\n\n @Input() set accept(extensions: string) {\n if (extensions) {\n this.acceptedMimeTypes = extensions\n .split(',')\n .map(extension => mime.getType(extension));\n }\n }\n @Input() dropZoneLabel = 'Перетащите сюда файлы для загрузки';\n @Input() dropZoneHint: string;\n @Input() hideClearButton = false;\n @Input() hideSubmitButton = false;\n @Input() clickableFiles = false;\n @Input() earlyValidation = false;\n\n @Input() set fileSizeLimit(fileSize: string) {\n this.filesSizeLimitText = fileSize;\n this.filesSizeLimitInBytes = bytes(fileSize);\n }\n\n @Input() maxFiles: number;\n @Input() loading = false;\n\n @Output() submit = new EventEmitter<FileList>();\n @Output() addFiles = new EventEmitter<FileList>();\n @Output() remove = new EventEmitter<number>();\n @Output() clickFile = new EventEmitter<EvoUploadItemClickEvent>();\n\n @ViewChild('inputFile') inputFileElement: ElementRef;\n\n isDisabled = false;\n filesForm = this.formBuilder.array([], [this.maxFilesValidator]);\n filesSizeLimitText: string;\n filesSizeLimitInBytes: number;\n states = {\n isDragOver: false,\n };\n acceptedMimeTypes: string[];\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n protected injector: Injector,\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.subscribeOnFormChanges();\n }\n\n ngAfterContentInit() {\n this.mergeControlsErrors();\n }\n\n onChange = (value) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.isDisabled = isDisabled;\n\n if (!isDisabled) {\n this.mergeControlsErrors();\n }\n }\n\n writeValue(fileList: FileList | File[]) {\n if (fileList && fileList.length > 0) {\n if (fileList instanceof Array || fileList instanceof FileList) {\n this.wipeUploadList();\n if (this.earlyValidation) {\n this.earlyValidationFn(fileList);\n if (this.filesForm.errors) { return; }\n }\n this.processFiles(fileList as FileList);\n } else {\n throw Error('[EvoUiKit]: wrong initial value passed to \"evo-upload\" component. Only FileList and File[] are allowed');\n }\n }\n }\n\n getControlError(control: AbstractControl): string {\n if (!control.errors) {\n return null;\n }\n\n return Object.keys(control.errors)[0];\n }\n\n handleDragOver(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.loading) {\n return;\n }\n this.states.isDragOver = true;\n }\n\n handleDragLeave(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.states.isDragOver = false;\n }\n\n handleDrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n const files = event.dataTransfer.files;\n\n this.states.isDragOver = false;\n if (files.length) {\n if (this.earlyValidation) {\n this.earlyValidationFn(files);\n if (this.filesForm.errors) { return; }\n }\n this.addFiles.emit(files);\n this.processFiles(files);\n }\n }\n\n handleItemRemove(index) {\n if (this.loading || this.isDisabled) {\n return;\n }\n this.filesForm.removeAt(index);\n this.remove.emit(index);\n }\n\n handleResetButtonClick() {\n if (this.loading || this.isDisabled) {\n return;\n }\n\n this.wipeUploadList();\n }\n\n handleSubmitButtonClick() {\n this.submit.emit(this.filesForm.value);\n }\n\n inputChange(files: FileList) {\n if (this.earlyValidation) {\n this.earlyValidationFn(files);\n if (this.filesForm.errors) { return; }\n }\n this.addFiles.emit(files);\n this.processFiles(files);\n }\n\n earlyValidationFn(files: FileList | File[]) {\n this.filesForm.setErrors(null);\n const filesArray = Array.from(files);\n const errors = [];\n if (this.maxFiles && this.isFilesLengthValid(filesArray)) {\n errors.push({ maxFiles: true });\n }\n if (this.filesSizeLimitInBytes && !this.isFilesSizeValid(filesArray)) {\n errors.push({ size: true });\n }\n if (this.acceptedMimeTypes && !this.isFilesExtensionValid(filesArray)) {\n errors.push({ extension: true });\n }\n if (errors.length) {\n this.filesForm.setErrors(Object.assign({}, ...errors));\n this.mergeControlsErrors();\n }\n }\n\n isFilesLengthValid(files: File[]): boolean {\n return this.maxFiles < (files.length + this.filesForm.controls.length);\n }\n\n isFilesSizeValid(files: File[]): boolean {\n return !files.some(({ size }) => this.filesSizeLimitInBytes < size);\n }\n\n isFilesExtensionValid(files: File[]): boolean {\n return files.every(({ type }) => {\n return this.acceptedMimeTypes.includes(type);\n });\n }\n\n processFiles(files: FileList) {\n if (this.loading) {\n return;\n }\n\n Array.from(files).forEach((file: File) => { // tslint:disable:no-for-each-push\n this.filesForm.push(new UntypedFormControl(file, [this.fileExtensionValidator, this.fileSizeValidator]));\n });\n\n if (this.inputFileElement && this.inputFileElement.nativeElement) {\n this.inputFileElement.nativeElement.value = '';\n }\n }\n\n wipeUploadList() {\n while (this.filesForm.controls.length) {\n this.filesForm.removeAt(0);\n }\n }\n\n private mergeControlsErrors() {\n if (!this.control) {\n return;\n }\n\n const errors = Object.assign({}, this.filesForm.errors);\n this.filesForm.controls.forEach((control: UntypedFormControl) => {\n Object.assign(errors, control.errors);\n });\n this.control.setErrors(Object.keys(errors).length ? errors : null);\n }\n\n private subscribeOnFormChanges() {\n this.filesForm.valueChanges.subscribe((value) => {\n this.onChange(value);\n this.mergeControlsErrors();\n });\n }\n\n @autobind\n private fileSizeValidator(control: AbstractControl) {\n if (!this.filesSizeLimitInBytes) {\n return null;\n }\n\n return control.value.size > this.filesSizeLimitInBytes ? { size: true } : null;\n }\n\n @autobind\n private fileExtensionValidator(control: AbstractControl) {\n if (!this.acceptedMimeTypes) {\n return null;\n }\n\n const fileType = (control.value as File).type;\n const isExtensionAllowed = this.acceptedMimeTypes.includes(fileType);\n\n return isExtensionAllowed ? null : { extension: true };\n }\n\n @autobind\n private maxFilesValidator(control: UntypedFormArray) {\n if (!this.maxFiles) {\n return;\n }\n\n return control.controls.length > this.maxFiles ? { maxFiles: true } : null;\n }\n}\n","<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 или\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">загрузите</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-note *ngIf=\"!earlyValidation && filesForm.errors?.maxFiles\" type=\"danger\">\n Нельзя загрузить более {{ maxFiles || 1 | declination:[\"файла\", \"файлов\", \"файлов\"] }}\n </evo-note>\n <evo-note *ngIf=\"earlyValidation && filesForm.errors\" type=\"danger\">\n <ul class=\"evo-list\">\n <li *ngIf=\"filesForm.errors.maxFiles\">\n Нельзя загрузить более {{ maxFiles || 1 | declination:[\"файла\", \"файлов\", \"файлов\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">Максимальный размер одного файла не более {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">Выбран файл недопустимого формата</li>\n </ul>\n </evo-note>\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'\">Размер файла превышает допустимый</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">Неверный формат файла</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 Удалить всё\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 Загрузить\n </button>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {EvoUploadComponent} from './evo-upload.component';\nimport {EvoButtonModule} from '../evo-button/evo-button.module';\nimport {CommonModule} from '@angular/common';\nimport {EvoIconModule} from '../evo-icon/evo-icon.module';\nimport {iconClose} from '@evotor-dev/ui-kit/icons/header';\nimport {iconDecline, iconFile, iconUpload} from '@evotor-dev/ui-kit/icons/system';\nimport {EvoUiKitModule} from '../../evo-ui-kit.module';\nimport {EvoPipesModule} from '../../pipes/evo-pipes.module';\nimport {EvoNoteModule} from '../evo-note';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoNoteModule,\n EvoButtonModule,\n EvoIconModule.forRoot([\n {\n name: 'icons',\n shapes: {\n close: iconClose,\n decline: iconDecline,\n file: iconFile,\n upload: iconUpload,\n },\n },\n ]),\n EvoPipesModule,\n EvoUiKitModule,\n ],\n declarations: [EvoUploadComponent],\n exports: [EvoUploadComponent],\n})\nexport class EvoUploadModule {}\n","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EvoDropdownPositions } from './types/evo-dropdown-positions';\n\nexport const EVO_DROPDOWN_POSITION_DESCRIPTION: Record<EvoDropdownPositions, ConnectedPosition> = {\n 'top-left': {\n originX: 'start', originY: 'top',\n overlayX: 'start', overlayY: 'bottom',\n },\n 'top-center': {\n originX: 'center', originY: 'top',\n overlayX: 'center', overlayY: 'bottom',\n },\n 'top-right': {\n originX: 'end', originY: 'top',\n overlayX: 'end', overlayY: 'bottom',\n },\n 'bottom-left': {\n originX: 'start', originY: 'bottom',\n overlayX: 'start', overlayY: 'top',\n },\n 'bottom-center': {\n originX: 'center', originY: 'bottom',\n overlayX: 'center', overlayY: 'top',\n },\n 'bottom-right': {\n originX: 'end', originY: 'bottom',\n overlayX: 'end', overlayY: 'top',\n },\n 'left-top': {\n originX: 'start', originY: 'top',\n overlayX: 'end', overlayY: 'top',\n },\n 'left-center': {\n originX: 'start', originY: 'center',\n overlayX: 'end', overlayY: 'center',\n },\n 'left-bottom': {\n originX: 'start', originY: 'bottom',\n overlayX: 'end', overlayY: 'bottom',\n },\n 'right-top': {\n originX: 'end', originY: 'top',\n overlayX: 'start', overlayY: 'top',\n },\n 'right-center': {\n originX: 'end', originY: 'center',\n overlayX: 'start', overlayY: 'center',\n },\n 'right-bottom': {\n originX: 'end', originY: 'bottom',\n overlayX: 'start', overlayY: 'bottom',\n },\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { EvoDropdownOriginDirective } from './evo-dropdown-origin.directive';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EVO_DROPDOWN_POSITION_DESCRIPTION } from './evo-dropdown-position-description';\nimport { EvoDropdownPositions } from './types/evo-dropdown-positions';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { filter, take, takeUntil, throttleTime } from 'rxjs/operators';\n\ntype Position = EvoDropdownPositions | ConnectedPosition;\n\nconst DEFAULT_POSITION = [EVO_DROPDOWN_POSITION_DESCRIPTION['bottom-right']];\n\n@Component({\n selector: 'evo-dropdown',\n templateUrl: './evo-dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoDropdownComponent implements OnDestroy {\n @Input() scrollStrategy: 'noop' | 'close' = 'close';\n\n @Input() dropdownOrigin!: EvoDropdownOriginDirective;\n @Output() isOpenChange = new EventEmitter<boolean>();\n connectedPositions: ConnectedPosition[] = DEFAULT_POSITION;\n\n // @Input() needCloseOnOutsideClick = true; // TODO: add after update to ng12\n\n private scrollEventSubscription: Subscription;\n private destroy$ = new Subject<void>();\n private _isOpen = false;\n\n constructor(\n protected readonly viewContainerRef: ViewContainerRef,\n private readonly ngZone: NgZone,\n private readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n @Input() set isOpen(value: boolean) {\n this._isOpen = value;\n\n if (value) {\n this.listenScroll();\n }\n }\n\n @Input() set positions(value: Position[] | Position) {\n this.connectedPositions = value ? [].concat(value).map(p => EVO_DROPDOWN_POSITION_DESCRIPTION[p] || p) : DEFAULT_POSITION;\n }\n\n private get element(): HTMLElement | null {\n if (!this.viewContainerRef) {\n return;\n }\n\n return this.viewContainerRef?.element instanceof ElementRef\n ? this.viewContainerRef.element?.nativeElement as HTMLElement\n : this.viewContainerRef.element as HTMLElement;\n }\n\n toggle(): void {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open(): void {\n if (this.isOpen) {\n return;\n }\n\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n this.cdr.detectChanges();\n }\n\n close(): void {\n if (!this.isOpen) {\n return;\n }\n\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n\n if (this.scrollEventSubscription && !this.scrollEventSubscription.closed) {\n this.scrollEventSubscription.unsubscribe();\n }\n\n this.cdr.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n /**\n * Listens to the scroll in the dropdown container and closes it\n */\n private listenScroll() {\n if (this.scrollStrategy === 'noop') {\n return;\n }\n\n this.scrollEventSubscription = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'scroll', {capture: true})\n .pipe(\n throttleTime(10),\n filter((scrollEvent: Event) => {\n return (scrollEvent.target instanceof HTMLElement || scrollEvent.target instanceof HTMLDocument)\n && (scrollEvent.target.contains(this.element) || !this.element);\n }),\n take(1),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.ngZone.run(() => {\n this.close();\n });\n });\n });\n }\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"dropdownOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayPositions]=\"connectedPositions\"\n>\n <!-- TODO: (overlayOutsideClick)=\"needCloseOnOutsideClick && close()\" add after update to ng12-->\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\n\n@Directive({\n selector: '[evoDropdownOrigin]',\n exportAs: 'evoDropdownOrigin',\n})\nexport class EvoDropdownOriginDirective extends CdkOverlayOrigin {\n get isDropdownOpen(): boolean {\n return this._isDropdownOpen;\n }\n\n set isDropdownOpen(value: boolean) {\n this._isDropdownOpen = value;\n this.cdr.markForCheck();\n }\n private _isDropdownOpen = false;\n\n constructor(private cdr: ChangeDetectorRef, elementRef: ElementRef) {\n super(elementRef);\n }\n\n open(): void {\n this.isDropdownOpen = true;\n }\n\n close(): void {\n this.isDropdownOpen = false;\n }\n\n toggle(): void {\n if (this.isDropdownOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoDropdownComponent } from './evo-dropdown.component';\nimport { EvoDropdownOriginDirective } from './evo-dropdown-origin.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [EvoDropdownComponent, EvoDropdownOriginDirective],\n imports: [CommonModule, OverlayModule],\n exports: [EvoDropdownComponent, EvoDropdownOriginDirective],\n})\nexport class EvoDropdownModule {}\n","export const CSS_BREAKPOINTS = {\n mobile: 500,\n tablet: 768,\n desktopS: 992,\n desktopM: 1200,\n desktopL: 1680,\n desktopXL: 2500,\n};\n","import { InjectionToken, Provider } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { CSS_BREAKPOINTS } from './css-breakpoints';\n\nexport const MOBILE_VIEW = new InjectionToken<Observable<boolean>>('MOBILE_VIEW');\n\nexport const MobileViewProvider: Provider = {\n provide: MOBILE_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(max-width: ${ CSS_BREAKPOINTS.tablet - 1 }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const TABLET_VIEW = new InjectionToken<Observable<boolean>>('TABLET_VIEW');\n\nexport const TabletViewProvider: Provider = {\n provide: TABLET_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(min-width: ${ CSS_BREAKPOINTS.tablet }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const DESKTOP_SMALL_VIEW = new InjectionToken<Observable<boolean>>('DESKTOP_SMALL_VIEW');\n\nexport const DesktopSmallViewProvider: Provider = {\n provide: DESKTOP_SMALL_VIEW,\n useFactory: (breakpointObserver: BreakpointObserver) =>\n breakpointObserver.observe(`(min-width: ${ CSS_BREAKPOINTS.desktopS }px)`).pipe(map((breakpointState) => breakpointState.matches)),\n deps: [BreakpointObserver],\n};\n\nexport const VIEW_BREAKPOINTS_PROVIDERS = [MobileViewProvider, TabletViewProvider, DesktopSmallViewProvider];\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { EvoDropdownOriginDirective } from '../../evo-dropdown';\nimport { NavItem } from '../types/nav-item';\n\n@Component({\n selector: 'evo-navbar-item',\n templateUrl: './evo-navbar-item.component.html',\n styleUrls: ['./evo-navbar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavbarItemComponent {\n @Input() item!: NavItem;\n /**\n * Is a secondary link\n */\n @Input() isNested?: boolean;\n @Input() isMobileView?: boolean;\n @Input() subMenuPositions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ];\n\n @Output() openSubMenu = new EventEmitter<EvoDropdownOriginDirective>();\n @Output() closeSubMenu = new EventEmitter<EvoDropdownOriginDirective>();\n\n toggle(origin: EvoDropdownOriginDirective) {\n if (origin.isDropdownOpen) {\n this.closeSubMenu.emit(origin);\n } else {\n this.openSubMenu.emit(origin);\n }\n }\n\n open(origin: EvoDropdownOriginDirective) {\n if (!origin.isDropdownOpen) {\n this.openSubMenu.emit(origin);\n }\n }\n\n close(origin: EvoDropdownOriginDirective) {\n if (origin.isDropdownOpen) {\n this.closeSubMenu.emit(origin);\n }\n }\n\n\n}\n","<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\"></ng-container>\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section\n class=\"evo-navbar__sub\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n ></evo-navbar-item>\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { Observable } from 'rxjs';\nimport { MOBILE_VIEW } from '../../common/constants/view-breakpoint-streams';\nimport { EvoDropdownOriginDirective } from '../evo-dropdown';\nimport { NavItem } from './types/nav-item';\n\n@Component({\n selector: 'evo-navbar',\n templateUrl: './evo-navbar.component.html',\n styleUrls: ['./evo-navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavbarComponent {\n @Input() subMenuPositions?: ConnectedPosition[];\n @Input() items!: NavItem[];\n\n lastOpenedSubMenu?: EvoDropdownOriginDirective;\n\n constructor(\n @Inject(MOBILE_VIEW)\n public readonly isMobileView$: Observable<boolean>,\n ) {}\n\n closeLastOpenedSubMenu(): void {\n if (this.lastOpenedSubMenu) {\n this.closeSubMenu(this.lastOpenedSubMenu);\n }\n }\n\n toggleSubMenu(origin: EvoDropdownOriginDirective): void {\n if (origin.isDropdownOpen) {\n this.closeSubMenu(origin);\n } else {\n this.openSubMenu(origin);\n }\n }\n\n openSubMenu(origin: EvoDropdownOriginDirective): void {\n origin.open();\n this.lastOpenedSubMenu = origin;\n }\n\n closeSubMenu(origin: EvoDropdownOriginDirective): void {\n origin.close();\n this.lastOpenedSubMenu = undefined;\n }\n}\n","<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n <evo-navbar-item\n *ngFor=\"let item of items\"\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n ></evo-navbar-item>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvoNavbarComponent } from './evo-navbar.component';\nimport { RouterModule } from '@angular/router';\nimport { EvoNavbarItemComponent } from './evo-navbar-item/evo-navbar-item.component';\nimport { MobileViewProvider } from '../../common/constants/view-breakpoint-streams';\nimport { EvoUiKitModule } from '../../evo-ui-kit.module';\nimport { EvoDropdownModule } from '../evo-dropdown';\n\n@NgModule({\n declarations: [EvoNavbarComponent, EvoNavbarItemComponent],\n imports: [CommonModule, EvoUiKitModule, RouterModule, EvoDropdownModule],\n exports: [EvoNavbarComponent],\n providers: [MobileViewProvider],\n})\nexport class EvoNavbarModule {}\n","import {ChangeDetectionStrategy, Component} from \"@angular/core\";\n\n@Component({\n selector: 'evo-navigation-button',\n templateUrl: './evo-navigation-button.component.html',\n styleUrls: ['./evo-navigation-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EvoNavigationButtonComponent {\n}\n","<button class=\"evo-navigation-button\">\n <div class=\"evo-navigation-button__icon-wrapper\">\n <evo-icon class=\"evo-navigation-button__icon\" shape=\"chevron-left\"></evo-icon>\n </div>\n <span class=\"evo-navigation-button__label\"><ng-content></ng-content></span>\n</button>\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {EvoNavigationButtonComponent} from \"./evo-navigation-button.component\";\nimport {EvoIconModule} from \"../evo-icon\";\nimport {iconChevronLeft} from '@evotor-dev/ui-kit/icons/navigation';\n\n@NgModule({\n imports: [\n CommonModule,\n EvoIconModule.forRoot([\n {\n name: 'navigation',\n shapes: {\n 'chevron-left': iconChevronLeft,\n },\n },\n ]),\n ],\n declarations: [\n EvoNavigationButtonComponent,\n ],\n exports: [\n EvoNavigationButtonComponent,\n ]\n})\nexport class EvoNavigationButtonModule {\n}\n","export class Serializable {\n constructor(data) {\n Object.assign(this, data);\n }\n}\n","/*\n * Public API Surface of evo-ui-kit\n */\n\nexport * from './lib/evo-ui-kit.module';\n\nexport * from './lib/common/form-helper/form-helper';\nexport * from './lib/common/evo-control-state-manager/evo-control-state-manager';\nexport * from './lib/common/evo-control-state-manager/evo-control-states.enum';\nexport * from './lib/common/evo-control-state-manager/evo-control-state.interface';\nexport * from './lib/common/evo-base-control';\n\n// Animations\nexport * from './lib/common/animations/index';\n\n// Collection\nexport * from './lib/common/collection/index';\n\n// Decorators\nexport * from './lib/decorators/index';\n\n// Directives\nexport * from './lib/directives/index';\n\n// Operators\nexport * from './lib/operators/index';\n\n// Components\nexport * from './lib/components/evo-accordion/index';\nexport * from './lib/components/evo-autocomplete/index';\nexport * from './lib/components/evo-badge/index';\nexport * from './lib/components/evo-button/index';\nexport * from './lib/components/evo-checkbox/index';\nexport * from './lib/components/evo-chip/index';\nexport * from './lib/components/evo-control-error/index';\nexport * from './lib/components/evo-control-label/index';\nexport * from './lib/components/evo-counter/index';\nexport * from './lib/components/evo-datepicker/index';\nexport * from './lib/components/evo-icon/index';\nexport * from './lib/components/evo-icon-button/index';\nexport * from './lib/components/evo-icon-number/index'\nexport * from './lib/components/evo-input/index';\nexport * from './lib/components/evo-input-contenteditable/index';\nexport * from './lib/components/evo-loader/index';\nexport * from './lib/components/evo-modal/index';\nexport * from './lib/components/evo-note/index';\nexport * from './lib/components/evo-paginator/index';\nexport * from './lib/components/evo-plus-minus/index';\nexport * from './lib/components/evo-popover/index';\nexport * from './lib/components/evo-portal/index';\nexport * from './lib/components/evo-radio/index';\nexport * from './lib/components/evo-radio-group/index';\nexport * from './lib/components/evo-radioshape/index';\nexport * from './lib/components/evo-segmented-bar/index';\nexport * from './lib/components/evo-select/index';\nexport * from './lib/components/evo-sidebar/index';\nexport * from './lib/components/evo-stepper/index';\nexport * from './lib/components/evo-submenu/index';\nexport * from './lib/components/evo-switcher/index';\nexport * from './lib/components/evo-table/index';\nexport * from './lib/components/evo-tabs/index';\nexport * from './lib/components/evo-textarea/index';\nexport * from './lib/components/evo-toast/index';\nexport * from './lib/components/evo-toggle/index';\nexport * from './lib/components/evo-upload/index';\nexport * from './lib/components/evo-dropdown/index';\nexport * from './lib/components/evo-navbar/index';\nexport * from './lib/components/evo-navigation-button/index';\n\nexport * from './lib/pipes/index';\n\n// Services\nexport * from './lib/services/index';\nexport * from './lib/components/evo-portal/index';\n\nexport * from './lib/common/evo-control-state-manager/evo-control-state-manager';\nexport * from './lib/common/form-helper/form-helper';\nexport * from './lib/common/constants/css-breakpoints';\nexport * from './lib/common/constants/view-breakpoint-streams';\nexport * from './lib/common/types/index';\nexport * from './lib/common/evo-base-control';\nexport * from './lib/common/Serializable';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["stringify","i1.EvoExpandedService","i2.EvoIconsLibrary","i3","i1.EvoIsExpandedDirective","i2.EvoExpandedService","i2","i3.EvoIconComponent","i1","i2.SafeHtmlPipe","i2.EvoUiClassDirective","i3.EvoControlErrorComponent","i4.EvoIconComponent","i3.EvoUiClassDirective","i4.EvoControlErrorComponent","i3.EvoCheckboxComponent","i1.EvoUiClassDirective","i3.EvoCircularLoaderComponent","i1.EvoModalService","i3.EvoButtonComponent","i2.EvoClickOutsideDirective","i2.EvoIconComponent","i2.EvoSidebarService","i4.EvoSidebarHeaderComponent","i5.EvoSidebarContentComponent","i6.EvoSidebarFooterComponent","i1.EvoStepperEvents","i1.EvoTabsService","i2.EvoTabsSizeService","i4.EvoUiClassDirective","i1.EvoToastService","i3.EvoNoteComponent","i4.EvoButtonComponent","i5.EvoIconComponent","i6.EvoUiClassDirective","i7.DeclinationPipe","i8.SafeHtmlPipe","i2.EvoLetDirective","i4.EvoDropdownComponent","i5.EvoDropdownOriginDirective","i2.EvoNavbarItemComponent","i1.EvoIconComponent"],"mappings":"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"}
|