myrta-ui 17.0.19 → 17.0.20
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/.browserslistrc +16 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +28 -0
- package/package.json +47 -61
- package/src/lib/components/alert/alert.component.html +17 -0
- package/src/lib/components/alert/alert.component.less +2 -0
- package/src/lib/components/alert/alert.component.ts +30 -0
- package/src/lib/components/alert/alert.enum.ts +15 -0
- package/src/lib/components/alert/alert.module.ts +11 -0
- package/src/lib/components/alert/assets/alert-colors.less +29 -0
- package/src/lib/components/alert/assets/alert.less +32 -0
- package/src/lib/components/badges/badge.enum.ts +45 -0
- package/src/lib/components/badges/badges.module.ts +21 -0
- package/src/lib/components/badges/components/badge/assets/badge-colors.less +62 -0
- package/src/lib/components/badges/components/badge/assets/badge-tag.less +12 -0
- package/src/lib/components/badges/components/badge/assets/badge-types.less +26 -0
- package/src/lib/components/badges/components/badge/assets/badge.less +7 -0
- package/src/lib/components/badges/components/badge/badge.component.html +28 -0
- package/src/lib/components/badges/components/badge/badge.component.less +4 -0
- package/src/lib/components/badges/components/badge/badge.component.ts +55 -0
- package/src/lib/components/badges/components/badge-group/badge-group.component.html +3 -0
- package/src/lib/components/badges/components/badge-group/badge-group.component.less +5 -0
- package/src/lib/components/badges/components/badge-group/badge-group.component.ts +11 -0
- package/src/lib/components/breadcrumbs/assets/breadcrumbs.less +50 -0
- package/src/lib/components/breadcrumbs/breadcrumbs.component.html +51 -0
- package/src/lib/components/breadcrumbs/breadcrumbs.component.less +1 -0
- package/src/lib/components/breadcrumbs/breadcrumbs.component.ts +19 -0
- package/src/lib/components/breadcrumbs/breadcrumbs.enum.ts +15 -0
- package/src/lib/components/breadcrumbs/breadcrumbs.module.ts +22 -0
- package/src/lib/components/button/assets/button-colors.less +309 -0
- package/src/lib/components/button/assets/button-disabled.less +96 -0
- package/src/lib/components/button/assets/button-icon-loading.less +21 -0
- package/src/lib/components/button/assets/button-primary.less +56 -0
- package/src/lib/components/button/assets/button-secondary.less +169 -0
- package/src/lib/components/button/assets/button-sizes.less +71 -0
- package/src/lib/components/button/assets/button-tertiary.less +166 -0
- package/src/lib/components/button/assets/button-with-icon.less +64 -0
- package/src/lib/components/button/assets/button.less +12 -0
- package/src/lib/components/button/button.component.html +81 -0
- package/src/lib/components/button/button.component.less +9 -0
- package/src/lib/components/button/button.component.ts +88 -0
- package/src/lib/components/button/button.enum.ts +35 -0
- package/src/lib/components/button/button.module.ts +13 -0
- package/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.html +10 -0
- package/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.less +128 -0
- package/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.ts +26 -0
- package/src/lib/components/cdk-tooltip/cdk-tooltip.directive.ts +82 -0
- package/src/lib/components/cdk-tooltip/cdk-tooltip.module.ts +14 -0
- package/src/lib/components/cdk-tooltip/constants/index.ts +94 -0
- package/src/lib/components/cdk-tooltip/models/tooltip-data.ts +8 -0
- package/src/lib/components/chars-left/chars-left.component.html +3 -0
- package/src/lib/components/chars-left/chars-left.component.less +11 -0
- package/src/lib/components/chars-left/chars-left.component.ts +17 -0
- package/src/lib/components/chars-left/chars-left.module.ts +11 -0
- package/src/lib/components/dropdown/assets/dropdown-menu.less +75 -0
- package/src/lib/components/dropdown/assets/dropdown-toggle.less +3 -0
- package/src/lib/components/dropdown/assets/dropdown.less +12 -0
- package/src/lib/components/dropdown/directives/hide-after-click.directive.ts +14 -0
- package/src/lib/components/dropdown/dropdown.component.html +14 -0
- package/src/lib/components/dropdown/dropdown.component.less +3 -0
- package/src/lib/components/dropdown/dropdown.component.ts +112 -0
- package/src/lib/components/dropdown/dropdown.module.ts +15 -0
- package/src/lib/components/error-message/error-message.component.html +9 -0
- package/src/lib/components/error-message/error-message.component.less +20 -0
- package/src/lib/components/error-message/error-message.component.ts +26 -0
- package/src/lib/components/error-message/error-message.module.ts +11 -0
- package/src/lib/components/form/checkbox/assets/checkbox-error.less +27 -0
- package/src/lib/components/form/checkbox/assets/checkbox-indeterminate.less +77 -0
- package/src/lib/components/form/checkbox/assets/checkbox-input-disabled.less +28 -0
- package/src/lib/components/form/checkbox/assets/checkbox-input.less +14 -0
- package/src/lib/components/form/checkbox/assets/checkbox-label.less +26 -0
- package/src/lib/components/form/checkbox/assets/checkbox-mark.less +54 -0
- package/src/lib/components/form/checkbox/assets/checkbox-wrapper.less +6 -0
- package/src/lib/components/form/checkbox/assets/checkbox.less +19 -0
- package/src/lib/components/form/checkbox/checkbox.component.html +46 -0
- package/src/lib/components/form/checkbox/checkbox.component.less +8 -0
- package/src/lib/components/form/checkbox/checkbox.component.ts +168 -0
- package/src/lib/components/form/checkbox/checkbox.enum.ts +12 -0
- package/src/lib/components/form/checkbox/checkbox.module.ts +14 -0
- package/src/lib/components/form/checkbox-group/checkbox-group.component.html +46 -0
- package/src/lib/components/form/checkbox-group/checkbox-group.component.less +36 -0
- package/src/lib/components/form/checkbox-group/checkbox-group.component.ts +211 -0
- package/src/lib/components/form/checkbox-group/checkbox-group.module.ts +27 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.html +16 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.less +5 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.ts +34 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.html +50 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.less +23 -0
- package/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.ts +107 -0
- package/src/lib/components/form/checkbox-group/helpers/change-group-value.ts +23 -0
- package/src/lib/components/form/checkbox-group/helpers/change-item-value.ts +18 -0
- package/src/lib/components/form/checkbox-group/helpers/filter-search-group.ts +29 -0
- package/src/lib/components/form/checkbox-group/helpers/get-checked-items.ts +23 -0
- package/src/lib/components/form/checkbox-group/helpers/get-inner-list.helper.ts +51 -0
- package/src/lib/components/form/checkbox-group/helpers/get-item-by-id.ts +11 -0
- package/src/lib/components/form/checkbox-group/helpers/get-sorted-list.ts +45 -0
- package/src/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.ts +15 -0
- package/src/lib/components/form/checkbox-group/models/checkbox-group.model.ts +32 -0
- package/src/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.html +20 -0
- package/src/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.ts +69 -0
- package/src/lib/components/form/document-editor/document-editor.component.html +41 -0
- package/src/lib/components/form/document-editor/document-editor.component.less +7 -0
- package/src/lib/components/form/document-editor/document-editor.component.ts +109 -0
- package/src/lib/components/form/document-editor/document-editor.module.ts +29 -0
- package/src/lib/components/form/document-editor/helpers/transform-sysname.ts +57 -0
- package/src/lib/components/form/document-editor/models/document-editor-short-codes.enum.ts +6 -0
- package/src/lib/components/form/editor/assets/editor-borders.less +29 -0
- package/src/lib/components/form/editor/assets/editor-clear-elements.less +5 -0
- package/src/lib/components/form/editor/assets/editor-clear-out-elements.less +46 -0
- package/src/lib/components/form/editor/assets/editor-error.less +33 -0
- package/src/lib/components/form/editor/assets/editor-popups.less +11 -0
- package/src/lib/components/form/editor/assets/editor-table.less +5 -0
- package/src/lib/components/form/editor/assets/editor-toolbar.less +53 -0
- package/src/lib/components/form/editor/assets/editor-wysiwyg.less +21 -0
- package/src/lib/components/form/editor/assets/editor.less +10 -0
- package/src/lib/components/form/editor/assets/jodit.less +5364 -0
- package/src/lib/components/form/editor/config/default-inline-style.ts +5 -0
- package/src/lib/components/form/editor/config/index.ts +1 -0
- package/src/lib/components/form/editor/config/popups-toolbar.ts +9 -0
- package/src/lib/components/form/editor/config/toolbar.ts +73 -0
- package/src/lib/components/form/editor/editor.component.html +22 -0
- package/src/lib/components/form/editor/editor.component.less +15 -0
- package/src/lib/components/form/editor/editor.component.ts +271 -0
- package/src/lib/components/form/editor/editor.enum.ts +12 -0
- package/src/lib/components/form/editor/editor.module.ts +25 -0
- package/src/lib/components/form/editor/models/toolbar.model.ts +6 -0
- package/src/lib/components/form/editor/modules/change-icon-module.ts +91 -0
- package/src/lib/components/form/input-date-time/assets/input-date-error.less +21 -0
- package/src/lib/components/form/input-date-time/assets/input-date-icons.less +36 -0
- package/src/lib/components/form/input-date-time/assets/input-date-sizes.less +31 -0
- package/src/lib/components/form/input-date-time/assets/input-date.less +27 -0
- package/src/lib/components/form/input-date-time/constants/value-models.ts +16 -0
- package/src/lib/components/form/input-date-time/enum/timezone.ts +7 -0
- package/src/lib/components/form/input-date-time/helpers/clean-date.ts +5 -0
- package/src/lib/components/form/input-date-time/helpers/cursor-position.ts +18 -0
- package/src/lib/components/form/input-date-time/helpers/formatting-from-models.ts +10 -0
- package/src/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.ts +12 -0
- package/src/lib/components/form/input-date-time/helpers/validate-value-models.ts +84 -0
- package/src/lib/components/form/input-date-time/helpers/value-parser.ts +46 -0
- package/src/lib/components/form/input-date-time/input-date-time.component.html +60 -0
- package/src/lib/components/form/input-date-time/input-date-time.component.ts +378 -0
- package/src/lib/components/form/input-date-time/input-date-time.components.less +4 -0
- package/src/lib/components/form/input-date-time/input-date-time.enum.ts +25 -0
- package/src/lib/components/form/input-date-time/input-date-time.module.ts +30 -0
- package/src/lib/components/form/input-datepicker/assets/input-date-disabled.less +17 -0
- package/src/lib/components/form/input-datepicker/assets/input-date-error.less +21 -0
- package/src/lib/components/form/input-datepicker/assets/input-date-icons.less +36 -0
- package/src/lib/components/form/input-datepicker/assets/input-date-sizes.less +31 -0
- package/src/lib/components/form/input-datepicker/assets/input-date.less +23 -0
- package/src/lib/components/form/input-datepicker/constants/value-models.ts +17 -0
- package/src/lib/components/form/input-datepicker/helpers/clean-date.ts +5 -0
- package/src/lib/components/form/input-datepicker/helpers/cursor-position.ts +18 -0
- package/src/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.ts +10 -0
- package/src/lib/components/form/input-datepicker/helpers/get-date-object.ts +10 -0
- package/src/lib/components/form/input-datepicker/helpers/validate-value-models.ts +100 -0
- package/src/lib/components/form/input-datepicker/helpers/value-parser.ts +54 -0
- package/src/lib/components/form/input-datepicker/input-datepicker.component.html +60 -0
- package/src/lib/components/form/input-datepicker/input-datepicker.component.ts +342 -0
- package/src/lib/components/form/input-datepicker/input-datepicker.components.less +5 -0
- package/src/lib/components/form/input-datepicker/input-datepicker.enum.ts +16 -0
- package/src/lib/components/form/input-datepicker/input-datepicker.module.ts +30 -0
- package/src/lib/components/form/input-editor/assets/style.less +321 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar/editor-toolbar.component.html +252 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar/editor-toolbar.component.less +1 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar/editor-toolbar.component.ts +390 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-button/editor-toolbar-button.component.html +12 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-button/editor-toolbar-button.component.less +13 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-button/editor-toolbar-button.component.ts +22 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-select/editor-toolbar-select.component.html +18 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-select/editor-toolbar-select.component.less +131 -0
- package/src/lib/components/form/input-editor/components/editor-toolbar-select/editor-toolbar-select.component.ts +205 -0
- package/src/lib/components/form/input-editor/config/index.ts +77 -0
- package/src/lib/components/form/input-editor/helpers/is-defined.ts +3 -0
- package/src/lib/components/form/input-editor/input-editor.component.html +68 -0
- package/src/lib/components/form/input-editor/input-editor.component.less +64 -0
- package/src/lib/components/form/input-editor/input-editor.component.ts +430 -0
- package/src/lib/components/form/input-editor/input-editor.module.ts +24 -0
- package/src/lib/components/form/input-editor/models/editor-select.model.ts +4 -0
- package/src/lib/components/form/input-editor/services/editor.service.ts +307 -0
- package/src/lib/components/form/input-file/assets/input-file-controls.less +8 -0
- package/src/lib/components/form/input-file/assets/input-file-drop-placeholder.less +31 -0
- package/src/lib/components/form/input-file/assets/input-file-drop.less +35 -0
- package/src/lib/components/form/input-file/assets/input-file-error.less +50 -0
- package/src/lib/components/form/input-file/assets/input-file-list-item.less +52 -0
- package/src/lib/components/form/input-file/assets/input-file-list.less +8 -0
- package/src/lib/components/form/input-file/assets/input-file.less +20 -0
- package/src/lib/components/form/input-file/enums/error-messages.enum.ts +6 -0
- package/src/lib/components/form/input-file/input-file.component.html +135 -0
- package/src/lib/components/form/input-file/input-file.component.less +7 -0
- package/src/lib/components/form/input-file/input-file.component.ts +329 -0
- package/src/lib/components/form/input-file/input-file.enum.ts +8 -0
- package/src/lib/components/form/input-file/input-file.module.ts +18 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image-avatar.less +93 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image-controls.less +35 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image-drop.less +24 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image-input.less +45 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image-preview.less +107 -0
- package/src/lib/components/form/input-file-image/assets/input-file-image.less +7 -0
- package/src/lib/components/form/input-file-image/components/file-image-edit-modal/assets/input-image-cropper.less +25 -0
- package/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.html +68 -0
- package/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.less +1 -0
- package/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.ts +114 -0
- package/src/lib/components/form/input-file-image/input-file-image.component.html +151 -0
- package/src/lib/components/form/input-file-image/input-file-image.component.less +7 -0
- package/src/lib/components/form/input-file-image/input-file-image.component.ts +365 -0
- package/src/lib/components/form/input-file-image/input-file-image.enum.ts +10 -0
- package/src/lib/components/form/input-file-image/input-file-image.module.ts +31 -0
- package/src/lib/components/form/input-number/assets/input-number-disabled.less +17 -0
- package/src/lib/components/form/input-number/assets/input-number-error.less +21 -0
- package/src/lib/components/form/input-number/assets/input-number-sizes.less +61 -0
- package/src/lib/components/form/input-number/assets/input-number.less +45 -0
- package/src/lib/components/form/input-number/input-number.component.html +35 -0
- package/src/lib/components/form/input-number/input-number.component.less +4 -0
- package/src/lib/components/form/input-number/input-number.component.ts +284 -0
- package/src/lib/components/form/input-number/input-number.enum.ts +16 -0
- package/src/lib/components/form/input-number/input-number.module.ts +40 -0
- package/src/lib/components/form/input-opt/components/input-opt/assets/input-opt-error.less +23 -0
- package/src/lib/components/form/input-opt/components/input-opt/assets/input-opt-sizes.less +73 -0
- package/src/lib/components/form/input-opt/components/input-opt/assets/input-opt.less +20 -0
- package/src/lib/components/form/input-opt/components/input-opt/input-opt.component.html +39 -0
- package/src/lib/components/form/input-opt/components/input-opt/input-opt.component.less +3 -0
- package/src/lib/components/form/input-opt/components/input-opt/input-opt.component.ts +417 -0
- package/src/lib/components/form/input-opt/components/input-opt/input-opt.enum.ts +8 -0
- package/src/lib/components/form/input-opt/directives/opt-pattern.directive.ts +34 -0
- package/src/lib/components/form/input-opt/input-opt.module.ts +25 -0
- package/src/lib/components/form/input-opt/models/input-opt.model.ts +30 -0
- package/src/lib/components/form/input-opt/services/input-opt.service.ts +40 -0
- package/src/lib/components/form/input-password/assets/input-password-bullets.less +12 -0
- package/src/lib/components/form/input-password/assets/input-password-error.less +21 -0
- package/src/lib/components/form/input-password/assets/input-password-icons.less +16 -0
- package/src/lib/components/form/input-password/assets/input-password-sizes.less +31 -0
- package/src/lib/components/form/input-password/assets/input-password.less +43 -0
- package/src/lib/components/form/input-password/input-password.component.html +41 -0
- package/src/lib/components/form/input-password/input-password.component.less +5 -0
- package/src/lib/components/form/input-password/input-password.component.ts +106 -0
- package/src/lib/components/form/input-password/input-password.enum.ts +9 -0
- package/src/lib/components/form/input-password/input-password.module.ts +24 -0
- package/src/lib/components/form/input-phone/assets/input-phone-country-flags.less +271 -0
- package/src/lib/components/form/input-phone/assets/input-phone-dropdown.less +46 -0
- package/src/lib/components/form/input-phone/assets/input-phone-error.less +21 -0
- package/src/lib/components/form/input-phone/assets/input-phone-flags-icon.less +28 -0
- package/src/lib/components/form/input-phone/assets/input-phone-search.less +17 -0
- package/src/lib/components/form/input-phone/assets/input-phone-sizes.less +31 -0
- package/src/lib/components/form/input-phone/assets/input-phone-sprite.less +1297 -0
- package/src/lib/components/form/input-phone/assets/input-phone.less +85 -0
- package/src/lib/components/form/input-phone/data/country-code.ts +1326 -0
- package/src/lib/components/form/input-phone/directives/native-element-injector.directive.ts +27 -0
- package/src/lib/components/form/input-phone/enums/country-iso.enum.ts +245 -0
- package/src/lib/components/form/input-phone/enums/input-phone.enum.ts +14 -0
- package/src/lib/components/form/input-phone/enums/mask.enum.ts +147 -0
- package/src/lib/components/form/input-phone/enums/phone-number-format.enum.ts +4 -0
- package/src/lib/components/form/input-phone/enums/search-country-field.enum.ts +6 -0
- package/src/lib/components/form/input-phone/input-phone.component.html +86 -0
- package/src/lib/components/form/input-phone/input-phone.component.less +9 -0
- package/src/lib/components/form/input-phone/input-phone.component.ts +693 -0
- package/src/lib/components/form/input-phone/input-phone.module.ts +34 -0
- package/src/lib/components/form/input-phone/input-phone.validator.ts +70 -0
- package/src/lib/components/form/input-phone/interfaces/change-data.ts +9 -0
- package/src/lib/components/form/input-phone/models/country.model.ts +15 -0
- package/src/lib/components/form/input-search/assets/input-search-error.less +21 -0
- package/src/lib/components/form/input-search/assets/input-search-icons.less +16 -0
- package/src/lib/components/form/input-search/assets/input-search-sizes.less +31 -0
- package/src/lib/components/form/input-search/assets/input-search.less +45 -0
- package/src/lib/components/form/input-search/input-search.component.html +44 -0
- package/src/lib/components/form/input-search/input-search.component.less +4 -0
- package/src/lib/components/form/input-search/input-search.component.ts +160 -0
- package/src/lib/components/form/input-search/input-search.enum.ts +7 -0
- package/src/lib/components/form/input-search/input-search.module.ts +27 -0
- package/src/lib/components/form/input-select/assets/input-select-checked.less +18 -0
- package/src/lib/components/form/input-select/assets/input-select-dropdown.less +92 -0
- package/src/lib/components/form/input-select/assets/input-select-error.less +43 -0
- package/src/lib/components/form/input-select/assets/input-select-sizes.less +135 -0
- package/src/lib/components/form/input-select/assets/input-select-types.less +85 -0
- package/src/lib/components/form/input-select/assets/input-select.less +191 -0
- package/src/lib/components/form/input-select/input-select.component.html +80 -0
- package/src/lib/components/form/input-select/input-select.component.less +6 -0
- package/src/lib/components/form/input-select/input-select.component.ts +180 -0
- package/src/lib/components/form/input-select/input-select.enum.ts +13 -0
- package/src/lib/components/form/input-select/input-select.module.ts +25 -0
- package/src/lib/components/form/input-select/input-select.test.html +13 -0
- package/src/lib/components/form/input-tel/assets/base64.ts +5 -0
- package/src/lib/components/form/input-tel/assets/flags.png +0 -0
- package/src/lib/components/form/input-tel/assets/input-tel-country-flags.less +986 -0
- package/src/lib/components/form/input-tel/assets/input-tel-dropdown.less +52 -0
- package/src/lib/components/form/input-tel/assets/input-tel-error.less +21 -0
- package/src/lib/components/form/input-tel/assets/input-tel-flags-icon.less +29 -0
- package/src/lib/components/form/input-tel/assets/input-tel-sizes.less +39 -0
- package/src/lib/components/form/input-tel/assets/input-tel.less +85 -0
- package/src/lib/components/form/input-tel/data/all-countries.ts +1323 -0
- package/src/lib/components/form/input-tel/data/country-iso.enum.ts +245 -0
- package/src/lib/components/form/input-tel/data/phone-number-format.enum.ts +6 -0
- package/src/lib/components/form/input-tel/data/search-country-field.enum.ts +6 -0
- package/src/lib/components/form/input-tel/directives/input-tel.directive.ts +59 -0
- package/src/lib/components/form/input-tel/enums/input-phone.enum.ts +14 -0
- package/src/lib/components/form/input-tel/input-tel.component.html +88 -0
- package/src/lib/components/form/input-tel/input-tel.component.less +6 -0
- package/src/lib/components/form/input-tel/input-tel.component.ts +374 -0
- package/src/lib/components/form/input-tel/input-tel.module.ts +26 -0
- package/src/lib/components/form/input-tel/models/country.model.ts +19 -0
- package/src/lib/components/form/input-text/assets/input-text-disabled.less +17 -0
- package/src/lib/components/form/input-text/assets/input-text-error.less +33 -0
- package/src/lib/components/form/input-text/assets/input-text-icon.less +25 -0
- package/src/lib/components/form/input-text/assets/input-text-sizes.less +61 -0
- package/src/lib/components/form/input-text/assets/input-text.less +25 -0
- package/src/lib/components/form/input-text/input-text.component.html +46 -0
- package/src/lib/components/form/input-text/input-text.component.less +5 -0
- package/src/lib/components/form/input-text/input-text.component.ts +176 -0
- package/src/lib/components/form/input-text/input-text.enum.ts +24 -0
- package/src/lib/components/form/input-text/input-text.module.ts +31 -0
- package/src/lib/components/form/input-textarea/assets/input-textarea-disabled-block.less +23 -0
- package/src/lib/components/form/input-textarea/assets/input-textarea-error.less +21 -0
- package/src/lib/components/form/input-textarea/assets/input-textarea-sizes.less +34 -0
- package/src/lib/components/form/input-textarea/assets/input-textarea.less +24 -0
- package/src/lib/components/form/input-textarea/input-textarea.component.html +46 -0
- package/src/lib/components/form/input-textarea/input-textarea.component.less +4 -0
- package/src/lib/components/form/input-textarea/input-textarea.component.ts +191 -0
- package/src/lib/components/form/input-textarea/input-textarea.enum.ts +14 -0
- package/src/lib/components/form/input-textarea/input-textarea.module.ts +31 -0
- package/src/lib/components/form/input-timepicker/constants/value-models.ts +9 -0
- package/src/lib/components/form/input-timepicker/helpers/clean-date.ts +5 -0
- package/src/lib/components/form/input-timepicker/helpers/cursor-position.ts +12 -0
- package/src/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.ts +6 -0
- package/src/lib/components/form/input-timepicker/helpers/get-date-object.ts +6 -0
- package/src/lib/components/form/input-timepicker/helpers/validate-value-models.ts +42 -0
- package/src/lib/components/form/input-timepicker/helpers/value-parser.ts +21 -0
- package/src/lib/components/form/input-timepicker/input-timepicker.component.html +57 -0
- package/src/lib/components/form/input-timepicker/input-timepicker.component.ts +293 -0
- package/src/lib/components/form/input-timepicker/input-timepicker.components.scss +1 -0
- package/src/lib/components/form/input-timepicker/input-timepicker.enum.ts +14 -0
- package/src/lib/components/form/input-timepicker/input-timepicker.module.ts +30 -0
- package/src/lib/components/form/json-editor/json-editor.component.html +1 -0
- package/src/lib/components/form/json-editor/json-editor.component.less +1912 -0
- package/src/lib/components/form/json-editor/json-editor.component.ts +254 -0
- package/src/lib/components/form/json-editor/json-editor.enum.ts +6 -0
- package/src/lib/components/form/json-editor/json-editor.module.ts +18 -0
- package/src/lib/components/form/json-editor/utils/jsoneditoroptions.ts +167 -0
- package/src/lib/components/form/radio/assets/radio-error.less +9 -0
- package/src/lib/components/form/radio/assets/radio-input.less +10 -0
- package/src/lib/components/form/radio/assets/radio-label.less +26 -0
- package/src/lib/components/form/radio/assets/radio-mark.less +62 -0
- package/src/lib/components/form/radio/assets/radio-wrapper.less +5 -0
- package/src/lib/components/form/radio/assets/radio.less +11 -0
- package/src/lib/components/form/radio/radio.component.html +25 -0
- package/src/lib/components/form/radio/radio.component.less +6 -0
- package/src/lib/components/form/radio/radio.component.ts +74 -0
- package/src/lib/components/form/radio/radio.enum.ts +5 -0
- package/src/lib/components/form/radio/radio.module.ts +14 -0
- package/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.html +14 -0
- package/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.ts +32 -0
- package/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.html +51 -0
- package/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.less +17 -0
- package/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.ts +55 -0
- package/src/lib/components/form/radio-group/helpers/filter-search-group.ts +29 -0
- package/src/lib/components/form/radio-group/helpers/get-item-by-id.ts +11 -0
- package/src/lib/components/form/radio-group/helpers/move-selected-to-first.ts +33 -0
- package/src/lib/components/form/radio-group/models/radio-group.model.ts +15 -0
- package/src/lib/components/form/radio-group/radio-group.component.html +47 -0
- package/src/lib/components/form/radio-group/radio-group.component.less +21 -0
- package/src/lib/components/form/radio-group/radio-group.component.ts +163 -0
- package/src/lib/components/form/radio-group/radio-group.module.ts +30 -0
- package/src/lib/components/form/rating/assets/rating-disabled.less +5 -0
- package/src/lib/components/form/rating/assets/rating-item.less +44 -0
- package/src/lib/components/form/rating/assets/rating-size.less +24 -0
- package/src/lib/components/form/rating/assets/rating.less +17 -0
- package/src/lib/components/form/rating/rating.component.html +75 -0
- package/src/lib/components/form/rating/rating.component.less +4 -0
- package/src/lib/components/form/rating/rating.component.ts +213 -0
- package/src/lib/components/form/rating/rating.enum.ts +36 -0
- package/src/lib/components/form/rating/rating.module.ts +15 -0
- package/src/lib/components/form/switch/assets/switch-label.less +26 -0
- package/src/lib/components/form/switch/assets/switch-sizes.less +50 -0
- package/src/lib/components/form/switch/assets/switch-types.less +18 -0
- package/src/lib/components/form/switch/assets/switch.less +73 -0
- package/src/lib/components/form/switch/switch.component.html +53 -0
- package/src/lib/components/form/switch/switch.component.less +4 -0
- package/src/lib/components/form/switch/switch.component.ts +85 -0
- package/src/lib/components/form/switch/switch.enum.ts +20 -0
- package/src/lib/components/form/switch/switch.module.ts +13 -0
- package/src/lib/components/gallery/assets/fancybox.less +1319 -0
- package/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.html +30 -0
- package/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.ts +43 -0
- package/src/lib/components/gallery/components/gallery-item/gallery-item.component.html +58 -0
- package/src/lib/components/gallery/components/gallery-item/gallery-item.component.less +85 -0
- package/src/lib/components/gallery/components/gallery-item/gallery-item.component.ts +106 -0
- package/src/lib/components/gallery/constants/custom-buttons-default.ts +15 -0
- package/src/lib/components/gallery/constants/thumbs-config-default.ts +6 -0
- package/src/lib/components/gallery/gallery.component.html +32 -0
- package/src/lib/components/gallery/gallery.component.less +14 -0
- package/src/lib/components/gallery/gallery.component.ts +202 -0
- package/src/lib/components/gallery/gallery.module.ts +32 -0
- package/src/lib/components/gallery/helpers/rotate-image.ts +33 -0
- package/src/lib/components/gallery/models/gallery-item.model.ts +26 -0
- package/src/lib/components/gallery/services/gallery.service.ts +33 -0
- package/src/lib/components/hint-error-message/hint-error-message.component.html +5 -0
- package/src/lib/components/hint-error-message/hint-error-message.component.less +11 -0
- package/src/lib/components/hint-error-message/hint-error-message.component.ts +125 -0
- package/src/lib/components/hint-error-message/hint-error-message.module.ts +11 -0
- package/src/lib/components/icon-button/icon-button.component.html +11 -0
- package/src/lib/components/icon-button/icon-button.component.less +84 -0
- package/src/lib/components/icon-button/icon-button.component.ts +44 -0
- package/src/lib/components/icon-button/icon-button.enum.ts +21 -0
- package/src/lib/components/icon-button/icon-button.module.ts +11 -0
- package/src/lib/components/label/label.component.html +57 -0
- package/src/lib/components/label/label.component.less +49 -0
- package/src/lib/components/label/label.component.ts +103 -0
- package/src/lib/components/label/label.module.ts +19 -0
- package/src/lib/components/link/assets/link-monochrome.less +21 -0
- package/src/lib/components/link/assets/link.less +54 -0
- package/src/lib/components/link/link.component.html +27 -0
- package/src/lib/components/link/link.component.less +2 -0
- package/src/lib/components/link/link.component.ts +52 -0
- package/src/lib/components/link/link.enum.ts +24 -0
- package/src/lib/components/link/link.module.ts +13 -0
- package/src/lib/components/loader/assets/loader-color.less +60 -0
- package/src/lib/components/loader/assets/loader-sizes.less +21 -0
- package/src/lib/components/loader/assets/loader.less +25 -0
- package/src/lib/components/loader/loader.component.html +13 -0
- package/src/lib/components/loader/loader.component.less +3 -0
- package/src/lib/components/loader/loader.component.ts +17 -0
- package/src/lib/components/loader/loader.enum.ts +22 -0
- package/src/lib/components/loader/loader.module.ts +11 -0
- package/src/lib/components/modal/assets/modal-animations.less +13 -0
- package/src/lib/components/modal/assets/modal-body.less +19 -0
- package/src/lib/components/modal/assets/modal-colors.less +62 -0
- package/src/lib/components/modal/assets/modal-footer.less +5 -0
- package/src/lib/components/modal/assets/modal-header.less +48 -0
- package/src/lib/components/modal/assets/modal-sizes.less +17 -0
- package/src/lib/components/modal/assets/modal.less +47 -0
- package/src/lib/components/modal/modal.component.html +49 -0
- package/src/lib/components/modal/modal.component.less +7 -0
- package/src/lib/components/modal/modal.component.ts +107 -0
- package/src/lib/components/modal/modal.emun.ts +25 -0
- package/src/lib/components/modal/modal.module.ts +12 -0
- package/src/lib/components/pages-nav/pages-nav.component.html +20 -0
- package/src/lib/components/pages-nav/pages-nav.component.less +40 -0
- package/src/lib/components/pages-nav/pages-nav.component.ts +22 -0
- package/src/lib/components/pages-nav/pages-nav.enum.ts +6 -0
- package/src/lib/components/pages-nav/pages-nav.module.ts +18 -0
- package/src/lib/components/paginator/assets/paginator-types.less +13 -0
- package/src/lib/components/paginator/assets/paginator.less +83 -0
- package/src/lib/components/paginator/paginator.component.html +64 -0
- package/src/lib/components/paginator/paginator.component.less +2 -0
- package/src/lib/components/paginator/paginator.component.ts +129 -0
- package/src/lib/components/paginator/paginator.enum.ts +18 -0
- package/src/lib/components/paginator/paginator.module.ts +20 -0
- package/src/lib/components/pdf-viewer/assets/pdf-viewer__container.less +43 -0
- package/src/lib/components/pdf-viewer/assets/pdf-viewer__print-dialog.less +42 -0
- package/src/lib/components/pdf-viewer/assets/pdf-viewer__sidebar.less +173 -0
- package/src/lib/components/pdf-viewer/assets/pdf-viewer__toolbar.less +210 -0
- package/src/lib/components/pdf-viewer/pdf-viewer.component.html +188 -0
- package/src/lib/components/pdf-viewer/pdf-viewer.component.less +4 -0
- package/src/lib/components/pdf-viewer/pdf-viewer.component.ts +297 -0
- package/src/lib/components/pdf-viewer/pdf-viewer.module.ts +32 -0
- package/src/lib/components/progress/assets/progress-color.less +26 -0
- package/src/lib/components/progress/assets/progress.less +12 -0
- package/src/lib/components/progress/progress.component.html +3 -0
- package/src/lib/components/progress/progress.component.less +2 -0
- package/src/lib/components/progress/progress.component.ts +19 -0
- package/src/lib/components/progress/progress.enum.ts +7 -0
- package/src/lib/components/progress/progress.module.ts +11 -0
- package/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.html +66 -0
- package/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.less +32 -0
- package/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.ts +14 -0
- package/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.html +66 -0
- package/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.less +32 -0
- package/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.ts +14 -0
- package/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.html +66 -0
- package/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.less +32 -0
- package/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.ts +14 -0
- package/src/lib/components/save-state/components/save-state-input/save-state-input.component.html +66 -0
- package/src/lib/components/save-state/components/save-state-input/save-state-input.component.less +34 -0
- package/src/lib/components/save-state/components/save-state-input/save-state-input.component.ts +14 -0
- package/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.html +66 -0
- package/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.less +32 -0
- package/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.ts +14 -0
- package/src/lib/components/save-state/save-state.component.html +11 -0
- package/src/lib/components/save-state/save-state.component.less +0 -0
- package/src/lib/components/save-state/save-state.component.ts +32 -0
- package/src/lib/components/save-state/save-state.enum.ts +1 -0
- package/src/lib/components/save-state/save-state.module.ts +28 -0
- package/src/lib/components/stepper/stepper.component.html +30 -0
- package/src/lib/components/stepper/stepper.component.less +27 -0
- package/src/lib/components/stepper/stepper.component.ts +38 -0
- package/src/lib/components/stepper/stepper.enum.ts +5 -0
- package/src/lib/components/stepper/stepper.module.ts +12 -0
- package/src/lib/components/table/assets/table-counter.less +8 -0
- package/src/lib/components/table/assets/table-download.less +19 -0
- package/src/lib/components/table/assets/table-empty-message.less +38 -0
- package/src/lib/components/table/assets/table-overlay.less +17 -0
- package/src/lib/components/table/assets/table-paginator.less +9 -0
- package/src/lib/components/table/assets/table-sort-select.less +70 -0
- package/src/lib/components/table/assets/table-striped.less +42 -0
- package/src/lib/components/table/assets/table-toggle.less +22 -0
- package/src/lib/components/table/assets/table-types.less +118 -0
- package/src/lib/components/table/assets/table.less +36 -0
- package/src/lib/components/table/components/column/column.component.ts +17 -0
- package/src/lib/components/table/default/default-pager-settings.ts +8 -0
- package/src/lib/components/table/models/data-state-change.event.ts +16 -0
- package/src/lib/components/table/models/index.ts +3 -0
- package/src/lib/components/table/models/pager-settings.ts +26 -0
- package/src/lib/components/table/table.component.html +220 -0
- package/src/lib/components/table/table.component.less +10 -0
- package/src/lib/components/table/table.component.ts +252 -0
- package/src/lib/components/table/table.enum.ts +41 -0
- package/src/lib/components/table/table.module.ts +30 -0
- package/src/lib/components/tabs/tab/tab.component.html +4 -0
- package/src/lib/components/tabs/tab/tab.component.less +15 -0
- package/src/lib/components/tabs/tab/tab.component.ts +22 -0
- package/src/lib/components/tabs/tabs-group/assets/tabs-button.less +43 -0
- package/src/lib/components/tabs/tabs-group/assets/tabs-group.less +9 -0
- package/src/lib/components/tabs/tabs-group/assets/tabs-size.less +50 -0
- package/src/lib/components/tabs/tabs-group/assets/tabs-types.less +63 -0
- package/src/lib/components/tabs/tabs-group/tabs-group.component.html +5 -0
- package/src/lib/components/tabs/tabs-group/tabs-group.component.less +4 -0
- package/src/lib/components/tabs/tabs-group/tabs-group.component.ts +23 -0
- package/src/lib/components/tabs/tabs.enum.ts +15 -0
- package/src/lib/components/tabs/tabs.module.ts +12 -0
- package/src/lib/components/tooltip/services/tooltip.service.ts +74 -0
- package/src/lib/components/tooltip/tooltip-trigger/assets/tooltip-trigger-right.less +39 -0
- package/src/lib/components/tooltip/tooltip-trigger/assets/tooltip-trigger-top.less +41 -0
- package/src/lib/components/tooltip/tooltip-trigger/assets/tooltip-trigger.less +29 -0
- package/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.html +11 -0
- package/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.less +3 -0
- package/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.ts +29 -0
- package/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.ts +13 -0
- package/src/lib/components/tooltip/tooltip.component.html +4 -0
- package/src/lib/components/tooltip/tooltip.component.less +19 -0
- package/src/lib/components/tooltip/tooltip.component.ts +51 -0
- package/src/lib/components/tooltip/tooltip.enum.ts +4 -0
- package/src/lib/components/tooltip/tooltip.module.ts +13 -0
- package/src/lib/components/truncate-text/directives/truncate-text.directive.ts +158 -0
- package/src/lib/components/truncate-text/truncate-text.component.html +21 -0
- package/src/lib/components/truncate-text/truncate-text.component.ts +19 -0
- package/src/lib/components/truncate-text/truncate-text.enum.ts +2 -0
- package/src/lib/components/truncate-text/truncate-text.module.ts +13 -0
- package/src/lib/components/warning-message/warning-message.component.html +8 -0
- package/src/lib/components/warning-message/warning-message.component.less +12 -0
- package/src/lib/components/warning-message/warning-message.component.ts +24 -0
- package/src/lib/components/warning-message/warning-message.module.ts +11 -0
- package/src/lib/components/wrappers/content-wrapper/content-wrapper.component.html +9 -0
- package/src/lib/components/wrappers/content-wrapper/content-wrapper.component.less +13 -0
- package/src/lib/components/wrappers/content-wrapper/content-wrapper.component.ts +18 -0
- package/src/lib/components/wrappers/content-wrapper/content-wrapper.enum.ts +6 -0
- package/src/lib/components/wrappers/content-wrapper/content-wrapper.module.ts +13 -0
- package/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.html +6 -0
- package/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.less +39 -0
- package/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.ts +11 -0
- package/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.html +7 -0
- package/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.less +30 -0
- package/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.ts +18 -0
- package/src/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.ts +7 -0
- package/src/lib/components/wrappers/controls-wrapper/controls-wrapper.module.ts +14 -0
- package/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.html +50 -0
- package/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.less +88 -0
- package/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.ts +82 -0
- package/src/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.ts +17 -0
- package/src/lib/components/wrappers/widget-wrapper/widget-wrapper.module.ts +18 -0
- package/src/lib/directives/autosize/autosize.directive.ts +55 -0
- package/src/lib/directives/autosize/autosize.module.ts +16 -0
- package/src/lib/directives/delayed-value/delayed-value.directive.ts +37 -0
- package/src/lib/directives/delayed-value/delayed-value.module.ts +16 -0
- package/src/lib/directives/truncate/truncate.directive.ts +26 -0
- package/src/lib/directives/truncate/truncate.module.ts +10 -0
- package/src/lib/enums/typed.input.state.ts +6 -0
- package/src/lib/helpers/extension/input-file.extension.ts +47 -0
- package/src/lib/helpers/formatting-date.ts +65 -0
- package/src/lib/helpers/formatting-dates-from-array.ts +21 -0
- package/src/lib/helpers/formatting-iso-to-string.ts +20 -0
- package/src/lib/helpers/index.ts +8 -0
- package/src/lib/helpers/mrx-gallery-lib/README.md +0 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.autoplay.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.autoplay.esm.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.autoplay.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.autoplay.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.thumbs.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.thumbs.esm.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.thumbs.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.thumbs.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/carousel.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/cs.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/cs.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/de.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/de.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/en.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/en.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/es.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/es.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/fr.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/fr.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/it.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/it.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/ja.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/ja.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/lv.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/lv.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/pl.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/pl.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/sk.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/sk.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/zh_CN.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/carousel/l10n/zh_CN.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/fancybox.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/fancybox.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/fancybox.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/cs.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/cs.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/de.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/de.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/en.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/en.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/es.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/es.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/fr.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/fr.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/it.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/it.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/ja.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/ja.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/lv.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/lv.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/pl.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/pl.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/sk.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/sk.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/zh_CN.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/fancybox/l10n/zh_CN.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/index.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/index.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/cs.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/cs.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/de.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/de.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/en.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/en.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/es.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/es.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/fr.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/fr.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/it.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/it.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/ja.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/ja.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/lv.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/lv.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/pl.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/pl.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/sk.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/sk.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/zh_CN.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/l10n/zh_CN.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.pins.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.pins.esm.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.pins.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.pins.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.toolbar.css +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.toolbar.esm.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.toolbar.esm.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.toolbar.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/dist/panzoom/panzoom.umd.js +1 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/cs.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/de.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/en.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/es.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/fr.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/it.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/ja.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/lv.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/pl.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/sk.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Carousel/zh_CN.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/cs.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/de.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/en.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/es.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/fr.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/it.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/ja.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/lv.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/pl.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/sk.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Fancybox/zh_CN.ts +20 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/cs.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/de.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/en.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/es.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/fr.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/it.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/ja.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/lv.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/pl.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/sk.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/l10n/Panzoom/zh_CN.ts +26 -0
- package/src/lib/helpers/mrx-gallery-lib/package.json +15 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/Carousel.d.ts +186 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/consts.d.ts +8 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/options.d.ts +108 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/Autoplay/Autoplay.d.ts +62 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/Dots/Dots.d.ts +44 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/Navigation/Navigation.d.ts +41 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/Sync/Sync.d.ts +44 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/Thumbs/Thumbs.d.ts +99 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/plugins/index.d.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Carousel/types.d.ts +94 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/Fancybox.d.ts +231 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/consts.d.ts +13 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/options.d.ts +171 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Hash/Hash.d.ts +34 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Html/Html.d.ts +105 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Images/Images.d.ts +66 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Slideshow/Slideshow.d.ts +42 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Thumbs/Thumbs.d.ts +42 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/Toolbar/Toolbar.d.ts +86 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/plugins/index.d.ts +8 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Fancybox/types.d.ts +91 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/Panzoom.d.ts +357 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/consts.d.ts +9 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/options.d.ts +172 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/plugins/Pins/Pins.d.ts +18 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/plugins/Toolbar/Toolbar.d.ts +31 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/plugins/index.d.ts +2 -0
- package/src/lib/helpers/mrx-gallery-lib/types/Panzoom/types.d.ts +112 -0
- package/src/lib/helpers/mrx-gallery-lib/types/index.d.ts +3 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/Base/Base.d.ts +16 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/Base/Component.d.ts +9 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/Base/Plugin.d.ts +7 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/Base/types.d.ts +9 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/buttons.d.ts +88 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/spinner.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/PointerTracker.d.ts +45 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/addClass.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/canUseDOM.d.ts +4 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/getDimensions.d.ts +8 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/getDirectChildren.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/getScrollableParent.d.ts +2 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/isInViewport.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/isNode.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/isPlainObject.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/merge.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/removeClass.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/resolve.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/round.d.ts +4 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/setFocusOn.d.ts +2 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/splitClasses.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/stringToHtml.d.ts +1 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/throttle.d.ts +5 -0
- package/src/lib/helpers/mrx-gallery-lib/types/shared/utils/toggleClass.d.ts +1 -0
- package/src/lib/helpers/number-format.ts +8 -0
- package/src/lib/helpers/string-hash-code.ts +16 -0
- package/src/lib/helpers/word-form.ts +11 -0
- package/src/lib/models/index.ts +2 -0
- package/src/lib/models/input-file/input-file.model.ts +26 -0
- package/src/lib/models/typed-input-model.ts +17 -0
- package/src/lib/myrta-ui.module.ts +146 -0
- package/src/lib/pipes/currency/currency.module.ts +14 -0
- package/src/lib/pipes/currency/currency.pipe.ts +19 -0
- package/src/lib/pipes/date/date-format.module.ts +11 -0
- package/src/lib/pipes/date/date-format.pipe.ts +17 -0
- package/src/lib/pipes/date/date-time-format.pipe.ts +17 -0
- package/src/lib/pipes/date/enums/timezone.ts +10 -0
- package/src/lib/pipes/date/helpers/change-timezone.ts +25 -0
- package/src/lib/pipes/phone/phone-format.module.ts +10 -0
- package/src/lib/pipes/phone/phone-format.pipe.ts +16 -0
- package/src/lib/pipes/safe/safe.module.ts +14 -0
- package/src/lib/pipes/safe/safe.pipe.ts +14 -0
- package/src/lib/pipes/truncate/truncate.module.ts +14 -0
- package/src/lib/pipes/truncate/truncate.pipe.ts +19 -0
- package/src/lib/services/dialog/components/dialog/dialog.component.html +7 -0
- package/src/lib/services/dialog/components/dialog/dialog.component.less +22 -0
- package/src/lib/services/dialog/components/dialog/dialog.component.ts +55 -0
- package/src/lib/services/dialog/dialog.module.ts +19 -0
- package/src/lib/services/dialog/directives/insertion.directive.ts +8 -0
- package/src/lib/services/dialog/services/dialog.service.ts +68 -0
- package/src/lib/services/dialog/utils/dialog-config.ts +3 -0
- package/src/lib/services/dialog/utils/dialog-injector.ts +17 -0
- package/src/lib/services/dialog/utils/dialog-ref.ts +12 -0
- package/src/lib/services/file-upload/file-upload.service.ts +24 -0
- package/src/lib/services/index.ts +19 -0
- package/src/lib/services/modal-service/components/alert-modal/alert-modal.component.html +20 -0
- package/src/lib/services/modal-service/components/alert-modal/alert-modal.component.less +0 -0
- package/src/lib/services/modal-service/components/alert-modal/alert-modal.component.ts +47 -0
- package/src/lib/services/modal-service/components/confirm-modal/confirm-modal.component.html +29 -0
- package/src/lib/services/modal-service/components/confirm-modal/confirm-modal.component.less +0 -0
- package/src/lib/services/modal-service/components/confirm-modal/confirm-modal.component.ts +51 -0
- package/src/lib/services/modal-service/helpers/index.ts +4 -0
- package/src/lib/services/modal-service/helpers/modal-default-config.ts +16 -0
- package/src/lib/services/modal-service/helpers/modal-ref.ts +36 -0
- package/src/lib/services/modal-service/helpers/modal-tokens.ts +4 -0
- package/src/lib/services/modal-service/helpers/modal.component.ts +3 -0
- package/src/lib/services/modal-service/modal-service.module.ts +15 -0
- package/src/lib/services/modal-service/modal-service.service.ts +100 -0
- package/src/lib/services/modal-service/models/modal-config.model.ts +16 -0
- package/src/lib/services/mrx-autosave/mrx-autosave.service.ts +58 -0
- package/src/lib/services/mrx-form-validator/constants/invalid-messages.ts +9 -0
- package/src/lib/services/mrx-form-validator/helpers/get-error-message.helper.ts +17 -0
- package/src/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.ts +30 -0
- package/src/lib/services/mrx-form-validator/models/index.ts +3 -0
- package/src/lib/services/mrx-form-validator/models/validations-options.model.ts +35 -0
- package/src/lib/services/mrx-form-validator/models/validations-settings.model.ts +8 -0
- package/src/lib/services/mrx-form-validator/models/validations-types.model.ts +23 -0
- package/src/lib/services/mrx-form-validator/mrx-form-validator.ts +278 -0
- package/src/lib/services/mrx-form-validator/validations/callback.validation.ts +24 -0
- package/src/lib/services/mrx-form-validator/validations/email.validation.ts +20 -0
- package/src/lib/services/mrx-form-validator/validations/max-length.validation.ts +26 -0
- package/src/lib/services/mrx-form-validator/validations/max-value.validation.ts +21 -0
- package/src/lib/services/mrx-form-validator/validations/min-length.validation.ts +26 -0
- package/src/lib/services/mrx-form-validator/validations/min-value.validation.ts +19 -0
- package/src/lib/services/mrx-form-validator/validations/pattern.validation.ts +20 -0
- package/src/lib/services/mrx-form-validator/validations/required.validation.ts +34 -0
- package/src/lib/services/save-store/constants/constants.ts +1 -0
- package/src/lib/services/save-store/models/save-store.model.ts +4 -0
- package/src/lib/services/save-store/save-store.module.ts +17 -0
- package/src/lib/services/save-store/store/actions.ts +56 -0
- package/src/lib/services/save-store/store/effect.ts +61 -0
- package/src/lib/services/save-store/store/reducer.ts +103 -0
- package/src/lib/services/save-store/store/selectors.ts +10 -0
- package/src/lib/services/save-store/store/state.ts +16 -0
- package/src/lib/services/toaster-service/components/toaster/assets/toaster-colors.less +78 -0
- package/src/lib/services/toaster-service/components/toaster/assets/toaster-content.less +17 -0
- package/src/lib/services/toaster-service/components/toaster/assets/toaster.less +45 -0
- package/src/lib/services/toaster-service/components/toaster/toaster.component.html +37 -0
- package/src/lib/services/toaster-service/components/toaster/toaster.component.less +3 -0
- package/src/lib/services/toaster-service/components/toaster/toaster.component.ts +26 -0
- package/src/lib/services/toaster-service/config/index.ts +12 -0
- package/src/lib/services/toaster-service/models/toaster.model.ts +14 -0
- package/src/lib/services/toaster-service/toaster-service.module.ts +20 -0
- package/src/lib/services/toaster-service/toaster-service.service.ts +51 -0
- package/src/public-api.ts +244 -0
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/esm2022/lib/components/alert/alert.component.mjs +0 -43
- package/esm2022/lib/components/alert/alert.enum.mjs +0 -15
- package/esm2022/lib/components/alert/alert.module.mjs +0 -19
- package/esm2022/lib/components/badges/badge.enum.mjs +0 -32
- package/esm2022/lib/components/badges/badges.module.mjs +0 -30
- package/esm2022/lib/components/badges/components/badge/badge.component.mjs +0 -61
- package/esm2022/lib/components/badges/components/badge-group/badge-group.component.mjs +0 -11
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.enum.mjs +0 -6
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +0 -31
- package/esm2022/lib/components/button/button.component.mjs +0 -100
- package/esm2022/lib/components/button/button.enum.mjs +0 -27
- package/esm2022/lib/components/button/button.module.mjs +0 -21
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -29
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -99
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +0 -21
- package/esm2022/lib/components/cdk-tooltip/constants/index.mjs +0 -70
- package/esm2022/lib/components/cdk-tooltip/models/tooltip-data.mjs +0 -2
- package/esm2022/lib/components/chars-left/chars-left.component.mjs +0 -24
- package/esm2022/lib/components/chars-left/chars-left.module.mjs +0 -19
- package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -24
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -107
- package/esm2022/lib/components/dropdown/dropdown.module.mjs +0 -21
- package/esm2022/lib/components/error-message/error-message.component.mjs +0 -32
- package/esm2022/lib/components/error-message/error-message.module.mjs +0 -19
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -146
- package/esm2022/lib/components/form/checkbox/checkbox.enum.mjs +0 -2
- package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +0 -22
- package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -216
- package/esm2022/lib/components/form/checkbox-group/checkbox-group.module.mjs +0 -47
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +0 -48
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -114
- package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -19
- package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
- package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
- package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
- package/esm2022/lib/components/form/checkbox-group/helpers/get-inner-list.helper.mjs +0 -46
- package/esm2022/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +0 -11
- package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
- package/esm2022/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.mjs +0 -13
- package/esm2022/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +0 -2
- package/esm2022/lib/components/form/editor/config/default-inline-style.mjs +0 -6
- package/esm2022/lib/components/form/editor/config/index.mjs +0 -2
- package/esm2022/lib/components/form/editor/config/popups-toolbar.mjs +0 -9
- package/esm2022/lib/components/form/editor/config/toolbar.mjs +0 -72
- package/esm2022/lib/components/form/editor/editor.component.mjs +0 -281
- package/esm2022/lib/components/form/editor/editor.enum.mjs +0 -7
- package/esm2022/lib/components/form/editor/editor.module.mjs +0 -45
- package/esm2022/lib/components/form/editor/models/toolbar.model.mjs +0 -2
- package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
- package/esm2022/lib/components/form/input-date-time/constants/value-models.mjs +0 -14
- package/esm2022/lib/components/form/input-date-time/enum/timezone.mjs +0 -7
- package/esm2022/lib/components/form/input-date-time/helpers/clean-date.mjs +0 -5
- package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
- package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
- package/esm2022/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +0 -10
- package/esm2022/lib/components/form/input-date-time/helpers/validate-value-models.mjs +0 -60
- package/esm2022/lib/components/form/input-date-time/helpers/value-parser.mjs +0 -39
- package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +0 -386
- package/esm2022/lib/components/form/input-date-time/input-date-time.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +0 -46
- package/esm2022/lib/components/form/input-datepicker/constants/value-models.mjs +0 -15
- package/esm2022/lib/components/form/input-datepicker/helpers/clean-date.mjs +0 -5
- package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
- package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
- package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
- package/esm2022/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +0 -74
- package/esm2022/lib/components/form/input-datepicker/helpers/value-parser.mjs +0 -47
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -356
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -46
- package/esm2022/lib/components/form/input-file/enums/error-messages.enum.mjs +0 -8
- package/esm2022/lib/components/form/input-file/input-file.component.mjs +0 -366
- package/esm2022/lib/components/form/input-file/input-file.enum.mjs +0 -8
- package/esm2022/lib/components/form/input-file/input-file.module.mjs +0 -26
- package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -88
- package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +0 -350
- package/esm2022/lib/components/form/input-file-image/input-file-image.enum.mjs +0 -10
- package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +0 -53
- package/esm2022/lib/components/form/input-number/input-number.component.mjs +0 -267
- package/esm2022/lib/components/form/input-number/input-number.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-number/input-number.module.mjs +0 -55
- package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -370
- package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +0 -8
- package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -43
- package/esm2022/lib/components/form/input-opt/input-opt.module.mjs +0 -38
- package/esm2022/lib/components/form/input-opt/models/input-opt.model.mjs +0 -6
- package/esm2022/lib/components/form/input-opt/services/input-opt.service.mjs +0 -33
- package/esm2022/lib/components/form/input-password/input-password.component.mjs +0 -118
- package/esm2022/lib/components/form/input-password/input-password.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-password/input-password.module.mjs +0 -36
- package/esm2022/lib/components/form/input-phone/data/country-code.mjs +0 -1331
- package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -35
- package/esm2022/lib/components/form/input-phone/enums/country-iso.enum.mjs +0 -247
- package/esm2022/lib/components/form/input-phone/enums/input-phone.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-phone/enums/mask.enum.mjs +0 -139
- package/esm2022/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +0 -6
- package/esm2022/lib/components/form/input-phone/enums/search-country-field.enum.mjs +0 -8
- package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +0 -679
- package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +0 -50
- package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
- package/esm2022/lib/components/form/input-phone/interfaces/change-data.mjs +0 -2
- package/esm2022/lib/components/form/input-phone/models/country.model.mjs +0 -2
- package/esm2022/lib/components/form/input-search/input-search.component.mjs +0 -167
- package/esm2022/lib/components/form/input-search/input-search.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-search/input-search.module.mjs +0 -41
- package/esm2022/lib/components/form/input-select/input-select.component.mjs +0 -253
- package/esm2022/lib/components/form/input-select/input-select.enum.mjs +0 -6
- package/esm2022/lib/components/form/input-select/input-select.module.mjs +0 -45
- package/esm2022/lib/components/form/input-tel/assets/base64.mjs +0 -4
- package/esm2022/lib/components/form/input-tel/data/all-countries.mjs +0 -1323
- package/esm2022/lib/components/form/input-tel/data/country-iso.enum.mjs +0 -247
- package/esm2022/lib/components/form/input-tel/data/phone-number-format.enum.mjs +0 -6
- package/esm2022/lib/components/form/input-tel/data/search-country-field.enum.mjs +0 -8
- package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -66
- package/esm2022/lib/components/form/input-tel/enums/input-phone.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +0 -400
- package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +0 -43
- package/esm2022/lib/components/form/input-tel/models/country.model.mjs +0 -2
- package/esm2022/lib/components/form/input-text/input-text.component.mjs +0 -189
- package/esm2022/lib/components/form/input-text/input-text.enum.mjs +0 -15
- package/esm2022/lib/components/form/input-text/input-text.module.mjs +0 -49
- package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +0 -197
- package/esm2022/lib/components/form/input-textarea/input-textarea.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +0 -49
- package/esm2022/lib/components/form/input-timepicker/constants/value-models.mjs +0 -8
- package/esm2022/lib/components/form/input-timepicker/helpers/clean-date.mjs +0 -5
- package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
- package/esm2022/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +0 -5
- package/esm2022/lib/components/form/input-timepicker/helpers/get-date-object.mjs +0 -5
- package/esm2022/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +0 -29
- package/esm2022/lib/components/form/input-timepicker/helpers/value-parser.mjs +0 -18
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -292
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.enum.mjs +0 -7
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -46
- package/esm2022/lib/components/form/json-editor/json-editor.component.mjs +0 -224
- package/esm2022/lib/components/form/json-editor/json-editor.enum.mjs +0 -2
- package/esm2022/lib/components/form/json-editor/json-editor.module.mjs +0 -24
- package/esm2022/lib/components/form/json-editor/utils/jsoneditoroptions.mjs +0 -133
- package/esm2022/lib/components/form/radio/radio.component.mjs +0 -91
- package/esm2022/lib/components/form/radio/radio.enum.mjs +0 -5
- package/esm2022/lib/components/form/radio/radio.module.mjs +0 -20
- package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -48
- package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -72
- package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
- package/esm2022/lib/components/form/radio-group/helpers/get-item-by-id.mjs +0 -11
- package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
- package/esm2022/lib/components/form/radio-group/models/radio-group.model.mjs +0 -2
- package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +0 -192
- package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +0 -47
- package/esm2022/lib/components/form/rating/rating.component.mjs +0 -215
- package/esm2022/lib/components/form/rating/rating.enum.mjs +0 -16
- package/esm2022/lib/components/form/rating/rating.module.mjs +0 -25
- package/esm2022/lib/components/form/switch/switch.component.mjs +0 -95
- package/esm2022/lib/components/form/switch/switch.enum.mjs +0 -11
- package/esm2022/lib/components/form/switch/switch.module.mjs +0 -21
- package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -37
- package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -112
- package/esm2022/lib/components/gallery/constants/custom-buttons-default.mjs +0 -7
- package/esm2022/lib/components/gallery/constants/thumbs-config-default.mjs +0 -5
- package/esm2022/lib/components/gallery/gallery.component.mjs +0 -203
- package/esm2022/lib/components/gallery/gallery.module.mjs +0 -54
- package/esm2022/lib/components/gallery/models/gallery-item.model.mjs +0 -2
- package/esm2022/lib/components/gallery/services/gallery.service.mjs +0 -33
- package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +0 -121
- package/esm2022/lib/components/hint-error-message/hint-error-message.module.mjs +0 -19
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +0 -55
- package/esm2022/lib/components/icon-button/icon-button.enum.mjs +0 -17
- package/esm2022/lib/components/icon-button/icon-button.module.mjs +0 -19
- package/esm2022/lib/components/label/label.component.mjs +0 -143
- package/esm2022/lib/components/label/label.module.mjs +0 -25
- package/esm2022/lib/components/link/link.component.mjs +0 -61
- package/esm2022/lib/components/link/link.enum.mjs +0 -20
- package/esm2022/lib/components/link/link.module.mjs +0 -20
- package/esm2022/lib/components/loader/loader.component.mjs +0 -24
- package/esm2022/lib/components/loader/loader.enum.mjs +0 -20
- package/esm2022/lib/components/loader/loader.module.mjs +0 -19
- package/esm2022/lib/components/modal/modal.component.mjs +0 -137
- package/esm2022/lib/components/modal/modal.emun.mjs +0 -21
- package/esm2022/lib/components/modal/modal.module.mjs +0 -20
- package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +0 -31
- package/esm2022/lib/components/pages-nav/pages-nav.enum.mjs +0 -6
- package/esm2022/lib/components/pages-nav/pages-nav.module.mjs +0 -24
- package/esm2022/lib/components/paginator/paginator.component.mjs +0 -140
- package/esm2022/lib/components/paginator/paginator.enum.mjs +0 -6
- package/esm2022/lib/components/paginator/paginator.module.mjs +0 -31
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +0 -268
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.module.mjs +0 -59
- package/esm2022/lib/components/progress/progress.component.mjs +0 -24
- package/esm2022/lib/components/progress/progress.enum.mjs +0 -8
- package/esm2022/lib/components/progress/progress.module.mjs +0 -19
- package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -16
- package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -16
- package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -16
- package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -16
- package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -16
- package/esm2022/lib/components/save-state/save-state.component.mjs +0 -40
- package/esm2022/lib/components/save-state/save-state.enum.mjs +0 -2
- package/esm2022/lib/components/save-state/save-state.module.mjs +0 -37
- package/esm2022/lib/components/stepper/stepper.component.mjs +0 -52
- package/esm2022/lib/components/stepper/stepper.enum.mjs +0 -6
- package/esm2022/lib/components/stepper/stepper.module.mjs +0 -20
- package/esm2022/lib/components/table/components/column/column.component.mjs +0 -40
- package/esm2022/lib/components/table/default/default-pager-settings.mjs +0 -7
- package/esm2022/lib/components/table/models/data-state-change.event.mjs +0 -2
- package/esm2022/lib/components/table/models/index.mjs +0 -4
- package/esm2022/lib/components/table/models/pager-settings.mjs +0 -2
- package/esm2022/lib/components/table/table.component.mjs +0 -274
- package/esm2022/lib/components/table/table.enum.mjs +0 -8
- package/esm2022/lib/components/table/table.module.mjs +0 -50
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +0 -33
- package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -27
- package/esm2022/lib/components/tabs/tabs.enum.mjs +0 -14
- package/esm2022/lib/components/tabs/tabs.module.mjs +0 -20
- package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +0 -65
- package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -36
- package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +0 -11
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -59
- package/esm2022/lib/components/tooltip/tooltip.enum.mjs +0 -6
- package/esm2022/lib/components/tooltip/tooltip.module.mjs +0 -21
- package/esm2022/lib/components/truncate-text/directives/truncate-text.directive.mjs +0 -149
- package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +0 -30
- package/esm2022/lib/components/truncate-text/truncate-text.enum.mjs +0 -2
- package/esm2022/lib/components/truncate-text/truncate-text.module.mjs +0 -21
- package/esm2022/lib/components/warning-message/warning-message.component.mjs +0 -29
- package/esm2022/lib/components/warning-message/warning-message.module.mjs +0 -19
- package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -25
- package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +0 -6
- package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +0 -19
- package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -15
- package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -23
- package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +0 -7
- package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +0 -20
- package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -99
- package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +0 -17
- package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +0 -24
- package/esm2022/lib/directives/autosize/autosize.directive.mjs +0 -57
- package/esm2022/lib/directives/autosize/autosize.module.mjs +0 -24
- package/esm2022/lib/directives/truncate/truncate.directive.mjs +0 -34
- package/esm2022/lib/directives/truncate/truncate.module.mjs +0 -18
- package/esm2022/lib/enums/typed.input.state.mjs +0 -8
- package/esm2022/lib/helpers/extension/input-file.extension.mjs +0 -39
- package/esm2022/lib/helpers/formatting-date.mjs +0 -51
- package/esm2022/lib/helpers/formatting-dates-from-array.mjs +0 -18
- package/esm2022/lib/helpers/formatting-iso-to-string.mjs +0 -13
- package/esm2022/lib/helpers/index.mjs +0 -8
- package/esm2022/lib/helpers/number-format.mjs +0 -9
- package/esm2022/lib/helpers/string-hash-code.mjs +0 -17
- package/esm2022/lib/helpers/word-form.mjs +0 -11
- package/esm2022/lib/models/index.mjs +0 -3
- package/esm2022/lib/models/input-file/input-file.model.mjs +0 -2
- package/esm2022/lib/models/typed-input-model.mjs +0 -2
- package/esm2022/lib/pipes/currency/currency.module.mjs +0 -20
- package/esm2022/lib/pipes/currency/currency.pipe.mjs +0 -22
- package/esm2022/lib/pipes/date/date-format.module.mjs +0 -19
- package/esm2022/lib/pipes/date/date-format.pipe.mjs +0 -21
- package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +0 -21
- package/esm2022/lib/pipes/date/enums/timezone.mjs +0 -10
- package/esm2022/lib/pipes/date/helpers/change-timezone.mjs +0 -23
- package/esm2022/lib/pipes/phone/phone-format.module.mjs +0 -18
- package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +0 -23
- package/esm2022/lib/pipes/safe/safe.module.mjs +0 -20
- package/esm2022/lib/pipes/safe/safe.pipe.mjs +0 -21
- package/esm2022/lib/pipes/truncate/truncate.module.mjs +0 -20
- package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +0 -23
- package/esm2022/lib/services/file-upload/file-upload.service.mjs +0 -27
- package/esm2022/lib/services/index.mjs +0 -15
- package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +0 -44
- package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +0 -48
- package/esm2022/lib/services/modal-service/helpers/index.mjs +0 -5
- package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +0 -14
- package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +0 -29
- package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +0 -4
- package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +0 -4
- package/esm2022/lib/services/modal-service/modal-service.module.mjs +0 -25
- package/esm2022/lib/services/modal-service/modal-service.service.mjs +0 -84
- package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +0 -2
- package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -43
- package/esm2022/lib/services/mrx-form-validator/constants/invalid-messages.mjs +0 -10
- package/esm2022/lib/services/mrx-form-validator/helpers/get-error-message.helper.mjs +0 -10
- package/esm2022/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +0 -29
- package/esm2022/lib/services/mrx-form-validator/models/index.mjs +0 -4
- package/esm2022/lib/services/mrx-form-validator/models/validations-options.model.mjs +0 -2
- package/esm2022/lib/services/mrx-form-validator/models/validations-settings.model.mjs +0 -2
- package/esm2022/lib/services/mrx-form-validator/models/validations-types.model.mjs +0 -22
- package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -197
- package/esm2022/lib/services/mrx-form-validator/validations/callback.validation.mjs +0 -15
- package/esm2022/lib/services/mrx-form-validator/validations/email.validation.mjs +0 -11
- package/esm2022/lib/services/mrx-form-validator/validations/max-length.validation.mjs +0 -14
- package/esm2022/lib/services/mrx-form-validator/validations/max-value.validation.mjs +0 -10
- package/esm2022/lib/services/mrx-form-validator/validations/min-length.validation.mjs +0 -15
- package/esm2022/lib/services/mrx-form-validator/validations/min-value.validation.mjs +0 -10
- package/esm2022/lib/services/mrx-form-validator/validations/pattern.validation.mjs +0 -11
- package/esm2022/lib/services/mrx-form-validator/validations/required.validation.mjs +0 -22
- package/esm2022/lib/services/save-store/constants/constants.mjs +0 -2
- package/esm2022/lib/services/save-store/models/save-store.model.mjs +0 -2
- package/esm2022/lib/services/save-store/save-store.module.mjs +0 -29
- package/esm2022/lib/services/save-store/store/actions.mjs +0 -23
- package/esm2022/lib/services/save-store/store/effect.mjs +0 -61
- package/esm2022/lib/services/save-store/store/reducer.mjs +0 -96
- package/esm2022/lib/services/save-store/store/selectors.mjs +0 -5
- package/esm2022/lib/services/save-store/store/state.mjs +0 -4
- package/esm2022/lib/services/toaster-service/components/toaster/toaster.component.mjs +0 -29
- package/esm2022/lib/services/toaster-service/models/toaster.model.mjs +0 -15
- package/esm2022/lib/services/toaster-service/toaster-service.module.mjs +0 -52
- package/esm2022/lib/services/toaster-service/toaster-service.service.mjs +0 -53
- package/esm2022/myrta-ui.mjs +0 -5
- package/esm2022/public-api.mjs +0 -183
- package/fesm2022/myrta-ui.mjs +0 -16515
- package/fesm2022/myrta-ui.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/alert/alert.component.d.ts +0 -17
- package/lib/components/alert/alert.enum.d.ts +0 -13
- package/lib/components/alert/alert.module.d.ts +0 -8
- package/lib/components/badges/badge.enum.d.ts +0 -38
- package/lib/components/badges/badges.module.d.ts +0 -9
- package/lib/components/badges/components/badge/badge.component.d.ts +0 -21
- package/lib/components/badges/components/badge-group/badge-group.component.d.ts +0 -5
- package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +0 -11
- package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +0 -16
- package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +0 -9
- package/lib/components/button/button.component.d.ts +0 -31
- package/lib/components/button/button.enum.d.ts +0 -27
- package/lib/components/button/button.module.d.ts +0 -10
- package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +0 -13
- package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +0 -24
- package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +0 -10
- package/lib/components/cdk-tooltip/constants/index.d.ts +0 -7
- package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +0 -6
- package/lib/components/chars-left/chars-left.component.d.ts +0 -9
- package/lib/components/chars-left/chars-left.module.d.ts +0 -8
- package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +0 -9
- package/lib/components/dropdown/dropdown.component.d.ts +0 -26
- package/lib/components/dropdown/dropdown.module.d.ts +0 -10
- package/lib/components/error-message/error-message.component.d.ts +0 -10
- package/lib/components/error-message/error-message.module.d.ts +0 -8
- package/lib/components/form/checkbox/checkbox.component.d.ts +0 -46
- package/lib/components/form/checkbox/checkbox.enum.d.ts +0 -10
- package/lib/components/form/checkbox/checkbox.module.d.ts +0 -11
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +0 -63
- package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +0 -16
- package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +0 -19
- package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +0 -33
- package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +0 -3
- package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +0 -3
- package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +0 -2
- package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +0 -2
- package/lib/components/form/checkbox-group/helpers/get-inner-list.helper.d.ts +0 -2
- package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +0 -2
- package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +0 -2
- package/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.d.ts +0 -2
- package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +0 -26
- package/lib/components/form/editor/config/default-inline-style.d.ts +0 -11
- package/lib/components/form/editor/config/index.d.ts +0 -1
- package/lib/components/form/editor/config/popups-toolbar.d.ts +0 -15
- package/lib/components/form/editor/config/toolbar.d.ts +0 -2
- package/lib/components/form/editor/editor.component.d.ts +0 -60
- package/lib/components/form/editor/editor.enum.d.ts +0 -10
- package/lib/components/form/editor/editor.module.d.ts +0 -14
- package/lib/components/form/editor/models/toolbar.model.d.ts +0 -6
- package/lib/components/form/editor/modules/change-icon-module.d.ts +0 -1
- package/lib/components/form/input-date-time/constants/value-models.d.ts +0 -3
- package/lib/components/form/input-date-time/enum/timezone.d.ts +0 -6
- package/lib/components/form/input-date-time/helpers/clean-date.d.ts +0 -1
- package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +0 -1
- package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +0 -3
- package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +0 -2
- package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +0 -19
- package/lib/components/form/input-date-time/helpers/value-parser.d.ts +0 -4
- package/lib/components/form/input-date-time/input-date-time.component.d.ts +0 -72
- package/lib/components/form/input-date-time/input-date-time.enum.d.ts +0 -21
- package/lib/components/form/input-date-time/input-date-time.module.d.ts +0 -13
- package/lib/components/form/input-datepicker/constants/value-models.d.ts +0 -3
- package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +0 -1
- package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +0 -1
- package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +0 -3
- package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +0 -2
- package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +0 -20
- package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +0 -3
- package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +0 -69
- package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +0 -12
- package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +0 -13
- package/lib/components/form/input-file/enums/error-messages.enum.d.ts +0 -6
- package/lib/components/form/input-file/input-file.component.d.ts +0 -74
- package/lib/components/form/input-file/input-file.enum.d.ts +0 -7
- package/lib/components/form/input-file/input-file.module.d.ts +0 -13
- package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +0 -43
- package/lib/components/form/input-file-image/input-file-image.component.d.ts +0 -57
- package/lib/components/form/input-file-image/input-file-image.enum.d.ts +0 -8
- package/lib/components/form/input-file-image/input-file-image.module.d.ts +0 -15
- package/lib/components/form/input-number/input-number.component.d.ts +0 -64
- package/lib/components/form/input-number/input-number.enum.d.ts +0 -12
- package/lib/components/form/input-number/input-number.module.d.ts +0 -13
- package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +0 -77
- package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +0 -7
- package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +0 -8
- package/lib/components/form/input-opt/input-opt.module.d.ts +0 -11
- package/lib/components/form/input-opt/models/input-opt.model.d.ts +0 -26
- package/lib/components/form/input-opt/services/input-opt.service.d.ts +0 -11
- package/lib/components/form/input-password/input-password.component.d.ts +0 -38
- package/lib/components/form/input-password/input-password.enum.d.ts +0 -7
- package/lib/components/form/input-password/input-password.module.d.ts +0 -11
- package/lib/components/form/input-phone/data/country-code.d.ts +0 -6
- package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +0 -11
- package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +0 -245
- package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +0 -11
- package/lib/components/form/input-phone/enums/mask.enum.d.ts +0 -8
- package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +0 -4
- package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +0 -6
- package/lib/components/form/input-phone/input-phone.component.d.ts +0 -132
- package/lib/components/form/input-phone/input-phone.module.d.ts +0 -14
- package/lib/components/form/input-phone/input-phone.validator.d.ts +0 -5
- package/lib/components/form/input-phone/interfaces/change-data.d.ts +0 -9
- package/lib/components/form/input-phone/models/country.model.d.ts +0 -13
- package/lib/components/form/input-search/input-search.component.d.ts +0 -48
- package/lib/components/form/input-search/input-search.enum.d.ts +0 -6
- package/lib/components/form/input-search/input-search.module.d.ts +0 -12
- package/lib/components/form/input-select/input-select.component.d.ts +0 -95
- package/lib/components/form/input-select/input-select.enum.d.ts +0 -10
- package/lib/components/form/input-select/input-select.module.d.ts +0 -14
- package/lib/components/form/input-tel/assets/base64.d.ts +0 -3
- package/lib/components/form/input-tel/data/all-countries.d.ts +0 -1
- package/lib/components/form/input-tel/data/country-iso.enum.d.ts +0 -245
- package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +0 -5
- package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +0 -6
- package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +0 -21
- package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +0 -11
- package/lib/components/form/input-tel/input-tel.component.d.ts +0 -89
- package/lib/components/form/input-tel/input-tel.module.d.ts +0 -13
- package/lib/components/form/input-tel/models/country.model.d.ts +0 -18
- package/lib/components/form/input-text/input-text.component.d.ts +0 -54
- package/lib/components/form/input-text/input-text.enum.d.ts +0 -19
- package/lib/components/form/input-text/input-text.module.d.ts +0 -14
- package/lib/components/form/input-textarea/input-textarea.component.d.ts +0 -54
- package/lib/components/form/input-textarea/input-textarea.enum.d.ts +0 -11
- package/lib/components/form/input-textarea/input-textarea.module.d.ts +0 -14
- package/lib/components/form/input-timepicker/constants/value-models.d.ts +0 -2
- package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +0 -1
- package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +0 -1
- package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +0 -3
- package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +0 -2
- package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +0 -10
- package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +0 -2
- package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +0 -60
- package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +0 -11
- package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +0 -13
- package/lib/components/form/json-editor/json-editor.component.d.ts +0 -58
- package/lib/components/form/json-editor/json-editor.enum.d.ts +0 -5
- package/lib/components/form/json-editor/json-editor.module.d.ts +0 -8
- package/lib/components/form/json-editor/utils/jsoneditoroptions.d.ts +0 -128
- package/lib/components/form/radio/radio.component.d.ts +0 -29
- package/lib/components/form/radio/radio.enum.d.ts +0 -4
- package/lib/components/form/radio/radio.module.d.ts +0 -9
- package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +0 -20
- package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +0 -28
- package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +0 -2
- package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +0 -2
- package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +0 -2
- package/lib/components/form/radio-group/models/radio-group.model.d.ts +0 -12
- package/lib/components/form/radio-group/radio-group.component.d.ts +0 -63
- package/lib/components/form/radio-group/radio-group.module.d.ts +0 -16
- package/lib/components/form/rating/rating.component.d.ts +0 -51
- package/lib/components/form/rating/rating.enum.d.ts +0 -27
- package/lib/components/form/rating/rating.module.d.ts +0 -9
- package/lib/components/form/switch/switch.component.d.ts +0 -32
- package/lib/components/form/switch/switch.enum.d.ts +0 -15
- package/lib/components/form/switch/switch.module.d.ts +0 -10
- package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +0 -20
- package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +0 -38
- package/lib/components/gallery/constants/custom-buttons-default.d.ts +0 -3
- package/lib/components/gallery/constants/thumbs-config-default.d.ts +0 -2
- package/lib/components/gallery/gallery.component.d.ts +0 -38
- package/lib/components/gallery/gallery.module.d.ts +0 -16
- package/lib/components/gallery/models/gallery-item.model.d.ts +0 -24
- package/lib/components/gallery/services/gallery.service.d.ts +0 -14
- package/lib/components/hint-error-message/hint-error-message.component.d.ts +0 -21
- package/lib/components/hint-error-message/hint-error-message.module.d.ts +0 -8
- package/lib/components/icon-button/icon-button.component.d.ts +0 -22
- package/lib/components/icon-button/icon-button.enum.d.ts +0 -16
- package/lib/components/icon-button/icon-button.module.d.ts +0 -9
- package/lib/components/label/label.component.d.ts +0 -44
- package/lib/components/label/label.module.d.ts +0 -14
- package/lib/components/link/link.component.d.ts +0 -25
- package/lib/components/link/link.enum.d.ts +0 -19
- package/lib/components/link/link.module.d.ts +0 -9
- package/lib/components/loader/loader.component.d.ts +0 -10
- package/lib/components/loader/loader.enum.d.ts +0 -19
- package/lib/components/loader/loader.module.d.ts +0 -8
- package/lib/components/modal/modal.component.d.ts +0 -36
- package/lib/components/modal/modal.emun.d.ts +0 -20
- package/lib/components/modal/modal.module.d.ts +0 -9
- package/lib/components/pages-nav/pages-nav.component.d.ts +0 -12
- package/lib/components/pages-nav/pages-nav.enum.d.ts +0 -5
- package/lib/components/pages-nav/pages-nav.module.d.ts +0 -8
- package/lib/components/paginator/paginator.component.d.ts +0 -29
- package/lib/components/paginator/paginator.enum.d.ts +0 -10
- package/lib/components/paginator/paginator.module.d.ts +0 -10
- package/lib/components/pdf-viewer/pdf-viewer.component.d.ts +0 -70
- package/lib/components/pdf-viewer/pdf-viewer.module.d.ts +0 -16
- package/lib/components/progress/progress.component.d.ts +0 -10
- package/lib/components/progress/progress.enum.d.ts +0 -7
- package/lib/components/progress/progress.module.d.ts +0 -8
- package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +0 -8
- package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +0 -8
- package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +0 -8
- package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +0 -8
- package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +0 -8
- package/lib/components/save-state/save-state.component.d.ts +0 -13
- package/lib/components/save-state/save-state.enum.d.ts +0 -1
- package/lib/components/save-state/save-state.module.d.ts +0 -13
- package/lib/components/stepper/stepper.component.d.ts +0 -17
- package/lib/components/stepper/stepper.enum.d.ts +0 -5
- package/lib/components/stepper/stepper.module.d.ts +0 -9
- package/lib/components/table/components/column/column.component.d.ts +0 -14
- package/lib/components/table/default/default-pager-settings.d.ts +0 -2
- package/lib/components/table/models/data-state-change.event.d.ts +0 -15
- package/lib/components/table/models/index.d.ts +0 -3
- package/lib/components/table/models/pager-settings.d.ts +0 -22
- package/lib/components/table/table.component.d.ts +0 -55
- package/lib/components/table/table.enum.d.ts +0 -32
- package/lib/components/table/table.module.d.ts +0 -14
- package/lib/components/tabs/tab/tab.component.d.ts +0 -13
- package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +0 -11
- package/lib/components/tabs/tabs.enum.d.ts +0 -11
- package/lib/components/tabs/tabs.module.d.ts +0 -9
- package/lib/components/tooltip/services/tooltip.service.d.ts +0 -18
- package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +0 -15
- package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +0 -10
- package/lib/components/tooltip/tooltip.component.d.ts +0 -18
- package/lib/components/tooltip/tooltip.enum.d.ts +0 -4
- package/lib/components/tooltip/tooltip.module.d.ts +0 -10
- package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +0 -37
- package/lib/components/truncate-text/truncate-text.component.d.ts +0 -12
- package/lib/components/truncate-text/truncate-text.enum.d.ts +0 -2
- package/lib/components/truncate-text/truncate-text.module.d.ts +0 -10
- package/lib/components/warning-message/warning-message.component.d.ts +0 -9
- package/lib/components/warning-message/warning-message.module.d.ts +0 -8
- package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +0 -10
- package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +0 -5
- package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +0 -8
- package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +0 -6
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +0 -10
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +0 -6
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +0 -9
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +0 -26
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +0 -15
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +0 -8
- package/lib/directives/autosize/autosize.directive.d.ts +0 -16
- package/lib/directives/autosize/autosize.module.d.ts +0 -8
- package/lib/directives/truncate/truncate.directive.d.ts +0 -12
- package/lib/directives/truncate/truncate.module.d.ts +0 -8
- package/lib/enums/typed.input.state.d.ts +0 -6
- package/lib/helpers/extension/input-file.extension.d.ts +0 -4
- package/lib/helpers/formatting-date.d.ts +0 -9
- package/lib/helpers/formatting-dates-from-array.d.ts +0 -2
- package/lib/helpers/formatting-iso-to-string.d.ts +0 -2
- package/lib/helpers/index.d.ts +0 -7
- package/lib/helpers/number-format.d.ts +0 -6
- package/lib/helpers/string-hash-code.d.ts +0 -2
- package/lib/helpers/word-form.d.ts +0 -7
- package/lib/models/index.d.ts +0 -2
- package/lib/models/input-file/input-file.model.d.ts +0 -23
- package/lib/models/typed-input-model.d.ts +0 -16
- package/lib/pipes/currency/currency.module.d.ts +0 -8
- package/lib/pipes/currency/currency.pipe.d.ts +0 -7
- package/lib/pipes/date/date-format.module.d.ts +0 -9
- package/lib/pipes/date/date-format.pipe.d.ts +0 -9
- package/lib/pipes/date/date-time-format.pipe.d.ts +0 -9
- package/lib/pipes/date/enums/timezone.d.ts +0 -8
- package/lib/pipes/date/helpers/change-timezone.d.ts +0 -2
- package/lib/pipes/phone/phone-format.module.d.ts +0 -8
- package/lib/pipes/phone/phone-format.pipe.d.ts +0 -8
- package/lib/pipes/safe/safe.module.d.ts +0 -8
- package/lib/pipes/safe/safe.pipe.d.ts +0 -10
- package/lib/pipes/truncate/truncate.module.d.ts +0 -8
- package/lib/pipes/truncate/truncate.pipe.d.ts +0 -7
- package/lib/services/file-upload/file-upload.service.d.ts +0 -12
- package/lib/services/index.d.ts +0 -14
- package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +0 -19
- package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +0 -20
- package/lib/services/modal-service/helpers/index.d.ts +0 -4
- package/lib/services/modal-service/helpers/modal-default-config.d.ts +0 -3
- package/lib/services/modal-service/helpers/modal-ref.d.ts +0 -11
- package/lib/services/modal-service/helpers/modal-tokens.d.ts +0 -3
- package/lib/services/modal-service/helpers/modal.component.d.ts +0 -3
- package/lib/services/modal-service/modal-service.module.d.ts +0 -9
- package/lib/services/modal-service/modal-service.service.d.ts +0 -20
- package/lib/services/modal-service/models/modal-config.model.d.ts +0 -14
- package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +0 -19
- package/lib/services/mrx-form-validator/constants/invalid-messages.d.ts +0 -9
- package/lib/services/mrx-form-validator/helpers/get-error-message.helper.d.ts +0 -3
- package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +0 -2
- package/lib/services/mrx-form-validator/models/index.d.ts +0 -3
- package/lib/services/mrx-form-validator/models/validations-options.model.d.ts +0 -31
- package/lib/services/mrx-form-validator/models/validations-settings.model.d.ts +0 -7
- package/lib/services/mrx-form-validator/models/validations-types.model.d.ts +0 -19
- package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +0 -24
- package/lib/services/mrx-form-validator/validations/callback.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/email.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/max-length.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/max-value.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/min-length.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/min-value.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/pattern.validation.d.ts +0 -5
- package/lib/services/mrx-form-validator/validations/required.validation.d.ts +0 -5
- package/lib/services/save-store/constants/constants.d.ts +0 -1
- package/lib/services/save-store/models/save-store.model.d.ts +0 -4
- package/lib/services/save-store/save-store.module.d.ts +0 -9
- package/lib/services/save-store/store/actions.d.ts +0 -21
- package/lib/services/save-store/store/effect.d.ts +0 -10
- package/lib/services/save-store/store/reducer.d.ts +0 -3
- package/lib/services/save-store/store/selectors.d.ts +0 -3
- package/lib/services/save-store/store/state.d.ts +0 -11
- package/lib/services/toaster-service/components/toaster/toaster.component.d.ts +0 -12
- package/lib/services/toaster-service/models/toaster.model.d.ts +0 -12
- package/lib/services/toaster-service/toaster-service.module.d.ts +0 -10
- package/lib/services/toaster-service/toaster-service.service.d.ts +0 -15
- package/public-api.d.ts +0 -170
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"myrta-ui.mjs","sources":["../../../projects/myrta-ui/src/lib/components/button/button.enum.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.enum.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.component.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.component.html","../../../projects/myrta-ui/src/lib/pipes/safe/safe.pipe.ts","../../../projects/myrta-ui/src/lib/components/button/button.component.ts","../../../projects/myrta-ui/src/lib/components/button/button.component.html","../../../projects/myrta-ui/src/lib/pipes/safe/safe.module.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.module.ts","../../../projects/myrta-ui/src/lib/components/button/button.module.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.enum.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.component.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.component.html","../../../projects/myrta-ui/src/lib/components/alert/alert.module.ts","../../../projects/myrta-ui/src/lib/components/badges/badge.enum.ts","../../../projects/myrta-ui/src/lib/components/link/link.enum.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge/badge.component.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge/badge.component.html","../../../projects/myrta-ui/src/lib/components/badges/components/badge-group/badge-group.component.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge-group/badge-group.component.html","../../../projects/myrta-ui/src/lib/components/badges/badges.module.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.enum.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.module.ts","../../../projects/myrta-ui/src/lib/components/link/link.component.ts","../../../projects/myrta-ui/src/lib/components/link/link.component.html","../../../projects/myrta-ui/src/lib/components/link/link.module.ts","../../../projects/myrta-ui/src/lib/helpers/string-hash-code.ts","../../../projects/myrta-ui/src/lib/components/tooltip/services/tooltip.service.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.enum.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.component.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.component.html","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.html","../../../projects/myrta-ui/src/lib/components/form/switch/switch.enum.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-input/save-state-input.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-input/save-state-input.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.html","../../../projects/myrta-ui/src/lib/components/save-state/save-state.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/save-state.component.html","../../../projects/myrta-ui/src/lib/components/form/switch/switch.component.ts","../../../projects/myrta-ui/src/lib/components/form/switch/switch.component.html","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.html","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/constants/index.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip.directive.ts","../../../projects/myrta-ui/src/lib/components/label/label.component.ts","../../../projects/myrta-ui/src/lib/components/label/label.component.html","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.module.ts","../../../projects/myrta-ui/src/lib/components/save-state/save-state.module.ts","../../../projects/myrta-ui/src/lib/components/form/switch/switch.module.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip.module.ts","../../../projects/myrta-ui/src/lib/components/label/label.module.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.component.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.component.html","../../../projects/myrta-ui/src/lib/components/dropdown/directives/hide-after-click.directive.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.module.ts","../../../projects/myrta-ui/src/lib/components/error-message/error-message.component.ts","../../../projects/myrta-ui/src/lib/components/error-message/error-message.component.html","../../../projects/myrta-ui/src/lib/components/error-message/error-message.module.ts","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.component.ts","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.component.html","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.module.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.enum.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.component.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.component.html","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.module.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.emun.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.component.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.component.html","../../../projects/myrta-ui/src/lib/components/modal/modal.module.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.component.html","../../../projects/myrta-ui/src/lib/components/paginator/paginator.component.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.component.html","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.module.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.module.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.enum.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.component.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.component.html","../../../projects/myrta-ui/src/lib/components/progress/progress.module.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.component.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.component.html","../../../projects/myrta-ui/src/lib/components/stepper/stepper.module.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.enum.ts","../../../projects/myrta-ui/src/lib/components/table/table.enum.ts","../../../projects/myrta-ui/src/lib/components/table/components/column/column.component.ts","../../../projects/myrta-ui/src/lib/components/table/default/default-pager-settings.ts","../../../projects/myrta-ui/src/lib/components/table/table.component.ts","../../../projects/myrta-ui/src/lib/components/table/table.component.html","../../../projects/myrta-ui/src/lib/components/table/table.module.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs.enum.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs-group/tabs-group.component.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs-group/tabs-group.component.html","../../../projects/myrta-ui/src/lib/components/tabs/tab/tab.component.ts","../../../projects/myrta-ui/src/lib/components/tabs/tab/tab.component.html","../../../projects/myrta-ui/src/lib/components/tabs/tabs.module.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/directives/truncate-text.directive.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.component.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.component.html","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.module.ts","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.component.ts","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.component.html","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.module.ts","../../../projects/myrta-ui/src/lib/components/gallery/constants/custom-buttons-default.ts","../../../projects/myrta-ui/src/lib/components/gallery/constants/thumbs-config-default.ts","../../../projects/myrta-ui/src/lib/components/gallery/services/gallery.service.ts","../../../projects/myrta-ui/src/lib/services/modal-service/helpers/modal-tokens.ts","../../../projects/myrta-ui/src/lib/services/modal-service/helpers/modal.component.ts","../../../projects/myrta-ui/src/lib/services/modal-service/helpers/modal-ref.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.html","../../../projects/myrta-ui/src/lib/services/mrx-autosave/mrx-autosave.service.ts","../../../projects/myrta-ui/src/lib/services/file-upload/file-upload.service.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/models/validations-types.model.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/helpers/get-error-message.helper.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/required.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/email.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/pattern.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/max-length.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/min-length.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/min-value.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/max-value.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/callback.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/constants/invalid-messages.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/mrx-form-validator.ts","../../../projects/myrta-ui/src/lib/services/save-store/constants/constants.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/state.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/actions.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/reducer.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/effect.ts","../../../projects/myrta-ui/src/lib/services/save-store/save-store.module.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/selectors.ts","../../../projects/myrta-ui/src/lib/services/modal-service/components/alert-modal/alert-modal.component.ts","../../../projects/myrta-ui/src/lib/services/modal-service/components/alert-modal/alert-modal.component.html","../../../projects/myrta-ui/src/lib/services/modal-service/components/confirm-modal/confirm-modal.component.ts","../../../projects/myrta-ui/src/lib/services/modal-service/components/confirm-modal/confirm-modal.component.html","../../../projects/myrta-ui/src/lib/services/modal-service/modal-service.module.ts","../../../projects/myrta-ui/src/lib/services/modal-service/helpers/modal-default-config.ts","../../../projects/myrta-ui/src/lib/services/modal-service/modal-service.service.ts","../../../projects/myrta-ui/src/lib/services/toaster-service/models/toaster.model.ts","../../../projects/myrta-ui/src/lib/services/toaster-service/components/toaster/toaster.component.ts","../../../projects/myrta-ui/src/lib/services/toaster-service/components/toaster/toaster.component.html","../../../projects/myrta-ui/src/lib/services/toaster-service/toaster-service.service.ts","../../../projects/myrta-ui/src/lib/services/toaster-service/toaster-service.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.enum.ts","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.component.ts","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.component.html","../../../projects/myrta-ui/src/lib/directives/autosize/autosize.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.component.html","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-item/gallery-item.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-item/gallery-item.component.html","../../../projects/myrta-ui/src/lib/components/gallery/gallery.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/gallery.component.html","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.module.ts","../../../projects/myrta-ui/src/lib/directives/autosize/autosize.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.module.ts","../../../projects/myrta-ui/src/lib/components/gallery/gallery.module.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.enum.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.component.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.component.html","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.component.html","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/country-iso.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/data/country-code.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.validator.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/phone-number-format.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/search-country-field.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/input-phone.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/mask.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/directives/native-element-injector.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.component.html","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/get-date-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.component.html","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/enum/timezone.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/formatting-from-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.component.html","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/get-date-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.component.html","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.module.ts","../../../projects/myrta-ui/src/lib/components/form/editor/modules/change-icon-module.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/toolbar.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/popups-toolbar.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/default-inline-style.ts","../../../projects/myrta-ui/src/lib/components/form/editor/editor.enum.ts","../../../projects/myrta-ui/src/lib/components/form/editor/editor.component.ts","../../../projects/myrta-ui/src/lib/components/form/editor/editor.component.html","../../../projects/myrta-ui/src/lib/components/form/editor/editor.module.ts","../../../projects/myrta-ui/src/lib/components/form/json-editor/utils/jsoneditoroptions.ts","../../../projects/myrta-ui/src/lib/components/form/json-editor/json-editor.component.ts","../../../projects/myrta-ui/src/lib/components/form/json-editor/json-editor.component.html","../../../projects/myrta-ui/src/lib/components/form/json-editor/json-editor.module.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.enum.ts","../../../projects/myrta-ui/src/lib/helpers/number-format.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.component.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.component.html","../../../projects/myrta-ui/src/lib/components/form/rating/rating.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.component.html","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.component.html","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.module.ts","../../../projects/myrta-ui/src/lib/helpers/extension/input-file.extension.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/enums/error-messages.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.module.ts","../../../projects/myrta-ui/src/lib/helpers/word-form.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-date.ts","../../../projects/myrta-ui/src/lib/pipes/date/enums/timezone.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-iso-to-string.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-dates-from-array.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/models/input-opt.model.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/services/input-opt.service.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/directives/opt-pattern.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.component.html","../../../projects/myrta-ui/src/lib/components/form/input-opt/input-opt.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.component.html","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.module.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.module.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-sorted-list.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/filter-search-group.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-item-by-id.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/change-item-value.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/change-group-value.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-checked-items.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-inner-list.helper.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.module.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.enum.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.component.html","../../../projects/myrta-ui/src/lib/components/form/radio/radio.module.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/move-selected-to-first.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/filter-search-group.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/get-item-by-id.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.module.ts","../../../projects/myrta-ui/src/lib/directives/truncate/truncate.directive.ts","../../../projects/myrta-ui/src/lib/directives/truncate/truncate.module.ts","../../../projects/myrta-ui/src/lib/pipes/date/helpers/change-timezone.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-time-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-format.module.ts","../../../projects/myrta-ui/src/lib/pipes/phone/phone-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/phone/phone-format.module.ts","../../../projects/myrta-ui/src/lib/pipes/currency/currency.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/currency/currency.module.ts","../../../projects/myrta-ui/src/lib/pipes/truncate/truncate.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/truncate/truncate.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/search-country-field.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/country-iso.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/all-countries.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/assets/base64.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/enums/input-phone.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/directives/input-tel.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.component.html","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.module.ts","../../../projects/myrta-ui/src/lib/components/pdf-viewer/pdf-viewer.component.ts","../../../projects/myrta-ui/src/lib/components/pdf-viewer/pdf-viewer.component.html","../../../projects/myrta-ui/src/lib/components/pdf-viewer/pdf-viewer.module.ts","../../../projects/myrta-ui/src/public-api.ts","../../../projects/myrta-ui/src/myrta-ui.ts"],"sourcesContent":["export enum ButtonTypesEnum {\r\n 'primary' = 'mrx-btn-primary',\r\n 'secondary' = 'mrx-btn-secondary',\r\n 'tertiary' = 'mrx-btn-tertiary',\r\n}\r\n\r\nexport type ButtonTypes = 'primary' | 'secondary' | 'tertiary'\r\n\r\nexport enum ButtonSizesEnum {\r\n 'small' = 'mrx-btn-sm',\r\n 'medium' = 'mrx-btn-md',\r\n 'large' = 'mrx-btn-lg',\r\n}\r\n\r\nexport type ButtonAttrTypes = 'button' | 'reset' | 'submit'\r\n\r\nexport type ButtonSizesTypes = 'small' | 'medium' | 'large'\r\n\r\nexport enum ButtonColorsEnum {\r\n 'default' = '',\r\n 'info' = '',\r\n 'attention' = 'mrx-btn-color-attention',\r\n 'positive' = 'mrx-btn-color-positive',\r\n 'negative' = 'mrx-btn-color-negative',\r\n}\r\n\r\nexport type ButtonColorsTypes= 'default' | 'info' | 'attention' | 'positive' | 'negative'\r\n\r\nexport enum ButtonIconPositionEnum {\r\n 'none'= '',\r\n 'left' = 'icon-left',\r\n 'right' = 'icon-right',\r\n}\r\n\r\nexport type ButtonIconPositionTypes= 'none' | 'left' | 'right'\r\n","export enum LoaderSizesEnum {\r\n 'extra-small' = 'mrx-loader-extra-sm',\r\n 'small' = 'mrx-loader-sm',\r\n 'medium' = 'mrx-loader-md',\r\n 'large' = 'mrx-loader-lg',\r\n}\r\n\r\nexport type LoaderSizesTypes = 'extra-small' | 'small' | 'medium' | 'large'\r\n\r\nexport enum LoaderColorEnum {\r\n 'black' = 'color-black',\r\n 'white' = 'color-white',\r\n 'brand' = 'color-brand',\r\n 'negative' = 'color-negative',\r\n 'positive' = 'color-positive',\r\n 'attention' = 'color-attention',\r\n 'red' = 'color-negative',\r\n 'green' = 'color-positive',\r\n 'yellow' = 'color-attention'\r\n}\r\n\r\nexport type LoaderColorTypes = 'black' | 'white' | 'brand' | 'red' | 'green' | 'yellow' | 'attention' | 'positive' | 'negative'\r\n","import { Component, Input } from '@angular/core';\r\nimport { LoaderColorEnum, LoaderColorTypes, LoaderSizesEnum, LoaderSizesTypes } from './loader.enum';\r\n\r\n@Component({\r\n selector: 'mrx-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less']\r\n})\r\nexport class LoaderComponent {\r\n @Input() size: LoaderSizesTypes = 'small'\r\n @Input() color: LoaderColorTypes = 'black'\r\n @Input() customClasses = '';\r\n\r\n public get getClasses(): string {\r\n return `${LoaderSizesEnum[this.size]} ${LoaderColorEnum[this.color]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-loader\" [class]=\"getClasses\">\r\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_17612_14183)\">\r\n <circle class=\"mrx-loader--circle\" cx=\"16\" cy=\"16\" r=\"14.1714\" stroke-width=\"3\"/>\r\n <path class=\"mrx-loader--line\" d=\"M30.1714 16C30.1714 8.17334 23.8267 1.82857 16 1.82857\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_17612_14183\">\r\n <rect width=\"32\" height=\"32\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { LoaderColorTypes, LoaderSizesTypes } from '../loader/loader.enum';\r\nimport {\r\n ButtonAttrTypes,\r\n ButtonColorsEnum,\r\n ButtonColorsTypes,\r\n ButtonIconPositionEnum,\r\n ButtonIconPositionTypes,\r\n ButtonSizesEnum,\r\n ButtonSizesTypes,\r\n ButtonTypes,\r\n ButtonTypesEnum\r\n} from './button.enum';\r\n\r\n@Component({\r\n selector: 'mrx-button',\r\n templateUrl: 'button.component.html',\r\n styleUrls: ['./button.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent {\r\n @Input() size: ButtonSizesTypes = 'large';\r\n @Input() type: ButtonTypes = 'primary';\r\n @Input() color: ButtonColorsTypes = 'default';\r\n @Input() iconPosition: ButtonIconPositionTypes = 'left';\r\n @Input() active: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() isLoading: boolean = false;\r\n @Input() iconOnly: boolean = false;\r\n @Input() customClasses: string = '';\r\n @Input() label: string = '';\r\n @Input() icon: string = '';\r\n @Input() iconClass: string = '';\r\n @Input() buttonType: ButtonAttrTypes = 'button';\r\n\r\n @Output() mrxClick = new EventEmitter<MouseEvent>();\r\n\r\n public get getLabel(): null | string {\r\n return this.iconOnly ? null : this.label\r\n }\r\n\r\n public get isIcon(): boolean {\r\n return this.iconPosition !== 'none'\r\n }\r\n\r\n public get isIconLeft(): boolean {\r\n return this.iconPosition === 'left'\r\n }\r\n\r\n public get isIconRight(): boolean {\r\n return this.iconPosition === 'right'\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ButtonSizesEnum[this.size]} ${ButtonTypesEnum[this.type]} ${ButtonColorsEnum[this.color]} ${this.customClasses} ${ButtonIconPositionEnum[this.iconPosition]}`;\r\n }\r\n\r\n public get getLoaderColor(): LoaderColorTypes {\r\n if (this.disabled) {\r\n return 'black'\r\n }\r\n\r\n if (this.color === 'default' || this.color === 'info') {\r\n return this.type === 'primary' ? 'white' : 'brand'\r\n } else if (this.type === 'primary') {\r\n return 'white'\r\n } else {\r\n return this.color\r\n }\r\n }\r\n\r\n public get getLoaderSize(): LoaderSizesTypes {\r\n return this.size === 'large' ? 'small' : this.size === 'medium' ? 'small' : 'extra-small'\r\n }\r\n\r\n public get getReplacedIcon(): string {\r\n return this.icon.replace(/\"([^\"]+)\"/g, '\\'$1\\'')\r\n }\r\n\r\n public buttonClick($event: MouseEvent): void {\r\n if (!this.disabled) {\r\n this.mrxClick.emit($event)\r\n } else {\r\n $event.stopPropagation()\r\n }\r\n }\r\n}\r\n","<button\r\n class=\"mrx-btn\"\r\n [class]=\"getClasses\"\r\n [class.active]=\"active\"\r\n [class.icon-only]=\"iconOnly\"\r\n [class.icon-loading]=\"isLoading && !disabled\"\r\n [disabled]=\"disabled\"\r\n [type]=\"buttonType\"\r\n (click)=\"buttonClick($event)\"\r\n>\r\n <ng-template #spinner>\r\n <mrx-loader [color]=\"getLoaderColor\" [size]=\"getLoaderSize\"></mrx-loader>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isIconLeft && isLoading && !disabled\">\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"spinner\"></ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"icon && isIconLeft && !isLoading\" [innerHTML]=\"getReplacedIcon | safe\"\r\n ></div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"iconClass && isIconLeft && !isLoading\"\r\n >\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-24]=\"size === 'large' || size === 'medium'\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-btn-label\">{{ getLabel }}\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"iconClass && isIconRight && !isLoading\"\r\n >\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-24]=\"size === 'large' || size === 'medium'\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n ></span>\r\n </div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"icon && isIconRight && !isLoading\" [innerHTML]=\"getReplacedIcon | safe\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"isIconRight && isLoading && !disabled\">\r\n <div\r\n class=\"icon-wrapper\"\r\n (click)=\"$event.preventDefault()\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"spinner\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SafePipe } from \"./safe.pipe\";\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SafePipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [SafePipe]\r\n})\r\nexport class SafeModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LoaderComponent]\r\n})\r\nexport class LoaderModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from './button.component';\r\nimport { SafeModule } from '../../pipes/safe/safe.module';\r\nimport { LoaderModule } from '../loader/loader.module';\r\n\r\n@NgModule({\r\n declarations: [ButtonComponent],\r\n imports: [CommonModule, SafeModule, LoaderModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ButtonComponent],\r\n})\r\nexport class ButtonModule {}\r\n","export type AlertColors = 'danger' | 'warning' | 'success' | 'info';\r\n\r\nexport enum AlertColorClasses {\r\n 'info' = 'color-info',\r\n 'success' = 'color-success',\r\n 'warning' = 'color-warning',\r\n 'danger' = 'color-danger',\r\n}\r\n\r\nexport enum AlertIconClasses {\r\n 'info' = 'icon-info',\r\n 'success' = 'icon-check-task',\r\n 'warning' = 'icon-attention',\r\n 'danger' = 'icon-attention',\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { AlertColorClasses, AlertColors, AlertIconClasses } from './alert.enum';\r\n\r\n@Component({\r\n selector: 'mrx-alert',\r\n templateUrl: 'alert.component.html',\r\n styleUrls: ['./alert.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AlertComponent {\r\n @Input() customClasses: string = '';\r\n @Input() color: AlertColors = 'info';\r\n @Input() customColor: string = '';\r\n @Input() message = '';\r\n @Input() title = '';\r\n @Input() closable = false;\r\n @Output() close: EventEmitter<unknown> = new EventEmitter();\r\n\r\n public get getClasses() {\r\n return `${AlertColorClasses[this.color] ?? ''} ${this.customClasses}`;\r\n }\r\n\r\n public get getIconClass() {\r\n return `${AlertIconClasses[this.color]}`;\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.close.emit(null);\r\n }\r\n}\r\n","<div class=\"mrx-alert\" [class]=\"getClasses\" [style]=\"{backgroundColor: customColor}\">\r\n <span\r\n *ngIf=\"closable\"\r\n class=\"mrx-icon icon-close icon-font-16\"\r\n (click)=\"onCloseClick()\"\r\n ></span>\r\n <span\r\n *ngIf=\"title || message\"\r\n [class]=\"getIconClass\"\r\n style=\"margin-top: 1px\"\r\n class=\"mrx-icon icon-alert icon-font-16 mr-2\"\r\n ></span>\r\n <div *ngIf=\"title\" class=\"mrx-alert-title mb-1\" [class.ml-4]=\"getIconClass\" [innerHTML]=\"title\"></div>\r\n <div *ngIf=\"message\" class=\"mrx-alert-message\" [class.ml-4]=\"getIconClass\" [innerHTML]=\"message\"></div>\r\n\r\n <ng-content></ng-content>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AlertComponent } from './alert.component';\r\n\r\n@NgModule({\r\n declarations: [AlertComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [AlertComponent],\r\n})\r\nexport class AlertModule {}\r\n","export enum BadgeTypeEnum {\r\n 'default' = 'mrx-type-default',\r\n 'circle' = 'mrx-type-circle'\r\n}\r\nexport type BadgeType = 'default' | 'circle'\r\n\r\nexport enum BadgeSizeEnum {\r\n 'default' = 'mrx-size-default',\r\n 'small' = 'mrx-size-small'\r\n}\r\nexport type BadgeSizeType = 'small' | 'default'\r\n\r\nexport enum BadgeTagTypeClassesEnum {\r\n 'tag' = 'mrx-badge-tag',\r\n 'link' = 'mrx-badge-link',\r\n 'button' = 'mrx-badge-button'\r\n}\r\nexport type BadgeTagType = 'tag' | 'link' | 'button'\r\n\r\nexport enum BadgeColorClassesEnum {\r\n 'positive' = 'mrx-badge-color-positive',\r\n 'negative' = 'mrx-badge-color-negative',\r\n 'attention' = 'mrx-badge-color-attention',\r\n 'neutral' = 'mrx-badge-color-neutral',\r\n 'brand' = 'mrx-badge-color-brand',\r\n}\r\n\r\nexport type BadgeColorType = 'positive' | 'negative' | 'attention' | 'neutral' | 'brand'\r\n\r\nexport interface BadgeI {\r\n type?: BadgeType,\r\n tag?: BadgeTagType,\r\n color?: BadgeColorType,\r\n path?: string,\r\n text: string\r\n}\r\n\r\nexport enum BadgeTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type BadgeTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n","export enum LinkTypesEnum {\r\n 'default' = 'mrx-link-default',\r\n 'navigational' = 'mrx-link-navigational',\r\n 'pseudo' = 'mrx-link-pseudo',\r\n}\r\n\r\nexport type LinkTypes = 'default' | 'navigational' | 'pseudo'\r\n\r\nexport enum LinkTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type LinkTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n\r\nexport enum LinkSizesEnum {\r\n 'small' = 'small',\r\n 'medium' = 'medium',\r\n 'large' = 'large'\r\n}\r\n\r\nexport type LinkSizesTypes = 'small' | 'medium' | 'large';\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n BadgeColorClassesEnum,\r\n BadgeColorType,\r\n BadgeI,\r\n BadgeSizeEnum,\r\n BadgeSizeType,\r\n BadgeTagType,\r\n BadgeTagTypeClassesEnum,\r\n BadgeTargetTypes,\r\n BadgeType,\r\n BadgeTypeEnum,\r\n} from '../../badge.enum';\r\nimport { LinkTargetTypesEnum } from '../../../link/link.enum';\r\n\r\n@Component({\r\n selector: 'mrx-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BadgeComponent {\r\n @Input() type: BadgeType = 'default'\r\n @Input() tag: BadgeTagType = 'tag'\r\n @Input() size: BadgeSizeType = 'default'\r\n @Input() color: BadgeColorType = 'brand'\r\n @Input() customColor: string | undefined\r\n @Input() text = ''\r\n @Input() path: string | undefined\r\n @Input() customClasses = ''\r\n @Input() target: BadgeTargetTypes = '_self';\r\n\r\n @Output() clicked: EventEmitter<BadgeI> = new EventEmitter<BadgeI>();\r\n\r\n public get getCustomColor(): string | null {\r\n return this.customColor ? this.customColor : null\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${BadgeTagTypeClassesEnum[this.tag]} ${BadgeTypeEnum[this.type]} ${this.customColor ? '' : BadgeColorClassesEnum[this.color]} ${BadgeSizeEnum[this.size]}`;\r\n }\r\n\r\n public get getTarget(): string {\r\n return LinkTargetTypesEnum[this.target]\r\n }\r\n\r\n public onClick($event: MouseEvent): void {\r\n this.clicked.emit({\r\n type: this.type,\r\n color: this.color,\r\n text: this.text,\r\n path: this.path\r\n })\r\n }\r\n}\r\n","<ng-container [ngSwitch]=\"tag\">\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <button\r\n class=\"mrx-badge\"\r\n [class]=\"getClasses\"\r\n [style]=\"{ backgroundColor: getCustomColor }\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <a [href]=\"path\" class=\"mrx-badge\" [class]=\"getClasses\" [style]=\"{ backgroundColor: getCustomColor }\" [target]=\"getTarget\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <span class=\"mrx-badge\" [class]=\"getClasses\" [style]=\"{ backgroundColor: getCustomColor }\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </span>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-badge-group',\r\n templateUrl: './badge-group.component.html',\r\n styleUrls: ['./badge-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BadgeGroupComponent {\r\n\r\n}\r\n","<div class=\"mrx-badge-group\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from './components/badge/badge.component';\r\nimport { BadgeGroupComponent } from './components/badge-group/badge-group.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BadgeComponent,\r\n BadgeGroupComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n BadgeComponent,\r\n BadgeGroupComponent\r\n ]\r\n})\r\nexport class BadgesModule {}\r\n","export enum BreadcrumbsTypeEnum {\r\n 'default' = 'mrx-breadcrumbs-default',\r\n 'link' = 'mrx-breadcrumbs-link'\r\n}\r\nexport type BreadcrumbsType = 'default' | 'link'\r\n\r\nexport interface BreadcrumbsItemI {\r\n text: string,\r\n path?: string, // legacy\r\n href?: string,\r\n routerLink?: string,\r\n queryParams?: { [key: string]: string },\r\n isLink?: boolean,\r\n isShowArrow?: boolean\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { BreadcrumbsItemI, BreadcrumbsType, BreadcrumbsTypeEnum } from './breadcrumbs.enum';\r\n\r\n@Component({\r\n selector: 'mrx-breadcrumbs',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BreadcrumbsComponent {\r\n @Input() type: BreadcrumbsType = 'default'\r\n @Input() items: BreadcrumbsItemI[] = []\r\n @Input() item: BreadcrumbsItemI | undefined\r\n @Input() customClasses = ''\r\n\r\n get getClasses(): string {\r\n return `${this.customClasses} ${BreadcrumbsTypeEnum[this.type]}`;\r\n }\r\n}\r\n","<div class=\"mrx-breadcrumbs\" [class]=\"getClasses\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <ng-container *ngIf=\"item\">\r\n <a\r\n *ngIf=\"item.routerLink; else standardLink\"\r\n class=\"mrx-breadcrumbs__link\"\r\n routerLinkActive=\"mrx-breadcrumbs__link-active\"\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n >\r\n <span class=\"mrx-icon icon-arrow-left icon-font-16 mr-1\" *ngIf=\"item.isShowArrow\"></span>\r\n {{ item.text }}\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #standardLink>\r\n <a class=\"mrx-breadcrumbs__link\" *ngIf=\"item\" [href]=\"item.href || item.path\">\r\n <span class=\"mrx-icon icon-arrow-left icon-font-16 mr-1\" *ngIf=\"item.isShowArrow\"></span>\r\n {{ item.text }}\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <ul class=\"mrx-breadcrumbs__list\">\r\n @for(item of items; let last = $last; track item) {\r\n <li class=\"mrx-breadcrumbs__list-item\">\r\n <ng-container *ngIf=\"item.isLink; else span\">\r\n <a\r\n class=\"mrx-breadcrumbs__link mr-1\"\r\n routerLinkActive=\"mrx-breadcrumbs__link-active\"\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n >\r\n {{ item.text }}\r\n </a>\r\n \r\n <span class=\"mrx-icon icon-chevron-right icon-font-16 mr-1\" *ngIf=\"!last\"></span>\r\n </ng-container>\r\n \r\n <ng-template #span>\r\n <span class=\"mrx-breadcrumbs__tag\">{{ item.text }}</span>\r\n </ng-template>\r\n </li>\r\n }\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbsComponent } from './breadcrumbs.component';\r\nimport { RouterLinkActive, RouterModule } from '@angular/router';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BreadcrumbsComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n RouterLinkActive\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n BreadcrumbsComponent\r\n ]\r\n})\r\nexport class BreadcrumbsModule {\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n LinkSizesEnum,\r\n LinkSizesTypes,\r\n LinkTargetTypes,\r\n LinkTargetTypesEnum,\r\n LinkTypes,\r\n LinkTypesEnum\r\n} from './link.enum';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'mrx-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LinkComponent {\r\n @Input() href?: string;\r\n @Input() target: LinkTargetTypes = '_self';\r\n\r\n @Input() routerLink?: string;\r\n @Input() queryParams?: { [key: string]: string };\r\n\r\n @Input() type: LinkTypes = 'default';\r\n @Input() monochrome: boolean = false;\r\n @Input() customClasses: string = '';\r\n @Input() prevent: boolean = false;\r\n @Input() size: LinkSizesTypes = 'medium';\r\n\r\n @Output() clicked = new EventEmitter<MouseEvent>();\r\n\r\n constructor(private _router: Router) {\r\n }\r\n\r\n get getClasses(): string {\r\n return `${LinkTypesEnum[this.type]} ${this.customClasses} ${this.monochrome ? 'mrx-link-monochrome' : 'mrx-link-colored'} ${LinkSizesEnum[this.size]}`;\r\n }\r\n\r\n get getTarget(): string {\r\n return LinkTargetTypesEnum[this.target]\r\n }\r\n\r\n onClick(event: any): void {\r\n\r\n if (this.prevent) {\r\n event.preventDefault()\r\n event.stopPropagation()\r\n this.clicked.emit()\r\n }\r\n }\r\n}\r\n","<a\r\n *ngIf=\"routerLink && !prevent; else standardLink\"\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n routerLinkActive=\"mrx-link-active\"\r\n [routerLink]=\"routerLink\"\r\n [queryParams]=\"queryParams\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n\r\n<ng-template #standardLink>\r\n <a\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n [href]=\"href || routerLink\"\r\n [target]=\"getTarget\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LinkComponent } from './link.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [LinkComponent],\r\n imports: [CommonModule, RouterModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LinkComponent],\r\n})\r\nexport class LinkModule {\r\n}\r\n","export const sHashCode = (str: string): number => {\r\n let hash = 0, i, chr;\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n};\r\n\r\nexport const getHashCode = (str: string): string => {\r\n const localHash = sHashCode(location.pathname + location.search)\r\n const stringHash = sHashCode(str)\r\n return `${localHash}_${stringHash}`\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { getHashCode } from '../../../helpers/string-hash-code';\r\n\r\n@Injectable()\r\nexport class TooltipService {\r\n\r\n private _tooltip: string = ''\r\n private _tooltipVisible: boolean = false\r\n private _isSaveToStorage: boolean = false\r\n\r\n private get localStorageKey() {\r\n return this.getTooltip ? `tooltip_${getHashCode(this.getTooltip)}` : null\r\n }\r\n\r\n public get getTooltip(): string {\r\n return this._tooltip\r\n }\r\n\r\n public set setTooltip(value: string) {\r\n this._tooltip = value\r\n }\r\n\r\n public get getSaveToStorage(): boolean {\r\n return this._isSaveToStorage\r\n }\r\n\r\n public set setSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value\r\n }\r\n\r\n public get getTooltipVisible(): boolean {\r\n return this._tooltipVisible\r\n }\r\n\r\n public set setTooltipVisible(value: boolean) {\r\n this._tooltipVisible = value || !!localStorage.getItem(<string>this.localStorageKey)\r\n\r\n if (this._tooltipVisible && this._isSaveToStorage) {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n }\r\n }\r\n\r\n public toggleTooltipVisibleFromCode(value: boolean): void {\r\n if (value && this._isSaveToStorage) {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n } else {\r\n localStorage.removeItem(<string>this.localStorageKey)\r\n }\r\n\r\n this._tooltipVisible = value\r\n }\r\n\r\n public toggleTooltipVisible(): void {\r\n if (this._isSaveToStorage) {\r\n if (localStorage.getItem(<string>this.localStorageKey)) {\r\n localStorage.removeItem(<string>this.localStorageKey)\r\n } else {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n }\r\n }\r\n\r\n\r\n this._tooltipVisible = !this._tooltipVisible\r\n }\r\n\r\n public initTooltip(tooltip: string, tooltipInitialVisible: boolean): void {\r\n this.setTooltip = tooltip\r\n this.setTooltipVisible = tooltipInitialVisible\r\n\r\n if (this._isSaveToStorage) {\r\n this._tooltipVisible = !!localStorage.getItem(<string>this.localStorageKey)\r\n }\r\n }\r\n}\r\n","export enum Tooltip {\r\n Showed = 'Свернуть подсказку',\r\n Hidden = 'Развернуть подсказку'\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Tooltip } from './tooltip.enum';\r\nimport { TooltipTriggerTypes } from './tooltip-trigger/tooltip-trigger.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less'],\r\n animations: [\r\n trigger('openClose', [\r\n state( 'open', style({ height: '*', padding: '*', 'margin-bottom': '8px' })),\r\n state( 'closed', style({ height: 0, padding: 0, 'margin-bottom': 0 })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n public TooltipEnum = Tooltip\r\n\r\n @Input() public tooltip: string | null = '';\r\n @Input() public tooltipVisible: boolean = false;\r\n @Input() public tooltipInitiallyVisible: boolean = false;\r\n @Input() public triggerType: TooltipTriggerTypes = 'attention'\r\n\r\n @Output() public visibilityChanged: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.getTypeClass}`;\r\n }\r\n\r\n public get getTypeClass(): string {\r\n switch (this.triggerType) {\r\n case 'attention':\r\n return 'type-attention'\r\n case 'info':\r\n return 'type-info'\r\n default:\r\n return 'type-attention'\r\n }\r\n }\r\n\r\n}\r\n","<div [@openClose]=\"tooltipVisible ? 'open' : 'closed'\"\r\n class=\"mrx-tooltip-content\" [innerHTML]=\"tooltip\" [class]=\"getClasses\">\r\n</div>\r\n\r\n","export enum TooltipTextPositionEnum {\r\n default = 'trigger-top',\r\n right = 'trigger-right'\r\n}\r\n\r\nexport type TooltipTextPositionTypes = 'default' | 'right'\r\n\r\nexport enum TooltipTriggerEnum {\r\n attention = 'icon-help',\r\n info = 'icon-info'\r\n}\r\n\r\nexport type TooltipTriggerTypes = 'attention' | 'info'\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TooltipTextPositionEnum, TooltipTextPositionTypes, TooltipTriggerEnum, TooltipTriggerTypes } from './tooltip-trigger.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tooltip-trigger',\r\n templateUrl: './tooltip-trigger.component.html',\r\n styleUrls: ['./tooltip-trigger.component.less'],\r\n providers: []\r\n})\r\nexport class TooltipTriggerComponent {\r\n @Input() public triggerTextPosition: TooltipTextPositionTypes = 'default'\r\n @Input() public triggerType: TooltipTriggerTypes = 'attention'\r\n @Input() public customClasses: string = ''\r\n\r\n @Input() public isVisibleTooltip: boolean = false\r\n @Output() public toggleTooltip: EventEmitter<void> = new EventEmitter<void>()\r\n\r\n public get getClasses(): string {\r\n return `${TooltipTextPositionEnum[this.triggerTextPosition]} ${this.customClasses}`;\r\n }\r\n\r\n public get getIconClass(): string {\r\n return `${TooltipTriggerEnum[this.triggerType]}`\r\n }\r\n\r\n public onToggle(): void {\r\n this.toggleTooltip.emit()\r\n }\r\n}\r\n","<div\r\n class=\"mrx-tooltip-trigger\"\r\n [class.active]=\"isVisibleTooltip\"\r\n [class]=\"getClasses\"\r\n (click)=\"onToggle()\"\r\n>\r\n <span class=\"mrx-icon icon-font-16\" [class]=\"getIconClass\"></span>\r\n <span class=\"tooltip-help\">\r\n {{!isVisibleTooltip ? 'Развернуть подсказку' : 'Свернуть подсказку'}}\r\n </span>\r\n</div>\r\n","export enum SwitchTypeEnum {\r\n 'default' = 'mrx-switch-default',\r\n 'toggle' = 'mrx-switch-toggle',\r\n}\r\n\r\nexport type SwitchTypeTypes = 'default' | 'toggle';\r\n\r\nexport enum SwitchSizeEnum {\r\n 'large' = 'mrx-switch-lg',\r\n 'small' = 'mrx-switch-sm',\r\n}\r\n\r\nexport type SwitchSizeTypes = 'large' | 'small';\r\n\r\nexport type SwitchValueTypes = boolean;\r\n\r\nexport interface SwitchValueWithId {\r\n value: SwitchValueTypes,\r\n id: string\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-input',\r\n templateUrl: './save-state-input.component.html',\r\n styleUrls: ['./save-state-input.component.less']\r\n})\r\nexport class SaveStateInputComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-input\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-checkbox',\r\n templateUrl: './save-state-checkbox.component.html',\r\n styleUrls: ['./save-state-checkbox.component.less']\r\n})\r\nexport class SaveStateCheckboxComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-checkbox\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <div class=\"mrx-save-state__saved\">сохранено</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <div class=\"mrx-save-state__error\">ошибка</div>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-checkbox-group',\r\n templateUrl: './save-state-checkbox-group.component.html',\r\n styleUrls: ['./save-state-checkbox-group.component.less']\r\n})\r\nexport class SaveStateCheckboxGroupComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-checkbox-group\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-switch',\r\n templateUrl: './save-state-switch.component.html',\r\n styleUrls: ['./save-state-switch.component.less']\r\n})\r\nexport class SaveStateSwitchComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-switch\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <div class=\"mrx-save-state__saved\">сохранено</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <div class=\"mrx-save-state__error\">ошибка</div>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-editor',\r\n templateUrl: './save-state-editor.component.html',\r\n styleUrls: ['./save-state-editor.component.less']\r\n})\r\nexport class SaveStateEditorComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-editor\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SaveStateComponentType } from './save-state.enum';\r\nimport { Field, StateType } from '../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state',\r\n templateUrl: './save-state.component.html',\r\n styleUrls: ['./save-state.component.less']\r\n})\r\nexport class SaveStateComponent {\r\n\r\n @Input() type: SaveStateComponentType = 'input'\r\n @Input() fields: Field[] = []\r\n @Input() id!: string\r\n\r\n constructor() {\r\n }\r\n\r\n public get getState(): StateType | null {\r\n const savingId = this.fields.findIndex((field) => field.id === this.id)\r\n\r\n if (savingId !== undefined && savingId !== null && savingId !== -1) {\r\n return this.fields[savingId].state\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n public get isSaving(): boolean {\r\n return this.fields.some((field) => field.id === this.id)\r\n }\r\n}\r\n","<div class=\"mrx-save-state\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mrx-save-state-input *ngSwitchCase=\"'input'\" [state]=\"getState\"></mrx-save-state-input>\r\n <mrx-save-state-checkbox *ngSwitchCase=\"'checkbox'\" [state]=\"getState\"></mrx-save-state-checkbox>\r\n <mrx-save-state-checkbox-group *ngSwitchCase=\"'checkboxGroup'\" [state]=\"getState\"></mrx-save-state-checkbox-group>\r\n <mrx-save-state-checkbox *ngSwitchCase=\"'radio'\" [state]=\"getState\"></mrx-save-state-checkbox>\r\n <mrx-save-state-checkbox-group *ngSwitchCase=\"'radioGroup'\" [state]=\"getState\"></mrx-save-state-checkbox-group>\r\n <mrx-save-state-switch *ngSwitchCase=\"'switch'\" [state]=\"getState\"></mrx-save-state-switch>\r\n <mrx-save-state-editor *ngSwitchCase=\"'editor'\" [state]=\"getState\"></mrx-save-state-editor>\r\n </ng-container>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n SwitchSizeEnum,\r\n SwitchSizeTypes,\r\n SwitchTypeEnum,\r\n SwitchTypeTypes,\r\n SwitchValueTypes,\r\n SwitchValueWithId\r\n} from './switch.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SwitchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n public value: SwitchValueTypes = false;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: SwitchSizeTypes = 'large';\r\n @Input() public type: SwitchTypeTypes = 'default';\r\n @Input() public label = '';\r\n @Input() public boldLabel = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public customClasses = '';\r\n @Input() public leftText = 'Отключить';\r\n @Input() public rightText = 'Включить';\r\n\r\n @Output() public changed: EventEmitter<SwitchValueTypes> = new EventEmitter<SwitchValueTypes>();\r\n @Output() public modelChange: EventEmitter<SwitchValueWithId> = new EventEmitter<SwitchValueWithId>();\r\n\r\n public get getClasses(): string {\r\n return `${SwitchSizeEnum[this.size]} ${SwitchTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n private onChange = (value: SwitchValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: SwitchValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n // this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: SwitchValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div class=\"mrx-switch\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"switch\"></mrx-save-state>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <p\r\n class=\"mr-1 cursor-pointer mrx-switch__trigger\"\r\n [class.text-bold]=\"boldLabel\"\r\n (click)=\"!(disabled || readonly) && updateValue(false)\"\r\n >\r\n {{ leftText }}\r\n </p>\r\n <label class=\"mrx-switch-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n >\r\n <span class=\"mrx-switch-slider\"></span>\r\n </label>\r\n <p\r\n class=\"ml-1 cursor-pointer mrx-switch__trigger\"\r\n [class.text-bold]=\"boldLabel\"\r\n (click)=\"!(disabled || readonly) && updateValue(true)\"\r\n >\r\n {{ rightText }}\r\n </p>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <label class=\"mrx-switch-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n >\r\n <span class=\"mrx-switch-slider\"></span>\r\n\r\n <p class=\"ml-2\" [class]=\"boldLabel ? 'mrx-switch__label--bold' : 'mrx-switch__label'\">\r\n {{label}}\r\n <ng-content></ng-content>\r\n </p>\r\n </label>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Inject, InjectionToken, TemplateRef } from '@angular/core';\r\nimport { TooltipData } from '../models/tooltip-data';\r\n\r\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Data to display in tooltip');\r\n\r\n@Component({\r\n selector: 'mrx-cdk-tooltip',\r\n templateUrl: './tooltip-container.component.html',\r\n styleUrls: ['./tooltip-container.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TooltipContainerComponent {\r\n constructor(@Inject(TOOLTIP_DATA) public tooltipData: TooltipData) {}\r\n\r\n public get asString(): string | false {\r\n return typeof this.tooltipData.value === 'string' ? this.tooltipData.value : false;\r\n }\r\n\r\n public get asTemplate(): TemplateRef<void> | null {\r\n return this.tooltipData.value instanceof TemplateRef ? this.tooltipData.value : null;\r\n }\r\n\r\n public get getMaxWidth(): string {\r\n return this.tooltipData.maxWidth ? this.tooltipData.maxWidth + 'px' : '480px'\r\n }\r\n}\r\n","<ng-container *ngIf=\"asString as string\">\r\n <div class=\"mrx-cdk-tooltip\" [style.max-width]=\"getMaxWidth\" [innerHtml]=\"string\"></div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"asTemplate as template\">\r\n <div class=\"mrx-cdk-tooltip\" [style.max-width]=\"getMaxWidth\">\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n","import { ConnectedPosition } from '@angular/cdk/overlay';\r\n\r\nconst topPosition: ConnectedPosition = {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n panelClass: 'top',\r\n}\r\n\r\nconst bottomPosition: ConnectedPosition = {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n}\r\n\r\nconst leftPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n panelClass: 'start',\r\n}\r\n\r\nconst rightPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n panelClass: 'end',\r\n}\r\n\r\nconst topStartPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n panelClass: 'top-start',\r\n}\r\n\r\nconst topEndPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n panelClass: 'top-end',\r\n}\r\n\r\nconst bottomStartPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n panelClass: 'bottom-start',\r\n}\r\n\r\nconst bottomEndPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n panelClass: 'bottom-end',\r\n}\r\n\r\nexport const positions: ConnectedPosition[] = [\r\n topPosition, bottomPosition, leftPosition, rightPosition\r\n]\r\n\r\nexport interface ConnectedPositionVariants {\r\n [name: string]: ConnectedPosition[];\r\n}\r\n\r\nexport const positionStrategy: ConnectedPositionVariants = {\r\n top: [topPosition, bottomPosition, leftPosition, rightPosition],\r\n bottom: [bottomPosition, topPosition, leftPosition, rightPosition],\r\n left: [leftPosition, rightPosition, topPosition, bottomPosition],\r\n right: [rightPosition, leftPosition, topPosition, bottomPosition],\r\n 'top-start': [topStartPosition, topPosition, bottomStartPosition, bottomPosition],\r\n 'top-end': [topEndPosition, topPosition, bottomEndPosition, bottomPosition],\r\n 'bottom-start': [bottomStartPosition, bottomPosition, topStartPosition, topPosition],\r\n 'bottom-end': [bottomEndPosition, bottomPosition, topEndPosition, topPosition],\r\n}\r\n\r\nexport type ConnectedPositionVariantsType =\r\n 'top' |\r\n 'bottom' |\r\n 'left' |\r\n 'right' |\r\n 'top-start' |\r\n 'top-end' |\r\n 'bottom-start' |\r\n 'bottom-end'\r\n","import { Directive, ElementRef, HostListener, Injector, Input, OnDestroy, ViewContainerRef } from '@angular/core';\r\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TooltipContainerComponent, TOOLTIP_DATA } from './cdk-tooltip/tooltip-container.component';\r\nimport { ConnectedPositionVariantsType, positionStrategy } from './constants';\r\nimport { TooltipDataValue } from './models/tooltip-data';\r\n\r\n@Directive({\r\n selector: '[mrxCdkTooltip]',\r\n})\r\nexport class CdkTooltipDirective implements OnDestroy {\r\n @Input() mrxCdkTooltip!: TooltipDataValue;\r\n @Input() tooltipActive = true;\r\n @Input() autoCloseByScroll = false;\r\n @Input() tooltipPosition: ConnectedPositionVariantsType = 'top';\r\n @Input() tooltipMaxWidth: number | null = null;\r\n\r\n private overlayRef: OverlayRef | null = null;\r\n\r\n constructor(\r\n private element: ElementRef<HTMLElement>,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachTooltip(): void {\r\n if (this.overlayRef === null) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n hasBackdrop: false\r\n });\r\n }\r\n\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOOLTIP_DATA,\r\n useValue: {\r\n value: this.mrxCdkTooltip,\r\n maxWidth: this.tooltipMaxWidth\r\n },\r\n },\r\n ],\r\n });\r\n const component = new ComponentPortal(TooltipContainerComponent, this.viewContainer, injector);\r\n this.overlayRef.attach(component);\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions(positionStrategy[this.tooltipPosition]);\r\n }\r\n\r\n @HostListener('mouseenter')\r\n @HostListener('focus')\r\n showTooltip(): void {\r\n if (this.mrxCdkTooltip === null || !this.tooltipActive) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n @HostListener('blur')\r\n hideTooltip(): void {\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild, ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { TooltipTextPositionTypes, TooltipTriggerTypes } from '../tooltip/tooltip-trigger/tooltip-trigger.enum';\r\nimport { TooltipService } from '../tooltip/services/tooltip.service';\r\nimport { LinkTypes } from '../link/link.enum';\r\nimport { SwitchValueTypes } from '../form/switch/switch.enum';\r\n\r\n@Component({\r\n selector: 'mrx-label',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.less'],\r\n animations: [\r\n trigger('openClose', [\r\n state('open', style({ height: '*', padding: '*', 'margin-bottom': '8px' })),\r\n state('closed', style({ height: 0, padding: 0, 'margin-bottom': 0 })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n providers: [TooltipService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LabelComponent implements OnInit {\r\n private _tooltip = ''\r\n private _tooltipInitialVisible = false\r\n private _isSaveToStorage = false\r\n\r\n @Input() public requiredHidden = false;\r\n @Input() public required = false;\r\n @Input() public boldLabel = true;\r\n @Input() public disabled = false;\r\n @Input() public placeholder = '';\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n @Input() public triggerTextPosition: TooltipTextPositionTypes = 'default';\r\n @Input() public isPublicInfo = false;\r\n @Input() public publicInfoTooltip = '';\r\n\r\n // CHECKBOX\r\n @Input() public isSwitch = false;\r\n @Input() public switchLabel = '';\r\n @Input() public switchValue = false;\r\n\r\n // COUNTER\r\n @Input() public counter: number | undefined = 0;\r\n\r\n // LINK\r\n @Input() linkText = '';\r\n @Input() linkPrevent = true;\r\n @Input() linkType: LinkTypes = 'pseudo';\r\n @Input() linkMonochrome = true;\r\n @Input() href = '#';\r\n\r\n @Input() triggerType: TooltipTriggerTypes = 'attention';\r\n\r\n @ContentChild('customIcons') customIcons!: TemplateRef<ElementRef>;\r\n\r\n @Output() public changeCheckboxValue: EventEmitter<SwitchValueTypes> =\r\n new EventEmitter<SwitchValueTypes>();\r\n\r\n @Input()\r\n set tooltip(tooltip: string) {\r\n this._tooltip = tooltip;\r\n this.tooltipService.setTooltip = tooltip\r\n }\r\n\r\n @Input()\r\n set tooltipInitialVisible(value: boolean) {\r\n this._tooltipInitialVisible = value;\r\n this.tooltipService.toggleTooltipVisibleFromCode(value)\r\n }\r\n\r\n @Input()\r\n set isSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value;\r\n this.tooltipService.setSaveToStorage = value\r\n }\r\n\r\n @Output() clickedLink: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n constructor(public tooltipService: TooltipService) { }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n ngOnInit() {\r\n this.tooltipService.initTooltip(this._tooltip, this._tooltipInitialVisible);\r\n }\r\n\r\n public onClickToLink(event: MouseEvent): void {\r\n this.clickedLink.emit(event)\r\n }\r\n}\r\n","<div class=\"mrx-label-wrapper mb-2\">\r\n <div class=\"mrx-label-content d-flex align-items-start\" [class.mr-2]=\"isSwitch\">\r\n <label\r\n [class]=\"getClasses\"\r\n [class.required]=\"required\"\r\n [class.bold-label]=\"boldLabel\"\r\n class=\"mrx-label\"\r\n >\r\n <ng-content></ng-content>\r\n\r\n <span *ngIf=\"required && !disabled && !requiredHidden\" class=\"required-active\">*</span>\r\n\r\n <span\r\n *ngIf=\"isPublicInfo\"\r\n class=\"mrx-icon icon-megafon ml-1\"\r\n [mrxCdkTooltip]=\"publicInfoTooltip\"\r\n ></span>\r\n\r\n <mrx-tooltip-trigger\r\n customClasses=\"ml-1\"\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n [triggerTextPosition]=\"triggerTextPosition\"\r\n [triggerType]=\"triggerType\"\r\n ></mrx-tooltip-trigger>\r\n\r\n <ng-container *ngTemplateOutlet=\"customIcons\"></ng-container>\r\n </label>\r\n\r\n <mrx-badge *ngIf=\"counter\" customClasses=\"ml-2\" type=\"circle\" size=\"small\">{{ counter }}</mrx-badge>\r\n </div>\r\n\r\n <mrx-switch\r\n *ngIf=\"isSwitch\"\r\n [boldLabel]=\"boldLabel\"\r\n [label]=\"switchLabel\"\r\n [ngModel]=\"switchValue\"\r\n (ngModelChange)=\"changeCheckboxValue.emit($event)\"\r\n ></mrx-switch>\r\n\r\n <mrx-link\r\n *ngIf=\"linkText\"\r\n [prevent]=\"linkPrevent\"\r\n [type]=\"linkType\"\r\n [monochrome]=\"linkMonochrome\"\r\n (click)=\"onClickToLink($event)\"\r\n >{{ linkText }}</mrx-link>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n [triggerType]=\"triggerType\"\r\n></mrx-tooltip>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipTriggerComponent } from './tooltip-trigger/tooltip-trigger.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TooltipComponent } from './tooltip.component';\r\n\r\n@NgModule({\r\n declarations: [TooltipComponent, TooltipTriggerComponent],\r\n imports: [CommonModule, FormsModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TooltipComponent, TooltipTriggerComponent],\r\n})\r\nexport class TooltipModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SaveStateComponent } from './save-state.component';\r\nimport { SaveStateInputComponent } from './components/save-state-input/save-state-input.component';\r\nimport { SaveStateCheckboxComponent } from './components/save-state-checkbox/save-state-checkbox.component';\r\nimport {\r\n SaveStateCheckboxGroupComponent\r\n} from './components/save-state-checkbox-group/save-state-checkbox-group.component';\r\nimport { SaveStateSwitchComponent } from './components/save-state-switch/save-state-switch.component';\r\nimport { SaveStateEditorComponent } from './components/save-state-editor/save-state-editor.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SaveStateComponent,\r\n SaveStateInputComponent,\r\n SaveStateCheckboxComponent,\r\n SaveStateCheckboxGroupComponent,\r\n SaveStateSwitchComponent,\r\n SaveStateEditorComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [SaveStateComponent]\r\n})\r\nexport class SaveStateModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SwitchComponent } from './switch.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [SwitchComponent],\r\n imports: [CommonModule, FormsModule, SaveStateModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [SwitchComponent],\r\n})\r\nexport class SwitchModule {}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipContainerComponent } from './cdk-tooltip/tooltip-container.component';\r\nimport { CdkTooltipDirective } from './cdk-tooltip.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n declarations: [TooltipContainerComponent, CdkTooltipDirective],\r\n imports: [CommonModule, OverlayModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CdkTooltipDirective]\r\n})\r\nexport class CdkTooltipModule {\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LabelComponent } from './label.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BadgesModule } from '../badges/badges.module';\r\nimport { LinkModule } from '../link/link.module';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { SwitchModule } from '../form/switch/switch.module';\r\nimport { CdkTooltipModule } from '../cdk-tooltip/cdk-tooltip.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [LabelComponent],\r\n imports: [CommonModule, FormsModule, TooltipModule, SwitchModule, BadgesModule, LinkModule, CdkTooltipModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LabelComponent],\r\n})\r\nexport class LabelModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n Input,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { createPopper, Instance } from '@popperjs/core';\r\nimport { Placement } from '@popperjs/core/lib/enums';\r\n\r\n@Component({\r\n selector: 'mrx-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.less']\r\n})\r\nexport class DropdownComponent implements AfterViewInit {\r\n private _isOpen = false;\r\n private _showEvents: string[] = ['click'];\r\n private _hideEvents: string[] = ['blur']\r\n private _hideModalAfterClickFunc = this.hideModalAfterClick.bind(this)\r\n private _popperInstance?: Instance;\r\n\r\n\r\n @ViewChild('dropdownToggleEl') dropdownToggleEl!: ElementRef;\r\n @ViewChild('dropdownContent') dropdownContent!: ElementRef;\r\n @ContentChild('dropdownToggle') dropdownToggle!: TemplateRef<any>;\r\n @ContentChild('dropdownMenu') dropdownMenu!: TemplateRef<any>;\r\n\r\n @Input() mainPlacement: Placement = 'bottom-end'\r\n @Input() fallbackPlacements: Placement[] = ['bottom-start', 'top-end', 'top-start']\r\n @Input() closeOnClick = true\r\n @Input() customClasses: string = ''\r\n\r\n public get isOpen(): boolean {\r\n return this._isOpen\r\n }\r\n\r\n public set isOpen(value: boolean) {\r\n this._isOpen = value\r\n }\r\n\r\n public show(): void {\r\n document.addEventListener('click', this._hideModalAfterClickFunc);\r\n\r\n if (this.isOpen) {\r\n this.hide()\r\n } else {\r\n this.isOpen = true\r\n\r\n this.dropdownContent.nativeElement.setAttribute('data-show', '');\r\n\r\n this._popperInstance?.setOptions((options: any) => ({\r\n ...options,\r\n modifiers: [\r\n ...options.modifiers,\r\n {name: 'eventListeners', enabled: true},\r\n ],\r\n }));\r\n }\r\n }\r\n\r\n public hide(): void {\r\n document.removeEventListener('click', this._hideModalAfterClickFunc);\r\n\r\n this.isOpen = false\r\n this.dropdownContent.nativeElement.removeAttribute('data-show', '');\r\n\r\n this._popperInstance?.setOptions((options: any) => ({\r\n ...options,\r\n modifiers: [\r\n ...options.modifiers,\r\n {name: 'eventListeners', enabled: false},\r\n ],\r\n }));\r\n }\r\n\r\n private hideModalAfterClick(e: any) {\r\n const withinBoundaries = e.composedPath().includes(this.dropdownToggleEl.nativeElement);\r\n const withinBoundariesModal = e.composedPath().includes(this.dropdownContent.nativeElement);\r\n if (!withinBoundaries && !withinBoundariesModal) {\r\n this.hide()\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._popperInstance = createPopper(\r\n this.dropdownToggleEl.nativeElement,\r\n this.dropdownContent.nativeElement,\r\n {\r\n placement: this.mainPlacement,\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n fallbackPlacements: this.fallbackPlacements,\r\n },\r\n },\r\n ],\r\n }\r\n )\r\n\r\n this._showEvents.forEach((event) => {\r\n this.dropdownToggleEl.nativeElement.addEventListener(event, this.show.bind(this));\r\n });\r\n\r\n this._hideEvents.forEach((event) => {\r\n this.dropdownToggleEl.nativeElement.addEventListener(event, this.hide.bind(this));\r\n });\r\n }\r\n}\r\n","<div class=\"mrx-dropdown d-flex\" [class]=\"customClasses\">\r\n <div class=\"mrx-dropdown-toggle\" #dropdownToggleEl>\r\n <ng-container *ngTemplateOutlet=\"dropdownToggle\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-dropdown-content\" #dropdownContent>\r\n\r\n <div class=\"mrx-dropdown-wrapper\">\r\n <div class=\"mrx-dropdown-menu\" *ngIf=\"dropdownMenu\">\r\n <ng-container *ngTemplateOutlet=\"dropdownMenu\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { DropdownComponent } from '../dropdown.component';\r\n\r\n@Directive({\r\n selector: '[mrxHideAfterClick]'\r\n})\r\nexport class HideAfterClickDirective {\r\n\r\n constructor(public dropdown: DropdownComponent) { }\r\n\r\n @HostListener('click', ['$event.target']) onClick(event: Event) {\r\n this.dropdown.hide()\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { HideAfterClickDirective } from './directives/hide-after-click.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DropdownComponent, HideAfterClickDirective],\r\n imports: [CommonModule, NgSelectModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [DropdownComponent, HideAfterClickDirective],\r\n})\r\nexport class DropdownModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-error-message',\r\n templateUrl: './error-message.component.html',\r\n styleUrls: ['error-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ErrorMessageComponent {\r\n @Input() public invalid: boolean = true;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public customClasses = '';\r\n\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngFor=\"let invalidMessage of invalidMessageArray\"\r\n class=\"mrx-error-message d-block mt-1\"\r\n [class]=\"getClasses\"\r\n [class.color-message]=\"invalid\"\r\n>\r\n {{invalidMessage}}\r\n <ng-content></ng-content>\r\n</span>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ErrorMessageComponent } from './error-message.component';\r\n\r\n@NgModule({\r\n declarations: [ErrorMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ErrorMessageComponent],\r\n})\r\nexport class ErrorMessageModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-hint-error-message',\r\n templateUrl: './hint-error-message.component.html',\r\n styleUrls: ['./hint-error-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n/**\r\n * @param message string (text или HTML) <br/>\r\n * @param value number | string <br/>\r\n * @param maxValue? number <br/>\r\n * @param minValue? number <br/>\r\n * Передается один из параметров: maxValue, minValue, minLength, maxLength\r\n */\r\nexport class HintErrorMessageComponent {\r\n private _isInit = false\r\n /**\r\n * Пример использования <br/>\r\n * message=\"Не более {diff} дней\" <br/>\r\n * @param {diff} = maxValue - value\r\n */\r\n @Input() public message = '';\r\n @Input() public value: number | string = 0;\r\n @Input() public maxValue = 0;\r\n @Input() public minValue = 0;\r\n @Input() public minLength = 0;\r\n @Input() public maxLength = 0;\r\n @Input() public checkInvalid: boolean | null = true;\r\n\r\n public get replaceMessage(): string {\r\n if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(String(this.maxValue - this.retypeValue(this.value)))\r\n }\r\n\r\n if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(\r\n String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0'\r\n )\r\n }\r\n\r\n if (this.minLength && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(\r\n String(this.value).length < this.minLength ? String(this.minLength - String(this.value).length) : '0'\r\n )\r\n }\r\n\r\n if (this.maxLength && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(String(this.maxLength - String(this.value).length))\r\n }\r\n\r\n return this.message\r\n }\r\n\r\n public get getIsInvalid(): boolean {\r\n if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0)) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;\r\n }\r\n\r\n if ((this.maxValue || this.maxValue === 0) && !this.minValue) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.maxValue - this.retypeValue(this.value) < 0;\r\n }\r\n\r\n if ((this.minValue || this.minValue === 0) && !this.maxValue) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.minValue - this.retypeValue(this.value) > 0;\r\n }\r\n\r\n if (this.maxLength) {\r\n return this.maxLength - String(this.value).length < 0\r\n }\r\n\r\n if (this.minLength) {\r\n return this.minLength - String(this.value).length > 0\r\n }\r\n\r\n return false\r\n }\r\n\r\n private retypeValue(value: number | string): number {\r\n if (typeof value === 'string') {\r\n if (value === '') {\r\n return 0\r\n }\r\n if (!isNaN(parseFloat(value))) {\r\n return parseFloat(value)\r\n }\r\n } else {\r\n if (isNaN(value)) {\r\n return 0\r\n }\r\n return Number(value)\r\n }\r\n\r\n return 0\r\n }\r\n}\r\n","<div\r\n class=\"mrx-hint-error-message mt-1\"\r\n [class.mrx-invalid-message]=\"getIsInvalid && checkInvalid\"\r\n [innerHTML]=\"replaceMessage\"\r\n></div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HintErrorMessageComponent } from './hint-error-message.component';\r\n\r\n@NgModule({\r\n declarations: [HintErrorMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [HintErrorMessageComponent],\r\n})\r\nexport class HintErrorMessageModule { }\r\n","export enum IconButtonSizeEnum {\r\n 'small' = 'icon-font-16',\r\n 'medium' = 'icon-font-20',\r\n 'large' = 'icon-font-24'\r\n}\r\n\r\nexport type IconButtonSizeTypes = 'small' | 'medium' | 'large' \r\n\r\nexport enum IconButtonStateEnum {\r\n 'default' = 'mrx-icon-button-state-default',\r\n 'button' = 'mrx-icon-button-state-button'\r\n}\r\n\r\nexport type IconButtonStateTypes = 'default' | 'button'\r\n\r\nexport enum IconButtonTypeEnum {\r\n 'positive' = 'mrx-icon-button-type-positive',\r\n 'negative' = 'mrx-icon-button-type-negative'\r\n}\r\n\r\nexport type IconButtonTypeTypes = 'positive' | 'negative'\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n IconButtonTypeEnum,\r\n IconButtonTypeTypes,\r\n IconButtonSizeEnum,\r\n IconButtonSizeTypes,\r\n IconButtonStateEnum,\r\n IconButtonStateTypes\r\n} from './icon-button.enum';\r\nimport { ConnectedPositionVariantsType } from '../cdk-tooltip/constants';\r\n\r\n@Component({\r\n selector: 'mrx-icon-button',\r\n templateUrl: './icon-button.component.html',\r\n styleUrls: ['./icon-button.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class IconButtonComponent {\r\n @Input() size: IconButtonSizeTypes = 'small';\r\n @Input() state: IconButtonStateTypes = 'default';\r\n @Input() type: IconButtonTypeTypes = 'positive';\r\n\r\n @Input() iconClass = '';\r\n @Input() disabled = false;\r\n @Input() tooltip = '';\r\n @Input() tooltipPosition: ConnectedPositionVariantsType = 'top';\r\n @Input() tooltipMaxWidth: number | null = null;\r\n @Input() isActive: boolean | null | undefined = false;\r\n @Input() customClasses = '';\r\n\r\n @Output() mrxClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n public get stateTooltip(): boolean {\r\n return !!this.tooltip.trim();\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.iconClass} ${IconButtonSizeEnum[this.size]} ${IconButtonStateEnum[this.state]} ${IconButtonTypeEnum[this.type]} ${this.customClasses}`\r\n }\r\n\r\n public buttonClick($event: MouseEvent): void {\r\n this.mrxClick.emit($event)\r\n }\r\n}\r\n","<button\r\n class=\"mrx-icon mrx-icon-button\"\r\n [mrxCdkTooltip]=\"tooltip\"\r\n [tooltipActive]=\"stateTooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltipMaxWidth]=\"tooltipMaxWidth\"\r\n [class]=\"getClasses\"\r\n [class.active]=\"isActive\"\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonClick($event)\"\r\n></button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconButtonComponent } from './icon-button.component';\r\nimport { CdkTooltipModule } from '../cdk-tooltip/cdk-tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [IconButtonComponent],\r\n imports: [CommonModule, CdkTooltipModule],\r\n exports: [IconButtonComponent]\r\n})\r\nexport class IconButtonModule {}\r\n","export enum ModalColorEnum {\r\n 'default' = 'type-default',\r\n 'info' = 'type-info',\r\n 'attention' = 'type-attention',\r\n 'negative' = 'type-negative',\r\n}\r\n\r\nexport type ModalColorTypes = 'default' | 'info' | 'attention' | 'negative'\r\n\r\nexport enum ModalSizesEnum {\r\n 'small' = 'mrx-modal-sm',\r\n 'medium' = 'mrx-modal-md',\r\n 'large' = 'mrx-modal-lg',\r\n 'extra-large' = 'mrx-modal-extra-lg'\r\n}\r\n\r\nexport type ModalSizesTypes = 'small' | 'medium' | 'large' | 'extra-large'\r\n\r\nexport enum ModalAlignButtonsEnum {\r\n 'center' = 'justify-content-center',\r\n 'left' = 'justify-content-start',\r\n 'right' = 'justify-content-end',\r\n}\r\n\r\nexport type ModalAlignButtonsTypes = 'center' | 'left' | 'right'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\n\r\nimport {\r\n ModalAlignButtonsEnum,\r\n ModalAlignButtonsTypes,\r\n ModalColorEnum,\r\n ModalColorTypes,\r\n ModalSizesEnum,\r\n ModalSizesTypes\r\n} from './modal.emun';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { ButtonColorsTypes, ButtonIconPositionTypes } from '../button/button.enum';\r\n\r\n@Component({\r\n selector: 'mrx-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('animateExpand', [\r\n state('open', style({\r\n height: '100%',\r\n width: '100%',\r\n maxWidth: 'none',\r\n minHeight: '100vh',\r\n minWidth: '100vw',\r\n marginTop: '0',\r\n marginBottom: '0'\r\n })),\r\n state('closed', style({ height: '*', width: '*' })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n})\r\nexport class ModalComponent {\r\n @Input() title?: string | null = ''\r\n @Input() message?: string | null = ''\r\n @Input() okText = 'Отменить'\r\n\r\n @Input() closeText = 'Подтвердить'\r\n @Input() size: ModalSizesTypes = 'small'\r\n @Input() color: ModalColorTypes = 'default'\r\n @Input() customClasses = ''\r\n @Input() expandable = false\r\n @Input() isEmbed = false\r\n @Input() isClose = true\r\n @Input() isBack = false\r\n @Input() backText = 'Назад'\r\n @Input() enableFooter = true\r\n @Input() alignButtons: ModalAlignButtonsTypes = 'center'\r\n @Input() isLoading = false;\r\n @Input() iconPosition: ButtonIconPositionTypes = 'left';\r\n\r\n @ContentChild('footerContent') footerContent!: TemplateRef<HTMLElement>;\r\n\r\n @Output() ok: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() close: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() back: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n public get getColorClass() {\r\n return this.color ? ModalColorEnum[this.color] : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ ModalSizesEnum[this.size] } ${ this.getColorClass } ${ this.customClasses }`;\r\n }\r\n\r\n public get getButtonColor(): ButtonColorsTypes {\r\n switch (this.color) {\r\n case 'negative':\r\n return 'negative'\r\n case 'attention':\r\n return 'attention'\r\n default:\r\n return 'default'\r\n }\r\n }\r\n\r\n public get alignButtonsClass(): string {\r\n return ModalAlignButtonsEnum[this.alignButtons]\r\n }\r\n\r\n public onOk(): void {\r\n this.ok.emit()\r\n }\r\n\r\n public onClose(): void {\r\n this.close.emit()\r\n }\r\n\r\n public onBack() {\r\n this.back.emit()\r\n }\r\n\r\n public onExpanding(): void {\r\n this.isEmbed = !this.isEmbed\r\n }\r\n}\r\n","<div class=\"mrx-modal-content\" [class]=\"getClasses\" [@animateExpand]=\"isEmbed ? 'open' : 'closed'\">\r\n <div class=\"mrx-modal-header\">\r\n <div class=\"mrx-modal-title\" [innerHTML]=\"title\" [style]=\"{padding: expandable ? '0 56px' : '0 24px'}\"></div>\r\n\r\n <span\r\n *ngIf=\"expandable\"\r\n class=\"mrx-icon icon-font-24\"\r\n [class]=\"isEmbed ? 'icon-arrow-collapse' : 'icon-arrow-expand'\"\r\n (click)=\"onExpanding()\"\r\n ></span>\r\n <span class=\"mrx-icon icon-close icon-font-24\" *ngIf=\"isClose\" (click)=\"onClose()\"></span>\r\n </div>\r\n\r\n <div class=\"mrx-modal-body\">\r\n <div *ngIf=\"isBack\" class=\"mrx-modal__back d-flex align-items-center mb-3 mt-2\" (click)=\"onBack()\">\r\n <span class=\"mrx-icon icon-arrow-left icon-font-16 mr-1\"></span>\r\n <span>{{ backText }}</span>\r\n </div>\r\n\r\n <div class=\"mrx-modal-body__message\" [innerHTML]=\"message\"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n\r\n <div class=\"mrx-modal-footer\" [class]=\"alignButtonsClass\" *ngIf=\"enableFooter\">\r\n <ng-container *ngIf=\"!footerContent; else footerContentTemplate\">\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [color]=\"getButtonColor\"\r\n [size]=\"'medium'\"\r\n (click)=\"onClose()\"\r\n >{{closeText}}</mrx-button>\r\n\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [color]=\"getButtonColor\"\r\n [iconPosition]=\"iconPosition\"\r\n [isLoading]=\"isLoading\"\r\n (click)=\"onOk()\"\r\n >{{okText}}</mrx-button>\r\n </ng-container>\r\n\r\n <ng-template #footerContentTemplate>\r\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalComponent } from './modal.component';\r\nimport { ButtonModule } from \"../button/button.module\";\r\n\r\n@NgModule({\r\n declarations: [ ModalComponent ],\r\n imports: [ CommonModule, ButtonModule ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ ModalComponent ]\r\n})\r\nexport class ModalModule { }\r\n","export declare type PaginatorPosition = 'centered' | 'right' | 'left';\r\n\r\nexport const PaginatorPositionCss:\r\n Record<PaginatorPosition, string> = {\r\n ['centered']: 'paginator-centered',\r\n ['right']: 'paginator-right',\r\n ['left']: 'paginator-left'\r\n};\r\n\r\nexport interface PaginatorItem {\r\n index: number,\r\n active: boolean\r\n}\r\n\r\nexport interface PaginateOutputObject {\r\n currentPage: number,\r\n pageSize: number\r\n}\r\n","export enum InputSelectSizeEnum {\r\n 'medium' = 'mrx-input-select-md',\r\n 'large' = 'mrx-input-select-lg'\r\n}\r\n\r\nexport type InputSelectSizeTypes = 'medium' | 'large';\r\n\r\nexport type InputSelectValueTypes = string | string[];\r\n\r\nexport interface InputSelectValueWithId {\r\n value: InputSelectValueTypes,\r\n id: string\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component, ContentChild, ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AddTagFn } from '@ng-select/ng-select/lib/ng-select.component';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport {\r\n InputSelectSizeEnum,\r\n InputSelectSizeTypes,\r\n InputSelectValueTypes,\r\n InputSelectValueWithId\r\n} from './input-select.enum';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-select',\r\n templateUrl: './input-select.component.html',\r\n styleUrls: ['./input-select.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputSelectComponent implements ControlValueAccessor\r\n{\r\n public maxSelectedItems!: number;\r\n public _value: InputSelectValueTypes = [];\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputSelectSizeTypes = 'large';\r\n\r\n @Input() public selected!: object | any[];\r\n @Input() public bindValue = '';\r\n @Input() public bindLabel = '';\r\n @Input() public customClasses = '';\r\n @Input() public wrapperCustomClasses = '';\r\n @Input() public multiple = false;\r\n @Input() public loading = false;\r\n @Input() public addTag: boolean | AddTagFn = false;\r\n @Input() public clearable = true;\r\n @Input() public items: any[] = [];\r\n @Input() public groupBy: string | ((value: any) => any) = '';\r\n @Input() public emptyValue: any;\r\n @Input() public virtualScroll = false;\r\n @Input() public trackByFn: any;\r\n @Input() public displayValue!: string | string[];\r\n @Input() public disabledFromDisplay!: boolean;\r\n @Input() public maxLength = 0;\r\n @Input() public customSearchFn?: (term: string, item: any) => boolean;\r\n\r\n @Input() public isBottomLabel = false;\r\n @Input() public search = false;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public showEmptyFields = false;\r\n @Input() public placeholder = '';\r\n @Input() public searchable = true;\r\n @Input() public loadLabel = '';\r\n @Input() public notFoundText = 'Не найдено';\r\n @Input() public closeOnSelect = true;\r\n @Input() public multiCollapseCount: number | null = null;\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // LABEL\r\n @Input() public label = '';\r\n @Input() public labelRequiredHidden = false;\r\n @Input() public labelExtraClass: object | string = '';\r\n\r\n // TOOLTIP\r\n @Input() public tooltip = '';\r\n @Input() public tooltipHidden = false;\r\n @Input() public tooltipVisible = false;\r\n\r\n // REFS\r\n @ContentChild('selectOptionsTemplate') selectOptionsTemplate!: TemplateRef<{item: any, clear: any}>;\r\n @ContentChild('labelTemplate') labelTemplate!: TemplateRef<{item: any, clear: any}>;\r\n @ContentChild('tagTemplate') tagTemplate!: TemplateRef<{items: any}>;\r\n @ContentChild('multiLabelTemplate') multiLabelTemplate!: TemplateRef<{items: any, clear: any}>;\r\n\r\n @Input('maxSelectedItems')\r\n set setMaxSelectedItems(val: number) {\r\n if (val) {\r\n this.maxSelectedItems = val;\r\n }\r\n }\r\n @Output() public changed: EventEmitter<InputSelectValueTypes> = new EventEmitter<InputSelectValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputSelectValueWithId> = new EventEmitter<InputSelectValueWithId>();\r\n @Output() public searched: EventEmitter<{ term: string; items: any[] }> = new EventEmitter<{ term: string; items: any[] }>();\r\n\r\n public get isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public get isVerified(): boolean {\r\n return !(\r\n this.value === null ||\r\n this.value === undefined ||\r\n this.value === this.emptyValue\r\n );\r\n }\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set value(value: InputSelectValueTypes) {\r\n this._value = value;\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses} ${InputSelectSizeEnum[this.size]} ${this.checkLoading}`;\r\n }\r\n\r\n public get checkLoading(): string {\r\n return this.loading ? 'mrx-input-loading' : '';\r\n }\r\n\r\n protected onChange(val: any): void {}\r\n private onTouched = () => {};\r\n\r\n public writeValue(value: any) {\r\n this._value = value;\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(insideValue: InputSelectValueTypes): void {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public updateSearch(event: { term: string; items: any[] }): void {\r\n this.searched.emit({ term: event.term, items: event.items})\r\n }\r\n}\r\n","<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\">\r\n\r\n <ng-select\r\n [items]=\"items\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"Очистить\"\r\n addTagText=\"Добавить\"\r\n loadingText=\"Загрузка...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || 'Загрузка' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{ item['label'] }}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">×</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">Выбрано: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n PaginateOutputObject,\r\n PaginatorItem,\r\n PaginatorPosition, PaginatorPositionCss,\r\n} from './paginator.enum';\r\n\r\n@Component({\r\n selector: 'mrx-paginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.less']\r\n})\r\nexport class PaginatorComponent {\r\n public position: PaginatorPosition | undefined = 'centered';\r\n public withPageSize: boolean | undefined = true;\r\n\r\n @Input() pageSizes: number[] = [20, 50, 100];\r\n @Input() currentPage = 1;\r\n @Input() pageSize = 20;\r\n @Input() total = 0;\r\n @Input() customClasses = '';\r\n\r\n @Input() isEmptyPaginator: boolean = false;\r\n @Input() isPaginatorText: boolean = false;\r\n @Input() paginatorText: string = 'записи';\r\n\r\n @Input('position')\r\n public set setPosition(value: PaginatorPosition | undefined) {\r\n this.position = value || 'centered';\r\n }\r\n\r\n @Input('withPageSize')\r\n public set setWithPageSize(value: boolean | undefined) {\r\n this.withPageSize = value || false;\r\n }\r\n\r\n @Output() dataStateChanged: EventEmitter<PaginateOutputObject> = new EventEmitter<PaginateOutputObject>();\r\n\r\n public get getClasses(): string {\r\n return `${this.position && PaginatorPositionCss[this.position]} ${this.customClasses}`;\r\n }\r\n\r\n public get getItems(): number {\r\n return Math.ceil(this.total / this.pageSize);\r\n }\r\n\r\n public get getNumbers(): PaginatorItem[] {\r\n return Array(this.getItems)\r\n .fill(1)\r\n .map((item, index) => ({ index: index + 1, active: index + 1 === this.currentPage }));\r\n }\r\n\r\n public get getViewItems(): PaginatorItem[] {\r\n return this.getNumbers.filter((item, index) => {\r\n if (this.currentPage === 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2 ||\r\n item.index === this.currentPage + 3 ||\r\n item.index === this.currentPage + 4;\r\n } else if (this.currentPage == 2 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2 ||\r\n item.index === this.currentPage + 3;\r\n } else if (this.currentPage == this.getItems - 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 3 ||\r\n item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1;\r\n } else if (this.currentPage > 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2;\r\n } else {\r\n return item.index === this.currentPage - 4 ||\r\n item.index === this.currentPage - 3 ||\r\n item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage;\r\n }\r\n });\r\n }\r\n\r\n public get getFirstNumberCurrentPage(): number {\r\n if(this.total === 0) {\r\n return 0;\r\n }\r\n if(this.total < this.pageSize * this.currentPage - this.pageSize + 1) {\r\n return 1;\r\n }\r\n\r\n return (this.pageSize * this.currentPage - this.pageSize) + 1;\r\n }\r\n\r\n public get getLastNumberCurrentPage(): number {\r\n if(this.total === 0) {\r\n return 0;\r\n }\r\n if(this.total < this.pageSize * this.currentPage) {\r\n return this.total;\r\n }\r\n return this.pageSize * this.currentPage;\r\n }\r\n\r\n public onChangeCurrentPage(value: number): void {\r\n this.dataStateChanged.emit({\r\n currentPage: value,\r\n pageSize: this.pageSize\r\n });\r\n }\r\n\r\n public onChangePageSize(value: number): void {\r\n this.currentPage = 1;\r\n\r\n this.dataStateChanged.emit({\r\n currentPage: this.currentPage,\r\n pageSize: value\r\n });\r\n }\r\n\r\n public trackByFn(index: number, item: any) {\r\n return item.id;\r\n }\r\n}\r\n","<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n size=\"medium\"\r\n [(ngModel)]=\"pageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-input-select>\r\n<!-- <ng-select-->\r\n<!-- *ngIf=\"withPageSize\"-->\r\n<!-- [(ngModel)]=\"pageSize\"-->\r\n<!-- [items]=\"pageSizes\"-->\r\n<!-- [clearable]=\"false\"-->\r\n<!-- [searchable]=\"false\"-->\r\n<!-- (change)=\"onChangePageSize($event)\"-->\r\n<!-- class=\"ml-3\"-->\r\n<!-- ></ng-select>-->\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n Отображены {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} из {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputSelectComponent } from './input-select.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { LoaderModule } from '../../loader/loader.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [InputSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n LabelModule,\r\n LoaderModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgSelectModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputSelectComponent],\r\n})\r\nexport class InputSelectModule {}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginatorComponent } from './paginator.component';\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { InputSelectModule } from '../form/input-select/input-select.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginatorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n InputSelectModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [PaginatorComponent]\r\n})\r\nexport class PaginatorModule {}\r\n","export type ProgressColors = 'default' | 'success' | 'warning' | 'danger';\r\nexport enum ProgressClasses {\r\n 'default' = 'mrx-progress-default',\r\n 'success' = 'mrx-progress-success',\r\n 'warning' = 'mrx-progress-warning',\r\n 'danger' = 'mrx-progress-danger',\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ProgressClasses, ProgressColors } from './progress.enum';\r\n\r\n@Component({\r\n selector: 'mrx-progress',\r\n templateUrl: 'progress.component.html',\r\n styleUrls: ['./progress.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n\r\nexport class ProgressComponent {\r\n @Input() value: number = 0;\r\n @Input() customClasses: string = '';\r\n @Input() color: ProgressColors = 'default';\r\n\r\n public get getProgressClasses(){\r\n return `${ProgressClasses[this.color]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-progress\" [class]=\"getProgressClasses\">\r\n <div class=\"mrx-progress-bar\" [style.width.%]=\"value\"></div>\r\n</div>\t\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProgressComponent } from './progress.component';\r\n\r\n@NgModule({\r\n declarations: [ProgressComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ProgressComponent],\r\n})\r\nexport class ProgressModule {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { StepperType } from './stepper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-stepper',\r\n templateUrl: 'stepper.component.html',\r\n styleUrls: ['./stepper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class StepperComponent {\r\n @Input() totalSteps = 0;\r\n @Input() currentStep = 0;\r\n @Input() customClasses = '';\r\n @Input() type: StepperType = 'default';\r\n\r\n @Input() completeText = 'Завершено';\r\n @Input() requiredText = 'Осталось';\r\n @Input() successText = 'Конец!';\r\n @Input() isBottomLabel = false\r\n\r\n public get percent(): number {\r\n if (this.currentStep >= this.totalSteps) {\r\n return 100;\r\n }\r\n if (this.totalSteps > 0) {\r\n return (100 * this.currentStep) / this.totalSteps;\r\n }\r\n return 0;\r\n }\r\n\r\n public get isCompleted(): boolean {\r\n return this.currentStep >= this.totalSteps;\r\n }\r\n\r\n public get difference(): number {\r\n return this.totalSteps - this.currentStep;\r\n }\r\n}\r\n","<div class=\"mrx-stepper\" [class]=\"customClasses\">\r\n <div class=\"mb-2\" *ngIf=\"!isBottomLabel\">\r\n <ng-container *ngTemplateOutlet=\"stepperLabel\"></ng-container>\r\n </div>\r\n\r\n <mrx-progress [color]=\"type\" [value]=\"percent\"></mrx-progress>\r\n\r\n <div class=\"mt-2\" *ngIf=\"isBottomLabel\">\r\n <ng-container *ngTemplateOutlet=\"stepperLabel\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #stepperLabel>\r\n <div class=\"mrx-stepper-header\">\r\n <div class=\"mrx-stepper-header-item\">\r\n {{completeText}} <strong class=\"ml-1 mr-1\">{{currentStep}}</strong> из <span class=\"ml-1\">{{totalSteps}}</span>\r\n </div>\r\n <div class=\"mrx-stepper-header-item\">\r\n <!-- если есть не завершенные шаги -->\r\n <ng-container *ngIf=\"!isCompleted\">\r\n {{requiredText}} <strong class=\"ml-1\">{{difference}}</strong>\r\n </ng-container>\r\n <!-- если все шаги завершены -->\r\n <ng-container *ngIf=\"isCompleted\">\r\n <span class=\"mrx-icon icon-font-24 icon-positive mr-1\"></span>\r\n {{successText}}\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StepperComponent } from './stepper.component';\r\nimport { ProgressModule } from '../progress/progress.module';\r\n\r\n@NgModule({\r\n declarations: [StepperComponent],\r\n imports: [CommonModule, ProgressModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [StepperComponent, ProgressModule],\r\n})\r\nexport class StepperModule {}\r\n","export type StepperType = 'default' | 'success' | \"warning\" | \"danger\";\r\nexport enum StepperClasses {\r\n 'default' = 'mrx-stepper-default',\r\n 'success' = 'mrx-stepper-success'\r\n}\r\n","export enum TableTypeEnum {\r\n 'default' = 'type-default',\r\n 'light' = 'type-light',\r\n 'cards' = 'type-cards',\r\n 'mixed' = 'type-mixed'\r\n}\r\n\r\nexport type TableType = 'default' | 'light' | 'cards' | 'mixed';\r\nexport type SortDirection = 'asc' | 'desc';\r\n\r\nexport interface TableBodyItem {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface SortDescriptor {\r\n col: string,\r\n dir?: SortDirection;\r\n}\r\n\r\n// default = слева количество, справа сортировка\r\n// second = слева сортировка, справа скачать\r\nexport type TableCardHeaderType = 'default' | 'second'\r\n\r\nexport interface HeaderSettings {\r\n type: TableCardHeaderType,\r\n sort?: boolean,\r\n count?: boolean,\r\n download?: boolean,\r\n background?: boolean,\r\n substrate?: boolean,\r\n toggle?: boolean,\r\n countText?: string\r\n}\r\n\r\nexport interface ContentSettings {\r\n substrate?: boolean\r\n}\r\n\r\nexport interface PaginatorSettings {\r\n substrate?: boolean\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-column',\r\n template: '',\r\n})\r\nexport class ColumnComponent {\r\n @Input() name: string = '';\r\n @Input() label: string = '';\r\n @Input() sortLabel: string = '';\r\n @Input() sortable: boolean = true;\r\n @Input() isLink: boolean = true\r\n @Input() customClasses: string = ''\r\n\r\n @ContentChild('templateHead') templateHead!: TemplateRef<any>;\r\n @ContentChild('templateCell') templateCell!: TemplateRef<any>;\r\n}\r\n","import { PagerSettings } from '../models/pager-settings';\r\n\r\nexport const DefaultPagerSettings: PagerSettings = {\r\n info: true,\r\n pageSizes: [20, 50, 100],\r\n type: 'numeric',\r\n withPageSize: true\r\n};\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { ContentSettings, HeaderSettings, PaginatorSettings, SortDescriptor, TableBodyItem, TableType, TableTypeEnum } from './table.enum';\r\nimport { ColumnComponent } from './components/column/column.component';\r\nimport { PagerSettings } from './models/pager-settings';\r\nimport { DefaultPagerSettings } from './default/default-pager-settings';\r\nimport { DataStateChangeEvent } from './models/data-state-change.event';\r\nimport { PaginateOutputObject } from '../paginator/paginator.enum';\r\nimport { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'mrx-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.less'],\r\n animations: [\r\n trigger('visibleLoading', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('in => out', [group([\r\n animate('300ms ease-in-out', style({ opacity: 0 })),\r\n animate('300ms ease-in-out', style({ visibility: 'hidden' }))\r\n ]\r\n )]),\r\n transition('out => in', [group([\r\n animate('1ms ease-in-out', style({ visibility: 'visible' })),\r\n animate('300ms ease-in-out', style({ opacity: 1 }))\r\n ]\r\n )])\r\n ])\r\n ]\r\n})\r\nexport class TableComponent implements AfterViewInit {\r\n public colArray: ColumnComponent[] = [];\r\n public pageable: PagerSettings | null = DefaultPagerSettings;\r\n public selectedSort = ''\r\n public init = false\r\n\r\n @ContentChildren(ColumnComponent) contentChildren!: QueryList<ColumnComponent>;\r\n @ContentChild('templateCard') templateCard!: TemplateRef<any>;\r\n @ContentChild('emptyResultMsgTemplate') emptyResultMsgTemplate!: TemplateRef<any>;\r\n\r\n @Input() type: TableType = 'default';\r\n @Input() data!: TableBodyItem[];\r\n @Input() pageSize = 20;\r\n @Input() currentPage = 1;\r\n @Input() total = 0;\r\n @Input() link = '';\r\n @Input() isLoading = false;\r\n\r\n @Input() sort: SortDescriptor | undefined;\r\n @Input() trackById = 'id';\r\n @Input() sortable = true;\r\n @Input() striped = true;\r\n @Input() customClasses = ''\r\n @Input() emptyResultMsg = ''\r\n @Input() hovered = true;\r\n\r\n @Input() autoHeight = true // deprecated\r\n\r\n @Input() headerSettings: HeaderSettings | undefined\r\n\r\n @Input() contentSettings: ContentSettings = {\r\n substrate: false\r\n }\r\n\r\n @Input() paginatorSettings: PaginatorSettings = {\r\n substrate: false\r\n }\r\n\r\n // Проверить и вырезать\r\n public selectedItem = 1\r\n\r\n @Input('pageable')\r\n public set setPageable(value: PagerSettings | boolean) {\r\n if (value === true) {\r\n this.pageable = DefaultPagerSettings;\r\n } else if (value === false) {\r\n this.pageable = null;\r\n } else {\r\n this.pageable = value;\r\n }\r\n }\r\n\r\n @Output() dataStateChanged: EventEmitter<DataStateChangeEvent> =\r\n new EventEmitter<DataStateChangeEvent>();\r\n @Output() downloadData: EventEmitter<Event> = new EventEmitter<Event>()\r\n @Output() changeTypeTable: EventEmitter<TableType> = new EventEmitter<TableType>()\r\n @Output() change: EventEmitter<Event> = new EventEmitter<Event>()\r\n\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.colArray = this.contentChildren.toArray();\r\n\r\n this.colArray.forEach(item => {\r\n if (this.sort && this.sort.col === item.name) {\r\n this.selectedSort = item.name\r\n }\r\n })\r\n\r\n this.colArray = this.colArray.filter(item => {\r\n return item.name !== '' && item.sortLabel\r\n })\r\n\r\n this.changeDetector.detectChanges()\r\n this.init = true\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ TableTypeEnum[this.type] } ${ this.customClasses }`;\r\n }\r\n\r\n trackByFn(index: number, item: any): string {\r\n return item[this.trackById];\r\n }\r\n\r\n public changeSort() {\r\n const newEventData: DataStateChangeEvent = { page: this.currentPage, pageSize: this.pageSize };\r\n\r\n if (!this.colArray.length) {\r\n return\r\n }\r\n\r\n if (this.sort) {\r\n newEventData.sort = {\r\n dir: this.sort.dir === 'desc' ? 'asc' : 'desc',\r\n col: this.sort.col\r\n };\r\n } else {\r\n newEventData.sort = {\r\n dir: 'asc',\r\n col: this.colArray[0].name\r\n };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public columnSortedDir(column: string): string {\r\n if (this.sort && this.sort.col == column && this.sort.dir) {\r\n return this.sort.dir;\r\n }\r\n return '';\r\n }\r\n\r\n public onSortColumn(column: string, sortable: boolean): void {\r\n if (!sortable) {\r\n return;\r\n }\r\n\r\n const newEventData: DataStateChangeEvent = { page: this.currentPage, pageSize: this.pageSize };\r\n\r\n if (this.sort && this.sort.col == column) {\r\n if (this.sort.dir && this.sort.dir === 'asc') {\r\n newEventData.sort = { dir: 'desc', col: column };\r\n }\r\n } else {\r\n newEventData.sort = { dir: 'asc', col: column };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public clickToDownload(event: Event): void {\r\n this.downloadData.emit(event)\r\n }\r\n\r\n public updateSortSelect(value: any): void {\r\n const newEventData: DataStateChangeEvent = {\r\n page: this.currentPage,\r\n pageSize: this.pageSize,\r\n sort: {\r\n col: value.name,\r\n dir: this.sort?.dir\r\n }\r\n };\r\n\r\n this.dataStateChanged.emit(newEventData)\r\n }\r\n\r\n public onDataStatePaginatorChanged(pagination: PaginateOutputObject): void {\r\n const newEventData: DataStateChangeEvent = {\r\n page: pagination.currentPage,\r\n pageSize: pagination.pageSize\r\n };\r\n\r\n if (this.sort && this.sort.col && this.sort.dir) {\r\n newEventData.sort = { dir: this.sort.dir, col: this.sort.col };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public getLinkForStroke(link: string, dataItem: TableBodyItem) {\r\n // регулярки\r\n const regExpParams = /(?<=\\[)[^\\s\\[\\]]+(?=])/gi;\r\n // основной массив\r\n const linkArray = link.split('?')\r\n // массивы строк url и параметров\r\n const arrayUrl = linkArray[0]?.split('/')\r\n const searchParams = linkArray[1]?.split('&')\r\n const searchParamsObj = searchParams?.map((str) => {\r\n const strParamData = str.split('=')[1].match(regExpParams)\r\n return {\r\n name: str.split('=')[0],\r\n data: strParamData ? strParamData[0] : str.split('=')[0],\r\n }\r\n })\r\n // const arrayParams = linkArray[1]?.match(regExpParams)\r\n\r\n // обработка тела url\r\n const strUrl = arrayUrl.map((str) => {\r\n if (str.match(regExpParams)) {\r\n // @ts-ignore\r\n return dataItem[str.match(regExpParams)[0]]\r\n } else {\r\n return str\r\n }\r\n }).join('/')\r\n // обработка параметров\r\n // если есть параметры - возвращаем их строкой с динамическими параметрами\r\n\r\n const strParams = searchParamsObj ? searchParamsObj.map((param, index: number) => {\r\n return `${ index > 0 ? '' : '?' }${ param.name }=${ dataItem[param.data] }`\r\n }).join('&') : ''\r\n\r\n // const strParams = arrayParams ? arrayParams.map((str, index) => {\r\n // return `${index > 0 ? '' : '?'}${str}=${dataItem[str]}`\r\n // }).join('&') : ''\r\n\r\n return `${ strUrl }${ strParams }`\r\n }\r\n\r\n public onChangeTypeTable(type: TableType): void {\r\n this.changeTypeTable.emit(type)\r\n }\r\n\r\n // public getHeightForTD(tableTD: HTMLElement) {\r\n // return tableTD.scrollHeight\r\n // }\r\n}\r\n","<div class=\"mrx-table\" [class]=\"getClasses\" [class.mb-3]=\"pageable\">\r\n <ng-container *ngIf=\"headerSettings\">\r\n <div\r\n class=\"mrx-table-card-header pt-2 pb-2 mb-3\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'default'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-md-6 mb-1 mb-md-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"counterTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-md-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n <div class=\"ml-4\" *ngIf=\"headerSettings.toggle\">\r\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-table-card-header mb-3 pt-2 pb-2\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'second'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-sm-6 mb-1 mb-sm-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-sm-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"downloadTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'default'\"\r\n [class.mrx-table__wrapper--substrate]=\"contentSettings.substrate\">\r\n <table\r\n [class.table-striped]=\"striped\"\r\n [class.table-solid]=\"!striped\"\r\n [class.mt-2]=\"contentSettings.substrate\"\r\n [class.mb-3]=\"contentSettings.substrate && data.length\"\r\n >\r\n <thead [class.table-head-gray]=\"!headerSettings || headerSettings.background\">\r\n <tr>\r\n <th *ngFor=\"let col of contentChildren; let index = index; let first = first; let last = last; trackBy: trackByFn\" [class]=\"col.customClasses\">\r\n <ng-container *ngIf=\"!col.templateHead; else headerItemTemplate\">\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <span>{{ col.label }}</span>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <div><span>{{ col.label }}</span></div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #headerItemTemplate>\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col }\"></ng-container>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <tr *ngFor=\"let dataItem of data; let index = index; let first = first; let last = last\" [class.-hovered]=\"hovered\">\r\n <td\r\n #tableTD\r\n class=\"p-0\"\r\n *ngFor=\"let col of contentChildren\"\r\n [class]=\"col.customClasses\"\r\n >\r\n <a\r\n class=\"link-wrapper td-content-wrapper\"\r\n [href]=\"getLinkForStroke(link, dataItem)\"\r\n *ngIf=\"link && col['isLink']; else defaultTemplate\"\r\n >\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </a>\r\n\r\n <ng-template #defaultTemplate>\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"td-content-wrapper p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <div class=\"td-content-wrapper h-100\">\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class=\"mrx-table__result-message\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\" >\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'cards'\">\r\n <ng-container *ngFor=\"let item of data; let index = index; let first = first; let last = last\">\r\n <ng-container *ngTemplateOutlet=\"templateCard; context: { $implicit: item, index, first, last }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"mrx-table__result-message--substrate\" *ngIf=\"!data.length\" >\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\" >\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"mrx-table__paginator pt-2 pb-2\" [class.mrx-table__paginator--substrate]=\"paginatorSettings.substrate\" *ngIf=\"total\">\r\n <mrx-paginator\r\n *ngIf=\"pageable\"\r\n [total]=\"total\"\r\n [pageSize]=\"pageSize\"\r\n [position]=\"pageable.position\"\r\n [pageSizes]=\"pageable.pageSizes\"\r\n [currentPage]=\"currentPage\"\r\n [withPageSize]=\"pageable.withPageSize\"\r\n (dataStateChanged)=\"onDataStatePaginatorChanged($event)\">\r\n </mrx-paginator>\r\n</div>\r\n\r\n<ng-template #counterTemplate>\r\n <span class=\"d-flex align-items-center\" *ngIf=\"headerSettings?.count\">\r\n {{ total }} {{headerSettings?.countText || 'новостей'}}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #sortTemplate>\r\n <div class=\"d-flex mrx-table-sort\" *ngIf=\"headerSettings?.sort\">\r\n <div class=\"mrx-table-sort-scale\" (click)=\"changeSort()\">\r\n <span class=\"mrx-table-sort-scale__title\">Сортировать по:</span>\r\n <div class=\"mrx-table-sort-scale__icon\">\r\n <span *ngIf=\"sort?.dir === 'desc'\" class=\"mrx-icon icon-sorting-down icon-font-16\"></span>\r\n <span *ngIf=\"sort?.dir === 'asc'\" class=\"mrx-icon icon-sorting-up icon-font-16\"></span>\r\n </div>\r\n </div>\r\n <ng-select\r\n bindLabel=\"sortLabel\"\r\n bindValue=\"name\"\r\n [items]=\"colArray\"\r\n [ngModel]=\"selectedSort\"\r\n (change)=\"updateSortSelect($event)\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n ></ng-select>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #downloadTemplate>\r\n <div class=\"mrx-table-download\" (click)=\"clickToDownload($event)\" *ngIf=\"headerSettings?.download\">\r\n <span class=\"desktop\">Скачать данные</span>\r\n <span class=\"mrx-icon icon-download icon-font-24\"></span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #toggleTemplate>\r\n <div class=\"mrx-table-toggle\">\r\n <div class=\"mrx-table-toggle--item mr-1\" (click)=\"onChangeTypeTable('cards')\" [class.active]=\"type === 'cards'\">\r\n <span class=\"mrx-icon icon-cards-view icon-font-24\"></span>\r\n </div>\r\n <div class=\"mrx-table-toggle--item\" (click)=\"onChangeTypeTable('default')\" [class.active]=\"type === 'default'\">\r\n <span class=\"mrx-icon icon-table-view icon-font-24\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #emptyResultMsgTemplateDefault>\r\n {{emptyResultMsg}}\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './table.component';\r\nimport { PaginatorModule } from '../paginator/paginator.module';\r\nimport { ColumnComponent } from './components/column/column.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LoaderModule } from '../loader/loader.module';\r\nimport { InputSelectModule } from '../form/input-select/input-select.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent,\r\n ColumnComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PaginatorModule,\r\n InputSelectModule,\r\n NgSelectModule,\r\n FormsModule,\r\n LoaderModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n TableComponent,\r\n ColumnComponent\r\n ]\r\n})\r\nexport class TableModule {}\r\n","\r\nexport type TabSize = 'small' | 'medium' | 'large';\r\n\r\nexport enum TabsClasses {\r\n 'small' = 'mrx-tabs-sm',\r\n 'medium' = 'mrx-tabs-md',\r\n 'large' = 'mrx-tabs-lg',\r\n};\r\n\r\nexport type TabTypes = 'default' | 'button';\r\n\r\nexport enum TabsTypesClasses {\r\n 'default' = 'mrx-tabs-default',\r\n 'button' = 'mrx-tabs-button'\r\n};\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport {\r\n TabsClasses,\r\n TabSize, TabsTypesClasses, TabTypes,\r\n} from '../tabs.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tabs-group',\r\n templateUrl: 'tabs-group.component.html',\r\n styleUrls: ['./tabs-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TabsGroupComponent {\r\n\r\n @Input() customClasses = '';\r\n @Input() size: TabSize = 'medium';\r\n @Input() type: TabTypes = 'default';\r\n @Input() isResponsive = false;\r\n\r\n public get tabClasses(): string {\r\n return `${TabsTypesClasses[this.type]} ${TabsClasses[this.size]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-tabs-group\" [class]=\"tabClasses\" [class.responsive]=\"isResponsive\">\r\n <div class=\"mrx-tabs-group-wrapper\">\r\n <ng-content></ng-content>\r\n </div> \r\n</div>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-tab',\r\n templateUrl: 'tab.component.html',\r\n styleUrls: ['./tab.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TabComponent {\r\n @Input() id!: number| string;\r\n @Input() customClasses = '';\r\n @Input() subTitle!: string;\r\n @Input() active!: boolean;\r\n @Input() disabled!: boolean;\r\n\r\n\r\n @Output() onClick: EventEmitter<number| string> = new EventEmitter<number| string>();\r\n\r\n public onTabClick(): void {\r\n this.onClick.emit(this.id);\r\n }\r\n}\r\n","<div class=\"mrx-tab\" [class]=\"customClasses\" [class.active]=\"active\" (click)=\"onTabClick()\">\r\n <ng-content></ng-content>\r\n <span *ngIf=\"subTitle\">{{subTitle}}</span>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabsGroupComponent } from './tabs-group/tabs-group.component';\r\nimport { TabComponent } from './tab/tab.component';\r\n\r\n@NgModule({\r\n declarations: [TabsGroupComponent, TabComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TabsGroupComponent, TabComponent],\r\n})\r\nexport class TabsModule {}\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Directive,\r\n ElementRef, EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges, OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationMetadata, style } from '@angular/animations';\r\nimport { LinkComponent } from '../../link/link.component';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Subscriber, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[mrxTruncateText]',\r\n})\r\nexport class TruncateTextDirective implements OnInit, OnChanges, AfterContentInit, AfterContentChecked, OnDestroy {\r\n private subscribe$!: Subscription\r\n private defaultLineHeight = 20;\r\n private defaultAnimateTime = 150;\r\n private content = ''\r\n private windowWidth = 0\r\n\r\n @Input() count!: number;\r\n @Input() responsiveCount!: [number, number];\r\n @Input() lineHeight!: number;\r\n @Input() isOpen!: boolean;\r\n @Input() truncateButtonRef!: LinkComponent;\r\n\r\n @Output() changeVisibleButton: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private builder: AnimationBuilder,\r\n private renderer: Renderer2,\r\n private breakpointObserver: BreakpointObserver\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.lineHeight) {\r\n this.checkLineHeight();\r\n }\r\n\r\n this.subscribe$ = this.breakpointObserver.observe(['(max-width: 768px)']).subscribe((result: BreakpointState) => {\r\n if (!this.responsiveCount) {\r\n return this.startAnimate(this.showInitial(this.count));\r\n }\r\n\r\n if (result.matches) {\r\n this.count = this.responsiveCount[1]\r\n } else {\r\n this.count = this.responsiveCount[0]\r\n }\r\n\r\n this.startAnimate(this.showInitial(this.responsiveCount[0]));\r\n })\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n const c = this.elementRef.nativeElement.innerHTML;\r\n if (c !== this.content) {\r\n this.content = c;\r\n this.checkTruncateButton();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.content = this.elementRef.nativeElement.innerHTML;\r\n this.checkTruncateButton();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['isOpen'] && !changes['isOpen'].firstChange) {\r\n if (this.isOpen) {\r\n this.startAnimate(this.showIn());\r\n } else {\r\n this.startAnimate(this.showOut());\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribe$.unsubscribe()\r\n }\r\n\r\n private startAnimate(metadata: AnimationMetadata | AnimationMetadata[]): void {\r\n const factory = this.builder.build(metadata);\r\n const player = factory.create(this.elementRef.nativeElement);\r\n\r\n player.play();\r\n }\r\n\r\n private checkLineHeight(): void {\r\n if (this.elementRef.nativeElement.children.length) {\r\n this.lineHeight = parseInt(getComputedStyle(this.elementRef.nativeElement.childNodes[0]).lineHeight) || this.defaultLineHeight;\r\n } else {\r\n this.lineHeight = this.defaultLineHeight;\r\n }\r\n }\r\n\r\n private checkTruncateButton(): void {\r\n setTimeout(() => {\r\n if (this.lineHeight * this.count >= this.elementRef.nativeElement.scrollHeight) {\r\n this.changeVisibleButton.emit(false)\r\n } else {\r\n this.changeVisibleButton.emit(true)\r\n }\r\n });\r\n }\r\n\r\n private showIn(): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', 'inherit');\r\n\r\n return [\r\n style({ maxHeight: this.lineHeight * this.count }),\r\n animate(`${this.defaultAnimateTime}ms ease-in-out`, style({ maxHeight: this.elementRef.nativeElement.scrollHeight })),\r\n ];\r\n }\r\n\r\n private showOut(): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.count);\r\n }, this.defaultAnimateTime);\r\n\r\n return [\r\n style({ '-webkit-line-clamp': 'inherit', maxHeight: '*' }),\r\n animate(`${this.defaultAnimateTime}ms ease-in-out`, style({ maxHeight: this.lineHeight * this.count })),\r\n ];\r\n }\r\n\r\n\r\n private showInitial(count: number): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.count);\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'line-height', `${this.lineHeight}px`);\r\n\r\n return [style({ maxHeight: this.lineHeight * this.count })];\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.checkTruncateButton();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { TruncateCount, TruncateResponsiveCount } from './truncate-text.enum';\r\n\r\n@Component({\r\n selector: 'mrx-truncate-text',\r\n templateUrl: './truncate-text.component.html'\r\n})\r\nexport class TruncateTextComponent {\r\n public isVisibleButton = false\r\n\r\n @Input() count: TruncateCount = 2\r\n @Input() responsiveCount!: TruncateResponsiveCount\r\n @Input() isOpen = false\r\n @Input() lineHeight!: number\r\n\r\n public changeVisibleButton(event: boolean): void {\r\n this.isVisibleButton = event\r\n }\r\n}\r\n","<div\r\n class=\"mrx-truncate-text\"\r\n mrxTruncateText\r\n [class.mb-2]=\"isVisibleButton\"\r\n [count]=\"count\"\r\n [responsiveCount]=\"responsiveCount\"\r\n [isOpen]=\"isOpen\"\r\n [lineHeight]=\"lineHeight\"\r\n (changeVisibleButton)=\"changeVisibleButton($event)\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<mrx-link\r\n *ngIf=\"isVisibleButton\"\r\n type=\"pseudo\"\r\n [prevent]=\"true\"\r\n (click)=\"isOpen = !isOpen\"\r\n>\r\n {{ isOpen ? 'Свернуть' : 'Развернуть' }}\r\n</mrx-link>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncateTextComponent } from './truncate-text.component';\r\nimport { TruncateTextDirective } from './directives/truncate-text.directive';\r\nimport { LinkModule } from '../link/link.module';\r\n\r\n@NgModule({\r\n declarations: [TruncateTextComponent, TruncateTextDirective],\r\n imports: [CommonModule, LinkModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TruncateTextComponent]\r\n})\r\nexport class TruncateTextModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-warning-message',\r\n templateUrl: './warning-message.component.html',\r\n styleUrls: ['warning-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class WarningMessageComponent {\r\n @Input() public message: string | string[] = '';\r\n @Input() public customClasses = '';\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get messageArray(): string[] {\r\n if (typeof this.message === 'string') {\r\n return Array(this.message);\r\n } else {\r\n return this.message;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngFor=\"let messageArrayText of messageArray\"\r\n class=\"mrx-warning-message d-block mt-1\"\r\n [class]=\"getClasses\"\r\n>\r\n {{messageArrayText}}\r\n <ng-content></ng-content>\r\n</span>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WarningMessageComponent } from './warning-message.component';\r\n\r\n@NgModule({\r\n declarations: [WarningMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [WarningMessageComponent],\r\n})\r\nexport class WarningMessageModule { }\r\n","import {\r\n ToolbarItemKey,\r\n ToolbarItemsType,\r\n ToolbarPosition\r\n} from 'mrx-gallery-lib/types/Fancybox/plugins/Toolbar/Toolbar';\r\n\r\nexport const customButtonsDefault: ToolbarItemsType = {\r\n\r\n};\r\n\r\nexport const customToolbarDefault: Record<ToolbarPosition, Array<ToolbarItemKey>> = {\r\n left: ['infobar'],\r\n middle: [],\r\n right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],\r\n}\r\n","import { ThumbsOptionsType } from 'mrx-gallery-lib';\r\n\r\nexport const thumbsConfigDefault: Boolean | Partial<ThumbsOptionsType> = {\r\n type: 'modern',\r\n showOnStart: false,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from \"@ngrx/store\";\r\n\r\ndeclare let $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GalleryService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _store: Store\r\n ) {\r\n }\r\n\r\n rotate(rotatePhotos: any[], url: string): Observable<any> {\r\n return this.http.post<any>(`${url}`, rotatePhotos);\r\n }\r\n\r\n delete(url: string, uuid: string): Observable<any> {\r\n return this.http.delete<any>(`${url}/${uuid}`);\r\n }\r\n\r\n update(url: string, uuid: string, newValue: string): Observable<any> {\r\n return this.http.put<any>(`${url}`, {\r\n uuid: uuid,\r\n description: newValue\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const MODAL_DATA = new InjectionToken<any>('MODAL_DATA');\r\nexport const MODAL_CONFIG = new InjectionToken<any>('MODAL_CONFIG');\r\n","export class ModalServiceComponent<DataInput, DataOutput> {\r\n result!: DataOutput;\r\n}\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { Subject, Observable, filter } from 'rxjs';\r\nimport { ModalConfig } from '../models/modal-config.model';\r\n\r\nexport class ModalRef<T1> {\r\n private afterClosedSubject = new Subject<any>();\r\n\r\n constructor(\r\n private overlayRef: OverlayRef,\r\n private config: ModalConfig\r\n ) {\r\n if (config.closeOnClickOutside) {\r\n this.overlayRef.backdropClick().subscribe(() => {\r\n this.close(undefined);\r\n });\r\n }\r\n\r\n if (config.closeOnEscape) {\r\n this.overlayRef.keydownEvents().pipe(\r\n filter(event => event.key === 'Escape')\r\n ).subscribe(() => {\r\n this.close(undefined);\r\n });\r\n }\r\n }\r\n\r\n public close(result?: T1) {\r\n this.overlayRef.dispose();\r\n this.afterClosedSubject.next(result);\r\n this.afterClosedSubject.complete();\r\n }\r\n\r\n public afterClosed(): Observable<T1> {\r\n return this.afterClosedSubject.asObservable();\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { ModalRef } from '../../../../services/modal-service/helpers/modal-ref';\r\nimport { MODAL_DATA } from '../../../../services/modal-service/helpers/modal-tokens';\r\nimport { ModalServiceComponent } from '../../../../services/modal-service/helpers/modal.component';\r\n\r\nexport interface GalleryConfirmParams {\r\n title: string;\r\n message: string;\r\n}\r\n\r\nexport interface GalleryConfirmResult {\r\n result: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-gallery-confirm-modal',\r\n templateUrl: './gallery-confirm-modal.component.html',\r\n})\r\nexport class GalleryConfirmModalComponent extends ModalServiceComponent<GalleryConfirmParams, GalleryConfirmResult> {\r\n\r\n title!: string;\r\n message!: string;\r\n\r\n constructor(\r\n private dialogRef: ModalRef<GalleryConfirmResult>,\r\n @Inject(MODAL_DATA) data: GalleryConfirmParams,\r\n ) {\r\n super();\r\n this.result = {result: false};\r\n this.title = data.title\r\n this.message = data.message\r\n }\r\n\r\n ok() {\r\n this.result = {result: true};\r\n this.dialogRef.close(this.result);\r\n }\r\n\r\n close() {\r\n this.result = {result: false};\r\n this.dialogRef.close(this.result);\r\n }\r\n}\r\n","<mrx-modal\r\n [title]=\"title\"\r\n (close)=\"close()\"\r\n size=\"small\"\r\n color=\"negative\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <p class=\"text-center\">{{message}}</p>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n color=\"negative\"\r\n (click)=\"close()\"\r\n >Отменить\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n color=\"negative\"\r\n (click)=\"ok()\"\r\n >Удалить\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport type StateType = 'saving' | 'saved' | 'error' | 'stopped'\r\n\r\nexport interface Field {\r\n id: string,\r\n state: StateType,\r\n timerId?: number\r\n}\r\n\r\n@Injectable()\r\nexport class MrxAutosaveService {\r\n\r\n private _fields: Field[] = []\r\n public stoppedTimer!: number\r\n\r\n public addId(id: string) {\r\n const isFind = this._fields.some((field: Field) => field.id === id)\r\n\r\n clearTimeout(this.stoppedTimer)\r\n\r\n if (!isFind) {\r\n this._fields.push({id: id, state: 'stopped'})\r\n }\r\n }\r\n\r\n public start() {\r\n this._fields = this._fields.filter((field: Field) => field.state !== 'saved').map((field: Field) => ({...field, state: 'saving'}))\r\n }\r\n\r\n public success() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'saved'}))\r\n\r\n this.stoppedTimer = setTimeout(() => {\r\n this.stop()\r\n }, 2000)\r\n }\r\n\r\n public stop() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'stopped'}))\r\n\r\n setTimeout(() => {\r\n this._fields.length = 0\r\n })\r\n }\r\n\r\n public error() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'error'}))\r\n\r\n this.stoppedTimer = setTimeout(() => {\r\n this.stop()\r\n }, 2000)\r\n }\r\n\r\n public get fields() {\r\n return this._fields\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { UploadedResultModel } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n upload(url: string, file: FormData): Observable<HttpEvent<UploadedResultModel>> {\r\n return this.http.post<UploadedResultModel>(url, file, {\r\n reportProgress: true,\r\n observe: 'events'\r\n });\r\n }\r\n\r\n delete(url: string): Observable<UploadedResultModel> {\r\n return this.http.delete<UploadedResultModel>(url);\r\n }\r\n}\r\n","export enum ValidationTypesEnum {\r\n Required = 'required',\r\n MaxLength = 'maxLength',\r\n MinLength = 'minLength',\r\n Email = 'email',\r\n Pattern = 'pattern',\r\n MaxValue = 'maxValue',\r\n MinValue = 'minValue',\r\n Callback = 'callback'\r\n}\r\n\r\nexport enum ValidationOptionsEnum {\r\n Type = 'type',\r\n Messages = 'messages'\r\n}\r\n\r\nexport type ValidationsTypes = ValidationTypesEnum | ValidationOptionsEnum\r\n\r\nexport enum ValidationMethodsEnum {\r\n Submit = 'submit',\r\n Input = 'input'\r\n}\r\n\r\n","import { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { IMessages } from '../models/validations-options.model';\r\n\r\nexport const getErrorMessageHelper = (\r\n key: ValidationTypesEnum, \r\n invalidMessages: IMessages, \r\n messages: IMessages | undefined, \r\n params?: any\r\n): string => {\r\n const message = messages?.[key] ? messages[key] : invalidMessages[key];\r\n\r\n if (typeof message === 'function') {\r\n return message(params);\r\n } else {\r\n return message;\r\n }\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const requiredValidation = (\r\n value: string | string[],\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (Array.isArray(value) && validations.type !== 'single' && validations[key]) {\r\n\r\n value.forEach((field, idx) => {\r\n if ((field === '' || field === null || field === undefined)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages);\r\n result.isValid = false;\r\n }\r\n });\r\n\r\n } else if (Array.isArray(value) && validations.type === 'single' && value.length === 0 && validations[key]) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages);\r\n result.isValid = false;\r\n\r\n } else if ((String(value) === '' || String(value) === 'false' || value === null || value === undefined || String(value) === '<p><br></p>') && validations[key]) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages);\r\n result.isValid = false;\r\n\r\n }\r\n\r\n return result;\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const emailValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const emailRegExp = /^[a-zA-Z0-9._а-яА-Я-]+@[a-zA-Zа-яА-Я0-9.-]+\\.[a-zA-Zа-яА-Я]{2,10}$/\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (value && !emailRegExp.test(value)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const patternValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const validation = new RegExp(validations[key] as RegExp)\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (value && !validation.test(value)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const maxLengthValidation = (\r\n value: string | string[],\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (Array.isArray(value) && validations.type === 'single' && value.length > Number(validations[key])) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n\r\n } else if (!Array.isArray(value) && String(value).length > Number(validations[key])) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const minLengthValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (Array.isArray(value) && validations.type === 'single' && value.length < Number(validations[key])) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n\r\n } else if (!Array.isArray(value) && String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const minValueValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (parseInt(value) < Number(validations[key])) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const maxValueValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (parseInt(value) > Number(validations[key])) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType, ValidationTypesEnum } from '../models';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const callbackValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): { isValid: boolean, message: string | null } => {\r\n\r\n const result: { isValid: boolean, message: string | null } = {isValid: true, message: null};\r\n\r\n if (validations[ValidationTypesEnum.Callback] && typeof validations[ValidationTypesEnum.Callback] === 'function') {\r\n const validation = validations[ValidationTypesEnum.Callback] as Function\r\n const callbackResult = validation(value)\r\n\r\n if (callbackResult !== true) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages || {callback: callbackResult})\r\n result.isValid = false;\r\n }\r\n }\r\n\r\n return result\r\n};\r\n","export const INVALID_MESSAGES = {\r\n required: () => 'Поле обязательно для заполнения',\r\n maxLength: (length: number) => `Максимальное кол-во символов ${length}`,\r\n minLength: (length: number) => `Минимальное кол-во символов ${length}`,\r\n maxValue: (value: number) => `Максимальное значение ${value}`,\r\n minValue: (value: number) => `Минимальное значение ${value}`,\r\n email: () => 'Указан некорректный адрес электронной почты',\r\n pattern: () => 'Указано некорректное значение',\r\n}\r\n","import { ValidationOptionsEnum, ValidationTypesEnum, ValidationsType } from '../models';\r\n\r\nexport const getSortingValidationsHelper = (validation: ValidationsType): ValidationsType => {\r\n const sortedValidatorsConstant = [\r\n ValidationTypesEnum.MaxValue,\r\n ValidationTypesEnum.MinValue,\r\n ValidationTypesEnum.MaxLength,\r\n ValidationTypesEnum.MinLength,\r\n ValidationTypesEnum.Email,\r\n ValidationTypesEnum.Required,\r\n ValidationTypesEnum.Pattern,\r\n ValidationTypesEnum.Callback,\r\n ValidationOptionsEnum.Type,\r\n ValidationOptionsEnum.Messages\r\n ]\r\n const sortedValidators: any = {}\r\n\r\n for (let key of sortedValidatorsConstant) {\r\n if (validation.hasOwnProperty(key)) {\r\n sortedValidators[key] = validation[key]\r\n } else {\r\n if (key === 'type') {\r\n validation.type = 'single'\r\n sortedValidators.type = 'single'\r\n }\r\n }\r\n }\r\n\r\n return sortedValidators\r\n}\r\n","import { cloneDeep } from 'lodash-es';\r\nimport { IFields, IFieldsError, IMessages, IValidations, ValidationsType } from './models';\r\nimport { FormValidatorOptions } from './models';\r\nimport { ValidationMethodsEnum, ValidationTypesEnum } from './models';\r\nimport { requiredValidation } from './validations/required.validation';\r\nimport { emailValidation } from './validations/email.validation';\r\nimport { patternValidation } from './validations/pattern.validation';\r\nimport { maxLengthValidation } from './validations/max-length.validation';\r\nimport { minLengthValidation } from './validations/min-length.validation';\r\nimport { minValueValidation } from './validations/min-value.validation';\r\nimport { maxValueValidation } from './validations/max-value.validation';\r\nimport { callbackValidation } from './validations/callback.validation';\r\nimport { INVALID_MESSAGES } from './constants/invalid-messages';\r\nimport { getSortingValidationsHelper } from './helpers/get-sorting-validations.helper';\r\n\r\nexport class MrxFormValidator {\r\n private _fields: any = [];\r\n private _validations: IValidations = {};\r\n private _errors: IFieldsError = {};\r\n private _isValid = true;\r\n private _isInit = false;\r\n private _modelClone: IFields = {};\r\n\r\n private _method = 'submit';\r\n private _invalidMessages: IMessages = INVALID_MESSAGES;\r\n\r\n constructor(options?: FormValidatorOptions) {\r\n if (options?.method) {\r\n this._method = options.method;\r\n }\r\n\r\n if (options?.messages) {\r\n this._invalidMessages = {...this._invalidMessages, ...options.messages};\r\n }\r\n }\r\n\r\n public get errors() {\r\n return this._errors;\r\n }\r\n\r\n private set fields(fields: any) {\r\n this._fields = Object.assign({}, fields);\r\n }\r\n\r\n private getNamesUpdatedProperties(oldModel: any, newModel: any): string[] {\r\n const namesUpdatedProperties = [];\r\n\r\n for (let key in newModel) {\r\n switch (true) {\r\n case Array.isArray(newModel[key]):\r\n if (JSON.stringify(newModel[key]) !== JSON.stringify(oldModel[key])) {\r\n namesUpdatedProperties.push(key);\r\n }\r\n break;\r\n default:\r\n if (newModel[key] !== oldModel[key]) {\r\n namesUpdatedProperties.push(key);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return namesUpdatedProperties;\r\n }\r\n\r\n private validateField(\r\n value: string,\r\n name: string,\r\n validations: ValidationsType,\r\n validateEmptyValue: boolean = false,\r\n silent: boolean = false\r\n ): void {\r\n if (!validateEmptyValue && (value.length === 0)) {\r\n return;\r\n }\r\n\r\n for (let key in validations) {\r\n switch (key) {\r\n case ValidationTypesEnum.Required:\r\n const requiredRes = requiredValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = requiredRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = requiredRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.Email:\r\n const emailRes = emailValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = emailRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = emailRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.Pattern:\r\n const patternRes = patternValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = patternRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = patternRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.MinLength:\r\n const minLengthRes = minLengthValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = minLengthRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = minLengthRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.MaxLength:\r\n const maxLengthRes = maxLengthValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = maxLengthRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = maxLengthRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.MinValue:\r\n const minValueRes = minValueValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = minValueRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = minValueRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.MaxValue:\r\n const maxValueRes = maxValueValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = maxValueRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = maxValueRes.message;\r\n }\r\n\r\n break;\r\n case ValidationTypesEnum.Callback:\r\n const callbackRes = callbackValidation(\r\n value, validations, key, this._invalidMessages\r\n );\r\n\r\n this._isValid = callbackRes.isValid;\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = callbackRes.message;\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n private _checkErrors(errors: IFieldsError): boolean {\r\n let isValid = true;\r\n\r\n for (let error in errors) {\r\n if (!!errors[error]) {\r\n isValid = !errors[error];\r\n break;\r\n }\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n public initFields(fields: IFields, validations: IValidations): void {\r\n this.fields = cloneDeep(fields);\r\n this._validations = validations;\r\n this._modelClone = cloneDeep(fields);\r\n\r\n for (let key in this._errors) {\r\n if (!fields.hasOwnProperty(key)) {\r\n delete this._errors[key]\r\n }\r\n }\r\n\r\n for (let key in validations) {\r\n this._validations[key] = getSortingValidationsHelper(validations[key]);\r\n this.errors[key] = null;\r\n }\r\n\r\n this._isInit = true;\r\n }\r\n\r\n public initModelChanged(fields: IFields): void {\r\n if (this._isInit) {\r\n this._isValid = true;\r\n this._modelClone = cloneDeep(fields);\r\n\r\n this.getNamesUpdatedProperties(this._fields, fields).forEach((name: string) => {\r\n this._errors[name] = null;\r\n\r\n if (this._method === ValidationMethodsEnum.Input) {\r\n this.validateField(fields[name], name, this._validations[name], true);\r\n }\r\n });\r\n }\r\n\r\n this.fields = cloneDeep(fields);\r\n }\r\n\r\n public initFieldChanged(fields: IFields, fieldName: string): void {\r\n if (this._isInit) {\r\n this._isValid = true;\r\n\r\n if (fields.hasOwnProperty(fieldName)) {\r\n this._modelClone[fieldName] = fields[fieldName];\r\n }\r\n\r\n this._errors[fieldName] = null;\r\n this.validateField(this._modelClone[fieldName], fieldName, this._validations[fieldName], false);\r\n }\r\n }\r\n\r\n public isValid(): boolean {\r\n for (let key in this._validations) {\r\n this.errors[key] = null;\r\n this.validateField(this._fields[key], key, this._validations[key], true);\r\n }\r\n\r\n return this._checkErrors(this.errors);\r\n }\r\n\r\n // TODO Вырезать в будущем\r\n public initModelChangedFromField(field: any, fieldName: string): void {\r\n if (this._isInit) {\r\n this._isValid = true;\r\n this._modelClone[fieldName] = field;\r\n\r\n this.getNamesUpdatedProperties(this._fields, this._modelClone).forEach((name: string) => {\r\n this._errors[name] = null;\r\n\r\n if (this._method === ValidationMethodsEnum.Input) {\r\n this.validateField(this._modelClone[name], name, this._validations[name], true);\r\n }\r\n });\r\n }\r\n\r\n this.fields = this._modelClone;\r\n }\r\n\r\n // TODO Вырезать в будущем\r\n public isHiddenValid(): boolean {\r\n this._isValid = true;\r\n\r\n for (let key in this._validations) {\r\n this.validateField(this._fields[key], key, this._validations[key], true, true);\r\n }\r\n\r\n return this._isValid;\r\n }\r\n}\r\n","export const SAVE_STATE_MODULE_NAME = 'MrxAutoSaveModule';\r\n","export type StateType = 'saving' | 'saved' | 'error' | 'stopped'\r\n\r\nexport interface Field {\r\n id: string;\r\n state: StateType;\r\n timerId?: number;\r\n groupId?: string | null;\r\n}\r\n\r\nexport interface MrxAutoSaveState {\r\n fields: Field[],\r\n}\r\n\r\nexport const initialMrxAutoSaveState: MrxAutoSaveState = {\r\n fields: [],\r\n};\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { SaveStoreModel } from '../models/save-store.model';\r\n\r\nexport enum MrxAutoSaveActionsEnum {\r\n AutosaveAddId = '[Mrx Auto Save] Autosave Add Id',\r\n AutosaveStart = '[Mrx Auto Save] Autosave Start',\r\n AutosaveStartFor = '[Mrx Auto Save] Autosave Start For',\r\n AutosaveStop = '[Mrx Auto Save] Autosave Stop',\r\n AutosaveStopFor = '[Mrx Auto Save] Autosave Stop For',\r\n AutosaveSuccess = '[Mrx Auto Save] Autosave Success',\r\n AutosaveSuccessFor = '[Mrx Auto Save] Autosave Success For',\r\n AutosaveError = '[Mrx Auto Save] Autosave Error',\r\n AutosaveErrorFor = '[Mrx Auto Save] Autosave Error For',\r\n}\r\n\r\nexport const autosaveAddId = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveAddId,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveStart = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStart\r\n);\r\n\r\nexport const autosaveStartFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStartFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveStop = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStop\r\n);\r\n\r\nexport const autosaveStopFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStopFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveSuccess = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveSuccess\r\n);\r\n\r\nexport const autosaveSuccessFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveSuccessFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveError = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveError\r\n);\r\n\r\nexport const autosaveErrorFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveErrorFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\n","import { Field, initialMrxAutoSaveState, MrxAutoSaveState, StateType } from './state';\r\nimport { Action, createReducer, on } from '@ngrx/store';\r\nimport * as MrxAutoSaveActions from './actions';\r\nimport { cloneDeep } from 'lodash-es';\r\n\r\nconst reducerCreator = createReducer(\r\n initialMrxAutoSaveState,\r\n on(MrxAutoSaveActions.autosaveAddId, (state, {id, groupId = null}) => {\r\n const isFind = state.fields.some((field) => field.id === id);\r\n\r\n if (!isFind) {\r\n const field: Field = {id: id, state: 'stopped', groupId: groupId};\r\n return {...state, fields: [...state.fields, field]};\r\n } else {\r\n return {...state};\r\n }\r\n }),\r\n on(MrxAutoSaveActions.autosaveStart, (state) => {\r\n return {\r\n ...state, fields: state.fields.map((f: Field) => {\r\n f.state = 'saving';\r\n return {...f};\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveStartFor, (state, {id, groupId = null}) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'saving';\r\n } else if (f.id === id) {\r\n f.state = 'saving';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveSuccess, (state) => {\r\n return {\r\n ...state, fields: [...state.fields].map(f => {\r\n f.state = 'saved'\r\n return {...f};\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveSuccessFor, (state, {id, groupId = null}) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'saved';\r\n } else if (f.id === id) {\r\n f.state = 'saved';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveError, (state) => {\r\n return {\r\n ...state, fields: state.fields.map((f: Field) => {\r\n f.state = 'error';\r\n return {...f};\r\n })\r\n };\r\n }),\r\n // on(MrxAutoSaveActions.autosaveError, (state) => {\r\n // return { ...state, fields: [...state.fields].map(f => ({ ...f, state: 'error' })) };\r\n // }),\r\n on(MrxAutoSaveActions.autosaveErrorFor, (state, {id, groupId = null}) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'error';\r\n } else if (f.id === id) {\r\n f.state = 'error';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveStop, (state) => {\r\n return {...state, fields: []};\r\n }),\r\n on(MrxAutoSaveActions.autosaveStopFor, (state, {id, groupId = null}) => {\r\n return {\r\n ...state,\r\n fields: state.fields.filter((f) => {\r\n if (groupId) {\r\n return f.groupId !== groupId;\r\n } else {\r\n return f.id !== id;\r\n }\r\n })\r\n };\r\n }),\r\n);\r\n\r\nexport function mrxAutoSaveStateReducer(state: MrxAutoSaveState | undefined, action: Action) {\r\n return reducerCreator(state, action);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport {\r\n autosaveStop,\r\n autosaveStopFor,\r\n MrxAutoSaveActionsEnum,\r\n} from './actions';\r\nimport { map, switchMap, mergeMap } from 'rxjs/operators';\r\nimport { timer } from 'rxjs';\r\nimport { SaveStoreModel } from '../models/save-store.model';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MrxAutoSaveEffects {\r\n\r\n // autosaveSuccess$ = createEffect(\r\n // () => this._actions$.pipe(\r\n // ofType(MrxAutoSaveActionsEnum.AutosaveSuccess),\r\n // switchMap(() => timer(1500)\r\n // .pipe(\r\n // map(() => {\r\n // return autosaveStop()\r\n // })\r\n // )\r\n // ))\r\n // );\r\n //\r\n // autosaveSuccessFor$ = createEffect(\r\n // () => this._actions$.pipe(\r\n // ofType(MrxAutoSaveActionsEnum.AutosaveSuccessFor),\r\n // mergeMap((action: SaveStoreModel) => timer(1500)\r\n // .pipe(\r\n // map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))\r\n // )\r\n // ))\r\n // );\r\n //\r\n // autosaveError$ = createEffect(\r\n // () => this._actions$.pipe(\r\n // ofType(MrxAutoSaveActionsEnum.AutosaveError),\r\n // switchMap(() => timer(1500)\r\n // .pipe(\r\n // map(() => autosaveStop())\r\n // )\r\n // )\r\n // )\r\n // );\r\n //\r\n // autosaveErrorFor$ = createEffect(\r\n // () => this._actions$.pipe(\r\n // ofType(MrxAutoSaveActionsEnum.AutosaveErrorFor),\r\n // mergeMap((action: SaveStoreModel) => timer(1500)\r\n // .pipe(\r\n // map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))\r\n // )\r\n // ))\r\n // );\r\n\r\n constructor( private _actions$: Actions, private _store: Store) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { SAVE_STATE_MODULE_NAME } from './constants/constants';\r\nimport { mrxAutoSaveStateReducer } from './store/reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { MrxAutoSaveEffects } from './store/effect';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n StoreModule.forFeature(SAVE_STATE_MODULE_NAME, mrxAutoSaveStateReducer),\r\n EffectsModule.forFeature([MrxAutoSaveEffects])\r\n ]\r\n})\r\nexport class SaveStoreModule { }\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { SAVE_STATE_MODULE_NAME } from '../constants/constants';\r\nimport { MrxAutoSaveState } from './state';\r\n\r\nexport const selectMrxAutoSaveState = createFeatureSelector<MrxAutoSaveState>(SAVE_STATE_MODULE_NAME);\r\n\r\nexport const selectFields = createSelector(\r\n selectMrxAutoSaveState,\r\n (state: MrxAutoSaveState) => state.fields\r\n);\r\n","import { Component, Inject } from '@angular/core';\r\nimport { ModalServiceComponent } from '../../helpers/modal.component';\r\nimport { ModalRef } from '../../helpers/modal-ref';\r\nimport { MODAL_CONFIG, MODAL_DATA } from '../../helpers/modal-tokens';\r\nimport { ModalModule } from '../../../../components/modal/modal.module';\r\nimport { ModalCustomConfig } from '../../models/modal-config.model';\r\nimport { ButtonModule } from '../../../../components/button/button.module';\r\n\r\nexport interface DefaultAlertModalParams {\r\n title: string;\r\n message: string;\r\n}\r\n\r\nexport type DefaultAlertModalResult = boolean | undefined\r\n\r\n@Component({\r\n selector: 'mrx-default-alert-modal',\r\n standalone: true,\r\n imports: [\r\n ModalModule,\r\n ButtonModule\r\n ],\r\n templateUrl: './alert-modal.component.html',\r\n styleUrl: './alert-modal.component.less'\r\n})\r\nexport class AlertModalComponent extends ModalServiceComponent<DefaultAlertModalParams, DefaultAlertModalResult> {\r\n model!: DefaultAlertModalParams;\r\n\r\n constructor(\r\n private dialogRef: ModalRef<DefaultAlertModalResult>,\r\n @Inject(MODAL_DATA) data: DefaultAlertModalParams,\r\n @Inject(MODAL_CONFIG) public config: ModalCustomConfig,\r\n ) {\r\n super();\r\n this.model = data;\r\n this.result = this.config.defaultValue || undefined\r\n }\r\n\r\n public ok() {\r\n this.result = true\r\n this.dialogRef.close(this.result);\r\n }\r\n\r\n public close() {\r\n this.dialogRef.close(this.result);\r\n }\r\n}\r\n","<mrx-modal\r\n [customClasses]=\"config.customClasses || ''\"\r\n [title]=\"model.title\"\r\n [message]=\"model.message\"\r\n [color]=\"config.color || 'default'\"\r\n size=\"small\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [color]=\"config.color || 'default'\"\r\n (click)=\"ok()\"\r\n >\r\n {{ config.okText || 'Ок' }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n","import { Component, Inject } from '@angular/core';\r\nimport { ModalRef } from '../../helpers/modal-ref';\r\nimport { MODAL_CONFIG, MODAL_DATA } from '../../helpers/modal-tokens';\r\nimport { ModalCustomConfig } from '../../models/modal-config.model';\r\nimport { ModalServiceComponent } from '../../helpers/modal.component';\r\nimport { ButtonModule } from '../../../../components/button/button.module';\r\nimport { ModalModule } from '../../../../components/modal/modal.module';\r\n\r\nexport interface DefaultConfirmModalParams {\r\n title: string;\r\n message: string;\r\n}\r\n\r\nexport type DefaultConfirmModalResult = boolean | undefined\r\n\r\n@Component({\r\n selector: 'mrx-confirm-modal',\r\n standalone: true,\r\n imports: [\r\n ButtonModule,\r\n ModalModule\r\n ],\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrl: './confirm-modal.component.less'\r\n})\r\nexport class ConfirmModalComponent extends ModalServiceComponent<DefaultConfirmModalParams, DefaultConfirmModalResult> {\r\n model!: DefaultConfirmModalParams\r\n constructor(\r\n private dialogRef: ModalRef<DefaultConfirmModalResult>,\r\n @Inject(MODAL_DATA) data: DefaultConfirmModalParams,\r\n @Inject(MODAL_CONFIG) public config: ModalCustomConfig,\r\n ) {\r\n super();\r\n this.model = data\r\n this.result = this.config.defaultValue || undefined;\r\n }\r\n\r\n public ok() {\r\n this.result = true\r\n this.dialogRef.close(this.result)\r\n }\r\n\r\n cancel() {\r\n this.result = false\r\n this.dialogRef.close(this.result)\r\n }\r\n\r\n public close() {\r\n this.dialogRef.close(this.result)\r\n }\r\n}\r\n","<mrx-modal\r\n [customClasses]=\"config.customClasses || ''\"\r\n [title]=\"model.title\"\r\n [message]=\"model.message\"\r\n [color]=\"config.color || 'default'\"\r\n size=\"small\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n [color]=\"config.color || 'default'\"\r\n (click)=\"cancel()\"\r\n >\r\n {{ config.cancelText || 'Отмена' }}\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [color]=\"config.color || 'default'\"\r\n (click)=\"ok()\"\r\n >\r\n {{ config.okText || 'Сохранить' }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AlertModalComponent } from './components/alert-modal/alert-modal.component';\r\nimport { ConfirmModalComponent } from './components/confirm-modal/confirm-modal.component';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AlertModalComponent,\r\n ConfirmModalComponent\r\n ]\r\n})\r\nexport class ModalServiceModule { }\r\n","import { ModalConfig, ModalCustomConfig } from '../models/modal-config.model';\r\n\r\nexport const defaultConfig: ModalConfig = {\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n panelClass: [],\r\n hasBackdrop: true\r\n};\r\n\r\nexport const defaultCustomConfig: ModalCustomConfig = {\r\n color: 'default',\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n panelClass: [],\r\n hasBackdrop: true\r\n};\r\n","import { Injectable, Injector, Type } from '@angular/core';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { ModalRef } from './helpers/modal-ref';\r\nimport { MODAL_CONFIG, MODAL_DATA } from './helpers/modal-tokens';\r\nimport { defaultConfig, defaultCustomConfig } from './helpers/modal-default-config';\r\nimport { ModalServiceComponent } from './helpers/modal.component';\r\nimport {\r\n AlertModalComponent,\r\n DefaultAlertModalParams,\r\n DefaultAlertModalResult\r\n} from './components/alert-modal/alert-modal.component';\r\nimport { ModalConfig, ModalCustomConfig } from './models/modal-config.model';\r\nimport {\r\n ConfirmModalComponent,\r\n DefaultConfirmModalParams,\r\n DefaultConfirmModalResult\r\n} from './components/confirm-modal/confirm-modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n constructor(private overlay: Overlay, private injector: Injector) {}\r\n\r\n open<T, T1>(component: Type<ModalServiceComponent<T, T1>>, data: T, config: ModalConfig = defaultConfig): ModalRef<T1> {\r\n return this.createModal(component, data, config);\r\n }\r\n\r\n openAlert(data: DefaultAlertModalParams, config: ModalCustomConfig = defaultCustomConfig): ModalRef<DefaultAlertModalResult> {\r\n return this.createDefaultModal<DefaultAlertModalParams, DefaultAlertModalResult>(AlertModalComponent, data, config);\r\n }\r\n\r\n openConfirm(data: DefaultConfirmModalParams, config: ModalCustomConfig = defaultCustomConfig): ModalRef<DefaultConfirmModalResult> {\r\n return this.createDefaultModal<DefaultConfirmModalParams, DefaultConfirmModalResult>(ConfirmModalComponent, data, config);\r\n }\r\n\r\n createModal<T, T1>(component: Type<ModalServiceComponent<T, T1>>, data: T, config: ModalConfig): ModalRef<T1> {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n\r\n const overlayRef = this.overlay.create({\r\n positionStrategy,\r\n hasBackdrop: true,\r\n backdropClass: 'mrx-modal',\r\n panelClass: 'mrx-modal'\r\n });\r\n\r\n const dialogRef = new ModalRef<T1>(overlayRef, config);\r\n\r\n const injector = Injector.create({\r\n parent: this.injector,\r\n providers: [\r\n {provide: ModalRef<T1>, useValue: dialogRef},\r\n {provide: MODAL_DATA, useValue: data},\r\n ],\r\n });\r\n\r\n const portal = new ComponentPortal(component, null, injector);\r\n\r\n overlayRef.attach(portal);\r\n\r\n return dialogRef;\r\n }\r\n\r\n createDefaultModal<T, T1>(component: Type<ModalServiceComponent<T, T1>>, data: T, config: ModalCustomConfig): ModalRef<T1> {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n\r\n const overlayRef = this.overlay.create({\r\n positionStrategy,\r\n hasBackdrop: true,\r\n backdropClass: 'mrx-modal',\r\n panelClass: 'mrx-modal'\r\n });\r\n\r\n const dialogRef = new ModalRef<T1>(overlayRef, config);\r\n\r\n const injector = Injector.create({\r\n parent: this.injector,\r\n providers: [\r\n {provide: ModalRef<T1>, useValue: dialogRef},\r\n {provide: MODAL_DATA, useValue: data},\r\n {provide: MODAL_CONFIG, useValue: config},\r\n ],\r\n });\r\n\r\n const portal = new ComponentPortal(component, null, injector);\r\n\r\n overlayRef.attach(portal);\r\n\r\n return dialogRef;\r\n }\r\n}\r\n","export enum ToasterType {\r\n Info = 'info',\r\n Positive = 'positive',\r\n Negative = 'negative',\r\n Attention = 'attention'\r\n}\r\n\r\nexport enum ToasterPosition {\r\n TopRight = 'toast-top-right',\r\n BottomRight = 'toast-bottom-right',\r\n TopLeft = 'toast-top-left',\r\n BottomLeft = 'toast-bottom-left'\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport { Toast, ToastPackage, ToastrService } from 'ngx-toastr';\r\nimport { ToasterType } from '../../models/toaster.model';\r\n\r\n\r\n@Component({\r\n selector: 'mrx-toaster',\r\n templateUrl: './toaster.component.html',\r\n styleUrl: './toaster.component.less'\r\n})\r\nexport class ToasterComponent extends Toast {\r\n\r\n public ToasterType = ToasterType\r\n constructor(\r\n protected override toastrService: ToastrService,\r\n public override toastPackage: ToastPackage,\r\n ) {\r\n super(toastrService, toastPackage);\r\n }\r\n\r\n action(event: Event) {\r\n event.stopPropagation();\r\n this.toastPackage.triggerAction();\r\n return false;\r\n }\r\n}\r\n","<div class=\"mrx-toaster__type-icon\">\r\n <ng-container [ngSwitch]=\"options.payload.colorType\">\r\n <ng-container *ngSwitchCase=\"ToasterType.Positive\">\r\n <span class=\"mrx-icon icon-check color-positive icon-font-16\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ToasterType.Negative\">\r\n <span class=\"mrx-icon icon-close color-negative icon-font-16\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"ToasterType.Attention\">\r\n <span class=\"mrx-icon icon-attention color-attention icon-font-16\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span class=\"mrx-icon icon-info color-info icon-font-16\"></span>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"mrx-toaster__content\">\r\n <div class=\"mrx-toaster__title\">{{ title }}</div>\r\n <div\r\n *ngIf=\"message && options.enableHtml\"\r\n class=\"mrx-toaster__text\"\r\n [class]=\"options.messageClass\"\r\n [innerHTML]=\"message | safe\"\r\n ></div>\r\n\r\n <div\r\n *ngIf=\"message && !options.enableHtml\"\r\n class=\"mrx-toaster__text\"\r\n >{{ message }}</div>\r\n</div>\r\n\r\n<span\r\n *ngIf=\"options.closeButton\"\r\n (click)=\"remove()\"\r\n class=\"mrx-icon icon-close icon-font-16 mrx-toaster__close\"\r\n></span>\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ToasterPosition, ToasterType } from './models/toaster.model';\r\nimport { IndividualConfig } from 'ngx-toastr/toastr/toastr-config';\r\nimport { ToasterComponent } from './components/toaster/toaster.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToasterService {\r\n\r\n constructor(\r\n private _toasterService: ToastrService\r\n ) {}\r\n\r\n show(data: {title?: string, message?: string, type?: ToasterType}, customConfig?: Partial<IndividualConfig>) {\r\n const toastConfig: Partial<IndividualConfig> = {\r\n toastComponent: ToasterComponent,\r\n closeButton: true,\r\n positionClass: ToasterPosition.BottomRight,\r\n enableHtml: false,\r\n timeOut: 5000,\r\n disableTimeOut: false,\r\n payload: {\r\n colorType: data.type || ToasterType.Info\r\n }\r\n };\r\n\r\n if (customConfig) {\r\n for (let key in customConfig) {\r\n if (customConfig.hasOwnProperty(key)) {\r\n toastConfig[key as keyof Partial<IndividualConfig>] = customConfig[key as keyof Partial<IndividualConfig>]\r\n }\r\n }\r\n }\r\n\r\n switch (data.type) {\r\n case ToasterType.Positive:\r\n this._toasterService.success(data.message, data.title, toastConfig);\r\n break;\r\n case ToasterType.Negative:\r\n this._toasterService.error(data.message, data.title, toastConfig);\r\n break;\r\n case ToasterType.Attention:\r\n this._toasterService.warning(data.message, data.title, toastConfig);\r\n break;\r\n default:\r\n this._toasterService.info(data.message, data.title, toastConfig);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\nimport { ToasterService } from './toaster-service.service';\r\nimport { ToasterComponent } from './components/toaster/toaster.component';\r\nimport { SafeModule } from '../../pipes/safe/safe.module';\r\n\r\n@NgModule({\r\n declarations: [ToasterComponent],\r\n imports: [\r\n CommonModule,\r\n ToastrModule.forRoot({\r\n iconClasses: {\r\n error: 'mrx-toaster-negative',\r\n info: 'mrx-toaster-info',\r\n success: 'mrx-toaster-positive',\r\n warning: 'mrx-toaster-attention',\r\n },\r\n autoDismiss: true,\r\n toastClass: 'mrx-toaster'\r\n }),\r\n SafeModule\r\n ],\r\n providers: [\r\n ToastrService,\r\n ToasterService\r\n ]\r\n})\r\nexport class ToasterServiceModule { }\r\n","export enum InputTextareaSizesEnum {\r\n 'small' = 'mrx-input-sm',\r\n 'medium' = 'mrx-input-md',\r\n 'large' = 'mrx-input-lg',\r\n}\r\n\r\nexport type InputTextareaSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTextareaValueTypes = string;\r\n\r\nexport interface InputTextareaValueWithId {\r\n value: InputTextareaValueTypes,\r\n id: string\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-chars-left',\r\n templateUrl: './chars-left.component.html',\r\n styleUrls: ['./chars-left.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CharsLeftComponent {\r\n @Input() public maxlength = 0;\r\n @Input() public valueLength = 0;\r\n @Input() public value = '';\r\n\r\n public get getValueLength(): number {\r\n return this.value ? this.value.length : this.valueLength\r\n }\r\n}\r\n","<div *ngIf=\"maxlength\" class=\"input-counter maxlength-feedback mrx-chars\">\r\n {{getValueLength}}/{{ maxlength }}\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Renderer2\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxAutosize]'\r\n})\r\nexport class AutosizeDirective implements AfterViewInit, DoCheck {\r\n @HostBinding('style.overflow')\r\n public overflow = 'hidden';\r\n\r\n @Input()\r\n @HostBinding('rows')\r\n public rows = 1;\r\n\r\n @Input()\r\n public autosize = true;\r\n\r\n constructor(private elem: ElementRef, private renderer: Renderer2) {}\r\n\r\n public ngAfterViewInit() {\r\n this.resize();\r\n }\r\n\r\n public ngDoCheck() {\r\n this.resize();\r\n }\r\n\r\n @HostListener('input')\r\n private resize() {\r\n if (!this.autosize) {\r\n this.overflow = 'auto'\r\n return\r\n }\r\n\r\n const textarea = this.elem.nativeElement as HTMLTextAreaElement;\r\n // Calculate border height which is not included in scrollHeight\r\n const borderHeight = textarea.offsetHeight - textarea.clientHeight;\r\n // Reset textarea height to auto that correctly calculate the new height\r\n this.setHeight('auto');\r\n // Set new height\r\n this.setHeight(`${textarea.scrollHeight + borderHeight}px`);\r\n }\r\n\r\n private setHeight(value: string) {\r\n this.renderer.setStyle(this.elem.nativeElement, 'height', value);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked, ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputTextareaSizesEnum,\r\n InputTextareaSizesTypes,\r\n InputTextareaValueTypes, InputTextareaValueWithId\r\n} from './input-textarea.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-input-textarea',\r\n templateUrl: './input-textarea.component.html',\r\n styleUrls: ['./input-textarea.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextareaComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputTextareaComponent implements ControlValueAccessor {\r\n public value: InputTextareaValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n private _innerHtml?: string;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public autosize = true;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public rows = 1;\r\n @Input() public placeholder = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n @Input() public customClasses = '';\r\n @Input() public mask = '';\r\n @Input() public size: InputTextareaSizesTypes = 'large';\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<InputTextareaValueTypes> = new EventEmitter<InputTextareaValueTypes>();\r\n @Output() public blurred: EventEmitter<InputTextareaValueTypes> = new EventEmitter<InputTextareaValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputTextareaValueWithId> = new EventEmitter<InputTextareaValueWithId>();\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTextareaSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get innerHtml() {\r\n return this._innerHtml && this._innerHtml.length > 0 ? this._innerHtml : this.value;\r\n }\r\n\r\n public set innerHtml(value: string) {\r\n this._innerHtml = value;\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value ? this.value.substring(0, this.selectionStart) : ''\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + tagText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = (firstText + tagText).length;\r\n this.inputElement.nativeElement.selectionEnd = (firstText + tagText).length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n } else {\r\n const text = this.value + tagText\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = text.length;\r\n this.inputElement.nativeElement.selectionEnd = text.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minlength) {\r\n return !!this.value && this.value.length >= this.minlength;\r\n }\r\n return true;\r\n }\r\n\r\n public onFocus(): void {\r\n this.inputElement.nativeElement.focus()\r\n }\r\n\r\n public get isShowBlock() {\r\n return this.disabled || this.readonly\r\n }\r\n\r\n private onChange = (value: InputTextareaValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n private processValueForViewOnly(value: string): void {\r\n\r\n }\r\n\r\n public writeValue(outsideValue: InputTextareaValueTypes): void {\r\n if ((this.inputElement?.nativeElement && document.activeElement !== this.inputElement.nativeElement) || this.isShowBlock) {\r\n this.value = outsideValue;\r\n }\r\n\r\n if (this.disabled) {\r\n this.processValueForViewOnly(outsideValue);\r\n return;\r\n }\r\n }\r\n\r\n onBlur(event: Event) {\r\n this.blurUpdateValue()\r\n this.updateSelection(event)\r\n }\r\n\r\n public blurUpdateValue(): void {\r\n this.blurred.emit(this.value)\r\n }\r\n\r\n public updateValue(insideValue: InputTextareaValueTypes): void {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({ value: insideValue, id: this.uuid });\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n *ngIf=\"!isShowBlock; else disabledTemplate\"\r\n mrxAutosize\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [rows]=\"rows\"\r\n [autosize]=\"autosize\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n ></textarea>\r\n\r\n <ng-template #disabledTemplate>\r\n <div\r\n class=\"mrx-input-textarea__disabled-block\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [innerHtml]=\"isShowBlock ? innerHtml : ''\"\r\n ></div>\r\n </ng-template>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { GalleryItemModel, GalleryRotateSlides } from '../../models/gallery-item.model';\r\nimport { GalleryService } from '../../services/gallery.service';\r\nimport { GalleryConfirmModalComponent } from '../gallery-confirm-modal/gallery-confirm-modal.component';\r\nimport {\r\n autosaveAddId, autosaveErrorFor,\r\n autosaveStartFor,\r\n autosaveSuccessFor,\r\n Field,\r\n MrxAutosaveService,\r\n selectFields\r\n} from '../../../../services';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalService } from '../../../../services/modal-service/modal-service.service';\r\n\r\n@Component({\r\n selector: 'mrx-gallery-item',\r\n templateUrl: './gallery-item.component.html',\r\n styleUrls: ['./gallery-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [MrxAutosaveService]\r\n})\r\nexport class GalleryItemComponent {\r\n private timeStamp: number = (new Date()).getTime();\r\n private isLoading = false;\r\n private _timer!: ReturnType<typeof setTimeout>;\r\n\r\n public fields$!: Observable<Field[]>;\r\n\r\n @Input() preview!: GalleryItemModel;\r\n @Input() index!: number;\r\n @Input() isEditing = false;\r\n @Input() descriptionMaxLength = 0;\r\n @Input() deleteEndPoint!: string;\r\n @Input() updateEndPoint!: string;\r\n @Input() rotateSlides: GalleryRotateSlides[] = [];\r\n\r\n @Input('isLoading') set setIsLoading(value: boolean) {\r\n this.isLoading = value;\r\n this.timeStamp = (new Date()).getTime();\r\n }\r\n\r\n @Output() openGalleryModal: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() deletePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() updatePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private _galleryService: GalleryService,\r\n private _modalService: ModalService,\r\n private _store: Store\r\n ) {\r\n this.fields$ = this._store.select(selectFields);\r\n }\r\n\r\n getImageUrl(): string {\r\n return this.preview.previewUrl + '?' + this.timeStamp;\r\n }\r\n\r\n get yandexCheckUrl() {\r\n return `https://yandex.ru/images/search?source=collections&rpt=imageview&url=${this.preview.url}`;\r\n }\r\n\r\n get googleCheckUrl() {\r\n return `https://lens.google.com/uploadbyurl?url=${this.preview.url}`;\r\n }\r\n\r\n get isLoadingImage(): boolean {\r\n return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);\r\n }\r\n\r\n onOpenGalleryModal() {\r\n this.openGalleryModal.emit(this.index);\r\n }\r\n\r\n deleteImage() {\r\n this._modalService.open(GalleryConfirmModalComponent, {\r\n title: 'УДАЛЕНИЕ ДАННЫХ',\r\n message: 'Вы уверены, что хотите удалить файл?'\r\n })\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res.result) {\r\n this._galleryService.delete(this.deleteEndPoint, this.preview.uuid).subscribe(res => {\r\n this.deletePhoto.emit(res);\r\n });\r\n }\r\n });\r\n }\r\n\r\n changeDescription(obj: any) {\r\n clearTimeout(this._timer);\r\n\r\n this._store.dispatch(autosaveAddId({id: obj.id}));\r\n this._store.dispatch(autosaveStartFor({id: obj.id}));\r\n\r\n this._timer = setTimeout(() => {\r\n this._galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {\r\n this.updatePhoto.emit(res);\r\n this._store.dispatch(autosaveSuccessFor({id: obj.id}));\r\n }, () => {\r\n this._store.dispatch(autosaveErrorFor({id: obj.id}));\r\n });\r\n }, 1500);\r\n }\r\n}\r\n","<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport { Fancybox, ThumbsOptionsType, ToolbarOptionsType } from 'mrx-gallery-lib';\r\nimport { GalleryInnerItemModal, GalleryItemModel, GalleryRotateSlides } from './models/gallery-item.model';\r\nimport { customToolbarDefault } from './constants/custom-buttons-default';\r\nimport { OptionsType } from 'mrx-gallery-lib/types/Fancybox/options';\r\nimport { thumbsConfigDefault } from './constants/thumbs-config-default';\r\nimport { GalleryService } from './services/gallery.service';\r\n\r\n@Component({\r\n selector: 'mrx-gallery',\r\n templateUrl: './gallery.component.html',\r\n styleUrls: ['./gallery.component.less'],\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n private timeStamp: number = (new Date()).getTime();\r\n public rotateSlides: GalleryRotateSlides[] = [];\r\n public isLoading = false\r\n\r\n private isExpanded = false;\r\n\r\n @Input() data: GalleryItemModel[] = []\r\n @Input() isExpandable = true;\r\n @Input() customClasses = '';\r\n @Input() rotateEndPoint!: string;\r\n @Input() deleteEndPoint!: string;\r\n @Input() updateEndPoint!: string;\r\n @Input() isEditing = false;\r\n @Input() isSaveRotate = true;\r\n @Input() descriptionMaxLength = 0;\r\n @Input() thumbsConfig!: Boolean | Partial<ThumbsOptionsType>;\r\n @Input() toolbarConfig!: Boolean | Partial<ToolbarOptionsType>;\r\n\r\n @Output() deletePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() updatePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private defaultConfig: Partial<OptionsType> = {};\r\n\r\n constructor(\r\n private galleryService: GalleryService,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.isExpandable) {\r\n this.isExpanded = false;\r\n }\r\n\r\n if (this.thumbsConfig) {\r\n this.defaultConfig.Thumbs = this.thumbsConfig;\r\n }\r\n\r\n if (this.toolbarConfig) {\r\n this.defaultConfig.Toolbar = this.toolbarConfig;\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get isShowMore(): boolean {\r\n return this.data.length > 8\r\n }\r\n\r\n public get getData(): GalleryItemModel[] {\r\n if (this.isExpandable && !this.isExpanded) {\r\n return this.data.slice(0, 8);\r\n } else {\r\n return this.data;\r\n }\r\n }\r\n\r\n private get getSlides(): GalleryInnerItemModal[] {\r\n return this.data.map((slide) => {\r\n return {\r\n src: slide.url + '?' + this.timeStamp,\r\n thumb: slide.previewUrl,\r\n caption: slide.description,\r\n uuid: slide.uuid,\r\n imageName: slide.imageName,\r\n previewImageId: slide.previewImageId\r\n };\r\n });\r\n }\r\n\r\n public get getIsExpanded(): boolean {\r\n return this.isExpanded;\r\n }\r\n\r\n public changeExpanded(): void {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n public trackByFn(index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n public openGalleryModal(id: number): void {\r\n new Fancybox(\r\n this.getSlides,\r\n {\r\n startIndex: id,\r\n compact: false,\r\n hideScrollbar: false,\r\n Carousel: {},\r\n Thumbs: thumbsConfigDefault,\r\n on: {\r\n close: (fancy: any, event: any) => {\r\n if (this.rotateSlides.length) {\r\n this.galleryService.rotate(this.rotateSlides, this.rotateEndPoint).subscribe(res => {\r\n this.isLoading = true\r\n\r\n setTimeout(() => {\r\n this.isLoading = false\r\n this.rotateSlides.length = 0\r\n this.timeStamp = (new Date()).getTime();\r\n }, 1000)\r\n })\r\n }\r\n }\r\n },\r\n Toolbar: {\r\n items: {\r\n rotateLeft: {\r\n tpl: `\r\n <button title=\"Rotate counterclockwise\" class=\"f-button\">\r\n <svg tabindex=\"-1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01\">\r\n </path>\r\n </svg>\r\n </button>\r\n `,\r\n click: (a: any) => {\r\n const slide = a.instance.getSlide();\r\n if (!slide) return;\r\n\r\n const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);\r\n\r\n if (foundRotateSlide) {\r\n this.rotateSlides = this.rotateSlides.map((s) => {\r\n if (s.previewImageId === foundRotateSlide.previewImageId) {\r\n s.rotate = s.rotate === -270 ? 0 : s.rotate - 90;\r\n }\r\n return s;\r\n }).filter((s) => s.rotate !== 0);\r\n } else {\r\n this.rotateSlides.push({\r\n previewImageId: slide.previewImageId,\r\n rotate: -90\r\n });\r\n }\r\n\r\n slide.panzoom?.rotateCCW()\r\n }\r\n },\r\n rotateRight: {\r\n tpl: `\r\n <button title=\"Rotate clockwise\" class=\"f-button\">\r\n <svg tabindex=\"-1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01\">\r\n </path>\r\n </svg>\r\n </button>\r\n `,\r\n click: (a: any) => {\r\n const slide = a.instance.getSlide();\r\n if (!slide) return;\r\n\r\n const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);\r\n\r\n if (foundRotateSlide) {\r\n this.rotateSlides = this.rotateSlides.map((s) => {\r\n if (s.previewImageId === foundRotateSlide.previewImageId) {\r\n s.rotate = s.rotate === 270 ? 0 : s.rotate + 90;\r\n }\r\n return s;\r\n }).filter((s) => s.rotate !== 0);\r\n } else {\r\n this.rotateSlides.push({\r\n previewImageId: slide.previewImageId,\r\n rotate: 90\r\n });\r\n }\r\n\r\n slide.panzoom?.rotateCW()\r\n }\r\n }\r\n },\r\n display: customToolbarDefault,\r\n },\r\n ...this.defaultConfig\r\n },\r\n {}\r\n );\r\n }\r\n}\r\n","<div class=\"mrx-gallery\" [class]=\"getClasses\">\r\n <div class=\"mrx-gallery-row row\">\r\n <div *ngFor=\"let preview of getData; trackBy: trackByFn; let index = index\" class=\"col col-12 col-sm-6 col-md-3\">\r\n <mrx-gallery-item\r\n [preview]=\"preview\"\r\n [index]=\"index\"\r\n [isEditing]=\"isEditing\"\r\n [descriptionMaxLength]=\"descriptionMaxLength\"\r\n [rotateSlides]=\"rotateSlides\"\r\n [isLoading]=\"isLoading\"\r\n [deleteEndPoint]=\"deleteEndPoint\"\r\n [updateEndPoint]=\"updateEndPoint\"\r\n (openGalleryModal)=\"openGalleryModal($event)\"\r\n (deletePhoto)=\"deletePhoto.emit($event)\"\r\n (updatePhoto)=\"updatePhoto.emit($event)\"\r\n ></mrx-gallery-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" *ngIf=\"isShowMore\">\r\n <div class=\"col d-flex justify-content-center\">\r\n <mrx-button type=\"tertiary\" (mrxClick)=\"changeExpanded()\">\r\n {{ getIsExpanded ? 'Скрыть' : 'Показать все фотографии' }}\r\n <span\r\n class=\"mrx-icon icon-font-16 ml-2\"\r\n [class.icon-chevron-down]=\"!getIsExpanded\"\r\n [class.icon-chevron-up]=\"getIsExpanded\"\r\n ></span>\r\n </mrx-button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CharsLeftComponent } from './chars-left.component';\r\n\r\n@NgModule({\r\n declarations: [CharsLeftComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CharsLeftComponent],\r\n})\r\nexport class CharsLeftModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AutosizeDirective } from './autosize.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n AutosizeDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n AutosizeDirective\r\n ]\r\n})\r\nexport class AutosizeModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTextareaComponent } from './input-textarea.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\nimport { AutosizeModule } from '../../../directives/autosize/autosize.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTextareaComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n SaveStateModule,\r\n NgxMaskDirective,\r\n AutosizeModule\r\n ],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputTextareaComponent],\r\n})\r\nexport class InputTextareaModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { GalleryComponent } from './gallery.component';\r\nimport { GalleryItemComponent } from './components/gallery-item/gallery-item.component';\r\nimport { ButtonModule } from '../button/button.module';\r\nimport { InputTextareaModule } from '../form/input-textarea/input-textarea.module';\r\nimport { LoaderModule } from '../loader/loader.module';\r\nimport { ModalModule } from '../modal/modal.module';\r\nimport { GalleryConfirmModalComponent } from './components/gallery-confirm-modal/gallery-confirm-modal.component';\r\nimport { SaveStoreModule } from \"../../services\";\r\n\r\n@NgModule({\r\n declarations: [\r\n GalleryComponent,\r\n GalleryItemComponent,\r\n GalleryConfirmModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n LoaderModule,\r\n ModalModule,\r\n SaveStoreModule\r\n ],\r\n exports: [\r\n GalleryComponent\r\n ]\r\n})\r\nexport class GalleryModule { }\r\n","export enum PagesNavEnum {\r\n 'self' = '_self',\r\n 'blank' = '_blank'\r\n}\r\n\r\nexport type PagesNavTypes = 'self' | 'blank';\r\n","import {Component, Input} from '@angular/core';\r\nimport {PagesNavEnum, PagesNavTypes} from './pages-nav.enum';\r\n\r\n@Component({\r\n selector: 'mrx-pages-nav',\r\n templateUrl: './pages-nav.component.html',\r\n styleUrls: ['./pages-nav.component.less']\r\n})\r\n\r\nexport class PagesNavComponent {\r\n @Input() prevLink = '';\r\n @Input() prevText = 'Назад';\r\n\r\n @Input() nextLink = '';\r\n @Input() nextText = 'Вперед';\r\n\r\n @Input() target: PagesNavTypes = 'self';\r\n\r\n public get getTarget(): string {\r\n return `${PagesNavEnum[this.target]}`;\r\n }\r\n}\r\n","<div *ngIf=\"prevLink || nextLink\" class=\"mrx-pages-nav\">\r\n <a\r\n *ngIf=\"prevLink\"\r\n [href]=\"prevLink\"\r\n [target]=\"getTarget\"\r\n class=\"mrx-pages-nav__left\"\r\n >\r\n <div class=\"mrx-icon icon-font-24 icon-chevron-left\"></div>\r\n {{prevText}}\r\n </a>\r\n <a\r\n *ngIf=\"nextLink\"\r\n [href]=\"nextLink\"\r\n [target]=\"getTarget\"\r\n class=\"mrx-pages-nav__right\"\r\n >\r\n {{nextText}}\r\n <div class=\"mrx-icon icon-font-24 icon-chevron-right\"></div>\r\n </a>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {PagesNavComponent} from './pages-nav.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n PagesNavComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n PagesNavComponent\r\n ]\r\n})\r\n\r\nexport class PagesNavModule {}\r\n","export enum InputTextSizesEnum {\r\n 'small' = 'mrx-input-text-sm',\r\n 'medium' = 'mrx-input-text-md',\r\n 'large' = 'mrx-input-text-lg',\r\n}\r\n\r\nexport type InputTextSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTextValueTypes = string;\r\n\r\nexport interface InputTextValueWithId {\r\n value: InputTextValueTypes,\r\n id: string\r\n}\r\n\r\nexport enum InputTextIconColorEnum {\r\n 'default' = '',\r\n 'brand' = 'color-brand',\r\n 'positive' = 'color-positive',\r\n 'negative' = 'color-negative',\r\n 'attention' = 'color-attention',\r\n}\r\n\r\nexport type InputTextIconColorTypes = 'default' | 'brand' | 'positive' | 'negative' | 'attention'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputTextIconColorEnum,\r\n InputTextIconColorTypes,\r\n InputTextSizesEnum,\r\n InputTextSizesTypes,\r\n InputTextValueTypes,\r\n InputTextValueWithId\r\n} from './input-text.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputTextComponent implements ControlValueAccessor {\r\n public value: InputTextValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n @Input() public customClasses = '';\r\n @Input() public size: InputTextSizesTypes = 'large';\r\n @Input() public isTooltipValue = false;\r\n @Input() public icon: string | null = null;\r\n @Input() public iconColor: InputTextIconColorTypes = 'default';\r\n\r\n // MASK\r\n @Input() mask = '';\r\n @Input() maskPrefix = '';\r\n @Input() showMaskTyped = false;\r\n @Input() maskDropSpecialCharacters: boolean | string[] = true;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<InputTextValueTypes> = new EventEmitter<InputTextValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputTextValueWithId> = new EventEmitter<InputTextValueWithId>();\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isVerified(): boolean {\r\n return (\r\n !this.required ||\r\n (this.required && this.value != null && this.value !== '' && this.isValid)\r\n );\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTextSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get getIconClass(): string {\r\n return `${this.icon} ${this.size !== 'small' ? 'icon-font-24' : 'icon-font-16'} ${InputTextIconColorEnum[this.iconColor]}`\r\n }\r\n\r\n public get getTooltipValue(): string {\r\n return this.isTooltipValue ? this.value : ''\r\n }\r\n\r\n private formatValue(value: string): string {\r\n return value.length === this.maskPrefix.length ? '' : value\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value ? this.value.substring(0, this.selectionStart) : ''\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + tagText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = (firstText + tagText).length;\r\n this.inputElement.nativeElement.selectionEnd = (firstText + tagText).length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n } else {\r\n const text = this.value ? this.value : '' + tagText\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = text.length;\r\n this.inputElement.nativeElement.selectionEnd = text.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minlength) {\r\n return !!this.value && this.value.length >= this.minlength;\r\n }\r\n return true;\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n }\r\n\r\n private onChange = (value: InputTextValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputTextValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputTextValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(this.formatValue(insideValue));\r\n this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})\r\n this.onChange(this.formatValue(insideValue));\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n [mask]=\"mask\"\r\n [prefix]=\"maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"maskDropSpecialCharacters\"\r\n />\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTextComponent } from './input-text.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\nimport { CdkTooltipModule } from '../../cdk-tooltip/cdk-tooltip.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTextComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n SaveStateModule,\r\n CdkTooltipModule,\r\n NgxMaskDirective\r\n ],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputTextComponent],\r\n})\r\nexport class InputTextModule {}\r\n","export enum CountryISO {\r\n Afghanistan = 'af',\r\n Albania = 'al',\r\n Algeria = 'dz',\r\n AmericanSamoa = 'as',\r\n Andorra = 'ad',\r\n Angola = 'ao',\r\n Anguilla = 'ai',\r\n AntiguaAndBarbuda = 'ag',\r\n Argentina = 'ar',\r\n Armenia = 'am',\r\n Aruba = 'aw',\r\n Australia = 'au',\r\n Austria = 'at',\r\n Azerbaijan = 'az',\r\n Bahamas = 'bs',\r\n Bahrain = 'bh',\r\n Bangladesh = 'bd',\r\n Barbados = 'bb',\r\n Belarus = 'by',\r\n Belgium = 'be',\r\n Belize = 'bz',\r\n Benin = 'bj',\r\n Bermuda = 'bm',\r\n Bhutan = 'bt',\r\n Bolivia = 'bo',\r\n BosniaAndHerzegovina = 'ba',\r\n Botswana = 'bw',\r\n Brazil = 'br',\r\n BritishIndianOceanTerritory = 'io',\r\n BritishVirginIslands = 'vg',\r\n Brunei = 'bn',\r\n Bulgaria = 'bg',\r\n BurkinaFaso = 'bf',\r\n Burundi = 'bi',\r\n Cambodia = 'kh',\r\n Cameroon = 'cm',\r\n Canada = 'ca',\r\n CapeVerde = 'cv',\r\n CaribbeanNetherlands = 'bq',\r\n CaymanIslands = 'ky',\r\n CentralAfricanRepublic = 'cf',\r\n Chad = 'td',\r\n Chile = 'cl',\r\n China = 'cn',\r\n ChristmasIsland = 'cx',\r\n Cocos = 'cc',\r\n Colombia = 'co',\r\n Comoros = 'km',\r\n CongoDRCJamhuriYaKidemokrasiaYaKongo = 'cd',\r\n CongoRepublicCongoBrazzaville = 'cg',\r\n CookIslands = 'ck',\r\n CostaRica = 'cr',\r\n CôteDIvoire = 'ci',\r\n Croatia = 'hr',\r\n Cuba = 'cu',\r\n Curaçao = 'cw',\r\n Cyprus = 'cy',\r\n CzechRepublic = 'cz',\r\n Denmark = 'dk',\r\n Djibouti = 'dj',\r\n Dominica = 'dm',\r\n DominicanRepublic = 'do',\r\n Ecuador = 'ec',\r\n Egypt = 'eg',\r\n ElSalvador = 'sv',\r\n EquatorialGuinea = 'gq',\r\n Eritrea = 'er',\r\n Estonia = 'ee',\r\n Ethiopia = 'et',\r\n FalklandIslands = 'fk',\r\n FaroeIslands = 'fo',\r\n Fiji = 'fj',\r\n Finland = 'fi',\r\n France = 'fr',\r\n FrenchGuiana = 'gf',\r\n FrenchPolynesia = 'pf',\r\n Gabon = 'ga',\r\n Gambia = 'gm',\r\n Georgia = 'ge',\r\n Germany = 'de',\r\n Ghana = 'gh',\r\n Gibraltar = 'gi',\r\n Greece = 'gr',\r\n Greenland = 'gl',\r\n Grenada = 'gd',\r\n Guadeloupe = 'gp',\r\n Guam = 'gu',\r\n Guatemala = 'gt',\r\n Guernsey = 'gg',\r\n Guinea = 'gn',\r\n GuineaBissau = 'gw',\r\n Guyana = 'gy',\r\n Haiti = 'ht',\r\n Honduras = 'hn',\r\n HongKong = 'hk',\r\n Hungary = 'hu',\r\n Iceland = 'is',\r\n India = 'in',\r\n Indonesia = 'id',\r\n Iran = 'ir',\r\n Iraq = 'iq',\r\n Ireland = 'ie',\r\n IsleOfMan = 'im',\r\n Israel = 'il',\r\n Italy = 'it',\r\n Jamaica = 'jm',\r\n Japan = 'jp',\r\n Jersey = 'je',\r\n Jordan = 'jo',\r\n Kazakhstan = 'kz',\r\n Kenya = 'ke',\r\n Kiribati = 'ki',\r\n Kosovo = 'xk',\r\n Kuwait = 'kw',\r\n Kyrgyzstan = 'kg',\r\n Laos = 'la',\r\n Latvia = 'lv',\r\n Lebanon = 'lb',\r\n Lesotho = 'ls',\r\n Liberia = 'lr',\r\n Libya = 'ly',\r\n Liechtenstein = 'li',\r\n Lithuania = 'lt',\r\n Luxembourg = 'lu',\r\n Macau = 'mo',\r\n Macedonia = 'mk',\r\n Madagascar = 'mg',\r\n Malawi = 'mw',\r\n Malaysia = 'my',\r\n Maldives = 'mv',\r\n Mali = 'ml',\r\n Malta = 'mt',\r\n MarshallIslands = 'mh',\r\n Martinique = 'mq',\r\n Mauritania = 'mr',\r\n Mauritius = 'mu',\r\n Mayotte = 'yt',\r\n Mexico = 'mx',\r\n Micronesia = 'fm',\r\n Moldova = 'md',\r\n Monaco = 'mc',\r\n Mongolia = 'mn',\r\n Montenegro = 'me',\r\n Montserrat = 'ms',\r\n Morocco = 'ma',\r\n Mozambique = 'mz',\r\n Myanmar = 'mm',\r\n Namibia = 'na',\r\n Nauru = 'nr',\r\n Nepal = 'np',\r\n Netherlands = 'nl',\r\n NewCaledonia = 'nc',\r\n NewZealand = 'nz',\r\n Nicaragua = 'ni',\r\n Niger = 'ne',\r\n Nigeria = 'ng',\r\n Niue = 'nu',\r\n NorfolkIsland = 'nf',\r\n NorthKorea = 'kp',\r\n NorthernMarianaIslands = 'mp',\r\n Norway = 'no',\r\n Oman = 'om',\r\n Pakistan = 'pk',\r\n Palau = 'pw',\r\n Palestine = 'ps',\r\n Panama = 'pa',\r\n PapuaNewGuinea = 'pg',\r\n Paraguay = 'py',\r\n Peru = 'pe',\r\n Philippines = 'ph',\r\n Poland = 'pl',\r\n Portugal = 'pt',\r\n PuertoRico = 'pr',\r\n Qatar = 'qa',\r\n Réunion = 're',\r\n Romania = 'ro',\r\n Russia = 'ru',\r\n Rwanda = 'rw',\r\n SaintBarthélemy = 'bl',\r\n SaintHelena = 'sh',\r\n SaintKittsAndNevis = 'kn',\r\n SaintLucia = 'lc',\r\n SaintMartin = 'mf',\r\n SaintPierreAndMiquelon = 'pm',\r\n SaintVincentAndTheGrenadines = 'vc',\r\n Samoa = 'ws',\r\n SanMarino = 'sm',\r\n SãoToméAndPríncipe = 'st',\r\n SaudiArabia = 'sa',\r\n Senegal = 'sn',\r\n Serbia = 'rs',\r\n Seychelles = 'sc',\r\n SierraLeone = 'sl',\r\n Singapore = 'sg',\r\n SintMaarten = 'sx',\r\n Slovakia = 'sk',\r\n Slovenia = 'si',\r\n SolomonIslands = 'sb',\r\n Somalia = 'so',\r\n SouthAfrica = 'za',\r\n SouthKorea = 'kr',\r\n SouthSudan = 'ss',\r\n Spain = 'es',\r\n SriLanka = 'lk',\r\n Sudan = 'sd',\r\n Suriname = 'sr',\r\n SvalbardAndJanMayen = 'sj',\r\n Swaziland = 'sz',\r\n Sweden = 'se',\r\n Switzerland = 'ch',\r\n Syria = 'sy',\r\n Taiwan = 'tw',\r\n Tajikistan = 'tj',\r\n Tanzania = 'tz',\r\n Thailand = 'th',\r\n TimorLeste = 'tl',\r\n Togo = 'tg',\r\n Tokelau = 'tk',\r\n Tonga = 'to',\r\n TrinidadAndTobago = 'tt',\r\n Tunisia = 'tn',\r\n Turkey = 'tr',\r\n Turkmenistan = 'tm',\r\n TurksAndCaicosIslands = 'tc',\r\n Tuvalu = 'tv',\r\n USVirginIslands = 'vi',\r\n Uganda = 'ug',\r\n Ukraine = 'ua',\r\n UnitedArabEmirates = 'ae',\r\n UnitedKingdom = 'gb',\r\n UnitedStates = 'us',\r\n Uruguay = 'uy',\r\n Uzbekistan = 'uz',\r\n Vanuatu = 'vu',\r\n VaticanCity = 'va',\r\n Venezuela = 've',\r\n Vietnam = 'vn',\r\n WallisAndFutuna = 'wf',\r\n WesternSahara = 'eh',\r\n Yemen = 'ye',\r\n Zambia = 'zm',\r\n Zimbabwe = 'zw',\r\n ÅlandIslands = 'ax',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CountryISO } from '../enums/country-iso.enum';\r\n\r\n@Injectable()\r\nexport class CountryCode {\r\n public allCountries = [\r\n [\r\n 'Afghanistan (افغانستان)',\r\n CountryISO.Afghanistan,\r\n '93'\r\n ],\r\n [\r\n 'Albania (Shqipëri)',\r\n CountryISO.Albania,\r\n '355'\r\n ],\r\n [\r\n 'Algeria (الجزائر)',\r\n CountryISO.Algeria,\r\n '213'\r\n ],\r\n [\r\n 'American Samoa',\r\n 'as',\r\n '1',\r\n 1,\r\n [\r\n '684',\r\n ]\r\n ],\r\n [\r\n 'Andorra',\r\n CountryISO.Andorra,\r\n '376'\r\n ],\r\n [\r\n 'Angola',\r\n CountryISO.Angola,\r\n '244'\r\n ],\r\n [\r\n 'Anguilla',\r\n 'ai',\r\n '1',\r\n 1,\r\n [\r\n '264',\r\n ]\r\n ],\r\n [\r\n 'Antigua and Barbuda',\r\n 'ag',\r\n '1',\r\n 1,\r\n [\r\n '268',\r\n ]\r\n ],\r\n [\r\n 'Argentina',\r\n CountryISO.Argentina,\r\n '54'\r\n ],\r\n [\r\n 'Armenia (Հայաստան)',\r\n CountryISO.Armenia,\r\n '374'\r\n ],\r\n [\r\n 'Aruba',\r\n CountryISO.Aruba,\r\n '297'\r\n ],\r\n [\r\n 'Australia',\r\n CountryISO.Australia,\r\n '61',\r\n 0\r\n ],\r\n [\r\n 'Austria (Österreich)',\r\n CountryISO.Austria,\r\n '43'\r\n ],\r\n [\r\n 'Azerbaijan (Azərbaycan)',\r\n CountryISO.Azerbaijan,\r\n '994'\r\n ],\r\n [\r\n 'Bahamas',\r\n 'bs',\r\n '1',\r\n 1,\r\n [\r\n '242',\r\n ]\r\n ],\r\n [\r\n 'Bahrain (البحرين)',\r\n CountryISO.Bahrain,\r\n '973'\r\n ],\r\n [\r\n 'Bangladesh (বাংলাদেশ)',\r\n CountryISO.Bangladesh,\r\n '880'\r\n ],\r\n [\r\n 'Barbados',\r\n 'bb',\r\n '1',\r\n 1,\r\n [\r\n '246',\r\n ]\r\n ],\r\n [\r\n 'Belarus (Беларусь)',\r\n CountryISO.Belarus,\r\n '375'\r\n ],\r\n [\r\n 'Belgium (België)',\r\n CountryISO.Belgium,\r\n '32'\r\n ],\r\n [\r\n 'Belize',\r\n CountryISO.Belize,\r\n '501'\r\n ],\r\n [\r\n 'Benin (Bénin)',\r\n CountryISO.Benin,\r\n '229'\r\n ],\r\n [\r\n 'Bermuda',\r\n 'bm',\r\n '1',\r\n 1,\r\n [\r\n '441',\r\n ]\r\n ],\r\n [\r\n 'Bhutan (འབྲུག)',\r\n CountryISO.Bhutan,\r\n '975'\r\n ],\r\n [\r\n 'Bolivia',\r\n CountryISO.Bolivia,\r\n '591'\r\n ],\r\n [\r\n 'Bosnia and Herzegovina (Босна и Херцеговина)',\r\n CountryISO.BosniaAndHerzegovina,\r\n '387'\r\n ],\r\n [\r\n 'Botswana',\r\n CountryISO.Botswana,\r\n '267'\r\n ],\r\n [\r\n 'Brazil (Brasil)',\r\n CountryISO.Brazil,\r\n '55'\r\n ],\r\n [\r\n 'British Indian Ocean Territory',\r\n CountryISO.BritishIndianOceanTerritory,\r\n '246'\r\n ],\r\n [\r\n 'British Virgin Islands',\r\n 'vg',\r\n '1',\r\n 1,\r\n [\r\n '284',\r\n ]\r\n ],\r\n [\r\n 'Brunei',\r\n CountryISO.Brunei,\r\n '673'\r\n ],\r\n [\r\n 'Bulgaria (България)',\r\n CountryISO.Bulgaria,\r\n '359'\r\n ],\r\n [\r\n 'Burkina Faso',\r\n CountryISO.BurkinaFaso,\r\n '226'\r\n ],\r\n [\r\n 'Burundi (Uburundi)',\r\n CountryISO.Burundi,\r\n '257'\r\n ],\r\n [\r\n 'Cambodia (កម្ពុជា)',\r\n CountryISO.Cambodia,\r\n '855'\r\n ],\r\n [\r\n 'Cameroon (Cameroun)',\r\n CountryISO.Cameroon,\r\n '237'\r\n ],\r\n [\r\n 'Canada',\r\n CountryISO.Canada,\r\n '1',\r\n 1,\r\n [\r\n '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416',\r\n '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587',\r\n '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807',\r\n '819', '825', '867', '873', '902', '905'\r\n ]\r\n ],\r\n [\r\n 'Cape Verde (Kabu Verdi)',\r\n CountryISO.CapeVerde,\r\n '238'\r\n ],\r\n [\r\n 'Caribbean Netherlands',\r\n CountryISO.CaribbeanNetherlands,\r\n '599',\r\n 1\r\n ],\r\n [\r\n 'Cayman Islands',\r\n 'ky',\r\n '1',\r\n 1,\r\n [\r\n '345',\r\n ]\r\n ],\r\n [\r\n 'Central African Republic (République centrafricaine)',\r\n CountryISO.CentralAfricanRepublic,\r\n '236'\r\n ],\r\n [\r\n 'Chad (Tchad)',\r\n CountryISO.Chad,\r\n '235'\r\n ],\r\n [\r\n 'Chile',\r\n CountryISO.Chile,\r\n '56'\r\n ],\r\n [\r\n 'China (中国)',\r\n CountryISO.China,\r\n '86'\r\n ],\r\n [\r\n 'Christmas Island',\r\n CountryISO.ChristmasIsland,\r\n '61',\r\n 2\r\n ],\r\n [\r\n 'Cocos (Keeling) Islands',\r\n CountryISO.Cocos,\r\n '61',\r\n 1\r\n ],\r\n [\r\n 'Colombia',\r\n CountryISO.Colombia,\r\n '57'\r\n ],\r\n [\r\n 'Comoros (جزر القمر)',\r\n CountryISO.Comoros,\r\n '269'\r\n ],\r\n [\r\n 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\r\n CountryISO.CongoDRCJamhuriYaKidemokrasiaYaKongo,\r\n '243'\r\n ],\r\n [\r\n 'Congo (Republic) (Congo-Brazzaville)',\r\n CountryISO.CongoRepublicCongoBrazzaville,\r\n '242'\r\n ],\r\n [\r\n 'Cook Islands',\r\n CountryISO.CookIslands,\r\n '682'\r\n ],\r\n [\r\n 'Costa Rica',\r\n CountryISO.CostaRica,\r\n '506'\r\n ],\r\n [\r\n 'Côte d’Ivoire',\r\n CountryISO.CôteDIvoire,\r\n '225'\r\n ],\r\n [\r\n 'Croatia (Hrvatska)',\r\n CountryISO.Croatia,\r\n '385'\r\n ],\r\n [\r\n 'Cuba',\r\n CountryISO.Cuba,\r\n '53'\r\n ],\r\n [\r\n 'Curaçao',\r\n CountryISO.Curaçao,\r\n '599',\r\n 0\r\n ],\r\n [\r\n 'Cyprus (Κύπρος)',\r\n CountryISO.Cyprus,\r\n '357'\r\n ],\r\n [\r\n 'Czech Republic (Česká republika)',\r\n CountryISO.CzechRepublic,\r\n '420'\r\n ],\r\n [\r\n 'Denmark (Danmark)',\r\n CountryISO.Denmark,\r\n '45'\r\n ],\r\n [\r\n 'Djibouti',\r\n CountryISO.Djibouti,\r\n '253'\r\n ],\r\n [\r\n 'Dominica',\r\n CountryISO.Dominica,\r\n '1767'\r\n ],\r\n [\r\n 'Dominican Republic (República Dominicana)',\r\n CountryISO.DominicanRepublic,\r\n '1',\r\n 2,\r\n ['809', '829', '849']\r\n ],\r\n [\r\n 'Ecuador',\r\n CountryISO.Ecuador,\r\n '593'\r\n ],\r\n [\r\n 'Egypt (مصر)',\r\n CountryISO.Egypt,\r\n '20'\r\n ],\r\n [\r\n 'El Salvador',\r\n CountryISO.ElSalvador,\r\n '503'\r\n ],\r\n [\r\n 'Equatorial Guinea (Guinea Ecuatorial)',\r\n CountryISO.EquatorialGuinea,\r\n '240'\r\n ],\r\n [\r\n 'Eritrea',\r\n CountryISO.Eritrea,\r\n '291'\r\n ],\r\n [\r\n 'Estonia (Eesti)',\r\n CountryISO.Estonia,\r\n '372'\r\n ],\r\n [\r\n 'Ethiopia',\r\n CountryISO.Ethiopia,\r\n '251'\r\n ],\r\n [\r\n 'Falkland Islands (Islas Malvinas)',\r\n CountryISO.FalklandIslands,\r\n '500'\r\n ],\r\n [\r\n 'Faroe Islands (Føroyar)',\r\n CountryISO.FaroeIslands,\r\n '298'\r\n ],\r\n [\r\n 'Fiji',\r\n CountryISO.Fiji,\r\n '679'\r\n ],\r\n [\r\n 'Finland (Suomi)',\r\n CountryISO.Finland,\r\n '358',\r\n 0\r\n ],\r\n [\r\n 'France',\r\n CountryISO.France,\r\n '33'\r\n ],\r\n [\r\n 'French Guiana (Guyane française)',\r\n CountryISO.FrenchGuiana,\r\n '594'\r\n ],\r\n [\r\n 'French Polynesia (Polynésie française)',\r\n CountryISO.FrenchPolynesia,\r\n '689'\r\n ],\r\n [\r\n 'Gabon',\r\n CountryISO.Gabon,\r\n '241'\r\n ],\r\n [\r\n 'Gambia',\r\n CountryISO.Gambia,\r\n '220'\r\n ],\r\n [\r\n 'Georgia (საქართველო)',\r\n CountryISO.Georgia,\r\n '995'\r\n ],\r\n [\r\n 'Germany (Deutschland)',\r\n CountryISO.Germany,\r\n '49'\r\n ],\r\n [\r\n 'Ghana (Gaana)',\r\n CountryISO.Ghana,\r\n '233'\r\n ],\r\n [\r\n 'Gibraltar',\r\n CountryISO.Gibraltar,\r\n '350'\r\n ],\r\n [\r\n 'Greece (Ελλάδα)',\r\n CountryISO.Greece,\r\n '30'\r\n ],\r\n [\r\n 'Greenland (Kalaallit Nunaat)',\r\n CountryISO.Greenland,\r\n '299'\r\n ],\r\n [\r\n 'Grenada',\r\n CountryISO.Grenada,\r\n '1473'\r\n ],\r\n [\r\n 'Guadeloupe',\r\n CountryISO.Guadeloupe,\r\n '590',\r\n 0\r\n ],\r\n [\r\n 'Guam',\r\n 'gu',\r\n '1',\r\n 1,\r\n [\r\n '671',\r\n ]\r\n ],\r\n [\r\n 'Guatemala',\r\n CountryISO.Guatemala,\r\n '502'\r\n ],\r\n [\r\n 'Guernsey',\r\n CountryISO.Guernsey,\r\n '44',\r\n 1,\r\n [1481]\r\n ],\r\n [\r\n 'Guinea (Guinée)',\r\n CountryISO.Guinea,\r\n '224'\r\n ],\r\n [\r\n 'Guinea-Bissau (Guiné Bissau)',\r\n CountryISO.GuineaBissau,\r\n '245'\r\n ],\r\n [\r\n 'Guyana',\r\n CountryISO.Guyana,\r\n '592'\r\n ],\r\n [\r\n 'Haiti',\r\n CountryISO.Haiti,\r\n '509'\r\n ],\r\n [\r\n 'Honduras',\r\n CountryISO.Honduras,\r\n '504'\r\n ],\r\n [\r\n 'Hong Kong (香港)',\r\n CountryISO.HongKong,\r\n '852'\r\n ],\r\n [\r\n 'Hungary (Magyarország)',\r\n CountryISO.Hungary,\r\n '36'\r\n ],\r\n [\r\n 'Iceland (Ísland)',\r\n CountryISO.Iceland,\r\n '354'\r\n ],\r\n [\r\n 'India (भारत)',\r\n CountryISO.India,\r\n '91'\r\n ],\r\n [\r\n 'Indonesia',\r\n CountryISO.Indonesia,\r\n '62'\r\n ],\r\n [\r\n 'Iran (ایران)',\r\n CountryISO.Iran,\r\n '98'\r\n ],\r\n [\r\n 'Iraq (العراق)',\r\n CountryISO.Iraq,\r\n '964'\r\n ],\r\n [\r\n 'Ireland',\r\n CountryISO.Ireland,\r\n '353'\r\n ],\r\n [\r\n 'Isle of Man',\r\n CountryISO.IsleOfMan,\r\n '44',\r\n 2,\r\n [1624]\r\n ],\r\n [\r\n 'Israel (ישראל)',\r\n CountryISO.Israel,\r\n '972'\r\n ],\r\n [\r\n 'Italy (Italia)',\r\n CountryISO.Italy,\r\n '39',\r\n 0\r\n ],\r\n [\r\n 'Jamaica',\r\n 'jm',\r\n '1',\r\n 1,\r\n [\r\n '876',\r\n ]\r\n ],\r\n [\r\n 'Japan (日本)',\r\n CountryISO.Japan,\r\n '81'\r\n ],\r\n [\r\n 'Jersey',\r\n CountryISO.Jersey,\r\n '44',\r\n 3,\r\n [1534]\r\n ],\r\n [\r\n 'Jordan (الأردن)',\r\n CountryISO.Jordan,\r\n '962'\r\n ],\r\n [\r\n 'Kazakhstan (Казахстан)',\r\n CountryISO.Kazakhstan,\r\n '7',\r\n 1\r\n ],\r\n [\r\n 'Kenya',\r\n CountryISO.Kenya,\r\n '254'\r\n ],\r\n [\r\n 'Kiribati',\r\n CountryISO.Kiribati,\r\n '686'\r\n ],\r\n [\r\n 'Kosovo',\r\n CountryISO.Kosovo,\r\n '383'\r\n ],\r\n [\r\n 'Kuwait (الكويت)',\r\n CountryISO.Kuwait,\r\n '965'\r\n ],\r\n [\r\n 'Kyrgyzstan (Кыргызстан)',\r\n CountryISO.Kyrgyzstan,\r\n '996'\r\n ],\r\n [\r\n 'Laos (ລາວ)',\r\n CountryISO.Laos,\r\n '856'\r\n ],\r\n [\r\n 'Latvia (Latvija)',\r\n CountryISO.Latvia,\r\n '371'\r\n ],\r\n [\r\n 'Lebanon (لبنان)',\r\n CountryISO.Lebanon,\r\n '961'\r\n ],\r\n [\r\n 'Lesotho',\r\n CountryISO.Lesotho,\r\n '266'\r\n ],\r\n [\r\n 'Liberia',\r\n CountryISO.Liberia,\r\n '231'\r\n ],\r\n [\r\n 'Libya (ليبيا)',\r\n CountryISO.Libya,\r\n '218'\r\n ],\r\n [\r\n 'Liechtenstein',\r\n CountryISO.Liechtenstein,\r\n '423'\r\n ],\r\n [\r\n 'Lithuania (Lietuva)',\r\n CountryISO.Lithuania,\r\n '370'\r\n ],\r\n [\r\n 'Luxembourg',\r\n CountryISO.Luxembourg,\r\n '352'\r\n ],\r\n [\r\n 'Macau (澳門)',\r\n CountryISO.Macau,\r\n '853'\r\n ],\r\n [\r\n 'Macedonia (FYROM) (Македонија)',\r\n CountryISO.Macedonia,\r\n '389'\r\n ],\r\n [\r\n 'Madagascar (Madagasikara)',\r\n CountryISO.Madagascar,\r\n '261'\r\n ],\r\n [\r\n 'Malawi',\r\n CountryISO.Malawi,\r\n '265'\r\n ],\r\n [\r\n 'Malaysia',\r\n CountryISO.Malaysia,\r\n '60'\r\n ],\r\n [\r\n 'Maldives',\r\n CountryISO.Maldives,\r\n '960'\r\n ],\r\n [\r\n 'Mali',\r\n CountryISO.Mali,\r\n '223'\r\n ],\r\n [\r\n 'Malta',\r\n CountryISO.Malta,\r\n '356'\r\n ],\r\n [\r\n 'Marshall Islands',\r\n CountryISO.MarshallIslands,\r\n '692'\r\n ],\r\n [\r\n 'Martinique',\r\n CountryISO.Martinique,\r\n '596'\r\n ],\r\n [\r\n 'Mauritania (موريتانيا)',\r\n CountryISO.Mauritania,\r\n '222'\r\n ],\r\n [\r\n 'Mauritius (Moris)',\r\n CountryISO.Mauritius,\r\n '230'\r\n ],\r\n [\r\n 'Mayotte',\r\n CountryISO.Mayotte,\r\n '262',\r\n 1\r\n ],\r\n [\r\n 'Mexico (México)',\r\n CountryISO.Mexico,\r\n '52'\r\n ],\r\n [\r\n 'Micronesia',\r\n CountryISO.Micronesia,\r\n '691'\r\n ],\r\n [\r\n 'Moldova (Republica Moldova)',\r\n CountryISO.Moldova,\r\n '373'\r\n ],\r\n [\r\n 'Monaco',\r\n CountryISO.Monaco,\r\n '377'\r\n ],\r\n [\r\n 'Mongolia (Монгол)',\r\n CountryISO.Mongolia,\r\n '976'\r\n ],\r\n [\r\n 'Montenegro (Crna Gora)',\r\n CountryISO.Montenegro,\r\n '382'\r\n ],\r\n [\r\n 'Montserrat',\r\n 'ms',\r\n '1',\r\n 1,\r\n [\r\n '664',\r\n ]\r\n ],\r\n [\r\n 'Morocco (المغرب)',\r\n CountryISO.Morocco,\r\n '212',\r\n 0\r\n ],\r\n [\r\n 'Mozambique (Moçambique)',\r\n CountryISO.Mozambique,\r\n '258'\r\n ],\r\n [\r\n 'Myanmar (Burma) (မြန်မာ)',\r\n CountryISO.Myanmar,\r\n '95'\r\n ],\r\n [\r\n 'Namibia (Namibië)',\r\n CountryISO.Namibia,\r\n '264'\r\n ],\r\n [\r\n 'Nauru',\r\n CountryISO.Nauru,\r\n '674'\r\n ],\r\n [\r\n 'Nepal (नेपाल)',\r\n CountryISO.Nepal,\r\n '977'\r\n ],\r\n [\r\n 'Netherlands (Nederland)',\r\n CountryISO.Netherlands,\r\n '31'\r\n ],\r\n [\r\n 'New Caledonia (Nouvelle-Calédonie)',\r\n CountryISO.NewCaledonia,\r\n '687'\r\n ],\r\n [\r\n 'New Zealand',\r\n CountryISO.NewZealand,\r\n '64'\r\n ],\r\n [\r\n 'Nicaragua',\r\n CountryISO.Nicaragua,\r\n '505'\r\n ],\r\n [\r\n 'Niger (Nijar)',\r\n CountryISO.Niger,\r\n '227'\r\n ],\r\n [\r\n 'Nigeria',\r\n CountryISO.Nigeria,\r\n '234'\r\n ],\r\n [\r\n 'Niue',\r\n CountryISO.Niue,\r\n '683'\r\n ],\r\n [\r\n 'Norfolk Island',\r\n CountryISO.NorfolkIsland,\r\n '672'\r\n ],\r\n [\r\n 'North Korea (조선 민주주의 인민 공화국)',\r\n CountryISO.NorthKorea,\r\n '850'\r\n ],\r\n [\r\n 'Northern Mariana Islands',\r\n CountryISO.NorthernMarianaIslands,\r\n '1670'\r\n ],\r\n [\r\n 'Norway (Norge)',\r\n CountryISO.Norway,\r\n '47',\r\n 0\r\n ],\r\n [\r\n 'Oman (عُمان)',\r\n CountryISO.Oman,\r\n '968'\r\n ],\r\n [\r\n 'Pakistan (پاکستان)',\r\n CountryISO.Pakistan,\r\n '92'\r\n ],\r\n [\r\n 'Palau',\r\n CountryISO.Palau,\r\n '680'\r\n ],\r\n [\r\n 'Palestine (فلسطين)',\r\n CountryISO.Palestine,\r\n '970'\r\n ],\r\n [\r\n 'Panama (Panamá)',\r\n CountryISO.Panama,\r\n '507'\r\n ],\r\n [\r\n 'Papua New Guinea',\r\n CountryISO.PapuaNewGuinea,\r\n '675'\r\n ],\r\n [\r\n 'Paraguay',\r\n CountryISO.Paraguay,\r\n '595'\r\n ],\r\n [\r\n 'Peru (Perú)',\r\n CountryISO.Peru,\r\n '51'\r\n ],\r\n [\r\n 'Philippines',\r\n CountryISO.Philippines,\r\n '63'\r\n ],\r\n [\r\n 'Poland (Polska)',\r\n CountryISO.Poland,\r\n '48'\r\n ],\r\n [\r\n 'Portugal',\r\n CountryISO.Portugal,\r\n '351'\r\n ],\r\n [\r\n 'Puerto Rico',\r\n CountryISO.PuertoRico,\r\n '1',\r\n 3,\r\n ['787', '939']\r\n ],\r\n [\r\n 'Qatar (قطر)',\r\n CountryISO.Qatar,\r\n '974'\r\n ],\r\n [\r\n 'Réunion (La Réunion)',\r\n CountryISO.Réunion,\r\n '262',\r\n 0\r\n ],\r\n [\r\n 'Romania (România)',\r\n CountryISO.Romania,\r\n '40'\r\n ],\r\n [\r\n 'Russia (Россия)',\r\n CountryISO.Russia,\r\n '7',\r\n 0\r\n ],\r\n [\r\n 'Rwanda',\r\n CountryISO.Rwanda,\r\n '250'\r\n ],\r\n [\r\n 'Saint Barthélemy (Saint-Barthélemy)',\r\n CountryISO.SaintBarthélemy,\r\n '590',\r\n 1\r\n ],\r\n [\r\n 'Saint Helena',\r\n CountryISO.SaintHelena,\r\n '290'\r\n ],\r\n [\r\n 'Saint Kitts and Nevis',\r\n CountryISO.SaintKittsAndNevis,\r\n '1869'\r\n ],\r\n [\r\n 'Saint Lucia',\r\n 'lc',\r\n '1',\r\n 1,\r\n [\r\n '758',\r\n ]\r\n ],\r\n [\r\n 'Saint Martin (Saint-Martin (partie française))',\r\n CountryISO.SaintMartin,\r\n '590',\r\n 2\r\n ],\r\n [\r\n 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\r\n CountryISO.SaintPierreAndMiquelon,\r\n '508'\r\n ],\r\n [\r\n 'Saint Vincent and the Grenadines',\r\n 'vc',\r\n '1',\r\n 1,\r\n [\r\n '784',\r\n ]\r\n ],\r\n [\r\n 'Samoa',\r\n CountryISO.Samoa,\r\n '685'\r\n ],\r\n [\r\n 'San Marino',\r\n CountryISO.SanMarino,\r\n '378'\r\n ],\r\n [\r\n 'São Tomé and Príncipe (São Tomé e Príncipe)',\r\n CountryISO.SãoToméAndPríncipe,\r\n '239'\r\n ],\r\n [\r\n 'Saudi Arabia (المملكة العربية السعودية)',\r\n CountryISO.SaudiArabia,\r\n '966'\r\n ],\r\n [\r\n 'Senegal (Sénégal)',\r\n CountryISO.Senegal,\r\n '221'\r\n ],\r\n [\r\n 'Serbia (Србија)',\r\n CountryISO.Serbia,\r\n '381'\r\n ],\r\n [\r\n 'Seychelles',\r\n CountryISO.Seychelles,\r\n '248'\r\n ],\r\n [\r\n 'Sierra Leone',\r\n CountryISO.SierraLeone,\r\n '232'\r\n ],\r\n [\r\n 'Singapore',\r\n CountryISO.Singapore,\r\n '65'\r\n ],\r\n [\r\n 'Sint Maarten',\r\n 'sx',\r\n '1',\r\n 1,\r\n [\r\n '721',\r\n ]\r\n ],\r\n [\r\n 'Slovakia (Slovensko)',\r\n CountryISO.Slovakia,\r\n '421'\r\n ],\r\n [\r\n 'Slovenia (Slovenija)',\r\n CountryISO.Slovenia,\r\n '386'\r\n ],\r\n [\r\n 'Solomon Islands',\r\n CountryISO.SolomonIslands,\r\n '677'\r\n ],\r\n [\r\n 'Somalia (Soomaaliya)',\r\n CountryISO.Somalia,\r\n '252'\r\n ],\r\n [\r\n 'South Africa',\r\n CountryISO.SouthAfrica,\r\n '27'\r\n ],\r\n [\r\n 'South Korea (대한민국)',\r\n CountryISO.SouthKorea,\r\n '82'\r\n ],\r\n [\r\n 'South Sudan (جنوب السودان)',\r\n CountryISO.SouthSudan,\r\n '211'\r\n ],\r\n [\r\n 'Spain (España)',\r\n CountryISO.Spain,\r\n '34'\r\n ],\r\n [\r\n 'Sri Lanka (ශ්රී ලංකාව)',\r\n CountryISO.SriLanka,\r\n '94'\r\n ],\r\n [\r\n 'Sudan (السودان)',\r\n CountryISO.Sudan,\r\n '249'\r\n ],\r\n [\r\n 'Suriname',\r\n CountryISO.Suriname,\r\n '597'\r\n ],\r\n [\r\n 'Svalbard and Jan Mayen',\r\n CountryISO.SvalbardAndJanMayen,\r\n '47',\r\n 1\r\n ],\r\n [\r\n 'Swaziland',\r\n CountryISO.Swaziland,\r\n '268'\r\n ],\r\n [\r\n 'Sweden (Sverige)',\r\n CountryISO.Sweden,\r\n '46'\r\n ],\r\n [\r\n 'Switzerland (Schweiz)',\r\n CountryISO.Switzerland,\r\n '41'\r\n ],\r\n [\r\n 'Syria (سوريا)',\r\n CountryISO.Syria,\r\n '963'\r\n ],\r\n [\r\n 'Taiwan (台灣)',\r\n CountryISO.Taiwan,\r\n '886'\r\n ],\r\n [\r\n 'Tajikistan',\r\n CountryISO.Tajikistan,\r\n '992'\r\n ],\r\n [\r\n 'Tanzania',\r\n CountryISO.Tanzania,\r\n '255'\r\n ],\r\n [\r\n 'Thailand (ไทย)',\r\n CountryISO.Thailand,\r\n '66'\r\n ],\r\n [\r\n 'Timor-Leste',\r\n CountryISO.TimorLeste,\r\n '670'\r\n ],\r\n [\r\n 'Togo',\r\n CountryISO.Togo,\r\n '228'\r\n ],\r\n [\r\n 'Tokelau',\r\n CountryISO.Tokelau,\r\n '690'\r\n ],\r\n [\r\n 'Tonga',\r\n CountryISO.Tonga,\r\n '676'\r\n ],\r\n [\r\n 'Trinidad and Tobago',\r\n 'tt',\r\n '1',\r\n 1,\r\n [\r\n '868',\r\n ]\r\n ],\r\n [\r\n 'Tunisia (تونس)',\r\n CountryISO.Tunisia,\r\n '216'\r\n ],\r\n [\r\n 'Turkey (Türkiye)',\r\n CountryISO.Turkey,\r\n '90'\r\n ],\r\n [\r\n 'Turkmenistan',\r\n CountryISO.Turkmenistan,\r\n '993'\r\n ],\r\n [\r\n 'Turks and Caicos Islands',\r\n CountryISO.TurksAndCaicosIslands,\r\n '1649'\r\n ],\r\n [\r\n 'Tuvalu',\r\n CountryISO.Tuvalu,\r\n '688'\r\n ],\r\n [\r\n 'U.S. Virgin Islands',\r\n 'vi',\r\n '1',\r\n 1,\r\n [\r\n '340',\r\n ]\r\n ],\r\n [\r\n 'Uganda',\r\n CountryISO.Uganda,\r\n '256'\r\n ],\r\n [\r\n 'Ukraine (Україна)',\r\n CountryISO.Ukraine,\r\n '380'\r\n ],\r\n [\r\n 'United Arab Emirates (الإمارات العربية المتحدة)',\r\n CountryISO.UnitedArabEmirates,\r\n '971'\r\n ],\r\n [\r\n 'United Kingdom',\r\n CountryISO.UnitedKingdom,\r\n '44',\r\n 0\r\n ],\r\n [\r\n 'United States',\r\n CountryISO.UnitedStates,\r\n '1',\r\n 0\r\n ],\r\n [\r\n 'Uruguay',\r\n CountryISO.Uruguay,\r\n '598'\r\n ],\r\n [\r\n 'Uzbekistan (Oʻzbekiston)',\r\n CountryISO.Uzbekistan,\r\n '998'\r\n ],\r\n [\r\n 'Vanuatu',\r\n CountryISO.Vanuatu,\r\n '678'\r\n ],\r\n [\r\n 'Vatican City (Città del Vaticano)',\r\n CountryISO.VaticanCity,\r\n '39',\r\n 1\r\n ],\r\n [\r\n 'Venezuela',\r\n CountryISO.Venezuela,\r\n '58'\r\n ],\r\n [\r\n 'Vietnam (Việt Nam)',\r\n CountryISO.Vietnam,\r\n '84'\r\n ],\r\n [\r\n 'Wallis and Futuna',\r\n CountryISO.WallisAndFutuna,\r\n '681'\r\n ],\r\n [\r\n 'Western Sahara (الصحراء الغربية)',\r\n CountryISO.WesternSahara,\r\n '212',\r\n 1\r\n ],\r\n [\r\n 'Yemen (اليمن)',\r\n CountryISO.Yemen,\r\n '967'\r\n ],\r\n [\r\n 'Zambia',\r\n CountryISO.Zambia,\r\n '260'\r\n ],\r\n [\r\n 'Zimbabwe',\r\n CountryISO.Zimbabwe,\r\n '263'\r\n ],\r\n [\r\n 'Åland Islands',\r\n CountryISO.ÅlandIslands,\r\n '358',\r\n 1\r\n ]\r\n ];\r\n}\r\n","import * as lpn from 'google-libphonenumber';\r\n\r\n/*\r\nWe use \"control: any\" instead of \"control: FormControl\" to silence:\r\n\"Property 'nativeElement' does not exist on type 'FormControl'\".\r\nThis happens because I've expanded control with nativeElement via\r\n'NativeElementInjectorDirective' to get an access to the element.\r\nMore about this approach and reasons for this:\r\nhttps://github.com/angular/angular/issues/18025\r\nhttps://stackoverflow.com/a/54075119/1617590\r\n*/\r\n\r\nexport const phoneNumberValidator = (control: any) => {\r\n if (!control.value) {\r\n return;\r\n }\r\n // Find <input> inside injected nativeElement and get its \"id\".\r\n const el: HTMLElement = control.nativeElement as HTMLElement;\r\n const inputBox: HTMLInputElement | any = el\r\n ? el.querySelector('input[type=\"tel\"]')\r\n : undefined;\r\n if (inputBox) {\r\n const id = inputBox.id;\r\n const isCheckValidation = inputBox.getAttribute('validation');\r\n if (isCheckValidation === 'true') {\r\n const isRequired = control.errors && control.errors.required === true;\r\n const error = { validatePhoneNumber: { valid: false } };\r\n\r\n inputBox.setCustomValidity('Invalid field.');\r\n\r\n let number: lpn.PhoneNumber;\r\n\r\n try {\r\n number = lpn.PhoneNumberUtil.getInstance().parse(\r\n control.value.number,\r\n control.value.countryCode\r\n );\r\n } catch (e) {\r\n if (isRequired) {\r\n return error;\r\n } else {\r\n inputBox.setCustomValidity('');\r\n }\r\n }\r\n\r\n if (control.value) {\r\n // @ts-ignore\r\n if (!number) {\r\n return error;\r\n } else {\r\n if (\r\n !lpn.PhoneNumberUtil.getInstance().isValidNumberForRegion(\r\n number,\r\n control.value.countryCode\r\n )\r\n ) {\r\n return error;\r\n } else {\r\n inputBox.setCustomValidity('');\r\n }\r\n }\r\n }\r\n } else if (isCheckValidation === 'false') {\r\n inputBox.setCustomValidity('');\r\n\r\n control.clearValidators();\r\n }\r\n }\r\n return;\r\n};\r\n","export enum PhoneNumberFormat {\r\n International = 'INTERNATIONAL',\r\n National = 'NATIONAL',\r\n}\r\n","export enum SearchCountryField {\r\n DialCode = 'dialCode',\r\n Iso2 = 'iso2',\r\n Name = 'name',\r\n All = 'all'\r\n}\r\n","export enum InputPhoneSizesEnum {\r\n 'small' = 'mrx-input-phone-sm',\r\n 'medium' = 'mrx-input-phone-md',\r\n 'large' = 'mrx-input-phone-lg',\r\n}\r\n\r\nexport type InputPhoneSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputPhoneValueTypes = string | undefined;\r\n\r\nexport interface InputPhoneValueWithId {\r\n value: any,\r\n id: string\r\n}\r\n","export interface MaskI {\r\n mask: string,\r\n maskPrefix: string\r\n}\r\n\r\nexport interface MaskItem {\r\n [name: string]: MaskI;\r\n}\r\n\r\nexport const MaskCode: MaskItem = {\r\n AR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+54'\r\n },\r\n AM: {\r\n mask: '(00) 000-000',\r\n maskPrefix: '+374'\r\n },\r\n BY: {\r\n mask: '(00) 000-00-00',\r\n maskPrefix: '+375'\r\n },\r\n BR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+55'\r\n },\r\n BN: {\r\n mask: '000-0000',\r\n maskPrefix: '+673'\r\n },\r\n KH: {\r\n mask: '(00) 000-000',\r\n maskPrefix: '+855'\r\n },\r\n CO: {\r\n mask: '(000) 000-0000',\r\n maskPrefix: '+57'\r\n },\r\n CU: {\r\n mask: '(0) 000-0000',\r\n maskPrefix: '+53'\r\n },\r\n EC: {\r\n mask: '(0) 000-0000',\r\n maskPrefix: '+593'\r\n },\r\n EG: {\r\n mask: '(0) 0000-0000',\r\n maskPrefix: '+20'\r\n },\r\n GE: {\r\n mask: '(00) 000-00-00',\r\n maskPrefix: '+995'\r\n },\r\n IN: {\r\n mask: '00000-00000',\r\n maskPrefix: '+91'\r\n },\r\n ID: {\r\n mask: '(00) 000-0000',\r\n maskPrefix: '+62'\r\n },\r\n IR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+98'\r\n },\r\n KZ: {\r\n mask: '00000-0-00-00',\r\n maskPrefix: '+7'\r\n },\r\n KE: {\r\n mask: '00-0000000',\r\n maskPrefix: '+254'\r\n },\r\n KG: {\r\n mask: '000-000-000',\r\n maskPrefix: '+996'\r\n },\r\n LA: {\r\n mask: '00-000-000',\r\n maskPrefix: '+856'\r\n },\r\n MG: {\r\n mask: '00-00-000-00',\r\n maskPrefix: '+261'\r\n },\r\n MY: {\r\n mask: '0-0000-0000',\r\n maskPrefix: '+60'\r\n },\r\n MX: {\r\n mask: '000-000-0000',\r\n maskPrefix: '+52'\r\n },\r\n MM: {\r\n mask: '0-000-000',\r\n maskPrefix: '+95'\r\n },\r\n NI: {\r\n mask: '0000-0000',\r\n maskPrefix: '+505'\r\n },\r\n PE: {\r\n mask: '0-0000000',\r\n maskPrefix: '+51'\r\n },\r\n PH: {\r\n mask: '0-0000-0000',\r\n maskPrefix: '+63'\r\n },\r\n RU: {\r\n mask: '(000) 000-00-00',\r\n maskPrefix: '+7'\r\n },\r\n RS: {\r\n mask: '00-000000',\r\n maskPrefix: '+381'\r\n },\r\n SS: {\r\n mask: '000-000-000',\r\n maskPrefix: '+211'\r\n },\r\n TJ: {\r\n mask: '000-00-0000',\r\n maskPrefix: '+992'\r\n },\r\n TZ: {\r\n mask: '00-000-0000',\r\n maskPrefix: '+255'\r\n },\r\n TH: {\r\n mask: '0-000-0000',\r\n maskPrefix: '+66'\r\n },\r\n TM: {\r\n mask: '(00) 00-00-00',\r\n maskPrefix: '+993'\r\n },\r\n UZ: {\r\n mask: '00-000-00-00',\r\n maskPrefix: '+998'\r\n },\r\n VN: {\r\n mask: '000-0000-000',\r\n maskPrefix: '+84'\r\n },\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n/*\r\n\"Property 'nativeElement' does not exist on type 'FormControl'\".\r\n'NativeElementInjectorDirective' injects nativeElement to each control,\r\nso we can access it from inside validator for example.\r\nMore about this approach and reasons for this:\r\nhttps://github.com/angular/angular/issues/18025\r\nhttps://stackoverflow.com/a/54075119/1617590\r\n*/\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[ngModel], [formControl], [formControlName]',\r\n})\r\nexport class NativeElementInjectorDirective implements OnInit {\r\n constructor(\r\n private controlDir: NgControl,\r\n private host: ElementRef<HTMLFormElement>\r\n ) {}\r\n ngOnInit() {\r\n if (this.controlDir.control) {\r\n // @ts-ignore\r\n this.controlDir.control['nativeElement'] = this.host.nativeElement;\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { CountryCode } from './data/country-code';\r\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { phoneNumberValidator } from './input-phone.validator';\r\nimport { PhoneNumberFormat } from './enums/phone-number-format.enum';\r\nimport { SearchCountryField } from './enums/search-country-field.enum';\r\nimport { CountryISO } from './enums/country-iso.enum';\r\nimport { Country } from './models/country.model';\r\nimport { ChangeData } from './interfaces/change-data';\r\n\r\nimport * as lpn from 'google-libphonenumber';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\nimport {\r\n InputPhoneSizesEnum,\r\n InputPhoneSizesTypes,\r\n InputPhoneValueTypes,\r\n InputPhoneValueWithId\r\n} from './enums/input-phone.enum';\r\nimport { MaskCode, MaskI } from './enums/mask.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-phone',\r\n templateUrl: './input-phone.component.html',\r\n styleUrls: ['./input-phone.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n CountryCode,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputPhoneComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useValue: phoneNumberValidator,\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputPhoneComponent implements ControlValueAccessor, OnInit, OnChanges {\r\n public innerMask = ''\r\n public innerMaskPrefix = ''\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() value: InputPhoneValueTypes = '';\r\n @Input() preferredCountries: Array<string> = [];\r\n @Input() enablePlaceholder = true;\r\n @Input() customPlaceholder!: string;\r\n @Input() numberFormat: PhoneNumberFormat = PhoneNumberFormat.International;\r\n @Input() cssClass = 'form-control';\r\n @Input() onlyCountries: Array<string> = [];\r\n @Input() enableAutoCountrySelect = true;\r\n @Input() searchCountryFlag = false;\r\n @Input() searchCountryField: SearchCountryField[] = [SearchCountryField.All];\r\n @Input() searchCountryPlaceholder = 'Search Country';\r\n @Input() maxLength!: number;\r\n @Input() minLength!: number;\r\n @Input() selectFirstCountry = true;\r\n @Input() selectedCountryISO: any = CountryISO.Russia;\r\n @Input() phoneValidation = true;\r\n @Input() inputId = 'phone';\r\n @Input() separateDialCode = false;\r\n @Input() customClasses = '';\r\n @Input() disabled = false;\r\n @Input() size: InputPhoneSizesTypes = 'large';\r\n\r\n // MASK\r\n @Input() autoMask = false;\r\n @Input() mask = '';\r\n @Input() maskPrefix = '';\r\n @Input() showMaskTyped = false;\r\n @Input() maskDropSpecialCharacters: boolean | string[] = true;\r\n\r\n // VALIDATION\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n separateDialCodeClass!: string;\r\n\r\n @Output() readonly countryChange = new EventEmitter<Country>();\r\n @Output() numberChange = new EventEmitter<ChangeData | null>()\r\n @Output() public modelChange: EventEmitter<InputPhoneValueWithId> = new EventEmitter<InputPhoneValueWithId>();\r\n\r\n selectedCountry: Country = {\r\n areaCodes: undefined,\r\n dialCode: '',\r\n htmlId: '',\r\n flagClass: '',\r\n iso2: '',\r\n name: '',\r\n placeHolder: '',\r\n priority: 0,\r\n };\r\n\r\n phoneNumber: string | undefined = '';\r\n allCountries: Array<Country> = [];\r\n preferredCountriesInDropDown: Array<Country> = [];\r\n // Has to be 'any' to prevent a need to install @types/google-libphonenumber by the package user...\r\n phoneUtil: any = lpn.PhoneNumberUtil.getInstance();\r\n\r\n errors: Array<any> = ['Phone number is required.'];\r\n countrySearchText = '';\r\n\r\n @ViewChild('countryList') countryList!: ElementRef;\r\n @ViewChild('phoneInput') phoneInput!: ElementRef;\r\n\r\n onTouched = () => {\r\n };\r\n // propagateChange = (_: ChangeData) => {};\r\n propagateChange = (_: string) => {\r\n };\r\n\r\n constructor(private countryCodeData: CountryCode, private sanitization: DomSanitizer) {\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputPhoneSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get selectedMask(): MaskI {\r\n return this.getAutoMaskObject\r\n }\r\n\r\n public get getAutoMaskObject(): MaskI {\r\n if (this.autoMask && this.selectedCountry.mask) {\r\n return this.selectedCountry.mask\r\n } else {\r\n return {mask: this.mask, maskPrefix: this.maskPrefix}\r\n }\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minLength) {\r\n return !!this.value && this.value.length >= this.minLength;\r\n }\r\n return true;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const selectedISO = changes['selectedCountryISO'];\r\n if (\r\n this.allCountries &&\r\n selectedISO &&\r\n selectedISO.currentValue !== selectedISO.previousValue\r\n ) {\r\n this.updateSelectedCountry();\r\n }\r\n if (changes['preferredCountries']) {\r\n this.updatePreferredCountries();\r\n }\r\n this.checkSeparateDialCodeStyle();\r\n }\r\n\r\n getSafeUrl(filePreviewUrl: string) {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + filePreviewUrl + '\\')');\r\n }\r\n\r\n /*\r\n This is a wrapper method to avoid calling this.ngOnInit() in writeValue().\r\n Ref: http://codelyzer.com/rules/no-life-cycle-call/\r\n */\r\n init() {\r\n this.fetchCountryData();\r\n\r\n if (this.preferredCountries.length) {\r\n this.updatePreferredCountries();\r\n }\r\n if (this.onlyCountries.length) {\r\n this.allCountries = this.allCountries.filter((c) =>\r\n this.onlyCountries.includes(c.iso2)\r\n );\r\n }\r\n if (this.selectFirstCountry) {\r\n if (this.preferredCountriesInDropDown.length) {\r\n this.setSelectedCountry(this.preferredCountriesInDropDown[0]);\r\n } else {\r\n this.setSelectedCountry(this.allCountries[0]);\r\n }\r\n }\r\n this.updateSelectedCountry();\r\n this.checkSeparateDialCodeStyle();\r\n this._updateMask()\r\n }\r\n\r\n setSelectedCountry(country: Country) {\r\n this.selectedCountry = country;\r\n this.countryChange.emit(country);\r\n }\r\n\r\n private formatValue(value: string): string {\r\n const cleanedValue = value.replace(/[\\s-()]/g, '')\r\n\r\n if (this.autoMask) {\r\n return value === this.innerMaskPrefix ? '' : cleanedValue\r\n } else {\r\n return cleanedValue.length === this.maskPrefix.length ? '' : cleanedValue\r\n }\r\n }\r\n\r\n private _updateMask(): void {\r\n if (this.autoMask) {\r\n this.innerMask = ''\r\n this.innerMaskPrefix = ''\r\n\r\n if (this.phoneInput) {\r\n this.phoneInput.nativeElement.value = ' '\r\n this.value = ' '\r\n this.phoneNumber = ' '\r\n }\r\n setTimeout(() => {\r\n if (this.selectedCountry.mask) {\r\n this.innerMask = this.selectedCountry.mask.mask\r\n this.innerMaskPrefix = this.selectedCountry.mask.maskPrefix\r\n } else {\r\n this.innerMask = ''\r\n this.innerMaskPrefix = ''\r\n }\r\n }, 0)\r\n }\r\n }\r\n\r\n public searchCountry() {\r\n if (!this.countrySearchText) {\r\n this.countryList.nativeElement\r\n .querySelector('.mrx-input-phone__country-list li')\r\n .scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n return;\r\n }\r\n const countrySearchTextLower = this.countrySearchText.toLowerCase();\r\n // @ts-ignore\r\n const country = this.allCountries.filter((c) => {\r\n if (this.searchCountryField.indexOf(SearchCountryField.All) > -1) {\r\n // Search in all fields\r\n if (c.iso2.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n if (c.name.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n if (c.dialCode.startsWith(this.countrySearchText)) {\r\n return c;\r\n }\r\n } else {\r\n // Or search by specific SearchCountryField(s)\r\n if (this.searchCountryField.indexOf(SearchCountryField.Iso2) > -1) {\r\n if (c.iso2.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n }\r\n if (this.searchCountryField.indexOf(SearchCountryField.Name) > -1) {\r\n if (c.name.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n }\r\n if (this.searchCountryField.indexOf(SearchCountryField.DialCode) > -1) {\r\n if (c.dialCode.startsWith(this.countrySearchText)) {\r\n return c;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (country.length > 0) {\r\n const el = this.countryList.nativeElement.querySelector(\r\n '#' + country[0].htmlId\r\n );\r\n if (el) {\r\n el.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }\r\n\r\n this.checkSeparateDialCodeStyle();\r\n }\r\n\r\n public onPhoneNumberChange(): void {\r\n let countryCode: string | undefined;\r\n // Handle the case where the user sets the value programatically based on a persisted ChangeData obj.\r\n if (this.phoneNumber && typeof this.phoneNumber === 'object') {\r\n const numberObj: ChangeData = this.phoneNumber;\r\n this.phoneNumber = numberObj.number;\r\n countryCode = numberObj.countryCode;\r\n }\r\n\r\n this.value = this.phoneNumber;\r\n countryCode = countryCode || this.selectedCountry.iso2;\r\n // @ts-ignore\r\n const number = this.getParsedNumber(this.phoneNumber, countryCode);\r\n\r\n // auto select country based on the extension (and areaCode if needed) (e.g select Canada if number starts with +1 416)\r\n if (this.enableAutoCountrySelect) {\r\n countryCode =\r\n number && number.getCountryCode()\r\n // @ts-ignore\r\n ? this.getCountryIsoCode(number.getCountryCode(), number)\r\n : this.selectedCountry.iso2;\r\n if (countryCode && countryCode !== this.selectedCountry.iso2) {\r\n const newCountry = this.allCountries\r\n .sort((a, b) => {\r\n return a.priority - b.priority;\r\n })\r\n .find((c) => c.iso2 === countryCode);\r\n if (newCountry) {\r\n this.selectedCountry = newCountry;\r\n }\r\n }\r\n }\r\n countryCode = countryCode ? countryCode : this.selectedCountry.iso2;\r\n\r\n this.checkSeparateDialCodeStyle();\r\n\r\n if (!this.value || (this.autoMask && this.innerMaskPrefix === this.value)) {\r\n // Reason: avoid https://stackoverflow.com/a/54358133/1617590\r\n // tslint:disable-next-line: no-null-keyword\r\n\r\n this.value = ''\r\n // @ts-ignore\r\n this.propagateChange(null);\r\n this.numberChange.emit(null)\r\n this.modelChange.emit({value: null, id: this.uuid})\r\n } else {\r\n const intlNo = number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.INTERNATIONAL)\r\n : '';\r\n\r\n // parse phoneNumber if separate dial code is needed\r\n if (this.separateDialCode && intlNo) {\r\n this.value = this.removeDialCode(intlNo);\r\n }\r\n\r\n this.propagateChange(this.value)\r\n const emitValue = {\r\n number: this.value,\r\n internationalNumber: intlNo,\r\n nationalNumber: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.NATIONAL)\r\n : '',\r\n e164Number: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.E164)\r\n : '',\r\n countryCode: countryCode.toUpperCase(),\r\n dialCode: '+' + this.selectedCountry.dialCode,\r\n unFormatNumber: this.formatValue(this.value)\r\n }\r\n this.numberChange.emit(emitValue)\r\n this.modelChange.emit({value: emitValue, id: this.uuid})\r\n }\r\n }\r\n\r\n public onCountrySelect(country: Country, el: { focus: () => void; }): void {\r\n\r\n if (this.autoMask) {\r\n this.setSelectedCountry(({\r\n areaCodes: undefined,\r\n dialCode: '',\r\n htmlId: '',\r\n flagClass: '',\r\n iso2: '',\r\n name: '',\r\n placeHolder: '',\r\n priority: 0,\r\n }))\r\n this.phoneNumber = ''\r\n }\r\n\r\n this.setSelectedCountry(country);\r\n\r\n this.checkSeparateDialCodeStyle();\r\n\r\n if (this.phoneNumber && this.phoneNumber.length > 0) {\r\n this.value = this.phoneNumber;\r\n const number = this.getParsedNumber(\r\n this.phoneNumber,\r\n this.selectedCountry.iso2\r\n );\r\n const intlNo = number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.INTERNATIONAL)\r\n : '';\r\n // parse phoneNumber if separate dial code is needed\r\n if (this.separateDialCode && intlNo) {\r\n this.value = this.removeDialCode(intlNo);\r\n }\r\n\r\n const emitValue = {\r\n number: this.value,\r\n internationalNumber: intlNo,\r\n nationalNumber: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.NATIONAL)\r\n : '',\r\n e164Number: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.E164)\r\n : '',\r\n countryCode: this.selectedCountry.iso2.toUpperCase(),\r\n dialCode: '+' + this.selectedCountry.dialCode,\r\n unFormatNumber: this.formatValue(this.value)\r\n }\r\n\r\n this.numberChange.emit(emitValue)\r\n this.modelChange.emit({value: emitValue, id: this.uuid})\r\n\r\n this.propagateChange(this.value)\r\n } else {\r\n this.propagateChange('');\r\n\r\n this.numberChange.emit(null)\r\n this.modelChange.emit({value: null, id: this.uuid})\r\n }\r\n this._updateMask()\r\n }\r\n\r\n public onInputKeyPress(event: KeyboardEvent): void {\r\n const allowedChars = /[0-9\\+\\-\\(\\)\\ ]/;\r\n const allowedCtrlChars = /[axcv]/;\r\n const allowedOtherKeys = [\r\n 'ArrowLeft',\r\n 'ArrowUp',\r\n 'ArrowRight',\r\n 'ArrowDown',\r\n 'Home',\r\n 'End',\r\n 'Insert',\r\n 'Delete',\r\n 'Backspace',\r\n ];\r\n\r\n if (\r\n !allowedChars.test(event.key) &&\r\n !(event.ctrlKey && allowedCtrlChars.test(event.key)) &&\r\n !allowedOtherKeys.includes(event.key)\r\n ) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === undefined) {\r\n this.init();\r\n }\r\n this.phoneNumber = obj;\r\n }\r\n\r\n resolvePlaceholder(): string {\r\n let placeholder = '';\r\n if (this.customPlaceholder) {\r\n placeholder = this.customPlaceholder;\r\n } else if (this.selectedCountry.placeHolder) {\r\n placeholder = this.selectedCountry.placeHolder;\r\n if (this.separateDialCode) {\r\n placeholder = this.removeDialCode(placeholder);\r\n }\r\n }\r\n return placeholder;\r\n }\r\n\r\n /* --------------------------------- Helpers -------------------------------- */\r\n /**\r\n * Returns parse PhoneNumber object.\r\n * @param phoneNumber string\r\n * @param countryCode string\r\n */\r\n private getParsedNumber(\r\n phoneNumber: string,\r\n countryCode: string\r\n ): lpn.PhoneNumber {\r\n let number: lpn.PhoneNumber;\r\n try {\r\n number = this.phoneUtil.parse(phoneNumber, countryCode.toUpperCase());\r\n } catch (e) {\r\n }\r\n // @ts-ignore\r\n return number;\r\n }\r\n\r\n /**\r\n * Adjusts input alignment based on the dial code presentation style.\r\n */\r\n private checkSeparateDialCodeStyle() {\r\n if (this.separateDialCode && this.selectedCountry) {\r\n const cntryCd = this.selectedCountry.dialCode;\r\n this.separateDialCodeClass =\r\n 'separate-dial-code iti-sdc-' + (cntryCd.length + 1);\r\n } else {\r\n this.separateDialCodeClass = '';\r\n }\r\n }\r\n\r\n /**\r\n * Cleans dialcode from phone number string.\r\n * @param phoneNumber string\r\n */\r\n private removeDialCode(phoneNumber: string): string {\r\n const number = this.getParsedNumber(phoneNumber, this.selectedCountry.iso2);\r\n phoneNumber = this.phoneUtil.format(\r\n number,\r\n lpn.PhoneNumberFormat[this.numberFormat]\r\n );\r\n if (phoneNumber.startsWith('+') && this.separateDialCode) {\r\n phoneNumber = phoneNumber.substr(phoneNumber.indexOf(' ') + 1);\r\n }\r\n return phoneNumber;\r\n }\r\n\r\n /**\r\n * Sifts through all countries and returns iso code of the primary country\r\n * based on the number provided.\r\n * @param countryCode country code in number format\r\n * @param number PhoneNumber object\r\n */\r\n private getCountryIsoCode(\r\n countryCode: number,\r\n number: lpn.PhoneNumber\r\n ): string | undefined {\r\n // Will use this to match area code from the first numbers\r\n // @ts-ignore\r\n const rawNumber = number['values_']['2'].toString();\r\n // List of all countries with countryCode (can be more than one. e.x. US, CA, DO, PR all have +1 countryCode)\r\n const countries = this.allCountries.filter(\r\n (c) => c.dialCode === countryCode.toString()\r\n );\r\n // Main country is the country, which has no areaCodes specified in country-code.ts file.\r\n const mainCountry = countries.find((c) => c.areaCodes === undefined);\r\n // Secondary countries are all countries, which have areaCodes specified in country-code.ts file.\r\n const secondaryCountries = countries.filter(\r\n (c) => c.areaCodes !== undefined\r\n );\r\n let matchedCountry = mainCountry ? mainCountry.iso2 : undefined;\r\n\r\n /*\r\n Iterate over each secondary country and check if nationalNumber starts with any of areaCodes available.\r\n If no matches found, fallback to the main country.\r\n */\r\n secondaryCountries.forEach((country) => {\r\n // @ts-ignore\r\n country.areaCodes.forEach((areaCode) => {\r\n if (rawNumber.startsWith(areaCode)) {\r\n matchedCountry = country.iso2;\r\n }\r\n });\r\n });\r\n\r\n return matchedCountry;\r\n }\r\n\r\n /**\r\n * Gets formatted example phone number from phoneUtil.\r\n * @param countryCode string\r\n */\r\n protected getPhoneNumberPlaceHolder(countryCode: string): string {\r\n try {\r\n return this.phoneUtil.format(\r\n this.phoneUtil.getExampleNumber(countryCode),\r\n lpn.PhoneNumberFormat[this.numberFormat]\r\n );\r\n } catch (e) {\r\n // @ts-ignore\r\n return e;\r\n }\r\n }\r\n\r\n protected getPhoneNumberMask(countryCode: string): MaskI {\r\n try {\r\n return MaskCode[countryCode]\r\n } catch (e) {\r\n // @ts-ignore\r\n return e;\r\n }\r\n }\r\n\r\n /**\r\n * Clearing the list to avoid duplicates (https://github.com/webcat12345/ngx-intl-tel-input/issues/248)\r\n */\r\n protected fetchCountryData(): void {\r\n this.allCountries = [];\r\n\r\n this.countryCodeData.allCountries.forEach((c) => {\r\n const country: Country = {\r\n name: c[0].toString(),\r\n iso2: c[1].toString(),\r\n dialCode: c[2].toString(),\r\n priority: +c[3] || 0,\r\n areaCodes: (c[4] as string[]) || undefined,\r\n htmlId: `iti-0__item-${c[1].toString()}`,\r\n flagClass: `iti__${c[1].toString().toLocaleLowerCase()}`,\r\n placeHolder: '',\r\n };\r\n\r\n if (this.enablePlaceholder) {\r\n country.placeHolder = this.getPhoneNumberPlaceHolder(\r\n country.iso2.toUpperCase()\r\n );\r\n }\r\n\r\n if (this.autoMask) {\r\n country.mask = this.getPhoneNumberMask(country.iso2.toUpperCase())\r\n }\r\n\r\n this.allCountries.push(country);\r\n });\r\n }\r\n\r\n /**\r\n * Populates preferredCountriesInDropDown with prefferred countries.\r\n */\r\n private updatePreferredCountries() {\r\n if (this.preferredCountries.length) {\r\n this.preferredCountriesInDropDown = [];\r\n this.preferredCountries.forEach((iso2) => {\r\n const preferredCountry = this.allCountries.filter((c) => {\r\n return c.iso2 === iso2;\r\n });\r\n\r\n this.preferredCountriesInDropDown.push(preferredCountry[0]);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Updates selectedCountry.\r\n */\r\n private updateSelectedCountry() {\r\n if (this.selectedCountryISO) {\r\n // @ts-ignore\r\n this.selectedCountry = this.allCountries.find((c) => {\r\n return c.iso2.toLowerCase() === this.selectedCountryISO.toLowerCase();\r\n });\r\n if (this.selectedCountry) {\r\n if (this.phoneNumber) {\r\n this.onPhoneNumberChange();\r\n } else {\r\n this.propagateChange('');\r\n this.numberChange.emit(null)\r\n // this.modelChange.emit({value: null, id: this.uuid})\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"mrx-input-phone\" [class]=\"getClasses\" [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-phone__wrapper\" [ngClass]=\"separateDialCodeClass\">\r\n <input\r\n #phoneInput\r\n type=\"tel\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"phoneNumber\"\r\n (ngModelChange)=\"onPhoneNumberChange()\"\r\n [ngClass]=\"cssClass\"\r\n [autocomplete]=\"'off'\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"resolvePlaceholder()\"\r\n [attr.maxLength]=\"maxLength\"\r\n [attr.validation]=\"phoneValidation\"\r\n [mask]=\"innerMask || mask\"\r\n [prefix]=\"innerMaskPrefix || maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"autoMask ? false : maskDropSpecialCharacters\"\r\n (blur)=\"onTouched()\"\r\n (keypress)=\"onInputKeyPress($event)\"\r\n #focusable\r\n >\r\n <div class=\"mrx-input-phone__flag-container\" [ngClass]=\"{'disabled': disabled}\">\r\n <mrx-dropdown customClasses=\"h-100\" [mainPlacement]=\"'bottom-start'\" [fallbackPlacements]=\"['top-start']\">\r\n <ng-template #dropdownToggle>\r\n <div class=\"mrx-input-phone__selected-flag dropdown-toggle\">\r\n <div\r\n class=\"mrx-input-phone__flag\"\r\n [ngClass]=\"selectedCountry.flagClass || ''\"\r\n ></div>\r\n <div *ngIf=\"separateDialCode\" class=\"selected-dial-code\">+{{selectedCountry.dialCode}}</div>\r\n <div class=\"mrx-input-phone__arrow\">\r\n <span class=\"mrx-icon icon-chevron-down\"></span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #dropdownMenu>\r\n <div class=\"search-container\" *ngIf=\"searchCountryFlag && searchCountryField\">\r\n <input id=\"country-search-box\"\r\n [(ngModel)]=\"countrySearchText\"\r\n (keyup)=\"searchCountry()\"\r\n (click)=\"$event.stopPropagation()\"\r\n [placeholder]=\"searchCountryPlaceholder\"\r\n autofocus>\r\n </div>\r\n\r\n <ul class=\"mrx-input-phone__country-list\" #countryList>\r\n <li class=\"mrx-input-phone__country iti__preferred\"\r\n *ngFor=\"let country of preferredCountriesInDropDown\"\r\n (click)=\"onCountrySelect(country, focusable)\"\r\n [id]=\"country.htmlId+'-preferred'\">\r\n <div class=\"mrx-input-phone__flag-box\">\r\n <div class=\"mrx-input-phone__flag\"\r\n [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-phone__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-phone__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n <li class=\"mrx-input-phone__divider\" *ngIf=\"preferredCountriesInDropDown?.length\"></li>\r\n\r\n <li class=\"mrx-input-phone__country iti__standard\"\r\n *ngFor=\"let country of allCountries\"\r\n (click)=\"onCountrySelect(country, focusable)\"\r\n [id]=\"country.htmlId\">\r\n <div class=\"mrx-input-phone__flag-box\">\r\n <div class=\"mrx-input-phone__flag\" [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-phone__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-phone__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n </ul>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputPhoneComponent } from './input-phone.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NativeElementInjectorDirective } from './directives/native-element-injector.directive';\r\nimport { DropdownModule } from '../../dropdown/dropdown.module';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputPhoneComponent, NativeElementInjectorDirective],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DropdownModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgxMaskDirective\r\n ],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputPhoneComponent]\r\n})\r\nexport class InputPhoneModule {\r\n\r\n}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string;\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n\r\nexport type InputDateTimeValidation = 'default' | 'double'\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateDateModel = (value: string): DateModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const dateArray = splitDateAndTime[0].split('.')\r\n const day = validateDay(dateArray[0]) || ''\r\n const month = validateMonth(dateArray[1]) || ''\r\n const year = dateArray[2] || ''\r\n\r\n return {\r\n view: `${day}${month ? '.' + month : ''}${year ? '.' + year : value[5] ? '.' + '' : ''}`,\r\n day: day,\r\n month: month,\r\n year: year,\r\n invalid: !(dayjs(`${dateArray[2]}-${dateArray[1]}-${dateArray[0]}`, 'YYYY-MM-DD').isValid() && splitDateAndTime[0].length === 10)\r\n }\r\n}\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const timeArray = splitDateAndTime[1] ? splitDateAndTime[1].split(':') : ''\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n const seconds = '00'\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n second: seconds,\r\n invalid: !!splitDateAndTime[1] ? splitDateAndTime[1].length !== 5 : true\r\n }\r\n}\r\n\r\nexport const validateDay = (value: string): string => {\r\n if (Number(value) > 31) {\r\n return '31'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMonth = (value: string): string => {\r\n if (Number(value) > 12) {\r\n return '12'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type DateModel = {\r\n view: string,\r\n day: string,\r\n month: string,\r\n year: string,\r\n invalid: boolean\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n second: string,\r\n invalid: boolean\r\n}\r\n\r\nconst validateDateYear = (date: number | string): string => {\r\n switch (String(date).length) {\r\n case 3:\r\n return '0' + date\r\n case 2:\r\n return '00' + date\r\n case 1:\r\n return '000' + date\r\n default:\r\n return String(date)\r\n }\r\n}\r\n","import { DateModel, TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const dateModelConstant: DateModel = {\r\n view: '',\r\n day: '',\r\n month: '',\r\n year: '',\r\n invalid: true\r\n}\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n second: '',\r\n invalid: true\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs from 'dayjs';\r\n\r\nexport const dateModelValueParse = (value: string, format: string): DateModel => {\r\n const date = dayjs(value, format)\r\n\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const formattedYear = validateDateYear(year)\r\n const dateString = `${String(formattedYear)}.${String(formattedMonth)}.${String(formattedDay)}`\r\n\r\n return {\r\n view: dayjs(dateString).format('DD.MM.YYYY'),\r\n day: formattedDay,\r\n month: formattedMonth,\r\n year: formattedYear,\r\n invalid: !(dayjs(dateString).isValid() && dateString.length === 10)\r\n }\r\n}\r\n\r\nexport const timeModelValueParse = (value: string, format: string): TimeModel => {\r\n const date = dayjs(value, format)\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const second = '00'\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n second: second,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n\r\nconst validateDateYear = (date: number): string => {\r\n switch (String(date).length) {\r\n case 3:\r\n return '0' + date\r\n case 2:\r\n return '00' + date\r\n case 1:\r\n return '000' + date\r\n default:\r\n return String(date)\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n } else if (start >= 7 && start <= 9) {\r\n return {start: 6, end: 10}\r\n } else if (start === 12) {\r\n return {start: 11, end: 13}\r\n } else if (start === 15) {\r\n return {start: 14, end: 16}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string, format: string): string => {\r\n return dayjs(value).format(format)\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const getDateDayjsObject = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Dayjs => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm')\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD')\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\nimport { DateModel, TimeModel } from './validate-value-models';\r\n\r\nexport const getDateObject = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Date => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm').toDate()\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD').toDate()\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker';\r\nimport {\r\n InputDateSizesEnum,\r\n InputDateSizesTypes, InputDateTimeValidation,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-datepicker.enum';\r\nimport { DateModel, TimeModel, validateDateModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { dateModelConstant, timeModelConstant } from './constants/value-models';\r\nimport { dateModelValueParse, timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { getDateDayjsObject } from './helpers/get-date-dayjs-object';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport localeEn from 'air-datepicker/locale/en';\r\nimport localeRu from 'air-datepicker/locale/ru';\r\nimport { Field } from '../../../services';\r\nimport { getDateObject } from './helpers/get-date-object';\r\n\r\n@Component({\r\n selector: 'mrx-input-datepicker',\r\n templateUrl: 'input-datepicker.component.html',\r\n styleUrls: ['input-datepicker.components.less'],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputDatepickerComponent), multi: true }\r\n ]\r\n})\r\nexport class InputDatepickerComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any;\r\n public value: any = '';\r\n public dateModel: DateModel = dateModelConstant;\r\n public timeModel: TimeModel = timeModelConstant;\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public format = 'YYYY-MM-DD HH:mm';\r\n @Input() public locale: 'ru' | 'en' = 'ru';\r\n @Input() public customClasses = '';\r\n @Input() public dateLabel = '';\r\n @Input() public timeLabel = '';\r\n @Input() public datePlaceholder = 'дд.мм.гггг'; // deprecated\r\n @Input() public placeholder = 'дд.мм.гггг';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public timepicker = false;\r\n @Input() public minDate = '';\r\n @Input() public maxDate = '';\r\n @Input() public inline = false;\r\n @Input() public closable = true;\r\n\r\n @Input() public leadZeroDateTime = false;\r\n @Input() public mask = '00.00.0000 00:m0';\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public validationType: InputDateTimeValidation = 'default';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public isShowMessages = true;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: this.getLocale,\r\n autoClose: true,\r\n multipleDatesSeparator: ' - ',\r\n timepicker: this.timepicker,\r\n minDate: this.minDate ? dayjs(this.minDate, this.format).toDate() : '',\r\n maxDate: this.maxDate ? dayjs(this.maxDate, this.format).toDate() : '',\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({ date, formattedDate, datepicker }) => {\r\n\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.dateModel = validateDateModel(formattedDate);\r\n this.timeModel = validateTimeModel(formattedDate);\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxDate']) {\r\n if (this.validationType === 'double') {\r\n const invalid = this.innerInvalid;\r\n this.dt.update({ maxDate: this.maxDate ? dayjs(this.maxDate, this.format).toDate() : '' });\r\n this.value && this.dt.selectDate(dayjs(this.value, this.format).toDate(), { updateTime: this.timepicker, silent: true });\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate);\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }, 0);\r\n }\r\n } else {\r\n // console.log(changes['maxDate']);\r\n }\r\n } else if (changes['minDate']) {\r\n if (this.validationType === 'double') {\r\n const invalid = this.innerInvalid;\r\n this.dt.update({ minDate: this.minDate ? dayjs(this.minDate, this.format).toDate() : '' });\r\n this.value && this.dt.selectDate(dayjs(this.value, this.format).toDate(), { updateTime: this.timepicker, silent: true });\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate);\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }, 0);\r\n }\r\n } else {\r\n // console.log(changes['minDate']);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.dateModel.view}${this.timepicker && this.timeModel.view ? ' ' + this.timeModel.view : ''}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.dateModel.invalid && (this.timepicker ? !this.timeModel.invalid : true);\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value && this.closable;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n private get getLocale() {\r\n return this.locale === 'ru' ? { ...localeRu, dateFormat: 'dd.MM.yyyy', timeFormat: 'HH:mm' } : { ...localeEn, dateFormat: 'dd.MM.yyyy', timeFormat: 'HH:mm' }\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus();\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date());\r\n this.dt && this.dt.clear();\r\n this.dateModel = dateModelConstant;\r\n this.timeModel = timeModelConstant;\r\n this.updateValue('');\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n private updateValueModel(dateModel: DateModel, timeModel: TimeModel, bol: boolean = false) {\r\n if (dateModel.view === '') {\r\n this.clickToIconClear();\r\n } else {\r\n const date = getDateDayjsObject(dateModel, timeModel, this.timepicker);\r\n const formattingDate = date.format(this.format);\r\n const isValid = this.checkingInvalid(formattingDate, this.maxDate, this.minDate);\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(getDateObject(dateModel, timeModel, this.timepicker), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n });\r\n this.dt.setViewDate(getDateObject(dateModel, timeModel, this.timepicker));\r\n this.updateValue(formattingDate);\r\n }\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true;\r\n this.innerInvalidMessage = message;\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n const selectionStart = dateInput.selectionStart;\r\n this.dateModel = validateDateModel(dateInput.value);\r\n this.timeModel = validateTimeModel(dateInput.value);\r\n\r\n dateInput.value = this.getDateValue;\r\n dateInput.selectionStart = selectionStart;\r\n dateInput.selectionEnd = dateInput.selectionStart;\r\n\r\n if (this.isValidModels || this.dateModel.view === '') {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const { start, end } = markPosition(input.selectionStart, input.selectionEnd);\r\n input.selectionStart = start;\r\n input.selectionEnd = end;\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n if (!this.isShowMessages) {\r\n this.invalidMessageOff();\r\n return true\r\n }\r\n\r\n if (maxDate && (dayjs(value, this.format).diff(dayjs(maxDate, this.format)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n return false;\r\n } else if (maxDate && (dayjs(value, this.format).diff(dayjs(maxDate, this.format)) > 0)) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n return false;\r\n } else if (minDate && (dayjs(value, this.format).diff(dayjs(minDate, this.format)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n return false;\r\n } else if (minDate && dayjs(value, this.format).diff(dayjs(minDate, this.format)) < 0) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n return false;\r\n } else {\r\n this.invalidMessageOff();\r\n return true;\r\n }\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n this.value = cleanDate(outsideValue, this.format);\r\n\r\n this.dateModel = dateModelValueParse(outsideValue, this.format);\r\n this.timeModel = timeModelValueParse(outsideValue, this.format);\r\n\r\n this.checkingInvalid(outsideValue, this.maxDate, this.minDate);\r\n\r\n this.dt.selectDate(getDateObject(this.dateModel, this.timeModel, this.timepicker), { updateTime: this.timepicker, silent: true });\r\n this.dt.setViewDate(getDateObject(this.dateModel, this.timeModel, this.timepicker));\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear();\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <mrx-label *ngIf=\"timeLabel || dateLabel\">{{ dateLabel }}</mrx-label>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"leadZeroDateTime\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled || readonly\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon && !(disabled || readonly)\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputDatepickerComponent } from './input-datepicker.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputDatepickerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskDirective\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputDatepickerComponent],\r\n})\r\nexport class InputDatepickerModule {}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string;\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n\r\n/**\r\n * Пример использования <br/>\r\n * message=\"Не более {diff} дней\" <br/>\r\n * @param hour = 0 - 23\r\n * @param minute = 0 - 59\r\n */\r\nexport interface ExtraTime {\r\n hour: string\r\n minute: string\r\n}\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateDateModel = (value: string): DateModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const dateArray = splitDateAndTime[0].split('.')\r\n const day = validateDay(dateArray[0]) || ''\r\n const month = validateMonth(dateArray[1]) || ''\r\n const year = dateArray[2] || ''\r\n\r\n return {\r\n view: `${day}${month ? '.' + month : ''}${year ? '.' + year : value[5] ? '.' + '' : ''}`,\r\n day: day,\r\n month: month,\r\n year: year,\r\n invalid: !(dayjs(`${dateArray[2]}-${dateArray[1]}-${dateArray[0]}`, 'YYYY-MM-DD').isValid() && splitDateAndTime[0].length === 10)\r\n }\r\n}\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const timeArray = splitDateAndTime[1] ? splitDateAndTime[1].split(':') : ''\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n invalid: !!splitDateAndTime[1] ? splitDateAndTime[1].length !== 5 : true\r\n }\r\n}\r\n\r\nexport const validateDay = (value: string): string => {\r\n if (Number(value) > 31) {\r\n return '31'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMonth = (value: string): string => {\r\n if (Number(value) > 12) {\r\n return '12'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type DateModel = {\r\n view: string,\r\n day: string,\r\n month: string,\r\n year: string,\r\n invalid: boolean\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n invalid: boolean\r\n}\r\n","import { DateModel, TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const dateModelConstant: DateModel = {\r\n view: '',\r\n day: '',\r\n month: '',\r\n year: '',\r\n invalid: true\r\n}\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n invalid: true\r\n}\r\n","export enum Timezone {\r\n 'default' = 0,\r\n 'Europe/Moscow' = 3,\r\n 'America/New_York' = -5\r\n}\r\n\r\nexport type TimezoneType = 'default' | 'Europe/Moscow' | 'America/New_York'\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport { Timezone, TimezoneType } from '../enum/timezone';\r\nimport dayjs from 'dayjs';\r\nimport tz from 'dayjs/plugin/timezone';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\nexport const dateModelValueParse = (value: string, timezone: TimezoneType): DateModel => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const dateString = `${String(year)}.${String(formattedMonth)}.${String(formattedDay)}`\r\n\r\n return {\r\n view: dayjs(dateString).format('DD.MM.YYYY'),\r\n day: formattedDay,\r\n month: formattedMonth,\r\n year: String(year),\r\n invalid: !(dayjs(dateString).isValid() && dateString.length === 10)\r\n }\r\n}\r\n\r\nexport const timeModelValueParse = (value: string, timezone: TimezoneType): TimeModel => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n } else if (start >= 7 && start <= 9) {\r\n return {start: 6, end: 10}\r\n } else if (start === 12) {\r\n return {start: 11, end: 13}\r\n } else if (start === 15) {\r\n return {start: 14, end: 16}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string): string => {\r\n return dayjs(value).second(0).millisecond(0).toISOString()\r\n}\r\n","import { Timezone, TimezoneType } from '../enum/timezone';\r\n\r\nimport dayjs from 'dayjs';\r\nimport timezone from 'dayjs/plugin/timezone';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\nexport const formattingToMoscowTimezone = (date: any, tz: TimezoneType): string => {\r\n dayjs.extend(utc)\r\n dayjs.extend(timezone)\r\n\r\n return dayjs.utc(date).utcOffset(Timezone[tz], tz !== 'default').toISOString()\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const formattingFromModels = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Dayjs => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm')\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD')\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker'\r\nimport {\r\n ExtraTime,\r\n InputDateSizesEnum,\r\n InputDateSizesTypes,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-date-time.enum';\r\nimport { DateModel, TimeModel, validateDateModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { dateModelConstant, timeModelConstant } from './constants/value-models';\r\nimport { dateModelValueParse, timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { formattingToMoscowTimezone } from './helpers/formatting-moscow-timezone';\r\nimport { TimezoneType } from './enum/timezone';\r\nimport { formattingFromModels } from './helpers/formatting-from-models';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport { Field } from \"../../../services\";\r\n\r\n@Component({\r\n selector: 'mrx-input-date-time',\r\n templateUrl: 'input-date-time.component.html',\r\n styleUrls: ['input-date-time.components.less'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputDateTimeComponent), multi: true}\r\n ]\r\n})\r\nexport class InputDateTimeComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any\r\n public value: any = '';\r\n public dateModel: DateModel = dateModelConstant\r\n public timeModel: TimeModel = timeModelConstant\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public customClasses = '';\r\n @Input() public dateLabel = '';\r\n @Input() public timeLabel = '';\r\n @Input() public datePlaceholder = 'дд.мм.гггг';\r\n @Input() public timePlaceholder = '00:00';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public timepicker = false\r\n @Input() public minDate = '';\r\n @Input() public maxDate = '';\r\n @Input() public timezone: TimezoneType = 'default';\r\n @Input() public inline = false\r\n @Input() public isManualInput = true;\r\n @Input() public addMinTime = false\r\n @Input() public addMaxTime = false\r\n @Input() public addMinTimeObj!: ExtraTime\r\n @Input() public addMaxTimeObj!: ExtraTime\r\n\r\n @Input() public disableValidate = false\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n @ViewChild('timeInput') timeInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: {\r\n dateFormat: 'dd.MM.yyyy',\r\n timeFormat: 'HH:mm',\r\n },\r\n autoClose: true,\r\n multipleDatesSeparator: ' - ',\r\n timepicker: this.timepicker,\r\n minDate: this.minDate,\r\n maxDate: this.maxDate,\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({date, formattedDate, datepicker}) => {\r\n\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.dateModel = validateDateModel(formattedDate)\r\n this.timeModel = validateTimeModel(formattedDate)\r\n\r\n this._checkExtraTime()\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxDate']) {\r\n this.dt.update({maxDate: this.maxDate})\r\n this.value && this.dt.selectDate(dayjs(this.value).toDate(), {updateTime: this.timepicker, silent: true})\r\n\r\n if (!this.disableValidate) {\r\n const invalid = this.innerInvalid\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate)\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }, 0)\r\n }\r\n }\r\n }\r\n\r\n if (changes['minDate']) {\r\n this.dt.update({minDate: this.minDate})\r\n this.value && this.dt.selectDate(dayjs(this.value).toDate(), {updateTime: this.timepicker, silent: true})\r\n\r\n if (!this.disableValidate) {\r\n const invalid = this.innerInvalid\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate)\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }, 0)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.dateModel.view}${this.timeModel.view ? ' ' + this.timeModel.view : ''}`\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.dateModel.invalid && (this.timepicker ? !this.timeModel.invalid : true)\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n private _checkExtraTime() {\r\n if (this.addMaxTime && !this.timepicker) {\r\n this.timeModel.hour = '23'\r\n this.timeModel.minute = '59'\r\n }\r\n if (this.addMinTime && !this.timepicker) {\r\n this.timeModel.hour = '00'\r\n this.timeModel.minute = '00'\r\n }\r\n if (this.addMaxTimeObj && !this.timepicker) {\r\n this.timeModel.hour = this.addMaxTimeObj.hour\r\n this.timeModel.minute = this.addMaxTimeObj.minute\r\n }\r\n if (this.addMinTimeObj && !this.timepicker) {\r\n this.timeModel.hour = this.addMinTimeObj.hour\r\n this.timeModel.minute = this.addMinTimeObj.minute\r\n }\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus()\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date())\r\n this.dt && this.dt.clear()\r\n this.dateModel = dateModelConstant\r\n this.timeModel = timeModelConstant\r\n this.updateValue('')\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n private updateValueModel(dateModel: DateModel, timeModel: TimeModel, bol: boolean = false) {\r\n if (dateModel.view === '') {\r\n this.clickToIconClear()\r\n } else {\r\n const date = formattingFromModels(dateModel, timeModel, this.timepicker || this.addMaxTime || this.addMinTime)\r\n\r\n const formattingDate = formattingToMoscowTimezone(date.toISOString(), this.timezone)\r\n\r\n const isValid = this.checkingInvalid(formattingDate, this.maxDate, this.minDate)\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(formattingFromModels(dateModel, timeModel, this.timepicker).toISOString(), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n })\r\n this.dt.setViewDate(formattingFromModels(dateModel, timeModel, this.timepicker).toISOString())\r\n this.updateValue(formattingDate)\r\n }\r\n }\r\n }\r\n\r\n private dateFormattingOutput(value: Date): string {\r\n if (value) {\r\n return dayjs(value).toISOString()\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true\r\n this.innerInvalidMessage = message\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n const selectionStart = dateInput.selectionStart\r\n this.dateModel = validateDateModel(dateInput.value)\r\n this.timeModel = validateTimeModel(dateInput.value)\r\n\r\n dateInput.value = this.getDateValue\r\n dateInput.selectionStart = selectionStart\r\n dateInput.selectionEnd = dateInput.selectionStart\r\n\r\n this._checkExtraTime()\r\n\r\n if (this.isValidModels || this.dateModel.view === '') {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const {start, end} = markPosition(input.selectionStart, input.selectionEnd)\r\n input.selectionStart = start\r\n input.selectionEnd = end\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n if (this.disableValidate) {\r\n this.invalidMessageOff()\r\n return true\r\n }\r\n if (maxDate && (dayjs(value).diff(dayjs(maxDate)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала')\r\n return false\r\n } else if (maxDate && (dayjs(value).diff(dayjs(maxDate)) > 0)) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала')\r\n return false\r\n } else if (minDate && (dayjs(value).diff(dayjs(minDate)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала')\r\n return false\r\n } else if (minDate && dayjs(value).diff(dayjs(minDate)) < 0) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала')\r\n return false\r\n } else {\r\n this.invalidMessageOff()\r\n return true\r\n }\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n this.value = cleanDate(outsideValue);\r\n this.dateModel = dateModelValueParse(outsideValue, this.timezone)\r\n this.timeModel = timeModelValueParse(outsideValue, this.timezone)\r\n\r\n this.checkingInvalid(outsideValue, this.maxDate, this.minDate)\r\n\r\n this.dt.selectDate(formattingFromModels(this.dateModel, this.timeModel, this.timepicker).toISOString(), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n })\r\n this.dt.setViewDate(formattingFromModels(this.dateModel, this.timeModel, this.timepicker).toISOString())\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear()\r\n this.value = ''\r\n this.dateModel = dateModelConstant\r\n this.timeModel = timeModelConstant\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <mrx-label *ngIf=\"timeLabel || dateLabel\">{{ dateLabel }}</mrx-label>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"datePlaceholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"'00.00.0000 00:m0'\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputDateTimeComponent } from './input-date-time.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { LabelModule } from \"../../label/label.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputDateTimeComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskDirective\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputDateTimeComponent],\r\n})\r\nexport class InputDateTimeModule {}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string;\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const timeArray = value.split(':')\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n const seconds = '00'\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n second: seconds,\r\n invalid: value ? value.length !== 5 : true\r\n }\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n second: string,\r\n invalid: boolean\r\n}\r\n","import { TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n second: '',\r\n invalid: true\r\n}\r\n","import { TimeModel } from './validate-value-models';\r\nimport dayjs from 'dayjs';\r\n\r\nexport const timeModelValueParse = (value: string, format: string): TimeModel => {\r\n const date = dayjs(value, format)\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const second = '00'\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n second: second,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string, format: string): string => {\r\n return dayjs(value).format(format)\r\n}\r\n","import { TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const getDateDayjsObject = (timeModel: TimeModel): Dayjs => {\r\n return dayjs(`${timeModel.hour}:${timeModel.minute}`, 'HH:mm')\r\n}\r\n","import dayjs from 'dayjs';\r\nimport { TimeModel } from './validate-value-models';\r\n\r\nexport const getDateObject = (timeModel: TimeModel): Date => {\r\n return dayjs(`${timeModel.hour}:${timeModel.minute}`, 'HH:mm').toDate()\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker';\r\nimport {\r\n InputDateSizesEnum,\r\n InputDateSizesTypes,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-timepicker.enum';\r\nimport { TimeModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { timeModelConstant } from './constants/value-models';\r\nimport { timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { getDateDayjsObject } from './helpers/get-date-dayjs-object';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport { Field } from '../../../services';\r\nimport { getDateObject } from './helpers/get-date-object';\r\n\r\n@Component({\r\n selector: 'mrx-input-timepicker',\r\n templateUrl: 'input-timepicker.component.html',\r\n styleUrls: ['input-timepicker.components.scss'],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputTimepickerComponent), multi: true }\r\n ]\r\n})\r\nexport class InputTimepickerComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any;\r\n public value: any = '';\r\n public timeModel: TimeModel = timeModelConstant;\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public format = 'HH:mm';\r\n @Input() public customClasses = '';\r\n @Input() public placeholder = '00:00';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public minValue = '';\r\n @Input() public maxValue = '';\r\n @Input() public inline = false;\r\n @Input() public closable = true;\r\n\r\n @Input() public leadZeroDateTime = false;\r\n @Input() public mask = '00:m0';\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: {\r\n timeFormat: this.format,\r\n },\r\n autoClose: true,\r\n timepicker: true,\r\n onlyTimepicker: true,\r\n minDate: this.minValue ? dayjs(this.minValue, this.format).toDate() : '',\r\n maxDate: this.maxValue ? dayjs(this.maxValue, this.format).toDate() : '',\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({ date, formattedDate, datepicker }) => {\r\n\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.timeModel = validateTimeModel(formattedDate);\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.timeModel);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxValue']) {\r\n this.maxValue = changes['maxValue'].currentValue\r\n this.dt.update({ maxDate: this.maxValue ? dayjs(this.maxValue, this.format).toDate() : '' });\r\n } else if (changes['minValue']) {\r\n this.minValue = changes['minValue'].currentValue\r\n this.dt.update({ minDate: this.minValue ? dayjs(this.minValue, this.format).toDate() : '' });\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.timeModel.view}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.timeModel.invalid\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value && this.closable;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus();\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date());\r\n this.dt && this.dt.clear();\r\n this.timeModel = timeModelConstant;\r\n this.updateValue('');\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n private updateValueModel(timeModel: TimeModel, bol: boolean = false) {\r\n if (timeModel.view === '') {\r\n this.clickToIconClear();\r\n } else {\r\n const date = getDateDayjsObject(timeModel);\r\n const formattingDate = date.format(this.format);\r\n const isValid = this.checkingInvalid(formattingDate, this.maxValue, this.minValue);\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(getDateObject(timeModel), {\r\n updateTime: true,\r\n silent: true\r\n });\r\n this.dt.setViewDate(getDateObject(timeModel));\r\n this.updateValue(formattingDate);\r\n }\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true;\r\n this.innerInvalidMessage = message;\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n this.timeModel = validateTimeModel(dateInput.value);\r\n\r\n if (this.isValidModels || this.timeModel.view === '') {\r\n this.updateValueModel(this.timeModel);\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const { start, end } = markPosition(input.selectionStart, input.selectionEnd);\r\n input.selectionStart = start;\r\n input.selectionEnd = end;\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n // if (maxDate && (dayjs(value).diff(dayjs(maxDate)) === 0)) {\r\n // // this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n // // return false;\r\n // } else if (maxDate && (dayjs(value).diff(dayjs(maxDate)) > 0)) {\r\n // // this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n // // return false;\r\n // } else if (minDate && (dayjs(value).diff(dayjs(minDate)) === 0)) {\r\n // // this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n // // return false;\r\n // } else if (minDate && dayjs(value).diff(dayjs(minDate)) < 0) {\r\n // // this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n // // return false;\r\n // } else {\r\n // // this.invalidMessageOff();\r\n // // return true;\r\n // }\r\n this.invalidMessageOff();\r\n return true;\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n this.value = cleanDate(outsideValue, this.format);\r\n\r\n this.timeModel = timeModelValueParse(outsideValue, this.format);\r\n\r\n this.checkingInvalid(outsideValue, this.maxValue, this.minValue);\r\n\r\n this.dt.selectDate(getDateObject(this.timeModel), { updateTime: true, silent: true });\r\n this.dt.setViewDate(getDateObject(this.timeModel));\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear();\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTimepickerComponent } from './input-timepicker.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTimepickerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskDirective\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputTimepickerComponent],\r\n})\r\nexport class InputTimepickerModule {}\r\n","export const changeIconsFunction = (iconName: string) => {\r\n switch (iconName) {\r\n case 'paragraph':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-paragraph icon-font-24\"></span>'\r\n case 'bold':\r\n return (`<span class=\"mrx-icon icon-wysiwyg-icons-text-bold icon-font-24\"></span>`);\r\n case 'strikethrough':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-strikethrough-text icon-font-24\"></span>'\r\n case 'underline':\r\n return (`<span class=\"mrx-icon icon-wysiwyg-icons-text-underline icon-font-24\"></span>`);\r\n case 'italic':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-italic icon-font-24\"></span>';\r\n case 'redo':\r\n return '<span class=\"mrx-icon icon-reload icon-font-24\"></span>'\r\n case 'undo':\r\n return '<span class=\"mrx-icon icon-return icon-font-24\"></span>'\r\n case 'search':\r\n return '<span class=\"mrx-icon icon-search icon-font-24\"></span>'\r\n case 'source':\r\n return '<span class=\"mrx-icon icon-code icon-font-24\"></span>'\r\n case 'table':\r\n return '<span class=\"mrx-icon icon-table icon-font-24\"></span>'\r\n case 'valign':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding icon-font-24\"></span>'\r\n case 'splitv':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-column-split icon-font-24\"></span>'\r\n case 'merge':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-column-merge icon-font-24\"></span>'\r\n case 'addcolumn':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-add-column icon-font-24\"></span>'\r\n case 'addrow':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-add-row icon-font-24\"></span>'\r\n case 'brush':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-fill-color icon-font-24\"></span>'\r\n case 'Background':\r\n return null\r\n case 'Text':\r\n return null\r\n case 'Border':\r\n return null\r\n case 'font':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-font-family icon-font-24\"></span>'\r\n case 'fontsize':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-font-size icon-font-24\"></span>'\r\n case 'left':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-left icon-font-24\"></span>'\r\n case 'right':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-right icon-font-24\"></span>'\r\n case 'center':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-center icon-font-24\"></span>'\r\n case 'justify':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-justify icon-font-24\"></span>'\r\n case 'lineHeight':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-line-height icon-font-24\"></span>'\r\n case 'indent':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding-left icon-font-24\"></span>'\r\n case 'outdent':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding-right icon-font-24\"></span>'\r\n case 'ul':\r\n return '<span class=\"mrx-icon icon-point icon-font-24\"></span>'\r\n case 'ol':\r\n return '<span class=\"mrx-icon icon-numbers icon-font-24\"></span>'\r\n case 'link':\r\n return '<span class=\"mrx-icon icon-link icon-font-24\"></span>'\r\n case 'image':\r\n return '<span class=\"mrx-icon icon-image icon-font-24\"></span>'\r\n case 'delete':\r\n return '<span class=\"mrx-icon icon-delete icon-font-24\"></span>'\r\n case 'upload':\r\n return '<span class=\"mrx-icon icon-upload icon-font-24\"></span>'\r\n case 'video':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-media icon-font-24\"></span>'\r\n case 'dots':\r\n return '<span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>'\r\n case 'bin':\r\n return '<span class=\"mrx-icon icon-delete icon-font-24\"></span>'\r\n case 'eye':\r\n return '<span class=\"mrx-icon icon-view icon-font-24\"></span>'\r\n case 'pencil':\r\n return '<span class=\"mrx-icon icon-edit icon-font-24\"></span>'\r\n case 'unlink':\r\n return '<span class=\"mrx-icon icon-cancel icon-font-24\"></span>'\r\n case 'file':\r\n return '<span class=\"mrx-icon icon-file icon-font-24\"></span>'\r\n case 'empty':\r\n case '':\r\n return null\r\n default:\r\n return '<span class=\"mrx-icon icon-close icon-font-24\"></span>'\r\n }\r\n}\r\n","import { ToolbarConfig } from '../models/toolbar.model';\r\n\r\nexport const defaultToolbar: ToolbarConfig = {\r\n buttons: [\r\n 'paragraph',\r\n '|',\r\n 'font',\r\n 'fontsize',\r\n 'brush',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strikethrough',\r\n '|',\r\n {\r\n name: 'left',\r\n list: ['left', 'right', 'center', 'justify'],\r\n },\r\n '|',\r\n 'lineHeight',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n {\r\n name: 'ul',\r\n list: ''\r\n },\r\n {\r\n name: 'ol',\r\n list: ''\r\n },\r\n '|',\r\n 'link',\r\n {\r\n name: 'image',\r\n css: {\r\n display: 'flex'\r\n }\r\n },\r\n 'table',\r\n 'video',\r\n 'source',\r\n '|',\r\n 'find',\r\n 'undo',\r\n 'redo',\r\n ],\r\n // buttonsMD: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ],\r\n // buttonsSM: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ],\r\n // buttonsXS: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ]\r\n}\r\n","export const popupToolbars = {\r\n img: [\r\n { name: 'delete', icon: 'bin' },\r\n { name: 'left', list: ['left', 'right', 'center', 'justify'] },\r\n {name: 'nullable'},\r\n {name: 'nullable'}\r\n ]\r\n}\r\n\r\n","export const defaultInlineStyleConstant = {\r\n table: { style: 'border:1px solid #C5C6C8FF;border-collapse:collapse;width: 100%;' },\r\n tr: { style: ' border: 1px solid #C5C6C8FF;' },\r\n td: { style: ' border: 1px solid #C5C6C8FF;'}\r\n}\r\n","export type InputEditorValueTypes = string;\r\n\r\nexport interface InputEditorValueWithId {\r\n value: InputEditorValueTypes,\r\n id: string\r\n}\r\n\r\nexport enum InputEditorModeEnum {\r\n MODE_WYSIWYG = 1,\r\n MODE_SOURCE = 2,\r\n MODE_SPLIT = 3\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { changeIconsFunction } from './modules/change-icon-module';\r\nimport { defaultToolbar } from './config';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { popupToolbars } from './config/popups-toolbar';\r\nimport { ToolbarConfig } from './models/toolbar.model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { defaultInlineStyleConstant } from './config/default-inline-style';\r\n\r\nimport { Jodit } from 'jodit';\r\nimport { JoditConfig } from 'ngx-jodit';\r\n\r\nimport ru from 'jodit/esm/langs/ru.js';\r\n\r\nimport 'jodit/esm/plugins/source/source.js';\r\nimport 'jodit/esm/plugins/line-height/line-height.js';\r\nimport 'jodit/esm/plugins/indent/indent.js';\r\nimport 'jodit/esm/plugins/video/video.js';\r\nimport 'jodit/esm/plugins/search/search.js';\r\nimport { InputEditorModeEnum, InputEditorValueWithId } from './editor.enum';\r\n\r\nJodit.lang.de = ru;\r\n\r\n// export interface CustomJoditConfig extends JoditConfig {\r\n// getIcon: (a: any) => void,\r\n// link: any,\r\n// cleanHTML: any,\r\n// }\r\n\r\n@Component({\r\n selector: 'mrx-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditorComponent),\r\n multi: true,\r\n },\r\n ]\r\n})\r\nexport class EditorComponent implements ControlValueAccessor, OnChanges {\r\n private _isInit = false;\r\n public value = '';\r\n public valueLength = 0;\r\n public isFocused: boolean | null = false;\r\n\r\n public options = {\r\n language: 'ru'\r\n };\r\n\r\n public defaultConfig: any = {\r\n ...defaultToolbar,\r\n popup: popupToolbars,\r\n defaultMode: InputEditorModeEnum.MODE_WYSIWYG,\r\n language: 'ru',\r\n showCharsCounter: false,\r\n showWordsCounter: false,\r\n showXPathInStatusbar: false,\r\n link: {\r\n noFollowCheckbox: false\r\n },\r\n minHeight: 110,\r\n iframe: false,\r\n imageDefaultWidth: 200,\r\n editHTMLDocumentMode: true,\r\n cleanHTML: {\r\n fillEmptyParagraph: true\r\n },\r\n placeholder: '',\r\n toolbarAdaptive: false,\r\n toolbarInline: true,\r\n toolbarInlineForSelection: false,\r\n toolbarInlineDisableFor: [],\r\n toolbarInlineDisabledButtons: ['source'],\r\n disabled: false,\r\n readonly: false,\r\n askBeforePasteHTML: false,\r\n defaultActionOnPaste: 'insert_only_text',\r\n askBeforePasteFromWord: false,\r\n hidePoweredByJodit: true,\r\n beautifyHTML: true,\r\n addNewLine: true,\r\n createAttributes: {},\r\n getIcon: (iconName: string) => {\r\n return changeIconsFunction(iconName);\r\n },\r\n events: {\r\n focus: () => {\r\n this.changeFocused(true);\r\n },\r\n blur: () => {\r\n this.changeFocused(false);\r\n }\r\n }\r\n // uploader: {\r\n // insertImageAsBase64URI: true\r\n // },\r\n // limitChars: 10,\r\n // limitHTML: 170,\r\n };\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public toolbar!: ToolbarConfig;\r\n @Input() public maxLength = 0;\r\n @Input() public minHeight = 110;\r\n @Input() public customClasses = '';\r\n @Input() public placeholder = '';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public iframe = false;\r\n @Input() public defaultInlineStyle = false;\r\n @Input() public config: any = this.defaultConfig;\r\n\r\n @Input() public editHTMLDocumentMode = false;\r\n @Input() public defaultMode: InputEditorModeEnum = InputEditorModeEnum.MODE_WYSIWYG;\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('editorElementRef') editorElementRef!: any;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() public modelChange: EventEmitter<InputEditorValueWithId> = new EventEmitter<InputEditorValueWithId>();\r\n\r\n constructor(private changeDetection: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['toolbar']) {\r\n this.defaultConfig = {...this.defaultConfig, ...changes['toolbar'].currentValue};\r\n }\r\n if (changes['maxLength']) {\r\n this.defaultConfig = {...this.defaultConfig, limitChars: changes['maxLength'].currentValue};\r\n }\r\n if (changes['placeholder']) {\r\n this.defaultConfig = {...this.defaultConfig, placeholder: changes['placeholder'].currentValue};\r\n }\r\n if (changes['disabled']) {\r\n this.defaultConfig = {...this.defaultConfig, disabled: changes['disabled'].currentValue};\r\n }\r\n if (changes['readonly']) {\r\n this.defaultConfig = {...this.defaultConfig, readonly: changes['readonly'].currentValue};\r\n }\r\n if (changes['iframe']) {\r\n this.defaultConfig = {...this.defaultConfig, iframe: changes['iframe'].currentValue};\r\n }\r\n if (changes['defaultInlineStyle']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n createAttributes: {...this.defaultConfig.createAttributes, ...defaultInlineStyleConstant}\r\n };\r\n }\r\n if (changes['editHTMLDocumentMode']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n editHTMLDocumentMode: changes['editHTMLDocumentMode'].currentValue\r\n };\r\n }\r\n if (changes['askBeforePasteHTML']) {\r\n this.defaultConfig = {...this.defaultConfig, askBeforePasteHTML: changes['askBeforePasteHTML'].currentValue};\r\n }\r\n if (changes['askBeforePasteFromWord']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n askBeforePasteFromWord: changes['askBeforePasteFromWord'].currentValue\r\n };\r\n }\r\n if (changes['defaultMode']) {\r\n this.defaultConfig = {...this.defaultConfig, defaultMode: changes['defaultMode'].currentValue};\r\n }\r\n if (changes['defaultActionOnPaste']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n defaultActionOnPaste: changes['defaultActionOnPaste'].currentValue\r\n };\r\n }\r\n if (changes['minHeight']) {\r\n this.defaultConfig = {...this.defaultConfig, minHeight: changes['minHeight'].currentValue};\r\n }\r\n if (changes['config']) {\r\n this.defaultConfig = {...this.defaultConfig, ...changes['config'].currentValue};\r\n }\r\n }\r\n\r\n public get isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public insertPositionText(text: string) {\r\n this.editorElementRef.editor.s.insertHTML(text);\r\n }\r\n\r\n public changeFocused(value: boolean): void {\r\n this.isFocused = value;\r\n this.changeDetection.detectChanges();\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: any) {\r\n this.value = this._sanitizeValue(outsideValue);\r\n if (outsideValue !== null) {\r\n setTimeout(() => {\r\n this._isInit = true;\r\n }, 100);\r\n }\r\n }\r\n\r\n public updateValue(insideValue: string) {\r\n\r\n if (this.maxLength) {\r\n this._calculateChartsCount();\r\n }\r\n if (this._isInit) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid});\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n private _sanitizeValue(value: string): string {\r\n return value ? value.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, '') : value;\r\n }\r\n\r\n private _calculateChartsCount() {\r\n this.valueLength = this.editorElementRef.editor.text.replace(/\\s+/g, '').length;\r\n }\r\n}\r\n","<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <ngx-jodit\r\n #editorElementRef\r\n [(ngModel)]=\"value\"\r\n [options]=\"defaultConfig\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n ></ngx-jodit>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-chars-left [maxlength]=\"maxLength\" [valueLength]=\"valueLength\"></mrx-chars-left>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditorComponent } from './editor.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { SafeModule } from '../../../pipes/safe/safe.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\nimport { NgxJoditComponent } from 'ngx-jodit';\r\n\r\n@NgModule({\r\n declarations: [ EditorComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgxJoditComponent,\r\n CharsLeftModule,\r\n SafeModule,\r\n ErrorMessageModule,\r\n SaveStateModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [EditorComponent]\r\n})\r\nexport class EditorModule { }\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\n\r\nexport type JsonEditorMode = 'tree' | 'view' | 'form' | 'code' | 'text';\r\n\r\nexport interface JsonEditorTreeNode {\r\n field: String,\r\n value: String,\r\n path: String[]\r\n}\r\n\r\nexport interface IError {\r\n path: (string | number)[];\r\n message: string;\r\n}\r\n\r\nexport class JsonEditorOptions {\r\n public ace: any;\r\n public ajv!: Object;\r\n\r\n\r\n /**\r\n * {function} onChange Callback method, triggered\r\n on change of contents.\r\n Does not pass the contents itself.\r\n See also `onChangeJSON` and\r\n `onChangeText`.\r\n */\r\n public onChange!: () => void;\r\n\r\n /**\r\n * // {function} onChangeJSON Callback method, triggered\r\n // in modes on change of contents,\r\n // passing the changed contents\r\n // as JSON.\r\n // Only applicable for modes\r\n // 'tree', 'view', and 'form'.\r\n */\r\n public onChangeJSON?: () => void;\r\n\r\n\r\n public onNodeName!: () => void;\r\n public onCreateMenu!: (items: Array<any>, node: object) => Array<any>;\r\n public onColorPicker!: () => void;\r\n\r\n /**\r\n // {function} onChangeText Callback method, triggered\r\n // in modes on change of contents,\r\n // passing the changed contents\r\n // as stringified JSON.\r\n */\r\n public onChangeText!: (jsonstr: string) => void;\r\n\r\n\r\n /**\r\n * {function} onSelectionChange Callback method,\r\n triggered on node selection change\r\n Only applicable for modes\r\n 'tree', 'view', and 'form'\r\n */\r\n public onSelectionChange!: () => void;\r\n\r\n /**\r\n * {function} onTextSelectionChange Callback method,\r\n triggered on text selection change\r\n Only applicable for modes\r\n */\r\n public onTextSelectionChange!: () => void;\r\n\r\n\r\n /**\r\n * // {function} onEvent Callback method, triggered\r\n // when an event occurs in\r\n // a JSON field or value.\r\n // Only applicable for\r\n // modes 'form', 'tree' and\r\n // 'view'\r\n */\r\n public onEvent!: () => void;\r\n\r\n /**\r\n * // * {function} onFocus Callback method, triggered\r\n // when the editor comes into focus,\r\n // passing an object {type, target},\r\n // Applicable for all modes\r\n */\r\n public onFocus!: () => void;\r\n\r\n // * {function} onBlur Callback method, triggered\r\n // when the editor goes out of focus,\r\n // passing an object {type, target},\r\n // Applicable for all modes\r\n public onBlur!: () => void;\r\n\r\n /**\r\n * // * {function} onClassName Callback method, triggered\r\n // when a Node DOM is rendered. Function returns\r\n // a css class name to be set on a node.\r\n // Only applicable for\r\n // modes 'form', 'tree' and\r\n // 'view'\r\n */\r\n public onClassName!: (node: JsonEditorTreeNode) => void;\r\n\r\n public onEditable!: (node: JsonEditorTreeNode | {}) => boolean | { field: boolean, value: boolean };\r\n\r\n /**\r\n * {function} onError Callback method, triggered\r\n when an error occurs\r\n */\r\n public onError!: (error: any) => void;\r\n public onModeChange!: (newMode: JsonEditorMode, oldMode: JsonEditorMode) => void;\r\n public onValidate!: (json: Object) => IError[];\r\n public onValidationError!: (errors: object[]) => void;\r\n\r\n public enableSort: boolean;\r\n public enableTransform: boolean;\r\n public escapeUnicode: boolean;\r\n public expandAll?: boolean;\r\n public sortObjectKeys: boolean;\r\n public history: boolean;\r\n public mode: JsonEditorMode;\r\n public modes!: JsonEditorMode[];\r\n public name!: String;\r\n public schema!: Object;\r\n public search: boolean;\r\n public indentation: Number;\r\n public templates!: Object;\r\n public theme!: Number;\r\n public language!: String;\r\n public languages!: Object;\r\n\r\n /**\r\n * Adds main menu bar - Contains format, sort, transform, search etc. functionality. True\r\n * by default. Applicable in all types of mode.\r\n */\r\n public mainMenuBar!: boolean;\r\n\r\n /**\r\n * Adds navigation bar to the menu - the navigation bar visualize the current position on\r\n * the tree structure as well as allows breadcrumbs navigation.\r\n * True by default.\r\n * Only applicable when mode is 'tree', 'form' or 'view'.\r\n */\r\n public navigationBar!: boolean;\r\n\r\n /**\r\n * Adds status bar to the bottom of the editor - the status bar shows the cursor position\r\n * and a count of the selected characters.\r\n * True by default.\r\n * Only applicable when mode is 'code' or 'text'.\r\n */\r\n public statusBar!: boolean;\r\n\r\n constructor() {\r\n this.enableSort = true;\r\n this.enableTransform = true;\r\n this.escapeUnicode = false;\r\n this.expandAll = false;\r\n this.sortObjectKeys = false;\r\n this.history = true;\r\n this.mode = 'tree';\r\n this.search = true;\r\n this.indentation = 2;\r\n this.mainMenuBar = true\r\n this.navigationBar = true\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input, OnDestroy, OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport JSONEditor from 'jsoneditor';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { JsonEditorMode, JsonEditorOptions } from './utils/jsoneditoroptions';\r\nimport { JsonEditorValueTypes, JsonEditorValueWithId } from './json-editor.enum';\r\n\r\n@Component({\r\n selector: 'mrx-json-editor',\r\n templateUrl: './json-editor.component.html',\r\n styleUrl: './json-editor.component.less',\r\n preserveWhitespaces: false,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => JsonEditorComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class JsonEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\r\n private _data: Object = {};\r\n private editor!: JSONEditor;\r\n\r\n public optionsChanged = false;\r\n public disabled = false;\r\n public isFocused = false;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() options: JsonEditorOptions = new JsonEditorOptions();\r\n @Input() debug = false;\r\n\r\n @Input('data') set data(value: Object) {\r\n this._data = value;\r\n if (this.editor) {\r\n this.editor.destroy();\r\n this.ngOnInit();\r\n }\r\n }\r\n\r\n @Output() public changed: EventEmitter<JsonEditorValueTypes> = new EventEmitter<JsonEditorValueTypes>();\r\n @Output() public modelChange: EventEmitter<JsonEditorValueWithId> = new EventEmitter<JsonEditorValueWithId>();\r\n @Output() jsonChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('jsonEditorContainer', {static: true}) jsonEditorContainer!: ElementRef;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n let optionsBefore = this.options;\r\n if (!this.optionsChanged && this.editor) {\r\n //TODO: check if this is needed\r\n optionsBefore = (this.editor as any).options;\r\n }\r\n\r\n if (!this.options.onChangeJSON && this.jsonChange) {\r\n this.options.onChangeJSON = this.onChangeJSON;\r\n }\r\n if (!this.options.onChange && this.changed) {\r\n this.options.onChange = this.onChange;\r\n }\r\n const optionsCopy = Object.assign({}, optionsBefore);\r\n\r\n // expandAll is an option only supported by ang-jsoneditor and not by the the original jsoneditor.\r\n delete optionsCopy.expandAll;\r\n if (this.debug) {\r\n console.log(optionsCopy, this._data);\r\n }\r\n if (!this.jsonEditorContainer.nativeElement) {\r\n console.error(`Can't find the ElementRef reference for jsoneditor)`);\r\n }\r\n\r\n if (\r\n optionsCopy.mode === 'text' || optionsCopy.mode === 'code' ||\r\n (\r\n optionsCopy.modes &&\r\n (optionsCopy.modes.indexOf('text') !== -1 || optionsCopy.modes.indexOf('code') !== -1)\r\n )\r\n ) {\r\n optionsCopy.onChangeJSON = undefined;\r\n }\r\n this.editor = new JSONEditor(this.jsonEditorContainer.nativeElement, optionsCopy as any, this._data);\r\n\r\n if (this.options.expandAll) {\r\n this.editor.expandAll();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n public onChangeJSON = () => {\r\n if (this.editor) {\r\n try {\r\n this.jsonChange.emit(this.editor.get());\r\n } catch (error) {\r\n if (this.debug) {\r\n console.log(error);\r\n }\r\n }\r\n }\r\n };\r\n\r\n public onChange = () => {\r\n if (this.editor) {\r\n try {\r\n const json = this.editor.get();\r\n this.updateValue(json)\r\n } catch (error) {\r\n if (this.debug) {\r\n console.log(error);\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * JSON EDITOR FUNCTIONS\r\n */\r\n\r\n public collapseAll() {\r\n this.editor.collapseAll();\r\n }\r\n\r\n public expandAll() {\r\n this.editor.expandAll();\r\n }\r\n\r\n public focus() {\r\n this.editor.focus();\r\n }\r\n\r\n public get(): JSON {\r\n return this.editor.get();\r\n }\r\n\r\n public getMode(): JsonEditorMode {\r\n return this.editor.getMode() as JsonEditorMode;\r\n }\r\n\r\n public getName(): string {\r\n return this.editor.getName()!;\r\n }\r\n\r\n public getText(): string {\r\n return this.editor.getText();\r\n }\r\n\r\n public set(json: JSON) {\r\n this.editor.set(json);\r\n }\r\n\r\n public setMode(mode: JsonEditorMode) {\r\n this.editor.setMode(mode);\r\n }\r\n\r\n public setName(name: string) {\r\n this.editor.setName(name);\r\n }\r\n\r\n public setSelection(start: any, end: any) {\r\n this.editor.setSelection(start, end);\r\n }\r\n\r\n public getSelection(): any {\r\n return this.editor.getSelection();\r\n }\r\n\r\n public getValidateSchema(): any {\r\n //TODO: check if this is needed\r\n return (this.editor as any).validateSchema;\r\n }\r\n\r\n public setSchema(schema: any, schemaRefs: any) {\r\n this.editor.setSchema(schema, schemaRefs);\r\n }\r\n\r\n public search(query: string) {\r\n //TODO: check if this is needed\r\n (this.editor as any).search(query);\r\n }\r\n\r\n public setOptions(newOptions: JsonEditorOptions) {\r\n if (this.editor) {\r\n this.editor.destroy();\r\n }\r\n this.optionsChanged = true;\r\n this.options = newOptions;\r\n this.ngOnInit();\r\n }\r\n\r\n public update(json: JSON) {\r\n this.editor.update(json);\r\n }\r\n\r\n public destroy() {\r\n if (this.editor) {\r\n this.editor.destroy();\r\n }\r\n }\r\n\r\n public getEditor() {\r\n //TODO: made it any because of the missing type definition\r\n return this.editor as any;\r\n }\r\n\r\n public isValidJson() {\r\n try {\r\n JSON.parse(this.getText());\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.data = value;\r\n }\r\n\r\n public updateValue(insideValue: any) {\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChangeFn(insideValue);\r\n this.onTouchedFn();\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChangeFn = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouchedFn = fn;\r\n }\r\n\r\n private onChangeFn = (value: any) => {\r\n };\r\n private onTouchedFn = () => {\r\n };\r\n}\r\n","<div [id]=\"uuid\" #jsonEditorContainer></div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { JsonEditorComponent } from './json-editor.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n JsonEditorComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n JsonEditorComponent\r\n ]\r\n})\r\nexport class JsonEditorModule {\r\n}\r\n","export enum RatingSizesEnum {\r\n 'small' = 'mrx-rating-sm',\r\n 'large' = 'mrx-rating-lg',\r\n}\r\n\r\nexport enum RatingWrapperSizesEnum {\r\n 'small' = 'mrx-rating-wrapper-sm',\r\n 'large' = 'mrx-rating-wrapper-lg',\r\n}\r\n\r\nexport type RatingSizesTypes = 'small' | 'large'\r\n\r\nexport enum RatingValueSizesEnum {\r\n 'small' = 'mrx-rating-value-sm',\r\n 'large' = 'mrx-rating-value-lg',\r\n}\r\n\r\nexport type RatingValueSizesTypes = 'small' | 'large'\r\n\r\nexport type RatingValueType = number;\r\n\r\nexport interface RatingElement {\r\n value: number,\r\n filled: boolean,\r\n double: boolean\r\n}\r\n\r\nexport interface RatingProperties {\r\n minValue: number,\r\n maxValue: number,\r\n text: string\r\n}\r\n\r\nexport type RatingViewMode = 'none' | 'text' | 'value' | 'text-with-value';\r\n\r\nexport type RatingState = 'view' | 'edit';\r\n","/**\r\n * Функция форматирования чисел, возвращает число в формате 0,00\r\n * @param number число\r\n * @param minimumDigits\r\n * */\r\nexport const toNumberFormat = (number: number, minimumDigits: number = 2) => {\r\n return new Intl.NumberFormat('ru', {minimumFractionDigits: minimumDigits}).format(number)\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n RatingElement,\r\n RatingProperties,\r\n RatingSizesEnum,\r\n RatingSizesTypes, RatingState, RatingValueSizesEnum,\r\n RatingValueSizesTypes,\r\n RatingValueType,\r\n RatingViewMode, RatingWrapperSizesEnum\r\n} from './rating.enum';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { toNumberFormat } from '../../../helpers/number-format';\r\n\r\n@Component({\r\n selector: 'mrx-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RatingComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RatingComponent implements ControlValueAccessor, OnInit {\r\n public value: RatingValueType = 0;\r\n public elements: RatingElement[] = [];\r\n\r\n private ratingProperties: RatingProperties[] = [\r\n {\r\n minValue: 0,\r\n maxValue: 20,\r\n text: 'Очень плохо'\r\n },\r\n {\r\n minValue: 20,\r\n maxValue: 40,\r\n text: 'Плохо'\r\n },\r\n {\r\n minValue: 40,\r\n maxValue: 60,\r\n text: 'Удовлетворительно'\r\n },\r\n {\r\n minValue: 60,\r\n maxValue: 80,\r\n text: 'Хорошо'\r\n },\r\n {\r\n minValue: 80,\r\n maxValue: 100,\r\n text: 'Отлично'\r\n }\r\n ];\r\n\r\n @Input() ratingCount = 5;\r\n @Input() size: RatingSizesTypes = 'large';\r\n @Input() valueSize: RatingValueSizesTypes = 'large';\r\n\r\n @Input() iconClass = 'icon-star-filled';\r\n @Input() customClasses = '';\r\n @Input() readonly = false;\r\n @Input() disabled = false;\r\n @Input() double = false;\r\n @Input() viewMode: RatingViewMode = 'none';\r\n\r\n @Input() step = 0.5;\r\n @Input() ratingSettings: RatingProperties[] = this.ratingProperties;\r\n @Input() maxValue = 5;\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Output() public changed: EventEmitter<RatingValueType> = new EventEmitter<RatingValueType>();\r\n\r\n ngOnInit(): void {\r\n this.elements = Array(this.ratingCount).fill(0).map((x, i) => {\r\n return {value: i + 1, filled: false, double: false};\r\n });\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get getWrapperClasses() {\r\n return `${this.customClasses} ${RatingWrapperSizesEnum[this.size]}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${RatingSizesEnum[this.size]} ${this.readonlyClass}`;\r\n }\r\n\r\n public get getValueClasses(): string {\r\n return `${RatingValueSizesEnum[this.size]}`;\r\n }\r\n\r\n public get formattedValue(): number {\r\n return Number(this.value);\r\n }\r\n\r\n public get ratingText(): string {\r\n if(this.ratingCount === 1) {\r\n this.maxValue = this.maxValue;\r\n } else {\r\n this.maxValue = this.ratingCount;\r\n }\r\n\r\n const ratingValue = this.value * 100 / this.maxValue;\r\n\r\n if (ratingValue) {\r\n return this.ratingSettings.filter((i) => ratingValue > i.minValue && ratingValue <= i.maxValue)[0].text;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public get canActive() {\r\n return !(this.disabled || this.readonly);\r\n }\r\n\r\n public toNumberFormatFunc(value: number) {\r\n return toNumberFormat(value, 1);\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n return true;\r\n }\r\n\r\n public changeValue(value: number, type: 'single' | 'double'): void {\r\n if (type === 'single') {\r\n this.updateValue(value);\r\n } else {\r\n this.updateValue(value - this.step);\r\n }\r\n }\r\n\r\n public hoverElementHandle(item: RatingElement, type: 'single' | 'double') {\r\n if (type === 'single') {\r\n this._updateState(item.value);\r\n } else {\r\n this._updateState(item.value - this.step);\r\n }\r\n }\r\n\r\n public resetElementHandle() {\r\n this._updateState(this.formattedValue);\r\n }\r\n\r\n public trackByFn(index: number, item: RatingElement) {\r\n return item.value;\r\n }\r\n\r\n private onChange = (value: RatingValueType) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: RatingValueType) {\r\n this.value = outsideValue;\r\n\r\n if (outsideValue !== null) {\r\n this._updateState(this.formattedValue);\r\n }\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n // this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: RatingValueType) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n private _updateState(value: number) {\r\n this.elements.forEach((element: RatingElement) => {\r\n if(this.ratingCount === 1) {\r\n element.filled = value > 0\r\n return\r\n }\r\n\r\n if(!this.double) {\r\n element.filled = element.value <= value;\r\n } else {\r\n element.filled = element.value - this.step <= value;\r\n element.double = value >= this.step && value < element.value;\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"mrx-rating-wrapper\" [class]=\"getWrapperClasses\">\r\n <div\r\n *ngIf=\"canActive; else viewTemplate\"\r\n class=\"mrx-rating edit-state\"\r\n [class]=\"getClasses\"\r\n (mouseleave)=\"resetElementHandle()\"\r\n >\r\n <ng-container *ngFor=\"let item of elements; let idx = index; trackBy: trackByFn\">\r\n <div class=\"mrx-rating-item\" [class.disabled]=\"disabled || readonly\">\r\n <div *ngIf=\"double\" class=\"mrx-rating-item-double-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && item.double\"\r\n (mouseenter)=\"canActive && hoverElementHandle(item, 'double')\"\r\n (click)=\"canActive && changeValue(item.value, 'double')\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-rating-item-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && !item.double\"\r\n (mouseenter)=\"canActive && hoverElementHandle(item, 'single')\"\r\n (click)=\"canActive && changeValue(item.value, 'single')\"\r\n ></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #viewTemplate>\r\n <div class=\"mrx-rating\" [class]=\"getClasses\">\r\n <ng-container *ngFor=\"let item of elements; let idx = index; trackBy: trackByFn\">\r\n <div class=\"mrx-rating-item\" [class.disabled]=\"disabled || readonly\">\r\n <div *ngIf=\"double\" class=\"mrx-rating-item-double-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && item.double\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-rating-item-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && !item.double\"\r\n ></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-container [ngSwitch]=\"viewMode\">\r\n <span *ngSwitchCase=\"'text'\" [class]=\"getValueClasses\">{{ ratingText }}</span>\r\n <span *ngSwitchCase=\"'value'\" [class]=\"getValueClasses\">{{ toNumberFormatFunc(value) }}</span>\r\n <span *ngSwitchCase=\"'text-with-value'\" [class]=\"getValueClasses\">\r\n {{ ratingText }} ({{ toNumberFormatFunc(value) }})\r\n </span>\r\n </ng-container>\r\n</div>\r\n\r\n<mrx-error-message *ngIf=\"(!isValid || invalid) && isInvalidMessage\" [invalidMessage]=\"invalidMessage\">\r\n</mrx-error-message>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RatingComponent } from './rating.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\n\r\n@NgModule({\r\n declarations: [RatingComponent],\r\n imports: [\r\n CommonModule,\r\n ErrorMessageModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RatingComponent]\r\n})\r\nexport class RatingModule { }\r\n","export enum InputSearchSizesEnum {\r\n 'small' = 'mrx-input-search-sm',\r\n 'medium' = 'mrx-input-search-md',\r\n 'large' = 'mrx-input-search-lg',\r\n}\r\n\r\nexport type InputSearchSizesTypes = 'small' | 'medium' | 'large';\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { InputSearchSizesEnum, InputSearchSizesTypes } from './input-search.enum';\r\n\r\nexport type InputSearchValueTypes = string;\r\n\r\n@Component({\r\n selector: 'mrx-input-search',\r\n templateUrl: './input-search.component.html',\r\n styleUrls: ['./input-search.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputSearchComponent implements ControlValueAccessor {\r\n public value: InputSearchValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n @Input() public customClasses = '';\r\n @Input() public mask = '';\r\n @Input() public size: InputSearchSizesTypes = 'large';\r\n\r\n @Output() public changed: EventEmitter<InputSearchValueTypes> = new EventEmitter<InputSearchValueTypes>();\r\n @Output() public cleared: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public searched: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isVerified(): boolean {\r\n return (\r\n !this.required ||\r\n (this.required && this.value != null && this.value !== '' && this.isValid)\r\n );\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputSearchSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isShowCloseIcon(): boolean {\r\n return this.value !== '' && this.value !== undefined;\r\n }\r\n\r\n public onClear(): void {\r\n this.updateValue('');\r\n setTimeout(() => {\r\n this.cleared.emit();\r\n }, 0);\r\n }\r\n\r\n public onSearch(): void {\r\n this.searched.emit();\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value.substring(0, this.selectionStart) + tagText;\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = firstText.length;\r\n this.inputElement.nativeElement.selectionEnd = firstText.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minlength) {\r\n return !!this.value && this.value.length >= this.minlength;\r\n }\r\n return true;\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n }\r\n\r\n private onChange = (value: InputSearchValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputSearchValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputSearchValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-search\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-search__wrapper\">\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [mask]=\"mask\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n />\r\n\r\n <div class=\"mrx-input-search__icons\">\r\n <span\r\n class=\"mrx-icon icon-close mr-2\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n *ngIf=\"isShowCloseIcon\"\r\n (click)=\"onClear()\"\r\n ></span>\r\n\r\n <span\r\n class=\"mrx-icon icon-search\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n (click)=\"onSearch()\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { InputSearchComponent } from './input-search.component';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputSearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n NgxMaskDirective\r\n ],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputSearchComponent],\r\n})\r\nexport class InputSearchModule {}\r\n","export type InputNumberType = 'int' | 'float' | 'percent';\r\n\r\nexport enum InputNumberSizesEnum {\r\n 'small' = 'mrx-input-number-sm',\r\n 'medium' = 'mrx-input-number-md',\r\n 'large' = 'mrx-input-number-lg',\r\n}\r\n\r\nexport type InputNumberSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputNumberValueTypes = number;\r\n\r\nexport interface InputNumberValueWithId {\r\n value: InputNumberValueTypes | null,\r\n id: string\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n NG_VALUE_ACCESSOR,\r\n Validators\r\n} from '@angular/forms';\r\nimport {\r\n InputNumberSizesEnum,\r\n InputNumberSizesTypes,\r\n InputNumberType,\r\n InputNumberValueWithId\r\n} from './input-number.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\nimport { distinctUntilChanged, pairwise, startWith } from 'rxjs/operators';\r\n\r\nconst noop = () => {\r\n};\r\n\r\nexport type DecimalMarkerType = '.' | ',' | ['.', ','];\r\n\r\n@Component({\r\n selector: 'mrx-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputNumberComponent), multi: true },\r\n ]\r\n})\r\nexport class InputNumberComponent implements ControlValueAccessor, OnInit {\r\n\r\n public static decimalMarker?: DecimalMarkerType;\r\n private static _delimitersInitialised = false;\r\n public static thousandsSeparator: string;\r\n\r\n public disabled = false;\r\n public readonly = false;\r\n\r\n numberForm: FormGroup;\r\n invalidMessageStart: string | undefined | null;\r\n invalidMessageEnd: string | undefined | null;\r\n decimals = 2;\r\n\r\n private invokeChanged = true;\r\n private onTouchedCallback: () => void = noop;\r\n private propagateChange: (_: any) => void = noop;\r\n private _min = -999999999.99;\r\n private _max = 999999999.99;\r\n private _isValid = true;\r\n\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public placeholder?: string;\r\n @Input() public innerClass = '';\r\n @Input() public customClasses = '';\r\n @Input() public required = false;\r\n @Input() public allowNegative = false;\r\n @Input() public size: InputNumberSizesTypes = 'large';\r\n @Input() public separator?: string;\r\n @Input() public decimalSeparator?: DecimalMarkerType;\r\n @Input() public isNullableValue = false;\r\n @Input() public isAutoCorrectingValue = false;\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Input('numberType')\r\n public set setNumberType(value: InputNumberType) {\r\n this.decimals = value === 'float' ? 2 : value === 'percent' ? 1 : 0;\r\n }\r\n\r\n @Input('invalidMessage')\r\n public set setInvalidMessage(value: string) {\r\n if (value) {\r\n const para = value.split('{0}');\r\n this.invalidMessageStart = para[0];\r\n this.invalidMessageEnd = para[1];\r\n } else {\r\n this.invalidMessageStart = null;\r\n this.invalidMessageEnd = null;\r\n }\r\n }\r\n\r\n @Input('disabled')\r\n public set setDisabled(value: boolean) {\r\n this.invokeChanged = false;\r\n this.disabled = value\r\n if (value) {\r\n this.numberForm.disable();\r\n } else {\r\n this.numberForm.enable();\r\n }\r\n this.invokeChanged = true;\r\n }\r\n\r\n @Input('readonly')\r\n public set setReadonly(value: boolean) {\r\n this.invokeChanged = false;\r\n this.readonly = value\r\n if (value) {\r\n this.numberForm.disable();\r\n } else {\r\n this.numberForm.enable();\r\n }\r\n this.invokeChanged = true;\r\n }\r\n\r\n @Input('minValue')\r\n public set setMin(val: number) {\r\n if (val) {\r\n this._min = val;\r\n const c = this.getControl('number');\r\n if (c) {\r\n c.setValidators([Validators.min(this._min), Validators.max(this._max)]);\r\n }\r\n }\r\n }\r\n\r\n @Input('maxValue')\r\n public set setMax(val: number) {\r\n if (val) {\r\n this._max = val;\r\n const c = this.getControl('number');\r\n if (c) {\r\n c.setValidators([Validators.min(this._min), Validators.max(this._max)]);\r\n }\r\n }\r\n }\r\n\r\n @Output() public modelChange: EventEmitter<InputNumberValueWithId> = new EventEmitter<InputNumberValueWithId>();\r\n\r\n constructor(fb: FormBuilder) {\r\n this.numberForm = fb.group({\r\n number: [''],\r\n });\r\n\r\n InputNumberComponent.initNumberFormat();\r\n }\r\n\r\n get getClasses(): string {\r\n return `${InputNumberSizesEnum[this.size]} ${this.customClasses}`;\r\n }\r\n\r\n get decimalMarker(): '.' | ',' | ['.', ','] {\r\n return this.decimalSeparator || InputNumberComponent.decimalMarker || ',';\r\n }\r\n\r\n get thousandsSeparator(): string {\r\n return this.separator || InputNumberComponent.thousandsSeparator;\r\n }\r\n\r\n get isValid(): boolean {\r\n return this._isValid;\r\n }\r\n\r\n get maxMessage(): string {\r\n const dec = this.decimalMarker[0];\r\n return this._max.toLocaleString('en').split(',').join(this.thousandsSeparator).replace('.', dec);\r\n }\r\n\r\n get isVerified(): boolean {\r\n const f = this.getControl('number');\r\n return !this.required ||\r\n (this.required && f.value !== null && f.value !== undefined && this.isValid);\r\n }\r\n\r\n static initNumberFormat(): void {\r\n if (this._delimitersInitialised) {\r\n return;\r\n }\r\n // системный формат числа с дробной частью и группой разраядов (тысячи)\r\n const c = Intl.NumberFormat().formatToParts(1234.5);\r\n\r\n const t = c.find(x => x.type === 'group')?.value;\r\n\r\n // разделитель групп\r\n this.thousandsSeparator = t?.charCodeAt(0) === 160 ? ' ' : t || ' ';\r\n\r\n // разделитель дробной части\r\n this.decimalMarker = (c.find(x => x.type === 'decimal')?.value as (',' | '.'));\r\n\r\n this._delimitersInitialised = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.numberForm.valueChanges.pipe(\r\n startWith(null),\r\n distinctUntilChanged(),\r\n pairwise()\r\n ).subscribe(([oldValue, newValue]) => {\r\n this._updateValue(newValue.number)\r\n });\r\n this.numberForm.statusChanges.subscribe(val => {\r\n this.checkIsValid();\r\n });\r\n }\r\n\r\n private _updateValue(insideValue: number | string) {\r\n if (this.invokeChanged) {\r\n if (this.numberForm.valid) {\r\n const num = insideValue;\r\n let numValue: number;\r\n if (num === '') {\r\n this.propagateChange(null);\r\n this.modelChange.emit({ value: null, id: this.uuid });\r\n }\r\n if (num && typeof (num) === 'string') {\r\n numValue = parseFloat(num.replace(',', '.').split(this.thousandsSeparator).join(''));\r\n this.propagateChange(numValue);\r\n this.modelChange.emit({ value: numValue, id: this.uuid });\r\n } else if (typeof (num) === 'number') {\r\n numValue = num;\r\n this.propagateChange(numValue);\r\n this.modelChange.emit({ value: numValue, id: this.uuid });\r\n }\r\n }\r\n }\r\n }\r\n\r\n resetToMax(event: any) {\r\n event.preventDefault();\r\n\r\n const f = this.getControl('number');\r\n f.setValue(this._max);\r\n }\r\n\r\n checkIsValid() {\r\n if (!this.isAutoCorrectingValue) {\r\n const f = this.getControl('number');\r\n this._isValid = this.numberForm.disabled || (f && f.valid || (!f.dirty && !f.touched));\r\n }\r\n }\r\n\r\n onPhoneInputBlur() {\r\n if (this.isAutoCorrectingValue) {\r\n const f = this.getControl('number');\r\n\r\n if (f.value > this._max) {\r\n f.setValue(this._max)\r\n }\r\n\r\n if (f.value < this._min) {\r\n f.setValue(this._min)\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n const f = this.getControl('number');\r\n f.setValue(value, { emitEvent: false, emitViewToModelChange: false });\r\n }\r\n\r\n getControl(name: string) {\r\n return this.numberForm.get(name) as FormControl;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-number\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-input-number__wrapper\">\r\n <form [formGroup]=\"numberForm\">\r\n <div>\r\n <input\r\n #inputElement\r\n autocomplete=\"nope\"\r\n formControlName=\"number\"\r\n type=\"text\"\r\n [thousandSeparator]=\"thousandsSeparator\"\r\n [decimalMarker]=\"decimalMarker\"\r\n [class]=\"innerClass\"\r\n [mask]=\"'separator.' + decimals\"\r\n [allowNegativeNumbers]=\"allowNegative\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n (blur)=\"onPhoneInputBlur()\"\r\n />\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <mrx-error-message *ngIf=\"!isValid && invalidMessageStart\">\r\n {{invalidMessageStart}}\r\n <a href=\"#\" (click)=\"resetToMax($event)\">{{maxMessage}}</a>\r\n {{invalidMessageEnd}}\r\n </mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputNumberComponent } from './input-number.component';\r\nimport { NgxMaskDirective, IConfig, provideNgxMask } from 'ngx-mask';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n // системный формат числа с дробной частью и группой разраядов (тысячи)\r\n const c = Intl.NumberFormat().formatToParts(1234.5);\r\n\r\n const t = c.find(x => x.type === 'group')?.value;\r\n\r\n const d = c.find(x => x.type === 'decimal')?.value as (','|'.');\r\n\r\n return {\r\n validation: false,\r\n thousandSeparator: t,\r\n decimalMarker: d\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputNumberComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CharsLeftModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgxMaskDirective\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [provideNgxMask(maskConfigFunction)],\r\n exports: [InputNumberComponent],\r\n})\r\nexport class InputNumberModule {}\r\n","const bytesInOneMb = 1048576;\r\n\r\nexport function toBytes(mb: number): number {\r\n return mb * bytesInOneMb;\r\n}\r\n\r\nexport function formatBytes(bytes?: number, decimals = 2): string {\r\n if (!bytes) {\r\n return '';\r\n }\r\n\r\n if (bytes === 0) {\r\n return '0 Байт';\r\n }\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Байт', 'Kбайт', 'Мбайт', 'Гбайт', 'Тбайт', 'Pбайт', 'Eбайт', 'Zбайт', 'Yбайт'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n}\r\n\r\nexport function convertBase64ToFile(base64String: string, imageName: string, imageType: string) {\r\n const byteString = atob(base64String.split(',')[1]);\r\n const ab = new ArrayBuffer(byteString.length);\r\n const ia = new Uint8Array(ab);\r\n for (let i = 0; i < byteString.length; i += 1) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new File([ab], imageName, { type: imageType });\r\n}\r\n\r\nexport async function getBase64FromUrl(url: string) {\r\n const data = await fetch(url);\r\n const blob = await data.blob();\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onloadend = () => {\r\n const base64data = reader.result;\r\n resolve(base64data);\r\n };\r\n });\r\n}\r\n","export enum ErrorMessagesEnum {\r\n TooManyFiles = 'Слишком много файлов',\r\n FileTooBig = 'Слишком большой файл',\r\n EmptyFile = 'Пустой файл',\r\n InvalidFileFormat = 'Неверный формат файла'\r\n}\r\n","export enum InputFileTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type InputFileTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgxFileDropEntry } from 'ngx-file-drop';\r\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { InputFileModel, UploadedFileModel, UploadedResultModel } from '../../../models/input-file/input-file.model';\r\nimport { formatBytes } from '../../../helpers/extension/input-file.extension';\r\nimport { FileUploadService } from '../../../services/file-upload/file-upload.service';\r\nimport { ErrorMessagesEnum } from './enums/error-messages.enum';\r\nimport { InputFileTargetTypes, InputFileTargetTypesEnum } from './input-file.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-file',\r\n templateUrl: './input-file.component.html',\r\n styleUrls: ['./input-file.component.less'],\r\n})\r\nexport class InputFileComponent {\r\n formatBytes = formatBytes;\r\n extensions?: string;\r\n allowedExtensions: string[] = [];\r\n files: InputFileModel[] = [];\r\n\r\n @Input() public autoUpload = true;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public viewOnly = false;\r\n @Input() public lightDisabled = false;\r\n @Input() public bottomFiles = false;\r\n @Input() public maxSize = 31457280;\r\n @Input() public maxFiles = 5;\r\n @Input() public minFiles = 0;\r\n @Input() public formData: any = {}; // Параметры, которые будут передаваться в форме\r\n @Input() public uploadEndPoint!: string;\r\n @Input() public deleteEndPoint?: string;\r\n @Input() public downloadEndPoint?: string;\r\n @Input() public fileNamePlaceholder?: string;\r\n @Input() public showInputWithError = true;\r\n @Input() public showDeleteButton = true;\r\n @Input() public isTooltipValue = false;\r\n @Input() public isDownloadingFile = true;\r\n @Input() public isHideListFiles = false;\r\n @Input() public target: InputFileTargetTypes = '_self';\r\n @Input() public deleteConfirm?: (file: UploadedFileModel, result: (ok: boolean) => void) => void;\r\n\r\n @Input() public innerTemplate!: TemplateRef<any>;\r\n\r\n @Input() public uploadAdditionalData: any = {};\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // ERROR MESSAGES\r\n @Input() public messageTooManyFiles: string = ErrorMessagesEnum.TooManyFiles;\r\n @Input() public messageFileTooBig: string = ErrorMessagesEnum.FileTooBig;\r\n @Input() public messageEmptyFile: string = ErrorMessagesEnum.EmptyFile;\r\n @Input() public messageInvalidFileFormat: string = ErrorMessagesEnum.InvalidFileFormat;\r\n\r\n // PLACEHOLDERS\r\n @Input() public placeholder = 'Перенесите файл с устройства или нажмите на данное поле для добавления файла';\r\n @Input() public placeholderFileMaxSize = 'Размер файла: не больше';\r\n @Input() public placeholderFileFormat = 'Формат файла:';\r\n\r\n @Input('files')\r\n set initFiles(data: UploadedFileModel[] | UploadedFileModel) {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n this.files = data.map(s => ({ ...s }));\r\n } else {\r\n this.files = [{ ...data }];\r\n }\r\n } else {\r\n this.files = [];\r\n }\r\n }\r\n\r\n @Input('allowedExtensions')\r\n public set initAllowedExtensions(val: string[]) {\r\n if (val) {\r\n this.allowedExtensions = val;\r\n this.extensions = val.join(', ');\r\n } else {\r\n this.allowedExtensions = [];\r\n this.extensions = undefined;\r\n }\r\n }\r\n\r\n @Output() public filesChanged: EventEmitter<InputFileModel[]> = new EventEmitter();\r\n @Output() public checkDroppedFile: EventEmitter<InputFileModel> = new EventEmitter();\r\n\r\n constructor(private fileUploadService: FileUploadService) {\r\n }\r\n\r\n get canAdd() {\r\n if (this.showInputWithError) {\r\n return this.maxFiles > this.files.filter(s => !s.error).length;\r\n } else {\r\n return this.maxFiles > this.files.length;\r\n }\r\n }\r\n\r\n public get getTarget(): string {\r\n return InputFileTargetTypesEnum[this.target]\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public getTooltipValue(value: string | undefined): string {\r\n return this.isTooltipValue && value ? value : ''\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n return true;\r\n }\r\n\r\n trackByFn(index: number, item: InputFileModel) {\r\n return Boolean(item.id) ? item.id : item.tempUuid;\r\n }\r\n\r\n public delete(event: any, file: InputFileModel): void {\r\n event.stopPropagation();\r\n\r\n if (this.deleteConfirm) {\r\n this.deleteConfirm(file, (ok) => {\r\n if (ok) {\r\n this._deleteFile(file);\r\n }\r\n });\r\n } else {\r\n this._deleteFile(file);\r\n }\r\n }\r\n\r\n canCancelUploading(file: InputFileModel): boolean {\r\n return !!file.uploading && file.percentage ? file.percentage < 90 : false;\r\n }\r\n\r\n clear(file: InputFileModel): void {\r\n if (file.uploading) {\r\n if (file.execution) {\r\n file.execution.unsubscribe();\r\n }\r\n }\r\n\r\n const findFileIdx = this.files.indexOf(file);\r\n if (findFileIdx >= 0) {\r\n this.files.splice(findFileIdx, 1);\r\n }\r\n }\r\n\r\n public downloadUrl(file: UploadedFileModel): string {\r\n if (this.downloadEndPoint) {\r\n return this._transformUrl(this.downloadEndPoint, file);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public dropped(files: NgxFileDropEntry[]) {\r\n for (const droppedFile of files) {\r\n if (droppedFile.fileEntry.isFile) {\r\n const fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n fileEntry.file((file: File) => {\r\n this._uploadFile(file);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private _transformUrl(url: string, file: UploadedFileModel): string {\r\n return url.replace(/{id}/, file.id)\r\n }\r\n\r\n private _formDataKeys(): string[] {\r\n return Object.keys(this.formData);\r\n }\r\n\r\n private _createFormData(): FormData {\r\n const form = new FormData();\r\n if (this.maxFiles) {\r\n form.append('MaxFiles', this.maxFiles.toString(10));\r\n }\r\n const keys = this._formDataKeys();\r\n keys.forEach(key => form.append(key, this.formData[key]));\r\n return form;\r\n }\r\n\r\n private _deleteFile(file: InputFileModel) {\r\n const findFile = this.files.find(s => s.id === file.id);\r\n\r\n if (findFile) {\r\n if (this.deleteEndPoint) {\r\n findFile.deleting = true;\r\n\r\n this.fileUploadService.delete(this._transformUrl(this.deleteEndPoint, findFile)).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n });\r\n\r\n } else {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n\r\n private _uploadFile(file: File): void {\r\n const data = {\r\n id: '',\r\n tempUuid: uuidv4(),\r\n name: file.name,\r\n length: file.size,\r\n uploading: true,\r\n percentage: 0,\r\n file: file\r\n } as InputFileModel;\r\n\r\n if (!this.checkForUpload(data)) {\r\n return;\r\n }\r\n\r\n const formData = this._createFormData();\r\n formData.append('File', file);\r\n\r\n if (this.uploadAdditionalData && Object.keys(this.uploadAdditionalData).length) {\r\n Object.keys(this.uploadAdditionalData).forEach(key => {\r\n formData.append(key, this.uploadAdditionalData[key]);\r\n })\r\n }\r\n\r\n if (this.autoUpload) {\r\n data.execution = this.fileUploadService.upload(this.uploadEndPoint, formData).pipe(\r\n catchError((err) => {\r\n data.uploading = false;\r\n return EMPTY;\r\n })\r\n )\r\n .subscribe((event: HttpEvent<UploadedResultModel>) => {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n case HttpEventType.ResponseHeader:\r\n break;\r\n case HttpEventType.UploadProgress:\r\n if (event.total) {\r\n data.percentage = Math.round(event.loaded / event.total * 100);\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n if (event.body) {\r\n data.uploading = false;\r\n data.percentage = 0;\r\n data.id = event.body.uuid;\r\n data.file = undefined;\r\n data.error = event.body.message;\r\n if (data.execution) {\r\n data.execution.unsubscribe();\r\n }\r\n\r\n if (this.files.every(s => !s.uploading)) {\r\n const completedFiles = this.files.filter(s => !s.error);\r\n this.filesChanged.emit(completedFiles);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n data.uploading = false;\r\n data.id = data.tempUuid || '';\r\n\r\n if (this.files.every(s => !s.uploading)) {\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n\r\n private checkForUpload(data: InputFileModel): boolean {\r\n this.checkDroppedFile.emit(data)\r\n\r\n if (!this.canAdd) {\r\n data.error = this.messageTooManyFiles;\r\n data.uploading = false;\r\n this.files.push(data);\r\n return false;\r\n }\r\n\r\n this.files.push(data);\r\n\r\n if (data.file && data.file.size > this.maxSize) {\r\n data.error = this.messageFileTooBig;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n if (data.file && data.file.size == 0) {\r\n data.error = this.messageEmptyFile;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n if (this.allowedExtensions.length > 0 && !this.allowedExtensions.some(\r\n s => data.file && data.file.name.toLowerCase().endsWith(s.toLowerCase()))) {\r\n\r\n data.error = this.messageInvalidFileFormat;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>Документов нет</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"Удалить\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxFileDropModule } from 'ngx-file-drop';\r\nimport { InputFileComponent } from './input-file.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { FileUploadService } from '../../../services/file-upload/file-upload.service';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { CdkTooltipModule } from '../../cdk-tooltip/cdk-tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [InputFileComponent],\r\n imports: [CommonModule, FormsModule, HttpClientModule, NgxFileDropModule, ErrorMessageModule, CdkTooltipModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputFileComponent],\r\n providers: [FileUploadService]\r\n})\r\nexport class InputFileModule {}\r\n","/**\r\n * Магия для отображения склоенений в заголовке таблицы (проект, проекта, проектов)\r\n * @param number число записей\r\n * @param titles массив из трех строк ['Единственное число (1 проект)', 'Множественное число 1 вид (2 проекта)',\r\n * Множественное число второй вид ('5 проектов')]\r\n * */\r\n\r\nexport const wordForm = (number: number, titles: string[]): string => {\r\n const cases = [2, 0, 1, 1, 1, 2];\r\n return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]];\r\n}\r\n","export const toDate = (date: any, formatDate: string, formatTime: string) => {\r\n if (date.slice(-1) === 'Z') {\r\n return new Date(date)\r\n }\r\n\r\n const normalized = date.replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormatDate = formatDate.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const replacedFormatTime = formatTime.toLowerCase().replace(/mm/gi, 'ii');\r\n const normalizedFormatTime = replacedFormatTime.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormat = `${normalizedFormatDate}-${normalizedFormatTime}`\r\n\r\n const formatItems = normalizedFormat.split('-');\r\n const dateItems = normalized.split('-');\r\n\r\n const monthIndex = formatItems.indexOf('mm');\r\n const dayIndex = formatItems.indexOf('dd');\r\n const yearIndex = formatItems.indexOf('yyyy');\r\n const hourIndex = formatItems.indexOf('hh');\r\n const minutesIndex = formatItems.indexOf('ii');\r\n const secondsIndex = formatItems.indexOf('ss');\r\n\r\n const today = new Date();\r\n\r\n const year = yearIndex > -1 ? dateItems[yearIndex] : today.getFullYear();\r\n const month = monthIndex > -1 ? dateItems[monthIndex] - 1 : today.getMonth() - 1;\r\n const day = dayIndex > -1 ? dateItems[dayIndex] : today.getDate();\r\n\r\n const hour = hourIndex > -1 && dateItems[hourIndex] ? dateItems[hourIndex] : 0;\r\n const minute = minutesIndex > -1 && dateItems[minutesIndex] ? dateItems[minutesIndex] : 0;\r\n const second = secondsIndex > -1 && dateItems[secondsIndex] ? dateItems[secondsIndex] : 0;\r\n\r\n return new Date(year,month,day,hour,minute,second);\r\n}\r\n\r\nexport const sliceDate = (date: any, formatDate: string, formatTime: string) => {\r\n const normalized = date.replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormatDate = formatDate.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const replacedFormatTime = formatTime.toLowerCase().replace(/mm/gi, 'ii');\r\n const normalizedFormatTime = replacedFormatTime.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormat = `${normalizedFormatDate}-${normalizedFormatTime}`\r\n\r\n const formatItems = normalizedFormat.split('-');\r\n const dateItems = normalized.split('-');\r\n\r\n const monthIndex = formatItems.indexOf('mm');\r\n const dayIndex = formatItems.indexOf('dd');\r\n const yearIndex = formatItems.indexOf('yyyy');\r\n const hourIndex = formatItems.indexOf('hh');\r\n const minutesIndex = formatItems.indexOf('ii');\r\n const secondsIndex = formatItems.indexOf('ss');\r\n\r\n const today = new Date();\r\n\r\n const year = yearIndex > -1 ? dateItems[yearIndex] : today.getFullYear();\r\n const month = monthIndex > -1 ? dateItems[monthIndex] : today.getMonth();\r\n const day = dayIndex > -1 ? dateItems[dayIndex] : today.getDate();\r\n\r\n const hour = hourIndex > -1 && dateItems[hourIndex] ? dateItems[hourIndex] : null;\r\n const minute = minutesIndex > -1 && dateItems[minutesIndex] ? dateItems[minutesIndex] : null;\r\n const second = secondsIndex > -1 && dateItems[secondsIndex] ? dateItems[secondsIndex] : null;\r\n\r\n const formatMonth = month > 0 ? month : null\r\n\r\n return {year, month: formatMonth, day, hour, minute, second}\r\n}\r\n","export enum TimezoneEnum {\r\n 'mos' = 'Europe/Moscow'\r\n}\r\n\r\nexport enum Timezone {\r\n 'default' = 0,\r\n 'mos' = 3,\r\n}\r\n\r\nexport type TimezoneType = 'default' | 'mos'\r\n","import { Timezone, TimezoneType } from '../pipes/date/enums/timezone';\r\nimport dayjs from 'dayjs';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport tz from 'dayjs/plugin/timezone';\r\n\r\nexport const formattingIsoToString = (\r\n value: string | Date,\r\n timezone: TimezoneType = 'default',\r\n time: boolean = true,\r\n format?: string\r\n) => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const defaultFormat = time ? 'DD.MM.YYYY HH:mm' : 'DD.MM.YYYY'\r\n\r\n return timezone === 'default' ?\r\n dayjs(value.toString()).format(format || defaultFormat) :\r\n dayjs.utc(value.toString()).utcOffset(Timezone[timezone]).format(format || defaultFormat)\r\n}\r\n","export const dateTimeFormat = (date: string, config: Intl.DateTimeFormatOptions) => {\r\n return new Intl.DateTimeFormat('ru', config).format(new Date(date));\r\n};\r\n\r\nexport const formattingDateRange = (dates: string[]): string => {\r\n const config: Intl.DateTimeFormatOptions = {\r\n month: 'short',\r\n day: 'numeric'\r\n };\r\n let str = '';\r\n\r\n dates.forEach((date, idx, array) => {\r\n if (idx === array.length - 1) {\r\n config.year = 'numeric';\r\n }\r\n\r\n str += `${idx > 0 ? ' - ' : ''}${dateTimeFormat(date, config)}`;\r\n });\r\n\r\n return str;\r\n};\r\n","import { Component, Inject } from '@angular/core';\r\nimport { ImageCroppedEvent, ImageTransform, LoadedImage } from 'ngx-image-cropper';\r\nimport { ModalServiceComponent } from '../../../../../services/modal-service/helpers/modal.component';\r\nimport { ModalRef } from '../../../../../services/modal-service/helpers/modal-ref';\r\nimport { MODAL_DATA } from '../../../../../services/modal-service/helpers/modal-tokens';\r\nimport { convertBase64ToFile } from '../../../../../helpers';\r\n\r\nexport interface ImageEditSelect {\r\n title: string;\r\n fileImage?: any;\r\n cropperMaxWidth: number;\r\n cropperMaxHeight: number;\r\n aspectRatio: number;\r\n maintainAspectRatio: boolean;\r\n}\r\n\r\nexport interface ImageEditResult {\r\n result: boolean,\r\n fileImage?: File,\r\n fileUrl?: string\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-file-image-edit-modal',\r\n templateUrl: './file-image-edit-modal.component.html',\r\n styleUrls: ['./file-image-edit-modal.component.less']\r\n})\r\nexport class FileImageEditModalComponent extends ModalServiceComponent<ImageEditSelect, ImageEditResult> {\r\n\r\n title!: string;\r\n fileImage?: any;\r\n cropperMaxWidth!: number;\r\n cropperMaxHeight!: number;\r\n aspectRatio!: number;\r\n maintainAspectRatio!: boolean;\r\n imageChangedEvent: any = '';\r\n croppedImage = '';\r\n canvasRotation = 0;\r\n transform: ImageTransform = {};\r\n\r\n constructor(\r\n private dialogRef: ModalRef<ImageEditResult>,\r\n @Inject(MODAL_DATA) data: ImageEditSelect,\r\n ) {\r\n super();\r\n this.result = {result: false};\r\n\r\n this.title = data.title\r\n this.fileImage = data.fileImage\r\n this.cropperMaxWidth = data.cropperMaxWidth\r\n this.cropperMaxHeight = data.cropperMaxHeight\r\n this.aspectRatio = data.aspectRatio\r\n this.maintainAspectRatio = data.maintainAspectRatio\r\n }\r\n\r\n public async ok() {\r\n this.result = {\r\n result: true,\r\n fileImage: convertBase64ToFile(\r\n this.croppedImage,\r\n this.fileImage.name,\r\n this.fileImage.type\r\n ),\r\n fileUrl: this.croppedImage\r\n };\r\n this.close();\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation--;\r\n this.flipAfterRotate();\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation++;\r\n this.flipAfterRotate();\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH;\r\n const flippedV = this.transform.flipV;\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH\r\n };\r\n }\r\n\r\n fileChangeEvent(event: any): void {\r\n this.imageChangedEvent = event;\r\n }\r\n\r\n imageCropped(event: ImageCroppedEvent): void {\r\n if (event.base64) {\r\n this.croppedImage = event.base64;\r\n }\r\n }\r\n\r\n imageLoaded(image: LoadedImage) {\r\n // console.log(image)\r\n }\r\n\r\n cropperReady() {\r\n // cropper ready\r\n }\r\n\r\n loadImageFailed() {\r\n // show message\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(this.result);\r\n }\r\n}\r\n","<mrx-modal\r\n [title]=\"title\"\r\n [size]=\"'medium'\"\r\n (close)=\"close()\"\r\n>\r\n <div class=\"row\">\r\n <div class=\"col col-12\">\r\n <p>Выбранная область будет показываться на обложке страницы</p>\r\n </div>\r\n\r\n <div class=\"col col-12\">\r\n <div class=\"mrx-input-image-cropper__wrapper\">\r\n <image-cropper\r\n [imageFile]=\"fileImage\"\r\n [maintainAspectRatio]=\"maintainAspectRatio\"\r\n [aspectRatio]=\"aspectRatio\"\r\n format=\"png\"\r\n output=\"base64\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded($event)\"\r\n (cropperReady)=\"cropperReady()\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n [backgroundColor]=\"'#000000'\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [transform]=\"transform\"\r\n [cropperMaxWidth]=\"cropperMaxWidth\"\r\n [cropperMaxHeight]=\"cropperMaxHeight\"\r\n ></image-cropper>\r\n\r\n <div class=\"mrx-input-image-cropper__controls\">\r\n <svg (click)=\"rotateLeft()\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"15\" width=\"8\" height=\"8\" rx=\"0.888889\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.5 18.5C5.05228 18.5 5.5 18.0523 5.5 17.5C5.5 16.9477 5.05228 16.5 4.5 16.5C3.94772 16.5 3.5 16.9477 3.5 17.5C3.5 18.0523 3.94772 18.5 4.5 18.5Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.99978 20.3333L7.77756 18.1111L2.88867 23\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M13.1575 21.6842C18.5932 21.6842 22.9996 17.2777 22.9996 11.8421C22.9996 6.40646 18.5932 2 13.1575 2C7.72189 2 3.31543 6.40646 3.31543 11.8421\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\r\n <path d=\"M1.00026 10.1052L3.31605 12.421L5.63184 10.1052\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n\r\n <svg (click)=\"rotateRight()\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"14\" y=\"15\" width=\"8\" height=\"8\" rx=\"0.888889\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.5 18.5C17.0523 18.5 17.5 18.0523 17.5 17.5C17.5 16.9477 17.0523 16.5 16.5 16.5C15.9477 16.5 15.5 16.9477 15.5 17.5C15.5 18.0523 15.9477 18.5 16.5 18.5Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M21.9998 20.3333L19.7776 18.1111L14.8887 23\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.8425 21.6842C5.40682 21.6842 1.00036 17.2777 1.00036 11.8421C1.00036 6.40646 5.40682 2 10.8425 2C16.2781 2 20.6846 6.40646 20.6846 11.8421\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\r\n <path d=\"M22.9997 10.1052L20.684 12.421L18.3682 10.1052\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >Отменить\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >Подтвердить\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n\r\n\r\n","export enum InputFileImageTypeEnum {\r\n 'default' = 'mrx-input-file-image-type-default',\r\n 'avatar' = 'mrx-input-file-image-type-avatar',\r\n}\r\n\r\nexport type InputFileImageTypeTypes = 'default' | 'avatar'\r\n\r\nexport enum PreviewEnum {\r\n 'notFoundImage' = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFeAgwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+9m4uHmdvmIQEhVB4wO5xwSeuTn24oArUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAoJU5BIPqDg/mKANSC+HlgSkFgcZyQSOME4B57Z74yeaAMqgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo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5/Jf3e767LQ+o9O06w0iwstK0qytdO0zTrWCysLCygjtrOys7aNYbe2treFUihghiRY4oo1VERQqgAVyttttttt3berbe7b7mu2iPjzVvhrpngP9pz4L6h4ZvLqw8O+K5fi1qk/gxQh0LR/Ev/CIwtqut6DF10weIEmgfVdNgC2LX1oL6COOW5uAeyNV1MLXUknKCopT+04c+kZd+Xo97O3QxcVGrBrRS5210vy7rtfqfZ9cRsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeMftDeF9d8ZfBrxz4f8M2X9p67c2FheadpolSCTUZtG1rTdbawglk/drdXkOnSW1p5hWNrmSJXdFJYbYecYVqcpO0U2m+101f0V9fIionKEktXbRd7NP8ATQ+b/iT8S/GXxQ1fT/CV78Hvj/4d+D5tUu/Gcem+BbhPF3jqcuCng1nttUSLQfCbqN3iC9tdRm1TWo86TbpZWUlxdz9VKnClFzVbDyrXtC8/cpr+fWPvT/lTVo/Fq9FlKUpuzhUUOto6y/u76R763e2x7Jp3xzsNIsLLStK+Afx807TNOtYLKwsLL4XR21nZWdtGsNvbW1vDrCRQwQxIscUUaqiIoVQAKwdBttvEYdtu7bqttt7tvl3L9pbRU6n/AID/AMEu/wDDQn/VEP2hv/Daf/fqj6v/ANP8N/4Mf/yI/af9O6n/AID/AME5m21rxB8VPjN8KfENh8NviJ4R8P8Aw7sviBda/q3j/Q7Xw1FPN4o0O00fSbHRrY6neXup3RnhmmvClvFb2lsqM87ySrGKcY0qNaLq05yqOmoqnJytyS5m5OySXRdWxXc5wfLJKPNdyVt1ZW11PqyuQ1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAXBPQGgC/eWvlkyoRtYklTnIPU4POQTk84x05oAz6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAfGhkYIuAT65x+gP8qANyG1SKMKwDtnLMR3OOB7DH9e+KAA/9k='\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { InputFileModel, UploadedFileModel, UploadedResultModel } from '../../../models';\r\nimport { FileUploadService, ModalService } from '../../../services';\r\nimport { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop';\r\nimport { convertBase64ToFile, formatBytes, getBase64FromUrl } from '../../../helpers';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { FileImageEditModalComponent } from './components/file-image-edit-modal/file-image-edit-modal.component';\r\nimport { InputFileImageTypeEnum, InputFileImageTypeTypes } from './input-file-image.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-file-image',\r\n templateUrl: './input-file-image.component.html',\r\n styleUrls: ['./input-file-image.component.less'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class InputFileImageComponent {\r\n formatBytes = formatBytes;\r\n extensions?: string;\r\n allowedExtensions: string[] = [];\r\n files: InputFileModel[] = [];\r\n\r\n @Input() public type: InputFileImageTypeTypes = 'default';\r\n\r\n @Input() public customClasses = '';\r\n @Input() public placeholder?: string;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public maxSize = 31457280;\r\n @Input() public maxFiles = 5;\r\n @Input() public minFiles = 0;\r\n\r\n // Параметры, которые будут передаваться в форме\r\n @Input() public formData: any = {};\r\n\r\n // CROPPER\r\n @Input() public cropperMaxWidth = 0;\r\n @Input() public cropperMaxHeight = 0;\r\n @Input() public aspectRatio = 1 / 1;\r\n @Input() public maintainAspectRatio = false;\r\n\r\n @Input() public uploadEndPoint!: string;\r\n @Input() public deleteEndPoint?: string;\r\n @Input() public downloadEndPoint?: string;\r\n\r\n @Input() public deleteConfirm?: (file: UploadedFileModel, result: (ok: boolean) => void) => void;\r\n\r\n @Input('files')\r\n set initFiles(data: UploadedFileModel[] | UploadedFileModel) {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n this.files = data.map(s => ({...s}));\r\n } else {\r\n this.files = [{...data}];\r\n }\r\n } else {\r\n this.files = [];\r\n }\r\n }\r\n\r\n @Input('allowedExtensions')\r\n public set initAllowedExtensions(val: string[]) {\r\n if (val) {\r\n this.allowedExtensions = val;\r\n this.extensions = val.join(', ');\r\n } else {\r\n this.allowedExtensions = [];\r\n this.extensions = undefined;\r\n }\r\n }\r\n\r\n @Output() public filesChanged: EventEmitter<InputFileModel[]> = new EventEmitter();\r\n\r\n constructor(\r\n private imageUploadService: FileUploadService,\r\n private _modalService: ModalService,\r\n private _detector: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n public get getDefaultPlaceholder(): string {\r\n return this.type === 'avatar' ?\r\n 'Загрузите фотографию' :\r\n 'Перенесите файл с устройства или нажмите на данное поле для добавления файла';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputFileImageTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n public get getDropZoneClasses(): string {\r\n return `mrx-input-file-image-drop ${this.disabled ? 'mrx-input-file-picture-drop-disabled' : ''}`;\r\n }\r\n\r\n public get canAdd() {\r\n if (this.type === 'avatar') {\r\n return this.files.length < 1;\r\n } else {\r\n return this.maxFiles > this.files.filter(s => !s.error).length;\r\n }\r\n }\r\n\r\n private _checkErrors() {\r\n\r\n }\r\n\r\n public dropped(files: NgxFileDropEntry[]) {\r\n const droppedFile = files[0];\r\n\r\n if (droppedFile.fileEntry.isFile) {\r\n const fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n\r\n fileEntry.file((file: File) => {\r\n const data: InputFileModel = {\r\n id: '',\r\n tempUuid: uuidv4(),\r\n name: file.name,\r\n length: file.size,\r\n uploading: true,\r\n percentage: 0,\r\n file: file,\r\n } as InputFileModel;\r\n\r\n if (!this.canAdd) {\r\n data.error = 'Слишком много файлов';\r\n data.uploading = false;\r\n this.files.push(data);\r\n }\r\n\r\n this.files.push(data);\r\n\r\n if (data.file && data.file.size > this.maxSize) {\r\n data.error = 'Слишком большой файл';\r\n data.uploading = false;\r\n }\r\n\r\n if (data.file && data.file.size == 0) {\r\n data.error = 'Пустой файл';\r\n data.uploading = false;\r\n }\r\n\r\n if (this.allowedExtensions.length > 0 && !this.allowedExtensions.some(\r\n s => data.file?.name.toLowerCase().endsWith(s.toLowerCase()))) {\r\n data.error = 'Неверный формат файла';\r\n data.uploading = false;\r\n }\r\n\r\n if (!data.error) {\r\n this._modalService.open(FileImageEditModalComponent, {\r\n title: 'РЕДАКТИРОВАНИЕ ИЗОБРАЖЕНИЯ',\r\n fileImage: file,\r\n cropperMaxWidth: this.cropperMaxWidth,\r\n cropperMaxHeight: this.cropperMaxHeight,\r\n aspectRatio: this.aspectRatio,\r\n maintainAspectRatio: this.maintainAspectRatio\r\n })\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res.result && res.fileImage) {\r\n data.file = res.fileImage\r\n }\r\n this._uploadFile(data)\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n public changePreview(event: any, file: InputFileModel) {\r\n event.stopPropagation();\r\n\r\n getBase64FromUrl(this.downloadUrl(file)).then((base64Url: any) => {\r\n this._modalService.open(FileImageEditModalComponent, {\r\n title: 'РЕДАКТИРОВАНИЕ ИЗОБРАЖЕНИЯ',\r\n fileImage: convertBase64ToFile(base64Url, file.name || '', 'image/png'),\r\n cropperMaxWidth: this.cropperMaxWidth,\r\n cropperMaxHeight: this.cropperMaxHeight,\r\n aspectRatio: this.aspectRatio,\r\n maintainAspectRatio: this.maintainAspectRatio\r\n })\r\n .afterClosed()\r\n .subscribe((res) => {\r\n if (res.result && res.fileImage) {\r\n this._updateFile(file, res.fileImage);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public delete(event: any, file: InputFileModel): void {\r\n event.stopPropagation();\r\n\r\n if (this.deleteConfirm) {\r\n this.deleteConfirm(file, (ok) => {\r\n if (ok) {\r\n this._deleteFile(file);\r\n }\r\n });\r\n } else {\r\n this._deleteFile(file);\r\n }\r\n }\r\n\r\n public clear(file: InputFileModel): void {\r\n if (file.uploading) {\r\n if (file.execution) {\r\n file.execution.unsubscribe();\r\n }\r\n }\r\n\r\n const findFileIdx = this.files.indexOf(file);\r\n\r\n if (findFileIdx >= 0) {\r\n this.files.splice(findFileIdx, 1);\r\n }\r\n }\r\n\r\n public downloadUrl(file: UploadedFileModel): string {\r\n if (this.downloadEndPoint) {\r\n return this._transformUrl(this.downloadEndPoint, file);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public fileOver(event: any) {\r\n }\r\n\r\n public fileLeave(event: any) {\r\n }\r\n\r\n private _transformUrl(url: string, file: UploadedFileModel): string {\r\n return url.replace(/{id}/, file.id)\r\n }\r\n\r\n private _formDataKeys(): string[] {\r\n return Object.keys(this.formData);\r\n }\r\n\r\n private _createFormData(): FormData {\r\n const form = new FormData();\r\n if (this.maxFiles) {\r\n form.append('MaxFiles', this.maxFiles.toString(10));\r\n }\r\n const keys = this._formDataKeys();\r\n keys.forEach(key => form.append(key, this.formData[key]));\r\n return form;\r\n }\r\n\r\n private _deleteFile(file: InputFileModel) {\r\n const findFile = this.files.find(s => s.id === file.id);\r\n\r\n if (findFile) {\r\n if (this.deleteEndPoint) {\r\n findFile.deleting = true;\r\n\r\n this.imageUploadService.delete(this.deleteEndPoint).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n });\r\n\r\n } else {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n\r\n private _updateFile(oldFile: InputFileModel, newFile: File) {\r\n const findFile = this.files.find((s: InputFileModel) => {\r\n if (s.id !== '') {\r\n return s.id === oldFile.id;\r\n } else {\r\n return s.tempUuid === oldFile.tempUuid;\r\n }\r\n });\r\n\r\n if (findFile) {\r\n const data: InputFileModel = {\r\n id: '',\r\n tempUuid: uuidv4(),\r\n name: newFile.name,\r\n length: newFile.size,\r\n uploading: true,\r\n percentage: 0,\r\n file: newFile,\r\n } as InputFileModel;\r\n\r\n if (this.deleteEndPoint) {\r\n findFile.deleting = true;\r\n\r\n this.imageUploadService.delete(this.deleteEndPoint).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.files.push(data);\r\n this._uploadFile(data);\r\n\r\n this._detector.detectChanges();\r\n });\r\n\r\n } else {\r\n this.files.push(data);\r\n this._uploadFile(data);\r\n\r\n this._detector.detectChanges();\r\n }\r\n }\r\n }\r\n\r\n private _uploadFile(data: InputFileModel) {\r\n const formData = this._createFormData();\r\n\r\n if (data.file) {\r\n formData.append('File', data.file);\r\n\r\n data.execution = this.imageUploadService.upload(this.uploadEndPoint, formData).pipe(\r\n catchError((err) => {\r\n data.uploading = false;\r\n return EMPTY;\r\n })\r\n )\r\n .subscribe((event: HttpEvent<UploadedResultModel>) => {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n case HttpEventType.ResponseHeader:\r\n break;\r\n case HttpEventType.UploadProgress:\r\n if (event.total) {\r\n data.percentage = Math.round(event.loaded / event.total * 100);\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n if (event.body) {\r\n data.uploading = false;\r\n data.percentage = 0;\r\n data.id = event.body.uuid;\r\n data.file = undefined;\r\n data.error = event.body.message;\r\n\r\n if (data.execution) {\r\n data.execution.unsubscribe();\r\n }\r\n if (this.files.every(s => !s.uploading)) {\r\n this.filesChanged.emit(this.files);\r\n }\r\n\r\n this._detector.detectChanges();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n @switch (type) {\r\n @case ('avatar') {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n @if (files.length) {\r\n <div class=\"mrx-input-file-image-avatar\">\r\n\r\n @for (file of files; track file.id) {\r\n <div class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"clear(file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">Загрузка...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\" height=\"154\" width=\"154\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{ placeholder || getDefaultPlaceholder }}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>Размер: до {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">Формат: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n @default {\r\n @if (canAdd) {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">\r\n {{ placeholder || getDefaultPlaceholder }}\r\n </span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>Размер: до {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">Формат: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n @for (file of files; track file.id) {\r\n\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">Загрузка...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item__image\">\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\">\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\r\nimport { InputFileImageComponent } from './input-file-image.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgxFileDropModule } from 'ngx-file-drop';\r\nimport { ImageCropperComponent } from 'ngx-image-cropper';\r\nimport { FileImageEditModalComponent } from './components/file-image-edit-modal/file-image-edit-modal.component';\r\nimport { ModalModule } from '../../modal/modal.module';\r\nimport { ButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n InputFileImageComponent,\r\n FileImageEditModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n HttpClientModule,\r\n NgxFileDropModule,\r\n ModalModule,\r\n ButtonModule,\r\n ImageCropperComponent,\r\n NgOptimizedImage\r\n ],\r\n exports: [\r\n InputFileImageComponent\r\n ]\r\n})\r\nexport class InputFileImageModule { }\r\n","export type NgxOtpStatus = 'success' | 'error' | null;\r\n\r\nexport enum NgxOtpBehavior {\r\n DEFAULT,\r\n LEGACY,\r\n}\r\n\r\nexport type NgxOtpStyles = {\r\n container?: string | string[];\r\n inputBox?: string | string[];\r\n input?: string | string[];\r\n inputFilled?: string | string[];\r\n inputDisabled?: string | string[];\r\n inputSuccess?: string | string[];\r\n inputError?: string | string[];\r\n};\r\n\r\nexport interface NgxOtpInputConfig {\r\n otpLength: number;\r\n pattern?: RegExp;\r\n autofocus?: boolean;\r\n autoblur?: boolean;\r\n isPasswordInput?: boolean;\r\n isNumberInput?: boolean;\r\n ariaLabels?: string | string[];\r\n numericInputMode?: boolean;\r\n classList?: NgxOtpStyles;\r\n behavior?: NgxOtpBehavior;\r\n}\r\n\r\n","export enum InputOptSizesEnum {\r\n 'small' = 'mrx-input-opt-sm',\r\n 'medium' = 'mrx-input-opt-md',\r\n 'large' = 'mrx-input-opt-lg',\r\n 'responsive' = 'mrx-input-opt-responsive',\r\n}\r\n\r\nexport type InputOptSizesTypes = 'small' | 'medium' | 'large' | 'responsive';\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InputOptService {\r\n init2DArray(size: number): string[][] {\r\n return new Array<string[]>(size).fill(new Array<string>());\r\n }\r\n\r\n toArray(value: string | string[]): string[] {\r\n return Array.isArray(value) ? value : [value];\r\n }\r\n\r\n addItemToAll(source: string[][], items: string[]): string[][] {\r\n return source.map((entry) => entry.concat(items));\r\n }\r\n\r\n removeItemFromAll(source: string[][], items: string[]): string[][] {\r\n return source.map((entry) => entry?.length ? entry.filter((item) => !items.includes(item)) : []);\r\n }\r\n\r\n addItemAtIndex(\r\n source: string[][],\r\n index: number,\r\n items: string[]\r\n ): string[][] {\r\n source[index] = source[index] ? source[index].concat(items) : source[index];\r\n return source;\r\n }\r\n\r\n removeItemAtIndex(\r\n source: string[][],\r\n index: number,\r\n items: string[]\r\n ): string[][] {\r\n source[index] = source[index] ? source[index].filter((item) => !items.includes(item)) : source[index];\r\n return source;\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxOptPattern]'\r\n})\r\nexport class OptPatternDirective {\r\n private allowedKeys = [\r\n 'Backspace',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Escape',\r\n 'Tab',\r\n ];\r\n\r\n @Input('mrxOptPattern') pattern?: RegExp;\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(e: KeyboardEvent): void {\r\n if (\r\n this.allowedKeys.includes(e.key) ||\r\n (e.code === 'KeyA' && e.ctrlKey === true) ||\r\n (e.code === 'KeyC' && e.ctrlKey === true) ||\r\n (e.code === 'KeyV' && e.ctrlKey === true) ||\r\n (e.code === 'KeyX' && e.ctrlKey === true) ||\r\n (e.code === 'KeyA' && e.metaKey === true) ||\r\n (e.code === 'KeyC' && e.metaKey === true) ||\r\n (e.code === 'KeyV' && e.metaKey === true) ||\r\n (e.code === 'KeyX' && e.metaKey === true)\r\n ) {\r\n return;\r\n } else if (this.pattern && !this.pattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter, forwardRef, HostListener, Input, OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { AbstractControl, FormArray, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\r\nimport { NgxOtpBehavior, NgxOtpInputConfig, NgxOtpStatus } from '../../models/input-opt.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { InputOptService } from '../../services/input-opt.service';\r\nimport { InputOptSizesEnum, InputOptSizesTypes } from './input-opt.enum';\r\nimport { InputTextValueTypes } from '../../../input-text/input-text.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-opt',\r\n templateUrl: './input-opt.component.html',\r\n styleUrls: ['./input-opt.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputOptComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputOptComponent implements OnInit, AfterViewInit, OnDestroy {\r\n private defaultPattern = /^.+$/;\r\n private DEFAULT_ARIA_LABEL = 'One time password input';\r\n private LAST_INPUT_INDEX!: number;\r\n private inputs!: HTMLInputElement[];\r\n private isNgxOtpArrayDisabled = false;\r\n private ngxOtpArray$!: Subscription;\r\n private focusedInputHasValue = false;\r\n private isInit = false;\r\n\r\n ngxOtpArray = new FormArray([]);\r\n ariaLabels: string[] = [];\r\n pattern!: RegExp;\r\n styles: string[][] = [];\r\n\r\n otpConfig: NgxOtpInputConfig = {\r\n otpLength: 6,\r\n autofocus: true,\r\n autoblur: true,\r\n behavior: NgxOtpBehavior.DEFAULT,\r\n pattern: this.defaultPattern,\r\n classList: {\r\n container: '',\r\n inputBox: '',\r\n input: '',\r\n inputFilled: '',\r\n inputDisabled: '',\r\n inputSuccess: '',\r\n inputError: '',\r\n }\r\n };\r\n\r\n @Input() public size: InputOptSizesTypes = 'large';\r\n @Input() public customClasses = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() set disable(isDisabled: boolean) {\r\n this.handleDisable(isDisabled);\r\n this.isNgxOtpArrayDisabled = isDisabled;\r\n }\r\n\r\n @Input() set config(c: NgxOtpInputConfig) {\r\n this.otpConfig = {...this.otpConfig, ...c};\r\n if (this.otpConfig.classList?.input) {\r\n this.setInitialStyles();\r\n }\r\n if (!c.pattern) {\r\n this.otpConfig.pattern = this.defaultPattern;\r\n }\r\n }\r\n\r\n @Input() set status(status: NgxOtpStatus) {\r\n this.handleStatusChange(status);\r\n }\r\n\r\n @ViewChildren('otpInputElement') otpInputElements!: QueryList<ElementRef>;\r\n\r\n @Output() change: EventEmitter<string[]> = new EventEmitter<string[]>();\r\n @Output() fillChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor(\r\n private readonly otpService: InputOptService,\r\n private readonly ref: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setUpOtpForm();\r\n this.setUpAriaLabels();\r\n this.LAST_INPUT_INDEX = this.otpConfig.otpLength - 1;\r\n this.otpFormChangeListener();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setNativeHTMLElements();\r\n this.setInitialFocus();\r\n this.setNumericInputIfPossible();\r\n this.handleDisable(this.isNgxOtpArrayDisabled);\r\n this.isInit = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngxOtpArray$.unsubscribe();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n get getClasses(): string {\r\n return `${InputOptSizesEnum[this.size]} ${this.customClasses}`;\r\n }\r\n\r\n get getContainerClasses(): string | string[] {\r\n return this.otpConfig?.classList?.container || ''\r\n }\r\n\r\n get getInputBoxClasses(): string | string[] {\r\n return this.otpConfig?.classList?.inputBox || ''\r\n }\r\n\r\n convertToFormControl(absCtrl: AbstractControl | null): FormControl {\r\n return absCtrl as FormControl;\r\n }\r\n\r\n clear(): void {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.removeStyleFromAll(this.otpConfig.classList.inputFilled);\r\n }\r\n\r\n this.ngxOtpArray.reset();\r\n this.ref.detectChanges();\r\n\r\n if (this.otpConfig.autofocus) {\r\n this.setFocus(0);\r\n }\r\n }\r\n\r\n handleKeyUp(index: number, value: string): void {\r\n // @ts-ignore\r\n if (this.otpConfig.pattern.test(value) && value !== 'Backspace') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n if (!this.ngxOtpArray.valid) {\r\n this.getFormControlByIndex(index).setValue(value, {emitEvent: false});\r\n this.stepForward(index);\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n }\r\n\r\n handleDelete(index: number): void {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.removeStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n\r\n if (\r\n (this.otpConfig.behavior === NgxOtpBehavior.LEGACY &&\r\n !this.focusedInputHasValue) ||\r\n this.otpConfig.behavior !== NgxOtpBehavior.LEGACY\r\n ) {\r\n this.stepBackward(index);\r\n } else {\r\n this.focusedInputHasValue = false;\r\n }\r\n }\r\n\r\n handleFocus(index: number): void {\r\n // @ts-ignore\r\n this.focusedInputHasValue = !!this.ngxOtpArray.controls[index].value;\r\n if (\r\n this.otpConfig.behavior === NgxOtpBehavior.LEGACY &&\r\n this.focusedInputHasValue\r\n ) {\r\n this.inputs[index].select();\r\n }\r\n }\r\n\r\n stepBackward(index: number): void {\r\n if (index > 0) {\r\n this.setFocus(index - 1);\r\n }\r\n }\r\n\r\n stepForward(index: number): void {\r\n if (index < this.LAST_INPUT_INDEX) {\r\n this.setFocus(index + 1);\r\n }\r\n }\r\n\r\n private otpFormChangeListener(): void {\r\n this.ngxOtpArray$ = this.ngxOtpArray.valueChanges.subscribe((values) => {\r\n if (this.isInit) {\r\n this.change.emit(values);\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.fillChange.emit(values.join(''));\r\n }\r\n }\r\n });\r\n }\r\n\r\n private setUpOtpForm(): void {\r\n for (let i = 0; i < this.otpConfig.otpLength; i++) {\r\n // @ts-ignore\r\n this.ngxOtpArray.push(new FormControl('', [Validators.required]));\r\n }\r\n }\r\n\r\n private setUpAriaLabels(): void {\r\n const labels = this.otpConfig.ariaLabels;\r\n\r\n this.ariaLabels = Array.isArray(labels)\r\n ? labels\r\n : new Array(this.otpConfig.otpLength).fill(\r\n labels || this.DEFAULT_ARIA_LABEL\r\n );\r\n }\r\n\r\n private setNativeHTMLElements(): void {\r\n this.inputs = this.otpInputElements.map((element) => element.nativeElement);\r\n }\r\n\r\n private setInitialFocus(): void {\r\n if (this.otpConfig.autofocus) {\r\n this.setFocus(0);\r\n }\r\n }\r\n\r\n private setInitialStyles(): void {\r\n this.styles = this.otpService.init2DArray(this.otpConfig.otpLength);\r\n\r\n if (this.otpConfig.classList && this.otpConfig.classList.input) {\r\n this.addStyleToAll(this.otpConfig.classList.input);\r\n }\r\n }\r\n\r\n private setFocus(index: number): void {\r\n this.inputs[index].focus();\r\n }\r\n\r\n private setNumericInputIfPossible(): void {\r\n if (this.otpConfig.numericInputMode) {\r\n this.otpConfig.pattern = this.defaultPattern;\r\n this.inputs.map((element) => {\r\n element.setAttribute('inputmode', 'numeric');\r\n element.setAttribute('pattern', '[0-9]*');\r\n });\r\n }\r\n }\r\n\r\n private blur(): void {\r\n if (this.otpConfig.autoblur) {\r\n this.inputs.map((input) => input.blur());\r\n }\r\n }\r\n\r\n private handlePaste(value: string): void {\r\n // @ts-ignore\r\n if (this.otpConfig.pattern.test(value)) {\r\n let lastIndex = 0;\r\n value\r\n .split('')\r\n .slice(0, this.otpConfig.otpLength)\r\n .map((character: string, index: number) => {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n this.getFormControlByIndex(index).setValue(character);\r\n lastIndex = index;\r\n });\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.blur();\r\n } else {\r\n this.setFocus(lastIndex + 1);\r\n }\r\n }\r\n }\r\n\r\n private handleDisable(isDisabled: boolean): void {\r\n if (isDisabled) {\r\n this.ngxOtpArray.disable();\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputDisabled) {\r\n this.addStyleToAll(this.otpConfig.classList.inputDisabled);\r\n }\r\n } else {\r\n this.ngxOtpArray.enable();\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputDisabled) {\r\n this.removeStyleFromAll(this.otpConfig.classList.inputDisabled);\r\n }\r\n }\r\n }\r\n\r\n private handleStatusChange(status: NgxOtpStatus): void {\r\n if (this.otpConfig.classList && (this.otpConfig.classList.inputSuccess && this.otpConfig.classList.inputError)) {\r\n this.removeStyleFromAll([\r\n ...this.otpService.toArray(\r\n this.otpConfig.classList.inputSuccess\r\n ),\r\n ...this.otpService.toArray(this.otpConfig.classList.inputError),\r\n ]);\r\n }\r\n\r\n if (status) {\r\n if (status === 'success') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputSuccess) {\r\n this.addStyleToAll(this.otpConfig.classList.inputSuccess);\r\n }\r\n } else if (status === 'error') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputError) {\r\n this.addStyleToAll(this.otpConfig.classList.inputError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getFormControlByIndex(index: number): FormControl {\r\n return this.ngxOtpArray.controls[index] as FormControl;\r\n }\r\n\r\n private addStyle(index: number, styles: string | string[]): void {\r\n this.styles = this.otpService.addItemAtIndex(\r\n this.styles,\r\n index,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private addStyleToAll(styles: string | string[]): void {\r\n this.styles = this.otpService.addItemToAll(\r\n this.styles,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private removeStyle(index: number, styles: string | string[]): void {\r\n this.styles = this.otpService.removeItemAtIndex(\r\n this.styles,\r\n index,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private removeStyleFromAll(styles: string | string[]): void {\r\n this.styles = this.otpService.removeItemFromAll(\r\n this.styles,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private onChange = (value: InputTextValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputTextValueTypes) {\r\n if (outsideValue) {\r\n let lastIndex = 0;\r\n String(outsideValue)\r\n .split('')\r\n .slice(0, this.otpConfig.otpLength)\r\n .map((character: string, index: number) => {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n this.getFormControlByIndex(index).setValue(character, {emitEvent: false});\r\n lastIndex = index;\r\n });\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.blur();\r\n } else {\r\n this.setFocus(lastIndex + 1);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent): void {\r\n event.preventDefault();\r\n // @ts-ignore\r\n this.handlePaste(event.clipboardData.getData('text'));\r\n }\r\n\r\n getInputType(): 'text' | 'password' | 'tel' {\r\n return this.otpConfig.isPasswordInput ? 'password' : this.otpConfig.isNumberInput ? 'tel' : 'text';\r\n }\r\n}\r\n","<form\r\n [ngClass]=\"getContainerClasses\"\r\n class=\"mrx-input-otp-container\"\r\n [class]=\"getClasses\"\r\n>\r\n <div\r\n *ngFor=\"let control of ngxOtpArray.controls; let i = index\"\r\n [ngClass]=\"getInputBoxClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"checkValidClasses\"\r\n class=\"mrx-input-otp-box\"\r\n >\r\n <label [attr.aria-label]=\"ariaLabels[i]\">\r\n <input\r\n #otpInputElement\r\n [id]=\"'mrx-input-otp-' + i\"\r\n [formControl]=\"convertToFormControl(control)\"\r\n [mrxOptPattern]=\"otpConfig.pattern\"\r\n [type]=\"getInputType()\"\r\n [ngClass]=\"styles[i]\"\r\n (keyup)=\"handleKeyUp(i, $event.key)\"\r\n (keyup.backspace)=\"handleDelete(i)\"\r\n (keyup.arrowLeft)=\"stepBackward(i)\"\r\n (keyup.arrowRight)=\"stepForward(i)\"\r\n (focus)=\"handleFocus(i)\"\r\n class=\"mrx-input-otp\"\r\n maxlength=\"1\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n />\r\n </label>\r\n </div>\r\n</form>\r\n\r\n<mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n customClasses=\"text-left\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputOptComponent } from './components/input-opt/input-opt.component';\r\nimport { OptPatternDirective } from './directives/opt-pattern.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputOptService } from './services/input-opt.service';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n OptPatternDirective,\r\n InputOptComponent\r\n ],\r\n imports: [\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CommonModule,\r\n ErrorMessageModule\r\n ],\r\n exports: [InputOptComponent],\r\n providers: [InputOptService],\r\n})\r\nexport class InputOptModule { }\r\n","export enum InputPasswordSizesEnum {\r\n 'small' = 'mrx-input-password-sm',\r\n 'medium' = 'mrx-input-password-md',\r\n 'large' = 'mrx-input-password-lg',\r\n}\r\n\r\nexport type InputPasswordSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputPasswordValueTypes = string;\r\n","import { Component, EventEmitter, forwardRef, HostListener, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputPasswordSizesEnum,\r\n InputPasswordSizesTypes,\r\n InputPasswordValueTypes\r\n} from './input-password.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-password',\r\n templateUrl: './input-password.component.html',\r\n styleUrls: ['./input-password.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputPasswordComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputPasswordComponent implements ControlValueAccessor {\r\n public value: InputPasswordValueTypes = '';\r\n public isShowPassword = false\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n @Input() public customClasses = '';\r\n @Input() public size: InputPasswordSizesTypes = 'large';\r\n\r\n @Output() public changed: EventEmitter<InputPasswordValueTypes> = new EventEmitter<InputPasswordValueTypes>();\r\n\r\n constructor() { }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isVerified(): boolean {\r\n return (\r\n !this.required ||\r\n (this.required && this.value != null && this.value !== '' && this.isValid)\r\n );\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputPasswordSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minlength) {\r\n return !!this.value && this.value.length >= this.minlength;\r\n }\r\n return true;\r\n }\r\n\r\n public toggleShow(): void {\r\n this.isShowPassword = !this.isShowPassword\r\n }\r\n\r\n private onChange = (value: InputPasswordValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputPasswordValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputPasswordValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-password\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-password__wrapper\">\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"isShowPassword ? 'text' : 'password'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n />\r\n\r\n <div class=\"mrx-input-password__icons\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"isShowPassword ? 'icon-hide' : 'icon-view'\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n (click)=\"toggleShow()\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputPasswordComponent } from './input-password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n InputPasswordComponent\r\n ],\r\n imports: [\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n InputPasswordComponent\r\n ]\r\n})\r\nexport class InputPasswordModule { }\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CheckboxValueTypes, CheckboxValueWithId } from './checkbox.enum';\r\nimport { TooltipService } from '../../tooltip/services/tooltip.service';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n TooltipService,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor, OnInit {\r\n public value: CheckboxValueTypes = false;\r\n\r\n private _tooltip = '';\r\n private _tooltipInitialVisible = false;\r\n private _isSaveToStorage = false;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public required = false;\r\n @Input() public boldLabel = false;\r\n @Input() public indeterminate = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n @Input() public customWrapperClasses = '';\r\n\r\n @Input() public invalid = false;\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input()\r\n set tooltip(tooltip: string) {\r\n this._tooltip = tooltip;\r\n this.tooltipService.setTooltip = tooltip;\r\n }\r\n\r\n @Input()\r\n set tooltipInitialVisible(value: boolean) {\r\n this._tooltipInitialVisible = value;\r\n this.tooltipService.toggleTooltipVisibleFromCode(value);\r\n }\r\n\r\n @Input()\r\n set isSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value;\r\n this.tooltipService.setSaveToStorage = value;\r\n }\r\n\r\n @ViewChild('input') input!: ElementRef;\r\n @ViewChild('labelContent') labelContent!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<CheckboxValueTypes> = new EventEmitter<CheckboxValueTypes>();\r\n @Output() public modelChange: EventEmitter<CheckboxValueWithId> = new EventEmitter<CheckboxValueWithId>();\r\n\r\n constructor(\r\n public tooltipService: TooltipService\r\n ) {\r\n }\r\n\r\n public get getWrapperClasses(): string {\r\n return `${this.customWrapperClasses}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n private onChange = (value: CheckboxValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: CheckboxValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: CheckboxValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({ value: insideValue, id: this.uuid });\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n ngOnInit() {\r\n this.tooltipService.initTooltip(this._tooltip, this._tooltipInitialVisible);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\" *ngIf=\"!indeterminate\"></span>\r\n </span>\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n\r\n <mrx-tooltip-trigger\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n></mrx-tooltip>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxComponent } from './checkbox.component';\r\nimport { TooltipModule } from '../../tooltip/tooltip.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [CheckboxComponent],\r\n imports: [CommonModule, FormsModule, TooltipModule, SaveStateModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CheckboxComponent],\r\n})\r\nexport class CheckboxModule {}\r\n","import { CheckboxGroupInnerItem } from '../models/checkbox-group.model';\r\n\r\nexport const getSortedList = (list: CheckboxGroupInnerItem[], sortable: boolean): CheckboxGroupInnerItem[] => {\r\n if (!list || !sortable) return list\r\n\r\n const sortedFunc = (prev: CheckboxGroupInnerItem, next: CheckboxGroupInnerItem) => {\r\n if (prev.value === null) {\r\n if (next.value === null) {\r\n return 0\r\n } else if (next.value) {\r\n return 1\r\n } else {\r\n return -1\r\n }\r\n } else if (prev.value) {\r\n if (next.value === null || !next.value) {\r\n return -1\r\n } else {\r\n return 0\r\n }\r\n } else {\r\n if (next.value === null || next.value) {\r\n return 1\r\n } else {\r\n if (prev.text < next.text) {return -1;}\r\n if (prev.text > next.text) {return 1;}\r\n return 0\r\n }\r\n }\r\n }\r\n\r\n const getSortedListInner = (list: CheckboxGroupInnerItem[]) => {\r\n const sortedList = list.sort(sortedFunc)\r\n\r\n sortedList.forEach((item: CheckboxGroupInnerItem) => {\r\n if (item.type === 'array') {\r\n getSortedListInner(item.items)\r\n }\r\n })\r\n\r\n return sortedList\r\n }\r\n\r\n return getSortedListInner(list)\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxGroupSearchValue } from '../models/checkbox-group.model';\r\n\r\nexport const filterSearchGroup = (list: CheckboxGroupInnerItem[], searchValue: CheckboxGroupSearchValue) => {\r\n if (!list) return list\r\n\r\n const getIntersectionsFromString = (array: CheckboxGroupInnerItem[]) => {\r\n const searchArray: CheckboxGroupInnerItem[] = []\r\n\r\n array.forEach((item: CheckboxGroupInnerItem) => {\r\n if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {\r\n if (item.type === 'array') {\r\n const newArray: CheckboxGroupInnerItem[] = getIntersectionsFromString(item.items || [])\r\n searchArray.push({...item, items: newArray})\r\n } else {\r\n searchArray.push(item)\r\n }\r\n } else {\r\n if (item.type === 'array') {\r\n const newArray: CheckboxGroupInnerItem[] = getIntersectionsFromString(item.items || [])\r\n newArray.length && searchArray.push({...item, items: newArray})\r\n }\r\n }\r\n })\r\n\r\n return searchArray\r\n }\r\n\r\n return getIntersectionsFromString(list)\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const getItemInnerById = (list: CheckboxGroupInnerItem[], itemId: string | number | null) => {\r\n const findById = (acc: CheckboxGroupInnerItem | null, el: CheckboxGroupInnerItem | null): CheckboxGroupInnerItem | null => {\r\n if ( el?.id === itemId ) return el;\r\n if ( el?.items ) return el.items.reduce(findById, acc);\r\n return acc;\r\n }\r\n\r\n return list.reduce(findById, null);\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxIndeterminateState } from '../models/checkbox-group.model';\r\n\r\nexport const changeItemValue = (item: CheckboxGroupInnerItem, value: CheckboxIndeterminateState) => {\r\n item.value = value\r\n if (item.type === 'array') {\r\n item.items?.forEach((item: CheckboxGroupInnerItem) => {\r\n changeItemValue(item, value)\r\n })\r\n }\r\n\r\n return item\r\n}\r\n\r\nexport const changeListValue = (list: CheckboxGroupInnerItem[], value: CheckboxIndeterminateState) => {\r\n list.forEach((item: CheckboxGroupInnerItem) => {\r\n changeItemValue(item, value)\r\n })\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxIndeterminateState } from '../models/checkbox-group.model';\r\nimport { getItemInnerById } from './get-item-by-id';\r\n\r\nexport const checkUnderArrayValue = (array: CheckboxGroupInnerItem[], value: CheckboxIndeterminateState): boolean => {\r\n return array.some((x: CheckboxGroupInnerItem) => {\r\n if (x.type === 'array') {\r\n return checkUnderArrayValue(x.items, value)\r\n }\r\n\r\n return x.value !== value\r\n })\r\n}\r\n\r\nexport const changeGroupValue = (list: CheckboxGroupInnerItem[], parentId: string | number | null, value: CheckboxIndeterminateState) => {\r\n if (!parentId) {\r\n return\r\n }\r\n const parent = getItemInnerById(list, parentId)\r\n\r\n if (parent) {\r\n parent.value = checkUnderArrayValue(parent.items, value) ? null : value\r\n }\r\n}\r\n","import { CheckboxGroupInnerItem } from '../models/checkbox-group.model';\r\n\r\nexport const getCheckedItems = (list: CheckboxGroupInnerItem[]): CheckboxGroupInnerItem[] => {\r\n if (!list) return list\r\n\r\n const checkedItems: CheckboxGroupInnerItem[] = []\r\n\r\n const getCheckedItemsFromArray = (list: CheckboxGroupInnerItem[]) => {\r\n list.forEach((item: CheckboxGroupInnerItem) => {\r\n if (item.type === 'array') {\r\n getCheckedItemsFromArray(item.items || [])\r\n } else {\r\n if (item.value) {\r\n checkedItems.push(item)\r\n }\r\n }\r\n })\r\n }\r\n\r\n getCheckedItemsFromArray(list)\r\n\r\n return checkedItems as CheckboxGroupInnerItem[]\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const getInnerList = (list: CheckboxGroupItem[], checkedList: CheckboxGroupInnerItem[]): CheckboxGroupInnerItem[] => {\r\n const getItemValue = (item: CheckboxGroupItem): boolean | null => {\r\n if (item.items) {\r\n let value: boolean | null = false\r\n let count = 0\r\n\r\n item.items.forEach((i, idx, array) => {\r\n if (i.items) {\r\n if (value === false) {\r\n value = getItemValue(i)\r\n }\r\n } else {\r\n if (checkedList.find(c => c.id === i.id)) {\r\n count++\r\n\r\n if (value === false) {\r\n value = null\r\n }\r\n }\r\n }\r\n\r\n if (idx === array.length - 1) {\r\n if (count === array.length) {\r\n value = true\r\n }\r\n }\r\n })\r\n\r\n return value\r\n } else {\r\n return !!checkedList.find(c => c.id === item.id)\r\n }\r\n }\r\n\r\n const getModifiedList = (items: CheckboxGroupItem[], parentId: string | number | null = null): CheckboxGroupInnerItem[] => {\r\n return items.map((item, idx, array) => {\r\n return {\r\n id: item.id,\r\n text: item.text,\r\n value: getItemValue(item),\r\n parentId: parentId,\r\n type: item.items ? 'array' : 'single',\r\n items: item.items ? getModifiedList(item.items, item.id) : []\r\n }\r\n })\r\n }\r\n\r\n return getModifiedList(list)\r\n}\r\n","import { CheckboxGroupInnerItem, CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const innerListToList = (innerList: CheckboxGroupInnerItem[]): CheckboxGroupItem[] => {\r\n const getModifiedList = (items: CheckboxGroupInnerItem[]): CheckboxGroupItem[] => {\r\n return items.map((item, idx, array) => {\r\n return {\r\n id: item.id,\r\n text: item.text,\r\n items: item.items ? getModifiedList(item.items) : []\r\n }\r\n })\r\n }\r\n\r\n return getModifiedList(innerList)\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { animate, group, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n AnimateCheckboxGroupState,\r\n CheckboxGroupInnerItem,\r\n CheckboxIndeterminateState\r\n} from '../../models/checkbox-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-checkbox-group-item',\r\n templateUrl: './checkbox-group-item.component.html',\r\n styleUrls: ['./checkbox-group-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('openList', [\r\n state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),\r\n state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),\r\n state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),\r\n transition('* => open', [\r\n animate(200)\r\n ]),\r\n transition('* => close', [\r\n animate(200)\r\n ]),\r\n ])\r\n ]\r\n})\r\nexport class CheckboxGroupItemComponent implements OnChanges {\r\n private _item!: CheckboxGroupInnerItem\r\n\r\n public animationState: AnimateCheckboxGroupState = 'close'\r\n public isOpen = false\r\n\r\n\r\n @Input() displaced = false\r\n @Input() level = 0\r\n @Input() animationTrigger: boolean | null = null\r\n @Input() isLast!: boolean\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public invalid = false;\r\n\r\n @Input() set item(value: CheckboxGroupInnerItem) {\r\n this._item = value\r\n }\r\n\r\n public get item():CheckboxGroupInnerItem {\r\n return this._item\r\n }\r\n\r\n @Output() public animationEnd: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public checkboxChanged: EventEmitter<{ value: CheckboxIndeterminateState, item: CheckboxGroupInnerItem }> =\r\n new EventEmitter<{ value: CheckboxIndeterminateState, item: CheckboxGroupInnerItem }>();\r\n\r\n constructor(private _detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isIndeterminate(): boolean {\r\n return this.item.value === null\r\n }\r\n\r\n public get translateChevron(): string {\r\n return this.isOpen ? 'rotate(0deg)' : 'rotate(-90deg)';\r\n }\r\n\r\n public toggleList(item: CheckboxGroupInnerItem): void {\r\n this.isOpen = !this.isOpen\r\n }\r\n\r\n public checkboxChangeModel(value: CheckboxIndeterminateState, item: CheckboxGroupInnerItem): void {\r\n if (this.isIndeterminate) {\r\n this.checkboxChanged.emit({ value: false, item })\r\n } else {\r\n this.checkboxChanged.emit({ value: value, item })\r\n }\r\n\r\n this._detector.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['item'] && (changes['item'].currentValue.value === null)) {\r\n this.isOpen = true\r\n } else {\r\n\r\n this.isOpen = !!this.animationTrigger;\r\n }\r\n\r\n this._detector.detectChanges()\r\n }\r\n\r\n public onAnimationEvent(): void {\r\n this.animationEnd.emit()\r\n }\r\n\r\n public trackByFn(index: number, item: CheckboxGroupInnerItem) {\r\n return item.id;\r\n }\r\n}\r\n","<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.items?.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.items; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CheckboxGroupSearchValue } from '../../models/checkbox-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-checkbox-group-header',\r\n templateUrl: './checkbox-group-header.component.html',\r\n styleUrls: ['./checkbox-group-header.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CheckboxGroupHeaderComponent {\r\n public searchValue = ''\r\n\r\n @Input() searchable = false\r\n @Input() searchPlaceholder = ''\r\n\r\n // LABEL\r\n @Input() tooltip = ''\r\n @Input() labelText = ''\r\n @Input() linkText = ''\r\n @Input() checkedItemsCount = 0\r\n\r\n @Output() public updateCheckboxGroupSearchValue: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() public clearFilters: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n constructor() { }\r\n\r\n public changeSearchValue(searchValue: CheckboxGroupSearchValue): void {\r\n this.updateCheckboxGroupSearchValue.emit(searchValue)\r\n }\r\n\r\n public onClearFilters(): void {\r\n this.clearFilters.emit()\r\n }\r\n}\r\n","<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef, Injectable,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n CheckboxGroupInnerItem,\r\n CheckboxGroupItem,\r\n CheckboxGroupValueInnerWithId,\r\n CheckboxGroupValueWithId\r\n} from './models/checkbox-group.model';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { getSortedList } from './helpers/get-sorted-list';\r\nimport { filterSearchGroup } from './helpers/filter-search-group';\r\nimport { getItemInnerById } from './helpers/get-item-by-id';\r\nimport { changeItemValue, changeListValue } from './helpers/change-item-value';\r\nimport { changeGroupValue } from './helpers/change-group-value';\r\nimport { getCheckedItems } from './helpers/get-checked-items';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { getInnerList } from './helpers/get-inner-list.helper';\r\nimport { innerListToList } from './helpers/inner-list-to-list.helper';\r\n\r\n@Injectable({\r\n providedIn: CheckboxGroupComponent\r\n})\r\n@Component({\r\n selector: 'mrx-checkbox-group',\r\n templateUrl: './checkbox-group.component.html',\r\n styleUrls: ['./checkbox-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxGroupComponent implements ControlValueAccessor {\r\n private _groupItemsWrapperHeight = 0;\r\n private _searchValue = '';\r\n\r\n public list: CheckboxGroupItem[] = [];\r\n public innerList: CheckboxGroupInnerItem[] = [];\r\n\r\n public checkedList: CheckboxGroupInnerItem[] = [];\r\n public filteredList: CheckboxGroupInnerItem[] = [];\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public scrollMaxHeight = 200;\r\n @Input() public searchable = false;\r\n @Input() public scrollable = false;\r\n @Input() public sortable = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public enableMessage = 'Ничего не найдено';\r\n @Input() public searchPlaceholder = '';\r\n @Input() public customClasses = '';\r\n\r\n // TOOLTIP\r\n @Input() tooltip = '';\r\n\r\n // LABEL\r\n @Input() labelText = '';\r\n @Input() linkText = '';\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n\r\n @Input() set items(list: CheckboxGroupItem[]) {\r\n this.list = list;\r\n this._updateModifiedList();\r\n }\r\n\r\n get items(): CheckboxGroupInnerItem[] {\r\n return this.filteredList;\r\n }\r\n\r\n @ViewChild('groupItemsWrapper') groupItemsWrapper!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<CheckboxGroupItem[]> = new EventEmitter<CheckboxGroupItem[]>();\r\n @Output() public modelChange: EventEmitter<CheckboxGroupValueWithId> = new EventEmitter<CheckboxGroupValueWithId>();\r\n\r\n @Output() public changedInner: EventEmitter<CheckboxGroupInnerItem[]> = new EventEmitter<CheckboxGroupInnerItem[]>();\r\n @Output() public modelChangeInner: EventEmitter<CheckboxGroupValueInnerWithId> = new EventEmitter<CheckboxGroupValueInnerWithId>();\r\n\r\n @Output() public modelItemChange: EventEmitter<CheckboxGroupInnerItem> = new EventEmitter<CheckboxGroupInnerItem>();\r\n\r\n constructor(private _detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isSearchValue(): string {\r\n return this._searchValue;\r\n }\r\n\r\n public get displaced(): boolean {\r\n return this.list.some((item: CheckboxGroupItem) => item.items?.length);\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this.invalid;\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this.invalidMessage;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get getShowScroll(): boolean {\r\n return this._groupItemsWrapperHeight > this.scrollMaxHeight;\r\n }\r\n\r\n public trackByFn(index: number, item: CheckboxGroupInnerItem) {\r\n return item.id;\r\n }\r\n\r\n private onChange = (value: CheckboxGroupItem[]) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public writeValue(selectedValue: CheckboxGroupItem[]): void {\r\n if (selectedValue !== null) {\r\n this.checkedList = getInnerList(selectedValue, this.checkedList);\r\n this._updateModifiedList();\r\n }\r\n }\r\n\r\n private _updateModifiedList() {\r\n this.innerList = getInnerList(this.list, this.checkedList);\r\n this.filteredList = getSortedList(this.innerList, this.sortable);\r\n }\r\n\r\n public checkHeightGroupWrapper(): void {\r\n this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;\r\n }\r\n\r\n public updateCheckboxGroupSearchValue(searchValue: string): void {\r\n this._searchValue = searchValue;\r\n this.filteredList = filterSearchGroup(this.innerList, this._searchValue);\r\n }\r\n\r\n public checkboxChanged({value, item}: { value: boolean | null; item: CheckboxGroupInnerItem }) {\r\n const cloneList: CheckboxGroupInnerItem[] = cloneDeep(this.filteredList);\r\n const findItem: CheckboxGroupInnerItem | null = getItemInnerById(cloneList, item.id);\r\n let changedItem: CheckboxGroupInnerItem | null = null;\r\n\r\n if (findItem) {\r\n changedItem = changeItemValue(findItem, value);\r\n changeGroupValue(cloneList, item.parentId, value);\r\n getSortedList(cloneList, this.sortable);\r\n }\r\n\r\n this.filteredList = cloneList;\r\n this.checkedList = getCheckedItems(cloneList);\r\n this.updateValue(this.filteredList, this.checkedList);\r\n\r\n if (changedItem) {\r\n this.modelItemChange.emit(changedItem);\r\n }\r\n\r\n this._detector.detectChanges();\r\n }\r\n\r\n public clearFilters() {\r\n const cloneList: CheckboxGroupInnerItem[] = cloneDeep(this.filteredList);\r\n\r\n changeListValue(cloneList, false);\r\n getSortedList(cloneList, this.sortable);\r\n\r\n this.filteredList = cloneList;\r\n this.checkedList = getCheckedItems(cloneList);\r\n this.updateValue(this.filteredList, this.checkedList);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(list: CheckboxGroupItem[], checkedList: CheckboxGroupInnerItem[]): void {\r\n const clearedList = innerListToList(checkedList)\r\n const clearedInnerList = innerListToList(this.innerList)\r\n\r\n this.changed.emit(clearedList);\r\n this.modelChange.emit({value: clearedList, full: clearedInnerList, id: this.uuid});\r\n\r\n this.changedInner.emit(checkedList);\r\n this.modelChangeInner.emit({value: checkedList, full: this.innerList, id: this.uuid});\r\n\r\n this.onChange(checkedList);\r\n this.onTouched();\r\n }\r\n}\r\n","<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [customClasses]=\"'mt-2'\"\r\n ></mrx-error-message>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CheckboxGroupComponent } from './checkbox-group.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxModule } from '../checkbox/checkbox.module';\r\nimport { CheckboxGroupItemComponent } from './components/checkbox-group-item/checkbox-group-item.component';\r\nimport { CheckboxGroupHeaderComponent } from './components/checkbox-group-header/checkbox-group-header.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\nimport { InputSearchModule } from '../input-search/input-search.module';\r\n\r\n@NgModule({\r\n declarations: [CheckboxGroupComponent, CheckboxGroupItemComponent, CheckboxGroupHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CheckboxModule,\r\n InputSearchModule,\r\n LabelModule,\r\n SaveStateModule,\r\n ErrorMessageModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CheckboxGroupComponent]\r\n})\r\nexport class CheckboxGroupModule { }\r\n","export enum RadioTypesEnum {\r\n 'default' = 'mrx-radio-default',\r\n}\r\n// | 'indeterminate'\r\nexport type RadioTypes = 'default'\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { RadioTypes, RadioTypesEnum } from \"./radio.enum\";\r\n\r\nexport type RadioValueTypes = false;\r\n\r\n@Component({\r\n selector: 'mrx-radio',\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioComponent implements ControlValueAccessor {\r\n public modelValue: any;\r\n\r\n @Input() public required = false;\r\n @Input() public type: RadioTypes = 'default';\r\n @Input() public name: string = '';\r\n @Input() public boldLabel = true;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public placeholder = '';\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n\r\n @Input() public invalid = false;\r\n\r\n @Input('value') _value: any;\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set value(value) {\r\n\r\n if (!!value) {\r\n this._value = value;\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${RadioTypesEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n registerOnChange(fn: () => {}) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => {}) {\r\n this.onTouched = fn;\r\n }\r\n\r\n writeValue(outsideValue: any) {\r\n this.modelValue = outsideValue;\r\n }\r\n\r\n valueChanged(event: any) {\r\n this.onChange(this.modelValue);\r\n }\r\n}\r\n","<div class=\"mrx-radio__wrapper\">\r\n <label\r\n class=\"mrx-radio\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [(ngModel)]=\"modelValue\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n (change)=\"valueChanged(value)\"\r\n />\r\n\r\n <span class=\"mrx-radio__mark\"><span class=\"mrx-radio__mark__inner\"></span></span>\r\n\r\n <span class=\"ml-1\" [class]=\"boldLabel ? 'mrx-radio__label--bold' : 'mrx-radio__label'\">\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioComponent } from './radio.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [RadioComponent],\r\n imports: [CommonModule, FormsModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RadioComponent]\r\n})\r\nexport class RadioModule { }\r\n","import { RadioGroupItem } from '../models/radio-group.model';\r\n\r\nexport const moveSelectedToFirst = (\r\n list: RadioGroupItem[],\r\n sortable: boolean,\r\n targetItem: RadioGroupItem | null\r\n) => {\r\n if (!list || !sortable || !targetItem) return list;\r\n\r\n const sortArray = (\r\n array: RadioGroupItem[]\r\n ): { sortedArr: RadioGroupItem[]; hasTargetElement: boolean } => {\r\n for (let i = 0; i < array.length; i++) {\r\n const item = array[i];\r\n if (item.id === targetItem.id) {\r\n const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];\r\n return { hasTargetElement: true, sortedArr };\r\n } else if (item.array?.length) {\r\n {\r\n const { sortedArr: newArr, hasTargetElement } = sortArray(item.array);\r\n if (hasTargetElement) {\r\n item.array = newArr;\r\n const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];\r\n return { hasTargetElement, sortedArr };\r\n }\r\n }\r\n }\r\n }\r\n return { hasTargetElement: false, sortedArr: array };\r\n };\r\n const { sortedArr } = sortArray(list);\r\n return sortedArr;\r\n};\r\n","import { RadioGroupItem, RadioGroupSearchValue } from '../models/radio-group.model';\r\n\r\nexport const filterSearchGroup = (list: RadioGroupItem[], searchValue: RadioGroupSearchValue) => {\r\n if (!list) return list\r\n\r\n const getIntersectionsFromString = (array: RadioGroupItem[]) => {\r\n const searchArray: RadioGroupItem[] = []\r\n\r\n array.forEach((item: RadioGroupItem) => {\r\n if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {\r\n if (item.array) {\r\n const newArray: RadioGroupItem[] = getIntersectionsFromString(item.array)\r\n searchArray.push({...item, array: newArray})\r\n } else {\r\n searchArray.push(item)\r\n }\r\n } else {\r\n if (item.array) {\r\n const newArray: RadioGroupItem[] = getIntersectionsFromString(item.array)\r\n newArray.length && searchArray.push({...item, array: newArray})\r\n }\r\n }\r\n })\r\n\r\n return searchArray\r\n }\r\n\r\n return getIntersectionsFromString(list)\r\n}\r\n","import { RadioGroupItem } from '../models/radio-group.model';\r\n\r\nexport const getItemById = (list: RadioGroupItem[], itemId: string | number) => {\r\n const findById = (acc: RadioGroupItem | null, el: RadioGroupItem | null): RadioGroupItem | null => {\r\n if ( el?.id === itemId ) return el;\r\n if ( el?.array ) return el.array.reduce(findById, acc);\r\n return acc;\r\n }\r\n\r\n return list.reduce(findById, null);\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { RadioGroupItem, RadioIndeterminateState } from '../../models/radio-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-radio-group-item',\r\n templateUrl: './radio-group-item.component.html',\r\n styleUrls: ['./radio-group-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioGroupItemComponent {\r\n\r\n @Input() public invalid = false;\r\n @Input() name: string = '';\r\n @Input() selectedValue: RadioGroupItem | null = null;\r\n @Input() item!: RadioGroupItem\r\n @Input() displaced = false\r\n @Input() level = 0\r\n @Input() public bold = false;\r\n @Input() animationTrigger: boolean | null = null\r\n @Input() isLast!: boolean\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n\r\n @Output() public animationEnd: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public radioChanged: EventEmitter<{ value: RadioIndeterminateState, item: RadioGroupItem }> =\r\n new EventEmitter<{ value: RadioIndeterminateState, item: RadioGroupItem }>();\r\n\r\n constructor(private detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isIndeterminate(): boolean {\r\n return this.item.id === null\r\n }\r\n\r\n public trackByFn(index: number, item: RadioGroupItem) {\r\n return item.id;\r\n }\r\n\r\n public radioChangeModel(value: RadioIndeterminateState, item: RadioGroupItem): void {\r\n if (this.isIndeterminate) {\r\n this.radioChanged.emit({ value: false, item })\r\n } else {\r\n this.radioChanged.emit({ value: value, item })\r\n }\r\n\r\n this.detector.detectChanges()\r\n }\r\n}\r\n","<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n","import { InputSearchSizesTypes } from './../../../input-search/input-search.enum';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { RadioGroupSearchValue } from '../../models/radio-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-radio-group-header',\r\n templateUrl: './radio-group-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioGroupHeaderComponent {\r\n public searchValue = ''\r\n\r\n @Input() searchSize: InputSearchSizesTypes = 'medium';\r\n\r\n @Input() searchable = false\r\n @Input() searchPlaceholder = ''\r\n\r\n // LABEL\r\n @Input() tooltip = ''\r\n @Input() labelText = ''\r\n @Input() linkText = ''\r\n @Input() checkedItemsCount = 0\r\n @Input() required = false;\r\n\r\n @Output() public updateradioGroupSearchValue: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor() { }\r\n\r\n public changeSearchValue(searchValue: RadioGroupSearchValue): void {\r\n this.updateradioGroupSearchValue.emit(searchValue)\r\n }\r\n}\r\n","<mrx-label\r\n *ngIf=\"labelText\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-radio-group-head--search mb-12px\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"searchSize\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n","import { InputSearchSizesTypes } from '../input-search/input-search.enum';\r\nimport {\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Injectable,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { RadioGroupItem, RadioGroupValueWithId } from './models/radio-group.model';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { moveSelectedToFirst } from './helpers/move-selected-to-first';\r\nimport { filterSearchGroup } from './helpers/filter-search-group';\r\nimport { getItemById } from './helpers/get-item-by-id';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services';\r\n\r\n@Injectable({\r\n providedIn: RadioGroupComponent\r\n})\r\n@Component({\r\n selector: 'mrx-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioGroupComponent implements ControlValueAccessor {\r\n private _isInit = false;\r\n private _groupItemsWrapperHeight = 0;\r\n private _searchValue = '';\r\n private _list: RadioGroupItem[] = [];\r\n\r\n\r\n public selectedValue: RadioGroupItem | null = null;\r\n public filteredList: RadioGroupItem[] = [];\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid();\r\n\r\n @Input() public fields: Field[] = [];\r\n @Input() searchSize: InputSearchSizesTypes = 'medium';\r\n @Input() public name = '';\r\n @Input() public scrollMaxHeight = 200;\r\n @Input() public searchable = false;\r\n @Input() public bold = false;\r\n @Input() public scrollable = false;\r\n @Input() public sortable = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public enableMessage = 'Ничего не найдено';\r\n @Input() public searchPlaceholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public required = false;\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // TOOLTIP\r\n @Input() tooltip = '';\r\n\r\n // LABEL\r\n @Input() labelText = '';\r\n\r\n @Input() set items(value: RadioGroupItem[]) {\r\n this._list = value\r\n this.filteredList = value\r\n this._detector.detectChanges()\r\n }\r\n\r\n get items(): RadioGroupItem[] {\r\n return this.filteredList\r\n }\r\n\r\n @ViewChild('groupItemsWrapper') groupItemsWrapper!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n @Output() public modelChange: EventEmitter<RadioGroupValueWithId> = new EventEmitter<RadioGroupValueWithId>();\r\n @Output() public modelCheckedChange: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n @Output() public modelItemChange: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n\r\n constructor(private _detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isSearchValue(): string {\r\n return this._searchValue;\r\n }\r\n\r\n public get displaced(): boolean {\r\n return this.items.some((item: RadioGroupItem) => item.array.length);\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get getShowScroll(): boolean {\r\n return this._groupItemsWrapperHeight > this.scrollMaxHeight;\r\n }\r\n\r\n public trackByFn(index: number, item: RadioGroupItem) {\r\n return item.id;\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public writeValue(selectedValue: RadioGroupItem): void {\r\n this.selectedValue = selectedValue;\r\n this._isInit = true;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(list: RadioGroupItem[], targetItem: RadioGroupItem | null): void {\r\n this.changed.emit(targetItem);\r\n this.modelChange.emit({value: targetItem, id: this.uuid});\r\n this.modelCheckedChange.emit(targetItem);\r\n this.onChange(targetItem);\r\n this.onTouched();\r\n }\r\n\r\n public checkHeightGroupWrapper(): void {\r\n this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;\r\n }\r\n\r\n public updateRadioGroupSearchValue(searchValue: string): void {\r\n this._searchValue = searchValue;\r\n this.filteredList = filterSearchGroup(this._list, this._searchValue);\r\n }\r\n\r\n radioChanged({item}: { item: RadioGroupItem }) {\r\n const cloneList: RadioGroupItem[] = cloneDeep(this.filteredList);\r\n const targetItem: RadioGroupItem | null = getItemById(cloneList, item.id);\r\n this.selectedValue = targetItem;\r\n this.filteredList = moveSelectedToFirst(cloneList, this.sortable, targetItem);\r\n this._list = this.filteredList\r\n this.updateValue(this.filteredList, targetItem);\r\n this.modelItemChange.emit(targetItem);\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n}\r\n","<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\">\r\n <mrx-radio-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n [customClasses]=\"'mt-2'\"\r\n ></mrx-error-message>\r\n </div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioGroupComponent } from './radio-group.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RadioModule } from '../radio/radio.module';\r\nimport { RadioGroupItemComponent } from './components/radio-group-item/radio-group-item.component';\r\nimport { RadioGroupHeaderComponent } from './components/radio-group-header/radio-group-header.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { InputSearchModule } from '../input-search/input-search.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [RadioGroupComponent, RadioGroupItemComponent, RadioGroupHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RadioModule,\r\n InputSearchModule,\r\n LabelModule,\r\n ErrorMessageModule,\r\n SaveStateModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RadioGroupComponent]\r\n})\r\nexport class RadioGroupModule {\r\n}\r\n\r\n","export enum WidgetWrapperTitleStatusTextEnum {\r\n 'default' = '',\r\n 'positive' = 'color-positive',\r\n 'negative' = 'color-negative',\r\n 'attention' = 'color-attention',\r\n 'info' = 'color-info',\r\n}\r\n\r\nexport enum WidgetWrapperTitleStatusIconEnum {\r\n 'default' = '',\r\n 'positive' = 'icon-filled-color-positive',\r\n 'negative' = 'icon-filled-color-negative',\r\n 'attention' = 'icon-filled-color-attention',\r\n 'info' = '',\r\n}\r\n\r\nexport type WidgetWrapperTitleStatusTypes = 'default' | 'positive' | 'negative' | 'attention' | 'info'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n WidgetWrapperTitleStatusIconEnum,\r\n WidgetWrapperTitleStatusTextEnum,\r\n WidgetWrapperTitleStatusTypes\r\n} from \"./widget-wrapper.enum\";\r\n\r\n@Component({\r\n selector: 'mrx-widget-wrapper',\r\n templateUrl: './widget-wrapper.component.html',\r\n styleUrls: ['./widget-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('expandedPanel', [\r\n state('initial', style({height: 0, opacity: 0})),\r\n state('expanded', style({height: '*', opacity: 1})),\r\n transition('initial => expanded', animate('0.2s', keyframes([\r\n style({height: '*', offset: 0.7}),\r\n style({opacity: 1, offset: 1})\r\n ]))),\r\n transition('expanded => initial', animate('0.2s', keyframes([\r\n style({opacity: 0, offset: 0.4}),\r\n style({height: 0, offset: 1})\r\n ])))\r\n ]),\r\n ],\r\n})\r\nexport class WidgetWrapperComponent implements OnInit {\r\n private _animateState: 'initial' | 'expanded' = 'initial'\r\n\r\n @Input() title = ''\r\n @Input() titleInfo = ''\r\n @Input() titleStatus: WidgetWrapperTitleStatusTypes = 'default'\r\n @Input() iconClass = ''\r\n @Input() isOpen = true\r\n @Input() customClasses = ''\r\n\r\n @Output() toggleWidgetContent: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @ContentChild('templateHeadTitle') templateHeadTitle!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateHeadLeft') templateHeadLeft!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateHeadRight') templateHeadRight!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateContent') templateContent!: TemplateRef<HTMLElement>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this._animateState = this.isOpen ? 'expanded' : 'initial'\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`\r\n }\r\n\r\n public get isOpenState(): string {\r\n return this._animateState\r\n }\r\n\r\n public get getTitleTextClasses(): string {\r\n return `${WidgetWrapperTitleStatusTextEnum[this.titleStatus]}`;\r\n }\r\n\r\n public get getTitleIconClasses(): string {\r\n return `${WidgetWrapperTitleStatusIconEnum[this.titleStatus]} ${this.iconClass}`;\r\n }\r\n\r\n public changeVisibleContent(): void {\r\n this.isOpen = !this.isOpen\r\n this._animateState = this._animateState === 'initial' ? 'expanded' : 'initial'\r\n this.toggleWidgetContent.emit(this.isOpen)\r\n }\r\n}\r\n","<div class=\"mrx-widget\" [class]=\"getClasses\">\r\n <div class=\"mrx-widget__header\" (click)=\"changeVisibleContent()\">\r\n <div class=\"mrx-widget__header-content mr-4 flex-column flex-sm-row align-items-start align-items-sm-center\">\r\n <div class=\"mrx-widget__header-content--left justify-content-start\">\r\n <div class=\"mrx-widget__header-title\" *ngIf=\"!templateHeadTitle; else titleTemplate\">\r\n <h6 class=\"mrx-widget__header-title--wrapper\">\r\n <span\r\n *ngIf=\"iconClass\"\r\n [class]=\"getTitleIconClasses\"\r\n class=\"mrx-icon icon-font-24 icon-filled-color-negative\"\r\n ></span>\r\n <span\r\n *ngIf=\"title\"\r\n [class]=\"getTitleTextClasses\"\r\n class=\"mrx-widget__header-title--text color-negative\"\r\n >{{ title }}</span>\r\n </h6>\r\n <span class=\"mrx-widget__header-title--info\" *ngIf=\"titleInfo\">{{ titleInfo }}</span>\r\n </div>\r\n <ng-template #titleTemplate>\r\n <ng-container *ngTemplateOutlet=\"templateHeadTitle\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"templateHeadLeft\"></ng-container>\r\n </div>\r\n <div class=\"mrx-widget__header-content--right justify-content-start\" *ngIf=\"templateHeadRight\">\r\n <ng-container *ngTemplateOutlet=\"templateHeadRight\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mrx-widget__header-arrow\">\r\n <span class=\"mrx-widget__header-arrow--text mr-2 d-none d-md-flex justify-content-end\">{{ isOpen ? 'Свернуть' : 'Развернуть' }}</span>\r\n <span\r\n [ngStyle]=\"{transform: isOpen ? 'rotate(0deg)' : 'rotate(180deg)'}\"\r\n class=\"mrx-icon icon-chevron-up icon-font-24\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-widget__content\" [@expandedPanel]=\"isOpenState\">\r\n <div class=\"mrx-widget__content-box px-4 py-3\">\r\n <ng-container *ngIf=\"templateContent; else contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templateContent\"></ng-container>\r\n </ng-container>\r\n <ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WidgetWrapperComponent } from './widget-wrapper.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetWrapperComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n WidgetWrapperComponent\r\n ]\r\n})\r\nexport class WidgetWrapperModule { }\r\n","export enum ContentWrapperTypeEnum {\r\n 'default' = 'type-default',\r\n 'colored' = 'type-colored',\r\n}\r\n\r\nexport type ContentWrapperType = 'default' | 'colored';\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ContentWrapperType, ContentWrapperTypeEnum } from './content-wrapper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-content-wrapper',\r\n templateUrl: './content-wrapper.component.html',\r\n styleUrls: ['./content-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContentWrapperComponent {\r\n @Input() type: ContentWrapperType = 'default';\r\n @Input() customClasses = ''\r\n @Input() maxWidth: string | undefined;\r\n\r\n public get getClasses(): string {\r\n return `${ContentWrapperTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div\r\n class=\"mrx-content-wrapper\"\r\n [class]=\"getClasses\"\r\n [ngStyle]=\"{maxWidth: maxWidth}\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ContentWrapperComponent } from './content-wrapper.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ContentWrapperComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ContentWrapperComponent]\r\n})\r\nexport class ContentWrapperModule { }\r\n","export enum ControlsVisibilityEnum {\r\n 'auto' = 'visibility-auto',\r\n 'show' = 'visibility-show',\r\n 'hide' = 'visibility-hide',\r\n}\r\n\r\nexport type ControlsVisibilityTypes = 'auto' | 'show' | 'hide';\r\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, TemplateRef } from '@angular/core';\r\nimport { ControlsVisibilityEnum, ControlsVisibilityTypes } from './controls-wrapper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-controls-wrapper',\r\n templateUrl: './controls-wrapper.component.html',\r\n styleUrls: ['./controls-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ControlsWrapperComponent {\r\n @Input() visibility: ControlsVisibilityTypes = 'auto'\r\n\r\n @ContentChild('controls') controls!: TemplateRef<ElementRef>;\r\n\r\n public get getClasses(): string {\r\n return `${ControlsVisibilityEnum[this.visibility]}`;\r\n }\r\n}\r\n","<div class=\"mrx-controls-wrapper\">\r\n <ng-content></ng-content>\r\n\r\n <div class=\"mrx-controls-wrapper__controls\" [class]=\"getClasses\">\r\n <ng-container *ngTemplateOutlet=\"controls\"></ng-container>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-controls-item',\r\n templateUrl: 'controls-item.component.html',\r\n styleUrls: ['./controls-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ControlsItemComponent {\r\n @Input() separator = false\r\n}\r\n","<div class=\"mrx-controls-wrapper__controls--item\" *ngIf=\"!separator; else separatorTemplate\">\r\n <ng-content></ng-content>\r\n</div>\r\n<ng-template #separatorTemplate>\r\n <div class=\"mrx-controls-wrapper__controls--separator\"></div>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ControlsWrapperComponent } from './controls-wrapper.component';\r\nimport { ControlsItemComponent } from './components/controls-item/controls-item.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ControlsWrapperComponent, ControlsItemComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ControlsWrapperComponent, ControlsItemComponent]\r\n})\r\nexport class ControlsWrapperModule { }\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input, OnInit, Renderer2,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxTruncate]',\r\n})\r\nexport class TruncateDirective implements OnInit {\r\n @Input('mrxTruncateRows') rows = '1'\r\n @Input('mrxTruncateHeight') height = '20px'\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden')\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box')\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.rows)\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical')\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-height', this.height)\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncateDirective } from './truncate.directive';\r\n\r\n@NgModule({\r\n declarations: [TruncateDirective],\r\n imports: [CommonModule],\r\n exports: [TruncateDirective]\r\n})\r\nexport class TruncateDirectiveModule {}\r\n","import dayjs from 'dayjs';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport tz from 'dayjs/plugin/timezone';\r\nimport { Timezone, TimezoneType } from '../enums/timezone';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeRu from '@angular/common/locales/ru'\r\n\r\ndayjs.extend(utc)\r\ndayjs.extend(tz)\r\nregisterLocaleData(localeRu)\r\n\r\nexport const changeTimezone = (value: string, timezone: TimezoneType) => {\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n return dayjs(`${String(year)}-${String(formattedMonth)}-${String(formattedDay)} ${formattedHour}:${formattedMinute}`).toISOString()\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TimezoneType } from './enums/timezone';\r\nimport { changeTimezone } from './helpers/change-timezone';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe extends DatePipe implements PipeTransform {\r\n override transform(value: any, timezone: TimezoneType = 'default', format: string = 'dd.MM.yyyy', args?: any): any {\r\n if (timezone) {\r\n return super.transform(changeTimezone(value, timezone), format)\r\n }\r\n\r\n return super.transform(value, format);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { changeTimezone } from './helpers/change-timezone';\r\nimport { TimezoneType } from './enums/timezone';\r\n\r\n@Pipe({\r\n name: 'dateTimeFormat'\r\n})\r\nexport class DateTimeFormatPipe extends DatePipe implements PipeTransform {\r\n override transform(value: any, timezone: TimezoneType = 'default', format: string = 'dd.MM.yyyy HH:mm', args?: any): any {\r\n if (timezone && value !== '') {\r\n return super.transform(changeTimezone(value, timezone), format)\r\n }\r\n\r\n return super.transform(value, format);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DateFormatPipe } from './date-format.pipe';\r\nimport { DateTimeFormatPipe } from './date-time-format.pipe';\r\n\r\n@NgModule({\r\n declarations: [DateFormatPipe, DateTimeFormatPipe],\r\n imports: [CommonModule],\r\n exports: [DateFormatPipe, DateTimeFormatPipe]\r\n})\r\nexport class DateFormatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CountryCode, parsePhoneNumber } from 'libphonenumber-js';\r\n\r\n@Pipe({\r\n name: 'phoneFormat'\r\n})\r\nexport class PhoneFormatPipe implements PipeTransform {\r\n transform(phoneValue: number | string, locale: CountryCode = 'RU'): string {\r\n if (phoneValue) {\r\n const phoneNumber = parsePhoneNumber(String(phoneValue), locale);\r\n return phoneNumber.formatNational();\r\n } else {\r\n return ''\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PhoneFormatPipe } from './phone-format.pipe';\r\n\r\n@NgModule({\r\n declarations: [PhoneFormatPipe],\r\n imports: [CommonModule],\r\n exports: [PhoneFormatPipe]\r\n})\r\nexport class PhoneFormatModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyFormat'\r\n})\r\n\r\nexport class CurrencyPipe implements PipeTransform {\r\n\r\n transform(value: number | string): string {\r\n if (typeof value === 'string') {\r\n value = parseFloat(value)\r\n }\r\n\r\n return Intl.NumberFormat('ru-RU', {\r\n style: 'currency',\r\n currency: 'RUB',\r\n }).format(value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CurrencyPipe } from './currency.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CurrencyPipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [CurrencyPipe]\r\n})\r\nexport class CurrencyModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\n\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: string, args: any[]): string {\r\n const limit = args.length > 0 ? parseInt(args[0], 10) : 20;\r\n const trail = args.length > 1 ? args[1] : '...';\r\n\r\n if (value) {\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n } else {\r\n return ''\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncatePipe } from './truncate.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TruncatePipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [TruncatePipe]\r\n})\r\nexport class TruncateModule { }\r\n","export enum SearchCountryField {\r\n All = \"all\",\r\n DialCode = \"dialCode\",\r\n Iso2 = \"iso2\",\r\n Name = \"name\"\r\n}\r\n","export enum CountryISO {\r\n Afghanistan = \"af\",\r\n Albania = \"al\",\r\n Algeria = \"dz\",\r\n AmericanSamoa = \"as\",\r\n Andorra = \"ad\",\r\n Angola = \"ao\",\r\n Anguilla = \"ai\",\r\n AntiguaAndBarbuda = \"ag\",\r\n Argentina = \"ar\",\r\n Armenia = \"am\",\r\n Aruba = \"aw\",\r\n Australia = \"au\",\r\n Austria = \"at\",\r\n Azerbaijan = \"az\",\r\n Bahamas = \"bs\",\r\n Bahrain = \"bh\",\r\n Bangladesh = \"bd\",\r\n Barbados = \"bb\",\r\n Belarus = \"by\",\r\n Belgium = \"be\",\r\n Belize = \"bz\",\r\n Benin = \"bj\",\r\n Bermuda = \"bm\",\r\n Bhutan = \"bt\",\r\n Bolivia = \"bo\",\r\n BosniaAndHerzegovina = \"ba\",\r\n Botswana = \"bw\",\r\n Brazil = \"br\",\r\n BritishIndianOceanTerritory = \"io\",\r\n BritishVirginIslands = \"vg\",\r\n Brunei = \"bn\",\r\n Bulgaria = \"bg\",\r\n BurkinaFaso = \"bf\",\r\n Burundi = \"bi\",\r\n Cambodia = \"kh\",\r\n Cameroon = \"cm\",\r\n Canada = \"ca\",\r\n CapeVerde = \"cv\",\r\n CaribbeanNetherlands = \"bq\",\r\n CaymanIslands = \"ky\",\r\n CentralAfricanRepublic = \"cf\",\r\n Chad = \"td\",\r\n Chile = \"cl\",\r\n China = \"cn\",\r\n ChristmasIsland = \"cx\",\r\n Cocos = \"cc\",\r\n Colombia = \"co\",\r\n Comoros = \"km\",\r\n CongoDRCJamhuriYaKidemokrasiaYaKongo = \"cd\",\r\n CongoRepublicCongoBrazzaville = \"cg\",\r\n CookIslands = \"ck\",\r\n CostaRica = \"cr\",\r\n Croatia = \"hr\",\r\n Cuba = \"cu\",\r\n Curaçao = \"cw\",\r\n Cyprus = \"cy\",\r\n CzechRepublic = \"cz\",\r\n CôteDIvoire = \"ci\",\r\n Denmark = \"dk\",\r\n Djibouti = \"dj\",\r\n Dominica = \"dm\",\r\n DominicanRepublic = \"do\",\r\n Ecuador = \"ec\",\r\n Egypt = \"eg\",\r\n ElSalvador = \"sv\",\r\n EquatorialGuinea = \"gq\",\r\n Eritrea = \"er\",\r\n Estonia = \"ee\",\r\n Ethiopia = \"et\",\r\n FalklandIslands = \"fk\",\r\n FaroeIslands = \"fo\",\r\n Fiji = \"fj\",\r\n Finland = \"fi\",\r\n France = \"fr\",\r\n FrenchGuiana = \"gf\",\r\n FrenchPolynesia = \"pf\",\r\n Gabon = \"ga\",\r\n Gambia = \"gm\",\r\n Georgia = \"ge\",\r\n Germany = \"de\",\r\n Ghana = \"gh\",\r\n Gibraltar = \"gi\",\r\n Greece = \"gr\",\r\n Greenland = \"gl\",\r\n Grenada = \"gd\",\r\n Guadeloupe = \"gp\",\r\n Guam = \"gu\",\r\n Guatemala = \"gt\",\r\n Guernsey = \"gg\",\r\n Guinea = \"gn\",\r\n GuineaBissau = \"gw\",\r\n Guyana = \"gy\",\r\n Haiti = \"ht\",\r\n Honduras = \"hn\",\r\n HongKong = \"hk\",\r\n Hungary = \"hu\",\r\n Iceland = \"is\",\r\n India = \"in\",\r\n Indonesia = \"id\",\r\n Iran = \"ir\",\r\n Iraq = \"iq\",\r\n Ireland = \"ie\",\r\n IsleOfMan = \"im\",\r\n Israel = \"il\",\r\n Italy = \"it\",\r\n Jamaica = \"jm\",\r\n Japan = \"jp\",\r\n Jersey = \"je\",\r\n Jordan = \"jo\",\r\n Kazakhstan = \"kz\",\r\n Kenya = \"ke\",\r\n Kiribati = \"ki\",\r\n Kosovo = \"xk\",\r\n Kuwait = \"kw\",\r\n Kyrgyzstan = \"kg\",\r\n Laos = \"la\",\r\n Latvia = \"lv\",\r\n Lebanon = \"lb\",\r\n Lesotho = \"ls\",\r\n Liberia = \"lr\",\r\n Libya = \"ly\",\r\n Liechtenstein = \"li\",\r\n Lithuania = \"lt\",\r\n Luxembourg = \"lu\",\r\n Macau = \"mo\",\r\n Macedonia = \"mk\",\r\n Madagascar = \"mg\",\r\n Malawi = \"mw\",\r\n Malaysia = \"my\",\r\n Maldives = \"mv\",\r\n Mali = \"ml\",\r\n Malta = \"mt\",\r\n MarshallIslands = \"mh\",\r\n Martinique = \"mq\",\r\n Mauritania = \"mr\",\r\n Mauritius = \"mu\",\r\n Mayotte = \"yt\",\r\n Mexico = \"mx\",\r\n Micronesia = \"fm\",\r\n Moldova = \"md\",\r\n Monaco = \"mc\",\r\n Mongolia = \"mn\",\r\n Montenegro = \"me\",\r\n Montserrat = \"ms\",\r\n Morocco = \"ma\",\r\n Mozambique = \"mz\",\r\n Myanmar = \"mm\",\r\n Namibia = \"na\",\r\n Nauru = \"nr\",\r\n Nepal = \"np\",\r\n Netherlands = \"nl\",\r\n NewCaledonia = \"nc\",\r\n NewZealand = \"nz\",\r\n Nicaragua = \"ni\",\r\n Niger = \"ne\",\r\n Nigeria = \"ng\",\r\n Niue = \"nu\",\r\n NorfolkIsland = \"nf\",\r\n NorthKorea = \"kp\",\r\n NorthernMarianaIslands = \"mp\",\r\n Norway = \"no\",\r\n Oman = \"om\",\r\n Pakistan = \"pk\",\r\n Palau = \"pw\",\r\n Palestine = \"ps\",\r\n Panama = \"pa\",\r\n PapuaNewGuinea = \"pg\",\r\n Paraguay = \"py\",\r\n Peru = \"pe\",\r\n Philippines = \"ph\",\r\n Poland = \"pl\",\r\n Portugal = \"pt\",\r\n PuertoRico = \"pr\",\r\n Qatar = \"qa\",\r\n Romania = \"ro\",\r\n Russia = \"ru\",\r\n Rwanda = \"rw\",\r\n Réunion = \"re\",\r\n SaintBarthélemy = \"bl\",\r\n SaintHelena = \"sh\",\r\n SaintKittsAndNevis = \"kn\",\r\n SaintLucia = \"lc\",\r\n SaintMartin = \"mf\",\r\n SaintPierreAndMiquelon = \"pm\",\r\n SaintVincentAndTheGrenadines = \"vc\",\r\n Samoa = \"ws\",\r\n SanMarino = \"sm\",\r\n SaudiArabia = \"sa\",\r\n Senegal = \"sn\",\r\n Serbia = \"rs\",\r\n Seychelles = \"sc\",\r\n SierraLeone = \"sl\",\r\n Singapore = \"sg\",\r\n SintMaarten = \"sx\",\r\n Slovakia = \"sk\",\r\n Slovenia = \"si\",\r\n SolomonIslands = \"sb\",\r\n Somalia = \"so\",\r\n SouthAfrica = \"za\",\r\n SouthKorea = \"kr\",\r\n SouthSudan = \"ss\",\r\n Spain = \"es\",\r\n SriLanka = \"lk\",\r\n Sudan = \"sd\",\r\n Suriname = \"sr\",\r\n SvalbardAndJanMayen = \"sj\",\r\n Swaziland = \"sz\",\r\n Sweden = \"se\",\r\n Switzerland = \"ch\",\r\n Syria = \"sy\",\r\n SãoToméAndPríncipe = \"st\",\r\n Taiwan = \"tw\",\r\n Tajikistan = \"tj\",\r\n Tanzania = \"tz\",\r\n Thailand = \"th\",\r\n TimorLeste = \"tl\",\r\n Togo = \"tg\",\r\n Tokelau = \"tk\",\r\n Tonga = \"to\",\r\n TrinidadAndTobago = \"tt\",\r\n Tunisia = \"tn\",\r\n Turkey = \"tr\",\r\n Turkmenistan = \"tm\",\r\n TurksAndCaicosIslands = \"tc\",\r\n Tuvalu = \"tv\",\r\n USVirginIslands = \"vi\",\r\n Uganda = \"ug\",\r\n Ukraine = \"ua\",\r\n UnitedArabEmirates = \"ae\",\r\n UnitedKingdom = \"gb\",\r\n UnitedStates = \"us\",\r\n Uruguay = \"uy\",\r\n Uzbekistan = \"uz\",\r\n Vanuatu = \"vu\",\r\n VaticanCity = \"va\",\r\n Venezuela = \"ve\",\r\n Vietnam = \"vn\",\r\n WallisAndFutuna = \"wf\",\r\n WesternSahara = \"eh\",\r\n Yemen = \"ye\",\r\n Zambia = \"zm\",\r\n Zimbabwe = \"zw\",\r\n ÅlandIslands = \"ax\",\r\n}\r\n","import { CountryISO } from \"./country-iso.enum\";\r\n\r\nexport const countryData = [\r\n [\r\n 'Afghanistan (افغانستان)',\r\n CountryISO.Afghanistan,\r\n '93'\r\n ],\r\n [\r\n 'Albania (Shqipëri)',\r\n CountryISO.Albania,\r\n '355'\r\n ],\r\n [\r\n 'Algeria (الجزائر)',\r\n CountryISO.Algeria,\r\n '213'\r\n ],\r\n [\r\n 'American Samoa',\r\n 'as',\r\n '1',\r\n 1,\r\n [\r\n '684',\r\n ]\r\n ],\r\n [\r\n 'Andorra',\r\n CountryISO.Andorra,\r\n '376'\r\n ],\r\n [\r\n 'Angola',\r\n CountryISO.Angola,\r\n '244'\r\n ],\r\n [\r\n 'Anguilla',\r\n 'ai',\r\n '1',\r\n 1,\r\n [\r\n '264',\r\n ]\r\n ],\r\n [\r\n 'Antigua and Barbuda',\r\n 'ag',\r\n '1',\r\n 1,\r\n [\r\n '268',\r\n ]\r\n ],\r\n [\r\n 'Argentina',\r\n CountryISO.Argentina,\r\n '54'\r\n ],\r\n [\r\n 'Armenia (Հայաստան)',\r\n CountryISO.Armenia,\r\n '374'\r\n ],\r\n [\r\n 'Aruba',\r\n CountryISO.Aruba,\r\n '297'\r\n ],\r\n [\r\n 'Australia',\r\n CountryISO.Australia,\r\n '61',\r\n 0\r\n ],\r\n [\r\n 'Austria (Österreich)',\r\n CountryISO.Austria,\r\n '43'\r\n ],\r\n [\r\n 'Azerbaijan (Azərbaycan)',\r\n CountryISO.Azerbaijan,\r\n '994'\r\n ],\r\n [\r\n 'Bahamas',\r\n 'bs',\r\n '1',\r\n 1,\r\n [\r\n '242',\r\n ]\r\n ],\r\n [\r\n 'Bahrain (البحرين)',\r\n CountryISO.Bahrain,\r\n '973'\r\n ],\r\n [\r\n 'Bangladesh (বাংলাদেশ)',\r\n CountryISO.Bangladesh,\r\n '880'\r\n ],\r\n [\r\n 'Barbados',\r\n 'bb',\r\n '1',\r\n 1,\r\n [\r\n '246',\r\n ]\r\n ],\r\n [\r\n 'Belarus (Беларусь)',\r\n CountryISO.Belarus,\r\n '375'\r\n ],\r\n [\r\n 'Belgium (België)',\r\n CountryISO.Belgium,\r\n '32'\r\n ],\r\n [\r\n 'Belize',\r\n CountryISO.Belize,\r\n '501'\r\n ],\r\n [\r\n 'Benin (Bénin)',\r\n CountryISO.Benin,\r\n '229'\r\n ],\r\n [\r\n 'Bermuda',\r\n 'bm',\r\n '1',\r\n 1,\r\n [\r\n '441',\r\n ]\r\n ],\r\n [\r\n 'Bhutan (འབྲུག)',\r\n CountryISO.Bhutan,\r\n '975'\r\n ],\r\n [\r\n 'Bolivia',\r\n CountryISO.Bolivia,\r\n '591'\r\n ],\r\n [\r\n 'Bosnia and Herzegovina (Босна и Херцеговина)',\r\n CountryISO.BosniaAndHerzegovina,\r\n '387'\r\n ],\r\n [\r\n 'Botswana',\r\n CountryISO.Botswana,\r\n '267'\r\n ],\r\n [\r\n 'Brazil (Brasil)',\r\n CountryISO.Brazil,\r\n '55'\r\n ],\r\n [\r\n 'British Indian Ocean Territory',\r\n CountryISO.BritishIndianOceanTerritory,\r\n '246'\r\n ],\r\n [\r\n 'British Virgin Islands',\r\n 'vg',\r\n '1',\r\n 1,\r\n [\r\n '284',\r\n ]\r\n ],\r\n [\r\n 'Brunei',\r\n CountryISO.Brunei,\r\n '673'\r\n ],\r\n [\r\n 'Bulgaria (България)',\r\n CountryISO.Bulgaria,\r\n '359'\r\n ],\r\n [\r\n 'Burkina Faso',\r\n CountryISO.BurkinaFaso,\r\n '226'\r\n ],\r\n [\r\n 'Burundi (Uburundi)',\r\n CountryISO.Burundi,\r\n '257'\r\n ],\r\n [\r\n 'Cambodia (កម្ពុជា)',\r\n CountryISO.Cambodia,\r\n '855'\r\n ],\r\n [\r\n 'Cameroon (Cameroun)',\r\n CountryISO.Cameroon,\r\n '237'\r\n ],\r\n [\r\n 'Canada',\r\n CountryISO.Canada,\r\n '1',\r\n 1,\r\n [\r\n '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416',\r\n '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587',\r\n '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807',\r\n '819', '825', '867', '873', '902', '905'\r\n ]\r\n ],\r\n [\r\n 'Cape Verde (Kabu Verdi)',\r\n CountryISO.CapeVerde,\r\n '238'\r\n ],\r\n [\r\n 'Caribbean Netherlands',\r\n CountryISO.CaribbeanNetherlands,\r\n '599',\r\n 1\r\n ],\r\n [\r\n 'Cayman Islands',\r\n 'ky',\r\n '1',\r\n 1,\r\n [\r\n '345',\r\n ]\r\n ],\r\n [\r\n 'Central African Republic (République centrafricaine)',\r\n CountryISO.CentralAfricanRepublic,\r\n '236'\r\n ],\r\n [\r\n 'Chad (Tchad)',\r\n CountryISO.Chad,\r\n '235'\r\n ],\r\n [\r\n 'Chile',\r\n CountryISO.Chile,\r\n '56'\r\n ],\r\n [\r\n 'China (中国)',\r\n CountryISO.China,\r\n '86'\r\n ],\r\n [\r\n 'Christmas Island',\r\n CountryISO.ChristmasIsland,\r\n '61',\r\n 2\r\n ],\r\n [\r\n 'Cocos (Keeling) Islands',\r\n CountryISO.Cocos,\r\n '61',\r\n 1\r\n ],\r\n [\r\n 'Colombia',\r\n CountryISO.Colombia,\r\n '57'\r\n ],\r\n [\r\n 'Comoros (جزر القمر)',\r\n CountryISO.Comoros,\r\n '269'\r\n ],\r\n [\r\n 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\r\n CountryISO.CongoDRCJamhuriYaKidemokrasiaYaKongo,\r\n '243'\r\n ],\r\n [\r\n 'Congo (Republic) (Congo-Brazzaville)',\r\n CountryISO.CongoRepublicCongoBrazzaville,\r\n '242'\r\n ],\r\n [\r\n 'Cook Islands',\r\n CountryISO.CookIslands,\r\n '682'\r\n ],\r\n [\r\n 'Costa Rica',\r\n CountryISO.CostaRica,\r\n '506'\r\n ],\r\n [\r\n 'Côte d’Ivoire',\r\n CountryISO.CôteDIvoire,\r\n '225'\r\n ],\r\n [\r\n 'Croatia (Hrvatska)',\r\n CountryISO.Croatia,\r\n '385'\r\n ],\r\n [\r\n 'Cuba',\r\n CountryISO.Cuba,\r\n '53'\r\n ],\r\n [\r\n 'Curaçao',\r\n CountryISO.Curaçao,\r\n '599',\r\n 0\r\n ],\r\n [\r\n 'Cyprus (Κύπρος)',\r\n CountryISO.Cyprus,\r\n '357'\r\n ],\r\n [\r\n 'Czech Republic (Česká republika)',\r\n CountryISO.CzechRepublic,\r\n '420'\r\n ],\r\n [\r\n 'Denmark (Danmark)',\r\n CountryISO.Denmark,\r\n '45'\r\n ],\r\n [\r\n 'Djibouti',\r\n CountryISO.Djibouti,\r\n '253'\r\n ],\r\n [\r\n 'Dominica',\r\n CountryISO.Dominica,\r\n '1767'\r\n ],\r\n [\r\n 'Dominican Republic (República Dominicana)',\r\n CountryISO.DominicanRepublic,\r\n '1',\r\n 2,\r\n ['809', '829', '849']\r\n ],\r\n [\r\n 'Ecuador',\r\n CountryISO.Ecuador,\r\n '593'\r\n ],\r\n [\r\n 'Egypt (مصر)',\r\n CountryISO.Egypt,\r\n '20'\r\n ],\r\n [\r\n 'El Salvador',\r\n CountryISO.ElSalvador,\r\n '503'\r\n ],\r\n [\r\n 'Equatorial Guinea (Guinea Ecuatorial)',\r\n CountryISO.EquatorialGuinea,\r\n '240'\r\n ],\r\n [\r\n 'Eritrea',\r\n CountryISO.Eritrea,\r\n '291'\r\n ],\r\n [\r\n 'Estonia (Eesti)',\r\n CountryISO.Estonia,\r\n '372'\r\n ],\r\n [\r\n 'Ethiopia',\r\n CountryISO.Ethiopia,\r\n '251'\r\n ],\r\n [\r\n 'Falkland Islands (Islas Malvinas)',\r\n CountryISO.FalklandIslands,\r\n '500'\r\n ],\r\n [\r\n 'Faroe Islands (Føroyar)',\r\n CountryISO.FaroeIslands,\r\n '298'\r\n ],\r\n [\r\n 'Fiji',\r\n CountryISO.Fiji,\r\n '679'\r\n ],\r\n [\r\n 'Finland (Suomi)',\r\n CountryISO.Finland,\r\n '358',\r\n 0\r\n ],\r\n [\r\n 'France',\r\n CountryISO.France,\r\n '33'\r\n ],\r\n [\r\n 'French Guiana (Guyane française)',\r\n CountryISO.FrenchGuiana,\r\n '594'\r\n ],\r\n [\r\n 'French Polynesia (Polynésie française)',\r\n CountryISO.FrenchPolynesia,\r\n '689'\r\n ],\r\n [\r\n 'Gabon',\r\n CountryISO.Gabon,\r\n '241'\r\n ],\r\n [\r\n 'Gambia',\r\n CountryISO.Gambia,\r\n '220'\r\n ],\r\n [\r\n 'Georgia (საქართველო)',\r\n CountryISO.Georgia,\r\n '995'\r\n ],\r\n [\r\n 'Germany (Deutschland)',\r\n CountryISO.Germany,\r\n '49'\r\n ],\r\n [\r\n 'Ghana (Gaana)',\r\n CountryISO.Ghana,\r\n '233'\r\n ],\r\n [\r\n 'Gibraltar',\r\n CountryISO.Gibraltar,\r\n '350'\r\n ],\r\n [\r\n 'Greece (Ελλάδα)',\r\n CountryISO.Greece,\r\n '30'\r\n ],\r\n [\r\n 'Greenland (Kalaallit Nunaat)',\r\n CountryISO.Greenland,\r\n '299'\r\n ],\r\n [\r\n 'Grenada',\r\n CountryISO.Grenada,\r\n '1473'\r\n ],\r\n [\r\n 'Guadeloupe',\r\n CountryISO.Guadeloupe,\r\n '590',\r\n 0\r\n ],\r\n [\r\n 'Guam',\r\n 'gu',\r\n '1',\r\n 1,\r\n [\r\n '671',\r\n ]\r\n ],\r\n [\r\n 'Guatemala',\r\n CountryISO.Guatemala,\r\n '502'\r\n ],\r\n [\r\n 'Guernsey',\r\n CountryISO.Guernsey,\r\n '44',\r\n 1,\r\n [1481]\r\n ],\r\n [\r\n 'Guinea (Guinée)',\r\n CountryISO.Guinea,\r\n '224'\r\n ],\r\n [\r\n 'Guinea-Bissau (Guiné Bissau)',\r\n CountryISO.GuineaBissau,\r\n '245'\r\n ],\r\n [\r\n 'Guyana',\r\n CountryISO.Guyana,\r\n '592'\r\n ],\r\n [\r\n 'Haiti',\r\n CountryISO.Haiti,\r\n '509'\r\n ],\r\n [\r\n 'Honduras',\r\n CountryISO.Honduras,\r\n '504'\r\n ],\r\n [\r\n 'Hong Kong (香港)',\r\n CountryISO.HongKong,\r\n '852'\r\n ],\r\n [\r\n 'Hungary (Magyarország)',\r\n CountryISO.Hungary,\r\n '36'\r\n ],\r\n [\r\n 'Iceland (Ísland)',\r\n CountryISO.Iceland,\r\n '354'\r\n ],\r\n [\r\n 'India (भारत)',\r\n CountryISO.India,\r\n '91'\r\n ],\r\n [\r\n 'Indonesia',\r\n CountryISO.Indonesia,\r\n '62'\r\n ],\r\n [\r\n 'Iran (ایران)',\r\n CountryISO.Iran,\r\n '98'\r\n ],\r\n [\r\n 'Iraq (العراق)',\r\n CountryISO.Iraq,\r\n '964'\r\n ],\r\n [\r\n 'Ireland',\r\n CountryISO.Ireland,\r\n '353'\r\n ],\r\n [\r\n 'Isle of Man',\r\n CountryISO.IsleOfMan,\r\n '44',\r\n 2,\r\n [1624]\r\n ],\r\n [\r\n 'Israel (ישראל)',\r\n CountryISO.Israel,\r\n '972'\r\n ],\r\n [\r\n 'Italy (Italia)',\r\n CountryISO.Italy,\r\n '39',\r\n 0\r\n ],\r\n [\r\n 'Jamaica',\r\n 'jm',\r\n '1',\r\n 1,\r\n [\r\n '876',\r\n ]\r\n ],\r\n [\r\n 'Japan (日本)',\r\n CountryISO.Japan,\r\n '81'\r\n ],\r\n [\r\n 'Jersey',\r\n CountryISO.Jersey,\r\n '44',\r\n 3,\r\n [1534]\r\n ],\r\n [\r\n 'Jordan (الأردن)',\r\n CountryISO.Jordan,\r\n '962'\r\n ],\r\n [\r\n 'Kazakhstan (Казахстан)',\r\n CountryISO.Kazakhstan,\r\n '7',\r\n 1\r\n ],\r\n [\r\n 'Kenya',\r\n CountryISO.Kenya,\r\n '254'\r\n ],\r\n [\r\n 'Kiribati',\r\n CountryISO.Kiribati,\r\n '686'\r\n ],\r\n [\r\n 'Kosovo',\r\n CountryISO.Kosovo,\r\n '383'\r\n ],\r\n [\r\n 'Kuwait (الكويت)',\r\n CountryISO.Kuwait,\r\n '965'\r\n ],\r\n [\r\n 'Kyrgyzstan (Кыргызстан)',\r\n CountryISO.Kyrgyzstan,\r\n '996'\r\n ],\r\n [\r\n 'Laos (ລາວ)',\r\n CountryISO.Laos,\r\n '856'\r\n ],\r\n [\r\n 'Latvia (Latvija)',\r\n CountryISO.Latvia,\r\n '371'\r\n ],\r\n [\r\n 'Lebanon (لبنان)',\r\n CountryISO.Lebanon,\r\n '961'\r\n ],\r\n [\r\n 'Lesotho',\r\n CountryISO.Lesotho,\r\n '266'\r\n ],\r\n [\r\n 'Liberia',\r\n CountryISO.Liberia,\r\n '231'\r\n ],\r\n [\r\n 'Libya (ليبيا)',\r\n CountryISO.Libya,\r\n '218'\r\n ],\r\n [\r\n 'Liechtenstein',\r\n CountryISO.Liechtenstein,\r\n '423'\r\n ],\r\n [\r\n 'Lithuania (Lietuva)',\r\n CountryISO.Lithuania,\r\n '370'\r\n ],\r\n [\r\n 'Luxembourg',\r\n CountryISO.Luxembourg,\r\n '352'\r\n ],\r\n [\r\n 'Macau (澳門)',\r\n CountryISO.Macau,\r\n '853'\r\n ],\r\n [\r\n 'Macedonia (FYROM) (Македонија)',\r\n CountryISO.Macedonia,\r\n '389'\r\n ],\r\n [\r\n 'Madagascar (Madagasikara)',\r\n CountryISO.Madagascar,\r\n '261'\r\n ],\r\n [\r\n 'Malawi',\r\n CountryISO.Malawi,\r\n '265'\r\n ],\r\n [\r\n 'Malaysia',\r\n CountryISO.Malaysia,\r\n '60'\r\n ],\r\n [\r\n 'Maldives',\r\n CountryISO.Maldives,\r\n '960'\r\n ],\r\n [\r\n 'Mali',\r\n CountryISO.Mali,\r\n '223'\r\n ],\r\n [\r\n 'Malta',\r\n CountryISO.Malta,\r\n '356'\r\n ],\r\n [\r\n 'Marshall Islands',\r\n CountryISO.MarshallIslands,\r\n '692'\r\n ],\r\n [\r\n 'Martinique',\r\n CountryISO.Martinique,\r\n '596'\r\n ],\r\n [\r\n 'Mauritania (موريتانيا)',\r\n CountryISO.Mauritania,\r\n '222'\r\n ],\r\n [\r\n 'Mauritius (Moris)',\r\n CountryISO.Mauritius,\r\n '230'\r\n ],\r\n [\r\n 'Mayotte',\r\n CountryISO.Mayotte,\r\n '262',\r\n 1\r\n ],\r\n [\r\n 'Mexico (México)',\r\n CountryISO.Mexico,\r\n '52'\r\n ],\r\n [\r\n 'Micronesia',\r\n CountryISO.Micronesia,\r\n '691'\r\n ],\r\n [\r\n 'Moldova (Republica Moldova)',\r\n CountryISO.Moldova,\r\n '373'\r\n ],\r\n [\r\n 'Monaco',\r\n CountryISO.Monaco,\r\n '377'\r\n ],\r\n [\r\n 'Mongolia (Монгол)',\r\n CountryISO.Mongolia,\r\n '976'\r\n ],\r\n [\r\n 'Montenegro (Crna Gora)',\r\n CountryISO.Montenegro,\r\n '382'\r\n ],\r\n [\r\n 'Montserrat',\r\n 'ms',\r\n '1',\r\n 1,\r\n [\r\n '664',\r\n ]\r\n ],\r\n [\r\n 'Morocco (المغرب)',\r\n CountryISO.Morocco,\r\n '212',\r\n 0\r\n ],\r\n [\r\n 'Mozambique (Moçambique)',\r\n CountryISO.Mozambique,\r\n '258'\r\n ],\r\n [\r\n 'Myanmar (Burma) (မြန်မာ)',\r\n CountryISO.Myanmar,\r\n '95'\r\n ],\r\n [\r\n 'Namibia (Namibië)',\r\n CountryISO.Namibia,\r\n '264'\r\n ],\r\n [\r\n 'Nauru',\r\n CountryISO.Nauru,\r\n '674'\r\n ],\r\n [\r\n 'Nepal (नेपाल)',\r\n CountryISO.Nepal,\r\n '977'\r\n ],\r\n [\r\n 'Netherlands (Nederland)',\r\n CountryISO.Netherlands,\r\n '31'\r\n ],\r\n [\r\n 'New Caledonia (Nouvelle-Calédonie)',\r\n CountryISO.NewCaledonia,\r\n '687'\r\n ],\r\n [\r\n 'New Zealand',\r\n CountryISO.NewZealand,\r\n '64'\r\n ],\r\n [\r\n 'Nicaragua',\r\n CountryISO.Nicaragua,\r\n '505'\r\n ],\r\n [\r\n 'Niger (Nijar)',\r\n CountryISO.Niger,\r\n '227'\r\n ],\r\n [\r\n 'Nigeria',\r\n CountryISO.Nigeria,\r\n '234'\r\n ],\r\n [\r\n 'Niue',\r\n CountryISO.Niue,\r\n '683'\r\n ],\r\n [\r\n 'Norfolk Island',\r\n CountryISO.NorfolkIsland,\r\n '672'\r\n ],\r\n [\r\n 'North Korea (조선 민주주의 인민 공화국)',\r\n CountryISO.NorthKorea,\r\n '850'\r\n ],\r\n [\r\n 'Northern Mariana Islands',\r\n CountryISO.NorthernMarianaIslands,\r\n '1670'\r\n ],\r\n [\r\n 'Norway (Norge)',\r\n CountryISO.Norway,\r\n '47',\r\n 0\r\n ],\r\n [\r\n 'Oman (عُمان)',\r\n CountryISO.Oman,\r\n '968'\r\n ],\r\n [\r\n 'Pakistan (پاکستان)',\r\n CountryISO.Pakistan,\r\n '92'\r\n ],\r\n [\r\n 'Palau',\r\n CountryISO.Palau,\r\n '680'\r\n ],\r\n [\r\n 'Palestine (فلسطين)',\r\n CountryISO.Palestine,\r\n '970'\r\n ],\r\n [\r\n 'Panama (Panamá)',\r\n CountryISO.Panama,\r\n '507'\r\n ],\r\n [\r\n 'Papua New Guinea',\r\n CountryISO.PapuaNewGuinea,\r\n '675'\r\n ],\r\n [\r\n 'Paraguay',\r\n CountryISO.Paraguay,\r\n '595'\r\n ],\r\n [\r\n 'Peru (Perú)',\r\n CountryISO.Peru,\r\n '51'\r\n ],\r\n [\r\n 'Philippines',\r\n CountryISO.Philippines,\r\n '63'\r\n ],\r\n [\r\n 'Poland (Polska)',\r\n CountryISO.Poland,\r\n '48'\r\n ],\r\n [\r\n 'Portugal',\r\n CountryISO.Portugal,\r\n '351'\r\n ],\r\n [\r\n 'Puerto Rico',\r\n CountryISO.PuertoRico,\r\n '1',\r\n 3,\r\n ['787', '939']\r\n ],\r\n [\r\n 'Qatar (قطر)',\r\n CountryISO.Qatar,\r\n '974'\r\n ],\r\n [\r\n 'Réunion (La Réunion)',\r\n CountryISO.Réunion,\r\n '262',\r\n 0\r\n ],\r\n [\r\n 'Romania (România)',\r\n CountryISO.Romania,\r\n '40'\r\n ],\r\n [\r\n 'Russia (Россия)',\r\n CountryISO.Russia,\r\n '7',\r\n 1,\r\n ['857', '858']\r\n ],\r\n [\r\n 'Rwanda',\r\n CountryISO.Rwanda,\r\n '250'\r\n ],\r\n [\r\n 'Saint Barthélemy (Saint-Barthélemy)',\r\n CountryISO.SaintBarthélemy,\r\n '590',\r\n 1\r\n ],\r\n [\r\n 'Saint Helena',\r\n CountryISO.SaintHelena,\r\n '290'\r\n ],\r\n [\r\n 'Saint Kitts and Nevis',\r\n CountryISO.SaintKittsAndNevis,\r\n '1869'\r\n ],\r\n [\r\n 'Saint Lucia',\r\n 'lc',\r\n '1',\r\n 1,\r\n [\r\n '758',\r\n ]\r\n ],\r\n [\r\n 'Saint Martin (Saint-Martin (partie française))',\r\n CountryISO.SaintMartin,\r\n '590',\r\n 2\r\n ],\r\n [\r\n 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\r\n CountryISO.SaintPierreAndMiquelon,\r\n '508'\r\n ],\r\n [\r\n 'Saint Vincent and the Grenadines',\r\n 'vc',\r\n '1',\r\n 1,\r\n [\r\n '784',\r\n ]\r\n ],\r\n [\r\n 'Samoa',\r\n CountryISO.Samoa,\r\n '685'\r\n ],\r\n [\r\n 'San Marino',\r\n CountryISO.SanMarino,\r\n '378'\r\n ],\r\n [\r\n 'São Tomé and Príncipe (São Tomé e Príncipe)',\r\n CountryISO.SãoToméAndPríncipe,\r\n '239'\r\n ],\r\n [\r\n 'Saudi Arabia (المملكة العربية السعودية)',\r\n CountryISO.SaudiArabia,\r\n '966'\r\n ],\r\n [\r\n 'Senegal (Sénégal)',\r\n CountryISO.Senegal,\r\n '221'\r\n ],\r\n [\r\n 'Serbia (Србија)',\r\n CountryISO.Serbia,\r\n '381'\r\n ],\r\n [\r\n 'Seychelles',\r\n CountryISO.Seychelles,\r\n '248'\r\n ],\r\n [\r\n 'Sierra Leone',\r\n CountryISO.SierraLeone,\r\n '232'\r\n ],\r\n [\r\n 'Singapore',\r\n CountryISO.Singapore,\r\n '65'\r\n ],\r\n [\r\n 'Sint Maarten',\r\n 'sx',\r\n '1',\r\n 1,\r\n [\r\n '721',\r\n ]\r\n ],\r\n [\r\n 'Slovakia (Slovensko)',\r\n CountryISO.Slovakia,\r\n '421'\r\n ],\r\n [\r\n 'Slovenia (Slovenija)',\r\n CountryISO.Slovenia,\r\n '386'\r\n ],\r\n [\r\n 'Solomon Islands',\r\n CountryISO.SolomonIslands,\r\n '677'\r\n ],\r\n [\r\n 'Somalia (Soomaaliya)',\r\n CountryISO.Somalia,\r\n '252'\r\n ],\r\n [\r\n 'South Africa',\r\n CountryISO.SouthAfrica,\r\n '27'\r\n ],\r\n [\r\n 'South Korea (대한민국)',\r\n CountryISO.SouthKorea,\r\n '82'\r\n ],\r\n [\r\n 'South Sudan (جنوب السودان)',\r\n CountryISO.SouthSudan,\r\n '211'\r\n ],\r\n [\r\n 'Spain (España)',\r\n CountryISO.Spain,\r\n '34'\r\n ],\r\n [\r\n 'Sri Lanka (ශ්රී ලංකාව)',\r\n CountryISO.SriLanka,\r\n '94'\r\n ],\r\n [\r\n 'Sudan (السودان)',\r\n CountryISO.Sudan,\r\n '249'\r\n ],\r\n [\r\n 'Suriname',\r\n CountryISO.Suriname,\r\n '597'\r\n ],\r\n [\r\n 'Svalbard and Jan Mayen',\r\n CountryISO.SvalbardAndJanMayen,\r\n '47',\r\n 1\r\n ],\r\n [\r\n 'Swaziland',\r\n CountryISO.Swaziland,\r\n '268'\r\n ],\r\n [\r\n 'Sweden (Sverige)',\r\n CountryISO.Sweden,\r\n '46'\r\n ],\r\n [\r\n 'Switzerland (Schweiz)',\r\n CountryISO.Switzerland,\r\n '41'\r\n ],\r\n [\r\n 'Syria (سوريا)',\r\n CountryISO.Syria,\r\n '963'\r\n ],\r\n [\r\n 'Taiwan (台灣)',\r\n CountryISO.Taiwan,\r\n '886'\r\n ],\r\n [\r\n 'Tajikistan',\r\n CountryISO.Tajikistan,\r\n '992'\r\n ],\r\n [\r\n 'Tanzania',\r\n CountryISO.Tanzania,\r\n '255'\r\n ],\r\n [\r\n 'Thailand (ไทย)',\r\n CountryISO.Thailand,\r\n '66'\r\n ],\r\n [\r\n 'Timor-Leste',\r\n CountryISO.TimorLeste,\r\n '670'\r\n ],\r\n [\r\n 'Togo',\r\n CountryISO.Togo,\r\n '228'\r\n ],\r\n [\r\n 'Tokelau',\r\n CountryISO.Tokelau,\r\n '690'\r\n ],\r\n [\r\n 'Tonga',\r\n CountryISO.Tonga,\r\n '676'\r\n ],\r\n [\r\n 'Trinidad and Tobago',\r\n 'tt',\r\n '1',\r\n 1,\r\n [\r\n '868',\r\n ]\r\n ],\r\n [\r\n 'Tunisia (تونس)',\r\n CountryISO.Tunisia,\r\n '216'\r\n ],\r\n [\r\n 'Turkey (Türkiye)',\r\n CountryISO.Turkey,\r\n '90'\r\n ],\r\n [\r\n 'Turkmenistan',\r\n CountryISO.Turkmenistan,\r\n '993'\r\n ],\r\n [\r\n 'Turks and Caicos Islands',\r\n CountryISO.TurksAndCaicosIslands,\r\n '1649'\r\n ],\r\n [\r\n 'Tuvalu',\r\n CountryISO.Tuvalu,\r\n '688'\r\n ],\r\n [\r\n 'U.S. Virgin Islands',\r\n 'vi',\r\n '1',\r\n 1,\r\n [\r\n '340',\r\n ]\r\n ],\r\n [\r\n 'Uganda',\r\n CountryISO.Uganda,\r\n '256'\r\n ],\r\n [\r\n 'Ukraine (Україна)',\r\n CountryISO.Ukraine,\r\n '380'\r\n ],\r\n [\r\n 'United Arab Emirates (الإمارات العربية المتحدة)',\r\n CountryISO.UnitedArabEmirates,\r\n '971'\r\n ],\r\n [\r\n 'United Kingdom',\r\n CountryISO.UnitedKingdom,\r\n '44',\r\n 0\r\n ],\r\n [\r\n 'United States',\r\n CountryISO.UnitedStates,\r\n '1',\r\n 0\r\n ],\r\n [\r\n 'Uruguay',\r\n CountryISO.Uruguay,\r\n '598'\r\n ],\r\n [\r\n 'Uzbekistan (Oʻzbekiston)',\r\n CountryISO.Uzbekistan,\r\n '998'\r\n ],\r\n [\r\n 'Vanuatu',\r\n CountryISO.Vanuatu,\r\n '678'\r\n ],\r\n [\r\n 'Vatican City (Città del Vaticano)',\r\n CountryISO.VaticanCity,\r\n '39',\r\n 1\r\n ],\r\n [\r\n 'Venezuela',\r\n CountryISO.Venezuela,\r\n '58'\r\n ],\r\n [\r\n 'Vietnam (Việt Nam)',\r\n CountryISO.Vietnam,\r\n '84'\r\n ],\r\n [\r\n 'Wallis and Futuna',\r\n CountryISO.WallisAndFutuna,\r\n '681'\r\n ],\r\n [\r\n 'Western Sahara (الصحراء الغربية)',\r\n CountryISO.WesternSahara,\r\n '212',\r\n 1\r\n ],\r\n [\r\n 'Yemen (اليمن)',\r\n CountryISO.Yemen,\r\n '967'\r\n ],\r\n [\r\n 'Zambia',\r\n CountryISO.Zambia,\r\n '260'\r\n ],\r\n [\r\n 'Zimbabwe',\r\n CountryISO.Zimbabwe,\r\n '263'\r\n ],\r\n [\r\n 'Åland Islands',\r\n CountryISO.ÅlandIslands,\r\n '358',\r\n 1\r\n ]\r\n];\r\n","export const dropdownOpen = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAABDklEQVRIie3PK0uEQRQG4EfdIoIgiIJtg8VgMa6woEEMBpvFZNhmM2k1icVkM5j0D1hNFoPFsMGyYBAEEUS8X8qMLB/frHsTDPvCSec9zzD08p9SRg2lDoxSMMrZxSwe8IV7zLSBT+MuGI+Yy8Pj3GKqBXwSNxnj55FaZhHnGsUm8GLo5hk1mMdTonCFiQb4GKqJ2xcsxuICnhPFKsZz8FFcJm5esZQ9WMZb4uACI3XdYZwnuu9YSX15FR+JwzMMYRCnic4n1lJ4TCUU84CTMCm88hses55AGs1Gs3jMVgv4Zqt4zHYT+G67eMxOA3yvUxz6sJ+DH4RdV9KPwzr8GAPdwmMKOApT6Dbey9/lG8m7mtO59/lwAAAAAElFTkSuQmCC\";\r\n\r\nexport const dropdownClose = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAABEklEQVRIie3Pr0uDQRwG8I+6IoIgiIJtwWKwGCeoGMRgMVlMhtlsJjGaxGIyWUz6B1hNFoPFYLAoBkEQQcTf0+AdjPHe3LutCHvgSff9fu6OTv5TCjgMLbQb78YBvkOP0NMuvAt7VXjsfri45Wxn4LG7reJbdfDYnWbxzQbw2I28+FoOPHa9UXwVlQRyHJp1VkH5L3wZXwngFH3oxUmdS1ZS+CI+EovnGKia7cdZYvYTS7X4HF4TC5cYznjQIC4SO+9YiIOzeEkMXmEk9WUMhQdk7b5hHm4SA7co1sFjimE2y7iGSTzVHNxjrAE8ZhR3NcYzZuJA9SWPmMiBx4zjIQuPmfb7pVITeEwpGFMtGJ20OT8JFprkRrg+uAAAAABJRU5ErkJggg==\";\r\n\r\nexport const flagPlaceholder = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAABHElEQVR4nO3aIU5DQQCE4R+CA1fTC3ADDAoEcIAmSBQHIMFyEyySExQUaDgFFRgUHADxLN1NyNudNu//kqpJk+kkb5umC5IkSZIkTc5OITsFHoD9Tl1a+QGugJe/wr3CG8+BL+C2Qame7oAL/jEAwCfwOHajzq5L4W6vFpvKAdIF0hwgXSDNAdIF0hwgXSDNAdIF0hwgXSBt8gPUfg4fA289ijR0CLyvC2sDrID7Uev0d1MKawN8sP0DLErh5M8AB0gXSJv8ALVDcAac9SjS0KwU1gY4Ap7H6xLztC6oPQJLhn+Ptvm1LH3AyZ8BDpAukOYA6QJpta/BOXDZo0hD81JYuiBxwnBB4mDUOv19M1yQeE0XkSRJkiRpQ/wCRYIVXPol4dwAAAAASUVORK5CYII=\";\r\n","export enum InputTelSizesEnum {\r\n 'small' = 'mrx-input-tel-sm',\r\n 'medium' = 'mrx-input-tel-md',\r\n 'large' = 'mrx-input-tel-lg',\r\n}\r\n\r\nexport type InputTelSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTelValueTypes = string | undefined;\r\n\r\nexport interface InputTelValueWithId {\r\n value: any,\r\n id: string\r\n}\r\n","import {\r\n Directive, ElementRef, EventEmitter,\r\n HostListener, Input, Output, Renderer2,\r\n} from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\nimport { InputValue } from '../models/country.model';\r\nimport { getExample, ParsedPhoneNumber } from 'awesome-phonenumber';\r\n\r\n@Directive({\r\n selector: '[formatterPhone]'\r\n})\r\nexport class MaskedInputTelDirective {\r\n private pattern = /[^\\d\\(\\)\\-\\+\\ ]+/gi;\r\n\r\n @Input() parsedPhoneNumber?: ParsedPhoneNumber;\r\n @Input() customMaxLength: number | null = null;\r\n\r\n @Output() changeModel: EventEmitter<InputValue> = new EventEmitter<InputValue>();\r\n\r\n constructor(\r\n private _element: ElementRef,\r\n private _renderer: Renderer2,\r\n private _model: NgModel\r\n ) {\r\n }\r\n\r\n private _validateValue(event: any) {\r\n event.target.value = event.target.value.replace(this.pattern, '');\r\n\r\n if (this._model) {\r\n this._model.update.emit(event.target.value);\r\n this._renderer.setAttribute(this._element.nativeElement, 'value', this._model.model)\r\n this.changeModel.emit(event.target.value)\r\n }\r\n }\r\n\r\n private _analiseMaxLength(event: any) {\r\n if (this.parsedPhoneNumber && this.parsedPhoneNumber.regionCode) {\r\n const selectedPlaceholder = getExample(this.parsedPhoneNumber.regionCode, 'mobile').number;\r\n\r\n if (selectedPlaceholder) {\r\n this.customMaxLength ?\r\n this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(this.customMaxLength)) :\r\n this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(selectedPlaceholder.international.length));\r\n }\r\n }\r\n }\r\n\r\n @HostListener('input', ['$event']) onInput(event: any) {\r\n this._validateValue(event)\r\n this._analiseMaxLength(event)\r\n }\r\n\r\n @HostListener('keydown.control.v') onCtrlV() {\r\n setTimeout(() => {\r\n this._element.nativeElement.value = this._model.model\r\n })\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n forwardRef,\r\n ChangeDetectionStrategy,\r\n ViewChild, ElementRef\r\n} from '@angular/core';\r\nimport { getAsYouType, getExample, ParsedPhoneNumber } from 'awesome-phonenumber';\r\nimport { CountryISO } from './data/country-iso.enum';\r\nimport { SearchCountryField } from './data/search-country-field.enum';\r\nimport { PhoneNumberFormatType } from './data/phone-number-format.enum';\r\nimport { Country, InputValue } from './models/country.model';\r\nimport { countryData } from './data/all-countries';\r\nimport { dropdownOpen, dropdownClose, flagPlaceholder } from './assets/base64';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { InputTelSizesEnum, InputTelSizesTypes } from './enums/input-phone.enum';\r\nimport { InputPhoneValueWithId } from '../input-phone/enums/input-phone.enum';\r\nimport { DropdownComponent } from '../../dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'mrx-input-tel',\r\n templateUrl: './input-tel.component.html',\r\n styleUrls: ['./input-tel.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTelComponent),\r\n multi: true,\r\n },\r\n ]\r\n})\r\nexport class InputTelComponent implements ControlValueAccessor, OnInit {\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() cssClass: string = '';\r\n @Input() preferredCountries: (CountryISO)[] = [];\r\n @Input() onlyCountries: (CountryISO)[] = [];\r\n @Input() enableAutoCountrySelect: boolean = true;\r\n @Input() enablePlaceholder: boolean = true;\r\n @Input() customPlaceholder: string | null = null;\r\n @Input() numberFormat: PhoneNumberFormatType = 'international';\r\n @Input() searchCountryFlag: boolean = false;\r\n @Input() searchCountryField: SearchCountryField = SearchCountryField.All;\r\n @Input() searchCountryPlaceholder: string = 'Поиск по странам';\r\n @Input() maxLength: number | null = null;\r\n @Input() selectFirstCountry: boolean = true;\r\n @Input() phoneValidation: boolean = true;\r\n @Input() inputId: string = 'phone';\r\n @Input() selectedCountryISO: CountryISO | null = null;\r\n @Input() separateDialCode: boolean = false;\r\n @Input() customClasses = '';\r\n @Input() disabled = false;\r\n @Input() size: InputTelSizesTypes = 'large';\r\n @Input() autoDealCode = false;\r\n @Input() autoCloseDropdown = false;\r\n\r\n // VALIDATION\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public invalidPhoneMessage: string = 'Некорректное значение';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dropdownComponent') dropdownComponent!: DropdownComponent;\r\n\r\n @Output() changed: EventEmitter<InputValue> = new EventEmitter<InputValue>();\r\n @Output() public modelChange: EventEmitter<InputPhoneValueWithId> = new EventEmitter<InputPhoneValueWithId>();\r\n\r\n public allCountries: (Country)[];\r\n public selectedCountry: Country;\r\n public countriesToShow: (Country)[];\r\n public preferredCountriesList: (Country)[];\r\n public searchFilter: string;\r\n public scrollTimeout: any;\r\n public phoneNumber: any;\r\n public isFocused: boolean;\r\n public isInputValid: boolean;\r\n public isDropdownOpen: boolean = false;\r\n public parsedPhoneNumber?: ParsedPhoneNumber;\r\n public innerInvalid: boolean = false;\r\n public innerInvalidMessage: string = ''\r\n\r\n constructor() {\r\n this.allCountries = [];\r\n this.countriesToShow = this.allCountries;\r\n this.selectedCountry = this.getDefaultCountry();\r\n this.preferredCountriesList = [];\r\n this.searchFilter = '';\r\n this.phoneNumber = null;\r\n this.isFocused = false;\r\n this.isInputValid = true;\r\n }\r\n\r\n writeValue(outsideValue: string): void {\r\n if (outsideValue) {\r\n this.phoneNumber = outsideValue;\r\n this.formatPhoneNumber();\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.generateCountryData();\r\n this.setCountriesToShow();\r\n this.setPreferredCountries();\r\n this.setDefaultSelectedCountry();\r\n }\r\n\r\n private _validation(parsedNumber: ParsedPhoneNumber): boolean {\r\n if (!this.selectedCountry) return false\r\n const selectedCountry = this.findCountryByIso2(this.selectedCountry.iso2);\r\n\r\n if (parsedNumber.number?.international || parsedNumber.number?.national) {\r\n if (parsedNumber.number.international) {\r\n const phone = parsedNumber.number.international.trim()\r\n const a = phone.startsWith('+') ? phone.substring(1).trim() : phone;\r\n const b = a.startsWith(selectedCountry.dialCode) ? a.substring(selectedCountry.dialCode.length).trim() : a;\r\n\r\n return Boolean(selectedCountry?.areaCodes?.filter((code: string) => b.startsWith(code)).length);\r\n } else if (parsedNumber.number.national) {\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTelSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage?.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n\r\n public toggleDropdown() {\r\n this.isDropdownOpen = !this.isDropdownOpen;\r\n this.dropdownComponent.hide()\r\n }\r\n\r\n public generateCountryData() {\r\n this.allCountries = countryData.map(con => {\r\n return {\r\n name: con[0].toString(),\r\n iso2: con[1].toString(),\r\n dialCode: con[2].toString(),\r\n priority: +con[3] || 0,\r\n areaCodes: (con[4] as string[]) || undefined,\r\n htmlId: `${this.uuid}-${con[1].toString()}`,\r\n flagClass: `flag__${con[1].toString()}`,\r\n placeHolder: '',\r\n };\r\n });\r\n this.countriesToShow = this.allCountries;\r\n }\r\n\r\n public getDefaultCountry(): Country {\r\n return {\r\n 'name': '',\r\n 'iso2': '',\r\n 'dialCode': '',\r\n 'priority': 0,\r\n 'htmlId': '',\r\n 'flagClass': flagPlaceholder,\r\n 'placeHolder': '',\r\n };\r\n }\r\n\r\n private formatIntelNumber(number: string): string {\r\n if (this.autoDealCode) {\r\n return number\r\n } else {\r\n const indexToSplit = number.indexOf(' ') + 1;\r\n return this.separateDialCode ? number.substring(indexToSplit) : number;\r\n }\r\n }\r\n\r\n public formatPhoneNumber() {\r\n const ayt = getAsYouType(this.selectedCountry?.iso2.toUpperCase());\r\n ayt.reset(this.phoneNumber);\r\n const res: ParsedPhoneNumber = ayt.getPhoneNumber();\r\n\r\n this.parsedPhoneNumber = res\r\n\r\n if (this.numberFormat === 'international') {\r\n this.phoneNumber = res.number?.international ? this.formatIntelNumber(res.number.international) : this.phoneNumber;\r\n } else {\r\n this.phoneNumber = res.number?.national ? res.number.national : this.phoneNumber;\r\n }\r\n\r\n if (this.numberFormat === 'international') {\r\n if (this.enableAutoCountrySelect && res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n res.regionCode && (this.selectedCountry = this.findCountryByIso2(res.regionCode));\r\n }\r\n } else {\r\n if (this.enableAutoCountrySelect && res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n\r\n }\r\n }\r\n\r\n if (!res.valid || res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n this.isInputValid = this._validation(res);\r\n } else {\r\n this.isInputValid = true;\r\n }\r\n }\r\n\r\n public searchFilterChanged(event: any) {\r\n if (this.scrollTimeout) clearTimeout(this.scrollTimeout);\r\n\r\n let filtered: Country[];\r\n if (this.searchCountryField == 'name') {\r\n filtered = this.countriesToShow.filter(con => con.name.toLowerCase().startsWith(this.searchFilter.toLowerCase()));\r\n } else if (this.searchCountryField == 'iso2') {\r\n filtered = this.countriesToShow.filter(con => con.iso2.startsWith(this.searchFilter.toLowerCase()));\r\n } else if (this.searchCountryField == 'dialCode') {\r\n filtered = this.countriesToShow.filter(con => con.dialCode.startsWith(this.searchFilter));\r\n } else {\r\n filtered = this.countriesToShow.filter(con => con.name.toLowerCase().startsWith(this.searchFilter.toLowerCase()) || con.dialCode.startsWith(this.searchFilter) || con.iso2.startsWith(this.searchFilter.toLowerCase()));\r\n }\r\n\r\n if (!filtered.length) return;\r\n this.scrollTimeout = setTimeout(() => {\r\n const el: any = document.getElementById(filtered[0].htmlId);\r\n el.scrollIntoView();\r\n }, 1);\r\n }\r\n\r\n private findCountryByIso2(iso2: string): Country | any {\r\n return this.countriesToShow.find(con => con.iso2 == iso2.toLowerCase());\r\n }\r\n\r\n public setDefaultSelectedCountry() {\r\n if (this.selectedCountryISO) {\r\n this.selectedCountry = this.findCountryByIso2(this.selectedCountryISO);\r\n } else if (this.selectFirstCountry) {\r\n if (this.preferredCountriesList.length) this.selectedCountry = this.preferredCountriesList[0];\r\n else this.selectedCountry = this.countriesToShow[0];\r\n } else this.selectedCountry = this.getDefaultCountry();\r\n\r\n this.selectedCountry.placeHolder = this.getPlaceHolder();\r\n }\r\n\r\n public setCountriesToShow() {\r\n if (this.onlyCountries.length == 0) return;\r\n\r\n const temp: any = [];\r\n for (let country of this.onlyCountries) {\r\n temp.push(this.allCountries.find(con => con.iso2 == country));\r\n }\r\n\r\n this.countriesToShow = temp;\r\n }\r\n\r\n public setPreferredCountries() {\r\n for (let country of this.preferredCountries) {\r\n const temp = this.countriesToShow.find(con => con.iso2 == country);\r\n if (temp) this.preferredCountriesList.push(temp);\r\n }\r\n }\r\n\r\n public onCountrySelect(country: any) {\r\n if (this.disabled) return\r\n\r\n this.selectedCountry = country;\r\n this.selectedCountry.placeHolder = this.getPlaceHolder();\r\n this.searchFilter = '';\r\n this.phoneNumber = '';\r\n this.isInputValid = true;\r\n this.isFocused = false;\r\n\r\n if (this.autoCloseDropdown) {\r\n this.toggleDropdown();\r\n }\r\n\r\n this.updateValue()\r\n }\r\n\r\n private getNumberExample(): string {\r\n const formatExampleNumber = (number: string): string => {\r\n return number.replace(/\\d/g, '9')\r\n };\r\n\r\n const exampleNumber = this.numberFormat === 'international' ?\r\n this.formatIntelNumber(getExample(this.selectedCountry.iso2.toUpperCase(), 'mobile').number?.international || '') :\r\n this.formatIntelNumber(getExample(this.selectedCountry.iso2.toUpperCase(), 'mobile').number?.national || '');\r\n\r\n return formatExampleNumber(exampleNumber);\r\n }\r\n\r\n public getPlaceHolder(): string {\r\n if (!this.enablePlaceholder) return '';\r\n if (this.customPlaceholder) return this.customPlaceholder;\r\n if (this.selectedCountry.iso2 == '') return '';\r\n\r\n return this.getNumberExample();\r\n }\r\n\r\n public getDropdownIconPath(): string {\r\n return this.isDropdownOpen ? dropdownClose : dropdownOpen;\r\n }\r\n\r\n public onPhoneInputFocus() {\r\n if (!this.autoDealCode) return;\r\n if (this.isFocused || (this.separateDialCode && this.numberFormat === 'international') || this.numberFormat === 'national' || this.phoneNumber) return;\r\n this.phoneNumber = '+' + this.selectedCountry.dialCode + ' ';\r\n this.isFocused = true;\r\n }\r\n\r\n public onPhoneInputBlur() {\r\n if (!this.isInputValid && this.phoneNumber !== '') {\r\n this.innerInvalid = true\r\n this.innerInvalidMessage = this.invalidPhoneMessage\r\n }\r\n }\r\n\r\n private _resetValidate() {\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n public updateValue() {\r\n this._resetValidate()\r\n this.formatPhoneNumber();\r\n\r\n const outsideValue = {\r\n phoneNumber: this.phoneNumber,\r\n unFormattedNumber: this.phoneNumber.replace(/[\\s-()]/g, ''),\r\n selectedCountry: this.selectedCountry?.name || '',\r\n iso2Code: this.selectedCountry?.iso2 || '',\r\n dialCode: this.selectedCountry?.dialCode || '',\r\n numberFormat: this.numberFormat,\r\n isNumberValid: this.isInputValid,\r\n };\r\n\r\n this.changed.emit(outsideValue);\r\n this.modelChange.emit({value: outsideValue, id: this.uuid})\r\n this.onChange(outsideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div class=\"mrx-input-tel\" [class]=\"getClasses\" [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-tel__wrapper\">\r\n <input\r\n formatterPhone\r\n [id]=\"inputId\"\r\n type=\"tel\"\r\n class=\"phoneInput {{cssClass}}\"\r\n [(ngModel)]=\"phoneNumber\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"selectedCountry.placeHolder || ''\"\r\n [class.inValid]=\"phoneValidation && !isInputValid\"\r\n [customMaxLength]=\"maxLength\"\r\n [parsedPhoneNumber]=\"parsedPhoneNumber\"\r\n (focus)=\"onPhoneInputFocus()\"\r\n (blur)=\"onPhoneInputBlur()\"\r\n (changeModel)=\"updateValue()\"\r\n />\r\n <div class=\"mrx-input-tel__flag-container\" [class.disabled]=\"disabled\">\r\n <mrx-dropdown\r\n #dropdownComponent\r\n customClasses=\"h-100\"\r\n [mainPlacement]=\"'bottom-start'\"\r\n [fallbackPlacements]=\"['top-start']\"\r\n >\r\n <ng-template #dropdownToggle>\r\n <div class=\"mrx-input-tel__selected-flag dropdown-toggle\">\r\n <div\r\n class=\"mrx-input-tel__flag\"\r\n [ngClass]=\"selectedCountry.flagClass || ''\"\r\n ></div>\r\n <div *ngIf=\"separateDialCode\" class=\"selected-dial-code\">+{{selectedCountry.dialCode}}</div>\r\n <div class=\"mrx-input-tel__arrow mt-1\">\r\n <span class=\"mrx-icon icon-chevron-down\"></span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #dropdownMenu>\r\n <div class=\"search-container\" *ngIf=\"searchCountryFlag && searchCountryField\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFilter\"\r\n (ngModelChange)=\"searchFilterChanged($event)\"\r\n placeholder=\"{{ searchCountryPlaceholder }}\"\r\n class=\"searchCountry__input\"\r\n />\r\n </div>\r\n\r\n <ul class=\"mrx-input-tel__country-list\" #countryList>\r\n <li class=\"mrx-input-tel__country iti__preferred\"\r\n *ngFor=\"let preferredCountry of preferredCountriesList\"\r\n (click)=\"onCountrySelect(preferredCountry)\"\r\n [id]=\"preferredCountry.htmlId+'-preferred'\"\r\n >\r\n <div class=\"mrx-input-tel__flag-box\">\r\n <div class=\"mrx-input-tel__flag\" [ngClass]=\"preferredCountry.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-tel__country-name\">{{preferredCountry.name}}</span>\r\n <span class=\"mrx-input-tel__dial-code\">+{{preferredCountry.dialCode}}</span>\r\n </li>\r\n\r\n <li class=\"mrx-input-tel__divider\" *ngIf=\"preferredCountriesList?.length\"></li>\r\n\r\n <li class=\"mrx-input-tel__country iti__standard\"\r\n *ngFor=\"let country of countriesToShow\"\r\n (click)=\"onCountrySelect(country)\"\r\n [id]=\"country.htmlId\">\r\n <div class=\"mrx-input-tel__flag-box\">\r\n <div class=\"mrx-input-tel__flag\" [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-tel__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-tel__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n </ul>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || innerInvalid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"innerInvalidMessage || invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTelComponent } from './input-tel.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MaskedInputTelDirective } from './directives/input-tel.directive';\r\nimport { DropdownModule } from '../../dropdown/dropdown.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n InputTelComponent,\r\n MaskedInputTelDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DropdownModule,\r\n ErrorMessageModule,\r\n SaveStateModule,\r\n ],\r\n exports: [\r\n InputTelComponent\r\n ]\r\n})\r\nexport class InputTelModule { }\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { TooltipService } from '../tooltip/services/tooltip.service';\r\nimport {\r\n FindResultMatchesCount,\r\n FindState,\r\n NgxExtendedPdfViewerComponent,\r\n NgxExtendedPdfViewerService,\r\n PagesLoadedEvent\r\n} from 'ngx-extended-pdf-viewer';\r\n\r\ntype RotationType = 0 | 90 | 180 | 270;\r\n\r\n@Component({\r\n selector: 'mrx-pdf-viewer',\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.less'],\r\n animations: [\r\n trigger('openClose', [\r\n state(\r\n 'open',\r\n style({height: '*', padding: '*', 'margin-bottom': '8px'})\r\n ),\r\n state('closed', style({height: 0, padding: 0, 'margin-bottom': 0})),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n providers: [TooltipService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PdfViewerComponent implements OnInit, OnChanges {\r\n public searchQuery = '';\r\n public findState: FindState = FindState.PENDING;\r\n public totalFound: number = 0;\r\n public currentFind: number = 0;\r\n public page = 1;\r\n public isSearchPanelVisible = false;\r\n public sidebarVisible = true;\r\n public pageCount = 1;\r\n public selectedZoom: { value: number | string, label: string } = {value: 'auto', label: 'Автоматически'};\r\n public zoomOptions = [\r\n {value: 'auto', label: 'Автоматически'},\r\n {value: 'page-actual', label: 'Реальный размер'},\r\n {value: 'pge-fit', label: 'По размеру страницы'},\r\n {value: 'page-width', label: 'По ширине страницы'},\r\n {value: 50, label: '50%'},\r\n {value: 100, label: '100%'},\r\n {value: 125, label: '125%'},\r\n {value: 150, label: '150%'},\r\n {value: 200, label: '200%'},\r\n {value: 300, label: '300%'},\r\n {value: 400, label: '400%'},\r\n ];\r\n\r\n public rotation: RotationType = 0;\r\n\r\n @Input() showSidebarButton = true;\r\n @Input() showHandToolButton = false;\r\n @Input() handTool = true;\r\n @Input() showFindbarButton = true;\r\n @Input() showRotateButton = true;\r\n @Input() showPrintButton = true;\r\n @Input() showDownloadButton = true;\r\n @Input() showExpandButton = true;\r\n @Input() defaultZoom: number | 'auto' | 'page-actual' | 'pge-fit' | 'page-width' = 'auto';\r\n @Input() downloadFileName = '';\r\n @Input() src = '';\r\n\r\n @ViewChild(NgxExtendedPdfViewerComponent) pdfViewer!: NgxExtendedPdfViewerComponent;\r\n @ViewChild('findMenu') findMenu: ElementRef | null = null;\r\n\r\n constructor(\r\n private _pdfViewerService: NgxExtendedPdfViewerService,\r\n private _renderer: Renderer2,\r\n private _ref: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['defaultZoom'] && changes['defaultZoom'].currentValue != changes['defaultZoom'].previousValue) {\r\n this.initZoom();\r\n }\r\n }\r\n\r\n initZoom() {\r\n const existingValue = this.zoomOptions.find(x => x.value === this.defaultZoom);\r\n\r\n if (existingValue) {\r\n this.selectedZoom = {...existingValue};\r\n return;\r\n }\r\n\r\n this.selectedZoom = {value: this.defaultZoom, label: `${this.defaultZoom}%`};\r\n }\r\n\r\n initSearch() {\r\n if (this.showFindbarButton) {\r\n document.addEventListener('keydown', (event: KeyboardEvent) => {\r\n if (event.key.toLowerCase() === 'f' && event.ctrlKey) {\r\n this.isSearchPanelVisible = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initSearch();\r\n this.initZoom();\r\n\r\n this._renderer.listen('window', 'click', (event: Event) => {\r\n if (this.isSearchPanelVisible) {\r\n const isInMenu = this.findMenu?.nativeElement.contains(event.target)\r\n || (event.target as any).id === 'findNext'\r\n || (event.target as any).id === 'findPrevious';\r\n\r\n const isFindButton = (event.target as any).classList.contains('mrx-pdf-viewer__find-button');\r\n\r\n if (!isInMenu && !isFindButton) {\r\n this.isSearchPanelVisible = false;\r\n this._ref.markForCheck();\r\n }\r\n }\r\n });\r\n }\r\n\r\n onPageChange($event: any) {\r\n this.page = $event || 1;\r\n }\r\n\r\n onNextPage() {\r\n if (this.page < this.pageCount) {\r\n this.page = this.page + 1;\r\n }\r\n }\r\n\r\n onLastPage() {\r\n this.page = this.pageCount;\r\n }\r\n\r\n onPagesLoaded($event: PagesLoadedEvent) {\r\n const viewOutline = document.querySelector('#viewOutline');\r\n const viewThumbnail = document.querySelector('#viewThumbnail');\r\n\r\n this.pageCount = $event.pagesCount;\r\n\r\n if (viewOutline) {\r\n (viewOutline as any).title = '';\r\n }\r\n\r\n if (viewThumbnail) {\r\n (viewThumbnail as any).title = '';\r\n }\r\n }\r\n\r\n zoomClick(increase: boolean) {\r\n if (typeof this.selectedZoom.value === 'string') {\r\n this.selectedZoom = {value: 100, label: '100%'};\r\n return;\r\n }\r\n\r\n const newValue = increase ? this.selectedZoom.value += 20 : this.selectedZoom.value -= 20;\r\n\r\n this.selectedZoom = {value: newValue, label: `${newValue}%`};\r\n }\r\n\r\n onZoomLevelSelect(item: any) {\r\n this.selectedZoom = item;\r\n }\r\n\r\n onZoomChange($event: string | number) {\r\n const existingOption = this.zoomOptions.find(x => x.value === $event);\r\n\r\n if (existingOption) {\r\n this.selectedZoom = {...existingOption};\r\n return;\r\n }\r\n\r\n const fixedValue = Math.round(Number($event));\r\n\r\n this.selectedZoom = {value: fixedValue, label: `${fixedValue}%`};\r\n }\r\n\r\n onRotate(direction: number) {\r\n let data = this.rotation;\r\n\r\n if (direction < 0) {\r\n data -= 90;\r\n } else {\r\n data += 90;\r\n }\r\n\r\n if (data >= 360) {\r\n this.rotation = data - 360 as RotationType;\r\n return;\r\n }\r\n\r\n if (data < 0) {\r\n this.rotation = 360 + data as RotationType;\r\n return;\r\n }\r\n\r\n this.rotation = data as RotationType;\r\n }\r\n\r\n onPrintClick() {\r\n this._pdfViewerService.print();\r\n\r\n setTimeout(() => {\r\n const printDialog = document.querySelector('dialog#printServiceDialog');\r\n const progressText = printDialog?.querySelector('.row span');\r\n const cancelButton = printDialog?.querySelector('#printCancel span');\r\n\r\n if (progressText) {\r\n progressText.textContent = 'Подготовка документа к печати...';\r\n }\r\n\r\n if (cancelButton) {\r\n cancelButton.textContent = 'Отмена';\r\n }\r\n }, 1);\r\n }\r\n\r\n async onDownloadClick() {\r\n const blob: Blob = await this._pdfViewerService.getCurrentDocumentAsBlob();\r\n const objectUrl: string = URL.createObjectURL(blob);\r\n const a: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n\r\n a.href = objectUrl;\r\n a.download = this.downloadFileName || this.src;\r\n document.body.appendChild(a);\r\n a.click();\r\n\r\n document.body.removeChild(a);\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n onSidebarViewClick() {\r\n this.sidebarVisible = !this.sidebarVisible;\r\n }\r\n\r\n onExpandModeClick() {\r\n const pdfViewerApplication = (window as any).PDFViewerApplication;\r\n\r\n if (pdfViewerApplication?.pdfViewer) {\r\n pdfViewerApplication.requestPresentationMode();\r\n }\r\n }\r\n\r\n onSearchClick() {\r\n this.isSearchPanelVisible = !this.isSearchPanelVisible;\r\n }\r\n\r\n onSearch($event: string) {\r\n if ($event) {\r\n this._pdfViewerService.find($event, {highlightAll: true});\r\n return;\r\n }\r\n this._pdfViewerService.find('', {});\r\n }\r\n\r\n findNext(): void {\r\n this._pdfViewerService.findNext();\r\n }\r\n\r\n findPrevious(): void {\r\n this._pdfViewerService.findPrevious();\r\n }\r\n\r\n onUpdateMatchCase($event: FindResultMatchesCount) {\r\n this.totalFound = $event.total;\r\n this.currentFind = $event.current;\r\n }\r\n\r\n onFindStateChanged($event: FindState) {\r\n this.findState = $event;\r\n }\r\n\r\n onSidebarVisibleChange($event: boolean) {\r\n this.sidebarVisible = $event;\r\n }\r\n\r\n onHandToolClick() {\r\n this.handTool = !this.handTool;\r\n }\r\n}\r\n","<ng-template #customToolbar>\r\n <div class=\"mrx-pdf-viewer__toolbar\" id=\"toolbarViewer\">\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n *ngIf=\"showSidebarButton\"\r\n [iconClass]=\"'icon-burger'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSidebarViewClick()\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': sidebarVisible}\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n [title]=\"'test'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showFindbarButton\"\r\n [iconClass]=\"'icon-search'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSearchClick()\"\r\n [customClasses]=\"'py-1 px-2 mrx-pdf-viewer__find-button'\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': isSearchPanelVisible}\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"isSearchPanelVisible\" class=\"mrx-pdf-viewer__findbar\" #findMenu>\r\n <mrx-input-text\r\n [customClasses]=\"findState === 1 ? 'mrx-input-error' :''+'searchText'\"\r\n placeholder=\"Найти в документе...\"\r\n [ngModel]=\"searchQuery\"\r\n (ngModelChange)=\"onSearch($event)\">\r\n </mrx-input-text>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findPrevious()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findNext()\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"findState === 0 || findState === 2\" class=\"mrx-pdf-viewer__findbar-result\">\r\n {{currentFind}} из {{totalFound}} совпадений\r\n </div>\r\n <div *ngIf=\"findState === 1\" class=\"color-negative d-flex align-items-center\">Фраза не найдена</div>\r\n </div>\r\n <div class=\"mrx-pdf-viewer__toolbar--nav\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(1)\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(page - 1 || 1)\"\r\n ></mrx-icon-button>\r\n <mrx-input-number [size]=\"'small'\" [customClasses]=\"'wpx-56'\"\r\n [ngModel]=\"page\"\r\n [numberType]=\"'int'\"\r\n [minValue]=\"1\"\r\n [maxValue]=\"pageCount\"\r\n [isAutoCorrectingValue]=\"true\"\r\n (ngModelChange)=\"onPageChange($event)\"\r\n ></mrx-input-number>\r\n <span class=\"mx-1\">из {{pageCount}}</span>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onNextPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onLastPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(false)\"\r\n [iconClass]=\"'icon-minus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(true)\"\r\n [iconClass]=\"'icon-plus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-input-select\r\n [size]=\"'medium'\"\r\n [customClasses]=\"'wpx-156'\"\r\n [items]=\"zoomOptions\"\r\n (ngModelChange)=\"onZoomLevelSelect($event)\"\r\n [ngModel]=\"selectedZoom\"\r\n [clearable]=\"false\">\r\n </mrx-input-select>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-fc-text'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showHandToolButton\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': !handTool}\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onHandToolClick()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-reload'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-return'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(-1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-arrow-expand'\"\r\n *ngIf=\"showExpandButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onExpandModeClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-print'\"\r\n *ngIf=\"showPrintButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPrintClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showDownloadButton\"\r\n [iconClass]=\"'icon-download'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onDownloadClick()\"\r\n ></mrx-icon-button>\r\n </div>\r\n\r\n </div>\r\n</ng-template>\r\n\r\n<ngx-extended-pdf-viewer\r\n #pdfViewer\r\n class=\"mrx-pdf-viewer\"\r\n [page]=\"page\"\r\n [sidebarVisible]=\"showSidebarButton && sidebarVisible\"\r\n (sidebarVisibleChange)=\"onSidebarVisibleChange($event)\"\r\n [customToolbar]=\"customToolbar\"\r\n [showSidebarButton]=\"true\"\r\n (pagesLoaded)=\"onPagesLoaded($event)\"\r\n [zoom]=\"selectedZoom.value\"\r\n (zoomChange)=\"onZoomChange($event)\"\r\n [textLayer]=\"true\"\r\n (pageChange)=\"onPageChange($event)\"\r\n [handTool]=\"handTool\"\r\n [rotation]=\"rotation\"\r\n (updateFindMatchesCount)=\"onUpdateMatchCase($event)\"\r\n (updateFindState)=\"onFindStateChanged($event)\"\r\n [src]=\"src\">\r\n</ngx-extended-pdf-viewer>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PdfViewerComponent } from './pdf-viewer.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { CdkTooltipModule } from '../cdk-tooltip/cdk-tooltip.module';\r\nimport { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';\r\nimport { IconButtonModule } from '../icon-button/icon-button.module';\r\nimport { InputSelectModule } from '../form/input-select/input-select.module';\r\nimport { InputNumberModule } from '../form/input-number/input-number.module';\r\nimport { InputTextModule } from \"../form/input-text/input-text.module\";\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [PdfViewerComponent],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n CdkTooltipModule,\r\n NgxExtendedPdfViewerModule,\r\n IconButtonModule,\r\n InputSelectModule,\r\n InputNumberModule,\r\n InputTextModule,\r\n CommonModule,\r\n FormsModule,\r\n InputNumberModule,\r\n],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [PdfViewerComponent],\r\n})\r\nexport class PdfViewerComponentModule {\r\n}\r\n","// COMPONENTS\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/button/button.enum';\r\n\r\nexport * from './lib/components/loader/loader.module';\r\nexport * from './lib/components/loader/loader.component';\r\nexport * from './lib/components/loader/loader.enum';\r\n\r\nexport * from './lib/components/alert/alert.module';\r\nexport * from './lib/components/alert/alert.component';\r\nexport * from './lib/components/alert/alert.enum';\r\n\r\nexport * from './lib/components/badges/badges.module';\r\nexport * from './lib/components/badges/components/badge/badge.component';\r\nexport * from './lib/components/badges/components/badge-group/badge-group.component';\r\nexport * from './lib/components/badges/badge.enum';\r\n\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.module';\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.enum';\r\n\r\nexport * from './lib/components/link/link.module';\r\nexport * from './lib/components/link/link.component';\r\nexport * from './lib/components/link/link.enum';\r\n\r\nexport * from './lib/components/label/label.module';\r\nexport * from './lib/components/label/label.component';\r\n\r\nexport * from './lib/components/tooltip/tooltip.module';\r\nexport * from './lib/components/tooltip/tooltip.component';\r\nexport * from './lib/components/tooltip/tooltip.enum';\r\nexport * from './lib/components/tooltip/tooltip-trigger/tooltip-trigger.component';\r\nexport * from './lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum';\r\nexport * from './lib/components/tooltip/services/tooltip.service';\r\n\r\nexport * from './lib/components/save-state/save-state.module';\r\nexport * from './lib/components/save-state/save-state.component';\r\nexport * from './lib/components/save-state/save-state.enum';\r\n\r\nexport * from './lib/components/cdk-tooltip/cdk-tooltip.module'\r\nexport * from './lib/components/cdk-tooltip/cdk-tooltip.directive';\r\nexport * from './lib/components/cdk-tooltip/models/tooltip-data';\r\n\r\nexport * from './lib/components/dropdown/dropdown.module';\r\nexport * from './lib/components/dropdown/dropdown.component';\r\nexport * from './lib/components/dropdown/directives/hide-after-click.directive';\r\n\r\nexport * from './lib/components/error-message/error-message.module'\r\nexport * from './lib/components/error-message/error-message.component';\r\n\r\nexport * from './lib/components/hint-error-message/hint-error-message.module';\r\nexport * from './lib/components/hint-error-message/hint-error-message.component';\r\n\r\nexport * from './lib/components/icon-button/icon-button.module';\r\nexport * from './lib/components/icon-button/icon-button.component';\r\nexport * from './lib/components/icon-button/icon-button.enum';\r\n\r\nexport * from './lib/components/modal/modal.module';\r\nexport * from './lib/components/modal/modal.component';\r\nexport * from './lib/components/modal/modal.emun';\r\n\r\nexport * from './lib/components/paginator/paginator.module';\r\nexport * from './lib/components/paginator/paginator.component';\r\nexport * from './lib/components/paginator/paginator.enum';\r\n\r\nexport * from './lib/components/progress/progress.module';\r\nexport * from './lib/components/progress/progress.component';\r\nexport * from './lib/components/progress/progress.enum';\r\n\r\nexport * from './lib/components/stepper/stepper.module';\r\nexport * from './lib/components/stepper/stepper.component';\r\nexport * from './lib/components/stepper/stepper.enum';\r\n\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/table/table.enum';\r\nexport * from './lib/components/table/components/column/column.component';\r\nexport * from './lib/components/table/default/default-pager-settings';\r\nexport * from './lib/components/table/models/index';\r\n\r\nexport * from './lib/components/tabs/tabs.module';\r\nexport * from './lib/components/tabs/tabs.enum';\r\nexport * from './lib/components/tabs/tabs-group/tabs-group.component';\r\nexport * from './lib/components/tabs/tab/tab.component';\r\n\r\nexport * from './lib/components/truncate-text/truncate-text.module';\r\nexport * from './lib/components/truncate-text/truncate-text.component';\r\nexport * from './lib/components/truncate-text/truncate-text.enum';\r\n\r\nexport * from './lib/components/warning-message/warning-message.module';\r\nexport * from './lib/components/warning-message/warning-message.component';\r\n\r\nexport * from './lib/components/gallery/gallery.module';\r\nexport * from './lib/components/gallery/gallery.component';\r\nexport * from './lib/components/gallery/models/gallery-item.model';\r\n\r\nexport * from './lib/components/pages-nav/pages-nav.module';\r\nexport * from './lib/components/pages-nav/pages-nav.component';\r\nexport * from './lib/components/pages-nav/pages-nav.enum';\r\n\r\nexport * from './lib/components/chars-left/chars-left.module';\r\nexport * from './lib/components/chars-left/chars-left.component';\r\n\r\n// FORM\r\nexport * from './lib/components/form/input-text/input-text.module';\r\nexport * from './lib/components/form/input-text/input-text.component';\r\nexport * from './lib/components/form/input-text/input-text.enum';\r\n\r\nexport * from './lib/components/form/input-textarea/input-textarea.module';\r\nexport * from './lib/components/form/input-textarea/input-textarea.component';\r\nexport * from './lib/components/form/input-textarea/input-textarea.enum';\r\n\r\nexport * from './lib/components/form/input-phone/input-phone.module';\r\nexport * from './lib/components/form/input-phone/input-phone.component';\r\nexport * from './lib/components/form/input-phone/models/country.model';\r\n\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.module';\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.component';\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.enum';\r\n\r\nexport * from './lib/components/form/input-date-time/input-date-time.module';\r\nexport * from './lib/components/form/input-date-time/input-date-time.component';\r\nexport * from './lib/components/form/input-date-time/enum/timezone';\r\n\r\nexport * from './lib/components/form/input-timepicker/input-timepicker.module';\r\nexport * from './lib/components/form/input-timepicker/input-timepicker.component';\r\n\r\nexport * from './lib/components/form/editor/editor.module';\r\nexport * from './lib/components/form/editor/editor.component';\r\nexport * from './lib/components/form/editor/models/toolbar.model';\r\n\r\nexport * from './lib/components/form/json-editor/json-editor.module';\r\nexport * from './lib/components/form/json-editor/json-editor.component';\r\nexport * from './lib/components/form/json-editor/json-editor.enum';\r\nexport * from './lib/components/form/json-editor/utils/jsoneditoroptions';\r\n\r\n// export * from './lib/components/form/document-editor/document-editor.module';\r\n// export * from './lib/components/form/document-editor/document-editor.component';\r\n// export * from './lib/components/form/document-editor/models/document-editor-short-codes.enum';\r\n\r\nexport * from './lib/components/form/rating/rating.module';\r\nexport * from './lib/components/form/rating/rating.component';\r\nexport * from './lib/components/form/rating/rating.enum';\r\n\r\nexport * from './lib/components/form/input-search/input-search.module';\r\nexport * from './lib/components/form/input-search/input-search.component';\r\nexport * from './lib/components/form/input-search/input-search.enum';\r\n\r\nexport * from './lib/components/form/input-number/input-number.module';\r\nexport * from './lib/components/form/input-number/input-number.component';\r\nexport * from './lib/components/form/input-number/input-number.enum';\r\n\r\nexport * from './lib/components/form/input-select/input-select.module';\r\nexport * from './lib/components/form/input-select/input-select.component';\r\nexport * from './lib/components/form/input-select/input-select.enum';\r\n\r\nexport * from './lib/components/form/input-file/input-file.module';\r\nexport * from './lib/components/form/input-file/input-file.component';\r\n\r\nexport * from './lib/components/form/input-file-image/input-file-image.module';\r\nexport * from './lib/components/form/input-file-image/input-file-image.component';\r\nexport * from './lib/components/form/input-file-image/input-file-image.enum';\r\n\r\nexport * from './lib/components/form/input-opt/input-opt.module';\r\nexport * from './lib/components/form/input-opt/models/input-opt.model';\r\nexport * from './lib/components/form/input-opt/components/input-opt/input-opt.component';\r\n\r\nexport * from './lib/components/form/input-password/input-password.module';\r\nexport * from './lib/components/form/input-password/input-password.component';\r\nexport * from './lib/components/form/input-password/input-password.enum';\r\n\r\nexport * from './lib/components/form/checkbox/checkbox.module';\r\nexport * from './lib/components/form/checkbox/checkbox.component';\r\nexport * from './lib/components/form/checkbox/checkbox.enum';\r\n\r\nexport * from './lib/components/form/checkbox-group/checkbox-group.module';\r\nexport * from './lib/components/form/checkbox-group/checkbox-group.component';\r\nexport * from './lib/components/form/checkbox-group/models/checkbox-group.model';\r\nexport * from './lib/components/form/checkbox-group/helpers/inner-list-to-list.helper';\r\n\r\nexport * from './lib/components/form/radio/radio.module';\r\nexport * from './lib/components/form/radio/radio.component';\r\nexport * from './lib/components/form/radio/radio.enum';\r\n\r\nexport * from './lib/components/form/radio-group/radio-group.module';\r\nexport * from './lib/components/form/radio-group/radio-group.component';\r\nexport * from './lib/components/form/radio-group/models/radio-group.model';\r\n\r\nexport * from './lib/components/form/switch/switch.module';\r\nexport * from './lib/components/form/switch/switch.component';\r\nexport * from './lib/components/form/switch/switch.enum';\r\n\r\n// WRAPPERS\r\nexport * from './lib/components/wrappers/widget-wrapper/widget-wrapper.module';\r\nexport * from './lib/components/wrappers/widget-wrapper/widget-wrapper.component';\r\n\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.module';\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.component';\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.enum';\r\n\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.module';\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.component';\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.enum';\r\nexport * from './lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/directives/truncate/truncate.module';\r\nexport * from './lib/directives/truncate/truncate.directive';\r\n\r\n\r\n// PIPES\r\nexport * from './lib/pipes/safe/safe.module';\r\nexport * from './lib/pipes/safe/safe.pipe';\r\n\r\nexport * from './lib/pipes/date/date-format.module';\r\nexport * from './lib/pipes/date/date-format.pipe';\r\nexport * from './lib/pipes/date/date-time-format.pipe';\r\n\r\nexport * from './lib/pipes/phone/phone-format.module';\r\nexport * from './lib/pipes/phone/phone-format.pipe';\r\n\r\nexport * from './lib/pipes/currency/currency.module';\r\nexport * from './lib/pipes/currency/currency.pipe';\r\n\r\nexport * from './lib/pipes/truncate/truncate.module';\r\nexport * from './lib/pipes/truncate/truncate.pipe';\r\n\r\n// SERVICES\r\nexport * from './lib/services/index';\r\n\r\n// FUNCTIONS\r\nexport * from './lib/helpers/index';\r\n\r\n// MODELS\r\nexport * from './lib/models/index';\r\n\r\n// TEST\r\n\r\nexport * from './lib/components/form/input-tel/input-tel.module';\r\nexport * from './lib/components/form/input-tel/input-tel.component';\r\n\r\nexport * from './lib/components/pdf-viewer/pdf-viewer.component';\r\nexport * from './lib/components/pdf-viewer/pdf-viewer.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.LoaderComponent","i3.SafePipe","i2","i2.SaveStateInputComponent","i3.SaveStateCheckboxComponent","i4.SaveStateCheckboxGroupComponent","i5.SaveStateSwitchComponent","i6.SaveStateEditorComponent","uuidv4","i3.SaveStateComponent","i1.TooltipService","i3","i4.TooltipComponent","i5.TooltipTriggerComponent","i6.SwitchComponent","i7.BadgeComponent","i8.LinkComponent","i9.CdkTooltipDirective","i1.DropdownComponent","i1.CdkTooltipDirective","i2.ButtonComponent","i3.LoaderComponent","i4.SaveStateComponent","i5.ErrorMessageComponent","i3.InputSelectComponent","i2.ProgressComponent","i2.PaginatorComponent","i4","i5.LoaderComponent","i2.LinkComponent","i3.TruncateTextDirective","i3.ModalComponent","MrxAutoSaveActions.autosaveAddId","MrxAutoSaveActions.autosaveStart","MrxAutoSaveActions.autosaveStartFor","MrxAutoSaveActions.autosaveSuccess","MrxAutoSaveActions.autosaveSuccessFor","MrxAutoSaveActions.autosaveError","MrxAutoSaveActions.autosaveErrorFor","MrxAutoSaveActions.autosaveStop","MrxAutoSaveActions.autosaveStopFor","i1.ModalRef","i3.ButtonComponent","i3.CharsLeftComponent","i4.ErrorMessageComponent","i5.SaveStateComponent","i6.AutosizeDirective","i1.GalleryService","i2.ModalService","i5","i6.InputTextareaComponent","i7.LoaderComponent","i4.GalleryItemComponent","maskConfigFunction","i6.CdkTooltipDirective","i7","CountryISO","SearchCountryField","i1.CountryCode","i5.DropdownComponent","i6.SaveStateComponent","i7.ErrorMessageComponent","i8","i9.NativeElementInjectorDirective","InputDateSizesEnum","validateDateModel","validateDay","validateMonth","validateTimeModel","validateHours","validateMinutes","validateDateYear","dateModelConstant","timeModelConstant","dateModelValueParse","timeModelValueParse","markPosition","cleanDate","getDateDayjsObject","getDateObject","i5.LabelComponent","i6","Timezone","tz","timezone","i4.CharsLeftComponent","i2.ErrorMessageComponent","i3.ErrorMessageComponent","i1.FileUploadService","i5.CdkTooltipDirective","i2.ModalComponent","i1.ModalService","i1.InputOptService","i5.OptPatternDirective","i2.CharsLeftComponent","uuid","filterSearchGroup","i3.CheckboxComponent","i3.InputSearchComponent","i4.LabelComponent","i2.SaveStateComponent","i4.CheckboxGroupItemComponent","i5.CheckboxGroupHeaderComponent","i3.RadioComponent","i4.RadioGroupItemComponent","i5.RadioGroupHeaderComponent","localeRu","i3.DropdownComponent","i6.MaskedInputTelDirective","i3.IconButtonComponent","i4.InputSelectComponent","i5.InputNumberComponent","i6.InputTextComponent"],"mappings":"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"}
|