myrta-ui 1.0.65 → 17.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/alert/alert.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/components/alert/alert.enum.mjs +14 -14
- package/esm2022/lib/components/alert/alert.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/badges/badge.enum.mjs +31 -31
- package/esm2022/lib/components/badges/badges.module.mjs +30 -0
- package/esm2022/lib/components/badges/components/badge/badge.component.mjs +61 -0
- package/{esm2020 → esm2022}/lib/components/badges/components/badge-group/badge-group.component.mjs +11 -11
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +28 -0
- package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.enum.mjs +5 -5
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +25 -0
- package/esm2022/lib/components/button/button.component.mjs +100 -0
- package/esm2022/lib/components/button/button.enum.mjs +27 -0
- package/esm2022/lib/components/button/button.module.mjs +21 -0
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +29 -0
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +99 -0
- package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/cdk-tooltip/constants/index.mjs +69 -69
- package/{esm2020 → esm2022}/lib/components/cdk-tooltip/models/tooltip-data.mjs +1 -1
- package/esm2022/lib/components/chars-left/chars-left.component.mjs +24 -0
- package/esm2022/lib/components/chars-left/chars-left.module.mjs +19 -0
- package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +24 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +107 -0
- package/esm2022/lib/components/dropdown/dropdown.module.mjs +21 -0
- package/esm2022/lib/components/error-message/error-message.component.mjs +32 -0
- package/esm2022/lib/components/error-message/error-message.module.mjs +19 -0
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +153 -0
- package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.enum.mjs +4 -4
- package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +22 -0
- package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +178 -0
- package/esm2022/lib/components/form/checkbox-group/checkbox-group.module.mjs +47 -0
- package/{esm2020 → esm2022}/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +48 -49
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +106 -0
- package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +20 -0
- package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +15 -0
- package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +27 -0
- package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +10 -10
- package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +50 -0
- package/{esm2020 → esm2022}/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/form/editor/config/default-inline-style.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/editor/config/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/form/editor/config/popups-toolbar.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/form/editor/config/toolbar.mjs +71 -71
- package/esm2022/lib/components/form/editor/editor.component.mjs +261 -0
- package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
- package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
- package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
- package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
- package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
- package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
- package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
- package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
- package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
- package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
- package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
- package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
- package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
- package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
- package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
- package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-file/input-file.component.mjs +370 -0
- package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-file/input-file.module.mjs +26 -0
- package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
- package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +364 -0
- package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
- package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +51 -0
- package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
- package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
- package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
- package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
- package/esm2022/lib/components/form/input-opt/input-opt.module.mjs +38 -0
- package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
- package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
- package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-password/input-password.module.mjs +36 -0
- package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
- package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
- package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
- package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
- package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
- package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
- package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
- package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
- package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
- package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
- package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
- package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
- package/esm2022/lib/components/form/input-select/input-select.module.mjs +45 -0
- package/{esm2020 → esm2022}/lib/components/form/input-tel/assets/base64.mjs +3 -3
- package/{esm2020 → esm2022}/lib/components/form/input-tel/data/all-countries.mjs +1322 -1322
- package/{esm2020 → esm2022}/lib/components/form/input-tel/data/country-iso.enum.mjs +246 -246
- package/{esm2020 → esm2022}/lib/components/form/input-tel/data/phone-number-format.enum.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/input-tel/data/search-country-field.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
- package/{esm2020 → esm2022}/lib/components/form/input-tel/enums/input-phone.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
- package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
- package/{esm2020 → esm2022}/lib/components/form/input-tel/models/country.model.mjs +1 -1
- package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
- package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
- package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
- package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
- package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
- package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
- package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
- package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
- package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
- package/esm2022/lib/components/form/radio/radio.module.mjs +20 -0
- package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
- package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
- package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/form/radio-group/helpers/get-item-by-id.mjs +10 -10
- package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/form/radio-group/models/radio-group.model.mjs +1 -1
- package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
- package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
- package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
- package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
- package/esm2022/lib/components/form/rating/rating.module.mjs +25 -0
- package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
- package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
- package/esm2022/lib/components/form/switch/switch.module.mjs +21 -0
- package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +39 -0
- package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
- package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
- package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
- package/esm2022/lib/components/gallery/gallery.module.mjs +54 -0
- package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
- package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
- package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
- package/esm2022/lib/components/hint-error-message/hint-error-message.module.mjs +19 -0
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
- package/esm2022/lib/components/icon-button/icon-button.module.mjs +19 -0
- package/esm2022/lib/components/label/label.component.mjs +143 -0
- package/esm2022/lib/components/label/label.module.mjs +25 -0
- package/esm2022/lib/components/link/link.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
- package/esm2022/lib/components/link/link.module.mjs +19 -0
- package/esm2022/lib/components/loader/loader.component.mjs +24 -0
- package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
- package/esm2022/lib/components/loader/loader.module.mjs +19 -0
- package/esm2022/lib/components/modal/modal.component.mjs +137 -0
- package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
- package/esm2022/lib/components/modal/modal.module.mjs +20 -0
- package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
- package/esm2022/lib/components/pages-nav/pages-nav.module.mjs +24 -0
- package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
- package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
- package/esm2022/lib/components/paginator/paginator.module.mjs +31 -0
- package/esm2022/lib/components/progress/progress.component.mjs +24 -0
- package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
- package/esm2022/lib/components/progress/progress.module.mjs +19 -0
- package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
- package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
- package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
- package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
- package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
- package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +1 -1
- package/esm2022/lib/components/save-state/save-state.module.mjs +37 -0
- package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
- package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
- package/esm2022/lib/components/stepper/stepper.module.mjs +20 -0
- package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
- package/esm2022/lib/components/table/table.component.mjs +281 -0
- package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
- package/esm2022/lib/components/table/table.module.mjs +50 -0
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
- package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
- package/esm2022/lib/components/tabs/tabs.module.mjs +20 -0
- package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
- package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
- package/esm2022/lib/components/tooltip/tooltip.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
- package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
- package/esm2022/lib/components/truncate-text/truncate-text.module.mjs +21 -0
- package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
- package/esm2022/lib/components/warning-message/warning-message.module.mjs +19 -0
- package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
- package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -0
- package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
- package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
- package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
- package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -0
- package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
- package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
- package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -0
- package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
- package/esm2022/lib/directives/autosize/autosize.module.mjs +24 -0
- package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
- package/esm2022/lib/directives/truncate/truncate.module.mjs +18 -0
- package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +7 -7
- package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
- package/esm2022/lib/helpers/formatting-date.mjs +51 -0
- package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
- package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
- package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
- package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
- package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/input-file/input-file.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
- package/esm2022/lib/pipes/currency/currency.module.mjs +20 -0
- package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
- package/esm2022/lib/pipes/date/date-format.module.mjs +19 -0
- package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
- package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
- package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
- package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
- package/esm2022/lib/pipes/phone/phone-format.module.mjs +18 -0
- package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
- package/esm2022/lib/pipes/safe/safe.module.mjs +20 -0
- package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
- package/esm2022/lib/pipes/truncate/truncate.module.mjs +20 -0
- package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
- package/esm2022/lib/services/file-upload/file-upload.service.mjs +27 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
- package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +46 -0
- package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +50 -0
- package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
- package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
- package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
- package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +5 -0
- package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
- package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
- package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
- package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
- package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
- package/esm2022/lib/services/save-store/save-store.module.mjs +29 -0
- package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
- package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
- package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
- package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
- package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
- package/esm2022/public-api.mjs +176 -0
- package/fesm2022/myrta-ui.mjs +15458 -0
- package/fesm2022/myrta-ui.mjs.map +1 -0
- package/{myrta-ui.d.ts → index.d.ts} +5 -5
- package/lib/components/alert/alert.component.d.ts +17 -17
- package/lib/components/alert/alert.enum.d.ts +13 -13
- package/lib/components/alert/alert.module.d.ts +8 -8
- package/lib/components/badges/badge.enum.d.ts +38 -38
- package/lib/components/badges/badges.module.d.ts +9 -9
- package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
- package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
- package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
- package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
- package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
- package/lib/components/button/button.component.d.ts +31 -31
- package/lib/components/button/button.enum.d.ts +27 -29
- package/lib/components/button/button.module.d.ts +10 -10
- package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
- package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
- package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
- package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
- package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
- package/lib/components/chars-left/chars-left.component.d.ts +9 -9
- package/lib/components/chars-left/chars-left.module.d.ts +8 -8
- package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
- package/lib/components/dropdown/dropdown.component.d.ts +26 -26
- package/lib/components/dropdown/dropdown.module.d.ts +10 -10
- package/lib/components/error-message/error-message.component.d.ts +10 -10
- package/lib/components/error-message/error-message.module.d.ts +8 -8
- package/lib/components/form/checkbox/checkbox.component.d.ts +48 -48
- package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -14
- package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -54
- package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
- package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
- package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -26
- package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
- package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
- package/lib/components/form/editor/config/default-inline-style.d.ts +11 -11
- package/lib/components/form/editor/config/index.d.ts +1 -1
- package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
- package/lib/components/form/editor/config/toolbar.d.ts +2 -2
- package/lib/components/form/editor/editor.component.d.ts +63 -49
- package/lib/components/form/editor/editor.module.d.ts +14 -14
- package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
- package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
- package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
- package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
- package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
- package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
- package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
- package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
- package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
- package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
- package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -72
- package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
- package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
- package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
- package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
- package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
- package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
- package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
- package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
- package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
- package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -69
- package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
- package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
- package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
- package/lib/components/form/input-file/input-file.component.d.ts +72 -72
- package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
- package/lib/components/form/input-file/input-file.module.d.ts +13 -13
- package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +42 -39
- package/lib/components/form/input-file-image/input-file-image.component.d.ts +62 -62
- package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
- package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
- package/lib/components/form/input-number/input-number.component.d.ts +64 -64
- package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
- package/lib/components/form/input-number/input-number.module.d.ts +13 -13
- package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
- package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
- package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
- package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
- package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
- package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
- package/lib/components/form/input-password/input-password.component.d.ts +38 -38
- package/lib/components/form/input-password/input-password.enum.d.ts +7 -7
- package/lib/components/form/input-password/input-password.module.d.ts +11 -11
- package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
- package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
- package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
- package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
- package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
- package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
- package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
- package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
- package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
- package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
- package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
- package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
- package/lib/components/form/input-search/input-search.component.d.ts +48 -48
- package/lib/components/form/input-search/input-search.enum.d.ts +6 -6
- package/lib/components/form/input-search/input-search.module.d.ts +12 -12
- package/lib/components/form/input-select/input-select.component.d.ts +84 -84
- package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
- package/lib/components/form/input-select/input-select.module.d.ts +14 -14
- package/lib/components/form/input-tel/assets/base64.d.ts +3 -3
- package/lib/components/form/input-tel/data/all-countries.d.ts +1 -1
- package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -245
- package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -5
- package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -6
- package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -21
- package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -11
- package/lib/components/form/input-tel/input-tel.component.d.ts +89 -89
- package/lib/components/form/input-tel/input-tel.module.d.ts +13 -14
- package/lib/components/form/input-tel/models/country.model.d.ts +18 -18
- package/lib/components/form/input-text/input-text.component.d.ts +54 -54
- package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
- package/lib/components/form/input-text/input-text.module.d.ts +14 -14
- package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -54
- package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
- package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
- package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
- package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
- package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
- package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
- package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
- package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
- package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
- package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
- package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
- package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
- package/lib/components/form/radio/radio.component.d.ts +29 -29
- package/lib/components/form/radio/radio.enum.d.ts +4 -4
- package/lib/components/form/radio/radio.module.d.ts +9 -9
- package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -18
- package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -26
- package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -2
- package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -2
- package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -2
- package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -8
- package/lib/components/form/radio-group/radio-group.component.d.ts +57 -57
- package/lib/components/form/radio-group/radio-group.module.d.ts +15 -15
- package/lib/components/form/rating/rating.component.d.ts +51 -51
- package/lib/components/form/rating/rating.enum.d.ts +27 -27
- package/lib/components/form/rating/rating.module.d.ts +9 -9
- package/lib/components/form/switch/switch.component.d.ts +32 -32
- package/lib/components/form/switch/switch.enum.d.ts +15 -15
- package/lib/components/form/switch/switch.module.d.ts +10 -10
- package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +21 -17
- package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
- package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
- package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
- package/lib/components/gallery/gallery.component.d.ts +38 -38
- package/lib/components/gallery/gallery.module.d.ts +16 -16
- package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
- package/lib/components/gallery/services/gallery.service.d.ts +14 -14
- package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
- package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
- package/lib/components/icon-button/icon-button.component.d.ts +19 -19
- package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
- package/lib/components/icon-button/icon-button.module.d.ts +9 -9
- package/lib/components/label/label.component.d.ts +44 -44
- package/lib/components/label/label.module.d.ts +14 -14
- package/lib/components/link/link.component.d.ts +18 -18
- package/lib/components/link/link.enum.d.ts +19 -19
- package/lib/components/link/link.module.d.ts +8 -8
- package/lib/components/loader/loader.component.d.ts +10 -10
- package/lib/components/loader/loader.enum.d.ts +19 -19
- package/lib/components/loader/loader.module.d.ts +8 -8
- package/lib/components/modal/modal.component.d.ts +36 -37
- package/lib/components/modal/modal.emun.d.ts +20 -20
- package/lib/components/modal/modal.module.d.ts +9 -9
- package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
- package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
- package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
- package/lib/components/paginator/paginator.component.d.ts +29 -29
- package/lib/components/paginator/paginator.enum.d.ts +10 -10
- package/lib/components/paginator/paginator.module.d.ts +10 -10
- package/lib/components/progress/progress.component.d.ts +10 -10
- package/lib/components/progress/progress.enum.d.ts +7 -7
- package/lib/components/progress/progress.module.d.ts +8 -8
- package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
- package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
- package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
- package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
- package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
- package/lib/components/save-state/save-state.component.d.ts +13 -13
- package/lib/components/save-state/save-state.enum.d.ts +1 -1
- package/lib/components/save-state/save-state.module.d.ts +13 -13
- package/lib/components/stepper/stepper.component.d.ts +17 -17
- package/lib/components/stepper/stepper.enum.d.ts +5 -5
- package/lib/components/stepper/stepper.module.d.ts +9 -9
- package/lib/components/table/components/column/column.component.d.ts +14 -14
- package/lib/components/table/default/default-pager-settings.d.ts +2 -2
- package/lib/components/table/models/data-state-change.event.d.ts +15 -15
- package/lib/components/table/models/index.d.ts +3 -3
- package/lib/components/table/models/pager-settings.d.ts +22 -22
- package/lib/components/table/table.component.d.ts +55 -55
- package/lib/components/table/table.enum.d.ts +32 -32
- package/lib/components/table/table.module.d.ts +14 -14
- package/lib/components/tabs/tab/tab.component.d.ts +13 -13
- package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
- package/lib/components/tabs/tabs.enum.d.ts +11 -11
- package/lib/components/tabs/tabs.module.d.ts +9 -9
- package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
- package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -15
- package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
- package/lib/components/tooltip/tooltip.component.d.ts +18 -18
- package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
- package/lib/components/tooltip/tooltip.module.d.ts +10 -10
- package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
- package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
- package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
- package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
- package/lib/components/warning-message/warning-message.component.d.ts +9 -9
- package/lib/components/warning-message/warning-message.module.d.ts +8 -8
- package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
- package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
- package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
- package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
- package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
- package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
- package/lib/directives/autosize/autosize.directive.d.ts +16 -16
- package/lib/directives/autosize/autosize.module.d.ts +8 -8
- package/lib/directives/truncate/truncate.directive.d.ts +12 -12
- package/lib/directives/truncate/truncate.module.d.ts +8 -8
- package/lib/enums/typed.input.state.d.ts +6 -6
- package/lib/helpers/extension/input-file.extension.d.ts +4 -4
- package/lib/helpers/formatting-date.d.ts +9 -9
- package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
- package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
- package/lib/helpers/index.d.ts +7 -7
- package/lib/helpers/number-format.d.ts +6 -6
- package/lib/helpers/string-hash-code.d.ts +2 -2
- package/lib/helpers/word-form.d.ts +7 -7
- package/lib/models/index.d.ts +2 -2
- package/lib/models/input-file/input-file.model.d.ts +22 -22
- package/lib/models/typed-input-model.d.ts +16 -16
- package/lib/pipes/currency/currency.module.d.ts +8 -8
- package/lib/pipes/currency/currency.pipe.d.ts +7 -7
- package/lib/pipes/date/date-format.module.d.ts +9 -9
- package/lib/pipes/date/date-format.pipe.d.ts +9 -9
- package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
- package/lib/pipes/date/enums/timezone.d.ts +8 -8
- package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
- package/lib/pipes/phone/phone-format.module.d.ts +8 -8
- package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
- package/lib/pipes/safe/safe.module.d.ts +8 -8
- package/lib/pipes/safe/safe.pipe.d.ts +10 -10
- package/lib/pipes/truncate/truncate.module.d.ts +8 -8
- package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
- package/lib/services/file-upload/file-upload.service.d.ts +12 -12
- package/lib/services/index.d.ts +6 -6
- package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +20 -0
- package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +21 -0
- package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
- package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
- package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
- package/lib/services/modal-service/helpers/modal.component.d.ts +4 -0
- package/lib/services/modal-service/modal-service.service.d.ts +20 -0
- package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
- package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
- package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -51
- package/lib/services/save-store/constants/constants.d.ts +1 -1
- package/lib/services/save-store/models/save-store.model.d.ts +4 -4
- package/lib/services/save-store/save-store.module.d.ts +9 -9
- package/lib/services/save-store/store/actions.d.ts +21 -21
- package/lib/services/save-store/store/effect.d.ts +10 -16
- package/lib/services/save-store/store/reducer.d.ts +3 -3
- package/lib/services/save-store/store/selectors.d.ts +3 -3
- package/lib/services/save-store/store/state.d.ts +11 -11
- package/package.json +29 -39
- package/public-api.d.ts +162 -175
- package/esm2020/lib/components/alert/alert.component.mjs +0 -45
- package/esm2020/lib/components/alert/alert.module.mjs +0 -19
- package/esm2020/lib/components/badges/badges.module.mjs +0 -32
- package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
- package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
- package/esm2020/lib/components/breadcrumbs/breadcrumbs.module.mjs +0 -27
- package/esm2020/lib/components/button/button.component.mjs +0 -102
- package/esm2020/lib/components/button/button.enum.mjs +0 -29
- package/esm2020/lib/components/button/button.module.mjs +0 -21
- package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
- package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
- package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +0 -21
- package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -26
- package/esm2020/lib/components/chars-left/chars-left.module.mjs +0 -19
- package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -121
- package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -343
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
- package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
- package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
- package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
- package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
- package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
- package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
- package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
- package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
- package/esm2020/lib/components/dropdown/dropdown.module.mjs +0 -21
- package/esm2020/lib/components/error-message/error-message.component.mjs +0 -34
- package/esm2020/lib/components/error-message/error-message.module.mjs +0 -19
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -150
- package/esm2020/lib/components/form/checkbox/checkbox.module.mjs +0 -22
- package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -178
- package/esm2020/lib/components/form/checkbox-group/checkbox-group.module.mjs +0 -49
- package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -103
- package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
- package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
- package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
- package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
- package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
- package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
- package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
- package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -44
- package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
- package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
- package/esm2020/lib/components/form/editor/editor.component.mjs +0 -240
- package/esm2020/lib/components/form/editor/editor.module.mjs +0 -47
- package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
- package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
- package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
- package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -381
- package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -48
- package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
- package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
- package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
- package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -354
- package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -48
- package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -362
- package/esm2020/lib/components/form/input-file/input-file.module.mjs +0 -26
- package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
- package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -354
- package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -60
- package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -258
- package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -57
- package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -361
- package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
- package/esm2020/lib/components/form/input-opt/input-opt.module.mjs +0 -40
- package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -119
- package/esm2020/lib/components/form/input-password/input-password.module.mjs +0 -38
- package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
- package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
- package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
- package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -52
- package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
- package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -166
- package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -43
- package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -243
- package/esm2020/lib/components/form/input-select/input-select.module.mjs +0 -47
- package/esm2020/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -62
- package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +0 -389
- package/esm2020/lib/components/form/input-tel/input-tel.module.mjs +0 -49
- package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -188
- package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -51
- package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -195
- package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -50
- package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
- package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
- package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -48
- package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
- package/esm2020/lib/components/form/radio/radio.module.mjs +0 -20
- package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -46
- package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -63
- package/esm2020/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
- package/esm2020/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
- package/esm2020/lib/components/form/radio-group/radio-group.component.mjs +0 -175
- package/esm2020/lib/components/form/radio-group/radio-group.module.mjs +0 -26
- package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
- package/esm2020/lib/components/form/rating/rating.module.mjs +0 -27
- package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
- package/esm2020/lib/components/form/switch/switch.module.mjs +0 -21
- package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
- package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
- package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
- package/esm2020/lib/components/gallery/gallery.module.mjs +0 -56
- package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
- package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
- package/esm2020/lib/components/hint-error-message/hint-error-message.module.mjs +0 -19
- package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
- package/esm2020/lib/components/icon-button/icon-button.module.mjs +0 -19
- package/esm2020/lib/components/label/label.component.mjs +0 -141
- package/esm2020/lib/components/label/label.module.mjs +0 -25
- package/esm2020/lib/components/link/link.component.mjs +0 -50
- package/esm2020/lib/components/link/link.module.mjs +0 -19
- package/esm2020/lib/components/loader/loader.component.mjs +0 -26
- package/esm2020/lib/components/loader/loader.module.mjs +0 -19
- package/esm2020/lib/components/modal/modal.component.mjs +0 -146
- package/esm2020/lib/components/modal/modal.module.mjs +0 -20
- package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
- package/esm2020/lib/components/pages-nav/pages-nav.module.mjs +0 -26
- package/esm2020/lib/components/paginator/paginator.component.mjs +0 -142
- package/esm2020/lib/components/paginator/paginator.module.mjs +0 -33
- package/esm2020/lib/components/progress/progress.component.mjs +0 -26
- package/esm2020/lib/components/progress/progress.module.mjs +0 -19
- package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
- package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
- package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
- package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
- package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
- package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
- package/esm2020/lib/components/save-state/save-state.module.mjs +0 -39
- package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
- package/esm2020/lib/components/stepper/stepper.module.mjs +0 -20
- package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
- package/esm2020/lib/components/table/table.component.mjs +0 -274
- package/esm2020/lib/components/table/table.module.mjs +0 -52
- package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
- package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
- package/esm2020/lib/components/tabs/tabs.module.mjs +0 -20
- package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
- package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -38
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +0 -21
- package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
- package/esm2020/lib/components/truncate-text/truncate-text.module.mjs +0 -21
- package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
- package/esm2020/lib/components/warning-message/warning-message.module.mjs +0 -19
- package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
- package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +0 -19
- package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
- package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
- package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +0 -20
- package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
- package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +0 -26
- package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
- package/esm2020/lib/directives/autosize/autosize.module.mjs +0 -26
- package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
- package/esm2020/lib/directives/truncate/truncate.module.mjs +0 -18
- package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
- package/esm2020/lib/helpers/formatting-date.mjs +0 -51
- package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
- package/esm2020/lib/pipes/currency/currency.module.mjs +0 -22
- package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
- package/esm2020/lib/pipes/date/date-format.module.mjs +0 -19
- package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
- package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
- package/esm2020/lib/pipes/phone/phone-format.module.mjs +0 -18
- package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
- package/esm2020/lib/pipes/safe/safe.module.mjs +0 -22
- package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
- package/esm2020/lib/pipes/truncate/truncate.module.mjs +0 -22
- package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
- package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
- package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
- package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -283
- package/esm2020/lib/services/save-store/save-store.module.mjs +0 -31
- package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
- package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
- package/esm2020/public-api.mjs +0 -185
- package/fesm2015/myrta-ui.mjs +0 -16173
- package/fesm2015/myrta-ui.mjs.map +0 -1
- package/fesm2020/myrta-ui.mjs +0 -16212
- package/fesm2020/myrta-ui.mjs.map +0 -1
- package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
- package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
- package/lib/components/context-menu/context-menu.module.d.ts +0 -15
- package/lib/components/context-menu/context-menu.options.d.ts +0 -4
- package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
- package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
- package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
- package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
- package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
- package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
- package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
- package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
- package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
- package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
- package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { GalleryConfirmModalComponent } from '../gallery-confirm-modal/gallery-confirm-modal.component';
|
|
3
|
+
import { autosaveAddId, autosaveErrorFor, autosaveStartFor, autosaveSuccessFor, MrxAutosaveService, selectFields } from '../../../../services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/gallery.service";
|
|
6
|
+
import * as i2 from "../../../../services/modal-service/modal-service.service";
|
|
7
|
+
import * as i3 from "@ngrx/store";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@angular/forms";
|
|
10
|
+
import * as i6 from "../../../form/input-textarea/input-textarea.component";
|
|
11
|
+
import * as i7 from "../../../loader/loader.component";
|
|
12
|
+
export class GalleryItemComponent {
|
|
13
|
+
_galleryService;
|
|
14
|
+
_modalService;
|
|
15
|
+
_store;
|
|
16
|
+
timeStamp = (new Date()).getTime();
|
|
17
|
+
isLoading = false;
|
|
18
|
+
_timer;
|
|
19
|
+
fields$;
|
|
20
|
+
preview;
|
|
21
|
+
index;
|
|
22
|
+
isEditing = false;
|
|
23
|
+
descriptionMaxLength = 0;
|
|
24
|
+
deleteEndPoint;
|
|
25
|
+
updateEndPoint;
|
|
26
|
+
rotateSlides = [];
|
|
27
|
+
set setIsLoading(value) {
|
|
28
|
+
this.isLoading = value;
|
|
29
|
+
this.timeStamp = (new Date()).getTime();
|
|
30
|
+
}
|
|
31
|
+
openGalleryModal = new EventEmitter();
|
|
32
|
+
deletePhoto = new EventEmitter();
|
|
33
|
+
updatePhoto = new EventEmitter();
|
|
34
|
+
constructor(_galleryService, _modalService, _store) {
|
|
35
|
+
this._galleryService = _galleryService;
|
|
36
|
+
this._modalService = _modalService;
|
|
37
|
+
this._store = _store;
|
|
38
|
+
this.fields$ = this._store.select(selectFields);
|
|
39
|
+
}
|
|
40
|
+
getImageUrl() {
|
|
41
|
+
return this.preview.previewUrl + '?' + this.timeStamp;
|
|
42
|
+
}
|
|
43
|
+
get yandexCheckUrl() {
|
|
44
|
+
return `https://yandex.ru/images/search?source=collections&rpt=imageview&url=${this.preview.url}`;
|
|
45
|
+
}
|
|
46
|
+
get googleCheckUrl() {
|
|
47
|
+
return `https://lens.google.com/uploadbyurl?url=${this.preview.url}`;
|
|
48
|
+
}
|
|
49
|
+
get isLoadingImage() {
|
|
50
|
+
return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);
|
|
51
|
+
}
|
|
52
|
+
onOpenGalleryModal() {
|
|
53
|
+
this.openGalleryModal.emit(this.index);
|
|
54
|
+
}
|
|
55
|
+
deleteImage() {
|
|
56
|
+
this._modalService.open(GalleryConfirmModalComponent, {
|
|
57
|
+
title: 'УДАЛЕНИЕ ДАННЫХ',
|
|
58
|
+
message: 'Вы уверены, что хотите удалить файл?'
|
|
59
|
+
})
|
|
60
|
+
.afterClosed()
|
|
61
|
+
.subscribe((res) => {
|
|
62
|
+
if (res.result) {
|
|
63
|
+
this._galleryService.delete(this.deleteEndPoint, this.preview.uuid).subscribe(res => {
|
|
64
|
+
this.deletePhoto.emit(res);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
changeDescription(obj) {
|
|
70
|
+
clearTimeout(this._timer);
|
|
71
|
+
this._store.dispatch(autosaveAddId({ id: obj.id }));
|
|
72
|
+
this._store.dispatch(autosaveStartFor({ id: obj.id }));
|
|
73
|
+
this._timer = setTimeout(() => {
|
|
74
|
+
this._galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {
|
|
75
|
+
this.updatePhoto.emit(res);
|
|
76
|
+
this._store.dispatch(autosaveSuccessFor({ id: obj.id }));
|
|
77
|
+
}, () => {
|
|
78
|
+
this._store.dispatch(autosaveErrorFor({ id: obj.id }));
|
|
79
|
+
});
|
|
80
|
+
}, 1500);
|
|
81
|
+
}
|
|
82
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryItemComponent, deps: [{ token: i1.GalleryService }, { token: i2.ModalService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, providers: [MrxAutosaveService], ngImport: i0, template: "<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", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: i7.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryItemComponent, decorators: [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MrxAutosaveService], template: "<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", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
|
|
88
|
+
}], ctorParameters: () => [{ type: i1.GalleryService }, { type: i2.ModalService }, { type: i3.Store }], propDecorators: { preview: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], index: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], isEditing: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], descriptionMaxLength: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], deleteEndPoint: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], updateEndPoint: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], rotateSlides: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], setIsLoading: [{
|
|
103
|
+
type: Input,
|
|
104
|
+
args: ['isLoading']
|
|
105
|
+
}], openGalleryModal: [{
|
|
106
|
+
type: Output
|
|
107
|
+
}], deletePhoto: [{
|
|
108
|
+
type: Output
|
|
109
|
+
}], updatePhoto: [{
|
|
110
|
+
type: Output
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsYUFBYSxFQUFFLGdCQUFnQixFQUMvQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLGtCQUFrQixFQUNsQixZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBWTlCLE1BQU0sT0FBTyxvQkFBb0I7SUF5QnJCO0lBQ0E7SUFDQTtJQTFCRixTQUFTLEdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixNQUFNLENBQWlDO0lBRXhDLE9BQU8sQ0FBdUI7SUFFNUIsT0FBTyxDQUFvQjtJQUMzQixLQUFLLENBQVU7SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUN6QixjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBRWxELElBQXdC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QUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekQsQ0FBQyxFQUFFLEdBQUcsRUFBRTtnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0FqRlUsb0JBQW9COzRGQUFwQixvQkFBb0IsMlpBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDckJqQyxpeklBMERBOzs0RkRuQ2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsa0JBQWtCLENBQUM7a0lBU3RCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFLUixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdhbGxlcnlJdGVtTW9kZWwsIEdhbGxlcnlSb3RhdGVTbGlkZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FsbGVyeS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgR2FsbGVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHYWxsZXJ5Q29uZmlybU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2FsbGVyeS1jb25maXJtLW1vZGFsL2dhbGxlcnktY29uZmlybS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIGF1dG9zYXZlQWRkSWQsIGF1dG9zYXZlRXJyb3JGb3IsXHJcbiAgYXV0b3NhdmVTdGFydEZvcixcclxuICBhdXRvc2F2ZVN1Y2Nlc3NGb3IsXHJcbiAgRmllbGQsXHJcbiAgTXJ4QXV0b3NhdmVTZXJ2aWNlLFxyXG4gIHNlbGVjdEZpZWxkc1xyXG59IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZ2FsbGVyeS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtNcnhBdXRvc2F2ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHYWxsZXJ5SXRlbUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSB0aW1lU3RhbXA6IG51bWJlciA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgcHJpdmF0ZSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF90aW1lciE6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xyXG5cclxuICBwdWJsaWMgZmllbGRzJCE6IE9ic2VydmFibGU8RmllbGRbXT47XHJcblxyXG4gIEBJbnB1dCgpIHByZXZpZXchOiBHYWxsZXJ5SXRlbU1vZGVsO1xyXG4gIEBJbnB1dCgpIGluZGV4ITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGlzRWRpdGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uTWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBkZWxldGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1cGRhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSByb3RhdGVTbGlkZXM6IEdhbGxlcnlSb3RhdGVTbGlkZXNbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoJ2lzTG9hZGluZycpIHNldCBzZXRJc0xvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLnRpbWVTdGFtcCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3BlbkdhbGxlcnlNb2RhbDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2dhbGxlcnlTZXJ2aWNlOiBHYWxsZXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmZpZWxkcyQgPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc2VsZWN0RmllbGRzKTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3LnByZXZpZXdVcmwgKyAnPycgKyB0aGlzLnRpbWVTdGFtcDtcclxuICB9XHJcblxyXG4gIGdldCB5YW5kZXhDaGVja1VybCgpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly95YW5kZXgucnUvaW1hZ2VzL3NlYXJjaD9zb3VyY2U9Y29sbGVjdGlvbnMmcnB0PWltYWdldmlldyZ1cmw9JHt0aGlzLnByZXZpZXcudXJsfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgZ29vZ2xlQ2hlY2tVcmwoKSB7XHJcbiAgICByZXR1cm4gYGh0dHBzOi8vbGVucy5nb29nbGUuY29tL3VwbG9hZGJ5dXJsP3VybD0ke3RoaXMucHJldmlldy51cmx9YDtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmdJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyAmJiAhIXRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHRoaXMucHJldmlldy5wcmV2aWV3SW1hZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5HYWxsZXJ5TW9kYWwoKSB7XHJcbiAgICB0aGlzLm9wZW5HYWxsZXJ5TW9kYWwuZW1pdCh0aGlzLmluZGV4KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUltYWdlKCkge1xyXG4gICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB0aXRsZTogJ9Cj0JTQkNCb0JXQndCY0JUg0JTQkNCd0J3Qq9ClJyxcclxuICAgICAgbWVzc2FnZTogJ9CS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0YTQsNC50Ls/J1xyXG4gICAgfSlcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuX2dhbGxlcnlTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50LCB0aGlzLnByZXZpZXcudXVpZCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlUGhvdG8uZW1pdChyZXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZURlc2NyaXB0aW9uKG9iajogYW55KSB7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdGltZXIpO1xyXG5cclxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGF1dG9zYXZlQWRkSWQoe2lkOiBvYmouaWR9KSk7XHJcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN0YXJ0Rm9yKHtpZDogb2JqLmlkfSkpO1xyXG5cclxuICAgIHRoaXMuX3RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2dhbGxlcnlTZXJ2aWNlLnVwZGF0ZSh0aGlzLnVwZGF0ZUVuZFBvaW50LCB0aGlzLnByZXZpZXcudXVpZCwgb2JqLnZhbHVlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN1Y2Nlc3NGb3Ioe2lkOiBvYmouaWR9KSk7XHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUVycm9yRm9yKHtpZDogb2JqLmlkfSkpO1xyXG4gICAgICB9KTtcclxuICAgIH0sIDE1MDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3XCIgKGNsaWNrKT1cIm9uT3BlbkdhbGxlcnlNb2RhbCgpXCI+XHJcblxyXG4gICAgPGltZyBbc3JjXT1cImdldEltYWdlVXJsKClcIiBbYWx0XT1cInByZXZpZXcuaW1hZ2VOYW1lIHx8ICdpbWFnZSdcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZTsgZWxzZSBza2VsZXRvblRlbXBsYXRlXCI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvblRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgPG1yeC1sb2FkZXIgc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1vdmVybGF5XCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2VcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc1wiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cInlhbmRleENoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjM0Nl8xMjA3NilcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDMxIDE1Ljk4MzhDMTIuNDA5NiAxNS45ODM4IDE1Ljk4NCAxMi40MDkzIDE1Ljk4NCA4LjAwMDA2QzE1Ljk4NCAzLjU5MDc4IDEyLjQwOTYgMC4wMTYzNTc0IDguMDAwMzEgMC4wMTYzNTc0QzMuNTkxMDMgMC4wMTYzNTc0IDAuMDE2NjAxNiAzLjU5MDc4IDAuMDE2NjAxNiA4LjAwMDA2QzAuMDE2NjAxNiAxMi40MDkzIDMuNTkxMDMgMTUuOTgzOCA4LjAwMDMxIDE1Ljk4MzhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjg4OTMgMTMuMDExOEg5LjEzNjdWNC4zNDM2MUg4LjM1NTk2QzYuOTI0ODQgNC4zNDM2MSA2LjE3NTIxIDUuMDU5MTYgNi4xNzUyMSA2LjEyNzMxQzYuMTc1MjEgNy4zMzkxNiA2LjY5MjI1IDcuOTAwNjUgNy43NjE4OCA4LjYxNjJMOC42NDMzNiA5LjIxMDI4TDYuMTEwMDMgMTMuMDEwM0g0LjIyNTU5TDYuNTA1NTkgOS42MTc2OEM1LjE5NDQ3IDguNjgxMzkgNC40NTY3IDcuNzY3MzEgNC40NTY3IDYuMjI1MDlDNC40NTY3IDQuMjk3NjggNS44MDA0IDIuOTg2NTcgOC4zNDQxIDIuOTg2NTdIMTAuODc3NFYxMy4wMDg4SDEwLjg4OTNWMTMuMDExOFpcIiBmaWxsPVwiI0ZDM0YxRFwiLz5cclxuICAgICAgICAgIDwvZz5cclxuICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjM0Nl8xMjA3NlwiPlxyXG4gICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG5cclxuICAgICAgPGEgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzLS1pY29uXCIgW2hyZWZdPVwiZ29vZ2xlQ2hlY2tVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjEgNC44OTAxSDExLjA5OTdWNC44NjY1OUg1Ljk5OTY3VjcuMTMzMjVIOS4yMDIxOUM4LjczNDk3IDguNDUyNzMgNy40Nzk1MiA5LjM5OTkyIDUuOTk5NjcgOS4zOTk5MkM0LjEyMjAyIDkuMzk5OTIgMi41OTk2NyA3Ljg3NzU3IDIuNTk5NjcgNS45OTk5MkMyLjU5OTY3IDQuMTIyMjcgNC4xMjIwMiAyLjU5OTkyIDUuOTk5NjcgMi41OTk5MkM2Ljg2NjM5IDIuNTk5OTIgNy42NTQ5MSAyLjkyNjg5IDguMjU1MjkgMy40NjA5N0w5Ljg1ODExIDEuODU4MTVDOC44NDYwNCAwLjkxNDkzNSA3LjQ5MjI3IDAuMzMzMjUyIDUuOTk5NjcgMC4zMzMyNTJDMi44NzAyNiAwLjMzMzI1MiAwLjMzMzAwOCAyLjg3MDUgMC4zMzMwMDggNS45OTk5MkMwLjMzMzAwOCA5LjEyOTM0IDIuODcwMjYgMTEuNjY2NiA1Ljk5OTY3IDExLjY2NjZDOS4xMjkwOSAxMS42NjY2IDExLjY2NjMgOS4xMjkzNCAxMS42NjYzIDUuOTk5OTJDMTEuNjY2MyA1LjYxOTk3IDExLjYyNzIgNS4yNDkwOSAxMS41NTYxIDQuODkwMVpcIiBmaWxsPVwiI0ZCQzAyRFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMC45ODczMDUgMy4zNjIzN0wyLjg0OTA5IDQuNzI3NzVDMy4zNTI4NSAzLjQ4MDUyIDQuNTcyODkgMi41OTk5MiA2LjAwMDYgMi41OTk5MkM2Ljg2NzMyIDIuNTk5OTIgNy42NTU4NCAyLjkyNjg5IDguMjU2MjIgMy40NjA5N0w5Ljg1OTA0IDEuODU4MTVDOC44NDY5NyAwLjkxNDkzNSA3LjQ5MzIgMC4zMzMyNTIgNi4wMDA2IDAuMzMzMjUyQzMuODI0MDQgMC4zMzMyNTIgMS45MzY0NyAxLjU2MjA3IDAuOTg3MzA1IDMuMzYyMzdaXCIgZmlsbD1cIiNFNTM5MzVcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwOCAxMS42NjY1QzcuNDY0NSAxMS42NjY1IDguNzk0NDcgMTEuMTA2MyA5LjgwMDAyIDEwLjE5NTRMOC4wNDYxOSA4LjcxMTNDNy40NzcyNSA5LjE0MjI1IDYuNzcwMDUgOS4zOTk4IDYuMDAwOCA5LjM5OThDNC41MjY5IDkuMzk5OCAzLjI3NTQyIDguNDU5OTkgMi44MDM5NSA3LjE0ODQ0TDAuOTU2MDU1IDguNTcyMTlDMS44OTM4OSAxMC40MDczIDMuNzk4NDUgMTEuNjY2NSA2LjAwMDggMTEuNjY2NVpcIiBmaWxsPVwiIzRDQUY1MFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTU2NCA0Ljg4OTk3TDExLjU1MTkgNC44NjY0NkgxMS4xSDZWNy4xMzMxMkg5LjIwMjUyQzguOTc4MTIgNy43NjY5NCA4LjU3MDQgOC4zMTM0OSA4LjA0NDUzIDguNzExNTdDOC4wNDQ4MiA4LjcxMTI5IDguMDQ1MSA4LjcxMTI5IDguMDQ1MzggOC43MTEwMUw5Ljc5OTIyIDEwLjE5NTFDOS42NzUxMiAxMC4zMDc5IDExLjY2NjcgOC44MzMxMiAxMS42NjY3IDUuOTk5NzlDMTEuNjY2NyA1LjYxOTg0IDExLjYyNzYgNS4yNDg5NiAxMS41NTY0IDQuODg5OTdaXCIgZmlsbD1cIiMxNTY1QzBcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzX19idXR0b24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJpc0VkaXRpbmdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTYgdGV4dC1ib2xkXCIgKGNsaWNrKT1cImRlbGV0ZUltYWdlKClcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX2Rlc2NyaXB0aW9uXCI+XHJcbiAgICA8bXJ4LWlucHV0LXRleHRhcmVhXHJcbiAgICAgICpuZ0lmPVwiaXNFZGl0aW5nOyBlbHNlIHRleHRUZW1wbGF0ZVwiXHJcbiAgICAgIFtmaWVsZHNdPVwiKGZpZWxkcyQgfCBhc3luYykhXCJcclxuICAgICAgW25nTW9kZWxdPVwicHJldmlldy5kZXNjcmlwdGlvblwiXHJcbiAgICAgIFthdXRvc2l6ZV09XCJmYWxzZVwiXHJcbiAgICAgIFtyb3dzXT1cIjJcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cImRlc2NyaXB0aW9uTWF4TGVuZ3RoXCJcclxuICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZURlc2NyaXB0aW9uKCRldmVudClcIlxyXG4gICAgPjwvbXJ4LWlucHV0LXRleHRhcmVhPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgICB7eyBwcmV2aWV3LmRlc2NyaXB0aW9uIH19XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export const customButtonsDefault = {};
|
|
2
|
-
export const customToolbarDefault = {
|
|
3
|
-
left: ['infobar'],
|
|
4
|
-
middle: [],
|
|
5
|
-
right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],
|
|
6
|
-
};
|
|
1
|
+
export const customButtonsDefault = {};
|
|
2
|
+
export const customToolbarDefault = {
|
|
3
|
+
left: ['infobar'],
|
|
4
|
+
middle: [],
|
|
5
|
+
right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],
|
|
6
|
+
};
|
|
7
7
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJ1dHRvbnMtZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbnN0YW50cy9jdXN0b20tYnV0dG9ucy1kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQixFQUVyRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQW1EO0lBQ2xGLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUNqQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ3BGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFRvb2xiYXJJdGVtS2V5LFxyXG4gIFRvb2xiYXJJdGVtc1R5cGUsXHJcbiAgVG9vbGJhclBvc2l0aW9uXHJcbn0gZnJvbSAnbXJ4LWdhbGxlcnktbGliL3R5cGVzL0ZhbmN5Ym94L3BsdWdpbnMvVG9vbGJhci9Ub29sYmFyJztcclxuXHJcbmV4cG9ydCBjb25zdCBjdXN0b21CdXR0b25zRGVmYXVsdDogVG9vbGJhckl0ZW1zVHlwZSA9IHtcclxuXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY3VzdG9tVG9vbGJhckRlZmF1bHQ6IFJlY29yZDxUb29sYmFyUG9zaXRpb24sIEFycmF5PFRvb2xiYXJJdGVtS2V5Pj4gPSB7XHJcbiAgbGVmdDogWydpbmZvYmFyJ10sXHJcbiAgbWlkZGxlOiBbXSxcclxuICByaWdodDogWydyb3RhdGVMZWZ0JywgJ3JvdGF0ZVJpZ2h0JywgJ2l0ZXJhdGVab29tJywgJ3NsaWRlc2hvdycsICd0aHVtYnMnLCAnY2xvc2UnXSxcclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const thumbsConfigDefault = {
|
|
2
|
-
type: 'modern',
|
|
3
|
-
showOnStart: false,
|
|
4
|
-
};
|
|
1
|
+
export const thumbsConfigDefault = {
|
|
2
|
+
type: 'modern',
|
|
3
|
+
showOnStart: false,
|
|
4
|
+
};
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJzLWNvbmZpZy1kZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2dhbGxlcnkvY29uc3RhbnRzL3RodW1icy1jb25maWctZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBeUM7SUFDdkUsSUFBSSxFQUFFLFFBQVE7SUFDZCxXQUFXLEVBQUUsS0FBSztDQUNuQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh1bWJzT3B0aW9uc1R5cGUgfSBmcm9tICdtcngtZ2FsbGVyeS1saWInO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRodW1ic0NvbmZpZ0RlZmF1bHQ6IEJvb2xlYW4gfCBQYXJ0aWFsPFRodW1ic09wdGlvbnNUeXBlPiA9IHtcclxuICB0eXBlOiAnbW9kZXJuJyxcclxuICBzaG93T25TdGFydDogZmFsc2UsXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Fancybox } from 'mrx-gallery-lib';
|
|
3
|
+
import { customToolbarDefault } from './constants/custom-buttons-default';
|
|
4
|
+
import { thumbsConfigDefault } from './constants/thumbs-config-default';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./services/gallery.service";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "../button/button.component";
|
|
9
|
+
import * as i4 from "./components/gallery-item/gallery-item.component";
|
|
10
|
+
export class GalleryComponent {
|
|
11
|
+
galleryService;
|
|
12
|
+
timeStamp = (new Date()).getTime();
|
|
13
|
+
rotateSlides = [];
|
|
14
|
+
isLoading = false;
|
|
15
|
+
isExpanded = false;
|
|
16
|
+
data = [];
|
|
17
|
+
isExpandable = true;
|
|
18
|
+
customClasses = '';
|
|
19
|
+
rotateEndPoint;
|
|
20
|
+
deleteEndPoint;
|
|
21
|
+
updateEndPoint;
|
|
22
|
+
isEditing = false;
|
|
23
|
+
isSaveRotate = true;
|
|
24
|
+
descriptionMaxLength = 0;
|
|
25
|
+
thumbsConfig;
|
|
26
|
+
toolbarConfig;
|
|
27
|
+
deletePhoto = new EventEmitter();
|
|
28
|
+
updatePhoto = new EventEmitter();
|
|
29
|
+
defaultConfig = {};
|
|
30
|
+
constructor(galleryService) {
|
|
31
|
+
this.galleryService = galleryService;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (this.isExpandable) {
|
|
35
|
+
this.isExpanded = false;
|
|
36
|
+
}
|
|
37
|
+
if (this.thumbsConfig) {
|
|
38
|
+
this.defaultConfig.Thumbs = this.thumbsConfig;
|
|
39
|
+
}
|
|
40
|
+
if (this.toolbarConfig) {
|
|
41
|
+
this.defaultConfig.Toolbar = this.toolbarConfig;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
get getClasses() {
|
|
45
|
+
return `${this.customClasses}`;
|
|
46
|
+
}
|
|
47
|
+
get isShowMore() {
|
|
48
|
+
return this.data.length > 8;
|
|
49
|
+
}
|
|
50
|
+
get getData() {
|
|
51
|
+
if (this.isExpandable && !this.isExpanded) {
|
|
52
|
+
return this.data.slice(0, 8);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return this.data;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
get getSlides() {
|
|
59
|
+
return this.data.map((slide) => {
|
|
60
|
+
return {
|
|
61
|
+
src: slide.url + '?' + this.timeStamp,
|
|
62
|
+
thumb: slide.previewUrl,
|
|
63
|
+
caption: slide.description,
|
|
64
|
+
uuid: slide.uuid,
|
|
65
|
+
imageName: slide.imageName,
|
|
66
|
+
previewImageId: slide.previewImageId
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
get getIsExpanded() {
|
|
71
|
+
return this.isExpanded;
|
|
72
|
+
}
|
|
73
|
+
changeExpanded() {
|
|
74
|
+
this.isExpanded = !this.isExpanded;
|
|
75
|
+
}
|
|
76
|
+
trackByFn(index, item) {
|
|
77
|
+
return item.id;
|
|
78
|
+
}
|
|
79
|
+
openGalleryModal(id) {
|
|
80
|
+
new Fancybox(this.getSlides, {
|
|
81
|
+
startIndex: id,
|
|
82
|
+
compact: false,
|
|
83
|
+
hideScrollbar: false,
|
|
84
|
+
Carousel: {},
|
|
85
|
+
Thumbs: thumbsConfigDefault,
|
|
86
|
+
on: {
|
|
87
|
+
close: (fancy, event) => {
|
|
88
|
+
if (this.rotateSlides.length) {
|
|
89
|
+
this.galleryService.rotate(this.rotateSlides, this.rotateEndPoint).subscribe(res => {
|
|
90
|
+
this.isLoading = true;
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
this.isLoading = false;
|
|
93
|
+
this.rotateSlides.length = 0;
|
|
94
|
+
this.timeStamp = (new Date()).getTime();
|
|
95
|
+
}, 1000);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
Toolbar: {
|
|
101
|
+
items: {
|
|
102
|
+
rotateLeft: {
|
|
103
|
+
tpl: `
|
|
104
|
+
<button title="Rotate counterclockwise" class="f-button">
|
|
105
|
+
<svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
106
|
+
<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">
|
|
107
|
+
</path>
|
|
108
|
+
</svg>
|
|
109
|
+
</button>
|
|
110
|
+
`,
|
|
111
|
+
click: (a) => {
|
|
112
|
+
const slide = a.instance.getSlide();
|
|
113
|
+
if (!slide)
|
|
114
|
+
return;
|
|
115
|
+
const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);
|
|
116
|
+
if (foundRotateSlide) {
|
|
117
|
+
this.rotateSlides = this.rotateSlides.map((s) => {
|
|
118
|
+
if (s.previewImageId === foundRotateSlide.previewImageId) {
|
|
119
|
+
s.rotate = s.rotate === -270 ? 0 : s.rotate - 90;
|
|
120
|
+
}
|
|
121
|
+
return s;
|
|
122
|
+
}).filter((s) => s.rotate !== 0);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.rotateSlides.push({
|
|
126
|
+
previewImageId: slide.previewImageId,
|
|
127
|
+
rotate: -90
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
slide.panzoom?.rotateCCW();
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
rotateRight: {
|
|
134
|
+
tpl: `
|
|
135
|
+
<button title="Rotate clockwise" class="f-button">
|
|
136
|
+
<svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
137
|
+
<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">
|
|
138
|
+
</path>
|
|
139
|
+
</svg>
|
|
140
|
+
</button>
|
|
141
|
+
`,
|
|
142
|
+
click: (a) => {
|
|
143
|
+
const slide = a.instance.getSlide();
|
|
144
|
+
if (!slide)
|
|
145
|
+
return;
|
|
146
|
+
const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);
|
|
147
|
+
if (foundRotateSlide) {
|
|
148
|
+
this.rotateSlides = this.rotateSlides.map((s) => {
|
|
149
|
+
if (s.previewImageId === foundRotateSlide.previewImageId) {
|
|
150
|
+
s.rotate = s.rotate === 270 ? 0 : s.rotate + 90;
|
|
151
|
+
}
|
|
152
|
+
return s;
|
|
153
|
+
}).filter((s) => s.rotate !== 0);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this.rotateSlides.push({
|
|
157
|
+
previewImageId: slide.previewImageId,
|
|
158
|
+
rotate: 90
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
slide.panzoom?.rotateCW();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
display: customToolbarDefault,
|
|
166
|
+
},
|
|
167
|
+
...this.defaultConfig
|
|
168
|
+
}, {});
|
|
169
|
+
}
|
|
170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryComponent, deps: [{ token: i1.GalleryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GalleryComponent, selector: "mrx-gallery", inputs: { data: "data", isExpandable: "isExpandable", customClasses: "customClasses", rotateEndPoint: "rotateEndPoint", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", isEditing: "isEditing", isSaveRotate: "isSaveRotate", descriptionMaxLength: "descriptionMaxLength", thumbsConfig: "thumbsConfig", toolbarConfig: "toolbarConfig" }, outputs: { deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<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 ? '\u0421\u043A\u0440\u044B\u0442\u044C' : '\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438' }}\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", styles: ["::ng-deep :root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}::ng-deep .f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}::ng-deep .f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}::ng-deep .f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}::ng-deep .f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}::ng-deep .f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}::ng-deep .f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}::ng-deep .f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}::ng-deep .f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}::ng-deep .f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}::ng-deep .f-fadeIn{animation:var(--f-transition-duration, .2s) ease both f-fadeIn;z-index:2}::ng-deep .f-fadeOut{animation:var(--f-transition-duration, .2s) ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}::ng-deep .f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}::ng-deep .f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}::ng-deep .f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}::ng-deep .f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}::ng-deep .f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}::ng-deep .f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}::ng-deep .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}::ng-deep .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}::ng-deep .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}::ng-deep .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}::ng-deep .f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}::ng-deep .f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}::ng-deep .f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}::ng-deep .f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}::ng-deep :root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}::ng-deep .f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){::ng-deep .f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}::ng-deep .f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}::ng-deep .f-button:focus:not(:focus-visible){outline:none}::ng-deep .f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}::ng-deep .f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}::ng-deep .f-button[disabled]{cursor:default}::ng-deep .f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}::ng-deep .f-carousel__nav .f-button.is-prev,::ng-deep .f-carousel__nav .f-button.is-next,::ng-deep .fancybox__nav .f-button.is-prev,::ng-deep .fancybox__nav .f-button.is-next{position:absolute;z-index:1}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev svg,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}::ng-deep html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}::ng-deep html.with-fancybox body{touch-action:none}::ng-deep html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}::ng-deep .fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}::ng-deep .fancybox__container *,::ng-deep .fancybox__container *:before,::ng-deep .fancybox__container *:after{box-sizing:inherit}::ng-deep .fancybox__container::backdrop{background-color:#0000}::ng-deep .fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}::ng-deep .fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}::ng-deep .fancybox__viewport{width:100%;height:100%}::ng-deep .fancybox__viewport.is-draggable{cursor:move;cursor:grab}::ng-deep .fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}::ng-deep .fancybox__track{display:flex;margin:0 auto;height:100%}::ng-deep .fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}::ng-deep .fancybox__slide.has-iframe,::ng-deep .fancybox__slide.has-video,::ng-deep .fancybox__slide.has-html5video{overflow:hidden}::ng-deep .fancybox__slide.has-image{overflow:hidden}::ng-deep .fancybox__slide.has-image.is-animating,::ng-deep .fancybox__slide.has-image.is-selected{overflow:visible}::ng-deep .fancybox__slide:before,::ng-deep .fancybox__slide:after{content:\"\";flex:0 0 0;margin:auto}::ng-deep .fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}::ng-deep .is-loading .fancybox__content{opacity:0}::ng-deep .is-draggable .fancybox__content{cursor:move;cursor:grab}::ng-deep .can-zoom_in .fancybox__content{cursor:zoom-in}::ng-deep .can-zoom_out .fancybox__content{cursor:zoom-out}::ng-deep .is-dragging .fancybox__content{cursor:move;cursor:grabbing}::ng-deep .fancybox__content [data-selectable],::ng-deep .fancybox__content [contenteditable]{cursor:auto}::ng-deep .fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}::ng-deep .is-zooming-in .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content,::ng-deep .is-zooming-out .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content{visibility:hidden}::ng-deep .is-animating .fancybox__content,::ng-deep .is-dragging .fancybox__content{filter:blur(0px);will-change:transform,width,height}::ng-deep .fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}::ng-deep .is-loading .fancybox__caption,::ng-deep .is-closing .fancybox__caption{opacity:0;visibility:hidden}::ng-deep .is-compact .fancybox__caption{padding-bottom:0}::ng-deep .f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}::ng-deep .fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}::ng-deep .is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .fancybox__content>.f-button.is-close-btn:hover{opacity:1}::ng-deep .fancybox__footer{padding:0;margin:0;position:relative}::ng-deep .fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}::ng-deep .is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}::ng-deep .is-compact .fancybox__footer .fancybox__caption{padding:12px}::ng-deep .is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}::ng-deep .fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}::ng-deep .fancybox__nav .f-button:before{position:absolute;content:\"\";inset:-30px -20px;z-index:1}::ng-deep .is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}::ng-deep .is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}::ng-deep .fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;user-select:none}::ng-deep .fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}::ng-deep .fancybox__container:not([aria-hidden]){opacity:0}::ng-deep .fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}::ng-deep .fancybox__container.is-compact .has-iframe .fancybox__content,::ng-deep .fancybox__container.is-compact .has-map .fancybox__content,::ng-deep .fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}::ng-deep .has-map .fancybox__content{background:#e5e3df}::ng-deep .fancybox__html5video,::ng-deep .fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}::ng-deep .fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}::ng-deep .f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}::ng-deep .f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}::ng-deep .f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}::ng-deep .f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}::ng-deep .f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}::ng-deep .f-thumbs .f-spinner svg{display:none}::ng-deep .f-thumbs.is-vertical{height:100%}::ng-deep .f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}::ng-deep .f-thumbs__track{display:flex}::ng-deep .f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}::ng-deep .f-thumbs__slide.is-loading img{opacity:0}::ng-deep .is-classic .f-thumbs__viewport{height:100%}::ng-deep .is-modern .f-thumbs__track{width:max-content}::ng-deep .is-modern .f-thumbs__track:before{content:\"\";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0)) * -.5);width:calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));cursor:pointer}::ng-deep .is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}::ng-deep .is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}::ng-deep .is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}::ng-deep .is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}::ng-deep .f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}::ng-deep .f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}::ng-deep .f-thumbs__slide__button:focus:not(:focus-visible){outline:none}::ng-deep .f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-modern .f-thumbs__slide__button{--clip-path: inset(0 calc((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * (1 - var(--progress, 0)) * .5) round var(--f-thumb-border-radius, 0));clip-path:var(--clip-path)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button:after{content:\"\";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}::ng-deep .f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}::ng-deep .f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}::ng-deep .f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}::ng-deep .f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}::ng-deep .f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}::ng-deep .fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}::ng-deep .fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}::ng-deep .fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}::ng-deep .is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}::ng-deep .fancybox__thumbs.is-masked{max-height:0px!important}::ng-deep .is-closing .fancybox__thumbs{transition:none!important}::ng-deep .fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}::ng-deep .fancybox__toolbar :focus-visible{z-index:1}::ng-deep .fancybox__toolbar.is-absolute,::ng-deep .is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}::ng-deep .is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}::ng-deep .fancybox__toolbar__column.is-left,::ng-deep .fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}::ng-deep .fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}::ng-deep .fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__infobar span{padding:0 5px}::ng-deep .fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}::ng-deep [data-fancybox-toggle-slideshow]{position:relative}::ng-deep [data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}::ng-deep [data-fancybox-toggle-slideshow] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-slideshow] svg g:last-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:last-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}::ng-deep .f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;user-select:none;pointer-events:none}.mrx-gallery-row{row-gap:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { kind: "component", type: i4.GalleryItemComponent, selector: "mrx-gallery-item", inputs: ["preview", "index", "isEditing", "descriptionMaxLength", "deleteEndPoint", "updateEndPoint", "rotateSlides", "isLoading"], outputs: ["openGalleryModal", "deletePhoto", "updatePhoto"] }] });
|
|
172
|
+
}
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryComponent, decorators: [{
|
|
174
|
+
type: Component,
|
|
175
|
+
args: [{ selector: 'mrx-gallery', template: "<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 ? '\u0421\u043A\u0440\u044B\u0442\u044C' : '\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438' }}\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", styles: ["::ng-deep :root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}::ng-deep .f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}::ng-deep .f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}::ng-deep .f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}::ng-deep .f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}::ng-deep .f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}::ng-deep .f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}::ng-deep .f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}::ng-deep .f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}::ng-deep .f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}::ng-deep .f-fadeIn{animation:var(--f-transition-duration, .2s) ease both f-fadeIn;z-index:2}::ng-deep .f-fadeOut{animation:var(--f-transition-duration, .2s) ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}::ng-deep .f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}::ng-deep .f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}::ng-deep .f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}::ng-deep .f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}::ng-deep .f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}::ng-deep .f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}::ng-deep .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}::ng-deep .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}::ng-deep .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}::ng-deep .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}::ng-deep .f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}::ng-deep .f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}::ng-deep .f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}::ng-deep .f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}::ng-deep :root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}::ng-deep .f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){::ng-deep .f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}::ng-deep .f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}::ng-deep .f-button:focus:not(:focus-visible){outline:none}::ng-deep .f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}::ng-deep .f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}::ng-deep .f-button[disabled]{cursor:default}::ng-deep .f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}::ng-deep .f-carousel__nav .f-button.is-prev,::ng-deep .f-carousel__nav .f-button.is-next,::ng-deep .fancybox__nav .f-button.is-prev,::ng-deep .fancybox__nav .f-button.is-next{position:absolute;z-index:1}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev svg,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}::ng-deep html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}::ng-deep html.with-fancybox body{touch-action:none}::ng-deep html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}::ng-deep .fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}::ng-deep .fancybox__container *,::ng-deep .fancybox__container *:before,::ng-deep .fancybox__container *:after{box-sizing:inherit}::ng-deep .fancybox__container::backdrop{background-color:#0000}::ng-deep .fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}::ng-deep .fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}::ng-deep .fancybox__viewport{width:100%;height:100%}::ng-deep .fancybox__viewport.is-draggable{cursor:move;cursor:grab}::ng-deep .fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}::ng-deep .fancybox__track{display:flex;margin:0 auto;height:100%}::ng-deep .fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}::ng-deep .fancybox__slide.has-iframe,::ng-deep .fancybox__slide.has-video,::ng-deep .fancybox__slide.has-html5video{overflow:hidden}::ng-deep .fancybox__slide.has-image{overflow:hidden}::ng-deep .fancybox__slide.has-image.is-animating,::ng-deep .fancybox__slide.has-image.is-selected{overflow:visible}::ng-deep .fancybox__slide:before,::ng-deep .fancybox__slide:after{content:\"\";flex:0 0 0;margin:auto}::ng-deep .fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}::ng-deep .is-loading .fancybox__content{opacity:0}::ng-deep .is-draggable .fancybox__content{cursor:move;cursor:grab}::ng-deep .can-zoom_in .fancybox__content{cursor:zoom-in}::ng-deep .can-zoom_out .fancybox__content{cursor:zoom-out}::ng-deep .is-dragging .fancybox__content{cursor:move;cursor:grabbing}::ng-deep .fancybox__content [data-selectable],::ng-deep .fancybox__content [contenteditable]{cursor:auto}::ng-deep .fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}::ng-deep .is-zooming-in .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content,::ng-deep .is-zooming-out .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content{visibility:hidden}::ng-deep .is-animating .fancybox__content,::ng-deep .is-dragging .fancybox__content{filter:blur(0px);will-change:transform,width,height}::ng-deep .fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}::ng-deep .is-loading .fancybox__caption,::ng-deep .is-closing .fancybox__caption{opacity:0;visibility:hidden}::ng-deep .is-compact .fancybox__caption{padding-bottom:0}::ng-deep .f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}::ng-deep .fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}::ng-deep .is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .fancybox__content>.f-button.is-close-btn:hover{opacity:1}::ng-deep .fancybox__footer{padding:0;margin:0;position:relative}::ng-deep .fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}::ng-deep .is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}::ng-deep .is-compact .fancybox__footer .fancybox__caption{padding:12px}::ng-deep .is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}::ng-deep .fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}::ng-deep .fancybox__nav .f-button:before{position:absolute;content:\"\";inset:-30px -20px;z-index:1}::ng-deep .is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}::ng-deep .is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}::ng-deep .fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;user-select:none}::ng-deep .fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}::ng-deep .fancybox__container:not([aria-hidden]){opacity:0}::ng-deep .fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}::ng-deep .fancybox__container.is-compact .has-iframe .fancybox__content,::ng-deep .fancybox__container.is-compact .has-map .fancybox__content,::ng-deep .fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}::ng-deep .has-map .fancybox__content{background:#e5e3df}::ng-deep .fancybox__html5video,::ng-deep .fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}::ng-deep .fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}::ng-deep .f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}::ng-deep .f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}::ng-deep .f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}::ng-deep .f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}::ng-deep .f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}::ng-deep .f-thumbs .f-spinner svg{display:none}::ng-deep .f-thumbs.is-vertical{height:100%}::ng-deep .f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}::ng-deep .f-thumbs__track{display:flex}::ng-deep .f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}::ng-deep .f-thumbs__slide.is-loading img{opacity:0}::ng-deep .is-classic .f-thumbs__viewport{height:100%}::ng-deep .is-modern .f-thumbs__track{width:max-content}::ng-deep .is-modern .f-thumbs__track:before{content:\"\";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0)) * -.5);width:calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));cursor:pointer}::ng-deep .is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}::ng-deep .is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}::ng-deep .is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}::ng-deep .is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}::ng-deep .f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}::ng-deep .f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}::ng-deep .f-thumbs__slide__button:focus:not(:focus-visible){outline:none}::ng-deep .f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-modern .f-thumbs__slide__button{--clip-path: inset(0 calc((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * (1 - var(--progress, 0)) * .5) round var(--f-thumb-border-radius, 0));clip-path:var(--clip-path)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button:after{content:\"\";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}::ng-deep .f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}::ng-deep .f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}::ng-deep .f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}::ng-deep .f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}::ng-deep .f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}::ng-deep .fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}::ng-deep .fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}::ng-deep .fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}::ng-deep .is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}::ng-deep .fancybox__thumbs.is-masked{max-height:0px!important}::ng-deep .is-closing .fancybox__thumbs{transition:none!important}::ng-deep .fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}::ng-deep .fancybox__toolbar :focus-visible{z-index:1}::ng-deep .fancybox__toolbar.is-absolute,::ng-deep .is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}::ng-deep .is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}::ng-deep .fancybox__toolbar__column.is-left,::ng-deep .fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}::ng-deep .fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}::ng-deep .fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__infobar span{padding:0 5px}::ng-deep .fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}::ng-deep [data-fancybox-toggle-slideshow]{position:relative}::ng-deep [data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}::ng-deep [data-fancybox-toggle-slideshow] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-slideshow] svg g:last-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:last-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}::ng-deep .f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;user-select:none;pointer-events:none}.mrx-gallery-row{row-gap:16px}\n"] }]
|
|
176
|
+
}], ctorParameters: () => [{ type: i1.GalleryService }], propDecorators: { data: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], isExpandable: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], customClasses: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], rotateEndPoint: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], deleteEndPoint: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], updateEndPoint: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], isEditing: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], isSaveRotate: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], descriptionMaxLength: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], thumbsConfig: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], toolbarConfig: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], deletePhoto: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], updatePhoto: [{
|
|
201
|
+
type: Output
|
|
202
|
+
}] } });
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9nYWxsZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2dhbGxlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUF5QyxNQUFNLGlCQUFpQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFReEUsTUFBTSxPQUFPLGdCQUFnQjtJQXlCakI7SUF4QkYsU0FBUyxHQUFXLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBQ3pDLFNBQVMsR0FBRyxLQUFLLENBQUE7SUFFaEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVsQixJQUFJLEdBQXVCLEVBQUUsQ0FBQTtJQUM3QixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsY0FBYyxDQUFVO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixjQUFjLENBQVU7SUFDeEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUN6QixZQUFZLENBQXdDO0lBQ3BELGFBQWEsQ0FBeUM7SUFFckQsV0FBVyxH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QUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7NEJBQ25DLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQ0FDckIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO29DQUNwQyxNQUFNLEVBQUUsRUFBRTtpQ0FDWCxDQUFDLENBQUM7NEJBQ0wsQ0FBQzs0QkFFRCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFBO3dCQUMzQixDQUFDO3FCQUNGO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxvQkFBb0I7YUFDOUI7WUFDRCxHQUFHLElBQUksQ0FBQyxhQUFhO1NBQ3RCLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO3dHQXJMVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix3ZENuQjdCLDQ2Q0FnQ0E7OzRGRGJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO21GQVdkLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFuY3lib3gsIFRodW1ic09wdGlvbnNUeXBlLCBUb29sYmFyT3B0aW9uc1R5cGUgfSBmcm9tICdtcngtZ2FsbGVyeS1saWInO1xyXG5pbXBvcnQgeyBHYWxsZXJ5SW5uZXJJdGVtTW9kYWwsIEdhbGxlcnlJdGVtTW9kZWwsIEdhbGxlcnlSb3RhdGVTbGlkZXMgfSBmcm9tICcuL21vZGVscy9nYWxsZXJ5LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBjdXN0b21Ub29sYmFyRGVmYXVsdCB9IGZyb20gJy4vY29uc3RhbnRzL2N1c3RvbS1idXR0b25zLWRlZmF1bHQnO1xyXG5pbXBvcnQgeyBPcHRpb25zVHlwZSB9IGZyb20gJ21yeC1nYWxsZXJ5LWxpYi90eXBlcy9GYW5jeWJveC9vcHRpb25zJztcclxuaW1wb3J0IHsgdGh1bWJzQ29uZmlnRGVmYXVsdCB9IGZyb20gJy4vY29uc3RhbnRzL3RodW1icy1jb25maWctZGVmYXVsdCc7XHJcbmltcG9ydCB7IEdhbGxlcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZ2FsbGVyeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbGxlcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dhbGxlcnkuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgdGltZVN0YW1wOiBudW1iZXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIHB1YmxpYyByb3RhdGVTbGlkZXM6IEdhbGxlcnlSb3RhdGVTbGlkZXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZVxyXG5cclxuICBwcml2YXRlIGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZGF0YTogR2FsbGVyeUl0ZW1Nb2RlbFtdID0gW11cclxuICBASW5wdXQoKSBpc0V4cGFuZGFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSByb3RhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSBkZWxldGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1cGRhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1NhdmVSb3RhdGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uTWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSB0aHVtYnNDb25maWchOiBCb29sZWFuIHwgUGFydGlhbDxUaHVtYnNPcHRpb25zVHlwZT47XHJcbiAgQElucHV0KCkgdG9vbGJhckNvbmZpZyE6IEJvb2xlYW4gfCBQYXJ0aWFsPFRvb2xiYXJPcHRpb25zVHlwZT47XHJcblxyXG4gIEBPdXRwdXQoKSBkZWxldGVQaG90bzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgdXBkYXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUGFydGlhbDxPcHRpb25zVHlwZT4gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGdhbGxlcnlTZXJ2aWNlOiBHYWxsZXJ5U2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNFeHBhbmRhYmxlKSB7XHJcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRodW1ic0NvbmZpZykge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuVGh1bWJzID0gdGhpcy50aHVtYnNDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbGJhckNvbmZpZykge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuVG9vbGJhciA9IHRoaXMudG9vbGJhckNvbmZpZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1Nob3dNb3JlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGggPiA4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldERhdGEoKTogR2FsbGVyeUl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZSAmJiAhdGhpcy5pc0V4cGFuZGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuc2xpY2UoMCwgOCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZ2V0U2xpZGVzKCk6IEdhbGxlcnlJbm5lckl0ZW1Nb2RhbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGEubWFwKChzbGlkZSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNyYzogc2xpZGUudXJsICsgJz8nICsgdGhpcy50aW1lU3RhbXAsXHJcbiAgICAgICAgdGh1bWI6IHNsaWRlLnByZXZpZXdVcmwsXHJcbiAgICAgICAgY2FwdGlvbjogc2xpZGUuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgdXVpZDogc2xpZGUudXVpZCxcclxuICAgICAgICBpbWFnZU5hbWU6IHNsaWRlLmltYWdlTmFtZSxcclxuICAgICAgICBwcmV2aWV3SW1hZ2VJZDogc2xpZGUucHJldmlld0ltYWdlSWRcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VFeHBhbmRlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkdhbGxlcnlNb2RhbChpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBuZXcgRmFuY3lib3goXHJcbiAgICAgIHRoaXMuZ2V0U2xpZGVzLFxyXG4gICAgICB7XHJcbiAgICAgICAgc3RhcnRJbmRleDogaWQsXHJcbiAgICAgICAgY29tcGFjdDogZmFsc2UsXHJcbiAgICAgICAgaGlkZVNjcm9sbGJhcjogZmFsc2UsXHJcbiAgICAgICAgQ2Fyb3VzZWw6IHt9LFxyXG4gICAgICAgIFRodW1iczogdGh1bWJzQ29uZmlnRGVmYXVsdCxcclxuICAgICAgICBvbjoge1xyXG4gICAgICAgICAgY2xvc2U6IChmYW5jeTogYW55LCBldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdGF0ZVNsaWRlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdhbGxlcnlTZXJ2aWNlLnJvdGF0ZSh0aGlzLnJvdGF0ZVNsaWRlcywgdGhpcy5yb3RhdGVFbmRQb2ludCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcy5sZW5ndGggPSAwXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGltZVN0YW1wID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVG9vbGJhcjoge1xyXG4gICAgICAgICAgaXRlbXM6IHtcclxuICAgICAgICAgICAgcm90YXRlTGVmdDoge1xyXG4gICAgICAgICAgICAgIHRwbDogYFxyXG4gICAgICAgICAgICA8YnV0dG9uIHRpdGxlPVwiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2VcIiBjbGFzcz1cImYtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB0YWJpbmRleD1cIi0xXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUgNC41NWE4IDggMCAwIDAtNiAxNC45TTkgMTV2NUg0TTE4LjM3IDcuMTZ2LjAxTTEzIDE5Ljk0di4wMU0xNi44NCAxOC4zN3YuMDFNMTkuMzcgMTUuMXYuMDFNMTkuOTQgMTF2LjAxXCI+XHJcbiAgICAgICAgICAgICAgICA8L3BhdGg+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgYCxcclxuICAgICAgICAgICAgICBjbGljazogKGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2xpZGUgPSBhLmluc3RhbmNlLmdldFNsaWRlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNsaWRlKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZm91bmRSb3RhdGVTbGlkZSA9IHRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHNsaWRlLnByZXZpZXdJbWFnZUlkKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRSb3RhdGVTbGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcyA9IHRoaXMucm90YXRlU2xpZGVzLm1hcCgocykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzLnByZXZpZXdJbWFnZUlkID09PSBmb3VuZFJvdGF0ZVNsaWRlLnByZXZpZXdJbWFnZUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBzLnJvdGF0ZSA9IHMucm90YXRlID09PSAtMjcwID8gMCA6IHMucm90YXRlIC0gOTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzO1xyXG4gICAgICAgICAgICAgICAgICB9KS5maWx0ZXIoKHMpID0+IHMucm90YXRlICE9PSAwKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucm90YXRlU2xpZGVzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXdJbWFnZUlkOiBzbGlkZS5wcmV2aWV3SW1hZ2VJZCxcclxuICAgICAgICAgICAgICAgICAgICByb3RhdGU6IC05MFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzbGlkZS5wYW56b29tPy5yb3RhdGVDQ1coKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcm90YXRlUmlnaHQ6IHtcclxuICAgICAgICAgICAgICB0cGw6IGBcclxuICAgICAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIlJvdGF0ZSBjbG9ja3dpc2VcIiBjbGFzcz1cImYtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB0YWJpbmRleD1cIi0xXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOSA0LjU1YTggOCAwIDAgMSA2IDE0LjlNMTUgMTV2NWg1TTUuNjMgNy4xNnYuMDFNNC4wNiAxMXYuMDFNNC42MyAxNS4xdi4wMU03LjE2IDE4LjM3di4wMU0xMSAxOS45NHYuMDFcIj5cclxuICAgICAgICAgICAgICAgIDwvcGF0aD5cclxuICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICBgLFxyXG4gICAgICAgICAgICAgIGNsaWNrOiAoYTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzbGlkZSA9IGEuaW5zdGFuY2UuZ2V0U2xpZGUoKTtcclxuICAgICAgICAgICAgICAgIGlmICghc2xpZGUpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZFJvdGF0ZVNsaWRlID0gdGhpcy5yb3RhdGVTbGlkZXMuZmluZCgocykgPT4gcy5wcmV2aWV3SW1hZ2VJZCA9PT0gc2xpZGUucHJldmlld0ltYWdlSWQpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZFJvdGF0ZVNsaWRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucm90YXRlU2xpZGVzID0gdGhpcy5yb3RhdGVTbGlkZXMubWFwKChzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHMucHJldmlld0ltYWdlSWQgPT09IGZvdW5kUm90YXRlU2xpZGUucHJldmlld0ltYWdlSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHMucm90YXRlID0gcy5yb3RhdGUgPT09IDI3MCA/IDAgOiBzLnJvdGF0ZSArIDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcztcclxuICAgICAgICAgICAgICAgICAgfSkuZmlsdGVyKChzKSA9PiBzLnJvdGF0ZSAhPT0gMCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3SW1hZ2VJZDogc2xpZGUucHJldmlld0ltYWdlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcm90YXRlOiA5MFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzbGlkZS5wYW56b29tPy5yb3RhdGVDVygpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzcGxheTogY3VzdG9tVG9vbGJhckRlZmF1bHQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWdcclxuICAgICAgfSxcclxuICAgICAge31cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LXJvdyByb3dcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHByZXZpZXcgb2YgZ2V0RGF0YTsgdHJhY2tCeTogdHJhY2tCeUZuOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwiY29sIGNvbC0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxyXG4gICAgICA8bXJ4LWdhbGxlcnktaXRlbVxyXG4gICAgICAgIFtwcmV2aWV3XT1cInByZXZpZXdcIlxyXG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgW2lzRWRpdGluZ109XCJpc0VkaXRpbmdcIlxyXG4gICAgICAgIFtkZXNjcmlwdGlvbk1heExlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgICAgW3JvdGF0ZVNsaWRlc109XCJyb3RhdGVTbGlkZXNcIlxyXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgICAgICBbZGVsZXRlRW5kUG9pbnRdPVwiZGVsZXRlRW5kUG9pbnRcIlxyXG4gICAgICAgIFt1cGRhdGVFbmRQb2ludF09XCJ1cGRhdGVFbmRQb2ludFwiXHJcbiAgICAgICAgKG9wZW5HYWxsZXJ5TW9kYWwpPVwib3BlbkdhbGxlcnlNb2RhbCgkZXZlbnQpXCJcclxuICAgICAgICAoZGVsZXRlUGhvdG8pPVwiZGVsZXRlUGhvdG8uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAodXBkYXRlUGhvdG8pPVwidXBkYXRlUGhvdG8uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgPjwvbXJ4LWdhbGxlcnktaXRlbT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIiAqbmdJZj1cImlzU2hvd01vcmVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgPG1yeC1idXR0b24gdHlwZT1cInRlcnRpYXJ5XCIgKG1yeENsaWNrKT1cImNoYW5nZUV4cGFuZGVkKClcIj5cclxuICAgICAgICB7eyBnZXRJc0V4cGFuZGVkID8gJ9Ch0LrRgNGL0YLRjCcgOiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YTQvtGC0L7Qs9GA0LDRhNC40LgnIH19XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1mb250LTE2IG1sLTJcIlxyXG4gICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIiFnZXRJc0V4cGFuZGVkXCJcclxuICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiZ2V0SXNFeHBhbmRlZFwiXHJcbiAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgPC9tcngtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|