@acorex/components 19.15.0-next.9 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/README.md +3 -0
- package/accordion/index.d.ts +41 -0
- package/action-sheet/index.d.ts +126 -4
- package/alert/index.d.ts +93 -2
- package/audio-wave/index.d.ts +143 -3
- package/autocomplete/index.d.ts +123 -2
- package/avatar/index.d.ts +52 -3
- package/badge/index.d.ts +27 -2
- package/bottom-navigation/index.d.ts +67 -3
- package/breadcrumbs/index.d.ts +56 -4
- package/button/index.d.ts +230 -5
- package/button-group/index.d.ts +166 -3
- package/calendar/index.d.ts +367 -4
- package/check-box/index.d.ts +74 -2
- package/chips/index.d.ts +37 -2
- package/circular-progress/index.d.ts +73 -2
- package/collapse/index.d.ts +173 -3
- package/color-box/index.d.ts +72 -2
- package/color-palette/index.d.ts +293 -7
- package/comment/index.d.ts +107 -9
- package/conversation/index.d.ts +656 -18
- package/cron-job/index.d.ts +329 -8
- package/data-pager/index.d.ts +416 -9
- package/data-table/index.d.ts +1060 -11
- package/datetime-box/index.d.ts +112 -2
- package/datetime-input/index.d.ts +135 -2
- package/datetime-picker/index.d.ts +147 -3
- package/decorators/index.d.ts +129 -8
- package/dialog/index.d.ts +122 -4
- package/drawer/index.d.ts +86 -3
- package/drawer-2/README.md +3 -0
- package/drawer-2/index.d.ts +48 -0
- package/dropdown/index.d.ts +243 -4
- package/dropdown-button/index.d.ts +82 -2
- package/fesm2022/acorex-components-accordion.mjs +118 -0
- package/fesm2022/acorex-components-accordion.mjs.map +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs +20 -27
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +9 -9
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +8 -8
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +7 -7
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +11 -11
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +15 -21
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +21 -27
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +28 -22
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +9 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +8 -8
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +8 -8
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +17 -25
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +9 -11
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +59 -63
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +31 -31
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +119 -151
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +64 -64
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +45 -51
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +49 -49
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +10 -22
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +12 -9
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +10 -16
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +34 -51
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +19 -26
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +120 -0
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -0
- package/fesm2022/acorex-components-drawer.mjs +147 -61
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +14 -14
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +27 -28
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +16 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +25 -30
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +39 -40
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +10 -10
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +167 -0
- package/fesm2022/acorex-components-kanban.mjs.map +1 -0
- package/fesm2022/acorex-components-kbd.mjs +10 -10
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +11 -21
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +18 -25
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +23 -23
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +700 -193
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +39 -43
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +41 -26
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs → acorex-components-modal-acorex-components-modal-UeDzzc6w.mjs} +21 -21
- package/fesm2022/acorex-components-modal-acorex-components-modal-UeDzzc6w.mjs.map +1 -0
- package/fesm2022/{acorex-components-modal-modal-content.component-Ef5XWxUb.mjs → acorex-components-modal-modal-content.component-DLEi7cYd.mjs} +5 -5
- package/fesm2022/acorex-components-modal-modal-content.component-DLEi7cYd.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +19 -23
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-2.mjs +157 -0
- package/fesm2022/acorex-components-number-box-2.mjs.map +1 -0
- package/fesm2022/acorex-components-number-box.mjs +27 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +29 -29
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +12 -12
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +11 -11
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +22 -39
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -10
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +9 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +26 -26
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +8 -8
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +13 -14
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +192 -146
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +12 -21
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +163 -0
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
- package/fesm2022/acorex-components-selection-list.mjs +9 -9
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +28 -21
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +14 -15
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +14 -14
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +18 -18
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +17 -17
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +17 -9
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +23 -31
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +16 -16
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +13 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +28 -28
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +33 -33
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/file-explorer/index.d.ts +103 -8
- package/flow-chart/index.d.ts +159 -5
- package/form/index.d.ts +283 -6
- package/grid-layout-builder/index.d.ts +197 -4
- package/image/index.d.ts +95 -2
- package/image-editor/index.d.ts +268 -11
- package/index.d.ts +3 -1
- package/json-viewer/index.d.ts +25 -2
- package/kanban/README.md +3 -0
- package/kanban/index.d.ts +56 -0
- package/kbd/index.d.ts +23 -3
- package/label/index.d.ts +58 -2
- package/list/index.d.ts +148 -2
- package/loading/index.d.ts +149 -6
- package/loading-dialog/index.d.ts +115 -4
- package/map/index.d.ts +661 -7
- package/media-viewer/index.d.ts +142 -9
- package/menu/index.d.ts +207 -6
- package/modal/index.d.ts +78 -5
- package/navbar/index.d.ts +22 -2
- package/notification/index.d.ts +134 -5
- package/number-box/index.d.ts +190 -2
- package/number-box-2/README.md +3 -0
- package/number-box-2/index.d.ts +39 -0
- package/otp/index.d.ts +74 -3
- package/package.json +31 -11
- package/page/index.d.ts +58 -3
- package/paint/index.d.ts +157 -7
- package/password-box/index.d.ts +97 -3
- package/pdf-reader/index.d.ts +17 -2
- package/phone-box/index.d.ts +92 -2
- package/picker/index.d.ts +44 -4
- package/popover/index.d.ts +222 -2
- package/popup/index.d.ts +120 -4
- package/progress-bar/index.d.ts +65 -2
- package/qrcode/index.d.ts +68 -3
- package/query-builder/index.d.ts +52 -2
- package/radio/index.d.ts +33 -2
- package/rail-navigation/index.d.ts +74 -5
- package/range-slider/index.d.ts +320 -3
- package/rate-picker/index.d.ts +141 -2
- package/rest-api-generator/index.d.ts +129 -8
- package/result/index.d.ts +34 -2
- package/routing-progress/index.d.ts +39 -2
- package/scheduler/index.d.ts +555 -11
- package/scss/index.d.ts +10 -1
- package/search-box/index.d.ts +51 -2
- package/select-box/index.d.ts +161 -2
- package/selection-list/index.d.ts +93 -2
- package/selection-list-2/README.md +3 -0
- package/selection-list-2/index.d.ts +52 -0
- package/side-menu/index.d.ts +94 -4
- package/skeleton/index.d.ts +28 -2
- package/slider/index.d.ts +101 -2
- package/sliding-item/index.d.ts +45 -4
- package/step-wizard/index.d.ts +109 -5
- package/switch/index.d.ts +49 -3
- package/tabs/index.d.ts +156 -5
- package/tag/index.d.ts +26 -2
- package/tag-box/index.d.ts +41 -2
- package/text-area/index.d.ts +52 -2
- package/text-box/index.d.ts +92 -3
- package/time-duration/index.d.ts +48 -3
- package/time-line/index.d.ts +33 -3
- package/toast/index.d.ts +127 -5
- package/toolbar/index.d.ts +22 -2
- package/tooltip/index.d.ts +60 -3
- package/tree-view/index.d.ts +179 -4
- package/uploader/index.d.ts +188 -8
- package/video-player/index.d.ts +15 -2
- package/wysiwyg/index.d.ts +240 -9
- package/action-sheet/lib/action-sheet.class.d.ts +0 -40
- package/action-sheet/lib/action-sheet.component.d.ts +0 -59
- package/action-sheet/lib/action-sheet.module.d.ts +0 -16
- package/action-sheet/lib/action-sheet.service.d.ts +0 -16
- package/alert/lib/alert.component.d.ts +0 -82
- package/alert/lib/alert.module.d.ts +0 -9
- package/audio-wave/lib/audio-wave.component.d.ts +0 -112
- package/audio-wave/lib/audio-wave.module.d.ts +0 -12
- package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +0 -16
- package/autocomplete/lib/autocomplete.component.d.ts +0 -114
- package/autocomplete/lib/autocomplete.module.d.ts +0 -7
- package/avatar/lib/avatar-group.component.d.ts +0 -5
- package/avatar/lib/avatar.component.d.ts +0 -37
- package/avatar/lib/avatar.module.d.ts +0 -9
- package/badge/lib/badge.component.d.ts +0 -16
- package/badge/lib/badge.module.d.ts +0 -8
- package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +0 -15
- package/bottom-navigation/lib/bottom-navigation.component.d.ts +0 -43
- package/bottom-navigation/lib/bottom-navigation.module.d.ts +0 -9
- package/breadcrumbs/lib/breadcrumbs-item.class.d.ts +0 -9
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +0 -25
- package/breadcrumbs/lib/breadcrumbs.component.d.ts +0 -15
- package/breadcrumbs/lib/breadcrumbs.module.d.ts +0 -10
- package/button/lib/button-item-list.component.d.ts +0 -56
- package/button/lib/button-item.class.d.ts +0 -24
- package/button/lib/button-item.component.d.ts +0 -77
- package/button/lib/button.component.d.ts +0 -65
- package/button/lib/button.module.d.ts +0 -13
- package/button-group/lib/button-group-item.component.d.ts +0 -79
- package/button-group/lib/button-group.component.d.ts +0 -79
- package/button-group/lib/button-group.module.d.ts +0 -11
- package/calendar/lib/calendar-range.component.d.ts +0 -82
- package/calendar/lib/calendar.class.d.ts +0 -89
- package/calendar/lib/calendar.component.d.ts +0 -183
- package/calendar/lib/calendar.module.d.ts +0 -13
- package/check-box/lib/check-box.component.d.ts +0 -62
- package/check-box/lib/check-box.module.d.ts +0 -10
- package/chips/lib/chips.component.d.ts +0 -26
- package/chips/lib/chips.module.d.ts +0 -8
- package/circular-progress/lib/circular-progress.component.d.ts +0 -63
- package/circular-progress/lib/circular-progress.module.d.ts +0 -7
- package/collapse/lib/collapse-group.component.d.ts +0 -68
- package/collapse/lib/collapse.component.d.ts +0 -101
- package/collapse/lib/collapse.module.d.ts +0 -10
- package/color-box/lib/color-box.component.d.ts +0 -59
- package/color-box/lib/color-box.module.d.ts +0 -11
- package/color-palette/lib/color-palette-input.component.d.ts +0 -65
- package/color-palette/lib/color-palette-picker.component.d.ts +0 -96
- package/color-palette/lib/color-palette-preview.component.d.ts +0 -33
- package/color-palette/lib/color-palette-swatches.component.d.ts +0 -51
- package/color-palette/lib/color-palette.class.d.ts +0 -28
- package/color-palette/lib/color-palette.component.d.ts +0 -18
- package/color-palette/lib/color-palette.module.d.ts +0 -22
- package/comment/lib/comment-container/comment-container.component.d.ts +0 -13
- package/comment/lib/comment-item/comment-item.component.d.ts +0 -23
- package/comment/lib/comment-tools/comment-date/comment-date.component.d.ts +0 -10
- package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +0 -16
- package/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.d.ts +0 -10
- package/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.d.ts +0 -5
- package/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.d.ts +0 -5
- package/comment/lib/comment-view/comment-view.component.d.ts +0 -9
- package/comment/lib/comment.module.d.ts +0 -21
- package/conversation/lib/classes/events.interface.d.ts +0 -7
- package/conversation/lib/conversation-container/conversation-container.component.d.ts +0 -9
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +0 -126
- package/conversation/lib/conversation-input/conversation-input.interface.d.ts +0 -10
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +0 -62
- package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +0 -95
- package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +0 -53
- package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +0 -40
- package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +0 -18
- package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +0 -44
- package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +0 -20
- package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +0 -102
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +0 -27
- package/conversation/lib/conversation.module.d.ts +0 -45
- package/conversation/lib/conversation.types.d.ts +0 -26
- package/conversation/lib/services/conversation-message-type-registry.service.d.ts +0 -9
- package/conversation/lib/services/conversation.service.d.ts +0 -7
- package/conversation/lib/services/recording.service.d.ts +0 -20
- package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +0 -30
- package/cron-job/lib/cron-job.module.d.ts +0 -25
- package/cron-job/lib/cron-job.service.d.ts +0 -22
- package/cron-job/lib/day/day.component.d.ts +0 -24
- package/cron-job/lib/day/day.model.d.ts +0 -61
- package/cron-job/lib/day/day.service.d.ts +0 -17
- package/cron-job/lib/hours/hours.component.d.ts +0 -16
- package/cron-job/lib/hours/hours.model.d.ts +0 -5
- package/cron-job/lib/hours/hours.service.d.ts +0 -13
- package/cron-job/lib/minutes/minutes.component.d.ts +0 -16
- package/cron-job/lib/minutes/minutes.model.d.ts +0 -5
- package/cron-job/lib/minutes/minutes.service.d.ts +0 -13
- package/cron-job/lib/month/month.component.d.ts +0 -18
- package/cron-job/lib/month/month.model.d.ts +0 -5
- package/cron-job/lib/month/month.service.d.ts +0 -14
- package/cron-job/lib/seconds/seconds.component.d.ts +0 -16
- package/cron-job/lib/seconds/seconds.model.d.ts +0 -5
- package/cron-job/lib/seconds/seconds.service.d.ts +0 -13
- package/cron-job/lib/types/iexpression.d.ts +0 -3
- package/cron-job/lib/types/shared.model.d.ts +0 -37
- package/cron-job/lib/year/year.component.d.ts +0 -17
- package/cron-job/lib/year/year.model.d.ts +0 -16
- package/cron-job/lib/year/year.service.d.ts +0 -12
- package/data-pager/lib/data-pager-base.component.d.ts +0 -64
- package/data-pager/lib/data-pager-info.component.d.ts +0 -25
- package/data-pager/lib/data-pager-input-selector.component.d.ts +0 -28
- package/data-pager/lib/data-pager-next-buttons.component.d.ts +0 -32
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +0 -36
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +0 -42
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +0 -32
- package/data-pager/lib/data-pager.component.d.ts +0 -151
- package/data-pager/lib/data-pager.module.d.ts +0 -22
- package/data-table/lib/base-data-table.class.d.ts +0 -38
- package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +0 -24
- package/data-table/lib/columns/data-table-column.d.ts +0 -20
- package/data-table/lib/columns/data-text-column.component.d.ts +0 -100
- package/data-table/lib/columns/row-command-column.component.d.ts +0 -131
- package/data-table/lib/columns/row-expand-column.component.d.ts +0 -50
- package/data-table/lib/columns/row-index-column.component.d.ts +0 -74
- package/data-table/lib/columns/row-select-column.component.d.ts +0 -70
- package/data-table/lib/data-table/data-table.component.d.ts +0 -301
- package/data-table/lib/data-table.module.d.ts +0 -27
- package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +0 -253
- package/datetime-box/lib/datetime-box.component.d.ts +0 -98
- package/datetime-box/lib/datetime-box.module.d.ts +0 -13
- package/datetime-input/lib/datetime-input.component.d.ts +0 -123
- package/datetime-input/lib/datetime-input.module.d.ts +0 -10
- package/datetime-picker/lib/datetime-picker.component.d.ts +0 -121
- package/datetime-picker/lib/datetime-picker.config.d.ts +0 -8
- package/datetime-picker/lib/datetime-picker.module.d.ts +0 -16
- package/decorators/lib/components/clear-button/clear-button.component.d.ts +0 -38
- package/decorators/lib/components/close-button/close-button.component.d.ts +0 -35
- package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +0 -6
- package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +0 -7
- package/decorators/lib/components/generic-content.component.d.ts +0 -10
- package/decorators/lib/components/heading/heading.component.d.ts +0 -17
- package/decorators/lib/components/icon/icon.component.d.ts +0 -20
- package/decorators/lib/decorators.module.d.ts +0 -14
- package/dialog/lib/dialog.class.d.ts +0 -39
- package/dialog/lib/dialog.component.d.ts +0 -41
- package/dialog/lib/dialog.module.d.ts +0 -16
- package/dialog/lib/dialog.service.d.ts +0 -31
- package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +0 -12
- package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +0 -29
- package/drawer/lib/drawer.module.d.ts +0 -9
- package/drawer/lib/drawer.service.d.ts +0 -7
- package/dropdown/lib/dropdown-box.class.d.ts +0 -17
- package/dropdown/lib/dropdown-box.component.d.ts +0 -97
- package/dropdown/lib/dropdown-panel.component.d.ts +0 -120
- package/dropdown/lib/dropdown.module.d.ts +0 -14
- package/dropdown-button/lib/dropdown-button.component.d.ts +0 -67
- package/dropdown-button/lib/dropdown-button.module.d.ts +0 -13
- package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +0 -1
- package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +0 -5
- package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +0 -9
- package/file-explorer/lib/file-explorer-internal.service.d.ts +0 -18
- package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +0 -11
- package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +0 -13
- package/file-explorer/lib/file-explorer-types.d.ts +0 -11
- package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +0 -14
- package/file-explorer/lib/file-explorer.module.d.ts +0 -19
- package/file-explorer/lib/file-explorer.service.d.ts +0 -11
- package/flow-chart/lib/flow-chart-creator/flow-chart-creator.component.d.ts +0 -13
- package/flow-chart/lib/flow-chart-renderer/flow-chart-renderer.component.d.ts +0 -22
- package/flow-chart/lib/flow-chart.component.d.ts +0 -24
- package/flow-chart/lib/flow-chart.module.d.ts +0 -10
- package/flow-chart/lib/flow-chart.service.d.ts +0 -57
- package/flow-chart/lib/flow-chart.type.d.ts +0 -37
- package/form/lib/form-field.component.d.ts +0 -69
- package/form/lib/form.component.d.ts +0 -109
- package/form/lib/form.config.d.ts +0 -7
- package/form/lib/form.module.d.ts +0 -16
- package/form/lib/validation-rule.directive.d.ts +0 -17
- package/form/lib/validation-summary.component.d.ts +0 -76
- package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +0 -9
- package/grid-layout-builder/lib/grid-layout-container.component.d.ts +0 -47
- package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +0 -39
- package/grid-layout-builder/lib/types.d.ts +0 -103
- package/grid-layout-builder/lib/utility.d.ts +0 -9
- package/image/lib/image.component.d.ts +0 -85
- package/image/lib/image.module.d.ts +0 -8
- package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +0 -26
- package/image-editor/lib/image-editor-cropper-window/image-editor-cropper-window.component.d.ts +0 -47
- package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +0 -14
- package/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.d.ts +0 -18
- package/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.d.ts +0 -13
- package/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.d.ts +0 -18
- package/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.d.ts +0 -16
- package/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.d.ts +0 -12
- package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +0 -78
- package/image-editor/lib/image-editor.module.d.ts +0 -25
- package/image-editor/lib/image-editor.service.d.ts +0 -22
- package/json-viewer/lib/json-viewer/json-viewer.component.d.ts +0 -13
- package/json-viewer/lib/json-viewer.module.d.ts +0 -10
- package/kbd/lib/kbd-item/kbd-item.component.d.ts +0 -8
- package/kbd/lib/kbd.component.d.ts +0 -5
- package/kbd/lib/kbd.module.d.ts +0 -9
- package/label/lib/label.component.d.ts +0 -48
- package/label/lib/label.module.d.ts +0 -8
- package/list/lib/list.component.d.ts +0 -139
- package/list/lib/list.module.d.ts +0 -10
- package/loading/lib/loading-spinner.component.d.ts +0 -34
- package/loading/lib/loading.component.d.ts +0 -53
- package/loading/lib/loading.config.d.ts +0 -8
- package/loading/lib/loading.directive.d.ts +0 -15
- package/loading/lib/loading.module.d.ts +0 -13
- package/loading/lib/loading.service.d.ts +0 -29
- package/loading-dialog/lib/loading-dialog.class.d.ts +0 -35
- package/loading-dialog/lib/loading-dialog.component.d.ts +0 -63
- package/loading-dialog/lib/loading-dialog.module.d.ts +0 -14
- package/loading-dialog/lib/loading-dialog.service.d.ts +0 -8
- package/map/lib/map.component.d.ts +0 -214
- package/map/lib/map.config.d.ts +0 -13
- package/map/lib/map.module.d.ts +0 -8
- package/map/lib/map.service.d.ts +0 -172
- package/map/lib/map.type.d.ts +0 -20
- package/map/lib/map.utility.d.ts +0 -2
- package/map/lib/map.world-map.d.ts +0 -28
- package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +0 -38
- package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +0 -18
- package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-tools/file-info/file-info.component.d.ts +0 -9
- package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +0 -6
- package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-type-registry.service.d.ts +0 -9
- package/media-viewer/lib/media-viewer-types.d.ts +0 -19
- package/media-viewer/lib/media-viewer.module.d.ts +0 -31
- package/media-viewer/lib/media-viewer.service.d.ts +0 -8
- package/menu/lib/context-menu.component.d.ts +0 -57
- package/menu/lib/menu-item.component.d.ts +0 -62
- package/menu/lib/menu.component.d.ts +0 -23
- package/menu/lib/menu.module.d.ts +0 -15
- package/menu/lib/menu.service.d.ts +0 -19
- package/menu/lib/menu.types.d.ts +0 -39
- package/modal/lib/modal-content/modal-content.component.d.ts +0 -51
- package/modal/lib/modal-footer/modal-footer.component.d.ts +0 -5
- package/modal/lib/modal-state.service.d.ts +0 -17
- package/modal/lib/modal.component.d.ts +0 -18
- package/modal/lib/modal.module.d.ts +0 -8
- package/modal/lib/modal.service.d.ts +0 -15
- package/modal/lib/modal.types.d.ts +0 -34
- package/navbar/lib/navbar.component.d.ts +0 -12
- package/navbar/lib/navbar.module.d.ts +0 -8
- package/notification/lib/notification.class.d.ts +0 -42
- package/notification/lib/notification.component.d.ts +0 -41
- package/notification/lib/notification.config.d.ts +0 -15
- package/notification/lib/notification.module.d.ts +0 -14
- package/notification/lib/notification.service.d.ts +0 -25
- package/number-box/lib/number-box.component.d.ts +0 -165
- package/number-box/lib/number-box.module.d.ts +0 -12
- package/otp/lib/otp.class.d.ts +0 -5
- package/otp/lib/otp.component.d.ts +0 -59
- package/otp/lib/otp.module.d.ts +0 -9
- package/page/lib/base-page.class.d.ts +0 -22
- package/page/lib/page.component.d.ts +0 -29
- package/page/lib/page.module.d.ts +0 -6
- package/paint/lib/paint/paint-container/paint-container.component.d.ts +0 -19
- package/paint/lib/paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component.d.ts +0 -15
- package/paint/lib/paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component.d.ts +0 -18
- package/paint/lib/paint/paint-tools/paint-pen-tool/paint-pen-tool.component.d.ts +0 -18
- package/paint/lib/paint/paint-tools-selector/paint-tools-selector.component.d.ts +0 -9
- package/paint/lib/paint/paint-view/paint-view.component.d.ts +0 -56
- package/paint/lib/paint/paint.service.d.ts +0 -12
- package/paint/lib/paint.module.d.ts +0 -20
- package/password-box/lib/password-box.component.d.ts +0 -42
- package/password-box/lib/password-box.module.d.ts +0 -15
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +0 -40
- package/pdf-reader/lib/pdf-reader/pdf-reader.component.d.ts +0 -8
- package/pdf-reader/lib/pdf-reader.module.d.ts +0 -7
- package/phone-box/lib/phone-box.component.d.ts +0 -75
- package/phone-box/lib/phone-box.module.d.ts +0 -15
- package/picker/lib/picker-container/picker-container.component.d.ts +0 -7
- package/picker/lib/picker-items/picker-items.component.d.ts +0 -20
- package/picker/lib/picker-title/picker-title.component.d.ts +0 -5
- package/picker/lib/picker.module.d.ts +0 -11
- package/popover/lib/popover.component.d.ts +0 -211
- package/popover/lib/popover.module.d.ts +0 -8
- package/popup/lib/popup.component.d.ts +0 -75
- package/popup/lib/popup.interface.d.ts +0 -30
- package/popup/lib/popup.module.d.ts +0 -15
- package/popup/lib/popup.service.d.ts +0 -22
- package/progress-bar/lib/progress-bar.component.d.ts +0 -54
- package/progress-bar/lib/progress-bar.module.d.ts +0 -8
- package/qrcode/lib/qrcode.class.d.ts +0 -3
- package/qrcode/lib/qrcode.component.d.ts +0 -54
- package/qrcode/lib/qrcode.module.d.ts +0 -8
- package/query-builder/lib/query-builder.component.d.ts +0 -35
- package/query-builder/lib/query-builder.module.d.ts +0 -15
- package/radio/lib/radio.component.d.ts +0 -22
- package/radio/lib/radio.module.d.ts +0 -9
- package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +0 -31
- package/rail-navigation/lib/rail-navigation.class.d.ts +0 -8
- package/rail-navigation/lib/rail-navigation.component.d.ts +0 -18
- package/rail-navigation/lib/rail-navigation.module.d.ts +0 -10
- package/rail-navigation/lib/rail-navigation.service.d.ts +0 -9
- package/range-slider/lib/range-slider.class.d.ts +0 -9
- package/range-slider/lib/range-slider.component.d.ts +0 -301
- package/range-slider/lib/range-slider.module.d.ts +0 -8
- package/rate-picker/lib/calculatePercentage.d.ts +0 -27
- package/rate-picker/lib/rate-picker.component.d.ts +0 -131
- package/rate-picker/lib/rate-picker.module.d.ts +0 -8
- package/rest-api-generator/lib/query-params/query-params.component.d.ts +0 -16
- package/rest-api-generator/lib/request-body/request-body.component.d.ts +0 -22
- package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +0 -22
- package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +0 -22
- package/rest-api-generator/lib/rest-api-generator.component.d.ts +0 -14
- package/rest-api-generator/lib/rest-api-generator.module.d.ts +0 -19
- package/rest-api-generator/lib/rest-api-generator.service.d.ts +0 -7
- package/rest-api-generator/lib/types.d.ts +0 -20
- package/result/lib/result.component.d.ts +0 -24
- package/result/lib/result.module.d.ts +0 -8
- package/routing-progress/lib/routing-progress.component.d.ts +0 -30
- package/routing-progress/lib/routing-progress.module.d.ts +0 -8
- package/scheduler/lib/scheduler.class.d.ts +0 -77
- package/scheduler/lib/scheduler.component.d.ts +0 -91
- package/scheduler/lib/scheduler.module.d.ts +0 -11
- package/scheduler/lib/scheduler.service.d.ts +0 -78
- package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +0 -45
- package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +0 -44
- package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +0 -59
- package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +0 -39
- package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +0 -47
- package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +0 -40
- package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +0 -74
- package/scss/lib/scss.module.d.ts +0 -7
- package/search-box/lib/search-box.component.d.ts +0 -40
- package/search-box/lib/search-box.module.d.ts +0 -14
- package/select-box/lib/select-box.component.d.ts +0 -139
- package/select-box/lib/select-box.module.d.ts +0 -20
- package/selection-list/lib/selection-list.component.d.ts +0 -77
- package/selection-list/lib/selection-list.module.d.ts +0 -13
- package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +0 -30
- package/side-menu/lib/side-menu.component.d.ts +0 -39
- package/side-menu/lib/side-menu.directive.d.ts +0 -14
- package/side-menu/lib/side-menu.module.d.ts +0 -15
- package/skeleton/lib/skeleton.component.d.ts +0 -18
- package/skeleton/lib/skeleton.module.d.ts +0 -8
- package/slider/lib/slider.component.d.ts +0 -92
- package/slider/lib/slider.module.d.ts +0 -10
- package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +0 -13
- package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +0 -11
- package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +0 -11
- package/sliding-item/lib/sliding-item.module.d.ts +0 -11
- package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +0 -21
- package/step-wizard/lib/step-wizard.class.d.ts +0 -7
- package/step-wizard/lib/step-wizard.component.d.ts +0 -63
- package/step-wizard/lib/step-wizard.directive.d.ts +0 -11
- package/step-wizard/lib/step-wizard.module.d.ts +0 -13
- package/switch/lib/switch-content.component.d.ts +0 -10
- package/switch/lib/switch.component.d.ts +0 -29
- package/switch/lib/switch.module.d.ts +0 -10
- package/tabs/lib/tab-content.directive.d.ts +0 -11
- package/tabs/lib/tab-item.component.d.ts +0 -56
- package/tabs/lib/tabs.class.d.ts +0 -8
- package/tabs/lib/tabs.component.d.ts +0 -76
- package/tabs/lib/tabs.module.d.ts +0 -12
- package/tag/lib/tag.component.d.ts +0 -16
- package/tag/lib/tag.module.d.ts +0 -8
- package/tag-box/lib/tag-box.component.d.ts +0 -32
- package/tag-box/lib/tag-box.module.d.ts +0 -7
- package/text-area/lib/text-area.component.d.ts +0 -41
- package/text-area/lib/text-area.module.d.ts +0 -9
- package/text-box/lib/mask-options.directive.d.ts +0 -17
- package/text-box/lib/text-box.component.d.ts +0 -61
- package/text-box/lib/text-box.module.d.ts +0 -13
- package/time-duration/lib/time-duration.component.d.ts +0 -37
- package/time-duration/lib/time-duration.module.d.ts +0 -7
- package/time-duration/lib/time-duration.type.d.ts +0 -1
- package/time-line/lib/time-line-item.component.d.ts +0 -14
- package/time-line/lib/time-line.component.d.ts +0 -9
- package/time-line/lib/time-line.module.d.ts +0 -9
- package/toast/lib/toast.class.d.ts +0 -27
- package/toast/lib/toast.component.d.ts +0 -44
- package/toast/lib/toast.config.d.ts +0 -14
- package/toast/lib/toast.module.d.ts +0 -13
- package/toast/lib/toast.service.d.ts +0 -34
- package/toolbar/lib/toolbar.component.d.ts +0 -12
- package/toolbar/lib/toolbar.module.d.ts +0 -8
- package/tooltip/lib/tooltip.component.d.ts +0 -21
- package/tooltip/lib/tooltip.directive.d.ts +0 -29
- package/tooltip/lib/tooltip.module.d.ts +0 -10
- package/tree-view/lib/tree-view-item.component.d.ts +0 -20
- package/tree-view/lib/tree-view.class.d.ts +0 -47
- package/tree-view/lib/tree-view.component.d.ts +0 -98
- package/tree-view/lib/tree-view.component.module.d.ts +0 -16
- package/uploader/lib/uploader-browse-handle.directive.d.ts +0 -11
- package/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.d.ts +0 -24
- package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +0 -12
- package/uploader/lib/uploader-list/uploader-list.component.d.ts +0 -12
- package/uploader/lib/uploader-zone.directive.d.ts +0 -31
- package/uploader/lib/uploader.models.d.ts +0 -52
- package/uploader/lib/uploader.module.d.ts +0 -21
- package/uploader/lib/uploader.service.d.ts +0 -30
- package/video-player/lib/video-player/video-player.component.d.ts +0 -6
- package/video-player/lib/video-player.module.d.ts +0 -7
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +0 -40
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +0 -28
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +0 -40
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +0 -37
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +0 -16
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +0 -30
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +0 -20
- package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +0 -16
- package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -11
- package/wysiwyg/lib/wysiwyg.module.d.ts +0 -21
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-image-editor.mjs","sources":["../../../../packages/components/image-editor/src/lib/image-editor.service.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.html","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.html","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.html","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.html","../../../../packages/components/image-editor/src/lib/image-editor.module.ts","../../../../packages/components/image-editor/src/acorex-components-image-editor.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXImageEditorService {\n activeToolState = signal<'pen' | 'highlight' | 'crop' | 'rotate' | 'history'>(null);\n penColor = signal<string | CanvasGradient | CanvasPattern>('rgb(12, 12, 12)');\n highlightColor = signal<string | CanvasGradient | CanvasPattern>('rgb(255, 210, 48)');\n penWidth = signal<number>(10);\n highlightWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight'>(null);\n rotate = signal({ state: 0, userInteract: false });\n isImageLoad = signal(false);\n newImage = signal<HTMLImageElement | null>(null);\n initialImage = signal<HTMLImageElement | null>(null);\n imageBlob = signal<Blob[]>([]);\n undoPressed = signal(false);\n redoPressed = signal(false);\n cropperRatio = signal<'1:1' | '16:9'>(null);\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-crop',\n templateUrl: './image-editor-crop.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorCropComponent }],\n})\nexport class AXImageEditorCropComponent {\n protected service = inject(AXImageEditorService);\n\n cropPressed = output();\n\n protected cropButtonHandler() {\n this.cropPressed.emit();\n }\n\n protected ratioHandler(r: '1:1' | '16:9') {\n if (this.service.cropperRatio()) {\n this.service.cropperRatio.set(null);\n } else {\n this.service.cropperRatio.set(r);\n }\n }\n}\n","<ax-button (click)=\"cropButtonHandler()\" class=\"ax-crop-save ax-sm\" text=\"Crop\"></ax-button>\n\n<ax-button\n [selected]=\"this.service.cropperRatio() === '1:1' ? true : false\"\n [color]=\"this.service.cropperRatio() === '1:1' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('1:1')\"\n class=\"ax-crop-save ax-sm\"\n text=\"1:1\"\n></ax-button>\n<ax-button\n [selected]=\"this.service.cropperRatio() === '16:9' ? true : false\"\n [color]=\"this.service.cropperRatio() === '16:9' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('16:9')\"\n class=\"ax-crop-save ax-sm\"\n text=\"16:9\"\n></ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-highlight',\n templateUrl: './image-editor-highlight.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-highlight {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorHighlightComponent }],\n})\nexport class AXImageEditorHighlightComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected selectedColor = signal(this.service.highlightColor());\n\n /** @ignore */\n protected value = this.service.highlightWidth();\n\n protected changeColorHandler(e: string) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.highlightWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Highlight Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-pen',\n templateUrl: './image-editor-pen.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-pen {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorPenComponent }],\n})\nexport class AXImageEditorPenComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected value = this.service.penWidth();\n\n /** @ignore */\n protected selectedColor = signal(this.service.penColor());\n\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.penWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Pen Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-rotate',\n templateUrl: './image-editor-rotate.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorRotateComponent }],\n})\nexport class AXImageEditorRotateComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected rotateRightHandler() {\n this.service.rotate.set({ state: 90, userInteract: true });\n }\n\n /** @ignore */\n protected rotateLeftHandler() {\n this.service.rotate.set({ state: -90, userInteract: true });\n }\n}\n","<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-left\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Right\" axTooltipPlacement=\"top\" (click)=\"rotateRightHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-right\"></ax-icon>\n</ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-tool-selector',\n templateUrl: './image-editor-tool-selector.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorToolSelectorComponent }],\n})\nexport class AXImageEditorToolSelectorComponent {\n protected service = inject(AXImageEditorService);\n\n protected changeToolHandler(tool: 'pen' | 'highlight' | 'crop' | 'rotate') {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n\n this.service.activeToolState.set(tool);\n\n if (tool === 'pen' || tool === 'highlight') {\n this.service.penType.set(tool);\n }\n }\n}\n","<ax-button\n axTooltip=\"pen\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'pen' ? true : false\"\n [color]=\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"highlight\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'highlight' ? true : false\"\n [color]=\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"crop\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('crop')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'crop' ? true : false\"\n [color]=\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"rotate\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('rotate')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'rotate' ? true : false\"\n [color]=\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\"\n>\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-cropper-window',\n templateUrl: './image-editor-cropper-window.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './image-editor-cropper-window.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorCropperWindowComponent }],\n})\nexport class AXImageEditorCropperWindowComponent implements OnDestroy {\n showGrid = input(true);\n\n protected service = inject(AXImageEditorService);\n private ngZone = inject(NgZone);\n private selectedHandle = signal<string>(null);\n private panState = signal(false);\n private elementRef: ElementRef = inject(ElementRef);\n protected cropperWindow = viewChild<ElementRef>('r');\n private currentX = signal(-45);\n private currentY = signal(-45);\n private prevX = signal(0);\n private prevY = signal(0);\n protected renderer = inject(Renderer2);\n private platformID = inject(PLATFORM_ID);\n private mouseMoveEvent: () => void;\n private mouseUpEvent: () => void;\n private mouseMoveEvent2: () => void;\n private mouseUpEvent2: () => void;\n private mouseDownEvent: () => void;\n private mouseLeaveEvent: () => void;\n\n #eff = effect(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${266.6}px`;\n host.style.height = `${150}px`;\n } else {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n }\n });\n\n #init = afterNextRender(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n\n this.ngZone.runOutsideAngular(() => {\n this.mouseMoveEvent = this.renderer.listen(document, 'pointermove', this.changeSizeHandler.bind(this));\n this.mouseUpEvent = this.renderer.listen(document, 'pointerup', this.clearSelector.bind(this));\n this.mouseDownEvent = this.renderer.listen(host, 'pointerdown', this.panDown.bind(this));\n this.mouseMoveEvent2 = this.renderer.listen(host, 'pointermove', this.panMove.bind(this));\n this.mouseUpEvent2 = this.renderer.listen(host, 'pointerup', this.panUp.bind(this));\n this.mouseLeaveEvent = this.renderer.listen(host, 'pointerleave', this.panUp.bind(this));\n });\n });\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent) {\n this.mouseMoveEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent) {\n this.mouseUpEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseDownEvent) {\n this.mouseDownEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent2) {\n this.mouseMoveEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent2) {\n this.mouseUpEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseLeaveEvent) {\n this.mouseLeaveEvent();\n }\n }\n\n #positionChange = effect(() => {\n this.setPosition(this.currentX(), this.currentY());\n });\n\n protected panMove(e: MouseEvent) {\n if (this.selectedHandle()) return;\n if (!this.panState()) return;\n\n const currentX = e.clientX;\n const currentY = e.clientY;\n const deltaX = currentX - this.prevX();\n const deltaY = currentY - this.prevY();\n this.currentX.update((prev) => prev + deltaX);\n this.currentY.update((prev) => prev + deltaY);\n this.prevX.set(currentX);\n this.prevY.set(currentY);\n }\n\n protected panDown(e: MouseEvent) {\n if (this.selectedHandle()) return;\n this.panState.set(true);\n this.prevX.set(e.clientX);\n this.prevY.set(e.clientY);\n }\n\n protected panUp() {\n if (this.selectedHandle()) return;\n this.panState.set(false);\n }\n\n public getCropperArea() {\n return (this.elementRef.nativeElement as HTMLElement).getBoundingClientRect();\n }\n\n private setPosition(posX: number, posY: number) {\n const el = this.elementRef.nativeElement as HTMLElement;\n el.style.transform = `translate(${posX}px, ${posY}px)`;\n }\n\n private startX: number;\n private startY: number;\n private startWidth: number;\n private startHeight: number;\n private startLeft: number;\n private startTop: number;\n protected edgeCase = false;\n protected handleSelector(e: MouseEvent, value: string) {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n this.startX = e.clientX;\n this.startY = e.clientY;\n this.startWidth = host.offsetWidth;\n this.startHeight = host.offsetHeight;\n this.startLeft = host.offsetLeft;\n this.startTop = host.offsetTop;\n this.selectedHandle.set(value);\n }\n\n protected changeSizeHandler(e: MouseEvent) {\n if (this.panState()) return;\n if (!this.selectedHandle()) return;\n\n const host = this.elementRef.nativeElement as HTMLElement;\n const rect = host.getBoundingClientRect();\n\n const dy = e.clientY - this.startY;\n const dx = e.clientX - this.startX;\n\n if (rect.width < 20 || rect.height < 20) {\n this.edgeCase = true;\n return;\n }\n\n switch (this.selectedHandle()) {\n case 'right':\n host.style.width = `${e.movementX + rect.width}px`;\n break;\n case 'top':\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n break;\n case 'left':\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n break;\n case 'bottom':\n host.style.height = `${rect.height + e.movementY}px`;\n break;\n case 'right-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${this.startHeight - dy}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${(this.startHeight - dy) * 1.77}px`;\n } else {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-right':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${e.movementX + rect.width}px`;\n host.style.height = `${e.movementX + rect.width}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${e.movementX + rect.height}px`;\n host.style.width = `${(e.movementX + rect.height) * 1.77}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-left':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startWidth - dx}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n break;\n case 'left-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startWidth - dx}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n }\n }\n }\n\n protected clearSelector() {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n\n if (this.edgeCase) {\n host.style.height = `20px`;\n host.style.width = `20px`;\n this.edgeCase = false;\n }\n\n this.selectedHandle.set(null);\n }\n}\n","<div [ngStyle]=\"!showGrid() && { border: '1px dashed white' }\" #r class=\"ax-image-cropper-window-container\">\n @if (!this.service.cropperRatio()) {\n <div (pointerdown)=\"handleSelector($event, 'right')\" class=\"ax-image-right-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'top')\" class=\"ax-image-top-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left')\" class=\"ax-image-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom')\" class=\"ax-image-bottom-handle ax-handle-shape\"></div>\n }\n\n <div (pointerdown)=\"handleSelector($event, 'right-top')\" class=\"ax-image-right-top-handle ax-handle-shape\"></div>\n <div\n (pointerdown)=\"handleSelector($event, 'bottom-right')\"\n class=\"ax-image-bottom-right-handle ax-handle-shape\"\n ></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom-left')\" class=\"ax-image-bottom-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left-top')\" class=\"ax-image-left-top-handle ax-handle-shape\"></div>\n\n @if (showGrid()) {\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n }\n</div>\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from '../image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n@Component({\n selector: 'ax-image-editor-view',\n templateUrl: './image-editor-view.component.html',\n styleUrls: ['./image-editor-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageEditorCropperWindowComponent],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorViewComponent }],\n})\nexport class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {\n /**\n * its change grid display state.\n */\n showGrid = input(true);\n /**\n * its change grid display state.\n */\n lockRatio = signal(false);\n /**\n * its receive image src.\n */\n src = input<string>('');\n /** @ignore */\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('canvasElem');\n /** @ignore */\n protected cropperWindow = viewChild<AXImageEditorCropperWindowComponent>('f');\n /** @ignore */\n protected ctx = signal<CanvasRenderingContext2D>(null);\n /** @ignore */\n protected service = inject(AXImageEditorService);\n /** @ignore */\n protected isMouseDown = signal(false);\n /** @ignore */\n protected isDrawRectangleCreated = signal(false);\n /** @ignore */\n protected parent = inject(AXImageEditorContainerComponent);\n /** @ignore */\n protected renderer = inject(Renderer2);\n /** @ignore */\n protected imageAspect = computed(() => {\n return this.service.initialImage().width / this.service.initialImage().height;\n });\n /** @ignore */\n protected imageEditorHistory = signal<HTMLImageElement[]>([]);\n /** @ignore */\n protected imageEditorHistoryPointer = linkedSignal(() => this.imageEditorHistory().length - 1);\n\n /** @ignore */\n private resizeEventListener;\n /** @ignore */\n private imageLoadEventListener;\n\n /** @ignore */\n protected resizeWindow() {\n this.canvasResponsive(this.service.newImage());\n }\n\n /** @ignore */\n protected canvasResponsive(image: HTMLImageElement) {\n if (!this.parent.imageEditorContainer()) return;\n\n const parentWidth = (this.parent.imageEditorContainer().nativeElement as HTMLDivElement).clientWidth;\n const imageWidth = this.service.initialImage().width;\n\n if (parentWidth < imageWidth) {\n this.getHostElement().style.width = `${parentWidth}px`;\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = parentWidth;\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\n } else {\n this.getHostElement().style.width = `${imageWidth}px`;\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = imageWidth;\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\n }\n }\n\n /** @ignore */\n constructor() {\n super();\n afterNextRender(() => {\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\n //load image\n this.service.initialImage.set(new Image());\n this.service.initialImage().src = this.src();\n this.service.initialImage().crossOrigin = 'anonymous';\n this.imageLoadEventListener = this.renderer.listen(\n this.service.initialImage(),\n 'load',\n this.imageLoaded.bind(this),\n );\n //set canvas options\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n });\n\n effect(() => {\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\n this.canvasResponsive(this.service.initialImage());\n }\n });\n\n effect(() => {\n if (!this.service.undoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.redoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.rotate().userInteract || !this.ctx()) return;\n this.rotateImage();\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n if (this.resizeEventListener) {\n this.resizeEventListener();\n }\n\n if (this.imageLoadEventListener) {\n this.imageLoadEventListener();\n }\n }\n\n /** @ignore */\n protected imageLoaded() {\n this.imageEditorHistory.set([this.service.initialImage()]);\n this.service.newImage.set(this.service.initialImage());\n this.service.isImageLoad.set(true);\n }\n\n /** @ignore */\n protected imageChanged() {\n if (this.service.undoPressed() && this.imageEditorHistoryPointer() >= 1) {\n this.imageEditorHistoryPointer.update((prev) => prev - 1);\n\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n if (this.service.redoPressed() && this.imageEditorHistoryPointer() < this.imageEditorHistory().length - 1) {\n this.imageEditorHistoryPointer.update((prev) => prev + 1);\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n this.service.undoPressed.set(false);\n this.service.redoPressed.set(false);\n }\n\n /** @ignore */\n protected penConfigHandler(penType: 'pen' | 'highlight') {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n\n /** @ignore */\n protected getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n protected mouseDownHandler(e: MouseEvent) {\n this.isMouseDown.set(true);\n if (!this.service.penType()) return;\n\n this.penConfigHandler(this.service.penType());\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseMoveHandler(e: MouseEvent) {\n if (!this.isMouseDown()) return;\n if (!this.service.penType()) return;\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseUpHandler() {\n this.isMouseDown.set(false);\n this.ctx().closePath();\n this.saveImageChange();\n }\n\n /** @ignore */\n cropButtonHandler() {\n const cropRect = this.cropperWindow().getCropperArea();\n const canvasRect = this.canvasElem().nativeElement.getClientRects()[0];\n const dx = cropRect.x - canvasRect.x;\n const dy = cropRect.y - canvasRect.y;\n\n const imageData = this.ctx().getImageData(dx, dy, cropRect.width, cropRect.height);\n this.canvasElem().nativeElement.width = cropRect.width;\n this.canvasElem().nativeElement.height = cropRect.height;\n this.ctx().putImageData(imageData, 0, 0);\n this.saveImageChange();\n this.service.activeToolState.set(null);\n }\n\n /** @ignore */\n protected rotateImage() {\n this.ctx().globalAlpha = 1;\n this.ctx().save();\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\n this.ctx().drawImage(\n this.service.newImage(),\n -this.service.newImage().width / 2,\n -this.service.newImage().height / 2,\n this.service.newImage().width,\n this.service.newImage().height,\n );\n this.ctx().restore();\n\n this.saveImageChange();\n this.service.rotate.update((prev) => {\n return { state: prev.state, userInteract: false };\n });\n }\n\n /** @ignore */\n protected saveImageChange() {\n const newImage = new Image();\n newImage.crossOrigin = 'anonymous';\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\n this.service.newImage.set(newImage);\n this.imageEditorHistory.update((prev) => [...prev, newImage]);\n\n const tempBlob = [];\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/jpeg',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/png',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/webp',\n 1,\n );\n this.service.imageBlob.set(tempBlob);\n }\n\n /** @ignore */\n @HostBinding('style')\n private get __hostStyle(): string {\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\n }\n}\n","<canvas\n tabindex=\"1\"\n (pointerdown)=\"mouseDownHandler($event)\"\n (pointerup)=\"mouseUpHandler()\"\n (pointermove)=\"mouseMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n\n@if (this.service.activeToolState() === 'crop') {\n <ax-image-editor-cropper-window [showGrid]=\"showGrid()\" #f></ax-image-editor-cropper-window>\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingSpinnerComponent } from '@acorex/components/loading';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n contentChild,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXImageEditorCropComponent } from '../image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from '../image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorPenComponent } from '../image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from '../image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from '../image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from '../image-editor-view/image-editor-view.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint container.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-container',\n templateUrl: './image-editor-container.component.html',\n styleUrl: './image-editor-container.component.scss',\n encapsulation: ViewEncapsulation.None,\n outputs: ['onValueChanged'],\n inputs: ['look', 'disabled'],\n providers: [\n AXImageEditorService,\n { provide: AXComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXImageEditorContainerComponent),\n multi: true,\n },\n ],\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXLoadingSpinnerComponent,\n AXToolBarModule,\n AXImageEditorCropComponent,\n AXButtonModule,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n ],\n})\nexport class AXImageEditorContainerComponent extends classes(MXInputBaseValueComponent<Blob[]>, MXLookComponent) {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n imageEditorContainer = viewChild<ElementRef>('f');\n\n view = contentChild<AXImageEditorViewComponent>(AXImageEditorViewComponent);\n\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.commitValue(this.service.imageBlob(), true);\n } else {\n this.commitValue(null);\n }\n }\n\n protected cropButtonHandler() {\n this.view().cropButtonHandler();\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n if (this.disabled) return 'ax-state-disabled';\n return '';\n }\n}\n","@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content select=\"ax-header\"></ng-content>\n\n <ng-content select=\"ax-image-editor-view\"> </ng-content>\n\n @if (service.activeToolState()) {\n <ax-toolbar class=\"ax-secondary-toolbar\">\n <ax-prefix>\n @switch (service.activeToolState()) {\n @case ('pen') {\n <ax-image-editor-pen></ax-image-editor-pen>\n }\n @case ('crop') {\n <ax-image-editor-crop (cropPressed)=\"cropButtonHandler()\"></ax-image-editor-crop>\n }\n @case ('highlight') {\n <ax-image-editor-highlight></ax-image-editor-highlight>\n }\n @case ('rotate') {\n <ax-image-editor-rotate></ax-image-editor-rotate>\n }\n }\n </ax-prefix>\n </ax-toolbar>\n }\n\n <ax-toolbar class=\"ax-main-toolbar\">\n <ax-content>\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\n </ax-content>\n </ax-toolbar>\n </div>\n <div class=\"ax-error-container\"></div>\n} @else {\n <div class=\"ax-loading-spinner-container\">\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n </div>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n\n@if (disabled) {\n <div class=\"ax-disable-overlay\"></div>\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-history',\n templateUrl: './image-editor-history.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorHistoryComponent }],\n})\nexport class AXImageEditorHistoryComponent {\n protected service = inject(AXImageEditorService);\n\n protected UndoHandler() {\n this.service.undoPressed.set(true);\n }\n protected RedoHandler() {\n this.service.redoPressed.set(true);\n }\n}\n","<ax-button axTooltip=\"Undo\" axTooltipPlacement=\"top\" (onClick)=\"UndoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Redo\" axTooltipPlacement=\"top\" (onClick)=\"RedoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorContainerComponent } from './image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from './image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from './image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorHistoryComponent } from './image-editor-tools/image-editor-history/image-editor-history.component';\nimport { AXImageEditorPenComponent } from './image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from './image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from './image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\n\nconst COMPONENT = [\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXDialogModule,\n AXTooltipModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXImageEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-image-editor.mjs","sources":["../tmp-esm2022/image-editor/lib/image-editor.service.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.js","../tmp-esm2022/image-editor/lib/image-editor-cropper-window/image-editor-cropper-window.component.js","../tmp-esm2022/image-editor/lib/image-editor-view/image-editor-view.component.js","../tmp-esm2022/image-editor/lib/image-editor-container/image-editor-container.component.js","../tmp-esm2022/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.js","../tmp-esm2022/image-editor/lib/image-editor.module.js","../tmp-esm2022/image-editor/acorex-components-image-editor.js"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXImageEditorService {\n constructor() {\n this.activeToolState = signal(null);\n this.penColor = signal('rgb(12, 12, 12)');\n this.highlightColor = signal('rgb(255, 210, 48)');\n this.penWidth = signal(10);\n this.highlightWidth = signal(10);\n this.penType = signal(null);\n this.rotate = signal({ state: 0, userInteract: false });\n this.isImageLoad = signal(false);\n this.newImage = signal(null);\n this.initialImage = signal(null);\n this.imageBlob = signal([]);\n this.undoPressed = signal(false);\n this.redoPressed = signal(false);\n this.cropperRatio = signal(null);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRUUsb0JBQWUsR0FBRyxNQUFNLENBQXNELElBQUksQ0FBQyxDQUFDO1FBQ3BGLGFBQVEsR0FBRyxNQUFNLENBQTBDLGlCQUFpQixDQUFDLENBQUM7UUFDOUUsbUJBQWMsR0FBRyxNQUFNLENBQTBDLG1CQUFtQixDQUFDLENBQUM7UUFDdEYsYUFBUSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM5QixtQkFBYyxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNwQyxZQUFPLEdBQUcsTUFBTSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUNqRCxpQkFBWSxHQUFHLE1BQU0sQ0FBMEIsSUFBSSxDQUFDLENBQUM7UUFDckQsY0FBUyxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMvQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixpQkFBWSxHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7S0FDN0M7OEdBZlksb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYSW1hZ2VFZGl0b3JTZXJ2aWNlIHtcbiAgYWN0aXZlVG9vbFN0YXRlID0gc2lnbmFsPCdwZW4nIHwgJ2hpZ2hsaWdodCcgfCAnY3JvcCcgfCAncm90YXRlJyB8ICdoaXN0b3J5Jz4obnVsbCk7XG4gIHBlbkNvbG9yID0gc2lnbmFsPHN0cmluZyB8IENhbnZhc0dyYWRpZW50IHwgQ2FudmFzUGF0dGVybj4oJ3JnYigxMiwgMTIsIDEyKScpO1xuICBoaWdobGlnaHRDb2xvciA9IHNpZ25hbDxzdHJpbmcgfCBDYW52YXNHcmFkaWVudCB8IENhbnZhc1BhdHRlcm4+KCdyZ2IoMjU1LCAyMTAsIDQ4KScpO1xuICBwZW5XaWR0aCA9IHNpZ25hbDxudW1iZXI+KDEwKTtcbiAgaGlnaGxpZ2h0V2lkdGggPSBzaWduYWw8bnVtYmVyPigxMCk7XG4gIHBlblR5cGUgPSBzaWduYWw8J3BlbicgfCAnaGlnaGxpZ2h0Jz4obnVsbCk7XG4gIHJvdGF0ZSA9IHNpZ25hbCh7IHN0YXRlOiAwLCB1c2VySW50ZXJhY3Q6IGZhbHNlIH0pO1xuICBpc0ltYWdlTG9hZCA9IHNpZ25hbChmYWxzZSk7XG4gIG5ld0ltYWdlID0gc2lnbmFsPEhUTUxJbWFnZUVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgaW5pdGlhbEltYWdlID0gc2lnbmFsPEhUTUxJbWFnZUVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgaW1hZ2VCbG9iID0gc2lnbmFsPEJsb2JbXT4oW10pO1xuICB1bmRvUHJlc3NlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlZG9QcmVzc2VkID0gc2lnbmFsKGZhbHNlKTtcbiAgY3JvcHBlclJhdGlvID0gc2lnbmFsPCcxOjEnIHwgJzE2OjknPihudWxsKTtcbn1cbiJdfQ==","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorCropComponent {\n constructor() {\n this.service = inject(AXImageEditorService);\n this.cropPressed = output();\n }\n cropButtonHandler() {\n this.cropPressed.emit();\n }\n ratioHandler(r) {\n if (this.service.cropperRatio()) {\n this.service.cropperRatio.set(null);\n }\n else {\n this.service.cropperRatio.set(r);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorCropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorCropComponent, isStandalone: true, selector: \"ax-image-editor-crop\", outputs: { cropPressed: \"cropPressed\" }, providers: [{ provide: AXComponent, useExisting: AXImageEditorCropComponent }], ngImport: i0, template: \"<ax-button (click)=\\\"cropButtonHandler()\\\" class=\\\"ax-crop-save ax-sm\\\" text=\\\"Crop\\\"></ax-button>\\n\\n<ax-button\\n [selected]=\\\"this.service.cropperRatio() === '1:1' ? true : false\\\"\\n [color]=\\\"this.service.cropperRatio() === '1:1' ? 'primary' : 'default'\\\"\\n (click)=\\\"ratioHandler('1:1')\\\"\\n class=\\\"ax-crop-save ax-sm\\\"\\n text=\\\"1:1\\\"\\n></ax-button>\\n<ax-button\\n [selected]=\\\"this.service.cropperRatio() === '16:9' ? true : false\\\"\\n [color]=\\\"this.service.cropperRatio() === '16:9' ? 'primary' : 'default'\\\"\\n (click)=\\\"ratioHandler('16:9')\\\"\\n class=\\\"ax-crop-save ax-sm\\\"\\n text=\\\"16:9\\\"\\n></ax-button>\\n\", dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorCropComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-crop', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent], providers: [{ provide: AXComponent, useExisting: AXImageEditorCropComponent }], template: \"<ax-button (click)=\\\"cropButtonHandler()\\\" class=\\\"ax-crop-save ax-sm\\\" text=\\\"Crop\\\"></ax-button>\\n\\n<ax-button\\n [selected]=\\\"this.service.cropperRatio() === '1:1' ? true : false\\\"\\n [color]=\\\"this.service.cropperRatio() === '1:1' ? 'primary' : 'default'\\\"\\n (click)=\\\"ratioHandler('1:1')\\\"\\n class=\\\"ax-crop-save ax-sm\\\"\\n text=\\\"1:1\\\"\\n></ax-button>\\n<ax-button\\n [selected]=\\\"this.service.cropperRatio() === '16:9' ? true : false\\\"\\n [color]=\\\"this.service.cropperRatio() === '16:9' ? 'primary' : 'default'\\\"\\n (click)=\\\"ratioHandler('16:9')\\\"\\n class=\\\"ax-crop-save ax-sm\\\"\\n text=\\\"16:9\\\"\\n></ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWNyb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLWNyb3AvaW1hZ2UtZWRpdG9yLWNyb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLWNyb3AvaW1hZ2UtZWRpdG9yLWNyb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbEU7OztHQUdHO0FBUUgsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQVFZLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO0tBYXhCO0lBWFcsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVTLFlBQVksQ0FBQyxDQUFpQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7OEdBZlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsNEdBRjFCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLDBCQ2RoRixnbkJBZ0JBLDRDREhZLGlCQUFpQjs7MkZBR2hCLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBRWpCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUNqQixDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLDRCQUE0QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYSW1hZ2VFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW1hZ2UtZWRpdG9yLnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1pbWFnZS1lZGl0b3ItY3JvcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1lZGl0b3ItY3JvcC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWEJ1dHRvbkNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEltYWdlRWRpdG9yQ3JvcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbWFnZUVkaXRvckNyb3BDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWEltYWdlRWRpdG9yU2VydmljZSk7XG5cbiAgY3JvcFByZXNzZWQgPSBvdXRwdXQoKTtcblxuICBwcm90ZWN0ZWQgY3JvcEJ1dHRvbkhhbmRsZXIoKSB7XG4gICAgdGhpcy5jcm9wUHJlc3NlZC5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmF0aW9IYW5kbGVyKHI6ICcxOjEnIHwgJzE2OjknKSB7XG4gICAgaWYgKHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8oKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpby5zZXQobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8uc2V0KHIpO1xuICAgIH1cbiAgfVxufVxuIiwiPGF4LWJ1dHRvbiAoY2xpY2spPVwiY3JvcEJ1dHRvbkhhbmRsZXIoKVwiIGNsYXNzPVwiYXgtY3JvcC1zYXZlIGF4LXNtXCIgdGV4dD1cIkNyb3BcIj48L2F4LWJ1dHRvbj5cblxuPGF4LWJ1dHRvblxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMToxJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuY3JvcHBlclJhdGlvKCkgPT09ICcxOjEnID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgKGNsaWNrKT1cInJhdGlvSGFuZGxlcignMToxJylcIlxuICBjbGFzcz1cImF4LWNyb3Atc2F2ZSBheC1zbVwiXG4gIHRleHQ9XCIxOjFcIlxuPjwvYXgtYnV0dG9uPlxuPGF4LWJ1dHRvblxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMTY6OScgPyB0cnVlIDogZmFsc2VcIlxuICBbY29sb3JdPVwidGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMTY6OScgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIlxuICAoY2xpY2spPVwicmF0aW9IYW5kbGVyKCcxNjo5JylcIlxuICBjbGFzcz1cImF4LWNyb3Atc2F2ZSBheC1zbVwiXG4gIHRleHQ9XCIxNjo5XCJcbj48L2F4LWJ1dHRvbj5cbiJdfQ==","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorHighlightComponent {\n constructor() {\n this.service = inject(AXImageEditorService);\n /** @ignore */\n this.selectedColor = signal(this.service.highlightColor());\n /** @ignore */\n this.value = this.service.highlightWidth();\n }\n changeColorHandler(e) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.highlightWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorHighlightComponent, isStandalone: true, selector: \"ax-image-editor-highlight\", providers: [{ provide: AXComponent, useExisting: AXImageEditorHighlightComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Highlight Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-image-editor-highlight{display:flex}ax-image-editor-highlight ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-highlight ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorHighlightComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-highlight', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXImageEditorHighlightComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Highlight Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-image-editor-highlight{display:flex}ax-image-editor-highlight ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-highlight ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWhpZ2hsaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItaGlnaGxpZ2h0L2ltYWdlLWVkaXRvci1oaWdobGlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLWhpZ2hsaWdodC9pbWFnZS1lZGl0b3ItaGlnaGxpZ2h0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbEU7OztHQUdHO0FBd0JILE1BQU0sT0FBTywrQkFBK0I7SUF2QjVDO1FBd0JZLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRCxjQUFjO1FBQ0osa0JBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLGNBQWM7UUFDSixVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztLQVdqRDtJQVRXLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBakJVLCtCQUErQjtrR0FBL0IsK0JBQStCLHdFQUYvQixDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FBQywwQkNqQ3JGLCtYQVlBLDZTRElZLG1CQUFtQiwwV0FBRSxXQUFXLCtWQUFFLHNCQUFzQjs7MkZBbUJ2RCwrQkFBK0I7a0JBdkIzQyxTQUFTOytCQUNFLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxtQkFDbEQsdUJBQXVCLENBQUMsTUFBTSxhQWdCcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxpQ0FBaUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvckJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1ib3gnO1xuaW1wb3J0IHsgQVhSYW5nZVNsaWRlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9yYW5nZS1zbGlkZXInO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbWFnZS1lZGl0b3Iuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWltYWdlLWVkaXRvci1oaWdobGlnaHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLWhpZ2hsaWdodC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWENvbG9yQm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQVhSYW5nZVNsaWRlckNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdHlsZXM6IGBcbiAgICBheC1pbWFnZS1lZGl0b3ItaGlnaGxpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYSW1hZ2VFZGl0b3JIaWdobGlnaHRDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYSW1hZ2VFZGl0b3JIaWdobGlnaHRDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWEltYWdlRWRpdG9yU2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlbGVjdGVkQ29sb3IgPSBzaWduYWwodGhpcy5zZXJ2aWNlLmhpZ2hsaWdodENvbG9yKCkpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZSA9IHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aCgpO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VDb2xvckhhbmRsZXIoZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodENvbG9yLnNldChlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3Iuc2V0KGUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHZhbHVlSGFuZGxlcihlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlcnZpY2UuaGlnaGxpZ2h0V2lkdGguc2V0KGUpO1xuICB9XG59XG4iLCI8YXgtY29sb3ItYm94XG4gIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxuICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICBheFRvb2x0aXA9XCJIaWdobGlnaHQgQ29sb3IgUGlja2VyXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgbG9vaz1cIm5vbmVcIlxuICBbbmdNb2RlbF09XCJzZWxlY3RlZENvbG9yKClcIlxuICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VDb2xvckhhbmRsZXIoJGV2ZW50KVwiXG4+XG48L2F4LWNvbG9yLWJveD5cblxuPGF4LXJhbmdlLXNsaWRlciBbbWluXT1cIjJcIiBbbWF4XT1cIjIwXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlSGFuZGxlcigkZXZlbnQpXCI+PC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorPenComponent {\n constructor() {\n this.service = inject(AXImageEditorService);\n /** @ignore */\n this.value = this.service.penWidth();\n /** @ignore */\n this.selectedColor = signal(this.service.penColor());\n }\n changeColorHandler(e) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.penWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorPenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorPenComponent, isStandalone: true, selector: \"ax-image-editor-pen\", providers: [{ provide: AXComponent, useExisting: AXImageEditorPenComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-image-editor-pen{display:flex}ax-image-editor-pen ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-pen ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorPenComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-pen', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXImageEditorPenComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-image-editor-pen{display:flex}ax-image-editor-pen ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-pen ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLXBlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItcGVuL2ltYWdlLWVkaXRvci1wZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLXBlbi9pbWFnZS1lZGl0b3ItcGVuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbEU7OztHQUdHO0FBd0JILE1BQU0sT0FBTyx5QkFBeUI7SUF2QnRDO1FBd0JZLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRCxjQUFjO1FBQ0osVUFBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFMUMsY0FBYztRQUNKLGtCQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQVczRDtJQVRXLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7OEdBakJVLHlCQUF5QjtrR0FBekIseUJBQXlCLGtFQUZ6QixDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQywwQkNqQy9FLHlYQVlBLDJSRElZLG1CQUFtQiwwV0FBRSxXQUFXLCtWQUFFLHNCQUFzQjs7MkZBbUJ2RCx5QkFBeUI7a0JBdkJyQyxTQUFTOytCQUNFLHFCQUFxQixpQkFFaEIsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxtQkFDbEQsdUJBQXVCLENBQUMsTUFBTSxhQWdCcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvckJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1ib3gnO1xuaW1wb3J0IHsgQVhSYW5nZVNsaWRlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9yYW5nZS1zbGlkZXInO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbWFnZS1lZGl0b3Iuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWltYWdlLWVkaXRvci1wZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLXBlbi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWENvbG9yQm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQVhSYW5nZVNsaWRlckNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdHlsZXM6IGBcbiAgICBheC1pbWFnZS1lZGl0b3ItcGVuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYSW1hZ2VFZGl0b3JQZW5Db21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYSW1hZ2VFZGl0b3JQZW5Db21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWEltYWdlRWRpdG9yU2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHZhbHVlID0gdGhpcy5zZXJ2aWNlLnBlbldpZHRoKCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlbGVjdGVkQ29sb3IgPSBzaWduYWwodGhpcy5zZXJ2aWNlLnBlbkNvbG9yKCkpO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VDb2xvckhhbmRsZXIoZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnBlbkNvbG9yLnNldChlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3Iuc2V0KGUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHZhbHVlSGFuZGxlcihlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlcnZpY2UucGVuV2lkdGguc2V0KGUpO1xuICB9XG59XG4iLCI8YXgtY29sb3ItYm94XG4gIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxuICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICBheFRvb2x0aXA9XCJQZW4gQ29sb3IgUGlja2VyXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgbG9vaz1cIm5vbmVcIlxuICBbbmdNb2RlbF09XCJzZWxlY3RlZENvbG9yKClcIlxuICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VDb2xvckhhbmRsZXIoJGV2ZW50KVwiXG4+XG48L2F4LWNvbG9yLWJveD5cblxuPGF4LXJhbmdlLXNsaWRlciBbbWluXT1cIjJcIiBbbWF4XT1cIjIwXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlSGFuZGxlcigkZXZlbnQpXCI+PC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorRotateComponent {\n constructor() {\n /** @ignore */\n this.service = inject(AXImageEditorService);\n }\n /** @ignore */\n rotateRightHandler() {\n this.service.rotate.set({ state: 90, userInteract: true });\n }\n /** @ignore */\n rotateLeftHandler() {\n this.service.rotate.set({ state: -90, userInteract: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorRotateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorRotateComponent, isStandalone: true, selector: \"ax-image-editor-rotate\", providers: [{ provide: AXComponent, useExisting: AXImageEditorRotateComponent }], ngImport: i0, template: \"<ax-button axTooltip=\\\"Rotate Left\\\" axTooltipPlacement=\\\"top\\\" (click)=\\\"rotateLeftHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-arrow-turn-left\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button axTooltip=\\\"Rotate Right\\\" axTooltipPlacement=\\\"top\\\" (click)=\\\"rotateRightHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-arrow-turn-right\\\"></ax-icon>\\n</ax-button>\\n\", dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"directive\", type: AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltip\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorRotateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-rotate', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXImageEditorRotateComponent }], template: \"<ax-button axTooltip=\\\"Rotate Left\\\" axTooltipPlacement=\\\"top\\\" (click)=\\\"rotateLeftHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-arrow-turn-left\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button axTooltip=\\\"Rotate Right\\\" axTooltipPlacement=\\\"top\\\" (click)=\\\"rotateRightHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-arrow-turn-right\\\"></ax-icon>\\n</ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLXJvdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3Itcm90YXRlL2ltYWdlLWVkaXRvci1yb3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLXJvdGF0ZS9pbWFnZS1lZGl0b3Itcm90YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbEU7OztHQUdHO0FBU0gsTUFBTSxPQUFPLDRCQUE0QjtJQVJ6QztRQVNFLGNBQWM7UUFDSixZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FXbEQ7SUFUQyxjQUFjO0lBQ0osa0JBQWtCO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGNBQWM7SUFDSixpQkFBaUI7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7OEdBWlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIscUVBRjVCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLDBCQ2pCbEYsdVlBT0EsNENEUVksaUJBQWlCLDJVQUFFLGtCQUFrQiwwTEFBRSx3QkFBd0I7OzJGQUk5RCw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0Usd0JBQXdCLGlCQUVuQixpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUMsbUJBQ3pELHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyw4QkFBOEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYSW1hZ2VFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW1hZ2UtZWRpdG9yLnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1pbWFnZS1lZGl0b3Itcm90YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWVkaXRvci1yb3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQVhCdXR0b25Db21wb25lbnQsIEFYVG9vbHRpcERpcmVjdGl2ZSwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEltYWdlRWRpdG9yUm90YXRlQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWEltYWdlRWRpdG9yUm90YXRlQ29tcG9uZW50IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhJbWFnZUVkaXRvclNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByb3RhdGVSaWdodEhhbmRsZXIoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnJvdGF0ZS5zZXQoeyBzdGF0ZTogOTAsIHVzZXJJbnRlcmFjdDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByb3RhdGVMZWZ0SGFuZGxlcigpIHtcbiAgICB0aGlzLnNlcnZpY2Uucm90YXRlLnNldCh7IHN0YXRlOiAtOTAsIHVzZXJJbnRlcmFjdDogdHJ1ZSB9KTtcbiAgfVxufVxuIiwiPGF4LWJ1dHRvbiBheFRvb2x0aXA9XCJSb3RhdGUgTGVmdFwiIGF4VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiIChjbGljayk9XCJyb3RhdGVMZWZ0SGFuZGxlcigpXCIgbG9vaz1cImJsYW5rXCI+XG4gIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWFycm93LXR1cm4tbGVmdFwiPjwvYXgtaWNvbj5cbjwvYXgtYnV0dG9uPlxuXG48YXgtYnV0dG9uIGF4VG9vbHRpcD1cIlJvdGF0ZSBSaWdodFwiIGF4VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiIChjbGljayk9XCJyb3RhdGVSaWdodEhhbmRsZXIoKVwiIGxvb2s9XCJibGFua1wiPlxuICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1hcnJvdy10dXJuLXJpZ2h0XCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorToolSelectorComponent {\n constructor() {\n this.service = inject(AXImageEditorService);\n }\n changeToolHandler(tool) {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n this.service.activeToolState.set(tool);\n if (tool === 'pen' || tool === 'highlight') {\n this.service.penType.set(tool);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorToolSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorToolSelectorComponent, isStandalone: true, selector: \"ax-image-editor-tool-selector\", providers: [{ provide: AXComponent, useExisting: AXImageEditorToolSelectorComponent }], ngImport: i0, template: \"<ax-button\\n axTooltip=\\\"pen\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"highlight\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"crop\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('crop')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'crop' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-crop\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"rotate\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('rotate')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'rotate' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\", dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"directive\", type: AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltip\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorToolSelectorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-tool-selector', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective], providers: [{ provide: AXComponent, useExisting: AXImageEditorToolSelectorComponent }], template: \"<ax-button\\n axTooltip=\\\"pen\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"highlight\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"crop\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('crop')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'crop' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-crop\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n axTooltip=\\\"rotate\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('rotate')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'rotate' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IvaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IvaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbEU7OztHQUdHO0FBUUgsTUFBTSxPQUFPLGtDQUFrQztJQVAvQztRQVFZLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWNsRDtJQVpXLGlCQUFpQixDQUFDLElBQTZDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7OEdBZFUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsNEVBRmxDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLDBCQ2hCeEYsczVDQTJDQSw0Q0Q1QlksaUJBQWlCLDBVQUFFLGlCQUFpQixnSUFBRSxrQkFBa0I7OzJGQUd2RCxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0UsK0JBQStCLGlCQUUxQixpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsYUFDeEQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxvQ0FBb0MsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2ltYWdlLWVkaXRvci5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBtb2RlLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQVhCdXR0b25Db21wb25lbnQsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFRvb2x0aXBEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhJbWFnZUVkaXRvclRvb2xTZWxlY3RvckNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbWFnZUVkaXRvclRvb2xTZWxlY3RvckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYSW1hZ2VFZGl0b3JTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgY2hhbmdlVG9vbEhhbmRsZXIodG9vbDogJ3BlbicgfCAnaGlnaGxpZ2h0JyB8ICdjcm9wJyB8ICdyb3RhdGUnKSB7XG4gICAgaWYgKHRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUoKSA9PT0gdG9vbCkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZS5zZXQobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZS5zZXQodG9vbCk7XG5cbiAgICBpZiAodG9vbCA9PT0gJ3BlbicgfHwgdG9vbCA9PT0gJ2hpZ2hsaWdodCcpIHtcbiAgICAgIHRoaXMuc2VydmljZS5wZW5UeXBlLnNldCh0b29sKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxheC1idXR0b25cbiAgYXhUb29sdGlwPVwicGVuXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgKG9uQ2xpY2spPVwiY2hhbmdlVG9vbEhhbmRsZXIoJ3BlbicpXCJcbiAgbG9vaz1cImJsYW5rXCJcbiAgW3NlbGVjdGVkXT1cInRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUoKSA9PT0gJ3BlbicgPyB0cnVlIDogZmFsc2VcIlxuICBbY29sb3JdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAncGVuJyA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4+XG4gIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXBlblwiPjwvYXgtaWNvbj5cbjwvYXgtYnV0dG9uPlxuXG48YXgtYnV0dG9uXG4gIGF4VG9vbHRpcD1cImhpZ2hsaWdodFwiXG4gIGF4VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gIChvbkNsaWNrKT1cImNoYW5nZVRvb2xIYW5kbGVyKCdoaWdobGlnaHQnKVwiXG4gIGxvb2s9XCJibGFua1wiXG4gIFtzZWxlY3RlZF09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdoaWdobGlnaHQnID8gdHJ1ZSA6IGZhbHNlXCJcbiAgW2NvbG9yXT1cInRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUoKSA9PT0gJ2hpZ2hsaWdodCcgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIlxuPlxuICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1oaWdobGlnaHRcIj48L2F4LWljb24+XG48L2F4LWJ1dHRvbj5cblxuPGF4LWJ1dHRvblxuICBheFRvb2x0aXA9XCJjcm9wXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgKG9uQ2xpY2spPVwiY2hhbmdlVG9vbEhhbmRsZXIoJ2Nyb3AnKVwiXG4gIGxvb2s9XCJibGFua1wiXG4gIFtzZWxlY3RlZF09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdjcm9wJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdjcm9wJyA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4+XG4gIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNyb3BcIj48L2F4LWljb24+XG48L2F4LWJ1dHRvbj5cblxuPGF4LWJ1dHRvblxuICBheFRvb2x0aXA9XCJyb3RhdGVcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcigncm90YXRlJylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAncm90YXRlJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdyb3RhdGUnID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1yb3RhdGVcIj48L2k+XG48L2F4LWJ1dHRvbj5cbiJdfQ==","import { AXComponent } from '@acorex/cdk/common';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, NgZone, PLATFORM_ID, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXImageEditorService } from '../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorCropperWindowComponent {\n constructor() {\n this.showGrid = input(true);\n this.service = inject(AXImageEditorService);\n this.ngZone = inject(NgZone);\n this.selectedHandle = signal(null);\n this.panState = signal(false);\n this.elementRef = inject(ElementRef);\n this.cropperWindow = viewChild('r');\n this.currentX = signal(-45);\n this.currentY = signal(-45);\n this.prevX = signal(0);\n this.prevY = signal(0);\n this.renderer = inject(Renderer2);\n this.platformID = inject(PLATFORM_ID);\n this.#eff = effect(() => {\n const host = this.elementRef.nativeElement;\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n }\n else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${266.6}px`;\n host.style.height = `${150}px`;\n }\n else {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n }\n });\n this.#init = afterNextRender(() => {\n const host = this.elementRef.nativeElement;\n this.ngZone.runOutsideAngular(() => {\n this.mouseMoveEvent = this.renderer.listen(document, 'pointermove', this.changeSizeHandler.bind(this));\n this.mouseUpEvent = this.renderer.listen(document, 'pointerup', this.clearSelector.bind(this));\n this.mouseDownEvent = this.renderer.listen(host, 'pointerdown', this.panDown.bind(this));\n this.mouseMoveEvent2 = this.renderer.listen(host, 'pointermove', this.panMove.bind(this));\n this.mouseUpEvent2 = this.renderer.listen(host, 'pointerup', this.panUp.bind(this));\n this.mouseLeaveEvent = this.renderer.listen(host, 'pointerleave', this.panUp.bind(this));\n });\n });\n this.#positionChange = effect(() => {\n this.setPosition(this.currentX(), this.currentY());\n });\n this.edgeCase = false;\n }\n #eff;\n #init;\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent) {\n this.mouseMoveEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent) {\n this.mouseUpEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseDownEvent) {\n this.mouseDownEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent2) {\n this.mouseMoveEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent2) {\n this.mouseUpEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseLeaveEvent) {\n this.mouseLeaveEvent();\n }\n }\n #positionChange;\n panMove(e) {\n if (this.selectedHandle())\n return;\n if (!this.panState())\n return;\n const currentX = e.clientX;\n const currentY = e.clientY;\n const deltaX = currentX - this.prevX();\n const deltaY = currentY - this.prevY();\n this.currentX.update((prev) => prev + deltaX);\n this.currentY.update((prev) => prev + deltaY);\n this.prevX.set(currentX);\n this.prevY.set(currentY);\n }\n panDown(e) {\n if (this.selectedHandle())\n return;\n this.panState.set(true);\n this.prevX.set(e.clientX);\n this.prevY.set(e.clientY);\n }\n panUp() {\n if (this.selectedHandle())\n return;\n this.panState.set(false);\n }\n getCropperArea() {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n setPosition(posX, posY) {\n const el = this.elementRef.nativeElement;\n el.style.transform = `translate(${posX}px, ${posY}px)`;\n }\n handleSelector(e, value) {\n if (this.panState())\n return;\n const host = this.elementRef.nativeElement;\n this.startX = e.clientX;\n this.startY = e.clientY;\n this.startWidth = host.offsetWidth;\n this.startHeight = host.offsetHeight;\n this.startLeft = host.offsetLeft;\n this.startTop = host.offsetTop;\n this.selectedHandle.set(value);\n }\n changeSizeHandler(e) {\n if (this.panState())\n return;\n if (!this.selectedHandle())\n return;\n const host = this.elementRef.nativeElement;\n const rect = host.getBoundingClientRect();\n const dy = e.clientY - this.startY;\n const dx = e.clientX - this.startX;\n if (rect.width < 20 || rect.height < 20) {\n this.edgeCase = true;\n return;\n }\n switch (this.selectedHandle()) {\n case 'right':\n host.style.width = `${e.movementX + rect.width}px`;\n break;\n case 'top':\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n break;\n case 'left':\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n break;\n case 'bottom':\n host.style.height = `${rect.height + e.movementY}px`;\n break;\n case 'right-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${this.startHeight - dy}px`;\n }\n else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${(this.startHeight - dy) * 1.77}px`;\n }\n else {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-right':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${e.movementX + rect.width}px`;\n host.style.height = `${e.movementX + rect.width}px`;\n }\n else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${e.movementX + rect.height}px`;\n host.style.width = `${(e.movementX + rect.height) * 1.77}px`;\n }\n else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-left':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startWidth - dx}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n break;\n case 'left-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startWidth - dx}px`;\n host.style.top = `${this.startLeft + dx}px`;\n }\n else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.top = `${this.startLeft + dx}px`;\n }\n else {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n }\n }\n }\n clearSelector() {\n if (this.panState())\n return;\n const host = this.elementRef.nativeElement;\n if (this.edgeCase) {\n host.style.height = `20px`;\n host.style.width = `20px`;\n this.edgeCase = false;\n }\n this.selectedHandle.set(null);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorCropperWindowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: AXImageEditorCropperWindowComponent, isStandalone: true, selector: \"ax-image-editor-cropper-window\", inputs: { showGrid: { classPropertyName: \"showGrid\", publicName: \"showGrid\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXImageEditorCropperWindowComponent }], viewQueries: [{ propertyName: \"cropperWindow\", first: true, predicate: [\"r\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div [ngStyle]=\\\"!showGrid() && { border: '1px dashed white' }\\\" #r class=\\\"ax-image-cropper-window-container\\\">\\n @if (!this.service.cropperRatio()) {\\n <div (pointerdown)=\\\"handleSelector($event, 'right')\\\" class=\\\"ax-image-right-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'top')\\\" class=\\\"ax-image-top-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'left')\\\" class=\\\"ax-image-left-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'bottom')\\\" class=\\\"ax-image-bottom-handle ax-handle-shape\\\"></div>\\n }\\n\\n <div (pointerdown)=\\\"handleSelector($event, 'right-top')\\\" class=\\\"ax-image-right-top-handle ax-handle-shape\\\"></div>\\n <div\\n (pointerdown)=\\\"handleSelector($event, 'bottom-right')\\\"\\n class=\\\"ax-image-bottom-right-handle ax-handle-shape\\\"\\n ></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'bottom-left')\\\" class=\\\"ax-image-bottom-left-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'left-top')\\\" class=\\\"ax-image-left-top-handle ax-handle-shape\\\"></div>\\n\\n @if (showGrid()) {\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-image-editor-cropper-window{position:absolute;top:45%;left:45%;-webkit-user-select:none;user-select:none;touch-action:none}ax-image-editor-cropper-window .ax-image-cropper-window-container{position:relative;height:100%;cursor:move;outline:rgba(0,0,0,.7) solid 100vmax;display:grid;grid-template-columns:repeat(3,1fr)}ax-image-editor-cropper-window .ax-image-cropper-window-container .ax-grid-item{border:1px dashed rgba(255,255,255,.5)}ax-image-editor-cropper-window .ax-handle-shape{width:1rem;height:1rem;border:1px dashed white;background-color:gray;position:absolute;-webkit-user-select:none;user-select:none}ax-image-editor-cropper-window .ax-image-right-top-handle{top:-.5rem;right:-.5rem;cursor:ne-resize}ax-image-editor-cropper-window .ax-image-bottom-right-handle{bottom:-.5rem;right:-.5rem;cursor:se-resize}ax-image-editor-cropper-window .ax-image-right-handle{right:-.5rem;top:calc(50% - .5rem);cursor:e-resize}ax-image-editor-cropper-window .ax-image-bottom-left-handle{bottom:-.5rem;left:-.5rem;cursor:sw-resize}ax-image-editor-cropper-window .ax-image-left-top-handle{top:-.5rem;left:-.5rem;cursor:nw-resize}ax-image-editor-cropper-window .ax-image-bottom-handle{bottom:-.5rem;right:calc(50% - .5rem);cursor:s-resize}ax-image-editor-cropper-window .ax-image-left-handle{left:-.5rem;top:calc(50% - .5rem);cursor:w-resize}ax-image-editor-cropper-window .ax-image-top-handle{top:-.5rem;right:calc(50% - .5rem);cursor:n-resize}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorCropperWindowComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-cropper-window', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], providers: [{ provide: AXComponent, useExisting: AXImageEditorCropperWindowComponent }], template: \"<div [ngStyle]=\\\"!showGrid() && { border: '1px dashed white' }\\\" #r class=\\\"ax-image-cropper-window-container\\\">\\n @if (!this.service.cropperRatio()) {\\n <div (pointerdown)=\\\"handleSelector($event, 'right')\\\" class=\\\"ax-image-right-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'top')\\\" class=\\\"ax-image-top-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'left')\\\" class=\\\"ax-image-left-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'bottom')\\\" class=\\\"ax-image-bottom-handle ax-handle-shape\\\"></div>\\n }\\n\\n <div (pointerdown)=\\\"handleSelector($event, 'right-top')\\\" class=\\\"ax-image-right-top-handle ax-handle-shape\\\"></div>\\n <div\\n (pointerdown)=\\\"handleSelector($event, 'bottom-right')\\\"\\n class=\\\"ax-image-bottom-right-handle ax-handle-shape\\\"\\n ></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'bottom-left')\\\" class=\\\"ax-image-bottom-left-handle ax-handle-shape\\\"></div>\\n <div (pointerdown)=\\\"handleSelector($event, 'left-top')\\\" class=\\\"ax-image-left-top-handle ax-handle-shape\\\"></div>\\n\\n @if (showGrid()) {\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n <div class=\\\"ax-grid-item\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-image-editor-cropper-window{position:absolute;top:45%;left:45%;-webkit-user-select:none;user-select:none;touch-action:none}ax-image-editor-cropper-window .ax-image-cropper-window-container{position:relative;height:100%;cursor:move;outline:rgba(0,0,0,.7) solid 100vmax;display:grid;grid-template-columns:repeat(3,1fr)}ax-image-editor-cropper-window .ax-image-cropper-window-container .ax-grid-item{border:1px dashed rgba(255,255,255,.5)}ax-image-editor-cropper-window .ax-handle-shape{width:1rem;height:1rem;border:1px dashed white;background-color:gray;position:absolute;-webkit-user-select:none;user-select:none}ax-image-editor-cropper-window .ax-image-right-top-handle{top:-.5rem;right:-.5rem;cursor:ne-resize}ax-image-editor-cropper-window .ax-image-bottom-right-handle{bottom:-.5rem;right:-.5rem;cursor:se-resize}ax-image-editor-cropper-window .ax-image-right-handle{right:-.5rem;top:calc(50% - .5rem);cursor:e-resize}ax-image-editor-cropper-window .ax-image-bottom-left-handle{bottom:-.5rem;left:-.5rem;cursor:sw-resize}ax-image-editor-cropper-window .ax-image-left-top-handle{top:-.5rem;left:-.5rem;cursor:nw-resize}ax-image-editor-cropper-window .ax-image-bottom-handle{bottom:-.5rem;right:calc(50% - .5rem);cursor:s-resize}ax-image-editor-cropper-window .ax-image-left-handle{left:-.5rem;top:calc(50% - .5rem);cursor:w-resize}ax-image-editor-cropper-window .ax-image-top-handle{top:-.5rem;right:calc(50% - .5rem);cursor:n-resize}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvaW1hZ2UtZWRpdG9yL3NyYy9saWIvaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93L2ltYWdlLWVkaXRvci1jcm9wcGVyLXdpbmRvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci1jcm9wcGVyLXdpbmRvdy9pbWFnZS1lZGl0b3ItY3JvcHBlci13aW5kb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFL0Q7OztHQUdHO0FBVUgsTUFBTSxPQUFPLG1DQUFtQztJQVRoRDtRQVVFLGFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFYixZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBUyxJQUFJLENBQUMsQ0FBQztR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LFdBQVcsRUFBRSxXQUFXLHFDQUFxQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYSW1hZ2VFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vaW1hZ2UtZWRpdG9yLnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1pbWFnZS1lZGl0b3ItY3JvcHBlci13aW5kb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmw6ICcuL2ltYWdlLWVkaXRvci1jcm9wcGVyLXdpbmRvdy5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYSW1hZ2VFZGl0b3JDcm9wcGVyV2luZG93Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWEltYWdlRWRpdG9yQ3JvcHBlcldpbmRvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHNob3dHcmlkID0gaW5wdXQodHJ1ZSk7XG5cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhJbWFnZUVkaXRvclNlcnZpY2UpO1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHNlbGVjdGVkSGFuZGxlID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHByaXZhdGUgcGFuU3RhdGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByb3RlY3RlZCBjcm9wcGVyV2luZG93ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdyJyk7XG4gIHByaXZhdGUgY3VycmVudFggPSBzaWduYWwoLTQ1KTtcbiAgcHJpdmF0ZSBjdXJyZW50WSA9IHNpZ25hbCgtNDUpO1xuICBwcml2YXRlIHByZXZYID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHByZXZZID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHJpdmF0ZSBtb3VzZU1vdmVFdmVudDogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBtb3VzZVVwRXZlbnQ6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgbW91c2VNb3ZlRXZlbnQyOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIG1vdXNlVXBFdmVudDI6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgbW91c2VEb3duRXZlbnQ6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgbW91c2VMZWF2ZUV2ZW50OiAoKSA9PiB2b2lkO1xuXG4gICNlZmYgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMToxJykge1xuICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAkezE1MH1weGA7XG4gICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAkezE1MH1weGA7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlcnZpY2UuY3JvcHBlclJhdGlvKCkgPT09ICcxNjo5Jykge1xuICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAkezI2Ni42fXB4YDtcbiAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7MTUwfXB4YDtcbiAgICB9IGVsc2Uge1xuICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAkezE1MH1weGA7XG4gICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAkezE1MH1weGA7XG4gICAgfVxuICB9KTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZU1vdmVFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRvY3VtZW50LCAncG9pbnRlcm1vdmUnLCB0aGlzLmNoYW5nZVNpemVIYW5kbGVyLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5tb3VzZVVwRXZlbnQgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbihkb2N1bWVudCwgJ3BvaW50ZXJ1cCcsIHRoaXMuY2xlYXJTZWxlY3Rvci5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMubW91c2VEb3duRXZlbnQgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAncG9pbnRlcmRvd24nLCB0aGlzLnBhbkRvd24uYmluZCh0aGlzKSk7XG4gICAgICB0aGlzLm1vdXNlTW92ZUV2ZW50MiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdwb2ludGVybW92ZScsIHRoaXMucGFuTW92ZS5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMubW91c2VVcEV2ZW50MiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdwb2ludGVydXAnLCB0aGlzLnBhblVwLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5tb3VzZUxlYXZlRXZlbnQgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAncG9pbnRlcmxlYXZlJywgdGhpcy5wYW5VcC5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgdGhpcy5tb3VzZU1vdmVFdmVudCkge1xuICAgICAgdGhpcy5tb3VzZU1vdmVFdmVudCgpO1xuICAgIH1cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSAmJiB0aGlzLm1vdXNlVXBFdmVudCkge1xuICAgICAgdGhpcy5tb3VzZVVwRXZlbnQoKTtcbiAgICB9XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgdGhpcy5tb3VzZURvd25FdmVudCkge1xuICAgICAgdGhpcy5tb3VzZURvd25FdmVudCgpO1xuICAgIH1cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSAmJiB0aGlzLm1vdXNlTW92ZUV2ZW50Mikge1xuICAgICAgdGhpcy5tb3VzZU1vdmVFdmVudDIoKTtcbiAgICB9XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgdGhpcy5tb3VzZVVwRXZlbnQyKSB7XG4gICAgICB0aGlzLm1vdXNlVXBFdmVudDIoKTtcbiAgICB9XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgdGhpcy5tb3VzZUxlYXZlRXZlbnQpIHtcbiAgICAgIHRoaXMubW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgI3Bvc2l0aW9uQ2hhbmdlID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnNldFBvc2l0aW9uKHRoaXMuY3VycmVudFgoKSwgdGhpcy5jdXJyZW50WSgpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHBhbk1vdmUoZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSGFuZGxlKCkpIHJldHVybjtcbiAgICBpZiAoIXRoaXMucGFuU3RhdGUoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFggPSBlLmNsaWVudFg7XG4gICAgY29uc3QgY3VycmVudFkgPSBlLmNsaWVudFk7XG4gICAgY29uc3QgZGVsdGFYID0gY3VycmVudFggLSB0aGlzLnByZXZYKCk7XG4gICAgY29uc3QgZGVsdGFZID0gY3VycmVudFkgLSB0aGlzLnByZXZZKCk7XG4gICAgdGhpcy5jdXJyZW50WC51cGRhdGUoKHByZXYpID0+IHByZXYgKyBkZWx0YVgpO1xuICAgIHRoaXMuY3VycmVudFkudXBkYXRlKChwcmV2KSA9PiBwcmV2ICsgZGVsdGFZKTtcbiAgICB0aGlzLnByZXZYLnNldChjdXJyZW50WCk7XG4gICAgdGhpcy5wcmV2WS5zZXQoY3VycmVudFkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhbkRvd24oZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSGFuZGxlKCkpIHJldHVybjtcbiAgICB0aGlzLnBhblN0YXRlLnNldCh0cnVlKTtcbiAgICB0aGlzLnByZXZYLnNldChlLmNsaWVudFgpO1xuICAgIHRoaXMucHJldlkuc2V0KGUuY2xpZW50WSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFuVXAoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRIYW5kbGUoKSkgcmV0dXJuO1xuICAgIHRoaXMucGFuU3RhdGUuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDcm9wcGVyQXJlYSgpIHtcbiAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24ocG9zWDogbnVtYmVyLCBwb3NZOiBudW1iZXIpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGVsLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHtwb3NYfXB4LCAke3Bvc1l9cHgpYDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRYOiBudW1iZXI7XG4gIHByaXZhdGUgc3RhcnRZOiBudW1iZXI7XG4gIHByaXZhdGUgc3RhcnRXaWR0aDogbnVtYmVyO1xuICBwcml2YXRlIHN0YXJ0SGVpZ2h0OiBudW1iZXI7XG4gIHByaXZhdGUgc3RhcnRMZWZ0OiBudW1iZXI7XG4gIHByaXZhdGUgc3RhcnRUb3A6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGVkZ2VDYXNlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RvcihlOiBNb3VzZUV2ZW50LCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucGFuU3RhdGUoKSkgcmV0dXJuO1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnN0YXJ0WCA9IGUuY2xpZW50WDtcbiAgICB0aGlzLnN0YXJ0WSA9IGUuY2xpZW50WTtcbiAgICB0aGlzLnN0YXJ0V2lkdGggPSBob3N0Lm9mZnNldFdpZHRoO1xuICAgIHRoaXMuc3RhcnRIZWlnaHQgPSBob3N0Lm9mZnNldEhlaWdodDtcbiAgICB0aGlzLnN0YXJ0TGVmdCA9IGhvc3Qub2Zmc2V0TGVmdDtcbiAgICB0aGlzLnN0YXJ0VG9wID0gaG9zdC5vZmZzZXRUb3A7XG4gICAgdGhpcy5zZWxlY3RlZEhhbmRsZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZVNpemVIYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wYW5TdGF0ZSgpKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkSGFuZGxlKCkpIHJldHVybjtcblxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCByZWN0ID0gaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IGR5ID0gZS5jbGllbnRZIC0gdGhpcy5zdGFydFk7XG4gICAgY29uc3QgZHggPSBlLmNsaWVudFggLSB0aGlzLnN0YXJ0WDtcblxuICAgIGlmIChyZWN0LndpZHRoIDwgMjAgfHwgcmVjdC5oZWlnaHQgPCAyMCkge1xuICAgICAgdGhpcy5lZGdlQ2FzZSA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkSGFuZGxlKCkpIHtcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAke2UubW92ZW1lbnRYICsgcmVjdC53aWR0aH1weGA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgaG9zdC5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLnN0YXJ0SGVpZ2h0IC0gZHl9cHhgO1xuICAgICAgICBob3N0LnN0eWxlLnRvcCA9IGAke3RoaXMuc3RhcnRUb3AgKyBkeX1weGA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHt0aGlzLnN0YXJ0V2lkdGggLSBkeH1weGA7XG4gICAgICAgIGhvc3Quc3R5bGUubGVmdCA9IGAke3RoaXMuc3RhcnRMZWZ0ICsgZHh9cHhgO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7cmVjdC5oZWlnaHQgKyBlLm1vdmVtZW50WX1weGA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQtdG9wJzpcbiAgICAgICAgaWYgKHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8oKSA9PT0gJzE6MScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuc3RhcnRIZWlnaHQgLSBkeX1weGA7XG4gICAgICAgICAgaG9zdC5zdHlsZS50b3AgPSBgJHt0aGlzLnN0YXJ0VG9wICsgZHl9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHt0aGlzLnN0YXJ0SGVpZ2h0IC0gZHl9cHhgO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8oKSA9PT0gJzE2OjknKSB7XG4gICAgICAgICAgaG9zdC5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLnN0YXJ0SGVpZ2h0IC0gZHl9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUudG9wID0gYCR7dGhpcy5zdGFydFRvcCArIGR5fXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLndpZHRoID0gYCR7KHRoaXMuc3RhcnRIZWlnaHQgLSBkeSkgKiAxLjc3fXB4YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuc3RhcnRIZWlnaHQgLSBkeX1weGA7XG4gICAgICAgICAgaG9zdC5zdHlsZS50b3AgPSBgJHt0aGlzLnN0YXJ0VG9wICsgZHl9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHtlLm1vdmVtZW50WCArIHJlY3Qud2lkdGh9cHhgO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLXJpZ2h0JzpcbiAgICAgICAgaWYgKHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8oKSA9PT0gJzE6MScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLndpZHRoID0gYCR7ZS5tb3ZlbWVudFggKyByZWN0LndpZHRofXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke2UubW92ZW1lbnRYICsgcmVjdC53aWR0aH1weGA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMTY6OScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke2UubW92ZW1lbnRYICsgcmVjdC5oZWlnaHR9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHsoZS5tb3ZlbWVudFggKyByZWN0LmhlaWdodCkgKiAxLjc3fXB4YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke3JlY3QuaGVpZ2h0ICsgZS5tb3ZlbWVudFl9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHtlLm1vdmVtZW50WCArIHJlY3Qud2lkdGh9cHhgO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMToxJykge1xuICAgICAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5zdGFydFdpZHRoIC0gZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgJHt0aGlzLnN0YXJ0V2lkdGggLSBkeH1weGA7XG4gICAgICAgICAgaG9zdC5zdHlsZS5sZWZ0ID0gYCR7dGhpcy5zdGFydExlZnQgKyBkeH1weGA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMTY6OScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAkeyh0aGlzLnN0YXJ0V2lkdGggLSBkeCkgLyAxLjc3fXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLndpZHRoID0gYCR7dGhpcy5zdGFydFdpZHRoIC0gZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUubGVmdCA9IGAke3RoaXMuc3RhcnRMZWZ0ICsgZHh9cHhgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7cmVjdC5oZWlnaHQgKyBlLm1vdmVtZW50WX1weGA7XG4gICAgICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAke3RoaXMuc3RhcnRXaWR0aCAtIGR4fXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLmxlZnQgPSBgJHt0aGlzLnN0YXJ0TGVmdCArIGR4fXB4YDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xlZnQtdG9wJzpcbiAgICAgICAgaWYgKHRoaXMuc2VydmljZS5jcm9wcGVyUmF0aW8oKSA9PT0gJzE6MScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLndpZHRoID0gYCR7dGhpcy5zdGFydFdpZHRoIC0gZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUubGVmdCA9IGAke3RoaXMuc3RhcnRMZWZ0ICsgZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5zdGFydFdpZHRoIC0gZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUudG9wID0gYCR7dGhpcy5zdGFydExlZnQgKyBkeH1weGA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpID09PSAnMTY6OScpIHtcbiAgICAgICAgICBob3N0LnN0eWxlLndpZHRoID0gYCR7dGhpcy5zdGFydFdpZHRoIC0gZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUubGVmdCA9IGAke3RoaXMuc3RhcnRMZWZ0ICsgZHh9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUuaGVpZ2h0ID0gYCR7KHRoaXMuc3RhcnRXaWR0aCAtIGR4KSAvIDEuNzd9cHhgO1xuICAgICAgICAgIGhvc3Quc3R5bGUudG9wID0gYCR7dGhpcy5zdGFydExlZnQgKyBkeH1weGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaG9zdC5zdHlsZS53aWR0aCA9IGAke3RoaXMuc3RhcnRXaWR0aCAtIGR4fXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLmxlZnQgPSBgJHt0aGlzLnN0YXJ0TGVmdCArIGR4fXB4YDtcbiAgICAgICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuc3RhcnRIZWlnaHQgLSBkeX1weGA7XG4gICAgICAgICAgaG9zdC5zdHlsZS50b3AgPSBgJHt0aGlzLnN0YXJ0VG9wICsgZHl9cHhgO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyU2VsZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMucGFuU3RhdGUoKSkgcmV0dXJuO1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0aGlzLmVkZ2VDYXNlKSB7XG4gICAgICBob3N0LnN0eWxlLmhlaWdodCA9IGAyMHB4YDtcbiAgICAgIGhvc3Quc3R5bGUud2lkdGggPSBgMjBweGA7XG4gICAgICB0aGlzLmVkZ2VDYXNlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEhhbmRsZS5zZXQobnVsbCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwiIXNob3dHcmlkKCkgJiYgeyBib3JkZXI6ICcxcHggZGFzaGVkIHdoaXRlJyB9XCIgI3IgY2xhc3M9XCJheC1pbWFnZS1jcm9wcGVyLXdpbmRvdy1jb250YWluZXJcIj5cbiAgQGlmICghdGhpcy5zZXJ2aWNlLmNyb3BwZXJSYXRpbygpKSB7XG4gICAgPGRpdiAocG9pbnRlcmRvd24pPVwiaGFuZGxlU2VsZWN0b3IoJGV2ZW50LCAncmlnaHQnKVwiIGNsYXNzPVwiYXgtaW1hZ2UtcmlnaHQtaGFuZGxlIGF4LWhhbmRsZS1zaGFwZVwiPjwvZGl2PlxuICAgIDxkaXYgKHBvaW50ZXJkb3duKT1cImhhbmRsZVNlbGVjdG9yKCRldmVudCwgJ3RvcCcpXCIgY2xhc3M9XCJheC1pbWFnZS10b3AtaGFuZGxlIGF4LWhhbmRsZS1zaGFwZVwiPjwvZGl2PlxuICAgIDxkaXYgKHBvaW50ZXJkb3duKT1cImhhbmRsZVNlbGVjdG9yKCRldmVudCwgJ2xlZnQnKVwiIGNsYXNzPVwiYXgtaW1hZ2UtbGVmdC1oYW5kbGUgYXgtaGFuZGxlLXNoYXBlXCI+PC9kaXY+XG4gICAgPGRpdiAocG9pbnRlcmRvd24pPVwiaGFuZGxlU2VsZWN0b3IoJGV2ZW50LCAnYm90dG9tJylcIiBjbGFzcz1cImF4LWltYWdlLWJvdHRvbS1oYW5kbGUgYXgtaGFuZGxlLXNoYXBlXCI+PC9kaXY+XG4gIH1cblxuICA8ZGl2IChwb2ludGVyZG93bik9XCJoYW5kbGVTZWxlY3RvcigkZXZlbnQsICdyaWdodC10b3AnKVwiIGNsYXNzPVwiYXgtaW1hZ2UtcmlnaHQtdG9wLWhhbmRsZSBheC1oYW5kbGUtc2hhcGVcIj48L2Rpdj5cbiAgPGRpdlxuICAgIChwb2ludGVyZG93bik9XCJoYW5kbGVTZWxlY3RvcigkZXZlbnQsICdib3R0b20tcmlnaHQnKVwiXG4gICAgY2xhc3M9XCJheC1pbWFnZS1ib3R0b20tcmlnaHQtaGFuZGxlIGF4LWhhbmRsZS1zaGFwZVwiXG4gID48L2Rpdj5cbiAgPGRpdiAocG9pbnRlcmRvd24pPVwiaGFuZGxlU2VsZWN0b3IoJGV2ZW50LCAnYm90dG9tLWxlZnQnKVwiIGNsYXNzPVwiYXgtaW1hZ2UtYm90dG9tLWxlZnQtaGFuZGxlIGF4LWhhbmRsZS1zaGFwZVwiPjwvZGl2PlxuICA8ZGl2IChwb2ludGVyZG93bik9XCJoYW5kbGVTZWxlY3RvcigkZXZlbnQsICdsZWZ0LXRvcCcpXCIgY2xhc3M9XCJheC1pbWFnZS1sZWZ0LXRvcC1oYW5kbGUgYXgtaGFuZGxlLXNoYXBlXCI+PC9kaXY+XG5cbiAgQGlmIChzaG93R3JpZCgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LWdyaWQtaXRlbVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkLWl0ZW1cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZC1pdGVtXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWdyaWQtaXRlbVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkLWl0ZW1cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZC1pdGVtXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWdyaWQtaXRlbVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkLWl0ZW1cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZC1pdGVtXCI+PC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, input, linkedSignal, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from '../image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorService } from '../image-editor.service';\nimport * as i0 from \"@angular/core\";\nexport class AXImageEditorViewComponent extends MXBaseComponent {\n /** @ignore */\n resizeWindow() {\n this.canvasResponsive(this.service.newImage());\n }\n /** @ignore */\n canvasResponsive(image) {\n if (!this.parent.imageEditorContainer())\n return;\n const parentWidth = this.parent.imageEditorContainer().nativeElement.clientWidth;\n const imageWidth = this.service.initialImage().width;\n if (parentWidth < imageWidth) {\n this.getHostElement().style.width = `${parentWidth}px`;\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = parentWidth;\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\n }\n else {\n this.getHostElement().style.width = `${imageWidth}px`;\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = imageWidth;\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\n }\n }\n /** @ignore */\n constructor() {\n super();\n /**\n * its change grid display state.\n */\n this.showGrid = input(true);\n /**\n * its change grid display state.\n */\n this.lockRatio = signal(false);\n /**\n * its receive image src.\n */\n this.src = input('');\n /** @ignore */\n this.canvasElem = viewChild('canvasElem');\n /** @ignore */\n this.cropperWindow = viewChild('f');\n /** @ignore */\n this.ctx = signal(null);\n /** @ignore */\n this.service = inject(AXImageEditorService);\n /** @ignore */\n this.isMouseDown = signal(false);\n /** @ignore */\n this.isDrawRectangleCreated = signal(false);\n /** @ignore */\n this.parent = inject(AXImageEditorContainerComponent);\n /** @ignore */\n this.renderer = inject(Renderer2);\n /** @ignore */\n this.imageAspect = computed(() => {\n return this.service.initialImage().width / this.service.initialImage().height;\n });\n /** @ignore */\n this.imageEditorHistory = signal([]);\n /** @ignore */\n this.imageEditorHistoryPointer = linkedSignal(() => this.imageEditorHistory().length - 1);\n afterNextRender(() => {\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\n //load image\n this.service.initialImage.set(new Image());\n this.service.initialImage().src = this.src();\n this.service.initialImage().crossOrigin = 'anonymous';\n this.imageLoadEventListener = this.renderer.listen(this.service.initialImage(), 'load', this.imageLoaded.bind(this));\n //set canvas options\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n });\n effect(() => {\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\n this.canvasResponsive(this.service.initialImage());\n }\n });\n effect(() => {\n if (!this.service.undoPressed()) {\n this.imageChanged();\n }\n });\n effect(() => {\n if (!this.service.redoPressed()) {\n this.imageChanged();\n }\n });\n effect(() => {\n if (!this.service.rotate().userInteract || !this.ctx())\n return;\n this.rotateImage();\n });\n }\n /** @ignore */\n ngOnDestroy() {\n if (this.resizeEventListener) {\n this.resizeEventListener();\n }\n if (this.imageLoadEventListener) {\n this.imageLoadEventListener();\n }\n }\n /** @ignore */\n imageLoaded() {\n this.imageEditorHistory.set([this.service.initialImage()]);\n this.service.newImage.set(this.service.initialImage());\n this.service.isImageLoad.set(true);\n }\n /** @ignore */\n imageChanged() {\n if (this.service.undoPressed() && this.imageEditorHistoryPointer() >= 1) {\n this.imageEditorHistoryPointer.update((prev) => prev - 1);\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n if (this.service.redoPressed() && this.imageEditorHistoryPointer() < this.imageEditorHistory().length - 1) {\n this.imageEditorHistoryPointer.update((prev) => prev + 1);\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n this.service.undoPressed.set(false);\n this.service.redoPressed.set(false);\n }\n /** @ignore */\n penConfigHandler(penType) {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n /** @ignore */\n getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n /** @ignore */\n mouseDownHandler(e) {\n this.isMouseDown.set(true);\n if (!this.service.penType())\n return;\n this.penConfigHandler(this.service.penType());\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n /** @ignore */\n mouseMoveHandler(e) {\n if (!this.isMouseDown())\n return;\n if (!this.service.penType())\n return;\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n /** @ignore */\n mouseUpHandler() {\n this.isMouseDown.set(false);\n this.ctx().closePath();\n this.saveImageChange();\n }\n /** @ignore */\n cropButtonHandler() {\n const cropRect = this.cropperWindow().getCropperArea();\n const canvasRect = this.canvasElem().nativeElement.getClientRects()[0];\n const dx = cropRect.x - canvasRect.x;\n const dy = cropRect.y - canvasRect.y;\n const imageData = this.ctx().getImageData(dx, dy, cropRect.width, cropRect.height);\n this.canvasElem().nativeElement.width = cropRect.width;\n this.canvasElem().nativeElement.height = cropRect.height;\n this.ctx().putImageData(imageData, 0, 0);\n this.saveImageChange();\n this.service.activeToolState.set(null);\n }\n /** @ignore */\n rotateImage() {\n this.ctx().globalAlpha = 1;\n this.ctx().save();\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\n this.ctx().drawImage(this.service.newImage(), -this.service.newImage().width / 2, -this.service.newImage().height / 2, this.service.newImage().width, this.service.newImage().height);\n this.ctx().restore();\n this.saveImageChange();\n this.service.rotate.update((prev) => {\n return { state: prev.state, userInteract: false };\n });\n }\n /** @ignore */\n saveImageChange() {\n const newImage = new Image();\n newImage.crossOrigin = 'anonymous';\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\n this.service.newImage.set(newImage);\n this.imageEditorHistory.update((prev) => [...prev, newImage]);\n const tempBlob = [];\n this.canvasElem().nativeElement.toBlob((blob) => {\n tempBlob.push(blob);\n }, 'image/jpeg', 1);\n this.canvasElem().nativeElement.toBlob((blob) => {\n tempBlob.push(blob);\n }, 'image/png', 1);\n this.canvasElem().nativeElement.toBlob((blob) => {\n tempBlob.push(blob);\n }, 'image/webp', 1);\n this.service.imageBlob.set(tempBlob);\n }\n /** @ignore */\n get __hostStyle() {\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: AXImageEditorViewComponent, isStandalone: true, selector: \"ax-image-editor-view\", inputs: { showGrid: { classPropertyName: \"showGrid\", publicName: \"showGrid\", isSignal: true, isRequired: false, transformFunction: null }, src: { classPropertyName: \"src\", publicName: \"src\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"style\": \"this.__hostStyle\" } }, providers: [{ provide: AXComponent, useExisting: AXImageEditorViewComponent }], viewQueries: [{ propertyName: \"canvasElem\", first: true, predicate: [\"canvasElem\"], descendants: true, isSignal: true }, { propertyName: \"cropperWindow\", first: true, predicate: [\"f\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<canvas\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n #canvasElem\\n></canvas>\\n\\n@if (this.service.activeToolState() === 'crop') {\\n <ax-image-editor-cropper-window [showGrid]=\\\"showGrid()\\\" #f></ax-image-editor-cropper-window>\\n}\\n\", styles: [\"ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;touch-action:none;overflow:hidden}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\\n\"], dependencies: [{ kind: \"component\", type: AXImageEditorCropperWindowComponent, selector: \"ax-image-editor-cropper-window\", inputs: [\"showGrid\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXImageEditorCropperWindowComponent], providers: [{ provide: AXComponent, useExisting: AXImageEditorViewComponent }], template: \"<canvas\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n #canvasElem\\n></canvas>\\n\\n@if (this.service.activeToolState() === 'crop') {\\n <ax-image-editor-cropper-window [showGrid]=\\\"showGrid()\\\" #f></ax-image-editor-cropper-window>\\n}\\n\", styles: [\"ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;touch-action:none;overflow:hidden}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { __hostStyle: [{\n type: HostBinding,\n args: ['style']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3Itdmlldy9pbWFnZS1lZGl0b3Itdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci12aWV3L2ltYWdlLWVkaXRvci12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUVaLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUMzSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXL0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUEyQzdELGNBQWM7SUFDSixZQUFZO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7SUFDSixnQkFBZ0IsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtZQUFFLE9BQU87UUFFaEQsTUFBTSxXQUFXLEdBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLGFBQWdDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRXJELElBQUksV0FBVyxHQUFHLFVBQVUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsV0FBVyxJQUFJLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7WUFDN0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO1lBQ3BELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQztZQUN0RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztZQUM1RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakYsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXZFVjs7V0FFRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkI7O1dBRUc7UUFDSCxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCOztXQUVHO1FBQ0gsUUFBRyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4QixjQUFjO1FBQ0osZUFBVSxHQUFHLFNBQVMsQ0FBZ0MsWUFBWSxDQUFDLENBQUM7UUFDOUUsY0FBYztRQUNKLGtCQUFhLEdBQUcsU0FBUyxDQUFzQyxHQUFHLENBQUMsQ0FBQztRQUM5RSxjQUFjO1FBQ0osUUFBRyxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDdkQsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNqRCxjQUFjO1FBQ0osZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsY0FBYztRQUNKLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxjQUFjO1FBQ0osV0FBTSxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzNELGNBQWM7UUFDSixhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGNBQWM7UUFDSixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNILGNBQWM7UUFDSix1QkFBa0IsR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQzlELGNBQWM7UUFDSiw4QkFBeUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBcUM3RixlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEcsWUFBWTtZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUN0RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQzNCLE1BQU0sRUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDNUIsQ0FBQztZQUNGLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFBRSxPQUFPO1lBQy9ELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ0osV0FBVztRQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDSixZQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4RSxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWM7SUFDSixnQkFBZ0IsQ0FBQyxPQUE0QjtRQUNyRCxRQUFRLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9DLE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNyRCxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ0osd0JBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxjQUFjO0lBQ0osZ0JBQWdCLENBQUMsQ0FBYTtRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFBRSxPQUFPO1FBRXBDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7SUFDSixnQkFBZ0IsQ0FBQyxDQUFhO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFBRSxPQUFPO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO0lBQ0osY0FBYztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsaUJBQWlCO1FBQ2YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxjQUFjO0lBQ0osV0FBVztRQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUN2QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDbEMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FDL0IsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ0osZUFBZTtRQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFOUQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUNwQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLEVBQ0QsWUFBWSxFQUNaLENBQUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQ3BDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsRUFDRCxXQUFXLEVBQ1gsQ0FBQyxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDcEMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxFQUNELFlBQVksRUFDWixDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYztJQUNkLElBQ1ksV0FBVztRQUNyQixPQUFPLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxLQUFLLGVBQWUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQztJQUM1RyxDQUFDOzhHQWpSVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix5WEFGMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLENBQUMsZ1JDN0JoRixpWEFZQSxxV0RnQlksbUNBQW1DOzsyRkFHbEMsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsbUNBQW1DLENBQUMsYUFDbkMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO3dEQWlSbEUsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci1jb250YWluZXIvaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckNyb3BwZXJXaW5kb3dDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS1lZGl0b3ItY3JvcHBlci13aW5kb3cvaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtaW1hZ2UtZWRpdG9yLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1lZGl0b3Itdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYSW1hZ2VFZGl0b3JDcm9wcGVyV2luZG93Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYSW1hZ2VFZGl0b3JWaWV3Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWEltYWdlRWRpdG9yVmlld0NvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBpdHMgY2hhbmdlIGdyaWQgZGlzcGxheSBzdGF0ZS5cbiAgICovXG4gIHNob3dHcmlkID0gaW5wdXQodHJ1ZSk7XG4gIC8qKlxuICAgKiBpdHMgY2hhbmdlIGdyaWQgZGlzcGxheSBzdGF0ZS5cbiAgICovXG4gIGxvY2tSYXRpbyA9IHNpZ25hbChmYWxzZSk7XG4gIC8qKlxuICAgKiBpdHMgcmVjZWl2ZSBpbWFnZSBzcmMuXG4gICAqL1xuICBzcmMgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGNhbnZhc0VsZW0gPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD4+KCdjYW52YXNFbGVtJyk7XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjcm9wcGVyV2luZG93ID0gdmlld0NoaWxkPEFYSW1hZ2VFZGl0b3JDcm9wcGVyV2luZG93Q29tcG9uZW50PignZicpO1xuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgY3R4ID0gc2lnbmFsPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4obnVsbCk7XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYSW1hZ2VFZGl0b3JTZXJ2aWNlKTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzTW91c2VEb3duID0gc2lnbmFsKGZhbHNlKTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzRHJhd1JlY3RhbmdsZUNyZWF0ZWQgPSBzaWduYWwoZmFsc2UpO1xuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcGFyZW50ID0gaW5qZWN0KEFYSW1hZ2VFZGl0b3JDb250YWluZXJDb21wb25lbnQpO1xuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGltYWdlQXNwZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCkud2lkdGggLyB0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCkuaGVpZ2h0O1xuICB9KTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGltYWdlRWRpdG9ySGlzdG9yeSA9IHNpZ25hbDxIVE1MSW1hZ2VFbGVtZW50W10+KFtdKTtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGltYWdlRWRpdG9ySGlzdG9yeVBvaW50ZXIgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5pbWFnZUVkaXRvckhpc3RvcnkoKS5sZW5ndGggLSAxKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlc2l6ZUV2ZW50TGlzdGVuZXI7XG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgaW1hZ2VMb2FkRXZlbnRMaXN0ZW5lcjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVzaXplV2luZG93KCkge1xuICAgIHRoaXMuY2FudmFzUmVzcG9uc2l2ZSh0aGlzLnNlcnZpY2UubmV3SW1hZ2UoKSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgY2FudmFzUmVzcG9uc2l2ZShpbWFnZTogSFRNTEltYWdlRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5wYXJlbnQuaW1hZ2VFZGl0b3JDb250YWluZXIoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcGFyZW50V2lkdGggPSAodGhpcy5wYXJlbnQuaW1hZ2VFZGl0b3JDb250YWluZXIoKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KS5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBpbWFnZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZSgpLndpZHRoO1xuXG4gICAgaWYgKHBhcmVudFdpZHRoIDwgaW1hZ2VXaWR0aCkge1xuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLndpZHRoID0gYCR7cGFyZW50V2lkdGh9cHhgO1xuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmhlaWdodCA9IGAke3BhcmVudFdpZHRoICogdGhpcy5pbWFnZUFzcGVjdCgpfXB4YDtcbiAgICAgIHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQud2lkdGggPSBwYXJlbnRXaWR0aDtcbiAgICAgIHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gcGFyZW50V2lkdGggKiB0aGlzLmltYWdlQXNwZWN0KCk7XG4gICAgICB0aGlzLmN0eCgpLmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgcGFyZW50V2lkdGgsIHBhcmVudFdpZHRoICogdGhpcy5pbWFnZUFzcGVjdCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLndpZHRoID0gYCR7aW1hZ2VXaWR0aH1weGA7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7aW1hZ2VXaWR0aCAvIHRoaXMuaW1hZ2VBc3BlY3QoKX1weGA7XG4gICAgICB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LndpZHRoID0gaW1hZ2VXaWR0aDtcbiAgICAgIHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gaW1hZ2VXaWR0aCAvIHRoaXMuaW1hZ2VBc3BlY3QoKTtcbiAgICAgIHRoaXMuY3R4KCkuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZVdpZHRoIC8gdGhpcy5pbWFnZUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih3aW5kb3csICdyZXNpemUnLCB0aGlzLnJlc2l6ZVdpbmRvdy5iaW5kKHRoaXMpKTtcbiAgICAgIC8vbG9hZCBpbWFnZVxuICAgICAgdGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZS5zZXQobmV3IEltYWdlKCkpO1xuICAgICAgdGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZSgpLnNyYyA9IHRoaXMuc3JjKCk7XG4gICAgICB0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCkuY3Jvc3NPcmlnaW4gPSAnYW5vbnltb3VzJztcbiAgICAgIHRoaXMuaW1hZ2VMb2FkRXZlbnRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgICB0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCksXG4gICAgICAgICdsb2FkJyxcbiAgICAgICAgdGhpcy5pbWFnZUxvYWRlZC5iaW5kKHRoaXMpLFxuICAgICAgKTtcbiAgICAgIC8vc2V0IGNhbnZhcyBvcHRpb25zXG4gICAgICB0aGlzLmN0eC5zZXQodGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcsIHsgd2lsbFJlYWRGcmVxdWVudGx5OiB0cnVlIH0pKTtcbiAgICAgIHRoaXMuY3R4KCkubGluZUpvaW4gPSAncm91bmQnO1xuICAgICAgdGhpcy5jdHgoKS5saW5lQ2FwID0gJ3JvdW5kJztcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wYXJlbnQuaW1hZ2VFZGl0b3JDb250YWluZXIoKSAmJiB0aGlzLnNlcnZpY2UuaXNJbWFnZUxvYWQoKSkge1xuICAgICAgICB0aGlzLmNhbnZhc1Jlc3BvbnNpdmUodGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZSgpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuc2VydmljZS51bmRvUHJlc3NlZCgpKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VDaGFuZ2VkKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnNlcnZpY2UucmVkb1ByZXNzZWQoKSkge1xuICAgICAgICB0aGlzLmltYWdlQ2hhbmdlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zZXJ2aWNlLnJvdGF0ZSgpLnVzZXJJbnRlcmFjdCB8fCAhdGhpcy5jdHgoKSkgcmV0dXJuO1xuICAgICAgdGhpcy5yb3RhdGVJbWFnZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzaXplRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5yZXNpemVFdmVudExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW1hZ2VMb2FkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5pbWFnZUxvYWRFdmVudExpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGltYWdlTG9hZGVkKCkge1xuICAgIHRoaXMuaW1hZ2VFZGl0b3JIaXN0b3J5LnNldChbdGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZSgpXSk7XG4gICAgdGhpcy5zZXJ2aWNlLm5ld0ltYWdlLnNldCh0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCkpO1xuICAgIHRoaXMuc2VydmljZS5pc0ltYWdlTG9hZC5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaW1hZ2VDaGFuZ2VkKCkge1xuICAgIGlmICh0aGlzLnNlcnZpY2UudW5kb1ByZXNzZWQoKSAmJiB0aGlzLmltYWdlRWRpdG9ySGlzdG9yeVBvaW50ZXIoKSA+PSAxKSB7XG4gICAgICB0aGlzLmltYWdlRWRpdG9ySGlzdG9yeVBvaW50ZXIudXBkYXRlKChwcmV2KSA9PiBwcmV2IC0gMSk7XG5cbiAgICAgIHRoaXMuc2VydmljZS5uZXdJbWFnZS5zZXQodGhpcy5pbWFnZUVkaXRvckhpc3RvcnkoKVt0aGlzLmltYWdlRWRpdG9ySGlzdG9yeVBvaW50ZXIoKV0pO1xuICAgICAgdGhpcy5jYW52YXNSZXNwb25zaXZlKHRoaXMuaW1hZ2VFZGl0b3JIaXN0b3J5KClbdGhpcy5pbWFnZUVkaXRvckhpc3RvcnlQb2ludGVyKCldKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXJ2aWNlLnJlZG9QcmVzc2VkKCkgJiYgdGhpcy5pbWFnZUVkaXRvckhpc3RvcnlQb2ludGVyKCkgPCB0aGlzLmltYWdlRWRpdG9ySGlzdG9yeSgpLmxlbmd0aCAtIDEpIHtcbiAgICAgIHRoaXMuaW1hZ2VFZGl0b3JIaXN0b3J5UG9pbnRlci51cGRhdGUoKHByZXYpID0+IHByZXYgKyAxKTtcbiAgICAgIHRoaXMuc2VydmljZS5uZXdJbWFnZS5zZXQodGhpcy5pbWFnZUVkaXRvckhpc3RvcnkoKVt0aGlzLmltYWdlRWRpdG9ySGlzdG9yeVBvaW50ZXIoKV0pO1xuICAgICAgdGhpcy5jYW52YXNSZXNwb25zaXZlKHRoaXMuaW1hZ2VFZGl0b3JIaXN0b3J5KClbdGhpcy5pbWFnZUVkaXRvckhpc3RvcnlQb2ludGVyKCldKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlcnZpY2UudW5kb1ByZXNzZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnNlcnZpY2UucmVkb1ByZXNzZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwZW5Db25maWdIYW5kbGVyKHBlblR5cGU6ICdwZW4nIHwgJ2hpZ2hsaWdodCcpIHtcbiAgICBzd2l0Y2ggKHBlblR5cGUpIHtcbiAgICAgIGNhc2UgJ3Blbic6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLnBlbkNvbG9yKCk7XG4gICAgICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLnBlbldpZHRoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaGlnaGxpZ2h0JzpcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxBbHBoYSA9IDAuMDA4O1xuICAgICAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodENvbG9yKCk7XG4gICAgICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodFdpZHRoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBnZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VEb3duSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc01vdXNlRG93bi5zZXQodHJ1ZSk7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UucGVuVHlwZSgpKSByZXR1cm47XG5cbiAgICB0aGlzLnBlbkNvbmZpZ0hhbmRsZXIodGhpcy5zZXJ2aWNlLnBlblR5cGUoKSk7XG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5saW5lVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VNb3ZlSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzTW91c2VEb3duKCkpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuc2VydmljZS5wZW5UeXBlKCkpIHJldHVybjtcbiAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZVVwSGFuZGxlcigpIHtcbiAgICB0aGlzLmlzTW91c2VEb3duLnNldChmYWxzZSk7XG4gICAgdGhpcy5jdHgoKS5jbG9zZVBhdGgoKTtcbiAgICB0aGlzLnNhdmVJbWFnZUNoYW5nZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgY3JvcEJ1dHRvbkhhbmRsZXIoKSB7XG4gICAgY29uc3QgY3JvcFJlY3QgPSB0aGlzLmNyb3BwZXJXaW5kb3coKS5nZXRDcm9wcGVyQXJlYSgpO1xuICAgIGNvbnN0IGNhbnZhc1JlY3QgPSB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LmdldENsaWVudFJlY3RzKClbMF07XG4gICAgY29uc3QgZHggPSBjcm9wUmVjdC54IC0gY2FudmFzUmVjdC54O1xuICAgIGNvbnN0IGR5ID0gY3JvcFJlY3QueSAtIGNhbnZhc1JlY3QueTtcblxuICAgIGNvbnN0IGltYWdlRGF0YSA9IHRoaXMuY3R4KCkuZ2V0SW1hZ2VEYXRhKGR4LCBkeSwgY3JvcFJlY3Qud2lkdGgsIGNyb3BSZWN0LmhlaWdodCk7XG4gICAgdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC53aWR0aCA9IGNyb3BSZWN0LndpZHRoO1xuICAgIHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gY3JvcFJlY3QuaGVpZ2h0O1xuICAgIHRoaXMuY3R4KCkucHV0SW1hZ2VEYXRhKGltYWdlRGF0YSwgMCwgMCk7XG4gICAgdGhpcy5zYXZlSW1hZ2VDaGFuZ2UoKTtcbiAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldChudWxsKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByb3RhdGVJbWFnZSgpIHtcbiAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICB0aGlzLmN0eCgpLnNhdmUoKTtcbiAgICB0aGlzLmN0eCgpLmNsZWFyUmVjdCgwLCAwLCB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LndpZHRoLCB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LmhlaWdodCk7XG4gICAgdGhpcy5jdHgoKS50cmFuc2xhdGUodGhpcy5zZXJ2aWNlLm5ld0ltYWdlKCkud2lkdGggLyAyLCB0aGlzLnNlcnZpY2UubmV3SW1hZ2UoKS5oZWlnaHQgLyAyKTtcbiAgICB0aGlzLmN0eCgpLnJvdGF0ZSgodGhpcy5zZXJ2aWNlLnJvdGF0ZSgpLnN0YXRlICogTWF0aC5QSSkgLyAxODApO1xuICAgIHRoaXMuY3R4KCkuZHJhd0ltYWdlKFxuICAgICAgdGhpcy5zZXJ2aWNlLm5ld0ltYWdlKCksXG4gICAgICAtdGhpcy5zZXJ2aWNlLm5ld0ltYWdlKCkud2lkdGggLyAyLFxuICAgICAgLXRoaXMuc2VydmljZS5uZXdJbWFnZSgpLmhlaWdodCAvIDIsXG4gICAgICB0aGlzLnNlcnZpY2UubmV3SW1hZ2UoKS53aWR0aCxcbiAgICAgIHRoaXMuc2VydmljZS5uZXdJbWFnZSgpLmhlaWdodCxcbiAgICApO1xuICAgIHRoaXMuY3R4KCkucmVzdG9yZSgpO1xuXG4gICAgdGhpcy5zYXZlSW1hZ2VDaGFuZ2UoKTtcbiAgICB0aGlzLnNlcnZpY2Uucm90YXRlLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgcmV0dXJuIHsgc3RhdGU6IHByZXYuc3RhdGUsIHVzZXJJbnRlcmFjdDogZmFsc2UgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzYXZlSW1hZ2VDaGFuZ2UoKSB7XG4gICAgY29uc3QgbmV3SW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICBuZXdJbWFnZS5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuICAgIG5ld0ltYWdlLnNyYyA9IHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgMSk7XG4gICAgdGhpcy5zZXJ2aWNlLm5ld0ltYWdlLnNldChuZXdJbWFnZSk7XG4gICAgdGhpcy5pbWFnZUVkaXRvckhpc3RvcnkudXBkYXRlKChwcmV2KSA9PiBbLi4ucHJldiwgbmV3SW1hZ2VdKTtcblxuICAgIGNvbnN0IHRlbXBCbG9iID0gW107XG4gICAgdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC50b0Jsb2IoXG4gICAgICAoYmxvYikgPT4ge1xuICAgICAgICB0ZW1wQmxvYi5wdXNoKGJsb2IpO1xuICAgICAgfSxcbiAgICAgICdpbWFnZS9qcGVnJyxcbiAgICAgIDEsXG4gICAgKTtcbiAgICB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LnRvQmxvYihcbiAgICAgIChibG9iKSA9PiB7XG4gICAgICAgIHRlbXBCbG9iLnB1c2goYmxvYik7XG4gICAgICB9LFxuICAgICAgJ2ltYWdlL3BuZycsXG4gICAgICAxLFxuICAgICk7XG4gICAgdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC50b0Jsb2IoXG4gICAgICAoYmxvYikgPT4ge1xuICAgICAgICB0ZW1wQmxvYi5wdXNoKGJsb2IpO1xuICAgICAgfSxcbiAgICAgICdpbWFnZS93ZWJwJyxcbiAgICAgIDEsXG4gICAgKTtcbiAgICB0aGlzLnNlcnZpY2UuaW1hZ2VCbG9iLnNldCh0ZW1wQmxvYik7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0U3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHdpZHRoOiAke3RoaXMuc2VydmljZS5pbml0aWFsSW1hZ2UoKT8ud2lkdGh9cHg7IGhlaWdodDogJHt0aGlzLnNlcnZpY2UuaW5pdGlhbEltYWdlKCk/LmhlaWdodH1weGA7XG4gIH1cbn1cbiIsIjxjYW52YXNcbiAgdGFiaW5kZXg9XCIxXCJcbiAgKHBvaW50ZXJkb3duKT1cIm1vdXNlRG93bkhhbmRsZXIoJGV2ZW50KVwiXG4gIChwb2ludGVydXApPVwibW91c2VVcEhhbmRsZXIoKVwiXG4gIChwb2ludGVybW92ZSk9XCJtb3VzZU1vdmVIYW5kbGVyKCRldmVudClcIlxuICBjbGFzcz1cImF4LWNhbnZhcy1lbGVtZW50XCJcbiAgI2NhbnZhc0VsZW1cbj48L2NhbnZhcz5cblxuQGlmICh0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdjcm9wJykge1xuICA8YXgtaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93IFtzaG93R3JpZF09XCJzaG93R3JpZCgpXCIgI2Y+PC9heC1pbWFnZS1lZGl0b3ItY3JvcHBlci13aW5kb3c+XG59XG4iXX0=","import { AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingSpinnerComponent } from '@acorex/components/loading';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { Component, contentChild, forwardRef, HostBinding, inject, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXImageEditorCropComponent } from '../image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from '../image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorPenComponent } from '../image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from '../image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from '../image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from '../image-editor-view/image-editor-view.component';\nimport { AXImageEditorService } from '../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/toolbar\";\n/**\n * paint container.\n * @category Components\n */\nexport class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n /** @ignore */\n this.service = inject(AXImageEditorService);\n this.imageEditorContainer = viewChild('f');\n this.view = contentChild(AXImageEditorViewComponent);\n }\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.commitValue(this.service.imageBlob(), true);\n }\n else {\n this.commitValue(null);\n }\n }\n cropButtonHandler() {\n this.view().cropButtonHandler();\n }\n get __hostClass() {\n if (this.disabled)\n return 'ax-state-disabled';\n return '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: AXImageEditorContainerComponent, isStandalone: true, selector: \"ax-image-editor-container\", inputs: { look: \"look\", disabled: \"disabled\" }, outputs: { onValueChanged: \"onValueChanged\" }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [\n AXImageEditorService,\n { provide: AXComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXImageEditorContainerComponent),\n multi: true,\n },\n ], queries: [{ propertyName: \"view\", first: true, predicate: AXImageEditorViewComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"imageEditorContainer\", first: true, predicate: [\"f\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"@if (service.isImageLoad()) {\\n <div #f class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n\\n <ng-content select=\\\"ax-image-editor-view\\\"> </ng-content>\\n\\n @if (service.activeToolState()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-image-editor-pen></ax-image-editor-pen>\\n }\\n @case ('crop') {\\n <ax-image-editor-crop (cropPressed)=\\\"cropButtonHandler()\\\"></ax-image-editor-crop>\\n }\\n @case ('highlight') {\\n <ax-image-editor-highlight></ax-image-editor-highlight>\\n }\\n @case ('rotate') {\\n <ax-image-editor-rotate></ax-image-editor-rotate>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\\n </ax-content>\\n </ax-toolbar>\\n </div>\\n <div class=\\\"ax-error-container\\\"></div>\\n} @else {\\n <div class=\\\"ax-loading-spinner-container\\\">\\n <ax-loading-spinner [size]=\\\"16\\\" color=\\\"primary\\\" text=\\\"Loading Image ...\\\"></ax-loading-spinner>\\n </div>\\n}\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-image-editor-container{width:fit-content;display:block;position:relative}ax-image-editor-container.ax-state-disabled{opacity:.5}ax-image-editor-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-image-editor-container>.ax-editor-container{display:block;height:auto!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}ax-image-editor-container .ax-main-toolbar{justify-content:center;padding:.2rem}ax-image-editor-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-image-editor-container ax-header{width:100%}ax-image-editor-container ax-header ax-toolbar{justify-content:space-between}ax-image-editor-container ax-header .ax-start-toolbar-divider{display:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXLoadingSpinnerComponent, selector: \"ax-loading-spinner\", inputs: [\"text\", \"color\", \"size\", \"stroke\"] }, { kind: \"ngmodule\", type: AXToolBarModule }, { kind: \"component\", type: i2.AXToolBarComponent, selector: \"ax-toolbar\" }, { kind: \"component\", type: AXImageEditorCropComponent, selector: \"ax-image-editor-crop\", outputs: [\"cropPressed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: AXImageEditorToolSelectorComponent, selector: \"ax-image-editor-tool-selector\" }, { kind: \"component\", type: AXImageEditorPenComponent, selector: \"ax-image-editor-pen\" }, { kind: \"component\", type: AXImageEditorHighlightComponent, selector: \"ax-image-editor-highlight\" }, { kind: \"component\", type: AXImageEditorRotateComponent, selector: \"ax-image-editor-rotate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, outputs: ['onValueChanged'], inputs: ['look', 'disabled'], providers: [\n AXImageEditorService,\n { provide: AXComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXImageEditorContainerComponent),\n multi: true,\n },\n ], imports: [\n AXDecoratorModule,\n AXLoadingSpinnerComponent,\n AXToolBarModule,\n AXImageEditorCropComponent,\n AXButtonModule,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n ], template: \"@if (service.isImageLoad()) {\\n <div #f class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n\\n <ng-content select=\\\"ax-image-editor-view\\\"> </ng-content>\\n\\n @if (service.activeToolState()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-image-editor-pen></ax-image-editor-pen>\\n }\\n @case ('crop') {\\n <ax-image-editor-crop (cropPressed)=\\\"cropButtonHandler()\\\"></ax-image-editor-crop>\\n }\\n @case ('highlight') {\\n <ax-image-editor-highlight></ax-image-editor-highlight>\\n }\\n @case ('rotate') {\\n <ax-image-editor-rotate></ax-image-editor-rotate>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\\n </ax-content>\\n </ax-toolbar>\\n </div>\\n <div class=\\\"ax-error-container\\\"></div>\\n} @else {\\n <div class=\\\"ax-loading-spinner-container\\\">\\n <ax-loading-spinner [size]=\\\"16\\\" color=\\\"primary\\\" text=\\\"Loading Image ...\\\"></ax-loading-spinner>\\n </div>\\n}\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-image-editor-container{width:fit-content;display:block;position:relative}ax-image-editor-container.ax-state-disabled{opacity:.5}ax-image-editor-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-image-editor-container>.ax-editor-container{display:block;height:auto!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}ax-image-editor-container .ax-main-toolbar{justify-content:center;padding:.2rem}ax-image-editor-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-image-editor-container ax-header{width:100%}ax-image-editor-container ax-header ax-toolbar{justify-content:space-between}ax-image-editor-container ax-header .ax-start-toolbar-divider{display:none}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci1jb250YWluZXIvaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ltYWdlLWVkaXRvci9zcmMvbGliL2ltYWdlLWVkaXRvci1jb250YWluZXIvaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrRUFBK0Us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d0JBQ3pCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQixjQUFjO3dCQUNkLGtDQUFrQzt3QkFDbEMseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLDRCQUE0QjtxQkFDN0I7OEJBdUJHLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxuICBNWExvb2tDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhUb29sQmFyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2xiYXInO1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yQ3JvcENvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItY3JvcC9pbWFnZS1lZGl0b3ItY3JvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckhpZ2hsaWdodENvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItaGlnaGxpZ2h0L2ltYWdlLWVkaXRvci1oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IEFYSW1hZ2VFZGl0b3JQZW5Db21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLXBlbi9pbWFnZS1lZGl0b3ItcGVuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yUm90YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UtZWRpdG9yLXRvb2xzL2ltYWdlLWVkaXRvci1yb3RhdGUvaW1hZ2UtZWRpdG9yLXJvdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclRvb2xTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItdG9vbC1zZWxlY3Rvci9pbWFnZS1lZGl0b3ItdG9vbC1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS1lZGl0b3Itdmlldy9pbWFnZS1lZGl0b3Itdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9pbWFnZS1lZGl0b3Iuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgY29udGFpbmVyLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtaW1hZ2UtZWRpdG9yLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ltYWdlLWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIGlucHV0czogWydsb29rJywgJ2Rpc2FibGVkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYSW1hZ2VFZGl0b3JTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEltYWdlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYSW1hZ2VFZGl0b3JDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEltYWdlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWEltYWdlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWExvYWRpbmdTcGlubmVyQ29tcG9uZW50LFxuICAgIEFYVG9vbEJhck1vZHVsZSxcbiAgICBBWEltYWdlRWRpdG9yQ3JvcENvbXBvbmVudCxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWEltYWdlRWRpdG9yVG9vbFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEFYSW1hZ2VFZGl0b3JQZW5Db21wb25lbnQsXG4gICAgQVhJbWFnZUVkaXRvckhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBBWEltYWdlRWRpdG9yUm90YXRlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEltYWdlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PEJsb2JbXT4sIE1YTG9va0NvbXBvbmVudCkge1xuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWEltYWdlRWRpdG9yU2VydmljZSk7XG5cbiAgaW1hZ2VFZGl0b3JDb250YWluZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2YnKTtcblxuICB2aWV3ID0gY29udGVudENoaWxkPEFYSW1hZ2VFZGl0b3JWaWV3Q29tcG9uZW50PihBWEltYWdlRWRpdG9yVmlld0NvbXBvbmVudCk7XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmluaXRpYWxJbWFnZSgpICE9PSB0aGlzLnNlcnZpY2UubmV3SW1hZ2UoKSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnNlcnZpY2UuaW1hZ2VCbG9iKCksIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcm9wQnV0dG9uSGFuZGxlcigpIHtcbiAgICB0aGlzLnZpZXcoKS5jcm9wQnV0dG9uSGFuZGxlcigpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm4gJ2F4LXN0YXRlLWRpc2FibGVkJztcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIkBpZiAoc2VydmljZS5pc0ltYWdlTG9hZCgpKSB7XG4gIDxkaXYgI2YgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyICBheC17eyBsb29rIH19XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaW1hZ2UtZWRpdG9yLXZpZXdcIj4gPC9uZy1jb250ZW50PlxuXG4gICAgQGlmIChzZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpKSB7XG4gICAgICA8YXgtdG9vbGJhciBjbGFzcz1cImF4LXNlY29uZGFyeS10b29sYmFyXCI+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgQHN3aXRjaCAoc2VydmljZS5hY3RpdmVUb29sU3RhdGUoKSkge1xuICAgICAgICAgICAgQGNhc2UgKCdwZW4nKSB7XG4gICAgICAgICAgICAgIDxheC1pbWFnZS1lZGl0b3ItcGVuPjwvYXgtaW1hZ2UtZWRpdG9yLXBlbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnY3JvcCcpIHtcbiAgICAgICAgICAgICAgPGF4LWltYWdlLWVkaXRvci1jcm9wIChjcm9wUHJlc3NlZCk9XCJjcm9wQnV0dG9uSGFuZGxlcigpXCI+PC9heC1pbWFnZS1lZGl0b3ItY3JvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnaGlnaGxpZ2h0Jykge1xuICAgICAgICAgICAgICA8YXgtaW1hZ2UtZWRpdG9yLWhpZ2hsaWdodD48L2F4LWltYWdlLWVkaXRvci1oaWdobGlnaHQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoJ3JvdGF0ZScpIHtcbiAgICAgICAgICAgICAgPGF4LWltYWdlLWVkaXRvci1yb3RhdGU+PC9heC1pbWFnZS1lZGl0b3Itcm90YXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LXRvb2xiYXI+XG4gICAgfVxuXG4gICAgPGF4LXRvb2xiYXIgY2xhc3M9XCJheC1tYWluLXRvb2xiYXJcIj5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8YXgtaW1hZ2UtZWRpdG9yLXRvb2wtc2VsZWN0b3I+PC9heC1pbWFnZS1lZGl0b3ItdG9vbC1zZWxlY3Rvcj5cbiAgICAgIDwvYXgtY29udGVudD5cbiAgICA8L2F4LXRvb2xiYXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cImF4LWxvYWRpbmctc3Bpbm5lci1jb250YWluZXJcIj5cbiAgICA8YXgtbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIjE2XCIgY29sb3I9XCJwcmltYXJ5XCIgdGV4dD1cIkxvYWRpbmcgSW1hZ2UgLi4uXCI+PC9heC1sb2FkaW5nLXNwaW5uZXI+XG4gIDwvZGl2PlxufVxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cblxuQGlmIChkaXNhYmxlZCkge1xuICA8ZGl2IGNsYXNzPVwiYXgtZGlzYWJsZS1vdmVybGF5XCI+PC9kaXY+XG59XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXImageEditorHistoryComponent {\n constructor() {\n this.service = inject(AXImageEditorService);\n }\n UndoHandler() {\n this.service.undoPressed.set(true);\n }\n RedoHandler() {\n this.service.redoPressed.set(true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXImageEditorHistoryComponent, isStandalone: true, selector: \"ax-image-editor-history\", providers: [{ provide: AXComponent, useExisting: AXImageEditorHistoryComponent }], ngImport: i0, template: \"<ax-button axTooltip=\\\"Undo\\\" axTooltipPlacement=\\\"top\\\" (onClick)=\\\"UndoHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-undo\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button axTooltip=\\\"Redo\\\" axTooltipPlacement=\\\"top\\\" (onClick)=\\\"RedoHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-redo\\\"></ax-icon>\\n</ax-button>\\n\", dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"directive\", type: AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltip\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorHistoryComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-image-editor-history', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXImageEditorHistoryComponent }], template: \"<ax-button axTooltip=\\\"Undo\\\" axTooltipPlacement=\\\"top\\\" (onClick)=\\\"UndoHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-undo\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button axTooltip=\\\"Redo\\\" axTooltipPlacement=\\\"top\\\" (onClick)=\\\"RedoHandler()\\\" look=\\\"blank\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-redo\\\"></ax-icon>\\n</ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLWhpc3RvcnkvaW1hZ2UtZWRpdG9yLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItdG9vbHMvaW1hZ2UtZWRpdG9yLWhpc3RvcnkvaW1hZ2UtZWRpdG9yLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbEU7OztHQUdHO0FBU0gsTUFBTSxPQUFPLDZCQUE2QjtJQVIxQztRQVNZLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQVFsRDtJQU5XLFdBQVc7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQVJVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHNFQUY3QixDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQywwQkNqQm5GLHdWQU9BLDRDRFFZLGlCQUFpQiwwVUFBRSxpQkFBaUIsZ0lBQUUsa0JBQWtCOzsyRkFJdkQsNkJBQTZCO2tCQVJ6QyxTQUFTOytCQUNFLHlCQUF5QixpQkFFcEIsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsK0JBQStCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYSW1hZ2VFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW1hZ2UtZWRpdG9yLnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1pbWFnZS1lZGl0b3ItaGlzdG9yeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1lZGl0b3ItaGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWEJ1dHRvbkNvbXBvbmVudCwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYVG9vbHRpcERpcmVjdGl2ZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhJbWFnZUVkaXRvckhpc3RvcnlDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYSW1hZ2VFZGl0b3JIaXN0b3J5Q29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhJbWFnZUVkaXRvclNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBVbmRvSGFuZGxlcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudW5kb1ByZXNzZWQuc2V0KHRydWUpO1xuICB9XG4gIHByb3RlY3RlZCBSZWRvSGFuZGxlcigpIHtcbiAgICB0aGlzLnNlcnZpY2UucmVkb1ByZXNzZWQuc2V0KHRydWUpO1xuICB9XG59XG4iLCI8YXgtYnV0dG9uIGF4VG9vbHRpcD1cIlVuZG9cIiBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIiAob25DbGljayk9XCJVbmRvSGFuZGxlcigpXCIgbG9vaz1cImJsYW5rXCI+XG4gIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXVuZG9cIj48L2F4LWljb24+XG48L2F4LWJ1dHRvbj5cblxuPGF4LWJ1dHRvbiBheFRvb2x0aXA9XCJSZWRvXCIgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCIgKG9uQ2xpY2spPVwiUmVkb0hhbmRsZXIoKVwiIGxvb2s9XCJibGFua1wiPlxuICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1yZWRvXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG4iXX0=","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorContainerComponent } from './image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from './image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from './image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorHistoryComponent } from './image-editor-tools/image-editor-history/image-editor-history.component';\nimport { AXImageEditorPenComponent } from './image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from './image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from './image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent,\n];\nconst MODULES = [\n AXButtonModule,\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXDialogModule,\n AXTooltipModule,\n];\nexport class AXImageEditorModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorModule, imports: [AXButtonModule,\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXDialogModule,\n AXTooltipModule, AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent], exports: [AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXImageEditorModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvaW1hZ2UtZWRpdG9yL3NyYy9saWIvaW1hZ2UtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQzFILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhFQUE4RSxDQUFDO0FBQy9ILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQzFJLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQUU3RixNQUFNLFNBQVMsR0FBRztJQUNoQiwwQkFBMEI7SUFDMUIsK0JBQStCO0lBQy9CLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLHlCQUF5QjtJQUN6QiwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLG1DQUFtQztDQUNwQyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDZCxjQUFjO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0NBQ2hCLENBQUM7QUFPRixNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQWpCOUIsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZUFBZSxFQXJCZiwwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isa0NBQWtDO1lBQ2xDLHlCQUF5QjtZQUN6QiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLG1DQUFtQyxhQVJuQywwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isa0NBQWtDO1lBQ2xDLHlCQUF5QjtZQUN6QiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLG1DQUFtQzsrR0FxQnhCLG1CQUFtQixZQUpqQixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ29sb3JCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItYm94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci9pbWFnZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yQ3JvcHBlcldpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLWNyb3BwZXItd2luZG93L2ltYWdlLWVkaXRvci1jcm9wcGVyLXdpbmRvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckNyb3BDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItY3JvcC9pbWFnZS1lZGl0b3ItY3JvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckhpZ2hsaWdodENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLXRvb2xzL2ltYWdlLWVkaXRvci1oaWdobGlnaHQvaW1hZ2UtZWRpdG9yLWhpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvckhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWVkaXRvci10b29scy9pbWFnZS1lZGl0b3ItaGlzdG9yeS9pbWFnZS1lZGl0b3ItaGlzdG9yeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclBlbkNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLXRvb2xzL2ltYWdlLWVkaXRvci1wZW4vaW1hZ2UtZWRpdG9yLXBlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclJvdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLXRvb2xzL2ltYWdlLWVkaXRvci1yb3RhdGUvaW1hZ2UtZWRpdG9yLXJvdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZUVkaXRvclRvb2xTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLXRvb2xzL2ltYWdlLWVkaXRvci10b29sLXNlbGVjdG9yL2ltYWdlLWVkaXRvci10b29sLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yVmlld0NvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtZWRpdG9yLXZpZXcvaW1hZ2UtZWRpdG9yLXZpZXcuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW1xuICBBWEltYWdlRWRpdG9yVmlld0NvbXBvbmVudCxcbiAgQVhJbWFnZUVkaXRvckNvbnRhaW5lckNvbXBvbmVudCxcbiAgQVhJbWFnZUVkaXRvckNyb3BDb21wb25lbnQsXG4gIEFYSW1hZ2VFZGl0b3JIaXN0b3J5Q29tcG9uZW50LFxuICBBWEltYWdlRWRpdG9yVG9vbFNlbGVjdG9yQ29tcG9uZW50LFxuICBBWEltYWdlRWRpdG9yUGVuQ29tcG9uZW50LFxuICBBWEltYWdlRWRpdG9ySGlnaGxpZ2h0Q29tcG9uZW50LFxuICBBWEltYWdlRWRpdG9yUm90YXRlQ29tcG9uZW50LFxuICBBWEltYWdlRWRpdG9yQ3JvcHBlcldpbmRvd0NvbXBvbmVudCxcbl07XG5cbmNvbnN0IE1PRFVMRVMgPSBbXG4gIEFYQnV0dG9uTW9kdWxlLFxuICBGb3Jtc01vZHVsZSxcbiAgQVhSYW5nZVNsaWRlck1vZHVsZSxcbiAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gIEFYQ29sb3JCb3hNb2R1bGUsXG4gIEFYUG9wb3Zlck1vZHVsZSxcbiAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gIEFYTG9hZGluZ01vZHVsZSxcbiAgQVhEaWFsb2dNb2R1bGUsXG4gIEFYVG9vbHRpcE1vZHVsZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbWFnZUVkaXRvck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtaW1hZ2UtZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2Fjb3JleC1jb21wb25lbnRzLWltYWdlLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1"],"mappings":"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"}
|