geoiq-frontend-ui-kit 2.0.3 → 2.0.4
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/dist/components/atoms/accordion/accordion.d.ts +1 -2
- package/dist/components/atoms/accordion/accordion.d.ts.map +1 -1
- package/dist/components/atoms/avatar/avatar.d.ts +1 -2
- package/dist/components/atoms/avatar/avatar.d.ts.map +1 -1
- package/dist/components/atoms/badge/badge.d.ts +2 -2
- package/dist/components/atoms/badge/badge.d.ts.map +1 -1
- package/dist/components/atoms/skeleton/skeleton.d.ts +1 -1
- package/dist/components/atoms/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/atoms/tooltip/tooltip.d.ts +2 -2
- package/dist/components/atoms/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/molecules/breadcrumb/breadcrumb-components.d.ts +2 -2
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +1 -2
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +1 -2
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -1
- package/dist/components/molecules/dropdown-menu/dropdown-menu-components.d.ts +1 -1
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +1 -2
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/molecules/multi-combobox/index.d.ts +2 -2
- package/dist/components/molecules/multi-combobox/index.d.ts.map +1 -1
- package/dist/components/molecules/multi-select/index.d.ts +2 -2
- package/dist/components/molecules/multi-select/index.d.ts.map +1 -1
- package/dist/components/molecules/pagination/pagination-components.d.ts +4 -4
- package/dist/components/molecules/single-combobox/single-combobox.d.ts +2 -2
- package/dist/components/molecules/single-combobox/single-combobox.d.ts.map +1 -1
- package/dist/components/molecules/stepper/stepper-components.d.ts +1 -1
- package/dist/components/molecules/stepper/stepper-components.d.ts.map +1 -1
- package/dist/components/molecules/stepper/stepper.d.ts +1 -2
- package/dist/components/molecules/stepper/stepper.d.ts.map +1 -1
- package/dist/components/molecules/stepper/stepper.mock.d.ts +2 -2
- package/dist/components/molecules/stepper/stepper.mock.d.ts.map +1 -1
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +1 -2
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts +1 -3
- package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts +1 -3
- package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts +1 -3
- package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts +1 -3
- package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/toast-components.d.ts +1 -1
- package/dist/components/molecules/toast/toast.d.ts +1 -2
- package/dist/components/molecules/toast/toast.d.ts.map +1 -1
- package/dist/components/molecules/toggle-multi-select/index.d.ts +2 -2
- package/dist/components/molecules/toggle-multi-select/index.d.ts.map +1 -1
- package/dist/components/organisms/alert-dialog/alert-dialog-components.d.ts +2 -2
- package/dist/components/organisms/alert-dialog/alert-dialog.d.ts +1 -2
- package/dist/components/organisms/alert-dialog/alert-dialog.d.ts.map +1 -1
- package/dist/components/organisms/dialog/dialog-components.d.ts +2 -2
- package/dist/components/organisms/dialog/dialog.d.ts +1 -2
- package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/color-picker.d.ts +1 -3
- package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/layers-list.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/line-session-bar.d.ts +20 -0
- package/dist/components/organisms/image-editor/components/line-session-bar.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/ribbon.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts +9 -0
- package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/status-bar.d.ts +1 -2
- package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts +1 -2
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/image-editor.types.d.ts +73 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -1
- package/dist/components/organisms/sheet/sheet-components.d.ts +2 -2
- package/dist/components/organisms/sheet/sheet.d.ts +1 -2
- package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
- package/dist/components/organisms/sidebar/sidebar.d.ts +1 -2
- package/dist/components/organisms/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts +1 -1
- package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +1 -2
- package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts +1 -2
- package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts +1 -2
- package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts.map +1 -1
- package/dist/components/ui/star-score/star-score.d.ts +1 -2
- package/dist/components/ui/star-score/star-score.d.ts.map +1 -1
- package/dist/components/unstyled/calendar/calendar.d.ts +1 -1
- package/dist/components/unstyled/calendar/calendar.d.ts.map +1 -1
- package/dist/components/unstyled/command/index.d.ts +2 -2
- package/dist/components/unstyled/command/index.d.ts.map +1 -1
- package/dist/components/unstyled/date-picker/date-picker.d.ts +2 -2
- package/dist/components/unstyled/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/unstyled/hover-card/hover-card.d.ts +1 -2
- package/dist/components/unstyled/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/unstyled/popover/popover.d.ts +1 -2
- package/dist/components/unstyled/popover/popover.d.ts.map +1 -1
- package/dist/components/unstyled/table/table.d.ts +2 -2
- package/dist/components/unstyled/table/table.d.ts.map +1 -1
- package/dist/index.es.js +88 -88
- package/dist/{index10.es.js → index.es10.js} +3 -3
- package/dist/{index10.es.js.map → index.es10.js.map} +1 -1
- package/dist/index.es100.js +152 -0
- package/dist/index.es100.js.map +1 -0
- package/dist/{index101.es.js → index.es101.js} +1 -1
- package/dist/{index101.es.js.map → index.es101.js.map} +1 -1
- package/dist/{index136.es.js → index.es102.js} +1 -1
- package/dist/{index136.es.js.map → index.es102.js.map} +1 -1
- package/dist/{index133.es.js → index.es103.js} +1 -1
- package/dist/{index133.es.js.map → index.es103.js.map} +1 -1
- package/dist/{index134.es.js → index.es104.js} +1 -1
- package/dist/{index134.es.js.map → index.es104.js.map} +1 -1
- package/dist/{index135.es.js → index.es105.js} +3 -3
- package/dist/{index135.es.js.map → index.es105.js.map} +1 -1
- package/dist/{index97.es.js → index.es106.js} +1 -1
- package/dist/index.es106.js.map +1 -0
- package/dist/{index107.es.js → index.es107.js} +5 -5
- package/dist/{index107.es.js.map → index.es107.js.map} +1 -1
- package/dist/{index99.es.js → index.es108.js} +1 -1
- package/dist/index.es108.js.map +1 -0
- package/dist/{index103.es.js → index.es109.js} +2 -2
- package/dist/{index103.es.js.map → index.es109.js.map} +1 -1
- package/dist/{index11.es.js → index.es11.js} +4 -4
- package/dist/{index11.es.js.map → index.es11.js.map} +1 -1
- package/dist/{index115.es.js → index.es110.js} +2 -2
- package/dist/{index115.es.js.map → index.es110.js.map} +1 -1
- package/dist/{index116.es.js → index.es111.js} +6 -6
- package/dist/{index116.es.js.map → index.es111.js.map} +1 -1
- package/dist/{index98.es.js → index.es112.js} +1 -1
- package/dist/index.es112.js.map +1 -0
- package/dist/{index106.es.js → index.es113.js} +1 -1
- package/dist/{index106.es.js.map → index.es113.js.map} +1 -1
- package/dist/{index132.es.js → index.es114.js} +3 -3
- package/dist/{index132.es.js.map → index.es114.js.map} +1 -1
- package/dist/{index130.es.js → index.es115.js} +3 -3
- package/dist/{index130.es.js.map → index.es115.js.map} +1 -1
- package/dist/{index128.es.js → index.es116.js} +1 -1
- package/dist/{index128.es.js.map → index.es116.js.map} +1 -1
- package/dist/{index129.es.js → index.es117.js} +5 -5
- package/dist/{index129.es.js.map → index.es117.js.map} +1 -1
- package/dist/{index108.es.js → index.es118.js} +1 -1
- package/dist/{index108.es.js.map → index.es118.js.map} +1 -1
- package/dist/{index105.es.js → index.es119.js} +1 -1
- package/dist/{index105.es.js.map → index.es119.js.map} +1 -1
- package/dist/{index12.es.js → index.es12.js} +3 -3
- package/dist/{index12.es.js.map → index.es12.js.map} +1 -1
- package/dist/{index121.es.js → index.es120.js} +4 -4
- package/dist/{index121.es.js.map → index.es120.js.map} +1 -1
- package/dist/{index122.es.js → index.es121.js} +3 -3
- package/dist/{index122.es.js.map → index.es121.js.map} +1 -1
- package/dist/{index123.es.js → index.es122.js} +3 -3
- package/dist/{index123.es.js.map → index.es122.js.map} +1 -1
- package/dist/{index124.es.js → index.es123.js} +3 -3
- package/dist/{index124.es.js.map → index.es123.js.map} +1 -1
- package/dist/{index125.es.js → index.es124.js} +10 -10
- package/dist/{index125.es.js.map → index.es124.js.map} +1 -1
- package/dist/{index126.es.js → index.es125.js} +10 -10
- package/dist/{index126.es.js.map → index.es125.js.map} +1 -1
- package/dist/{index127.es.js → index.es126.js} +5 -5
- package/dist/{index127.es.js.map → index.es126.js.map} +1 -1
- package/dist/{index110.es.js → index.es127.js} +4 -4
- package/dist/{index110.es.js.map → index.es127.js.map} +1 -1
- package/dist/{index111.es.js → index.es128.js} +4 -4
- package/dist/{index111.es.js.map → index.es128.js.map} +1 -1
- package/dist/{index112.es.js → index.es129.js} +5 -5
- package/dist/{index112.es.js.map → index.es129.js.map} +1 -1
- package/dist/{index13.es.js → index.es13.js} +3 -3
- package/dist/{index13.es.js.map → index.es13.js.map} +1 -1
- package/dist/{index113.es.js → index.es130.js} +2 -2
- package/dist/{index113.es.js.map → index.es130.js.map} +1 -1
- package/dist/{index114.es.js → index.es131.js} +3 -3
- package/dist/{index114.es.js.map → index.es131.js.map} +1 -1
- package/dist/{index109.es.js → index.es132.js} +1 -1
- package/dist/{index109.es.js.map → index.es132.js.map} +1 -1
- package/dist/{index100.es.js → index.es133.js} +1 -1
- package/dist/{index100.es.js.map → index.es133.js.map} +1 -1
- package/dist/{index102.es.js → index.es134.js} +2 -2
- package/dist/{index102.es.js.map → index.es134.js.map} +1 -1
- package/dist/{index104.es.js → index.es135.js} +1 -1
- package/dist/{index104.es.js.map → index.es135.js.map} +1 -1
- package/dist/{index131.es.js → index.es136.js} +5 -5
- package/dist/{index131.es.js.map → index.es136.js.map} +1 -1
- package/dist/{index143.es.js → index.es137.js} +1 -1
- package/dist/{index143.es.js.map → index.es137.js.map} +1 -1
- package/dist/{index144.es.js → index.es138.js} +12 -11
- package/dist/index.es138.js.map +1 -0
- package/dist/{index145.es.js → index.es139.js} +3 -3
- package/dist/{index145.es.js.map → index.es139.js.map} +1 -1
- package/dist/{index14.es.js → index.es14.js} +2 -2
- package/dist/{index14.es.js.map → index.es14.js.map} +1 -1
- package/dist/{index146.es.js → index.es140.js} +2 -2
- package/dist/{index146.es.js.map → index.es140.js.map} +1 -1
- package/dist/index.es141.js +77 -0
- package/dist/index.es141.js.map +1 -0
- package/dist/{index147.es.js → index.es142.js} +1 -1
- package/dist/{index147.es.js.map → index.es142.js.map} +1 -1
- package/dist/{index148.es.js → index.es143.js} +1 -1
- package/dist/{index148.es.js.map → index.es143.js.map} +1 -1
- package/dist/{index149.es.js → index.es144.js} +10 -7
- package/dist/index.es144.js.map +1 -0
- package/dist/index.es145.js +408 -0
- package/dist/index.es145.js.map +1 -0
- package/dist/{index151.es.js → index.es146.js} +16 -12
- package/dist/index.es146.js.map +1 -0
- package/dist/{index152.es.js → index.es147.js} +5 -5
- package/dist/{index152.es.js.map → index.es147.js.map} +1 -1
- package/dist/{index153.es.js → index.es148.js} +17 -16
- package/dist/index.es148.js.map +1 -0
- package/dist/{index154.es.js → index.es149.js} +2 -2
- package/dist/{index154.es.js.map → index.es149.js.map} +1 -1
- package/dist/{index15.es.js → index.es15.js} +3 -3
- package/dist/{index15.es.js.map → index.es15.js.map} +1 -1
- package/dist/{index155.es.js → index.es150.js} +4 -4
- package/dist/{index155.es.js.map → index.es150.js.map} +1 -1
- package/dist/index.es151.js +215 -0
- package/dist/index.es151.js.map +1 -0
- package/dist/{index157.es.js → index.es152.js} +5 -5
- package/dist/{index157.es.js.map → index.es152.js.map} +1 -1
- package/dist/index.es153.js +147 -0
- package/dist/index.es153.js.map +1 -0
- package/dist/index.es154.js +50 -0
- package/dist/index.es154.js.map +1 -0
- package/dist/index.es155.js +358 -0
- package/dist/index.es155.js.map +1 -0
- package/dist/{index137.es.js → index.es156.js} +2 -2
- package/dist/{index137.es.js.map → index.es156.js.map} +1 -1
- package/dist/{index138.es.js → index.es157.js} +1 -1
- package/dist/{index138.es.js.map → index.es157.js.map} +1 -1
- package/dist/{index159.es.js → index.es158.js} +1 -1
- package/dist/{index159.es.js.map → index.es158.js.map} +1 -1
- package/dist/{index139.es.js → index.es159.js} +3 -3
- package/dist/{index139.es.js.map → index.es159.js.map} +1 -1
- package/dist/{index16.es.js → index.es16.js} +8 -8
- package/dist/{index16.es.js.map → index.es16.js.map} +1 -1
- package/dist/{index140.es.js → index.es160.js} +1 -1
- package/dist/{index140.es.js.map → index.es160.js.map} +1 -1
- package/dist/{index141.es.js → index.es161.js} +1 -1
- package/dist/{index141.es.js.map → index.es161.js.map} +1 -1
- package/dist/{index142.es.js → index.es162.js} +1 -1
- package/dist/{index142.es.js.map → index.es162.js.map} +1 -1
- package/dist/{index160.es.js → index.es163.js} +1 -1
- package/dist/{index160.es.js.map → index.es163.js.map} +1 -1
- package/dist/{index161.es.js → index.es164.js} +1 -1
- package/dist/{index161.es.js.map → index.es164.js.map} +1 -1
- package/dist/{index162.es.js → index.es165.js} +1 -1
- package/dist/{index162.es.js.map → index.es165.js.map} +1 -1
- package/dist/{index164.es.js → index.es166.js} +2 -2
- package/dist/{index164.es.js.map → index.es166.js.map} +1 -1
- package/dist/{index165.es.js → index.es167.js} +2 -2
- package/dist/{index165.es.js.map → index.es167.js.map} +1 -1
- package/dist/{index166.es.js → index.es168.js} +4 -4
- package/dist/{index166.es.js.map → index.es168.js.map} +1 -1
- package/dist/{index167.es.js → index.es169.js} +4 -4
- package/dist/{index167.es.js.map → index.es169.js.map} +1 -1
- package/dist/{index17.es.js → index.es17.js} +3 -3
- package/dist/{index17.es.js.map → index.es17.js.map} +1 -1
- package/dist/index.es170.js +101 -0
- package/dist/index.es170.js.map +1 -0
- package/dist/index.es171.js +259 -0
- package/dist/index.es171.js.map +1 -0
- package/dist/index.es172.js +66 -0
- package/dist/index.es172.js.map +1 -0
- package/dist/{index170.es.js → index.es173.js} +19 -19
- package/dist/{index170.es.js.map → index.es173.js.map} +1 -1
- package/dist/{index171.es.js → index.es174.js} +4 -4
- package/dist/{index171.es.js.map → index.es174.js.map} +1 -1
- package/dist/{index172.es.js → index.es175.js} +2 -2
- package/dist/{index172.es.js.map → index.es175.js.map} +1 -1
- package/dist/{index180.es.js → index.es176.js} +1 -1
- package/dist/{index180.es.js.map → index.es176.js.map} +1 -1
- package/dist/{index181.es.js → index.es177.js} +2 -2
- package/dist/{index181.es.js.map → index.es177.js.map} +1 -1
- package/dist/{index173.es.js → index.es178.js} +6 -6
- package/dist/{index173.es.js.map → index.es178.js.map} +1 -1
- package/dist/{index174.es.js → index.es179.js} +16 -17
- package/dist/{index174.es.js.map → index.es179.js.map} +1 -1
- package/dist/{index18.es.js → index.es18.js} +2 -2
- package/dist/{index18.es.js.map → index.es18.js.map} +1 -1
- package/dist/{index175.es.js → index.es180.js} +26 -27
- package/dist/{index175.es.js.map → index.es180.js.map} +1 -1
- package/dist/{index176.es.js → index.es181.js} +12 -13
- package/dist/{index176.es.js.map → index.es181.js.map} +1 -1
- package/dist/{index177.es.js → index.es182.js} +5 -5
- package/dist/{index177.es.js.map → index.es182.js.map} +1 -1
- package/dist/{index178.es.js → index.es183.js} +26 -27
- package/dist/{index178.es.js.map → index.es183.js.map} +1 -1
- package/dist/{index179.es.js → index.es184.js} +29 -30
- package/dist/{index179.es.js.map → index.es184.js.map} +1 -1
- package/dist/{index182.es.js → index.es185.js} +1 -1
- package/dist/{index182.es.js.map → index.es185.js.map} +1 -1
- package/dist/{index19.es.js → index.es19.js} +4 -4
- package/dist/{index19.es.js.map → index.es19.js.map} +1 -1
- package/dist/{index2.es.js → index.es2.js} +5 -5
- package/dist/{index2.es.js.map → index.es2.js.map} +1 -1
- package/dist/{index20.es.js → index.es20.js} +5 -5
- package/dist/{index20.es.js.map → index.es20.js.map} +1 -1
- package/dist/{index21.es.js → index.es21.js} +6 -6
- package/dist/{index21.es.js.map → index.es21.js.map} +1 -1
- package/dist/{index22.es.js → index.es22.js} +2 -2
- package/dist/{index22.es.js.map → index.es22.js.map} +1 -1
- package/dist/{index23.es.js → index.es23.js} +7 -7
- package/dist/{index23.es.js.map → index.es23.js.map} +1 -1
- package/dist/{index24.es.js → index.es24.js} +7 -7
- package/dist/{index24.es.js.map → index.es24.js.map} +1 -1
- package/dist/{index25.es.js → index.es25.js} +3 -3
- package/dist/{index25.es.js.map → index.es25.js.map} +1 -1
- package/dist/{index26.es.js → index.es26.js} +2 -2
- package/dist/{index26.es.js.map → index.es26.js.map} +1 -1
- package/dist/{index27.es.js → index.es27.js} +7 -7
- package/dist/{index27.es.js.map → index.es27.js.map} +1 -1
- package/dist/{index28.es.js → index.es28.js} +9 -9
- package/dist/{index28.es.js.map → index.es28.js.map} +1 -1
- package/dist/{index29.es.js → index.es29.js} +5 -5
- package/dist/{index29.es.js.map → index.es29.js.map} +1 -1
- package/dist/{index3.es.js → index.es3.js} +3 -3
- package/dist/{index3.es.js.map → index.es3.js.map} +1 -1
- package/dist/{index30.es.js → index.es30.js} +3 -3
- package/dist/{index30.es.js.map → index.es30.js.map} +1 -1
- package/dist/{index31.es.js → index.es31.js} +1 -1
- package/dist/{index31.es.js.map → index.es31.js.map} +1 -1
- package/dist/{index32.es.js → index.es32.js} +2 -2
- package/dist/{index32.es.js.map → index.es32.js.map} +1 -1
- package/dist/{index33.es.js → index.es33.js} +3 -3
- package/dist/{index33.es.js.map → index.es33.js.map} +1 -1
- package/dist/{index34.es.js → index.es34.js} +5 -5
- package/dist/{index34.es.js.map → index.es34.js.map} +1 -1
- package/dist/{index35.es.js → index.es35.js} +6 -6
- package/dist/{index35.es.js.map → index.es35.js.map} +1 -1
- package/dist/{index36.es.js → index.es36.js} +5 -5
- package/dist/{index36.es.js.map → index.es36.js.map} +1 -1
- package/dist/{index37.es.js → index.es37.js} +6 -6
- package/dist/{index37.es.js.map → index.es37.js.map} +1 -1
- package/dist/{index38.es.js → index.es38.js} +2 -2
- package/dist/{index38.es.js.map → index.es38.js.map} +1 -1
- package/dist/{index39.es.js → index.es39.js} +3 -3
- package/dist/{index39.es.js.map → index.es39.js.map} +1 -1
- package/dist/{index4.es.js → index.es4.js} +2 -2
- package/dist/{index4.es.js.map → index.es4.js.map} +1 -1
- package/dist/{index40.es.js → index.es40.js} +4 -4
- package/dist/{index40.es.js.map → index.es40.js.map} +1 -1
- package/dist/{index41.es.js → index.es41.js} +5 -5
- package/dist/{index41.es.js.map → index.es41.js.map} +1 -1
- package/dist/{index42.es.js → index.es42.js} +4 -4
- package/dist/{index42.es.js.map → index.es42.js.map} +1 -1
- package/dist/{index43.es.js → index.es43.js} +2 -2
- package/dist/{index43.es.js.map → index.es43.js.map} +1 -1
- package/dist/{index44.es.js → index.es44.js} +2 -2
- package/dist/{index44.es.js.map → index.es44.js.map} +1 -1
- package/dist/index.es45.js +69 -0
- package/dist/index.es45.js.map +1 -0
- package/dist/{index46.es.js → index.es46.js} +9 -9
- package/dist/{index46.es.js.map → index.es46.js.map} +1 -1
- package/dist/{index47.es.js → index.es47.js} +7 -7
- package/dist/{index47.es.js.map → index.es47.js.map} +1 -1
- package/dist/{index48.es.js → index.es48.js} +10 -10
- package/dist/{index48.es.js.map → index.es48.js.map} +1 -1
- package/dist/{index49.es.js → index.es49.js} +2 -2
- package/dist/{index49.es.js.map → index.es49.js.map} +1 -1
- package/dist/{index5.es.js → index.es5.js} +2 -2
- package/dist/{index5.es.js.map → index.es5.js.map} +1 -1
- package/dist/{index50.es.js → index.es50.js} +1 -1
- package/dist/{index50.es.js.map → index.es50.js.map} +1 -1
- package/dist/{index51.es.js → index.es51.js} +2 -2
- package/dist/{index51.es.js.map → index.es51.js.map} +1 -1
- package/dist/{index52.es.js → index.es52.js} +3 -3
- package/dist/{index52.es.js.map → index.es52.js.map} +1 -1
- package/dist/{index53.es.js → index.es53.js} +7 -7
- package/dist/{index53.es.js.map → index.es53.js.map} +1 -1
- package/dist/{index54.es.js → index.es54.js} +4 -4
- package/dist/{index54.es.js.map → index.es54.js.map} +1 -1
- package/dist/{index55.es.js → index.es55.js} +5 -5
- package/dist/{index55.es.js.map → index.es55.js.map} +1 -1
- package/dist/{index56.es.js → index.es56.js} +3 -3
- package/dist/{index56.es.js.map → index.es56.js.map} +1 -1
- package/dist/{index57.es.js → index.es57.js} +9 -9
- package/dist/{index57.es.js.map → index.es57.js.map} +1 -1
- package/dist/{index58.es.js → index.es58.js} +3 -4
- package/dist/{index58.es.js.map → index.es58.js.map} +1 -1
- package/dist/{index59.es.js → index.es59.js} +2 -2
- package/dist/{index59.es.js.map → index.es59.js.map} +1 -1
- package/dist/{index6.es.js → index.es6.js} +2 -2
- package/dist/{index6.es.js.map → index.es6.js.map} +1 -1
- package/dist/{index60.es.js → index.es60.js} +3 -3
- package/dist/{index60.es.js.map → index.es60.js.map} +1 -1
- package/dist/{index61.es.js → index.es61.js} +2 -2
- package/dist/{index61.es.js.map → index.es61.js.map} +1 -1
- package/dist/{index62.es.js → index.es62.js} +2 -2
- package/dist/{index62.es.js.map → index.es62.js.map} +1 -1
- package/dist/{index63.es.js → index.es63.js} +2 -2
- package/dist/{index63.es.js.map → index.es63.js.map} +1 -1
- package/dist/{index64.es.js → index.es64.js} +3 -3
- package/dist/{index64.es.js.map → index.es64.js.map} +1 -1
- package/dist/{index65.es.js → index.es65.js} +3 -3
- package/dist/{index65.es.js.map → index.es65.js.map} +1 -1
- package/dist/{index66.es.js → index.es66.js} +2 -2
- package/dist/{index66.es.js.map → index.es66.js.map} +1 -1
- package/dist/{index67.es.js → index.es67.js} +3 -3
- package/dist/{index67.es.js.map → index.es67.js.map} +1 -1
- package/dist/{index68.es.js → index.es68.js} +3 -3
- package/dist/{index68.es.js.map → index.es68.js.map} +1 -1
- package/dist/{index69.es.js → index.es69.js} +6 -6
- package/dist/{index69.es.js.map → index.es69.js.map} +1 -1
- package/dist/{index7.es.js → index.es7.js} +2 -2
- package/dist/{index7.es.js.map → index.es7.js.map} +1 -1
- package/dist/{index70.es.js → index.es70.js} +6 -6
- package/dist/{index70.es.js.map → index.es70.js.map} +1 -1
- package/dist/{index71.es.js → index.es71.js} +4 -4
- package/dist/{index71.es.js.map → index.es71.js.map} +1 -1
- package/dist/{index72.es.js → index.es72.js} +8 -8
- package/dist/{index72.es.js.map → index.es72.js.map} +1 -1
- package/dist/{index73.es.js → index.es73.js} +5 -5
- package/dist/{index73.es.js.map → index.es73.js.map} +1 -1
- package/dist/{index74.es.js → index.es74.js} +1 -1
- package/dist/{index74.es.js.map → index.es74.js.map} +1 -1
- package/dist/{index75.es.js → index.es75.js} +1 -1
- package/dist/{index75.es.js.map → index.es75.js.map} +1 -1
- package/dist/{index76.es.js → index.es76.js} +1 -1
- package/dist/{index76.es.js.map → index.es76.js.map} +1 -1
- package/dist/{index77.es.js → index.es77.js} +1 -1
- package/dist/{index77.es.js.map → index.es77.js.map} +1 -1
- package/dist/{index78.es.js → index.es78.js} +2 -2
- package/dist/{index78.es.js.map → index.es78.js.map} +1 -1
- package/dist/{index79.es.js → index.es79.js} +1 -1
- package/dist/{index79.es.js.map → index.es79.js.map} +1 -1
- package/dist/{index8.es.js → index.es8.js} +3 -3
- package/dist/{index8.es.js.map → index.es8.js.map} +1 -1
- package/dist/{index80.es.js → index.es80.js} +3 -3
- package/dist/{index80.es.js.map → index.es80.js.map} +1 -1
- package/dist/{index81.es.js → index.es81.js} +4 -4
- package/dist/{index81.es.js.map → index.es81.js.map} +1 -1
- package/dist/{index82.es.js → index.es82.js} +1 -1
- package/dist/{index82.es.js.map → index.es82.js.map} +1 -1
- package/dist/{index83.es.js → index.es83.js} +1 -1
- package/dist/{index83.es.js.map → index.es83.js.map} +1 -1
- package/dist/{index84.es.js.map → index.es84.js.map} +1 -1
- package/dist/{index85.es.js → index.es85.js} +2 -2
- package/dist/{index85.es.js.map → index.es85.js.map} +1 -1
- package/dist/{index86.es.js → index.es86.js} +2 -2
- package/dist/{index86.es.js.map → index.es86.js.map} +1 -1
- package/dist/{index87.es.js → index.es87.js} +1 -1
- package/dist/{index87.es.js.map → index.es87.js.map} +1 -1
- package/dist/index.es88.js +5 -0
- package/dist/index.es88.js.map +1 -0
- package/dist/{index89.es.js → index.es89.js} +1 -1
- package/dist/{index89.es.js.map → index.es89.js.map} +1 -1
- package/dist/{index9.es.js → index.es9.js} +4 -4
- package/dist/{index9.es.js.map → index.es9.js.map} +1 -1
- package/dist/{index90.es.js → index.es90.js} +2 -2
- package/dist/{index90.es.js.map → index.es90.js.map} +1 -1
- package/dist/{index91.es.js → index.es91.js} +3 -3
- package/dist/{index91.es.js.map → index.es91.js.map} +1 -1
- package/dist/{index92.es.js → index.es92.js} +1 -1
- package/dist/{index92.es.js.map → index.es92.js.map} +1 -1
- package/dist/{index93.es.js → index.es93.js} +1 -1
- package/dist/{index93.es.js.map → index.es93.js.map} +1 -1
- package/dist/{index94.es.js → index.es94.js} +1 -1
- package/dist/{index94.es.js.map → index.es94.js.map} +1 -1
- package/dist/{index95.es.js → index.es95.js} +1 -1
- package/dist/{index95.es.js.map → index.es95.js.map} +1 -1
- package/dist/{index96.es.js → index.es96.js} +1 -1
- package/dist/{index96.es.js.map → index.es96.js.map} +1 -1
- package/dist/{index117.es.js → index.es97.js} +1 -1
- package/dist/index.es97.js.map +1 -0
- package/dist/{index118.es.js → index.es98.js} +24 -23
- package/dist/index.es98.js.map +1 -0
- package/dist/{index119.es.js → index.es99.js} +1 -1
- package/dist/index.es99.js.map +1 -0
- package/dist/styles.css +72 -11
- package/package.json +1 -1
- package/dist/index117.es.js.map +0 -1
- package/dist/index118.es.js.map +0 -1
- package/dist/index119.es.js.map +0 -1
- package/dist/index120.es.js +0 -105
- package/dist/index120.es.js.map +0 -1
- package/dist/index144.es.js.map +0 -1
- package/dist/index149.es.js.map +0 -1
- package/dist/index150.es.js +0 -325
- package/dist/index150.es.js.map +0 -1
- package/dist/index151.es.js.map +0 -1
- package/dist/index153.es.js.map +0 -1
- package/dist/index156.es.js +0 -146
- package/dist/index156.es.js.map +0 -1
- package/dist/index158.es.js +0 -50
- package/dist/index158.es.js.map +0 -1
- package/dist/index163.es.js +0 -216
- package/dist/index163.es.js.map +0 -1
- package/dist/index168.es.js +0 -94
- package/dist/index168.es.js.map +0 -1
- package/dist/index169.es.js +0 -120
- package/dist/index169.es.js.map +0 -1
- package/dist/index45.es.js +0 -67
- package/dist/index45.es.js.map +0 -1
- package/dist/index88.es.js +0 -5
- package/dist/index88.es.js.map +0 -1
- package/dist/index97.es.js.map +0 -1
- package/dist/index98.es.js.map +0 -1
- package/dist/index99.es.js.map +0 -1
- package/dist/{index84.es.js → index.es84.js} +1 -1
package/dist/index150.es.js
DELETED
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
import { supportsContextFilter as k } from "./index162.es.js";
|
|
2
|
-
import { FILTER_CSS as T } from "./index148.es.js";
|
|
3
|
-
function C(t) {
|
|
4
|
-
const { adj: e } = t;
|
|
5
|
-
let n = `brightness(${e.brightness}%) contrast(${e.contrast}%) saturate(${e.saturate}%) sepia(${e.sepia}%) blur(${e.blur}px) hue-rotate(${e.hue}deg)`;
|
|
6
|
-
return e.filter !== "none" && (n += " " + T[e.filter]), n.trim();
|
|
7
|
-
}
|
|
8
|
-
const R = 0.25, A = 4, m = 1.25;
|
|
9
|
-
function v(t) {
|
|
10
|
-
const n = Math.min(
|
|
11
|
-
(t.stageEl.clientWidth - 48) / t.sourceCanvas.width,
|
|
12
|
-
(t.stageEl.clientHeight - 48) / t.sourceCanvas.height,
|
|
13
|
-
1
|
|
14
|
-
);
|
|
15
|
-
t.fitScale = n;
|
|
16
|
-
const o = n * t.zoom;
|
|
17
|
-
t.viewScale = o;
|
|
18
|
-
const a = Math.round(t.sourceCanvas.width * o), r = Math.round(t.sourceCanvas.height * o);
|
|
19
|
-
t.canvasEl.style.width = t.overlayEl.style.width = a + "px", t.canvasEl.style.height = t.overlayEl.style.height = r + "px";
|
|
20
|
-
}
|
|
21
|
-
function u(t, e) {
|
|
22
|
-
if (t.zoom = Math.min(A, Math.max(R, e)), !t.mounted || !t.sourceCanvas.width) {
|
|
23
|
-
t.notify();
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
v(t), I(t), t.notify();
|
|
27
|
-
}
|
|
28
|
-
function J(t) {
|
|
29
|
-
u(t, t.zoom * m);
|
|
30
|
-
}
|
|
31
|
-
function V(t) {
|
|
32
|
-
u(t, t.zoom / m);
|
|
33
|
-
}
|
|
34
|
-
function j(t) {
|
|
35
|
-
u(t, 1);
|
|
36
|
-
}
|
|
37
|
-
function q(t) {
|
|
38
|
-
t.canvasEl.width = t.overlayEl.width = t.sourceCanvas.width, t.canvasEl.height = t.overlayEl.height = t.sourceCanvas.height, v(t);
|
|
39
|
-
}
|
|
40
|
-
function H(t) {
|
|
41
|
-
const { ctx: e, canvasEl: n, sourceCanvas: o } = t;
|
|
42
|
-
e.clearRect(0, 0, n.width, n.height);
|
|
43
|
-
const a = C(t);
|
|
44
|
-
if (k()) {
|
|
45
|
-
n.style.filter = "", e.filter = a, e.drawImage(o, 0, 0), e.filter = "none";
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
n.style.filter = a, e.drawImage(o, 0, 0);
|
|
49
|
-
}
|
|
50
|
-
function U(t) {
|
|
51
|
-
!t.mounted || !t.sourceCanvas.width || (H(t), I(t));
|
|
52
|
-
}
|
|
53
|
-
const g = 1.1;
|
|
54
|
-
function S(t, e) {
|
|
55
|
-
t.octx.font = `${e.size}px ${e.font}`;
|
|
56
|
-
const n = Math.max(e.boxWidth, 1), o = [];
|
|
57
|
-
return e.text.split(`
|
|
58
|
-
`).forEach((a) => {
|
|
59
|
-
const r = a.split(" ");
|
|
60
|
-
let i = "";
|
|
61
|
-
r.forEach((h) => {
|
|
62
|
-
const s = i ? i + " " + h : h;
|
|
63
|
-
i && t.octx.measureText(s).width > n ? (o.push(i), i = h) : i = s;
|
|
64
|
-
}), o.push(i);
|
|
65
|
-
}), o;
|
|
66
|
-
}
|
|
67
|
-
function c(t, e) {
|
|
68
|
-
if (e.type === "text") {
|
|
69
|
-
const n = S(t, e);
|
|
70
|
-
return {
|
|
71
|
-
x: e.x,
|
|
72
|
-
y: e.y,
|
|
73
|
-
w: e.boxWidth,
|
|
74
|
-
h: n.length * e.size * g
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
if (e.type === "shape" || e.type === "sticker")
|
|
78
|
-
return {
|
|
79
|
-
x: Math.min(e.x, e.x + e.w),
|
|
80
|
-
y: Math.min(e.y, e.y + e.h),
|
|
81
|
-
w: Math.abs(e.w),
|
|
82
|
-
h: Math.abs(e.h)
|
|
83
|
-
};
|
|
84
|
-
if (e.type === "stroke") {
|
|
85
|
-
let n = 1 / 0, o = 1 / 0, a = -1 / 0, r = -1 / 0;
|
|
86
|
-
e.points.forEach((h) => {
|
|
87
|
-
n = Math.min(n, h.x), o = Math.min(o, h.y), a = Math.max(a, h.x), r = Math.max(r, h.y);
|
|
88
|
-
});
|
|
89
|
-
const i = e.width / 2;
|
|
90
|
-
return { x: n - i, y: o - i, w: a - n + i * 2, h: r - o + i * 2 };
|
|
91
|
-
}
|
|
92
|
-
return { x: 0, y: 0, w: 0, h: 0 };
|
|
93
|
-
}
|
|
94
|
-
function K(t, e) {
|
|
95
|
-
if (e.type !== "text") return;
|
|
96
|
-
const n = t.sourceCanvas.height - e.y;
|
|
97
|
-
for (; e.size > 10 && c(t, e).h > n && n > 0; )
|
|
98
|
-
e.size -= 1;
|
|
99
|
-
}
|
|
100
|
-
function Q(t, e) {
|
|
101
|
-
if (e.type !== "text") return;
|
|
102
|
-
const n = t.sourceCanvas.width - e.x;
|
|
103
|
-
e.boxWidth = Math.round(Math.max(20, Math.min(e.boxWidth, n)));
|
|
104
|
-
}
|
|
105
|
-
function E(t) {
|
|
106
|
-
return [
|
|
107
|
-
{ corner: "tl", x: t.x, y: t.y },
|
|
108
|
-
{ corner: "tr", x: t.x + t.w, y: t.y },
|
|
109
|
-
{ corner: "bl", x: t.x, y: t.y + t.h },
|
|
110
|
-
{ corner: "br", x: t.x + t.w, y: t.y + t.h }
|
|
111
|
-
];
|
|
112
|
-
}
|
|
113
|
-
const w = [
|
|
114
|
-
"line",
|
|
115
|
-
"dashedLine",
|
|
116
|
-
"arrow",
|
|
117
|
-
"dashedArrow",
|
|
118
|
-
"doubleArrow",
|
|
119
|
-
"dashedDoubleArrow"
|
|
120
|
-
], z = ["dashedLine", "dashedArrow", "dashedDoubleArrow"], D = {
|
|
121
|
-
arrow: ["end"],
|
|
122
|
-
dashedArrow: ["end"],
|
|
123
|
-
doubleArrow: ["end", "start"],
|
|
124
|
-
dashedDoubleArrow: ["end", "start"]
|
|
125
|
-
};
|
|
126
|
-
function W(t) {
|
|
127
|
-
const e = Math.max(1, t || 1);
|
|
128
|
-
return [Math.max(6, e * 2.5), Math.max(4, e * 1.75)];
|
|
129
|
-
}
|
|
130
|
-
function M(t, e, n, o, a) {
|
|
131
|
-
t.beginPath(), t.moveTo(e, n), t.lineTo(
|
|
132
|
-
e - a * Math.cos(o - Math.PI / 6),
|
|
133
|
-
n - a * Math.sin(o - Math.PI / 6)
|
|
134
|
-
), t.moveTo(e, n), t.lineTo(
|
|
135
|
-
e - a * Math.cos(o + Math.PI / 6),
|
|
136
|
-
n - a * Math.sin(o + Math.PI / 6)
|
|
137
|
-
), t.stroke();
|
|
138
|
-
}
|
|
139
|
-
const _ = 26, O = 6;
|
|
140
|
-
function y(t, e) {
|
|
141
|
-
const n = c(t, e);
|
|
142
|
-
return { x: n.x + n.w / 2, y: n.y + n.h / 2 };
|
|
143
|
-
}
|
|
144
|
-
function d(t, e, n) {
|
|
145
|
-
if (!n) return { x: t.x, y: t.y };
|
|
146
|
-
const o = n * Math.PI / 180, a = Math.cos(o), r = Math.sin(o), i = t.x - e.x, h = t.y - e.y;
|
|
147
|
-
return { x: e.x + i * a - h * r, y: e.y + i * r + h * a };
|
|
148
|
-
}
|
|
149
|
-
function X(t, e, n, o) {
|
|
150
|
-
const a = e.rotation || 0;
|
|
151
|
-
if (!a) {
|
|
152
|
-
o();
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
const r = d(n, y(t, e), a);
|
|
156
|
-
o();
|
|
157
|
-
const i = d(n, y(t, e), a);
|
|
158
|
-
e.x += r.x - i.x, e.y += r.y - i.y;
|
|
159
|
-
}
|
|
160
|
-
function $(t, e, n) {
|
|
161
|
-
return d(n, y(t, e), -(e.rotation || 0));
|
|
162
|
-
}
|
|
163
|
-
function b(t, e) {
|
|
164
|
-
const n = c(t, e);
|
|
165
|
-
return {
|
|
166
|
-
x: n.x + n.w / 2,
|
|
167
|
-
y: n.y + n.h + _ / t.viewScale
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
function N(t, e) {
|
|
171
|
-
const n = b(t, e);
|
|
172
|
-
return d(n, y(t, e), e.rotation || 0);
|
|
173
|
-
}
|
|
174
|
-
function Y(t, e, n) {
|
|
175
|
-
const o = N(t, n);
|
|
176
|
-
return Math.hypot(e.x - o.x, e.y - o.y) <= 14 / t.viewScale;
|
|
177
|
-
}
|
|
178
|
-
function L(t, e, n) {
|
|
179
|
-
if (n.type === "stroke") return null;
|
|
180
|
-
const o = 12 / t.viewScale, a = $(t, n, e);
|
|
181
|
-
if (n.type === "shape" && w.includes(n.shape)) {
|
|
182
|
-
const s = [
|
|
183
|
-
{ corner: "start", x: n.x, y: n.y },
|
|
184
|
-
{ corner: "end", x: n.x + n.w, y: n.y + n.h }
|
|
185
|
-
].find(
|
|
186
|
-
(l) => Math.abs(a.x - l.x) < o && Math.abs(a.y - l.y) < o
|
|
187
|
-
);
|
|
188
|
-
return s ? s.corner : null;
|
|
189
|
-
}
|
|
190
|
-
const r = c(t, n), i = E(r).find(
|
|
191
|
-
(h) => Math.abs(a.x - h.x) < o && Math.abs(a.y - h.y) < o
|
|
192
|
-
);
|
|
193
|
-
return i ? i.corner : null;
|
|
194
|
-
}
|
|
195
|
-
function p(t, e, n) {
|
|
196
|
-
if (!n._editing) {
|
|
197
|
-
if (e.save(), n.type !== "stroke" || n.rotation) {
|
|
198
|
-
const o = c(t, n), a = o.x + o.w / 2, r = o.y + o.h / 2;
|
|
199
|
-
e.translate(a, r), n.rotation && e.rotate(n.rotation * Math.PI / 180), (n.flipH || n.flipV) && e.scale(n.flipH ? -1 : 1, n.flipV ? -1 : 1), e.translate(-a, -r);
|
|
200
|
-
}
|
|
201
|
-
if (n.type === "text") {
|
|
202
|
-
e.font = `${n.size}px ${n.font}`, e.fillStyle = n.color, e.textBaseline = "top", e.shadowColor = "rgba(0,0,0,.22)", e.shadowBlur = n.size * 0.05, e.shadowOffsetY = n.size * 0.02;
|
|
203
|
-
const o = n.size * g;
|
|
204
|
-
S(t, n).forEach((a, r) => {
|
|
205
|
-
e.fillText(a, n.x, n.y + r * o);
|
|
206
|
-
});
|
|
207
|
-
} else if (n.type === "shape") {
|
|
208
|
-
e.strokeStyle = n.color, e.fillStyle = n.color, e.lineWidth = n.width, e.lineCap = "round", e.lineJoin = "round";
|
|
209
|
-
const o = n.x, a = n.y, r = n.w, i = n.h;
|
|
210
|
-
if (n.shape === "rect")
|
|
211
|
-
n.fill === "fill" ? e.fillRect(o, a, r, i) : e.strokeRect(o, a, r, i);
|
|
212
|
-
else if (n.shape === "ellipse")
|
|
213
|
-
e.beginPath(), e.ellipse(
|
|
214
|
-
o + r / 2,
|
|
215
|
-
a + i / 2,
|
|
216
|
-
Math.abs(r / 2),
|
|
217
|
-
Math.abs(i / 2),
|
|
218
|
-
0,
|
|
219
|
-
0,
|
|
220
|
-
Math.PI * 2
|
|
221
|
-
), n.fill === "fill" ? e.fill() : e.stroke();
|
|
222
|
-
else if (n.shape === "circle") {
|
|
223
|
-
const h = Math.min(Math.abs(r), Math.abs(i)) / 2;
|
|
224
|
-
e.beginPath(), e.arc(o + r / 2, a + i / 2, h, 0, Math.PI * 2), n.fill === "fill" ? e.fill() : e.stroke();
|
|
225
|
-
} else if (w.includes(n.shape)) {
|
|
226
|
-
const h = o + r, s = a + i, l = z.includes(n.shape);
|
|
227
|
-
l && (e.lineCap = "butt", e.setLineDash(W(n.width))), e.beginPath(), e.moveTo(o, a), e.lineTo(h, s), e.stroke(), l && (e.setLineDash([]), e.lineCap = "round");
|
|
228
|
-
const x = Math.atan2(i, r), f = Math.max(14, n.width * 3);
|
|
229
|
-
(D[n.shape] || []).forEach((P) => {
|
|
230
|
-
P === "end" ? M(e, h, s, x, f) : M(e, o, a, x + Math.PI, f);
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
} else if (n.type === "stroke")
|
|
234
|
-
e.strokeStyle = n.color, e.lineWidth = n.width, e.lineCap = "round", e.lineJoin = "round", e.globalAlpha = n.style === "highlight" ? 0.35 : 1, e.beginPath(), n.points.forEach(
|
|
235
|
-
(o, a) => a === 0 ? e.moveTo(o.x, o.y) : e.lineTo(o.x, o.y)
|
|
236
|
-
), n.points.length === 1 && e.lineTo(n.points[0].x + 0.1, n.points[0].y + 0.1), e.stroke();
|
|
237
|
-
else if (n.type === "sticker") {
|
|
238
|
-
const o = t.stickerImageCache.get(n.src);
|
|
239
|
-
o && o.complete && o.naturalWidth && e.drawImage(o, n.x, n.y, n.w, n.h);
|
|
240
|
-
}
|
|
241
|
-
e.restore();
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
function B(t) {
|
|
245
|
-
return {
|
|
246
|
-
x: Math.min(t.x, t.x + t.w),
|
|
247
|
-
y: Math.min(t.y, t.y + t.h),
|
|
248
|
-
w: Math.abs(t.w),
|
|
249
|
-
h: Math.abs(t.h)
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
function F(t) {
|
|
253
|
-
const { cropRect: e, overlayEl: n, octx: o, sourceCanvas: a } = t;
|
|
254
|
-
if (!e) return;
|
|
255
|
-
const r = B(e), i = n.width, h = n.height;
|
|
256
|
-
o.save(), o.fillStyle = "rgba(0,0,0,.45)", o.fillRect(0, 0, i, Math.max(0, r.y)), o.fillRect(0, Math.min(h, r.y + r.h), i, Math.max(0, h - (r.y + r.h))), o.fillRect(0, r.y, Math.max(0, r.x), r.h), o.fillRect(Math.min(i, r.x + r.w), r.y, Math.max(0, i - (r.x + r.w)), r.h), o.strokeStyle = "#fff", o.lineWidth = Math.max(1, a.width / 500), o.setLineDash([8, 6]), o.strokeRect(r.x, r.y, r.w, r.h), o.restore();
|
|
257
|
-
}
|
|
258
|
-
function I(t) {
|
|
259
|
-
const { octx: e, overlayEl: n, layers: o, mode: a, selectedId: r } = t;
|
|
260
|
-
if (e.clearRect(0, 0, n.width, n.height), o.forEach((i) => {
|
|
261
|
-
try {
|
|
262
|
-
p(t, e, i);
|
|
263
|
-
} catch (h) {
|
|
264
|
-
console.error("[image-editor] failed to paint layer", i.id, i.type, h);
|
|
265
|
-
}
|
|
266
|
-
}), a === "select" && r != null) {
|
|
267
|
-
const i = o.find((h) => h.id === r);
|
|
268
|
-
if (i) {
|
|
269
|
-
const h = c(t, i);
|
|
270
|
-
if (e.save(), i.rotation) {
|
|
271
|
-
const l = y(t, i);
|
|
272
|
-
e.translate(l.x, l.y), e.rotate(i.rotation * Math.PI / 180), e.translate(-l.x, -l.y);
|
|
273
|
-
}
|
|
274
|
-
if (e.strokeStyle = "#2f5fd2", e.lineWidth = Math.max(1.2, 1.5 / t.viewScale), e.setLineDash([6 / t.viewScale, 4 / t.viewScale]), e.strokeRect(h.x - 4, h.y - 4, h.w + 8, h.h + 8), e.setLineDash([]), i.type !== "stroke") {
|
|
275
|
-
const l = 9 / t.viewScale;
|
|
276
|
-
e.fillStyle = "#fff", e.strokeStyle = "#2f5fd2", (i.type === "shape" && w.includes(i.shape) ? [
|
|
277
|
-
{ x: i.x, y: i.y },
|
|
278
|
-
{ x: i.x + i.w, y: i.y + i.h }
|
|
279
|
-
] : E(h)).forEach((f) => {
|
|
280
|
-
e.fillRect(f.x - l / 2, f.y - l / 2, l, l), e.strokeRect(f.x - l / 2, f.y - l / 2, l, l);
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
const s = b(t, i);
|
|
284
|
-
e.strokeStyle = "#2f5fd2", e.fillStyle = "#fff", e.beginPath(), e.moveTo(s.x, h.y + h.h + 4), e.lineTo(s.x, s.y), e.stroke(), e.beginPath(), e.arc(
|
|
285
|
-
s.x,
|
|
286
|
-
s.y,
|
|
287
|
-
O / t.viewScale,
|
|
288
|
-
0,
|
|
289
|
-
Math.PI * 2
|
|
290
|
-
), e.fill(), e.stroke(), e.restore();
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
t.pendingShape && p(t, e, t.pendingShape), a === "crop" && t.cropRect && F(t);
|
|
294
|
-
}
|
|
295
|
-
export {
|
|
296
|
-
w as DIRECTIONAL_SHAPES,
|
|
297
|
-
g as TEXT_LINE_HEIGHT,
|
|
298
|
-
A as ZOOM_MAX,
|
|
299
|
-
R as ZOOM_MIN,
|
|
300
|
-
u as applyZoom,
|
|
301
|
-
C as baseFilter,
|
|
302
|
-
Q as clampBoxWidth,
|
|
303
|
-
K as clampTextSize,
|
|
304
|
-
E as cornerPoints,
|
|
305
|
-
F as drawCropOverlay,
|
|
306
|
-
v as fitStage,
|
|
307
|
-
X as keepingFixed,
|
|
308
|
-
c as layerBounds,
|
|
309
|
-
y as layerCenter,
|
|
310
|
-
B as normRect,
|
|
311
|
-
L as onResizeHandle,
|
|
312
|
-
Y as onRotateHandle,
|
|
313
|
-
p as paintLayer,
|
|
314
|
-
U as render,
|
|
315
|
-
H as renderBase,
|
|
316
|
-
I as renderOverlay,
|
|
317
|
-
d as rotatePoint,
|
|
318
|
-
q as syncCanvasSize,
|
|
319
|
-
$ as toLayerSpace,
|
|
320
|
-
S as wrapTextLines,
|
|
321
|
-
J as zoomIn,
|
|
322
|
-
V as zoomOut,
|
|
323
|
-
j as zoomToFit
|
|
324
|
-
};
|
|
325
|
-
//# sourceMappingURL=index150.es.js.map
|
package/dist/index150.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index150.es.js","sources":["../src/components/organisms/image-editor/engine/rendering.js"],"sourcesContent":["import { supportsContextFilter } from './canvas-filter.js'\nimport { FILTER_CSS } from './constants.js'\n\nexport function baseFilter(state) {\n const { adj } = state\n let f = `brightness(${adj.brightness}%) contrast(${adj.contrast}%) saturate(${adj.saturate}%) sepia(${adj.sepia}%) blur(${adj.blur}px) hue-rotate(${adj.hue}deg)`\n if (adj.filter !== 'none') f += ' ' + FILTER_CSS[adj.filter]\n return f.trim()\n}\n\nexport const ZOOM_MIN = 0.25\nexport const ZOOM_MAX = 4\nconst ZOOM_STEP = 1.25\n\nexport function fitStage(state) {\n const pad = 48\n const fitScale = Math.min(\n (state.stageEl.clientWidth - pad) / state.sourceCanvas.width,\n (state.stageEl.clientHeight - pad) / state.sourceCanvas.height,\n 1\n )\n state.fitScale = fitScale\n const scale = fitScale * state.zoom\n state.viewScale = scale\n const w = Math.round(state.sourceCanvas.width * scale),\n h = Math.round(state.sourceCanvas.height * scale)\n state.canvasEl.style.width = state.overlayEl.style.width = w + 'px'\n state.canvasEl.style.height = state.overlayEl.style.height = h + 'px'\n}\n\nexport function applyZoom(state, zoom) {\n state.zoom = Math.min(ZOOM_MAX, Math.max(ZOOM_MIN, zoom))\n if (!state.mounted || !state.sourceCanvas.width) {\n state.notify()\n return\n }\n fitStage(state)\n renderOverlay(state)\n state.notify()\n}\n\nexport function zoomIn(state) {\n applyZoom(state, state.zoom * ZOOM_STEP)\n}\n\nexport function zoomOut(state) {\n applyZoom(state, state.zoom / ZOOM_STEP)\n}\n\nexport function zoomToFit(state) {\n applyZoom(state, 1)\n}\n\nexport function syncCanvasSize(state) {\n state.canvasEl.width = state.overlayEl.width = state.sourceCanvas.width\n state.canvasEl.height = state.overlayEl.height = state.sourceCanvas.height\n fitStage(state)\n}\n\nexport function renderBase(state) {\n const { ctx, canvasEl, sourceCanvas } = state\n ctx.clearRect(0, 0, canvasEl.width, canvasEl.height)\n const filter = baseFilter(state)\n\n if (supportsContextFilter()) {\n canvasEl.style.filter = ''\n ctx.filter = filter\n ctx.drawImage(sourceCanvas, 0, 0)\n ctx.filter = 'none'\n return\n }\n\n canvasEl.style.filter = filter\n ctx.drawImage(sourceCanvas, 0, 0)\n}\n\nexport function render(state) {\n if (!state.mounted || !state.sourceCanvas.width) return\n renderBase(state)\n renderOverlay(state)\n}\n\nexport const TEXT_LINE_HEIGHT = 1.1\n\nexport function wrapTextLines(state, L) {\n state.octx.font = `${L.size}px ${L.font}`\n const maxWidth = Math.max(L.boxWidth, 1)\n const lines = []\n // Split on hard breaks first, then word-wrap each paragraph in the box.\n L.text.split('\\n').forEach((paragraph) => {\n const words = paragraph.split(' ')\n let current = ''\n words.forEach((word) => {\n const test = current ? current + ' ' + word : word\n if (current && state.octx.measureText(test).width > maxWidth) {\n lines.push(current)\n current = word\n } else {\n current = test\n }\n })\n lines.push(current)\n })\n return lines\n}\n\nexport function layerBounds(state, L) {\n if (L.type === 'text') {\n const lines = wrapTextLines(state, L)\n return {\n x: L.x,\n y: L.y,\n w: L.boxWidth,\n h: lines.length * L.size * TEXT_LINE_HEIGHT,\n }\n }\n if (L.type === 'shape' || L.type === 'sticker') {\n return {\n x: Math.min(L.x, L.x + L.w),\n y: Math.min(L.y, L.y + L.h),\n w: Math.abs(L.w),\n h: Math.abs(L.h),\n }\n }\n if (L.type === 'stroke') {\n let a = Infinity,\n b = Infinity,\n cc = -Infinity,\n d = -Infinity\n L.points.forEach((p) => {\n a = Math.min(a, p.x)\n b = Math.min(b, p.y)\n cc = Math.max(cc, p.x)\n d = Math.max(d, p.y)\n })\n const pad = L.width / 2\n return { x: a - pad, y: b - pad, w: cc - a + pad * 2, h: d - b + pad * 2 }\n }\n return { x: 0, y: 0, w: 0, h: 0 }\n}\n\nexport function clampTextSize(state, L) {\n if (L.type !== 'text') return\n const availH = state.sourceCanvas.height - L.y\n while (L.size > 10 && layerBounds(state, L).h > availH && availH > 0) {\n L.size -= 1\n }\n}\n\nexport function clampBoxWidth(state, L) {\n if (L.type !== 'text') return\n const availW = state.sourceCanvas.width - L.x\n L.boxWidth = Math.round(Math.max(20, Math.min(L.boxWidth, availW)))\n}\n\nexport function cornerPoints(b) {\n return [\n { corner: 'tl', x: b.x, y: b.y },\n { corner: 'tr', x: b.x + b.w, y: b.y },\n { corner: 'bl', x: b.x, y: b.y + b.h },\n { corner: 'br', x: b.x + b.w, y: b.y + b.h },\n ]\n}\n\nexport const DIRECTIONAL_SHAPES = [\n 'line',\n 'dashedLine',\n 'arrow',\n 'dashedArrow',\n 'doubleArrow',\n 'dashedDoubleArrow',\n]\n\nconst DASHED_SHAPES = ['dashedLine', 'dashedArrow', 'dashedDoubleArrow']\n\n// Which ends of the shaft get an arrow head.\nconst ARROW_HEAD_ENDS = {\n arrow: ['end'],\n dashedArrow: ['end'],\n doubleArrow: ['end', 'start'],\n dashedDoubleArrow: ['end', 'start'],\n}\n\n// Dash and gap scale with stroke width; the floors keep hairlines visible.\nfunction dashedLineDash(width) {\n const w = Math.max(1, width || 1)\n return [Math.max(6, w * 2.5), Math.max(4, w * 1.75)]\n}\n\nfunction drawArrowHead(c, tipX, tipY, ang, head) {\n c.beginPath()\n c.moveTo(tipX, tipY)\n c.lineTo(\n tipX - head * Math.cos(ang - Math.PI / 6),\n tipY - head * Math.sin(ang - Math.PI / 6)\n )\n c.moveTo(tipX, tipY)\n c.lineTo(\n tipX - head * Math.cos(ang + Math.PI / 6),\n tipY - head * Math.sin(ang + Math.PI / 6)\n )\n c.stroke()\n}\n\nconst ROTATE_HANDLE_GAP = 26\nconst ROTATE_HANDLE_RADIUS = 6\n\nexport function layerCenter(state, L) {\n const b = layerBounds(state, L)\n return { x: b.x + b.w / 2, y: b.y + b.h / 2 }\n}\n\n// Canvas convention: y grows downward, so a positive angle turns clockwise.\nexport function rotatePoint(p, c, deg) {\n if (!deg) return { x: p.x, y: p.y }\n const rad = (deg * Math.PI) / 180\n const cos = Math.cos(rad),\n sin = Math.sin(rad)\n const dx = p.x - c.x,\n dy = p.y - c.y\n return { x: c.x + dx * cos - dy * sin, y: c.y + dx * sin + dy * cos }\n}\n\n// Resize without swinging a rotated layer: `local` stays put on screen.\nexport function keepingFixed(state, L, local, mutate) {\n const rot = L.rotation || 0\n if (!rot) {\n mutate()\n return\n }\n const before = rotatePoint(local, layerCenter(state, L), rot)\n mutate()\n const after = rotatePoint(local, layerCenter(state, L), rot)\n L.x += before.x - after.x\n L.y += before.y - after.y\n}\n\n// A pointer in the layer's own unrotated frame, where x/y/w/h are stored.\nexport function toLayerSpace(state, L, p) {\n return rotatePoint(p, layerCenter(state, L), -(L.rotation || 0))\n}\n\n// Local frame; the overlay's transform is what makes the grip orbit.\nfunction rotateHandleLocalPoint(state, L) {\n const b = layerBounds(state, L)\n return {\n x: b.x + b.w / 2,\n y: b.y + b.h + ROTATE_HANDLE_GAP / state.viewScale,\n }\n}\n\nfunction rotateHandlePoint(state, L) {\n const local = rotateHandleLocalPoint(state, L)\n return rotatePoint(local, layerCenter(state, L), L.rotation || 0)\n}\n\nexport function onRotateHandle(state, p, L) {\n const rp = rotateHandlePoint(state, L)\n return Math.hypot(p.x - rp.x, p.y - rp.y) <= 14 / state.viewScale\n}\n\nexport function onResizeHandle(state, p, L) {\n if (L.type === 'stroke') return null\n const hs = 12 / state.viewScale\n const q = toLayerSpace(state, L, p)\n if (L.type === 'shape' && DIRECTIONAL_SHAPES.includes(L.shape)) {\n const ends = [\n { corner: 'start', x: L.x, y: L.y },\n { corner: 'end', x: L.x + L.w, y: L.y + L.h },\n ]\n const hit = ends.find(\n (ep) => Math.abs(q.x - ep.x) < hs && Math.abs(q.y - ep.y) < hs\n )\n return hit ? hit.corner : null\n }\n const b = layerBounds(state, L)\n const hit = cornerPoints(b).find(\n (cp) => Math.abs(q.x - cp.x) < hs && Math.abs(q.y - cp.y) < hs\n )\n return hit ? hit.corner : null\n}\n\nexport function paintLayer(state, c, L) {\n if (L._editing) return\n c.save()\n // Strokes only need the transform once they carry a rotation.\n if (L.type !== 'stroke' || L.rotation) {\n const b = layerBounds(state, L)\n const cx = b.x + b.w / 2,\n cy = b.y + b.h / 2\n c.translate(cx, cy)\n if (L.rotation) c.rotate((L.rotation * Math.PI) / 180)\n if (L.flipH || L.flipV) c.scale(L.flipH ? -1 : 1, L.flipV ? -1 : 1)\n c.translate(-cx, -cy)\n }\n if (L.type === 'text') {\n c.font = `${L.size}px ${L.font}`\n c.fillStyle = L.color\n c.textBaseline = 'top'\n c.shadowColor = 'rgba(0,0,0,.22)'\n c.shadowBlur = L.size * 0.05\n c.shadowOffsetY = L.size * 0.02\n const lineHeight = L.size * TEXT_LINE_HEIGHT\n wrapTextLines(state, L).forEach((line, i) => {\n c.fillText(line, L.x, L.y + i * lineHeight)\n })\n } else if (L.type === 'shape') {\n c.strokeStyle = L.color\n c.fillStyle = L.color\n c.lineWidth = L.width\n c.lineCap = 'round'\n c.lineJoin = 'round'\n const x = L.x,\n y = L.y,\n w = L.w,\n h = L.h\n if (L.shape === 'rect') {\n L.fill === 'fill' ? c.fillRect(x, y, w, h) : c.strokeRect(x, y, w, h)\n } else if (L.shape === 'ellipse') {\n c.beginPath()\n c.ellipse(\n x + w / 2,\n y + h / 2,\n Math.abs(w / 2),\n Math.abs(h / 2),\n 0,\n 0,\n Math.PI * 2\n )\n L.fill === 'fill' ? c.fill() : c.stroke()\n } else if (L.shape === 'circle') {\n const r = Math.min(Math.abs(w), Math.abs(h)) / 2\n c.beginPath()\n c.arc(x + w / 2, y + h / 2, r, 0, Math.PI * 2)\n L.fill === 'fill' ? c.fill() : c.stroke()\n } else if (DIRECTIONAL_SHAPES.includes(L.shape)) {\n const ex = x + w,\n ey = y + h\n const dashed = DASHED_SHAPES.includes(L.shape)\n if (dashed) {\n // Butt caps keep dashes crisp; round caps bleed into the gaps.\n c.lineCap = 'butt'\n c.setLineDash(dashedLineDash(L.width))\n }\n c.beginPath()\n c.moveTo(x, y)\n c.lineTo(ex, ey)\n c.stroke()\n if (dashed) {\n // Heads draw solid: a dash pattern would fragment them into stubs.\n c.setLineDash([])\n c.lineCap = 'round'\n }\n const ang = Math.atan2(h, w),\n head = Math.max(14, L.width * 3)\n ;(ARROW_HEAD_ENDS[L.shape] || []).forEach((which) => {\n if (which === 'end') drawArrowHead(c, ex, ey, ang, head)\n else drawArrowHead(c, x, y, ang + Math.PI, head)\n })\n }\n } else if (L.type === 'stroke') {\n c.strokeStyle = L.color\n c.lineWidth = L.width\n c.lineCap = 'round'\n c.lineJoin = 'round'\n c.globalAlpha = L.style === 'highlight' ? 0.35 : 1\n c.beginPath()\n L.points.forEach((pt, i) =>\n i === 0 ? c.moveTo(pt.x, pt.y) : c.lineTo(pt.x, pt.y)\n )\n if (L.points.length === 1)\n c.lineTo(L.points[0].x + 0.1, L.points[0].y + 0.1)\n c.stroke()\n } else if (L.type === 'sticker') {\n const img = state.stickerImageCache.get(L.src)\n if (img && img.complete && img.naturalWidth)\n c.drawImage(img, L.x, L.y, L.w, L.h)\n }\n c.restore()\n}\n\nexport function normRect(r) {\n return {\n x: Math.min(r.x, r.x + r.w),\n y: Math.min(r.y, r.y + r.h),\n w: Math.abs(r.w),\n h: Math.abs(r.h),\n }\n}\n\nexport function drawCropOverlay(state) {\n const { cropRect, overlayEl, octx, sourceCanvas } = state\n if (!cropRect) return\n const r = normRect(cropRect)\n const W = overlayEl.width,\n H = overlayEl.height\n octx.save()\n octx.fillStyle = 'rgba(0,0,0,.45)'\n octx.fillRect(0, 0, W, Math.max(0, r.y))\n octx.fillRect(0, Math.min(H, r.y + r.h), W, Math.max(0, H - (r.y + r.h)))\n octx.fillRect(0, r.y, Math.max(0, r.x), r.h)\n octx.fillRect(Math.min(W, r.x + r.w), r.y, Math.max(0, W - (r.x + r.w)), r.h)\n octx.strokeStyle = '#fff'\n octx.lineWidth = Math.max(1, sourceCanvas.width / 500)\n octx.setLineDash([8, 6])\n octx.strokeRect(r.x, r.y, r.w, r.h)\n octx.restore()\n}\n\nexport function renderOverlay(state) {\n const { octx, overlayEl, layers, mode, selectedId } = state\n octx.clearRect(0, 0, overlayEl.width, overlayEl.height)\n layers.forEach((L) => {\n try {\n paintLayer(state, octx, L)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('[image-editor] failed to paint layer', L.id, L.type, err)\n }\n })\n if (mode === 'select' && selectedId != null) {\n const L = layers.find((l) => l.id === selectedId)\n if (L) {\n const b = layerBounds(state, L)\n octx.save()\n // The layer's frame, so box, handles and grip all tilt with it.\n if (L.rotation) {\n const c = layerCenter(state, L)\n octx.translate(c.x, c.y)\n octx.rotate((L.rotation * Math.PI) / 180)\n octx.translate(-c.x, -c.y)\n }\n octx.strokeStyle = '#2f5fd2'\n octx.lineWidth = Math.max(1.2, 1.5 / state.viewScale)\n octx.setLineDash([6 / state.viewScale, 4 / state.viewScale])\n octx.strokeRect(b.x - 4, b.y - 4, b.w + 8, b.h + 8)\n octx.setLineDash([])\n if (L.type !== 'stroke') {\n const hs = 9 / state.viewScale\n octx.fillStyle = '#fff'\n octx.strokeStyle = '#2f5fd2'\n const handlePoints =\n L.type === 'shape' && DIRECTIONAL_SHAPES.includes(L.shape)\n ? [\n { x: L.x, y: L.y },\n { x: L.x + L.w, y: L.y + L.h },\n ]\n : cornerPoints(b)\n handlePoints.forEach((cp) => {\n octx.fillRect(cp.x - hs / 2, cp.y - hs / 2, hs, hs)\n octx.strokeRect(cp.x - hs / 2, cp.y - hs / 2, hs, hs)\n })\n }\n // Rotate grip: every layer type gets one, strokes included.\n const rp = rotateHandleLocalPoint(state, L)\n octx.strokeStyle = '#2f5fd2'\n octx.fillStyle = '#fff'\n octx.beginPath()\n octx.moveTo(rp.x, b.y + b.h + 4)\n octx.lineTo(rp.x, rp.y)\n octx.stroke()\n octx.beginPath()\n octx.arc(\n rp.x,\n rp.y,\n ROTATE_HANDLE_RADIUS / state.viewScale,\n 0,\n Math.PI * 2\n )\n octx.fill()\n octx.stroke()\n octx.restore()\n }\n }\n if (state.pendingShape) paintLayer(state, octx, state.pendingShape)\n if (mode === 'crop' && state.cropRect) drawCropOverlay(state)\n}\n"],"names":["baseFilter","state","adj","f","FILTER_CSS","ZOOM_MIN","ZOOM_MAX","ZOOM_STEP","fitStage","fitScale","scale","w","h","applyZoom","zoom","renderOverlay","zoomIn","zoomOut","zoomToFit","syncCanvasSize","renderBase","ctx","canvasEl","sourceCanvas","filter","supportsContextFilter","render","TEXT_LINE_HEIGHT","wrapTextLines","L","maxWidth","lines","paragraph","words","current","word","test","layerBounds","a","b","cc","d","p","pad","clampTextSize","availH","clampBoxWidth","availW","cornerPoints","DIRECTIONAL_SHAPES","DASHED_SHAPES","ARROW_HEAD_ENDS","dashedLineDash","width","drawArrowHead","c","tipX","tipY","ang","head","ROTATE_HANDLE_GAP","ROTATE_HANDLE_RADIUS","layerCenter","rotatePoint","deg","rad","cos","sin","dx","dy","keepingFixed","local","mutate","rot","before","after","toLayerSpace","rotateHandleLocalPoint","rotateHandlePoint","onRotateHandle","rp","onResizeHandle","hs","q","hit","ep","cp","paintLayer","cx","cy","lineHeight","line","i","x","y","r","ex","ey","dashed","which","pt","img","normRect","drawCropOverlay","cropRect","overlayEl","octx","W","H","layers","mode","selectedId","err","l"],"mappings":"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"}
|
package/dist/index151.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index151.es.js","sources":["../src/components/organisms/image-editor/engine/history.js"],"sourcesContent":["import { MAX_HISTORY, emitChange } from './state.js'\nimport { render, syncCanvasSize } from './rendering.js'\n\nexport function snapshot(state) {\n const c = document.createElement('canvas')\n c.width = state.sourceCanvas.width\n c.height = state.sourceCanvas.height\n c.getContext('2d').drawImage(state.sourceCanvas, 0, 0)\n return {\n raster: c,\n layers: JSON.parse(JSON.stringify(state.layers)),\n adj: { ...state.adj },\n sel: state.selectedId,\n }\n}\n\nexport function pushHistory(state) {\n state.undoStack.push(snapshot(state))\n if (state.undoStack.length > MAX_HISTORY) state.undoStack.shift()\n state.redoStack = []\n emitChange(state)\n}\n\nexport function applySnapshot(state, s) {\n state.sourceCanvas.width = s.raster.width\n state.sourceCanvas.height = s.raster.height\n state.sourceCanvas.getContext('2d').drawImage(s.raster, 0, 0)\n state.layers = JSON.parse(JSON.stringify(s.layers))\n Object.assign(state.adj, s.adj)\n state.selectedId = s.sel\n syncCanvasSize(state)\n render(state)\n}\n\nexport function undo(state) {\n if (!state.undoStack.length) return\n state.redoStack.push(snapshot(state))\n applySnapshot(state, state.undoStack.pop())\n state.statusText = 'Undo'\n emitChange(state)\n}\n\nexport function redo(state) {\n if (!state.redoStack.length) return\n state.undoStack.push(snapshot(state))\n applySnapshot(state, state.redoStack.pop())\n state.statusText = 'Redo'\n emitChange(state)\n}\n"],"names":["snapshot","state","c","pushHistory","MAX_HISTORY","emitChange","applySnapshot","s","syncCanvasSize","render","undo","redo"],"mappings":";;AAGO,SAASA,EAASC,GAAO;AAC9B,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,SAAAA,EAAE,QAAQD,EAAM,aAAa,OAC7BC,EAAE,SAASD,EAAM,aAAa,QAC9BC,EAAE,WAAW,IAAI,EAAE,UAAUD,EAAM,cAAc,GAAG,CAAC,GAC9C;AAAA,IACL,QAAQC;AAAA,IACR,QAAQ,KAAK,MAAM,KAAK,UAAUD,EAAM,MAAM,CAAC;AAAA,IAC/C,KAAK,EAAE,GAAGA,EAAM,IAAG;AAAA,IACnB,KAAKA,EAAM;AAAA,EACf;AACA;AAEO,SAASE,EAAYF,GAAO;AACjC,EAAAA,EAAM,UAAU,KAAKD,EAASC,CAAK,CAAC,GAChCA,EAAM,UAAU,SAASG,KAAaH,EAAM,UAAU,MAAK,GAC/DA,EAAM,YAAY,CAAA,GAClBI,EAAWJ,CAAK;AAClB;AAEO,SAASK,EAAcL,GAAOM,GAAG;AACtC,EAAAN,EAAM,aAAa,QAAQM,EAAE,OAAO,OACpCN,EAAM,aAAa,SAASM,EAAE,OAAO,QACrCN,EAAM,aAAa,WAAW,IAAI,EAAE,UAAUM,EAAE,QAAQ,GAAG,CAAC,GAC5DN,EAAM,SAAS,KAAK,MAAM,KAAK,UAAUM,EAAE,MAAM,CAAC,GAClD,OAAO,OAAON,EAAM,KAAKM,EAAE,GAAG,GAC9BN,EAAM,aAAaM,EAAE,KACrBC,EAAeP,CAAK,GACpBQ,EAAOR,CAAK;AACd;AAEO,SAASS,EAAKT,GAAO;AAC1B,EAAKA,EAAM,UAAU,WACrBA,EAAM,UAAU,KAAKD,EAASC,CAAK,CAAC,GACpCK,EAAcL,GAAOA,EAAM,UAAU,IAAG,CAAE,GAC1CA,EAAM,aAAa,QACnBI,EAAWJ,CAAK;AAClB;AAEO,SAASU,EAAKV,GAAO;AAC1B,EAAKA,EAAM,UAAU,WACrBA,EAAM,UAAU,KAAKD,EAASC,CAAK,CAAC,GACpCK,EAAcL,GAAOA,EAAM,UAAU,IAAG,CAAE,GAC1CA,EAAM,aAAa,QACnBI,EAAWJ,CAAK;AAClB;"}
|
package/dist/index153.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index153.es.js","sources":["../src/components/organisms/image-editor/engine/mode.js"],"sourcesContent":["import { renderOverlay } from './rendering.js'\nimport { commitTextEdit } from './text-editor.js'\n\nconst STATUS_BY_MODE = {\n select: 'Select — click a layer to move it',\n crop: 'Crop — drag a box',\n text: 'Text tool',\n draw: 'Draw tool',\n shape: 'Shape tool',\n sticker: 'Sticker tool',\n}\n\nfunction pencilCursor(color) {\n const stroke = encodeURIComponent(color)\n return `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='${stroke}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 2 4 4-14 14H4v-4L18 2z'/%3E%3Cpath d='m14.5 5.5 4 4'/%3E%3C/svg%3E\") 2 22, crosshair`\n}\n\nconst CURSOR_BY_MODE = {\n select: 'default',\n crop: 'crosshair',\n text: 'text',\n shape: 'crosshair',\n sticker: 'default',\n}\n\nexport function applyModeCursor(state) {\n if (!state.overlayEl) return\n state.overlayEl.style.cursor =\n state.mode === 'draw'\n ? pencilCursor(state.drawColor)\n : CURSOR_BY_MODE[state.mode] || 'default'\n}\n\nexport function setMode(state, m) {\n if (state.mode !== 'select') commitTextEdit(state)\n state.mode = m\n state.pendingShape = null\n state.cropRect = null\n applyModeCursor(state)\n renderOverlay(state)\n state.statusText = STATUS_BY_MODE[m]\n state.notify()\n}\n\nexport function selectLayer(state, id) {\n state.selectedId = id\n renderOverlay(state)\n state.notify()\n}\n"],"names":["STATUS_BY_MODE","pencilCursor","color","CURSOR_BY_MODE","applyModeCursor","state","setMode","m","commitTextEdit","renderOverlay","selectLayer","id"],"mappings":";;AAGA,MAAMA,IAAiB;AAAA,EACrB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AACX;AAEA,SAASC,EAAaC,GAAO;AAE3B,SAAO,oIADQ,mBAAmBA,CAAK,CAC0G;AACnJ;AAEA,MAAMC,IAAiB;AAAA,EACrB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AACX;AAEO,SAASC,EAAgBC,GAAO;AACrC,EAAKA,EAAM,cACXA,EAAM,UAAU,MAAM,SACpBA,EAAM,SAAS,SACXJ,EAAaI,EAAM,SAAS,IAC5BF,EAAeE,EAAM,IAAI,KAAK;AACtC;AAEO,SAASC,EAAQD,GAAOE,GAAG;AAChC,EAAIF,EAAM,SAAS,YAAUG,EAAeH,CAAK,GACjDA,EAAM,OAAOE,GACbF,EAAM,eAAe,MACrBA,EAAM,WAAW,MACjBD,EAAgBC,CAAK,GACrBI,EAAcJ,CAAK,GACnBA,EAAM,aAAaL,EAAeO,CAAC,GACnCF,EAAM,OAAM;AACd;AAEO,SAASK,EAAYL,GAAOM,GAAI;AACrC,EAAAN,EAAM,aAAaM,GACnBF,EAAcJ,CAAK,GACnBA,EAAM,OAAM;AACd;"}
|
package/dist/index156.es.js
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { pushHistory as l } from "./index151.es.js";
|
|
2
|
-
import { emitChange as r, getSel as c } from "./index149.es.js";
|
|
3
|
-
import { render as o, keepingFixed as u, clampTextSize as d, clampBoxWidth as y } from "./index150.es.js";
|
|
4
|
-
import { SHAPES as p } from "./index148.es.js";
|
|
5
|
-
import { applyModeCursor as h } from "./index153.es.js";
|
|
6
|
-
function t(e, n, i) {
|
|
7
|
-
u(e, n, { x: n.x, y: n.y }, i);
|
|
8
|
-
}
|
|
9
|
-
function g(e) {
|
|
10
|
-
if (e.type === "text")
|
|
11
|
-
return "“" + (e.text.length > 16 ? e.text.slice(0, 16) + "…" : e.text) + "”";
|
|
12
|
-
if (e.type === "stroke")
|
|
13
|
-
return e.style === "highlight" ? "Highlighter" : "Brush stroke";
|
|
14
|
-
if (e.type === "sticker") return "Sticker";
|
|
15
|
-
const n = p.find((i) => i.id === e.shape);
|
|
16
|
-
return n ? n.name : e.shape;
|
|
17
|
-
}
|
|
18
|
-
function x(e, n) {
|
|
19
|
-
l(e), e.layers = e.layers.filter((i) => i.id !== n), e.selectedId === n && (e.selectedId = null), o(e), e.statusText = "Layer deleted", r(e);
|
|
20
|
-
}
|
|
21
|
-
function C(e) {
|
|
22
|
-
e.selectedId != null && x(e, e.selectedId);
|
|
23
|
-
}
|
|
24
|
-
function F(e) {
|
|
25
|
-
const n = c(e);
|
|
26
|
-
if (!n) return;
|
|
27
|
-
l(e);
|
|
28
|
-
const i = JSON.parse(JSON.stringify(n));
|
|
29
|
-
i.id = e.nextId++, i.type === "text" || i.type === "shape" || i.type === "sticker" ? (i.x += 20, i.y += 20) : i.type === "stroke" && (i.points = i.points.map((f) => ({ x: f.x + 20, y: f.y + 20 }))), e.layers.push(i), e.selectedId = i.id, o(e), e.statusText = "Layer duplicated", r(e);
|
|
30
|
-
}
|
|
31
|
-
function k(e) {
|
|
32
|
-
const n = e.layers.findIndex((f) => f.id === e.selectedId);
|
|
33
|
-
if (n < 0) return;
|
|
34
|
-
l(e);
|
|
35
|
-
const [i] = e.layers.splice(n, 1);
|
|
36
|
-
e.layers.push(i), o(e), r(e);
|
|
37
|
-
}
|
|
38
|
-
function z(e) {
|
|
39
|
-
const n = e.layers.findIndex((f) => f.id === e.selectedId);
|
|
40
|
-
if (n < 0) return;
|
|
41
|
-
l(e);
|
|
42
|
-
const [i] = e.layers.splice(n, 1);
|
|
43
|
-
e.layers.unshift(i), o(e), r(e);
|
|
44
|
-
}
|
|
45
|
-
function B(e, n, i) {
|
|
46
|
-
e.adj[n] = i, o(e), e.notify();
|
|
47
|
-
}
|
|
48
|
-
function W(e, n) {
|
|
49
|
-
e.adj.filter = n, o(e), r(e);
|
|
50
|
-
}
|
|
51
|
-
function b(e, n) {
|
|
52
|
-
e.selectedShapeType = n, e.notify();
|
|
53
|
-
}
|
|
54
|
-
function j(e, n) {
|
|
55
|
-
e.shapeFill = n, e.notify();
|
|
56
|
-
}
|
|
57
|
-
function w(e, n) {
|
|
58
|
-
e.shapeWidth = n, e.notify();
|
|
59
|
-
}
|
|
60
|
-
function H(e, n) {
|
|
61
|
-
e.brushSize = n, e.notify();
|
|
62
|
-
}
|
|
63
|
-
function L(e, n) {
|
|
64
|
-
e.brushStyle = n, e.notify();
|
|
65
|
-
}
|
|
66
|
-
function N(e, n) {
|
|
67
|
-
e.textFont = n, e.notify();
|
|
68
|
-
}
|
|
69
|
-
function A(e, n) {
|
|
70
|
-
e.textSize = n, e.notify();
|
|
71
|
-
}
|
|
72
|
-
function J(e, n) {
|
|
73
|
-
e.textColor = n, e.notify();
|
|
74
|
-
}
|
|
75
|
-
function O(e, n) {
|
|
76
|
-
e.shapeColor = n, e.notify();
|
|
77
|
-
}
|
|
78
|
-
function P(e, n) {
|
|
79
|
-
e.drawColor = n, h(e), e.notify();
|
|
80
|
-
}
|
|
81
|
-
function D(e, n) {
|
|
82
|
-
const i = c(e);
|
|
83
|
-
i && (l(e), i.color = n, o(e), r(e));
|
|
84
|
-
}
|
|
85
|
-
function E(e, n) {
|
|
86
|
-
const i = c(e);
|
|
87
|
-
!i || i.type !== "text" || (t(e, i, () => {
|
|
88
|
-
i.text = n;
|
|
89
|
-
}), o(e), e.notify());
|
|
90
|
-
}
|
|
91
|
-
function M(e, n) {
|
|
92
|
-
const i = c(e);
|
|
93
|
-
i && (l(e), t(e, i, () => {
|
|
94
|
-
i.font = n;
|
|
95
|
-
}), o(e), r(e));
|
|
96
|
-
}
|
|
97
|
-
function q(e, n) {
|
|
98
|
-
const i = c(e);
|
|
99
|
-
i && (t(e, i, () => {
|
|
100
|
-
i.size = n, d(e, i);
|
|
101
|
-
}), o(e), e.notify());
|
|
102
|
-
}
|
|
103
|
-
function v(e, n) {
|
|
104
|
-
const i = c(e);
|
|
105
|
-
!i || i.type !== "text" || (t(e, i, () => {
|
|
106
|
-
i.boxWidth = n, y(e, i), d(e, i);
|
|
107
|
-
}), o(e), e.notify());
|
|
108
|
-
}
|
|
109
|
-
function G(e, n) {
|
|
110
|
-
const i = c(e);
|
|
111
|
-
i && (l(e), i.fill = n, o(e), r(e));
|
|
112
|
-
}
|
|
113
|
-
function K(e, n) {
|
|
114
|
-
const i = c(e);
|
|
115
|
-
i && (t(e, i, () => {
|
|
116
|
-
i.width = n;
|
|
117
|
-
}), o(e), e.notify());
|
|
118
|
-
}
|
|
119
|
-
export {
|
|
120
|
-
k as bringSelectedToFront,
|
|
121
|
-
x as deleteLayer,
|
|
122
|
-
C as deleteSelected,
|
|
123
|
-
F as duplicateSelected,
|
|
124
|
-
g as layerName,
|
|
125
|
-
b as selectShapeType,
|
|
126
|
-
z as sendSelectedToBack,
|
|
127
|
-
B as setAdjustment,
|
|
128
|
-
H as setBrushSize,
|
|
129
|
-
L as setBrushStyle,
|
|
130
|
-
P as setDrawColor,
|
|
131
|
-
W as setFilter,
|
|
132
|
-
v as setSelectedBoxWidth,
|
|
133
|
-
D as setSelectedColor,
|
|
134
|
-
M as setSelectedFont,
|
|
135
|
-
G as setSelectedShapeFill,
|
|
136
|
-
E as setSelectedText,
|
|
137
|
-
q as setSelectedTextSize,
|
|
138
|
-
K as setSelectedWidth,
|
|
139
|
-
O as setShapeColor,
|
|
140
|
-
j as setShapeFill,
|
|
141
|
-
w as setShapeWidth,
|
|
142
|
-
J as setTextColor,
|
|
143
|
-
N as setTextFont,
|
|
144
|
-
A as setTextSize
|
|
145
|
-
};
|
|
146
|
-
//# sourceMappingURL=index156.es.js.map
|
package/dist/index156.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index156.es.js","sources":["../src/components/organisms/image-editor/engine/layer-actions.js"],"sourcesContent":["import { pushHistory } from './history.js'\nimport { emitChange, getSel } from './state.js'\nimport {\n render,\n clampTextSize,\n clampBoxWidth,\n keepingFixed,\n} from './rendering.js'\n\n// These all resize the bounds, which would swing a rotated layer's centre.\nfunction resizeInPlace(state, L, mutate) {\n keepingFixed(state, L, { x: L.x, y: L.y }, mutate)\n}\nimport { SHAPES } from './constants.js'\nimport { applyModeCursor } from './mode.js'\n\nexport function layerName(L) {\n if (L.type === 'text')\n return '“' + (L.text.length > 16 ? L.text.slice(0, 16) + '…' : L.text) + '”'\n if (L.type === 'stroke')\n return L.style === 'highlight' ? 'Highlighter' : 'Brush stroke'\n if (L.type === 'sticker') return 'Sticker'\n const s = SHAPES.find((s) => s.id === L.shape)\n return s ? s.name : L.shape\n}\n\nexport function deleteLayer(state, id) {\n pushHistory(state)\n state.layers = state.layers.filter((l) => l.id !== id)\n if (state.selectedId === id) state.selectedId = null\n render(state)\n state.statusText = 'Layer deleted'\n emitChange(state)\n}\n\nexport function deleteSelected(state) {\n if (state.selectedId != null) deleteLayer(state, state.selectedId)\n}\n\nexport function duplicateSelected(state) {\n const L = getSel(state)\n if (!L) return\n pushHistory(state)\n const copy = JSON.parse(JSON.stringify(L))\n copy.id = state.nextId++\n if (\n copy.type === 'text' ||\n copy.type === 'shape' ||\n copy.type === 'sticker'\n ) {\n copy.x += 20\n copy.y += 20\n } else if (copy.type === 'stroke') {\n copy.points = copy.points.map((p) => ({ x: p.x + 20, y: p.y + 20 }))\n }\n state.layers.push(copy)\n state.selectedId = copy.id\n render(state)\n state.statusText = 'Layer duplicated'\n emitChange(state)\n}\n\nexport function bringSelectedToFront(state) {\n const i = state.layers.findIndex((l) => l.id === state.selectedId)\n if (i < 0) return\n pushHistory(state)\n const [L] = state.layers.splice(i, 1)\n state.layers.push(L)\n render(state)\n emitChange(state)\n}\n\nexport function sendSelectedToBack(state) {\n const i = state.layers.findIndex((l) => l.id === state.selectedId)\n if (i < 0) return\n pushHistory(state)\n const [L] = state.layers.splice(i, 1)\n state.layers.unshift(L)\n render(state)\n emitChange(state)\n}\n\nexport function setAdjustment(state, key, value) {\n state.adj[key] = value\n render(state)\n state.notify()\n}\nexport function setFilter(state, id) {\n state.adj.filter = id\n render(state)\n emitChange(state)\n}\nexport function selectShapeType(state, id) {\n state.selectedShapeType = id\n state.notify()\n}\nexport function setShapeFill(state, v) {\n state.shapeFill = v\n state.notify()\n}\nexport function setShapeWidth(state, v) {\n state.shapeWidth = v\n state.notify()\n}\nexport function setBrushSize(state, v) {\n state.brushSize = v\n state.notify()\n}\nexport function setBrushStyle(state, v) {\n state.brushStyle = v\n state.notify()\n}\nexport function setTextFont(state, v) {\n state.textFont = v\n state.notify()\n}\nexport function setTextSize(state, v) {\n state.textSize = v\n state.notify()\n}\nexport function setTextColor(state, v) {\n state.textColor = v\n state.notify()\n}\nexport function setShapeColor(state, v) {\n state.shapeColor = v\n state.notify()\n}\nexport function setDrawColor(state, v) {\n state.drawColor = v\n applyModeCursor(state)\n state.notify()\n}\n\nexport function setSelectedColor(state, v) {\n const L = getSel(state)\n if (!L) return\n pushHistory(state)\n L.color = v\n render(state)\n emitChange(state)\n}\nexport function setSelectedText(state, v) {\n const L = getSel(state)\n if (!L || L.type !== 'text') return\n resizeInPlace(state, L, () => {\n L.text = v\n })\n render(state)\n state.notify()\n}\nexport function setSelectedFont(state, v) {\n const L = getSel(state)\n if (!L) return\n pushHistory(state)\n resizeInPlace(state, L, () => {\n L.font = v\n })\n render(state)\n emitChange(state)\n}\nexport function setSelectedTextSize(state, v) {\n const L = getSel(state)\n if (!L) return\n resizeInPlace(state, L, () => {\n L.size = v\n clampTextSize(state, L)\n })\n render(state)\n state.notify()\n}\nexport function setSelectedBoxWidth(state, v) {\n const L = getSel(state)\n if (!L || L.type !== 'text') return\n resizeInPlace(state, L, () => {\n L.boxWidth = v\n clampBoxWidth(state, L)\n clampTextSize(state, L)\n })\n render(state)\n state.notify()\n}\nexport function setSelectedShapeFill(state, v) {\n const L = getSel(state)\n if (!L) return\n pushHistory(state)\n L.fill = v\n render(state)\n emitChange(state)\n}\nexport function setSelectedWidth(state, v) {\n const L = getSel(state)\n if (!L) return\n resizeInPlace(state, L, () => {\n L.width = v\n })\n render(state)\n state.notify()\n}\n"],"names":["resizeInPlace","state","L","mutate","keepingFixed","layerName","s","SHAPES","deleteLayer","id","pushHistory","l","render","emitChange","deleteSelected","duplicateSelected","getSel","copy","p","bringSelectedToFront","i","sendSelectedToBack","setAdjustment","key","value","setFilter","selectShapeType","setShapeFill","v","setShapeWidth","setBrushSize","setBrushStyle","setTextFont","setTextSize","setTextColor","setShapeColor","setDrawColor","applyModeCursor","setSelectedColor","setSelectedText","setSelectedFont","setSelectedTextSize","clampTextSize","setSelectedBoxWidth","clampBoxWidth","setSelectedShapeFill","setSelectedWidth"],"mappings":"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"}
|
package/dist/index158.es.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { onDown as u, onMove as y, onUp as E, onDbl as f } from "./index163.es.js";
|
|
2
|
-
import { autoGrowTextEditor as a, commitTextEdit as m, blurTextEditor as g } from "./index154.es.js";
|
|
3
|
-
import { undo as L, redo as x } from "./index151.es.js";
|
|
4
|
-
import { applyModeCursor as k, selectLayer as l, setMode as D } from "./index153.es.js";
|
|
5
|
-
import { fitStage as w, render as p, syncCanvasSize as P } from "./index150.es.js";
|
|
6
|
-
import { normalizeSource as T, doLoadImage as z } from "./index157.es.js";
|
|
7
|
-
import { deleteLayer as K } from "./index156.es.js";
|
|
8
|
-
import { panPointerUp as t, resetPan as c, panPointerDown as C, panPointerMove as h } from "./index164.es.js";
|
|
9
|
-
function A(e, i, o) {
|
|
10
|
-
e.canvasEl = o.canvas, e.overlayEl = o.overlay, e.textEditorEl = o.textEditor, e.stageEl = o.stage, e.ctx = e.canvasEl.getContext("2d"), e.octx = e.overlayEl.getContext("2d"), e.mounted = !0, k(e), e.overlayEl.addEventListener(
|
|
11
|
-
"lostpointercapture",
|
|
12
|
-
(r) => t(e, r)
|
|
13
|
-
), e.overlayEl.addEventListener("pointerdown", (r) => {
|
|
14
|
-
r.preventDefault(), r.isPrimary && e.panPointers?.size && c(e), !C(e, r) && u(e, r);
|
|
15
|
-
}), e.overlayEl.addEventListener("pointermove", (r) => {
|
|
16
|
-
r.preventDefault(), !h(e, r) && y(e, r);
|
|
17
|
-
}), e.overlayEl.addEventListener("pointerup", (r) => {
|
|
18
|
-
t(e, r), E(e, r);
|
|
19
|
-
}), e.overlayEl.addEventListener("pointercancel", (r) => {
|
|
20
|
-
c(e), E(e, r);
|
|
21
|
-
}), e.overlayEl.addEventListener("dblclick", (r) => f(e, r));
|
|
22
|
-
const d = () => {
|
|
23
|
-
e.editingLayer && (g(e), l(e, null));
|
|
24
|
-
};
|
|
25
|
-
e.textEditorEl.addEventListener("keydown", (r) => {
|
|
26
|
-
r.key === "Enter" ? (r.stopPropagation(), (r.metaKey || r.ctrlKey) && (r.preventDefault(), d())) : r.key === "Escape" && (r.stopPropagation(), e.editingLayer && (e.editingLayer._editing = !1), e.editingLayer = null, e.textEditorEl.blur(), l(e, null));
|
|
27
|
-
}), e.textEditorEl.addEventListener("input", () => a(e)), e.textEditorEl.addEventListener("blur", () => m(e)), e.stageEl.addEventListener(
|
|
28
|
-
"pointerdown",
|
|
29
|
-
(r) => {
|
|
30
|
-
r.target !== e.textEditorEl && (d(), r.target !== e.overlayEl && e.selectedId != null && l(e, null));
|
|
31
|
-
},
|
|
32
|
-
!0
|
|
33
|
-
), ["dragover", "dragenter"].forEach(
|
|
34
|
-
(r) => e.stageEl.addEventListener(r, (n) => n.preventDefault())
|
|
35
|
-
), e.stageEl.addEventListener("drop", (r) => {
|
|
36
|
-
r.preventDefault();
|
|
37
|
-
const n = r.dataTransfer.files[0];
|
|
38
|
-
n && n.type.startsWith("image/") && T(e, n, (v) => z(e, v));
|
|
39
|
-
}), i._keyHandler = (r) => {
|
|
40
|
-
if (!i.isOpen()) return;
|
|
41
|
-
const n = document.activeElement && document.activeElement.tagName;
|
|
42
|
-
n === "INPUT" || n === "TEXTAREA" || n === "SELECT" || ((r.metaKey || r.ctrlKey) && r.key === "z" && !r.shiftKey ? (r.preventDefault(), L(e)) : (r.metaKey || r.ctrlKey) && (r.key === "y" || r.shiftKey && r.key === "z") ? (r.preventDefault(), x(e)) : r.key === "Escape" ? e.mode !== "select" || e.selectedId != null ? (D(e, "select"), l(e, null)) : e.config.closeOnEscape !== !1 && i.close() : (r.key === "Delete" || r.key === "Backspace") && e.selectedId != null && e.mode === "select" && (r.preventDefault(), K(e, e.selectedId)));
|
|
43
|
-
}, document.addEventListener("keydown", i._keyHandler), i._resizeHandler = () => {
|
|
44
|
-
e.sourceCanvas.width && i.isOpen() && (w(e), p(e));
|
|
45
|
-
}, window.addEventListener("resize", i._resizeHandler), e.sourceCanvas.width && (P(e), p(e));
|
|
46
|
-
}
|
|
47
|
-
export {
|
|
48
|
-
A as mount
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=index158.es.js.map
|
package/dist/index158.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index158.es.js","sources":["../src/components/organisms/image-editor/engine/mount.js"],"sourcesContent":["import { onDown, onMove, onUp, onDbl } from './pointer.js'\nimport {\n autoGrowTextEditor,\n blurTextEditor,\n commitTextEdit,\n} from './text-editor.js'\nimport { undo, redo } from './history.js'\nimport { setMode, selectLayer, applyModeCursor } from './mode.js'\nimport { fitStage, render, syncCanvasSize } from './rendering.js'\nimport { normalizeSource, doLoadImage } from './save-export.js'\nimport { deleteLayer } from './layer-actions.js'\nimport {\n panPointerDown,\n panPointerMove,\n panPointerUp,\n resetPan,\n} from './touch-pan.js'\n\nexport function mount(state, self, refs) {\n state.canvasEl = refs.canvas\n state.overlayEl = refs.overlay\n state.textEditorEl = refs.textEditor\n state.stageEl = refs.stage\n state.ctx = state.canvasEl.getContext('2d')\n state.octx = state.overlayEl.getContext('2d')\n state.mounted = true\n applyModeCursor(state)\n\n state.overlayEl.addEventListener('lostpointercapture', (e) =>\n panPointerUp(state, e)\n )\n state.overlayEl.addEventListener('pointerdown', (e) => {\n e.preventDefault()\n if (e.isPrimary && state.panPointers?.size) resetPan(state)\n if (panPointerDown(state, e)) return\n onDown(state, e)\n })\n state.overlayEl.addEventListener('pointermove', (e) => {\n e.preventDefault()\n if (panPointerMove(state, e)) return\n onMove(state, e)\n })\n state.overlayEl.addEventListener('pointerup', (e) => {\n panPointerUp(state, e)\n onUp(state, e)\n })\n state.overlayEl.addEventListener('pointercancel', (e) => {\n resetPan(state)\n onUp(state, e)\n })\n state.overlayEl.addEventListener('dblclick', (e) => onDbl(state, e))\n\n // Commit, unfocus, deselect — guarded so an ordinary drag never deselects.\n const endTextEdit = () => {\n if (!state.editingLayer) return\n blurTextEditor(state)\n selectLayer(state, null)\n }\n\n state.textEditorEl.addEventListener('keydown', (e) => {\n if (e.key === 'Enter') {\n // Enter inserts a newline; stopped so no parent form reads it as submit.\n e.stopPropagation()\n if (e.metaKey || e.ctrlKey) {\n e.preventDefault()\n endTextEdit()\n }\n } else if (e.key === 'Escape') {\n // Escape discards the edit, so restore nothing — just let go.\n e.stopPropagation()\n if (state.editingLayer) state.editingLayer._editing = false\n state.editingLayer = null\n state.textEditorEl.blur()\n selectLayer(state, null)\n }\n })\n state.textEditorEl.addEventListener('input', () => autoGrowTextEditor(state))\n state.textEditorEl.addEventListener('blur', () => commitTextEdit(state))\n\n // Capture phase: the overlay preventDefaults away the implicit blur.\n state.stageEl.addEventListener(\n 'pointerdown',\n (e) => {\n if (e.target === state.textEditorEl) return\n endTextEdit()\n // Presses on the padding deselect; presses on the image are onDown's.\n if (e.target !== state.overlayEl && state.selectedId != null) {\n selectLayer(state, null)\n }\n },\n true\n )\n\n ;['dragover', 'dragenter'].forEach((ev) =>\n state.stageEl.addEventListener(ev, (e) => e.preventDefault())\n )\n state.stageEl.addEventListener('drop', (e) => {\n e.preventDefault()\n const f = e.dataTransfer.files[0]\n if (f && f.type.startsWith('image/'))\n normalizeSource(state, f, (d) => doLoadImage(state, d))\n })\n\n self._keyHandler = (e) => {\n if (!self.isOpen()) return\n const tag = document.activeElement && document.activeElement.tagName\n if (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return\n if ((e.metaKey || e.ctrlKey) && e.key === 'z' && !e.shiftKey) {\n e.preventDefault()\n undo(state)\n } else if (\n (e.metaKey || e.ctrlKey) &&\n (e.key === 'y' || (e.shiftKey && e.key === 'z'))\n ) {\n e.preventDefault()\n redo(state)\n } else if (e.key === 'Escape') {\n if (state.mode !== 'select' || state.selectedId != null) {\n setMode(state, 'select')\n selectLayer(state, null)\n } else if (state.config.closeOnEscape !== false) self.close()\n } else if (\n (e.key === 'Delete' || e.key === 'Backspace') &&\n state.selectedId != null &&\n state.mode === 'select'\n ) {\n e.preventDefault()\n deleteLayer(state, state.selectedId)\n }\n }\n document.addEventListener('keydown', self._keyHandler)\n\n self._resizeHandler = () => {\n if (state.sourceCanvas.width && self.isOpen()) {\n fitStage(state)\n render(state)\n }\n }\n window.addEventListener('resize', self._resizeHandler)\n\n if (state.sourceCanvas.width) {\n syncCanvasSize(state)\n render(state)\n }\n}\n"],"names":["mount","state","self","refs","applyModeCursor","e","panPointerUp","resetPan","panPointerDown","onDown","panPointerMove","onMove","onUp","onDbl","endTextEdit","blurTextEditor","selectLayer","autoGrowTextEditor","commitTextEdit","ev","f","normalizeSource","d","doLoadImage","tag","undo","redo","setMode","deleteLayer","fitStage","render","syncCanvasSize"],"mappings":"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"}
|