@evotor-dev/ui-kit 6.0.1
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/.releaserc.json +6 -0
- package/README.md +117 -0
- package/assets/color-icons/404.svg +11 -0
- package/assets/color-icons/alert-circle.svg +6 -0
- package/assets/color-icons/alert-triangle.svg +6 -0
- package/assets/color-icons/application.svg +6 -0
- package/assets/color-icons/backup.svg +17 -0
- package/assets/color-icons/bank.svg +12 -0
- package/assets/color-icons/barcode.svg +12 -0
- package/assets/color-icons/big-data.svg +17 -0
- package/assets/color-icons/biil.svg +10 -0
- package/assets/color-icons/bill.svg +10 -0
- package/assets/color-icons/blank.svg +10 -0
- package/assets/color-icons/card-attention.svg +20 -0
- package/assets/color-icons/card.svg +9 -0
- package/assets/color-icons/cards.svg +18 -0
- package/assets/color-icons/cash.svg +19 -0
- package/assets/color-icons/check.svg +6 -0
- package/assets/color-icons/clock.svg +6 -0
- package/assets/color-icons/cloud.svg +6 -0
- package/assets/color-icons/code.svg +14 -0
- package/assets/color-icons/comment-approved.svg +20 -0
- package/assets/color-icons/comment-declined.svg +19 -0
- package/assets/color-icons/comment.svg +20 -0
- package/assets/color-icons/data-matrix-znak.svg +23 -0
- package/assets/color-icons/data-matrix.svg +29 -0
- package/assets/color-icons/document-fail.svg +14 -0
- package/assets/color-icons/document-signed.svg +15 -0
- package/assets/color-icons/document.svg +11 -0
- package/assets/color-icons/evotor-payment.svg +17 -0
- package/assets/color-icons/gift.svg +17 -0
- package/assets/color-icons/highlight.svg +21 -0
- package/assets/color-icons/hr.svg +22 -0
- package/assets/color-icons/info-circle.svg +6 -0
- package/assets/color-icons/link.svg +11 -0
- package/assets/color-icons/mail-new.svg +10 -0
- package/assets/color-icons/market.svg +13 -0
- package/assets/color-icons/money.svg +17 -0
- package/assets/color-icons/news.svg +10 -0
- package/assets/color-icons/not-found.svg +15 -0
- package/assets/color-icons/number-1.svg +6 -0
- package/assets/color-icons/number-2.svg +6 -0
- package/assets/color-icons/number-3.svg +6 -0
- package/assets/color-icons/number.svg +6 -0
- package/assets/color-icons/numbers.svg +13 -0
- package/assets/color-icons/ok.svg +6 -0
- package/assets/color-icons/person.svg +9 -0
- package/assets/color-icons/phone.svg +13 -0
- package/assets/color-icons/piechart.svg +15 -0
- package/assets/color-icons/power.svg +10 -0
- package/assets/color-icons/production.svg +24 -0
- package/assets/color-icons/purse.svg +12 -0
- package/assets/color-icons/qr.svg +6 -0
- package/assets/color-icons/rating.svg +19 -0
- package/assets/color-icons/recommended.svg +12 -0
- package/assets/color-icons/sbp.svg +6 -0
- package/assets/color-icons/settings.svg +6 -0
- package/assets/color-icons/shelf.svg +11 -0
- package/assets/color-icons/sim-activated.svg +20 -0
- package/assets/color-icons/sim-cancel.svg +19 -0
- package/assets/color-icons/sim-normal.svg +16 -0
- package/assets/color-icons/sim-waiting.svg +19 -0
- package/assets/color-icons/software-check.svg +16 -0
- package/assets/color-icons/software-fail.svg +15 -0
- package/assets/color-icons/software-support.svg +11 -0
- package/assets/color-icons/software.svg +11 -0
- package/assets/color-icons/stop.svg +13 -0
- package/assets/color-icons/tap-on-phone.svg +16 -0
- package/assets/color-icons/telegram.svg +10 -0
- package/assets/color-icons/terminal-fail.svg +14 -0
- package/assets/color-icons/terminal-free.svg +15 -0
- package/assets/color-icons/terminal-off.svg +14 -0
- package/assets/color-icons/terminal-success.svg +14 -0
- package/assets/color-icons/terminal.svg +13 -0
- package/assets/color-icons/traffic-light-green.svg +9 -0
- package/assets/color-icons/traffic-light-red.svg +9 -0
- package/assets/color-icons/traffic-light-yellow.svg +9 -0
- package/assets/color-icons/usb.svg +23 -0
- package/assets/color-icons/version-check.svg +15 -0
- package/assets/color-icons/version-fail.svg +14 -0
- package/assets/color-icons/version.svg +10 -0
- package/assets/color-icons/wait.svg +6 -0
- package/assets/color-icons/waiting.svg +15 -0
- package/assets/color-icons/warning.svg +6 -0
- package/assets/color-icons/wi-fi.svg +5 -0
- package/assets/color-icons/wifi.svg +5 -0
- package/bundles/evotor-dev-ui-kit-icons-category.umd.js +69 -0
- package/bundles/evotor-dev-ui-kit-icons-category.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-emotions.umd.js +39 -0
- package/bundles/evotor-dev-ui-kit-icons-emotions.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-header.umd.js +54 -0
- package/bundles/evotor-dev-ui-kit-icons-header.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-info.umd.js +72 -0
- package/bundles/evotor-dev-ui-kit-icons-info.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-navigation.umd.js +96 -0
- package/bundles/evotor-dev-ui-kit-icons-navigation.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-side-menu.umd.js +108 -0
- package/bundles/evotor-dev-ui-kit-icons-side-menu.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons-system.umd.js +510 -0
- package/bundles/evotor-dev-ui-kit-icons-system.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit-icons.umd.js +594 -0
- package/bundles/evotor-dev-ui-kit-icons.umd.js.map +1 -0
- package/bundles/evotor-dev-ui-kit.umd.js +8756 -0
- package/bundles/evotor-dev-ui-kit.umd.js.map +1 -0
- package/esm2015/evotor-dev-ui-kit.js +5 -0
- package/esm2015/icons/category/evotor-dev-ui-kit-icons-category.js +5 -0
- package/esm2015/icons/category/index.js +38 -0
- package/esm2015/icons/emotions/evotor-dev-ui-kit-icons-emotions.js +5 -0
- package/esm2015/icons/emotions/index.js +18 -0
- package/esm2015/icons/evotor-dev-ui-kit-icons.js +5 -0
- package/esm2015/icons/header/evotor-dev-ui-kit-icons-header.js +5 -0
- package/esm2015/icons/header/index.js +28 -0
- package/esm2015/icons/index.js +9 -0
- package/esm2015/icons/info/evotor-dev-ui-kit-icons-info.js +5 -0
- package/esm2015/icons/info/index.js +40 -0
- package/esm2015/icons/navigation/evotor-dev-ui-kit-icons-navigation.js +5 -0
- package/esm2015/icons/navigation/index.js +56 -0
- package/esm2015/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.js +5 -0
- package/esm2015/icons/side-menu/index.js +64 -0
- package/esm2015/icons/system/evotor-dev-ui-kit-icons-system.js +5 -0
- package/esm2015/icons/system/index.js +332 -0
- package/esm2015/lib/common/Serializable.js +6 -0
- package/esm2015/lib/common/animations/expand.animation.js +28 -0
- package/esm2015/lib/common/animations/index.js +4 -0
- package/esm2015/lib/common/animations/sidebar.animation.js +10 -0
- package/esm2015/lib/common/animations/skip-initial-render.animation.js +3 -0
- package/esm2015/lib/common/collection/evo-collection-fabric.js +10 -0
- package/esm2015/lib/common/collection/evo-collection.js +7 -0
- package/esm2015/lib/common/collection/index.js +3 -0
- package/esm2015/lib/common/constants/css-breakpoints.js +9 -0
- package/esm2015/lib/common/constants/view-breakpoint-streams.js +24 -0
- package/esm2015/lib/common/evo-base-control.js +47 -0
- package/esm2015/lib/common/evo-control-state-manager/evo-control-state-manager.js +13 -0
- package/esm2015/lib/common/evo-control-state-manager/evo-control-state.interface.js +2 -0
- package/esm2015/lib/common/evo-control-state-manager/evo-control-states.enum.js +6 -0
- package/esm2015/lib/common/form-helper/form-helper.js +31 -0
- package/esm2015/lib/common/types/evo-color.js +2 -0
- package/esm2015/lib/common/types/evo-size.js +2 -0
- package/esm2015/lib/common/types/index.js +3 -0
- package/esm2015/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.js +36 -0
- package/esm2015/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.js +24 -0
- package/esm2015/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.js +62 -0
- package/esm2015/lib/components/evo-accordion/evo-accordion.component.js +23 -0
- package/esm2015/lib/components/evo-accordion/evo-accordion.module.js +66 -0
- package/esm2015/lib/components/evo-accordion/index.js +2 -0
- package/esm2015/lib/components/evo-accordion/public-api.js +6 -0
- package/esm2015/lib/components/evo-alert/evo-alert.component.js +83 -0
- package/esm2015/lib/components/evo-alert/evo-alert.module.js +29 -0
- package/esm2015/lib/components/evo-alert/index.js +2 -0
- package/esm2015/lib/components/evo-alert/public-api.js +3 -0
- package/esm2015/lib/components/evo-autocomplete/components/evo-autocomplete.component.js +364 -0
- package/esm2015/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.js +43 -0
- package/esm2015/lib/components/evo-autocomplete/evo-autocomplete.module.js +58 -0
- package/esm2015/lib/components/evo-autocomplete/helpers/switch-query-to-list.js +6 -0
- package/esm2015/lib/components/evo-autocomplete/index.js +2 -0
- package/esm2015/lib/components/evo-autocomplete/models/DaDataParty.js +28 -0
- package/esm2015/lib/components/evo-autocomplete/models/dadata.model.js +48 -0
- package/esm2015/lib/components/evo-autocomplete/public-api.js +7 -0
- package/esm2015/lib/components/evo-autocomplete/types/evo-autocomplete-size.js +2 -0
- package/esm2015/lib/components/evo-badge/evo-badge.component.js +45 -0
- package/esm2015/lib/components/evo-badge/evo-badge.module.js +28 -0
- package/esm2015/lib/components/evo-badge/index.js +3 -0
- package/esm2015/lib/components/evo-badge/public-api.js +3 -0
- package/esm2015/lib/components/evo-badge/types/evo-badge-color.js +2 -0
- package/esm2015/lib/components/evo-badge/types/evo-badge-size.js +2 -0
- package/esm2015/lib/components/evo-badge/types/index.js +3 -0
- package/esm2015/lib/components/evo-banner/evo-banner.component.js +116 -0
- package/esm2015/lib/components/evo-banner/evo-banner.module.js +27 -0
- package/esm2015/lib/components/evo-banner/index.js +2 -0
- package/esm2015/lib/components/evo-banner/public-api.js +3 -0
- package/esm2015/lib/components/evo-button/evo-button.component.js +87 -0
- package/esm2015/lib/components/evo-button/evo-button.module.js +26 -0
- package/esm2015/lib/components/evo-button/index.js +2 -0
- package/esm2015/lib/components/evo-button/public-api.js +3 -0
- package/esm2015/lib/components/evo-checkbox/evo-checkbox.component.js +87 -0
- package/esm2015/lib/components/evo-checkbox/evo-checkbox.module.js +34 -0
- package/esm2015/lib/components/evo-checkbox/index.js +2 -0
- package/esm2015/lib/components/evo-checkbox/public-api.js +3 -0
- package/esm2015/lib/components/evo-chip/evo-chip.component.js +138 -0
- package/esm2015/lib/components/evo-chip/evo-chip.module.js +45 -0
- package/esm2015/lib/components/evo-chip/index.js +2 -0
- package/esm2015/lib/components/evo-chip/public-api.js +3 -0
- package/esm2015/lib/components/evo-control-error/evo-control-error.component.js +43 -0
- package/esm2015/lib/components/evo-control-error/evo-control-error.module.js +30 -0
- package/esm2015/lib/components/evo-control-error/index.js +2 -0
- package/esm2015/lib/components/evo-control-error/public-api.js +3 -0
- package/esm2015/lib/components/evo-control-label/evo-control-label.component.js +23 -0
- package/esm2015/lib/components/evo-control-label/evo-control-label.module.js +22 -0
- package/esm2015/lib/components/evo-control-label/index.js +2 -0
- package/esm2015/lib/components/evo-control-label/public-api.js +3 -0
- package/esm2015/lib/components/evo-counter/evo-counter.component.js +43 -0
- package/esm2015/lib/components/evo-counter/evo-counter.module.js +30 -0
- package/esm2015/lib/components/evo-counter/index.js +2 -0
- package/esm2015/lib/components/evo-counter/public-api.js +3 -0
- package/esm2015/lib/components/evo-datepicker/evo-datepicker.component.js +557 -0
- package/esm2015/lib/components/evo-datepicker/evo-datepicker.module.js +34 -0
- package/esm2015/lib/components/evo-datepicker/flatpickr-options.interface.js +2 -0
- package/esm2015/lib/components/evo-datepicker/index.js +2 -0
- package/esm2015/lib/components/evo-datepicker/public-api.js +3 -0
- package/esm2015/lib/components/evo-datepicker/templates/index.js +114 -0
- package/esm2015/lib/components/evo-dropdown/evo-dropdown-origin.directive.js +41 -0
- package/esm2015/lib/components/evo-dropdown/evo-dropdown-position-description.js +51 -0
- package/esm2015/lib/components/evo-dropdown/evo-dropdown.component.js +112 -0
- package/esm2015/lib/components/evo-dropdown/evo-dropdown.module.js +20 -0
- package/esm2015/lib/components/evo-dropdown/index.js +2 -0
- package/esm2015/lib/components/evo-dropdown/public-api.js +5 -0
- package/esm2015/lib/components/evo-dropdown/types/evo-dropdown-positions.js +2 -0
- package/esm2015/lib/components/evo-icon/classes/evo-icons-library.js +19 -0
- package/esm2015/lib/components/evo-icon/evo-icon.component.js +57 -0
- package/esm2015/lib/components/evo-icon/evo-icon.module.js +57 -0
- package/esm2015/lib/components/evo-icon/index.js +2 -0
- package/esm2015/lib/components/evo-icon/interfaces/icons-category.js +2 -0
- package/esm2015/lib/components/evo-icon/interfaces/icons-source.js +2 -0
- package/esm2015/lib/components/evo-icon/public-api.js +6 -0
- package/esm2015/lib/components/evo-icon-button/evo-icon-button.component.js +62 -0
- package/esm2015/lib/components/evo-icon-button/evo-icon-button.module.js +26 -0
- package/esm2015/lib/components/evo-icon-button/index.js +2 -0
- package/esm2015/lib/components/evo-icon-button/public-api.js +3 -0
- package/esm2015/lib/components/evo-icon-button/types/evo-icon-button-theme.js +2 -0
- package/esm2015/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.js +13 -0
- package/esm2015/lib/components/evo-input/evo-input.component.js +363 -0
- package/esm2015/lib/components/evo-input/evo-input.module.js +66 -0
- package/esm2015/lib/components/evo-input/index.js +2 -0
- package/esm2015/lib/components/evo-input/public-api.js +4 -0
- package/esm2015/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.js +157 -0
- package/esm2015/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.js +34 -0
- package/esm2015/lib/components/evo-input-contenteditable/index.js +2 -0
- package/esm2015/lib/components/evo-input-contenteditable/public-api.js +3 -0
- package/esm2015/lib/components/evo-input-contenteditable/utils/clear-multiline.js +7 -0
- package/esm2015/lib/components/evo-loader/evo-circular-loader.component.js +23 -0
- package/esm2015/lib/components/evo-loader/evo-loader.component.js +28 -0
- package/esm2015/lib/components/evo-loader/evo-loader.module.js +33 -0
- package/esm2015/lib/components/evo-loader/index.js +2 -0
- package/esm2015/lib/components/evo-loader/public-api.js +4 -0
- package/esm2015/lib/components/evo-modal/evo-modal.component.js +122 -0
- package/esm2015/lib/components/evo-modal/evo-modal.module.js +32 -0
- package/esm2015/lib/components/evo-modal/evo-modal.service.js +32 -0
- package/esm2015/lib/components/evo-modal/index.js +2 -0
- package/esm2015/lib/components/evo-modal/public-api.js +4 -0
- package/esm2015/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.js +63 -0
- package/esm2015/lib/components/evo-navbar/evo-navbar.component.js +51 -0
- package/esm2015/lib/components/evo-navbar/evo-navbar.module.js +24 -0
- package/esm2015/lib/components/evo-navbar/index.js +2 -0
- package/esm2015/lib/components/evo-navbar/interfaces/nav-item-main-info.js +2 -0
- package/esm2015/lib/components/evo-navbar/interfaces/nav-item-router-link.js +2 -0
- package/esm2015/lib/components/evo-navbar/interfaces/nav-item.href.js +2 -0
- package/esm2015/lib/components/evo-navbar/public-api.js +4 -0
- package/esm2015/lib/components/evo-navbar/types/nav-item.js +2 -0
- package/esm2015/lib/components/evo-note/evo-note.component.js +45 -0
- package/esm2015/lib/components/evo-note/evo-note.module.js +45 -0
- package/esm2015/lib/components/evo-note/index.js +2 -0
- package/esm2015/lib/components/evo-note/public.api.js +4 -0
- package/esm2015/lib/components/evo-note/types/evo-note-type.js +2 -0
- package/esm2015/lib/components/evo-paginator/evo-paginator.component.js +114 -0
- package/esm2015/lib/components/evo-paginator/evo-paginator.module.js +22 -0
- package/esm2015/lib/components/evo-paginator/index.js +2 -0
- package/esm2015/lib/components/evo-paginator/public-api.js +3 -0
- package/esm2015/lib/components/evo-plus-minus/evo-plus-minus.component.js +30 -0
- package/esm2015/lib/components/evo-plus-minus/evo-plus-minus.module.js +22 -0
- package/esm2015/lib/components/evo-plus-minus/index.js +2 -0
- package/esm2015/lib/components/evo-plus-minus/public-api.js +3 -0
- package/esm2015/lib/components/evo-popover/evo-popover.component.js +177 -0
- package/esm2015/lib/components/evo-popover/evo-popover.module.js +26 -0
- package/esm2015/lib/components/evo-popover/index.js +2 -0
- package/esm2015/lib/components/evo-popover/public-api.js +3 -0
- package/esm2015/lib/components/evo-portal/evo-portal-outlet.class.js +7 -0
- package/esm2015/lib/components/evo-portal/evo-portal-outlet.directive.js +19 -0
- package/esm2015/lib/components/evo-portal/evo-portal.module.js +32 -0
- package/esm2015/lib/components/evo-portal/evo-portal.service.js +92 -0
- package/esm2015/lib/components/evo-portal/index.js +2 -0
- package/esm2015/lib/components/evo-portal/public-api.js +5 -0
- package/esm2015/lib/components/evo-radio/evo-radio.component.js +56 -0
- package/esm2015/lib/components/evo-radio/evo-radio.module.js +26 -0
- package/esm2015/lib/components/evo-radio/index.js +2 -0
- package/esm2015/lib/components/evo-radio/public-api.js +3 -0
- package/esm2015/lib/components/evo-radio-group/evo-radio-group.component.js +128 -0
- package/esm2015/lib/components/evo-radio-group/evo-radio-group.module.js +34 -0
- package/esm2015/lib/components/evo-radio-group/index.js +2 -0
- package/esm2015/lib/components/evo-radio-group/public-api.js +3 -0
- package/esm2015/lib/components/evo-radio-group/typings/options.js +2 -0
- package/esm2015/lib/components/evo-radioshape/components/evo-radioshape.component.js +61 -0
- package/esm2015/lib/components/evo-radioshape/evo-radioshape.module.js +33 -0
- package/esm2015/lib/components/evo-radioshape/index.js +2 -0
- package/esm2015/lib/components/evo-radioshape/public-api.js +3 -0
- package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.js +24 -0
- package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.js +79 -0
- package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar.module.js +39 -0
- package/esm2015/lib/components/evo-segmented-bar/index.js +2 -0
- package/esm2015/lib/components/evo-segmented-bar/public-api.js +4 -0
- package/esm2015/lib/components/evo-select/evo-select.component.js +121 -0
- package/esm2015/lib/components/evo-select/evo-select.module.js +34 -0
- package/esm2015/lib/components/evo-select/index.js +2 -0
- package/esm2015/lib/components/evo-select/public-api.js +3 -0
- package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.js +8 -0
- package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-sizes.js +7 -0
- package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-states.js +6 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.js +38 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.js +19 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.js +47 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar-portal.js +21 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar.component.js +169 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar.module.js +90 -0
- package/esm2015/lib/components/evo-sidebar/evo-sidebar.service.js +102 -0
- package/esm2015/lib/components/evo-sidebar/index.js +2 -0
- package/esm2015/lib/components/evo-sidebar/interfaces.js +2 -0
- package/esm2015/lib/components/evo-sidebar/public-api.js +12 -0
- package/esm2015/lib/components/evo-sidebar/sidebar-injection-token.js +3 -0
- package/esm2015/lib/components/evo-sidebar/tokens.js +12 -0
- package/esm2015/lib/components/evo-stepper/evo-stepper-events.js +25 -0
- package/esm2015/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.js +35 -0
- package/esm2015/lib/components/evo-stepper/evo-stepper.component.js +72 -0
- package/esm2015/lib/components/evo-stepper/evo-stepper.module.js +27 -0
- package/esm2015/lib/components/evo-stepper/index.js +2 -0
- package/esm2015/lib/components/evo-stepper/public-api.js +4 -0
- package/esm2015/lib/components/evo-submenu/evo-submenu.component.js +160 -0
- package/esm2015/lib/components/evo-submenu/evo-submenu.module.js +36 -0
- package/esm2015/lib/components/evo-submenu/index.js +2 -0
- package/esm2015/lib/components/evo-submenu/public-api.js +3 -0
- package/esm2015/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.js +15 -0
- package/esm2015/lib/components/evo-switcher/evo-switcher.component.js +36 -0
- package/esm2015/lib/components/evo-switcher/evo-switcher.module.js +27 -0
- package/esm2015/lib/components/evo-switcher/index.js +2 -0
- package/esm2015/lib/components/evo-switcher/public-api.js +4 -0
- package/esm2015/lib/components/evo-table/evo-table/evo-table.component.js +69 -0
- package/esm2015/lib/components/evo-table/evo-table-column/evo-table-column.component.js +35 -0
- package/esm2015/lib/components/evo-table/evo-table.module.js +23 -0
- package/esm2015/lib/components/evo-table/index.js +2 -0
- package/esm2015/lib/components/evo-table/public-api.js +4 -0
- package/esm2015/lib/components/evo-tabs/enums/evo-tabs-size.js +6 -0
- package/esm2015/lib/components/evo-tabs/evo-tab/evo-tab.component.js +92 -0
- package/esm2015/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.js +40 -0
- package/esm2015/lib/components/evo-tabs/evo-tab-state.collection.js +43 -0
- package/esm2015/lib/components/evo-tabs/evo-tabs-size.service.js +24 -0
- package/esm2015/lib/components/evo-tabs/evo-tabs.component.js +88 -0
- package/esm2015/lib/components/evo-tabs/evo-tabs.module.js +30 -0
- package/esm2015/lib/components/evo-tabs/evo-tabs.service.js +67 -0
- package/esm2015/lib/components/evo-tabs/index.js +2 -0
- package/esm2015/lib/components/evo-tabs/public-api.js +9 -0
- package/esm2015/lib/components/evo-textarea/evo-textarea.component.js +84 -0
- package/esm2015/lib/components/evo-textarea/evo-textarea.module.js +37 -0
- package/esm2015/lib/components/evo-textarea/index.js +2 -0
- package/esm2015/lib/components/evo-textarea/public-api.js +3 -0
- package/esm2015/lib/components/evo-toast/evo-toast.component.js +103 -0
- package/esm2015/lib/components/evo-toast/evo-toast.module.js +45 -0
- package/esm2015/lib/components/evo-toast/evo-toast.service.js +49 -0
- package/esm2015/lib/components/evo-toast/index.js +2 -0
- package/esm2015/lib/components/evo-toast/public-api.js +4 -0
- package/esm2015/lib/components/evo-toggle/evo-toggle.component.js +70 -0
- package/esm2015/lib/components/evo-toggle/evo-toggle.module.js +30 -0
- package/esm2015/lib/components/evo-toggle/index.js +2 -0
- package/esm2015/lib/components/evo-toggle/public-api.js +3 -0
- package/esm2015/lib/components/evo-upload/evo-upload.component.js +292 -0
- package/esm2015/lib/components/evo-upload/evo-upload.module.js +59 -0
- package/esm2015/lib/components/evo-upload/index.js +2 -0
- package/esm2015/lib/components/evo-upload/public-api.js +3 -0
- package/esm2015/lib/decorators/deprecate-method.decorator.js +8 -0
- package/esm2015/lib/decorators/deprecate-variable.decorator.js +17 -0
- package/esm2015/lib/decorators/index.js +2 -0
- package/esm2015/lib/decorators/public-api.js +3 -0
- package/esm2015/lib/directives/evo-click-outside.directive.js +40 -0
- package/esm2015/lib/directives/evo-is-expanded.directive.js +72 -0
- package/esm2015/lib/directives/evo-let/evo-let.directive.js +36 -0
- package/esm2015/lib/directives/evo-ui-class.directive.js +159 -0
- package/esm2015/lib/directives/index.js +2 -0
- package/esm2015/lib/directives/public-api.js +5 -0
- package/esm2015/lib/evo-ui-kit.module.js +65 -0
- package/esm2015/lib/operators/enter-zone.operator.js +9 -0
- package/esm2015/lib/operators/index.js +2 -0
- package/esm2015/lib/operators/public-api.js +2 -0
- package/esm2015/lib/pipes/declination.pipe.js +40 -0
- package/esm2015/lib/pipes/evo-pipes.module.js +17 -0
- package/esm2015/lib/pipes/index.js +2 -0
- package/esm2015/lib/pipes/public-api.js +4 -0
- package/esm2015/lib/pipes/safe-html.pipe.js +18 -0
- package/esm2015/lib/services/evo-expanded.service.js +23 -0
- package/esm2015/lib/services/index.js +2 -0
- package/esm2015/lib/services/public-api.js +2 -0
- package/esm2015/lib/services/window.service.js +49 -0
- package/esm2015/public_api.js +72 -0
- package/evotor-dev-ui-kit.d.ts +5 -0
- package/fesm2015/evotor-dev-ui-kit-icons-category.js +44 -0
- package/fesm2015/evotor-dev-ui-kit-icons-category.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-emotions.js +24 -0
- package/fesm2015/evotor-dev-ui-kit-icons-emotions.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-header.js +34 -0
- package/fesm2015/evotor-dev-ui-kit-icons-header.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-info.js +46 -0
- package/fesm2015/evotor-dev-ui-kit-icons-info.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-navigation.js +62 -0
- package/fesm2015/evotor-dev-ui-kit-icons-navigation.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-side-menu.js +70 -0
- package/fesm2015/evotor-dev-ui-kit-icons-side-menu.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons-system.js +338 -0
- package/fesm2015/evotor-dev-ui-kit-icons-system.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit-icons.js +584 -0
- package/fesm2015/evotor-dev-ui-kit-icons.js.map +1 -0
- package/fesm2015/evotor-dev-ui-kit.js +7478 -0
- package/fesm2015/evotor-dev-ui-kit.js.map +1 -0
- package/icons/category/evotor-dev-ui-kit-icons-category.d.ts +5 -0
- package/icons/category/index.d.ts +35 -0
- package/icons/category/package.json +10 -0
- package/icons/emotions/evotor-dev-ui-kit-icons-emotions.d.ts +5 -0
- package/icons/emotions/index.d.ts +15 -0
- package/icons/emotions/package.json +10 -0
- package/icons/evotor-dev-ui-kit-icons.d.ts +5 -0
- package/icons/header/evotor-dev-ui-kit-icons-header.d.ts +5 -0
- package/icons/header/index.d.ts +25 -0
- package/icons/header/package.json +10 -0
- package/icons/index.d.ts +289 -0
- package/icons/info/evotor-dev-ui-kit-icons-info.d.ts +5 -0
- package/icons/info/index.d.ts +37 -0
- package/icons/info/package.json +10 -0
- package/icons/navigation/evotor-dev-ui-kit-icons-navigation.d.ts +5 -0
- package/icons/navigation/index.d.ts +53 -0
- package/icons/navigation/package.json +10 -0
- package/icons/package.json +10 -0
- package/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.d.ts +5 -0
- package/icons/side-menu/index.d.ts +61 -0
- package/icons/side-menu/package.json +10 -0
- package/icons/system/evotor-dev-ui-kit-icons-system.d.ts +5 -0
- package/icons/system/index.d.ts +329 -0
- package/icons/system/package.json +10 -0
- package/lib/common/Serializable.d.ts +3 -0
- package/lib/common/animations/expand.animation.d.ts +1 -0
- package/lib/common/animations/index.d.ts +3 -0
- package/lib/common/animations/sidebar.animation.d.ts +2 -0
- package/lib/common/animations/skip-initial-render.animation.d.ts +1 -0
- package/lib/common/collection/evo-collection-fabric.d.ts +4 -0
- package/lib/common/collection/evo-collection.d.ts +3 -0
- package/lib/common/collection/index.d.ts +2 -0
- package/lib/common/constants/css-breakpoints.d.ts +8 -0
- package/lib/common/constants/view-breakpoint-streams.d.ts +9 -0
- package/lib/common/evo-base-control.d.ts +21 -0
- package/lib/common/evo-control-state-manager/evo-control-state-manager.d.ts +7 -0
- package/lib/common/evo-control-state-manager/evo-control-state.interface.d.ts +5 -0
- package/lib/common/evo-control-state-manager/evo-control-states.enum.d.ts +4 -0
- package/lib/common/form-helper/form-helper.d.ts +5 -0
- package/lib/common/types/evo-color.d.ts +1 -0
- package/lib/common/types/evo-size.d.ts +1 -0
- package/lib/common/types/index.d.ts +2 -0
- package/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.d.ts +11 -0
- package/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.d.ts +9 -0
- package/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.d.ts +11 -0
- package/lib/components/evo-accordion/evo-accordion.component.d.ts +9 -0
- package/lib/components/evo-accordion/evo-accordion.module.d.ts +13 -0
- package/lib/components/evo-accordion/index.d.ts +1 -0
- package/lib/components/evo-accordion/public-api.d.ts +5 -0
- package/lib/components/evo-alert/evo-alert.component.d.ts +38 -0
- package/lib/components/evo-alert/evo-alert.module.d.ts +9 -0
- package/lib/components/evo-alert/index.d.ts +1 -0
- package/lib/components/evo-alert/public-api.d.ts +2 -0
- package/lib/components/evo-autocomplete/components/evo-autocomplete.component.d.ts +115 -0
- package/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.d.ts +15 -0
- package/lib/components/evo-autocomplete/evo-autocomplete.module.d.ts +15 -0
- package/lib/components/evo-autocomplete/helpers/switch-query-to-list.d.ts +2 -0
- package/lib/components/evo-autocomplete/index.d.ts +1 -0
- package/lib/components/evo-autocomplete/models/DaDataParty.d.ts +37 -0
- package/lib/components/evo-autocomplete/models/dadata.model.d.ts +320 -0
- package/lib/components/evo-autocomplete/public-api.d.ts +6 -0
- package/lib/components/evo-autocomplete/types/evo-autocomplete-size.d.ts +1 -0
- package/lib/components/evo-badge/evo-badge.component.d.ts +12 -0
- package/lib/components/evo-badge/evo-badge.module.d.ts +9 -0
- package/lib/components/evo-badge/index.d.ts +2 -0
- package/lib/components/evo-badge/public-api.d.ts +2 -0
- package/lib/components/evo-badge/types/evo-badge-color.d.ts +2 -0
- package/lib/components/evo-badge/types/evo-badge-size.d.ts +2 -0
- package/lib/components/evo-badge/types/index.d.ts +2 -0
- package/lib/components/evo-banner/evo-banner.component.d.ts +46 -0
- package/lib/components/evo-banner/evo-banner.module.d.ts +9 -0
- package/lib/components/evo-banner/index.d.ts +1 -0
- package/lib/components/evo-banner/public-api.d.ts +2 -0
- package/lib/components/evo-button/evo-button.component.d.ts +33 -0
- package/lib/components/evo-button/evo-button.module.d.ts +9 -0
- package/lib/components/evo-button/index.d.ts +1 -0
- package/lib/components/evo-button/public-api.d.ts +2 -0
- package/lib/components/evo-checkbox/evo-checkbox.component.d.ts +26 -0
- package/lib/components/evo-checkbox/evo-checkbox.module.d.ts +11 -0
- package/lib/components/evo-checkbox/index.d.ts +1 -0
- package/lib/components/evo-checkbox/public-api.d.ts +2 -0
- package/lib/components/evo-chip/evo-chip.component.d.ts +45 -0
- package/lib/components/evo-chip/evo-chip.module.d.ts +11 -0
- package/lib/components/evo-chip/index.d.ts +1 -0
- package/lib/components/evo-chip/public-api.d.ts +2 -0
- package/lib/components/evo-control-error/evo-control-error.component.d.ts +14 -0
- package/lib/components/evo-control-error/evo-control-error.module.d.ts +10 -0
- package/lib/components/evo-control-error/index.d.ts +1 -0
- package/lib/components/evo-control-error/public-api.d.ts +2 -0
- package/lib/components/evo-control-label/evo-control-label.component.d.ts +9 -0
- package/lib/components/evo-control-label/evo-control-label.module.d.ts +8 -0
- package/lib/components/evo-control-label/index.d.ts +1 -0
- package/lib/components/evo-control-label/public-api.d.ts +2 -0
- package/lib/components/evo-counter/evo-counter.component.d.ts +16 -0
- package/lib/components/evo-counter/evo-counter.module.d.ts +9 -0
- package/lib/components/evo-counter/index.d.ts +1 -0
- package/lib/components/evo-counter/public-api.d.ts +2 -0
- package/lib/components/evo-datepicker/evo-datepicker.component.d.ts +174 -0
- package/lib/components/evo-datepicker/evo-datepicker.module.d.ts +11 -0
- package/lib/components/evo-datepicker/flatpickr-options.interface.d.ts +10 -0
- package/lib/components/evo-datepicker/index.d.ts +1 -0
- package/lib/components/evo-datepicker/public-api.d.ts +2 -0
- package/lib/components/evo-datepicker/templates/index.d.ts +16 -0
- package/lib/components/evo-dropdown/evo-dropdown-origin.directive.d.ts +15 -0
- package/lib/components/evo-dropdown/evo-dropdown-position-description.d.ts +3 -0
- package/lib/components/evo-dropdown/evo-dropdown.component.d.ts +34 -0
- package/lib/components/evo-dropdown/evo-dropdown.module.d.ts +10 -0
- package/lib/components/evo-dropdown/index.d.ts +1 -0
- package/lib/components/evo-dropdown/public-api.d.ts +4 -0
- package/lib/components/evo-dropdown/types/evo-dropdown-positions.d.ts +1 -0
- package/lib/components/evo-icon/classes/evo-icons-library.d.ts +11 -0
- package/lib/components/evo-icon/evo-icon.component.d.ts +20 -0
- package/lib/components/evo-icon/evo-icon.module.d.ts +16 -0
- package/lib/components/evo-icon/index.d.ts +1 -0
- package/lib/components/evo-icon/interfaces/icons-category.d.ts +5 -0
- package/lib/components/evo-icon/interfaces/icons-source.d.ts +3 -0
- package/lib/components/evo-icon/public-api.d.ts +5 -0
- package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +21 -0
- package/lib/components/evo-icon-button/evo-icon-button.module.d.ts +8 -0
- package/lib/components/evo-icon-button/index.d.ts +1 -0
- package/lib/components/evo-icon-button/public-api.d.ts +2 -0
- package/lib/components/evo-icon-button/types/evo-icon-button-theme.d.ts +1 -0
- package/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.d.ts +5 -0
- package/lib/components/evo-input/evo-input.component.d.ts +93 -0
- package/lib/components/evo-input/evo-input.module.d.ts +14 -0
- package/lib/components/evo-input/index.d.ts +1 -0
- package/lib/components/evo-input/public-api.d.ts +3 -0
- package/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.d.ts +44 -0
- package/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.d.ts +10 -0
- package/lib/components/evo-input-contenteditable/index.d.ts +1 -0
- package/lib/components/evo-input-contenteditable/public-api.d.ts +2 -0
- package/lib/components/evo-input-contenteditable/utils/clear-multiline.d.ts +1 -0
- package/lib/components/evo-loader/evo-circular-loader.component.d.ts +8 -0
- package/lib/components/evo-loader/evo-loader.component.d.ts +14 -0
- package/lib/components/evo-loader/evo-loader.module.d.ts +10 -0
- package/lib/components/evo-loader/index.d.ts +1 -0
- package/lib/components/evo-loader/public-api.d.ts +3 -0
- package/lib/components/evo-modal/evo-modal.component.d.ts +37 -0
- package/lib/components/evo-modal/evo-modal.module.d.ts +10 -0
- package/lib/components/evo-modal/evo-modal.service.d.ts +22 -0
- package/lib/components/evo-modal/index.d.ts +1 -0
- package/lib/components/evo-modal/public-api.d.ts +3 -0
- package/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.d.ts +21 -0
- package/lib/components/evo-navbar/evo-navbar.component.d.ts +18 -0
- package/lib/components/evo-navbar/evo-navbar.module.d.ts +12 -0
- package/lib/components/evo-navbar/index.d.ts +1 -0
- package/lib/components/evo-navbar/interfaces/nav-item-main-info.d.ts +5 -0
- package/lib/components/evo-navbar/interfaces/nav-item-router-link.d.ts +14 -0
- package/lib/components/evo-navbar/interfaces/nav-item.href.d.ts +4 -0
- package/lib/components/evo-navbar/public-api.d.ts +7 -0
- package/lib/components/evo-navbar/types/nav-item.d.ts +4 -0
- package/lib/components/evo-note/evo-note.component.d.ts +13 -0
- package/lib/components/evo-note/evo-note.module.d.ts +10 -0
- package/lib/components/evo-note/index.d.ts +1 -0
- package/lib/components/evo-note/public.api.d.ts +3 -0
- package/lib/components/evo-note/types/evo-note-type.d.ts +1 -0
- package/lib/components/evo-paginator/evo-paginator.component.d.ts +26 -0
- package/lib/components/evo-paginator/evo-paginator.module.d.ts +8 -0
- package/lib/components/evo-paginator/index.d.ts +1 -0
- package/lib/components/evo-paginator/public-api.d.ts +2 -0
- package/lib/components/evo-plus-minus/evo-plus-minus.component.d.ts +13 -0
- package/lib/components/evo-plus-minus/evo-plus-minus.module.d.ts +8 -0
- package/lib/components/evo-plus-minus/index.d.ts +1 -0
- package/lib/components/evo-plus-minus/public-api.d.ts +2 -0
- package/lib/components/evo-popover/evo-popover.component.d.ts +43 -0
- package/lib/components/evo-popover/evo-popover.module.d.ts +9 -0
- package/lib/components/evo-popover/index.d.ts +1 -0
- package/lib/components/evo-popover/public-api.d.ts +2 -0
- package/lib/components/evo-portal/evo-portal-outlet.class.d.ts +6 -0
- package/lib/components/evo-portal/evo-portal-outlet.directive.d.ts +10 -0
- package/lib/components/evo-portal/evo-portal.module.d.ts +8 -0
- package/lib/components/evo-portal/evo-portal.service.d.ts +27 -0
- package/lib/components/evo-portal/index.d.ts +1 -0
- package/lib/components/evo-portal/public-api.d.ts +4 -0
- package/lib/components/evo-radio/evo-radio.component.d.ts +18 -0
- package/lib/components/evo-radio/evo-radio.module.d.ts +9 -0
- package/lib/components/evo-radio/index.d.ts +1 -0
- package/lib/components/evo-radio/public-api.d.ts +2 -0
- package/lib/components/evo-radio-group/evo-radio-group.component.d.ts +56 -0
- package/lib/components/evo-radio-group/evo-radio-group.module.d.ts +11 -0
- package/lib/components/evo-radio-group/index.d.ts +1 -0
- package/lib/components/evo-radio-group/public-api.d.ts +2 -0
- package/lib/components/evo-radio-group/typings/options.d.ts +6 -0
- package/lib/components/evo-radioshape/components/evo-radioshape.component.d.ts +19 -0
- package/lib/components/evo-radioshape/evo-radioshape.module.d.ts +9 -0
- package/lib/components/evo-radioshape/index.d.ts +1 -0
- package/lib/components/evo-radioshape/public-api.d.ts +2 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.d.ts +10 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.d.ts +22 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar.module.d.ts +11 -0
- package/lib/components/evo-segmented-bar/index.d.ts +1 -0
- package/lib/components/evo-segmented-bar/public-api.d.ts +3 -0
- package/lib/components/evo-select/evo-select.component.d.ts +37 -0
- package/lib/components/evo-select/evo-select.module.d.ts +11 -0
- package/lib/components/evo-select/index.d.ts +1 -0
- package/lib/components/evo-select/public-api.d.ts +2 -0
- package/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.d.ts +6 -0
- package/lib/components/evo-sidebar/enums/evo-sidebar-sizes.d.ts +5 -0
- package/lib/components/evo-sidebar/enums/evo-sidebar-states.d.ts +4 -0
- package/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.d.ts +12 -0
- package/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.d.ts +5 -0
- package/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.d.ts +13 -0
- package/lib/components/evo-sidebar/evo-sidebar-portal.d.ts +13 -0
- package/lib/components/evo-sidebar/evo-sidebar.component.d.ts +42 -0
- package/lib/components/evo-sidebar/evo-sidebar.module.d.ts +17 -0
- package/lib/components/evo-sidebar/evo-sidebar.service.d.ts +26 -0
- package/lib/components/evo-sidebar/index.d.ts +1 -0
- package/lib/components/evo-sidebar/interfaces.d.ts +23 -0
- package/lib/components/evo-sidebar/public-api.d.ts +11 -0
- package/lib/components/evo-sidebar/sidebar-injection-token.d.ts +2 -0
- package/lib/components/evo-sidebar/tokens.d.ts +7 -0
- package/lib/components/evo-stepper/evo-stepper-events.d.ts +12 -0
- package/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.d.ts +13 -0
- package/lib/components/evo-stepper/evo-stepper.component.d.ts +27 -0
- package/lib/components/evo-stepper/evo-stepper.module.d.ts +10 -0
- package/lib/components/evo-stepper/index.d.ts +1 -0
- package/lib/components/evo-stepper/public-api.d.ts +3 -0
- package/lib/components/evo-submenu/evo-submenu.component.d.ts +49 -0
- package/lib/components/evo-submenu/evo-submenu.module.d.ts +11 -0
- package/lib/components/evo-submenu/index.d.ts +1 -0
- package/lib/components/evo-submenu/public-api.d.ts +2 -0
- package/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.d.ts +9 -0
- package/lib/components/evo-switcher/evo-switcher.component.d.ts +14 -0
- package/lib/components/evo-switcher/evo-switcher.module.d.ts +10 -0
- package/lib/components/evo-switcher/index.d.ts +1 -0
- package/lib/components/evo-switcher/public-api.d.ts +3 -0
- package/lib/components/evo-table/evo-table/evo-table.component.d.ts +32 -0
- package/lib/components/evo-table/evo-table-column/evo-table-column.component.d.ts +12 -0
- package/lib/components/evo-table/evo-table.module.d.ts +9 -0
- package/lib/components/evo-table/index.d.ts +1 -0
- package/lib/components/evo-table/public-api.d.ts +3 -0
- package/lib/components/evo-tabs/enums/evo-tabs-size.d.ts +4 -0
- package/lib/components/evo-tabs/evo-tab/evo-tab.component.d.ts +35 -0
- package/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.d.ts +16 -0
- package/lib/components/evo-tabs/evo-tab-state.collection.d.ts +15 -0
- package/lib/components/evo-tabs/evo-tabs-size.service.d.ts +12 -0
- package/lib/components/evo-tabs/evo-tabs.component.d.ts +22 -0
- package/lib/components/evo-tabs/evo-tabs.module.d.ts +11 -0
- package/lib/components/evo-tabs/evo-tabs.service.d.ts +19 -0
- package/lib/components/evo-tabs/index.d.ts +1 -0
- package/lib/components/evo-tabs/public-api.d.ts +8 -0
- package/lib/components/evo-textarea/evo-textarea.component.d.ts +25 -0
- package/lib/components/evo-textarea/evo-textarea.module.d.ts +11 -0
- package/lib/components/evo-textarea/index.d.ts +1 -0
- package/lib/components/evo-textarea/public-api.d.ts +2 -0
- package/lib/components/evo-toast/evo-toast.component.d.ts +23 -0
- package/lib/components/evo-toast/evo-toast.module.d.ts +10 -0
- package/lib/components/evo-toast/evo-toast.service.d.ts +22 -0
- package/lib/components/evo-toast/index.d.ts +1 -0
- package/lib/components/evo-toast/public-api.d.ts +3 -0
- package/lib/components/evo-toggle/evo-toggle.component.d.ts +20 -0
- package/lib/components/evo-toggle/evo-toggle.module.d.ts +10 -0
- package/lib/components/evo-toggle/index.d.ts +1 -0
- package/lib/components/evo-toggle/public-api.d.ts +2 -0
- package/lib/components/evo-upload/evo-upload.component.d.ts +65 -0
- package/lib/components/evo-upload/evo-upload.module.d.ts +13 -0
- package/lib/components/evo-upload/index.d.ts +1 -0
- package/lib/components/evo-upload/public-api.d.ts +2 -0
- package/lib/decorators/deprecate-method.decorator.d.ts +1 -0
- package/lib/decorators/deprecate-variable.decorator.d.ts +1 -0
- package/lib/decorators/index.d.ts +1 -0
- package/lib/decorators/public-api.d.ts +2 -0
- package/lib/directives/evo-click-outside.directive.d.ts +12 -0
- package/lib/directives/evo-is-expanded.directive.d.ts +19 -0
- package/lib/directives/evo-let/evo-let.directive.d.ts +17 -0
- package/lib/directives/evo-ui-class.directive.d.ts +61 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/public-api.d.ts +4 -0
- package/lib/evo-ui-kit.module.d.ts +16 -0
- package/lib/operators/enter-zone.operator.d.ts +3 -0
- package/lib/operators/index.d.ts +1 -0
- package/lib/operators/public-api.d.ts +1 -0
- package/lib/pipes/declination.pipe.d.ts +7 -0
- package/lib/pipes/evo-pipes.module.d.ts +8 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/public-api.d.ts +3 -0
- package/lib/pipes/safe-html.pipe.d.ts +10 -0
- package/lib/services/evo-expanded.service.d.ts +11 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/public-api.d.ts +1 -0
- package/lib/services/window.service.d.ts +14 -0
- package/package.json +45 -0
- package/public_api.d.ts +61 -0
- package/styles/components/evo-alert.scss +64 -0
- package/styles/components/evo-button-loader.scss +53 -0
- package/styles/components/evo-button-wrapper.scss +21 -0
- package/styles/components/evo-button.scss +233 -0
- package/styles/components/evo-card.scss +40 -0
- package/styles/components/evo-chip.scss +169 -0
- package/styles/components/evo-dropdown.scss +1 -0
- package/styles/components/evo-form.scss +273 -0
- package/styles/components/evo-grid.scss +27 -0
- package/styles/components/evo-icon.scss +3 -0
- package/styles/components/evo-link.scss +41 -0
- package/styles/components/evo-list.scss +38 -0
- package/styles/components/evo-modal-mixins.scss +32 -0
- package/styles/components/evo-sidebar-mixins.scss +20 -0
- package/styles/components/evo-spinner.scss +12 -0
- package/styles/components/evo-table.scss +42 -0
- package/styles/components/evo-title.scss +23 -0
- package/styles/components/skeleton.scss +12 -0
- package/styles/globals.scss +67 -0
- package/styles/icons.scss +173 -0
- package/styles/keyframes.scss +37 -0
- package/styles/main.scss +19 -0
- package/styles/mixins.scss +208 -0
- package/styles/normalize.scss +341 -0
- package/styles/reset.scss +155 -0
- package/styles/variables.scss +137 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8taWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMtY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8taWNvbi9pbnRlcmZhY2VzL2ljb25zLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uc1NvdXJjZSB9IGZyb20gJy4vaWNvbnMtc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJY29uc0NhdGVnb3J5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc2hhcGVzOiBJY29uc1NvdXJjZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWljb24vaW50ZXJmYWNlcy9pY29ucy1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSWNvbnNTb3VyY2Uge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './evo-icon.module';
|
|
2
|
+
export * from './evo-icon.component';
|
|
3
|
+
export * from './classes/evo-icons-library';
|
|
4
|
+
export * from './interfaces/icons-category';
|
|
5
|
+
export * from './interfaces/icons-source';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pY29uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8taWNvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ldm8taWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2V2by1pY29ucy1saWJyYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9pY29ucy1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaWNvbnMtc291cmNlJztcbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
// TODO: replace color to string literal type based on a `EvoColor` type
|
|
5
|
+
export var EvoIconButtonColor;
|
|
6
|
+
(function (EvoIconButtonColor) {
|
|
7
|
+
EvoIconButtonColor["link"] = "link";
|
|
8
|
+
EvoIconButtonColor["danger"] = "danger";
|
|
9
|
+
EvoIconButtonColor["success"] = "success";
|
|
10
|
+
})(EvoIconButtonColor || (EvoIconButtonColor = {}));
|
|
11
|
+
const wrapperSelector = 'evo-icon-button';
|
|
12
|
+
export class EvoIconButtonComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.color = EvoIconButtonColor.link;
|
|
15
|
+
this.theme = 'default';
|
|
16
|
+
this.classes = [];
|
|
17
|
+
}
|
|
18
|
+
get isDisabled() {
|
|
19
|
+
return this.disabled || this.loading;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.updateClassesList();
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges(changes) {
|
|
25
|
+
if (changes.color !== undefined || changes.theme !== undefined) {
|
|
26
|
+
this.updateClassesList();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
updateClassesList() {
|
|
30
|
+
this.classes = [];
|
|
31
|
+
if (this.color && EvoIconButtonColor[this.color]) {
|
|
32
|
+
this.classes.push(`${wrapperSelector}_color-${EvoIconButtonColor[this.color]}`);
|
|
33
|
+
}
|
|
34
|
+
if (this.theme) {
|
|
35
|
+
this.classes.push(`${wrapperSelector}_theme-${this.theme}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
EvoIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
EvoIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EvoIconButtonComponent, selector: "button[evo-icon-button], a[evo-icon-button]", inputs: { disabled: "disabled", loading: "loading", color: "color", theme: "theme" }, host: { properties: { "disabled": "this.isDisabled" } }, usesOnChanges: true, ngImport: i0, template: "<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", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}:host{display:inline-block;padding:0;background:none;border:none;cursor:pointer;--evo-icon-button-background: #F4F6F8}.evo-icon-button{display:flex;flex-flow:row nowrap;align-items:center;margin:0;padding:0;background:none;border:none;outline:none;transition:color .3s}.evo-icon-button_theme-rectangle{padding:16px 16px 16px 8px;background:var(--evo-icon-button-background);border-radius:8px;cursor:pointer}.evo-icon-button_color-link{color:#2099f1}.evo-icon-button_color-link:hover{color:#4dadf4}.evo-icon-button_color-link:active{color:#1d8ad9}.evo-icon-button_color-danger{color:#ff1817}.evo-icon-button_color-danger:hover{color:#ff4645}.evo-icon-button_color-danger:active{color:#e51715}.evo-icon-button_color-success{color:#21c68b}.evo-icon-button_color-success:hover{color:#4dd1a2}.evo-icon-button_color-success:active{color:#1eb27d}.evo-icon-button__icon-wrapper,.evo-icon-button__loading-spinner{flex:0 0 24px;width:24px;height:24px}.evo-icon-button ::ng-deep evo-icon{fill:currentColor}.evo-icon-button__label{margin-left:8px;font-weight:600;font-size:16px;font-style:normal;line-height:24px;white-space:nowrap}.evo-icon-button__label:empty{display:none}.evo-icon-button__loading-spinner{display:flex;justify-content:center;align-items:center}.evo-icon-button__loading-spinner:after{display:block;content:\"\";box-sizing:border-box;flex:0 0 20px;width:20px;height:20px;border:2px solid #D6D6D6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}:host:disabled .evo-icon-button{color:#d6d6d6!important}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
// tslint:disable-next-line:component-selector
|
|
45
|
+
selector: 'button[evo-icon-button], a[evo-icon-button]',
|
|
46
|
+
templateUrl: './evo-icon-button.component.html',
|
|
47
|
+
styleUrls: ['./evo-icon-button.component.scss'],
|
|
48
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49
|
+
}]
|
|
50
|
+
}], propDecorators: { disabled: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], loading: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], color: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], theme: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], isDisabled: [{
|
|
59
|
+
type: HostBinding,
|
|
60
|
+
args: ['disabled']
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWljb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pY29uLWJ1dHRvbi9ldm8taWNvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWljb24tYnV0dG9uL2V2by1pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUlSLE1BQU0sZUFBZSxDQUFDOzs7QUFHdkIsd0VBQXdFO0FBQ3hFLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDMUIsbUNBQWEsQ0FBQTtJQUNiLHVDQUFpQixDQUFBO0lBQ2pCLHlDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUM7QUFTMUMsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVVhLFVBQUssR0FBZ0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQzdELFVBQUssR0FBdUIsU0FBUyxDQUFDO1FBRS9DLFlBQU8sR0FBYSxFQUFFLENBQUM7S0F5QjFCO0lBdkJHLElBQTZCLFVBQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLFVBQVUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO0lBQ0wsQ0FBQzs7b0hBOUJRLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHVQQzNCbkMsNFlBVUE7NEZEaUJhLHNCQUFzQjtrQkFQbEMsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUMvQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBRVksUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFJdUIsVUFBVTtzQkFBdEMsV0FBVzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZvSWNvbkJ1dHRvblRoZW1lIH0gZnJvbSAnLi90eXBlcy9ldm8taWNvbi1idXR0b24tdGhlbWUnO1xuXG4vLyBUT0RPOiByZXBsYWNlIGNvbG9yIHRvIHN0cmluZyBsaXRlcmFsIHR5cGUgYmFzZWQgb24gYSBgRXZvQ29sb3JgIHR5cGVcbmV4cG9ydCBlbnVtIEV2b0ljb25CdXR0b25Db2xvciB7XG4gICAgbGluayA9ICdsaW5rJyxcbiAgICBkYW5nZXIgPSAnZGFuZ2VyJyxcbiAgICBzdWNjZXNzID0gJ3N1Y2Nlc3MnLFxufVxuXG5jb25zdCB3cmFwcGVyU2VsZWN0b3IgPSAnZXZvLWljb24tYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnYnV0dG9uW2V2by1pY29uLWJ1dHRvbl0sIGFbZXZvLWljb24tYnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLWljb24tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEV2b0ljb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb2xvcjogRXZvSWNvbkJ1dHRvbkNvbG9yIHwgc3RyaW5nID0gRXZvSWNvbkJ1dHRvbkNvbG9yLmxpbms7XG4gICAgQElucHV0KCkgdGhlbWU6IEV2b0ljb25CdXR0b25UaGVtZSA9ICdkZWZhdWx0JztcblxuICAgIGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBASG9zdEJpbmRpbmcoJ2Rpc2FibGVkJykgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzTGlzdCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuY29sb3IgIT09IHVuZGVmaW5lZCB8fCBjaGFuZ2VzLnRoZW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3Nlc0xpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3Nlc0xpc3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xhc3NlcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jb2xvciAmJiBFdm9JY29uQnV0dG9uQ29sb3JbdGhpcy5jb2xvcl0pIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3Nlcy5wdXNoKGAke3dyYXBwZXJTZWxlY3Rvcn1fY29sb3ItJHtFdm9JY29uQnV0dG9uQ29sb3JbdGhpcy5jb2xvcl19YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3Nlcy5wdXNoKGAke3dyYXBwZXJTZWxlY3Rvcn1fdGhlbWUtJHt0aGlzLnRoZW1lfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV2by1pY29uLWJ1dHRvblwiIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgZWxzZSBzcGlubmVyXCIgY2xhc3M9XCJldm8taWNvbi1idXR0b25fX2ljb24td3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldm8taWNvblwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cImV2by1pY29uLWJ1dHRvbl9fbGFiZWxcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc3Bpbm5lcj5cbiAgICA8c3BhbiBjbGFzcz1cImV2by1pY29uLWJ1dHRvbl9fbG9hZGluZy1zcGlubmVyXCI+PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { EvoIconButtonComponent } from './evo-icon-button.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class EvoIconButtonModule {
|
|
6
|
+
}
|
|
7
|
+
EvoIconButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
EvoIconButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonModule, declarations: [EvoIconButtonComponent], imports: [CommonModule], exports: [EvoIconButtonComponent] });
|
|
9
|
+
EvoIconButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonModule, imports: [[
|
|
10
|
+
CommonModule,
|
|
11
|
+
]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoIconButtonModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule,
|
|
17
|
+
],
|
|
18
|
+
declarations: [
|
|
19
|
+
EvoIconButtonComponent,
|
|
20
|
+
],
|
|
21
|
+
exports: [
|
|
22
|
+
EvoIconButtonComponent,
|
|
23
|
+
]
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWljb24tYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pY29uLWJ1dHRvbi9ldm8taWNvbi1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWEvQyxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBTnhCLHNCQUFzQixhQUh0QixZQUFZLGFBTVosc0JBQXNCO2tIQUdqQixtQkFBbUIsWUFWbkI7WUFDTCxZQUFZO1NBQ2Y7NEZBUVEsbUJBQW1CO2tCQVgvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDVixzQkFBc0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2b0ljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V2by1pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBFdm9JY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFdm9JY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRXZvSWNvbkJ1dHRvbk1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8taWNvbi1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './evo-icon-button.module';
|
|
2
|
+
export * from './evo-icon-button.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pY29uLWJ1dHRvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXZvLWljb24tYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2V2by1pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWljb24tYnV0dG9uLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWljb24tYnV0dG9uL3R5cGVzL2V2by1pY29uLWJ1dHRvbi10aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRXZvSWNvbkJ1dHRvblRoZW1lID0gJ2RlZmF1bHQnIHwgJ3JlY3RhbmdsZSc7XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EvoInputIconDirective {
|
|
4
|
+
}
|
|
5
|
+
EvoInputIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoInputIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
EvoInputIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: EvoInputIconDirective, selector: "[evoInputIcon]", ngImport: i0 });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoInputIconDirective, decorators: [{
|
|
8
|
+
type: Directive,
|
|
9
|
+
args: [{
|
|
10
|
+
selector: '[evoInputIcon]',
|
|
11
|
+
}]
|
|
12
|
+
}] });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LWljb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0L2V2by1pbnB1dC1pY29uL2V2by1pbnB1dC1pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO3VHQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldm9JbnB1dEljb25dJyxcbn0pXG5leHBvcnQgY2xhc3MgRXZvSW5wdXRJY29uRGlyZWN0aXZlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { COMPOSITION_BUFFER_MODE, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';
|
|
4
|
+
import { EvoBaseControl } from '../../common/evo-base-control';
|
|
5
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
6
|
+
import { debounceTime, map, takeUntil, tap } from 'rxjs/operators';
|
|
7
|
+
import { enterZone } from '../../operators';
|
|
8
|
+
import * as IMask from 'imask';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../evo-icon/evo-icon.component";
|
|
11
|
+
import * as i2 from "../evo-control-error/evo-control-error.component";
|
|
12
|
+
import * as i3 from "../../directives/evo-ui-class.directive";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
export var EvoInputSizes;
|
|
15
|
+
(function (EvoInputSizes) {
|
|
16
|
+
EvoInputSizes["small"] = "small";
|
|
17
|
+
EvoInputSizes["normal"] = "normal";
|
|
18
|
+
})(EvoInputSizes || (EvoInputSizes = {}));
|
|
19
|
+
export var EvoInputTheme;
|
|
20
|
+
(function (EvoInputTheme) {
|
|
21
|
+
EvoInputTheme["default"] = "default";
|
|
22
|
+
EvoInputTheme["rounded"] = "rounded";
|
|
23
|
+
})(EvoInputTheme || (EvoInputTheme = {}));
|
|
24
|
+
export class EvoInputComponent extends EvoBaseControl {
|
|
25
|
+
constructor(zone, changeDetector, _renderer, _compositionMode, injector) {
|
|
26
|
+
super(injector);
|
|
27
|
+
this.zone = zone;
|
|
28
|
+
this.changeDetector = changeDetector;
|
|
29
|
+
this._renderer = _renderer;
|
|
30
|
+
this._compositionMode = _compositionMode;
|
|
31
|
+
this.injector = injector;
|
|
32
|
+
this.type = 'text';
|
|
33
|
+
this.disabled = false;
|
|
34
|
+
this.loading = false;
|
|
35
|
+
this.prefix = '';
|
|
36
|
+
this.inputDebounce = 50;
|
|
37
|
+
this.unmask = false;
|
|
38
|
+
this.clearable = false;
|
|
39
|
+
this.maskValidation = false;
|
|
40
|
+
this.blur = new EventEmitter();
|
|
41
|
+
this.size = EvoInputSizes.normal;
|
|
42
|
+
this.theme = EvoInputTheme.default;
|
|
43
|
+
this.customTooltipChecked = false;
|
|
44
|
+
this.uiStates = {
|
|
45
|
+
hasCustomTooltip: false,
|
|
46
|
+
isTooltipVisible: false,
|
|
47
|
+
isFocused: false,
|
|
48
|
+
};
|
|
49
|
+
this.tooltipVisibilityTimeout = false;
|
|
50
|
+
this.destroy$ = new Subject();
|
|
51
|
+
/** Whether the user is creating a composition string (IME events). */
|
|
52
|
+
this._composing = false;
|
|
53
|
+
}
|
|
54
|
+
set setValue(value) {
|
|
55
|
+
this._value = value;
|
|
56
|
+
}
|
|
57
|
+
set setSize(size) {
|
|
58
|
+
if (EvoInputSizes[size]) {
|
|
59
|
+
this.size = EvoInputSizes[size];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
set setTheme(theme) {
|
|
63
|
+
if (EvoInputTheme[theme]) {
|
|
64
|
+
this.theme = EvoInputTheme[theme];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
get isDisabled() {
|
|
68
|
+
if (this.loading) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return this.disabled;
|
|
72
|
+
}
|
|
73
|
+
get value() {
|
|
74
|
+
return this._value;
|
|
75
|
+
}
|
|
76
|
+
set value(value) {
|
|
77
|
+
if (value || this._value) {
|
|
78
|
+
this._value = this.removePrefix(value);
|
|
79
|
+
this.onChange(this.prefix + (this._value || ''));
|
|
80
|
+
this.changeDetector.markForCheck();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
get inputClass() {
|
|
84
|
+
return {
|
|
85
|
+
'focused': this.uiStates.isFocused,
|
|
86
|
+
'disabled': this.isDisabled,
|
|
87
|
+
'valid': this.currentState[EvoControlStates.valid],
|
|
88
|
+
'invalid': this.currentState[EvoControlStates.invalid],
|
|
89
|
+
[`size-${this.size}`]: this.size !== EvoInputSizes.normal,
|
|
90
|
+
[`theme-${this.theme}`]: true,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
get hasAdditional() {
|
|
94
|
+
return !!this.tooltip || this.uiStates.hasCustomTooltip || !!this.icon;
|
|
95
|
+
}
|
|
96
|
+
set maskValue(value) {
|
|
97
|
+
const normalizedValue = value !== null && value !== void 0 ? value : '';
|
|
98
|
+
if (this.iMask) {
|
|
99
|
+
if (this.unmask === 'typed') {
|
|
100
|
+
this.iMask.typedValue = normalizedValue;
|
|
101
|
+
}
|
|
102
|
+
else if (this.unmask) {
|
|
103
|
+
this.iMask.unmaskedValue = normalizedValue;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.iMask.value = normalizedValue;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.writeToElement(normalizedValue);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
get maskValue() {
|
|
114
|
+
if (!this.iMask) {
|
|
115
|
+
return this.inputElement.nativeElement.value;
|
|
116
|
+
}
|
|
117
|
+
if (this.unmask === 'typed') {
|
|
118
|
+
return this.iMask.typedValue;
|
|
119
|
+
}
|
|
120
|
+
if (this.unmask) {
|
|
121
|
+
return this.iMask.unmaskedValue;
|
|
122
|
+
}
|
|
123
|
+
return this.iMask.value;
|
|
124
|
+
}
|
|
125
|
+
get isClearable() {
|
|
126
|
+
return this.clearable && !this.disabled;
|
|
127
|
+
}
|
|
128
|
+
ngOnInit() {
|
|
129
|
+
const inputEl = this.inputElement.nativeElement;
|
|
130
|
+
this.zone.runOutsideAngular(() => {
|
|
131
|
+
if (this.mask) {
|
|
132
|
+
this.createMaskInstance(this.mask);
|
|
133
|
+
}
|
|
134
|
+
fromEvent(inputEl, 'input')
|
|
135
|
+
.pipe(debounceTime(this.inputDebounce), map((e) => {
|
|
136
|
+
if (this.iMask) {
|
|
137
|
+
return this.maskValue;
|
|
138
|
+
}
|
|
139
|
+
return e.target.value;
|
|
140
|
+
}), enterZone(this.zone), tap((value) => {
|
|
141
|
+
this.value = value;
|
|
142
|
+
}), takeUntil(this.destroy$)).subscribe();
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
ngOnDestroy() {
|
|
146
|
+
this.destroy$.next();
|
|
147
|
+
this.destroy$.complete();
|
|
148
|
+
if (this.iMask) {
|
|
149
|
+
this.destroyMask();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
ngOnChanges(changes) {
|
|
153
|
+
if (!changes) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const { mask } = changes;
|
|
157
|
+
if (mask && !mask.firstChange) {
|
|
158
|
+
const newMaskOptions = mask.currentValue;
|
|
159
|
+
if (newMaskOptions) {
|
|
160
|
+
if (this.iMask) {
|
|
161
|
+
this.iMask.updateOptions(newMaskOptions);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
this.createMaskInstance(newMaskOptions);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.destroyMask();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
onChange(value) {
|
|
173
|
+
// this is intentional
|
|
174
|
+
}
|
|
175
|
+
onTouched() {
|
|
176
|
+
// this is intentional
|
|
177
|
+
}
|
|
178
|
+
ngAfterViewInit() {
|
|
179
|
+
if (this.autoFocus) {
|
|
180
|
+
this.inputElement.nativeElement.focus();
|
|
181
|
+
}
|
|
182
|
+
this.checkCustomTooltip();
|
|
183
|
+
}
|
|
184
|
+
writeToElement(value) {
|
|
185
|
+
this._renderer.setProperty(this.inputElement.nativeElement, 'value', value);
|
|
186
|
+
}
|
|
187
|
+
writeValue(value) {
|
|
188
|
+
if (value === this._value) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.value = value;
|
|
192
|
+
if (this.mask) {
|
|
193
|
+
this.maskValue = value;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
this.writeToElement(value);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
registerOnChange(fn) {
|
|
200
|
+
this.onChange = fn;
|
|
201
|
+
}
|
|
202
|
+
registerOnTouched(fn) {
|
|
203
|
+
this.onTouched = fn;
|
|
204
|
+
}
|
|
205
|
+
setDisabledState(state) {
|
|
206
|
+
this.disabled = state;
|
|
207
|
+
}
|
|
208
|
+
onFocus() {
|
|
209
|
+
if (!this.uiStates.isFocused) {
|
|
210
|
+
this.uiStates.isFocused = true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
onBlur() {
|
|
214
|
+
this.uiStates.isFocused = false;
|
|
215
|
+
this.onTouched();
|
|
216
|
+
this.blur.emit();
|
|
217
|
+
}
|
|
218
|
+
onTooltipClick(event) {
|
|
219
|
+
event.preventDefault();
|
|
220
|
+
event.stopPropagation();
|
|
221
|
+
}
|
|
222
|
+
onClear() {
|
|
223
|
+
this.writeValue('');
|
|
224
|
+
}
|
|
225
|
+
hideTooltip() {
|
|
226
|
+
this.tooltipVisibilityTimeout = true;
|
|
227
|
+
setTimeout(() => {
|
|
228
|
+
if (this.tooltipVisibilityTimeout) {
|
|
229
|
+
this.uiStates.isTooltipVisible = false;
|
|
230
|
+
}
|
|
231
|
+
}, 25);
|
|
232
|
+
}
|
|
233
|
+
showTooltip() {
|
|
234
|
+
this.uiStates.isTooltipVisible = true;
|
|
235
|
+
this.tooltipVisibilityTimeout = false;
|
|
236
|
+
}
|
|
237
|
+
// Composition handling is taken from:
|
|
238
|
+
// https://github.com/angular/angular/blob/11.0.3/packages/forms/src/directives/default_value_accessor.ts#L152
|
|
239
|
+
_compositionStart() {
|
|
240
|
+
this._composing = true;
|
|
241
|
+
}
|
|
242
|
+
_compositionEnd(value) {
|
|
243
|
+
this._composing = false;
|
|
244
|
+
if (this._compositionMode) {
|
|
245
|
+
this.value = value;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
removePrefix(value) {
|
|
249
|
+
if (typeof value === 'string' &&
|
|
250
|
+
value.indexOf(this.prefix) === 0) {
|
|
251
|
+
return value.replace(this.prefix, '');
|
|
252
|
+
}
|
|
253
|
+
return value;
|
|
254
|
+
}
|
|
255
|
+
createMaskInstance(opts) {
|
|
256
|
+
this.iMask = new IMask.InputMask(this.inputElement.nativeElement, opts);
|
|
257
|
+
}
|
|
258
|
+
destroyMask() {
|
|
259
|
+
var _a;
|
|
260
|
+
(_a = this.iMask) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
261
|
+
this.iMask = null;
|
|
262
|
+
}
|
|
263
|
+
checkCustomTooltip() {
|
|
264
|
+
this.uiStates.hasCustomTooltip = this.tooltipElement &&
|
|
265
|
+
this.tooltipElement.nativeElement &&
|
|
266
|
+
this.tooltipElement.nativeElement.children.length > 0;
|
|
267
|
+
this.customTooltipChecked = true;
|
|
268
|
+
this.changeDetector.detectChanges();
|
|
269
|
+
}
|
|
270
|
+
validate() {
|
|
271
|
+
if (this.maskValidation && this.mask && !this.iMask.masked.isComplete) {
|
|
272
|
+
return { mask: true };
|
|
273
|
+
}
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
EvoInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoInputComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: COMPOSITION_BUFFER_MODE, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
278
|
+
EvoInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EvoInputComponent, selector: "evo-input", inputs: { autoFocus: "autoFocus", dataCp: ["data-cp", "dataCp"], icon: "icon", mask: "mask", placeholder: "placeholder", tooltip: "tooltip", type: "type", disabled: "disabled", loading: "loading", prefix: "prefix", autocomplete: "autocomplete", inputDebounce: "inputDebounce", unmask: "unmask", clearable: "clearable", maskValidation: "maskValidation", setValue: ["value", "setValue"], setSize: ["size", "setSize"], setTheme: ["theme", "setTheme"] }, outputs: { blur: "blur" }, providers: [
|
|
279
|
+
{
|
|
280
|
+
provide: NG_VALUE_ACCESSOR,
|
|
281
|
+
useExisting: forwardRef(() => EvoInputComponent),
|
|
282
|
+
multi: true,
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
provide: NG_VALIDATORS,
|
|
286
|
+
useExisting: forwardRef(() => EvoInputComponent),
|
|
287
|
+
multi: true,
|
|
288
|
+
},
|
|
289
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltipContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<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", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{position:relative;cursor:text;--evo-input-height: 48px;--evo-input-border-radius: 4px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:normal;font-size:16px;font-family:\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;white-space:nowrap;background-color:#fff;border:1px solid #D6D6D6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#9b9b9b;background-color:#f4f6f8!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-rounded:not(.evo-input_size-small){border-radius:256px}.evo-input_theme-rounded:not(.evo-input_size-small) .evo-input__field{border-radius:256px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__field{padding:0 8px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#9b9b9b}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{padding-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.evo-input__field{flex-grow:1;width:100%;height:100%;margin:0;padding:0 8px 0 16px;color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:4px;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#9b9b9b;background-color:#f4f6f8!important}.evo-input__field:not(:last-child){padding-right:0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{padding-left:0}.evo-input__tooltip{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom:10px solid #FFF8E6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #D6D6D6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}\n"], components: [{ type: i1.EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }, { type: i2.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i3.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoInputComponent, decorators: [{
|
|
291
|
+
type: Component,
|
|
292
|
+
args: [{
|
|
293
|
+
selector: 'evo-input',
|
|
294
|
+
templateUrl: './evo-input.component.html',
|
|
295
|
+
styleUrls: ['./evo-input.component.scss'],
|
|
296
|
+
providers: [
|
|
297
|
+
{
|
|
298
|
+
provide: NG_VALUE_ACCESSOR,
|
|
299
|
+
useExisting: forwardRef(() => EvoInputComponent),
|
|
300
|
+
multi: true,
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
provide: NG_VALIDATORS,
|
|
304
|
+
useExisting: forwardRef(() => EvoInputComponent),
|
|
305
|
+
multi: true,
|
|
306
|
+
},
|
|
307
|
+
],
|
|
308
|
+
}]
|
|
309
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
310
|
+
type: Optional
|
|
311
|
+
}, {
|
|
312
|
+
type: Inject,
|
|
313
|
+
args: [COMPOSITION_BUFFER_MODE]
|
|
314
|
+
}] }, { type: i0.Injector }]; }, propDecorators: { autoFocus: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], dataCp: [{
|
|
317
|
+
type: Input,
|
|
318
|
+
args: ['data-cp']
|
|
319
|
+
}], icon: [{
|
|
320
|
+
type: Input
|
|
321
|
+
}], mask: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], placeholder: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], tooltip: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}], type: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], disabled: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], loading: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], prefix: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], autocomplete: [{
|
|
336
|
+
type: Input
|
|
337
|
+
}], inputDebounce: [{
|
|
338
|
+
type: Input
|
|
339
|
+
}], unmask: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}], clearable: [{
|
|
342
|
+
type: Input
|
|
343
|
+
}], maskValidation: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], blur: [{
|
|
346
|
+
type: Output
|
|
347
|
+
}], inputElement: [{
|
|
348
|
+
type: ViewChild,
|
|
349
|
+
args: ['input', { static: true }]
|
|
350
|
+
}], tooltipElement: [{
|
|
351
|
+
type: ViewChild,
|
|
352
|
+
args: ['tooltipContainer', { static: true }]
|
|
353
|
+
}], setValue: [{
|
|
354
|
+
type: Input,
|
|
355
|
+
args: ['value']
|
|
356
|
+
}], setSize: [{
|
|
357
|
+
type: Input,
|
|
358
|
+
args: ['size']
|
|
359
|
+
}], setTheme: [{
|
|
360
|
+
type: Input,
|
|
361
|
+
args: ['theme']
|
|
362
|
+
}] } });
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pbnB1dC9ldm8taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0L2V2by1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUVOLEtBQUssRUFLTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7Ozs7QUFFL0IsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdB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O3NCQUEzQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2b0NvbnRyb2xTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWNvbnRyb2wtc3RhdGUtbWFuYWdlci9ldm8tY29udHJvbC1zdGF0ZXMuZW51bSc7XG5pbXBvcnQgeyBFdm9CYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZW50ZXJab25lIH0gZnJvbSAnLi4vLi4vb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIElNYXNrIGZyb20gJ2ltYXNrJztcblxuZXhwb3J0IGVudW0gRXZvSW5wdXRTaXplcyB7XG4gICAgc21hbGwgPSAnc21hbGwnLFxuICAgIG5vcm1hbCA9ICdub3JtYWwnLFxufVxuXG5leHBvcnQgZW51bSBFdm9JbnB1dFRoZW1lIHtcbiAgICBkZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIHJvdW5kZWQgPSAncm91bmRlZCcsXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdm9JbnB1dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvSW5wdXRDb21wb25lbnRcbiAgICBleHRlbmRzIEV2b0Jhc2VDb250cm9sXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgVmFsaWRhdG9yIHtcblxuICAgIEBJbnB1dCgpIGF1dG9Gb2N1czogYm9vbGVhbjtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoJ2RhdGEtY3AnKSBkYXRhQ3A6IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWFzazogYW55O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGUgPSAndGV4dCc7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHJlZml4ID0gJyc7XG4gICAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaW5wdXREZWJvdW5jZSA9IDUwO1xuICAgIEBJbnB1dCgpIHVubWFzazogYm9vbGVhbiB8ICd0eXBlZCcgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBtYXNrVmFsaWRhdGlvbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicsIHtzdGF0aWM6IHRydWV9KSB0b29sdGlwRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIHNpemU6IEV2b0lucHV0U2l6ZXMgPSBFdm9JbnB1dFNpemVzLm5vcm1hbDtcbiAgICB0aGVtZTogRXZvSW5wdXRUaGVtZSA9IEV2b0lucHV0VGhlbWUuZGVmYXVsdDtcbiAgICBfdmFsdWU6IHN0cmluZztcbiAgICBjdXN0b21Ub29sdGlwQ2hlY2tlZCA9IGZhbHNlO1xuICAgIHVpU3RhdGVzID0ge1xuICAgICAgICBoYXNDdXN0b21Ub29sdGlwOiBmYWxzZSxcbiAgICAgICAgaXNUb29sdGlwVmlzaWJsZTogZmFsc2UsXG4gICAgICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgfTtcblxuICAgIHByaXZhdGUgaU1hc2s6IElNYXNrLklucHV0TWFzazxhbnk+O1xuXG4gICAgcHJpdmF0ZSB0b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgY3JlYXRpbmcgYSBjb21wb3NpdGlvbiBzdHJpbmcgKElNRSBldmVudHMpLiAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2luZyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChDT01QT1NJVElPTl9CVUZGRVJfTU9ERSkgcHJpdmF0ZSBfY29tcG9zaXRpb25Nb2RlOiBib29sZWFuLFxuICAgICAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgQElucHV0KCd2YWx1ZScpIHNldCBzZXRWYWx1ZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgnc2l6ZScpIHNldCBzZXRTaXplKHNpemU6IEV2b0lucHV0U2l6ZXMgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKEV2b0lucHV0U2l6ZXNbc2l6ZV0pIHtcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA9IEV2b0lucHV0U2l6ZXNbc2l6ZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoJ3RoZW1lJykgc2V0IHNldFRoZW1lKHRoZW1lOiBzdHJpbmcgfCBFdm9JbnB1dFRoZW1lKSB7XG4gICAgICAgIGlmIChFdm9JbnB1dFRoZW1lW3RoZW1lXSkge1xuICAgICAgICAgICAgdGhpcy50aGVtZSA9IEV2b0lucHV0VGhlbWVbdGhlbWVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlIHx8IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMucmVtb3ZlUHJlZml4KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5wcmVmaXggKyAodGhpcy5fdmFsdWUgfHwgJycpKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaW5wdXRDbGFzcygpOiB7IFtjc3NDbGFzczogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdmb2N1c2VkJzogdGhpcy51aVN0YXRlcy5pc0ZvY3VzZWQsXG4gICAgICAgICAgICAnZGlzYWJsZWQnOiB0aGlzLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAndmFsaWQnOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLnZhbGlkXSxcbiAgICAgICAgICAgICdpbnZhbGlkJzogdGhpcy5jdXJyZW50U3RhdGVbRXZvQ29udHJvbFN0YXRlcy5pbnZhbGlkXSxcbiAgICAgICAgICAgIFtgc2l6ZS0ke3RoaXMuc2l6ZX1gXTogdGhpcy5zaXplICE9PSBFdm9JbnB1dFNpemVzLm5vcm1hbCxcbiAgICAgICAgICAgIFtgdGhlbWUtJHt0aGlzLnRoZW1lfWBdOiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBoYXNBZGRpdGlvbmFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRvb2x0aXAgfHwgdGhpcy51aVN0YXRlcy5oYXNDdXN0b21Ub29sdGlwIHx8ICEhdGhpcy5pY29uO1xuICAgIH1cblxuICAgIHNldCBtYXNrVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZSA/PyAnJztcbiAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVubWFzayA9PT0gJ3R5cGVkJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaU1hc2sudHlwZWRWYWx1ZSA9IG5vcm1hbGl6ZWRWYWx1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy51bm1hc2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlNYXNrLnVubWFza2VkVmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaU1hc2sudmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVG9FbGVtZW50KG5vcm1hbGl6ZWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgbWFza1ZhbHVlKCk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5pTWFzaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudW5tYXNrID09PSAndHlwZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pTWFzay50eXBlZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVubWFzaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaU1hc2sudW5tYXNrZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5pTWFzay52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNDbGVhcmFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVNYXNrSW5zdGFuY2UodGhpcy5tYXNrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnJvbUV2ZW50KGlucHV0RWwsICdpbnB1dCcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmlucHV0RGVib3VuY2UpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKGU6IElucHV0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlNYXNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGVudGVyWm9uZSh0aGlzLnpvbmUpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveU1hc2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bWFza30gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmIChtYXNrICYmICFtYXNrLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdNYXNrT3B0aW9ucyA9IG1hc2suY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKG5ld01hc2tPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pTWFzay51cGRhdGVPcHRpb25zKG5ld01hc2tPcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1hc2tJbnN0YW5jZShuZXdNYXNrT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lNYXNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZSh2YWx1ZSkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgb25Ub3VjaGVkKCkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrQ3VzdG9tVG9vbHRpcCgpO1xuICAgIH1cblxuICAgIHdyaXRlVG9FbGVtZW50KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5tYXNrVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVUb0VsZW1lbnQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdGU7XG4gICAgfVxuXG4gICAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnVpU3RhdGVzLmlzRm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy51aVN0YXRlcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVpU3RhdGVzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmJsdXIuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uVG9vbHRpcENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb25DbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBoaWRlVG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudG9vbHRpcFZpc2liaWxpdHlUaW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDI1KTtcbiAgICB9XG5cbiAgICBzaG93VG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy51aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NpdGlvbiBoYW5kbGluZyBpcyB0YWtlbiBmcm9tOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi8xMS4wLjMvcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvZGVmYXVsdF92YWx1ZV9hY2Nlc3Nvci50cyNMMTUyXG4gICAgX2NvbXBvc2l0aW9uU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbXBvc2luZyA9IHRydWU7XG4gICAgfVxuXG4gICAgX2NvbXBvc2l0aW9uRW5kKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29tcG9zaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlUHJlZml4KHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB2YWx1ZS5pbmRleE9mKHRoaXMucHJlZml4KSA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKHRoaXMucHJlZml4LCAnJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTWFza0luc3RhbmNlKG9wdHM6IGFueSkge1xuICAgICAgICB0aGlzLmlNYXNrID0gbmV3IElNYXNrLklucHV0TWFzayhcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBvcHRzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95TWFzaygpIHtcbiAgICAgICAgdGhpcy5pTWFzaz8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmlNYXNrID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQ3VzdG9tVG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy51aVN0YXRlcy5oYXNDdXN0b21Ub29sdGlwID0gdGhpcy50b29sdGlwRWxlbWVudCAmJlxuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgICAgICAgdGhpcy5jdXN0b21Ub29sdGlwQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICBpZiAodGhpcy5tYXNrVmFsaWRhdGlvbiAmJiB0aGlzLm1hc2sgJiYgIXRoaXMuaU1hc2subWFza2VkLmlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IG1hc2s6IHRydWUgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJldm8taW5wdXRcIiBbZXZvVWlDbGFzc109XCJpbnB1dENsYXNzXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fcHJlZml4LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V2b0lucHV0UHJlZml4Q29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fcHJlZml4LWljb25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V2b0lucHV0SWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJldm8taW5wdXRfX3ByZWZpeFwiICpuZ0lmPVwicHJlZml4XCJcbiAgICAgICAgW2V2b1VpQ2xhc3NdPVwie2ZvY3VzZWQ6ICFpc0Rpc2FibGVkICYmICEhdmFsdWUgfHwgdWlTdGF0ZXMuaXNGb2N1c2VkIH1cIlxuICAgID57e3ByZWZpeH19PC9zcGFuPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgY2xhc3M9XCJldm8taW5wdXRfX2ZpZWxkXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwiX2NvbXBvc2l0aW9uU3RhcnQoKVwiXG4gICAgICAgIChjb21wb3NpdGlvbmVuZCk9XCJfY29tcG9zaXRpb25FbmQoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICB0eXBlPVwie3sgdHlwZSB9fVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgW2F0dHIuZGF0YS1jcF09XCJkYXRhQ3BcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgPlxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nOyBlbHNlIHNpZGVCbG9ja1wiIGNsYXNzPVwiZXZvLWlucHV0X19sb2FkaW5nLXNwaW5uZXJcIj48L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3NpZGVCbG9jaz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpc0NsZWFyYWJsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImV2by1pbnB1dF9fY2xlYXJhYmxlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsZWFyKClcIj5cbiAgICAgICAgICAgIDxldm8taWNvbiBzaGFwZT1cImRlY2xpbmVcIiBjbGFzcz1cImV2by1pbnB1dF9faWNvbi1jbGVhclwiPjwvZXZvLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19hZGRpdGlvbmFsXCIgKm5nSWY9XCJoYXNBZGRpdGlvbmFsXCI+XG4gICAgICAgICAgICA8ZXZvLWljb25cbiAgICAgICAgICAgICAgICBzaGFwZT1cImhlbHBcIiBjbGFzcz1cImV2by1pbnB1dF9fdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sdGlwIHx8IHVpU3RhdGVzLmhhc0N1c3RvbVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dUb29sdGlwKClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhpZGVUb29sdGlwKClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvb2x0aXBDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2V2by1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9faWNvblwiICpuZ0lmPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW2F0dHIuc3JjXT1cImljb25cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhY3VzdG9tVG9vbHRpcENoZWNrZWQgfHwgdWlTdGF0ZXMuaXNUb29sdGlwVmlzaWJsZVwiXG4gICAgICAgIFtoaWRkZW5dPVwiIWN1c3RvbVRvb2x0aXBDaGVja2VkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9vbHRpcENsaWNrKCRldmVudClcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJzaG93VG9vbHRpcCgpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiaGlkZVRvb2x0aXAoKVwiXG4gICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZXZvLWlucHV0X190b29sdGlwLWNvbnRhaW5lcic6IHRvb2x0aXB9XCJcbiAgICA+XG4gICAgICAgIHt7IHRvb2x0aXAgfX1cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2x0aXBdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9sYWJlbD5cbjxldm8tY29udHJvbC1lcnJvclxuICAgICpuZ0lmPVwic2hvd0Vycm9yc1wiXG4gICAgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiXG4gICAgW2Vycm9yc01lc3NhZ2VzXT1cImVycm9yc01lc3NhZ2VzXCJcbj48L2V2by1jb250cm9sLWVycm9yPlxuIl19
|