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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Spline as r, CornerUpLeft as c, Check as m, X as p } from "lucide-react";
|
|
2
|
+
import e from "react";
|
|
3
|
+
function u({ ui: a, engine: t }) {
|
|
4
|
+
if (!a.poly?.active) return null;
|
|
5
|
+
const { pointCount: n, canFinish: l, canClose: i } = a.poly;
|
|
6
|
+
return /* @__PURE__ */ e.createElement(
|
|
7
|
+
"div",
|
|
8
|
+
{
|
|
9
|
+
className: "pointer-events-none absolute inset-x-0 bottom-3 z-20 flex justify-center px-3",
|
|
10
|
+
role: "toolbar",
|
|
11
|
+
"aria-label": "Multi-point line controls"
|
|
12
|
+
},
|
|
13
|
+
/* @__PURE__ */ e.createElement("div", { className: "pointer-events-auto flex max-w-full items-center gap-1 overflow-x-auto rounded-xl bg-dark-2/95 p-1.5 shadow-lg backdrop-blur" }, /* @__PURE__ */ e.createElement("span", { className: "flex shrink-0 items-center gap-1.5 px-2 text-xs font-medium text-white/70" }, /* @__PURE__ */ e.createElement(r, { className: "h-3.5 w-3.5" }), n, " ", n === 1 ? "point" : "points"), /* @__PURE__ */ e.createElement("span", { className: "h-6 w-px shrink-0 bg-white/15" }), /* @__PURE__ */ e.createElement(
|
|
14
|
+
o,
|
|
15
|
+
{
|
|
16
|
+
onClick: t.undoLinePoint,
|
|
17
|
+
icon: /* @__PURE__ */ e.createElement(c, { className: "h-4 w-4" }),
|
|
18
|
+
label: "Undo point"
|
|
19
|
+
}
|
|
20
|
+
), /* @__PURE__ */ e.createElement(
|
|
21
|
+
o,
|
|
22
|
+
{
|
|
23
|
+
onClick: t.closeLine,
|
|
24
|
+
icon: /* @__PURE__ */ e.createElement(r, { className: "h-4 w-4" }),
|
|
25
|
+
label: "Close shape",
|
|
26
|
+
disabled: !i
|
|
27
|
+
}
|
|
28
|
+
), /* @__PURE__ */ e.createElement(
|
|
29
|
+
o,
|
|
30
|
+
{
|
|
31
|
+
onClick: t.finishLine,
|
|
32
|
+
icon: /* @__PURE__ */ e.createElement(m, { className: "h-4 w-4" }),
|
|
33
|
+
label: "Done",
|
|
34
|
+
disabled: !l,
|
|
35
|
+
primary: !0
|
|
36
|
+
}
|
|
37
|
+
), /* @__PURE__ */ e.createElement(
|
|
38
|
+
o,
|
|
39
|
+
{
|
|
40
|
+
onClick: t.cancelLine,
|
|
41
|
+
icon: /* @__PURE__ */ e.createElement(p, { className: "h-4 w-4" }),
|
|
42
|
+
label: "Cancel"
|
|
43
|
+
}
|
|
44
|
+
))
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
function o({
|
|
48
|
+
onClick: a,
|
|
49
|
+
icon: t,
|
|
50
|
+
label: n,
|
|
51
|
+
disabled: l,
|
|
52
|
+
primary: i
|
|
53
|
+
}) {
|
|
54
|
+
return /* @__PURE__ */ e.createElement(
|
|
55
|
+
"button",
|
|
56
|
+
{
|
|
57
|
+
type: "button",
|
|
58
|
+
onPointerDown: (s) => s.stopPropagation(),
|
|
59
|
+
onClick: (s) => {
|
|
60
|
+
s.stopPropagation(), a();
|
|
61
|
+
},
|
|
62
|
+
disabled: l,
|
|
63
|
+
"aria-label": n,
|
|
64
|
+
className: [
|
|
65
|
+
"flex min-h-9 shrink-0 items-center gap-1.5 rounded-lg px-2.5 text-xs font-medium transition-colors",
|
|
66
|
+
"disabled:pointer-events-none disabled:opacity-40",
|
|
67
|
+
i ? "bg-rest-p1 text-white hover:bg-hover-p1" : "text-white/85 hover:bg-white/10"
|
|
68
|
+
].join(" ")
|
|
69
|
+
},
|
|
70
|
+
t,
|
|
71
|
+
/* @__PURE__ */ e.createElement("span", { className: "hidden sm:inline" }, n)
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
u as LineSessionBar
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=index.es141.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es141.js","sources":["../src/components/organisms/image-editor/components/line-session-bar.tsx"],"sourcesContent":["import { Check, CornerUpLeft, Spline, X } from 'lucide-react'\nimport React from 'react'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\n\ninterface LineSessionBarProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\n/**\n * On-screen controls for a live multi-point line.\n *\n * Touch has no Shift, Backspace, Enter or Escape, double-tap is unreliable\n * (and often zooms), and there is no hover to preview with -- so on a phone\n * these buttons are the *only* way to undo a corner or finish a line. They\n * show on every device rather than only small screens, because the same\n * ambiguity (\"how do I stop drawing?\") exists with a mouse.\n *\n * Rendered over the stage, bottom-centre, clear of the toolbar and panel.\n */\nexport function LineSessionBar({ ui, engine }: LineSessionBarProps) {\n if (!ui.poly?.active) return null\n const { pointCount, canFinish, canClose } = ui.poly\n\n return (\n <div\n className=\"pointer-events-none absolute inset-x-0 bottom-3 z-20 flex justify-center px-3\"\n role=\"toolbar\"\n aria-label=\"Multi-point line controls\"\n >\n <div className=\"pointer-events-auto flex max-w-full items-center gap-1 overflow-x-auto rounded-xl bg-dark-2/95 p-1.5 shadow-lg backdrop-blur\">\n <span className=\"flex shrink-0 items-center gap-1.5 px-2 text-xs font-medium text-white/70\">\n <Spline className=\"h-3.5 w-3.5\" />\n {pointCount} {pointCount === 1 ? 'point' : 'points'}\n </span>\n\n <span className=\"h-6 w-px shrink-0 bg-white/15\" />\n\n <SessionButton\n onClick={engine.undoLinePoint}\n icon={<CornerUpLeft className=\"h-4 w-4\" />}\n label=\"Undo point\"\n />\n <SessionButton\n onClick={engine.closeLine}\n icon={<Spline className=\"h-4 w-4\" />}\n label=\"Close shape\"\n disabled={!canClose}\n />\n <SessionButton\n onClick={engine.finishLine}\n icon={<Check className=\"h-4 w-4\" />}\n label=\"Done\"\n disabled={!canFinish}\n primary\n />\n <SessionButton\n onClick={engine.cancelLine}\n icon={<X className=\"h-4 w-4\" />}\n label=\"Cancel\"\n />\n </div>\n </div>\n )\n}\n\ninterface SessionButtonProps {\n onClick: () => void\n icon: React.ReactNode\n label: string\n disabled?: boolean\n primary?: boolean\n}\n\nfunction SessionButton({\n onClick,\n icon,\n label,\n disabled,\n primary,\n}: SessionButtonProps) {\n return (\n <button\n type=\"button\"\n // Pointer events would reach the canvas underneath and place a stray\n // point, so the press is stopped here before it can bubble to the stage.\n onPointerDown={(e) => e.stopPropagation()}\n onClick={(e) => {\n e.stopPropagation()\n onClick()\n }}\n disabled={disabled}\n aria-label={label}\n className={[\n 'flex min-h-9 shrink-0 items-center gap-1.5 rounded-lg px-2.5 text-xs font-medium transition-colors',\n 'disabled:pointer-events-none disabled:opacity-40',\n primary\n ? 'bg-rest-p1 text-white hover:bg-hover-p1'\n : 'text-white/85 hover:bg-white/10',\n ].join(' ')}\n >\n {icon}\n <span className=\"hidden sm:inline\">{label}</span>\n </button>\n )\n}\n"],"names":["LineSessionBar","ui","engine","pointCount","canFinish","canClose","React","Spline","SessionButton","CornerUpLeft","Check","X","onClick","icon","label","disabled","primary","e"],"mappings":";;AAqBO,SAASA,EAAe,EAAE,IAAAC,GAAI,QAAAC,KAA+B;AAClE,MAAI,CAACD,EAAG,MAAM,OAAQ,QAAO;AAC7B,QAAM,EAAE,YAAAE,GAAY,WAAAC,GAAW,UAAAC,EAAA,IAAaJ,EAAG;AAE/C,SACEK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAW;AAAA,IAAA;AAAA,IAEXA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,+HAAA,GACbA,gBAAAA,EAAA,cAAC,UAAK,WAAU,4EAAA,GACdA,gBAAAA,EAAA,cAACC,GAAA,EAAO,WAAU,cAAA,CAAc,GAC/BJ,GAAW,KAAEA,MAAe,IAAI,UAAU,QAC7C,GAEAG,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,gCAAA,CAAgC,GAEhDA,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACG,GAAA,EAAa,WAAU,WAAU;AAAA,QACxC,OAAM;AAAA,MAAA;AAAA,IAAA,GAERH,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACC,GAAA,EAAO,WAAU,WAAU;AAAA,QAClC,OAAM;AAAA,QACN,UAAU,CAACF;AAAA,MAAA;AAAA,IAAA,GAEbC,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACI,GAAA,EAAM,WAAU,WAAU;AAAA,QACjC,OAAM;AAAA,QACN,UAAU,CAACN;AAAA,QACX,SAAO;AAAA,MAAA;AAAA,IAAA,GAETE,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACK,GAAA,EAAE,WAAU,WAAU;AAAA,QAC7B,OAAM;AAAA,MAAA;AAAA,IAAA,CAEV;AAAA,EAAA;AAGN;AAUA,SAASH,EAAc;AAAA,EACrB,SAAAI;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,GAAuB;AACrB,SACEV,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MAGL,eAAe,CAACW,MAAMA,EAAE,gBAAA;AAAA,MACxB,SAAS,CAACA,MAAM;AACd,QAAAA,EAAE,gBAAA,GACFL,EAAA;AAAA,MACF;AAAA,MACA,UAAAG;AAAA,MACA,cAAYD;AAAA,MACZ,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACAE,IACI,4CACA;AAAA,MAAA,EACJ,KAAK,GAAG;AAAA,IAAA;AAAA,IAETH;AAAA,IACDP,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,mBAAA,GAAoBQ,CAAM;AAAA,EAAA;AAGhD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"index.es142.js","sources":["../src/components/organisms/image-editor/components/status-bar.tsx"],"sourcesContent":["import React from 'react'\n\nimport { ImageEditorUiState } from '../image-editor.types'\n\nexport function StatusBar({ ui }: { ui: ImageEditorUiState }) {\n return (\n <div className=\"flex h-[30px] shrink-0 items-center gap-4 border-t border-neutral-1 bg-light-3 px-4 text-xs text-light-4\">\n <span className=\"flex items-center gap-1.5\">\n <span className=\"inline-block h-1.5 w-1.5 rounded-full bg-rest-p1\" />\n {ui.statusText}\n </span>\n <span>{ui.dims}</span>\n </div>\n )\n}\n"],"names":["StatusBar","ui","React"],"mappings":";AAIO,SAASA,EAAU,EAAE,IAAAC,KAAkC;AAC5D,SACEC,gBAAAA,EAAA,cAAC,SAAI,WAAU,2GAAA,mCACZ,QAAA,EAAK,WAAU,+BACdA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,mDAAA,CAAmD,GAClED,EAAG,UACN,mCACC,QAAA,MAAMA,EAAG,IAAK,CACjB;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"index.es143.js","sources":["../src/components/organisms/image-editor/engine/constants.js"],"sourcesContent":["export const VERSION = '1.0.0'\n\nexport const FILTERS = [\n { id: 'none', name: 'Original' },\n { id: 'grayscale', name: 'B & W' },\n { id: 'vivid', name: 'Vivid' },\n { id: 'cool', name: 'Cool' },\n { id: 'warm', name: 'Warm' },\n { id: 'vintage', name: 'Vintage' },\n { id: 'fade', name: 'Fade' },\n { id: 'noir', name: 'Noir' },\n]\nexport const FILTER_CSS = {\n none: '',\n grayscale: 'grayscale(1) contrast(1.05)',\n vivid: 'saturate(1.7) contrast(1.15)',\n cool: 'hue-rotate(200deg) saturate(1.2)',\n warm: 'sepia(.35) saturate(1.3) brightness(1.05)',\n vintage: 'sepia(.5) contrast(.9) brightness(1.05) saturate(1.2)',\n fade: 'contrast(.82) brightness(1.12) saturate(.85)',\n noir: 'grayscale(1) contrast(1.4) brightness(.92)',\n}\nexport const SWATCHES = [\n '#d24b2f',\n '#2f5fd2',\n '#e8b423',\n '#2fa84f',\n '#111111',\n '#ffffff',\n '#8e44ad',\n '#ff5da2',\n]\nexport const SHAPES = [\n { id: 'rect', name: 'Rectangle' },\n { id: 'ellipse', name: 'Ellipse' },\n { id: 'circle', name: 'Circle' },\n { id: 'line', name: 'Line' },\n { id: 'dashedLine', name: 'Dashed line' },\n { id: 'arrow', name: 'Arrow' },\n { id: 'dashedArrow', name: 'Dashed arrow' },\n { id: 'doubleArrow', name: 'Double arrow' },\n { id: 'dashedDoubleArrow', name: 'Dashed double arrow' },\n]\nexport const FONTS = [\n { label: 'Serif', value: 'Iowan Old Style, Georgia, serif' },\n { label: 'Sans', value: 'Avenir Next, Segoe UI, sans-serif' },\n { label: 'Mono', value: 'Courier New, monospace' },\n { label: 'Impact', value: 'Impact, sans-serif' },\n]\nexport const CROP_RATIOS = [\n { label: 'Freeform', value: 'free' },\n { label: 'Square 1:1', value: '1' },\n { label: '4:3', value: '1.3333' },\n { label: '16:9', value: '1.7777' },\n { label: '3:4 portrait', value: '0.75' },\n]\n"],"names":["VERSION","FILTERS","FILTER_CSS","SWATCHES","SHAPES","FONTS","CROP_RATIOS"],"mappings":"AAAY,MAACA,IAAU,SAEVC,IAAU;AAAA,EACrB,EAAE,IAAI,QAAQ,MAAM,WAAU;AAAA,EAC9B,EAAE,IAAI,aAAa,MAAM,QAAO;AAAA,EAChC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAC5B,GACaC,IAAa;AAAA,EACxB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AACR,GACaC,IAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACaC,IAAS;AAAA,EACpB,EAAE,IAAI,QAAQ,MAAM,YAAW;AAAA,EAC/B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,UAAU,MAAM,SAAQ;AAAA,EAC9B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,cAAc,MAAM,cAAa;AAAA,EACvC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,qBAAqB,MAAM,sBAAqB;AACxD,GACaC,IAAQ;AAAA,EACnB,EAAE,OAAO,SAAS,OAAO,kCAAiC;AAAA,EAC1D,EAAE,OAAO,QAAQ,OAAO,oCAAmC;AAAA,EAC3D,EAAE,OAAO,QAAQ,OAAO,yBAAwB;AAAA,EAChD,EAAE,OAAO,UAAU,OAAO,qBAAoB;AAChD,GACaC,IAAc;AAAA,EACzB,EAAE,OAAO,YAAY,OAAO,OAAM;AAAA,EAClC,EAAE,OAAO,cAAc,OAAO,IAAG;AAAA,EACjC,EAAE,OAAO,OAAO,OAAO,SAAQ;AAAA,EAC/B,EAAE,OAAO,QAAQ,OAAO,SAAQ;AAAA,EAChC,EAAE,OAAO,gBAAgB,OAAO,OAAM;AACxC;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FONTS as a, VERSION as i } from "./
|
|
1
|
+
import { FONTS as a, VERSION as i } from "./index.es143.js";
|
|
2
2
|
const d = 30;
|
|
3
3
|
function o() {
|
|
4
4
|
const e = document.createElement("canvas");
|
|
@@ -8,6 +8,7 @@ function g(e) {
|
|
|
8
8
|
return {
|
|
9
9
|
config: e,
|
|
10
10
|
stickers: e.stickers || [],
|
|
11
|
+
savedLayers: [],
|
|
11
12
|
listeners: { open: [], close: [], save: [], change: [], load: [] },
|
|
12
13
|
notify: () => {
|
|
13
14
|
},
|
|
@@ -23,6 +24,7 @@ function g(e) {
|
|
|
23
24
|
zoom: 1,
|
|
24
25
|
fitScale: 1,
|
|
25
26
|
selectedShapeType: "rect",
|
|
27
|
+
multiPointMode: !1,
|
|
26
28
|
shapeFill: "stroke",
|
|
27
29
|
shapeWidth: 6,
|
|
28
30
|
brushSize: 8,
|
|
@@ -67,6 +69,7 @@ function g(e) {
|
|
|
67
69
|
activePointerId: null,
|
|
68
70
|
pendingShape: null,
|
|
69
71
|
pendingStroke: null,
|
|
72
|
+
pendingPoly: null,
|
|
70
73
|
cropRect: null,
|
|
71
74
|
cropStart: null,
|
|
72
75
|
isOpenFlag: !1
|
|
@@ -82,12 +85,12 @@ function s(e, n, l) {
|
|
|
82
85
|
});
|
|
83
86
|
}
|
|
84
87
|
function h(e) {
|
|
85
|
-
s(e, "change", { state: u(e) }), e.notify();
|
|
88
|
+
e.listeners.change.length && s(e, "change", { state: u(e) }), e.notify();
|
|
86
89
|
}
|
|
87
|
-
function
|
|
90
|
+
function f(e) {
|
|
88
91
|
return e.selectedId != null ? e.layers.find((n) => n.id === e.selectedId) : null;
|
|
89
92
|
}
|
|
90
|
-
function
|
|
93
|
+
function S(e) {
|
|
91
94
|
e.adj.brightness = 100, e.adj.contrast = 100, e.adj.saturate = 100, e.adj.sepia = 0, e.adj.blur = 0, e.adj.hue = 0, e.adj.filter = "none";
|
|
92
95
|
}
|
|
93
96
|
function u(e) {
|
|
@@ -113,8 +116,8 @@ export {
|
|
|
113
116
|
s as emit,
|
|
114
117
|
h as emitChange,
|
|
115
118
|
o as emptySourceCanvas,
|
|
116
|
-
|
|
119
|
+
f as getSel,
|
|
117
120
|
u as getState,
|
|
118
|
-
|
|
121
|
+
S as resetAdjValues
|
|
119
122
|
};
|
|
120
|
-
//# sourceMappingURL=
|
|
123
|
+
//# sourceMappingURL=index.es144.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es144.js","sources":["../src/components/organisms/image-editor/engine/state.js"],"sourcesContent":["import { FONTS, VERSION } from './constants.js'\n\nexport const MAX_HISTORY = 30\n\nexport function emptySourceCanvas() {\n const c = document.createElement('canvas')\n c.width = 0\n c.height = 0\n return c\n}\n\nexport function createState(config) {\n return {\n config,\n stickers: config.stickers || [],\n savedLayers: [],\n listeners: { open: [], close: [], save: [], change: [], load: [] },\n notify: () => {},\n\n sourceCanvas: emptySourceCanvas(),\n originalCanvas: null,\n layers: [],\n selectedId: null,\n nextId: 1,\n undoStack: [],\n redoStack: [],\n\n mode: 'select',\n viewScale: 1,\n zoom: 1,\n fitScale: 1,\n selectedShapeType: 'rect',\n multiPointMode: false,\n shapeFill: 'stroke',\n shapeWidth: 6,\n brushSize: 8,\n brushStyle: 'round',\n textFont: FONTS[0].value,\n textSize: 64,\n textColor: '#111111',\n shapeColor: '#111111',\n drawColor: '#111111',\n cropRatio: 'free',\n isSaving: false,\n isLoadingImage: false,\n statusText: 'Ready',\n adj: {\n brightness: 100,\n contrast: 100,\n saturate: 100,\n sepia: 0,\n blur: 0,\n hue: 0,\n filter: 'none',\n },\n stickerImageCache: new Map(),\n\n canvasEl: null,\n overlayEl: null,\n textEditorEl: null,\n stageEl: null,\n ctx: null,\n octx: null,\n mounted: false,\n\n editingLayer: null,\n editingSelectAll: false,\n\n dragMode: null,\n dragStart: null,\n dragOrig: null,\n dragRect: null,\n resizeCorner: null,\n resizeAnchor: null,\n resizeCenter: null,\n resizeAnchorWorld: null,\n rotateStart: null,\n activePointerId: null,\n pendingShape: null,\n pendingStroke: null,\n pendingPoly: null,\n cropRect: null,\n cropStart: null,\n\n isOpenFlag: false,\n }\n}\n\nexport function emit(state, ev, payload) {\n ;(state.listeners[ev] || []).forEach((fn) => {\n try {\n fn(payload)\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e)\n }\n })\n}\n\nexport function emitChange(state) {\n if (state.listeners.change.length) {\n emit(state, 'change', { state: getState(state) })\n }\n state.notify()\n}\n\nexport function getSel(state) {\n return state.selectedId != null\n ? state.layers.find((l) => l.id === state.selectedId)\n : null\n}\n\nexport function resetAdjValues(state) {\n state.adj.brightness = 100\n state.adj.contrast = 100\n state.adj.saturate = 100\n state.adj.sepia = 0\n state.adj.blur = 0\n state.adj.hue = 0\n state.adj.filter = 'none'\n}\n\nexport function getState(state) {\n if (!state.sourceCanvas.width) return null\n return {\n version: VERSION,\n image: state.sourceCanvas.toDataURL('image/png'),\n width: state.sourceCanvas.width,\n height: state.sourceCanvas.height,\n adjustments: { ...state.adj },\n layers: JSON.parse(\n JSON.stringify(\n state.layers.map((L) => {\n const c = { ...L }\n delete c._editing\n return c\n })\n )\n ),\n }\n}\n"],"names":["MAX_HISTORY","emptySourceCanvas","c","createState","config","FONTS","emit","state","ev","payload","fn","e","emitChange","getState","getSel","l","resetAdjValues","VERSION","L"],"mappings":";AAEY,MAACA,IAAc;AAEpB,SAASC,IAAoB;AAClC,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,SAAAA,EAAE,QAAQ,GACVA,EAAE,SAAS,GACJA;AACT;AAEO,SAASC,EAAYC,GAAQ;AAClC,SAAO;AAAA,IACL,QAAAA;AAAA,IACA,UAAUA,EAAO,YAAY,CAAA;AAAA,IAC7B,aAAa,CAAA;AAAA,IACb,WAAW,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA,GAAI,MAAM,CAAA,GAAI,QAAQ,IAAI,MAAM,CAAA,EAAE;AAAA,IAChE,QAAQ,MAAM;AAAA,IAAC;AAAA,IAEf,cAAcH,EAAiB;AAAA,IAC/B,gBAAgB;AAAA,IAChB,QAAQ,CAAA;AAAA,IACR,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,WAAW,CAAA;AAAA,IACX,WAAW,CAAA;AAAA,IAEX,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,IACN,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAUI,EAAM,CAAC,EAAE;AAAA,IACnB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,KAAK;AAAA,MACH,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACd;AAAA,IACI,mBAAmB,oBAAI,IAAG;AAAA,IAE1B,UAAU;AAAA,IACV,WAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,cAAc;AAAA,IACd,kBAAkB;AAAA,IAElB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,UAAU;AAAA,IACV,WAAW;AAAA,IAEX,YAAY;AAAA,EAChB;AACA;AAEO,SAASC,EAAKC,GAAOC,GAAIC,GAAS;AACtC,GAACF,EAAM,UAAUC,CAAE,KAAK,CAAA,GAAI,QAAQ,CAACE,MAAO;AAC3C,QAAI;AACF,MAAAA,EAAGD,CAAO;AAAA,IACZ,SAASE,GAAG;AAEV,cAAQ,MAAMA,CAAC;AAAA,IACjB;AAAA,EACF,CAAC;AACH;AAEO,SAASC,EAAWL,GAAO;AAChC,EAAIA,EAAM,UAAU,OAAO,UACzBD,EAAKC,GAAO,UAAU,EAAE,OAAOM,EAASN,CAAK,EAAC,CAAE,GAElDA,EAAM,OAAM;AACd;AAEO,SAASO,EAAOP,GAAO;AAC5B,SAAOA,EAAM,cAAc,OACvBA,EAAM,OAAO,KAAK,CAACQ,MAAMA,EAAE,OAAOR,EAAM,UAAU,IAClD;AACN;AAEO,SAASS,EAAeT,GAAO;AACpC,EAAAA,EAAM,IAAI,aAAa,KACvBA,EAAM,IAAI,WAAW,KACrBA,EAAM,IAAI,WAAW,KACrBA,EAAM,IAAI,QAAQ,GAClBA,EAAM,IAAI,OAAO,GACjBA,EAAM,IAAI,MAAM,GAChBA,EAAM,IAAI,SAAS;AACrB;AAEO,SAASM,EAASN,GAAO;AAC9B,SAAKA,EAAM,aAAa,QACjB;AAAA,IACL,SAASU;AAAA,IACT,OAAOV,EAAM,aAAa,UAAU,WAAW;AAAA,IAC/C,OAAOA,EAAM,aAAa;AAAA,IAC1B,QAAQA,EAAM,aAAa;AAAA,IAC3B,aAAa,EAAE,GAAGA,EAAM,IAAG;AAAA,IAC3B,QAAQ,KAAK;AAAA,MACX,KAAK;AAAA,QACHA,EAAM,OAAO,IAAI,CAACW,MAAM;AACtB,gBAAMhB,IAAI,EAAE,GAAGgB,EAAC;AAChB,wBAAOhB,EAAE,UACFA;AAAA,QACT,CAAC;AAAA,MACT;AAAA,IACA;AAAA,EACA,IAhBwC;AAiBxC;"}
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
import { supportsContextFilter as H } from "./index.es165.js";
|
|
2
|
+
import { FILTER_CSS as _ } from "./index.es143.js";
|
|
3
|
+
function O(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 += " " + _[e.filter]), n.trim();
|
|
7
|
+
}
|
|
8
|
+
const W = 0.25, $ = 4, E = 1.25;
|
|
9
|
+
function I(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 r = Math.round(t.sourceCanvas.width * o), a = Math.round(t.sourceCanvas.height * o);
|
|
19
|
+
t.canvasEl.style.width = t.overlayEl.style.width = r + "px", t.canvasEl.style.height = t.overlayEl.style.height = a + "px";
|
|
20
|
+
}
|
|
21
|
+
function g(t, e) {
|
|
22
|
+
if (t.zoom = Math.min($, Math.max(W, e)), !t.mounted || !t.sourceCanvas.width) {
|
|
23
|
+
t.notify();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
I(t), C(t), t.notify();
|
|
27
|
+
}
|
|
28
|
+
function oe(t) {
|
|
29
|
+
g(t, t.zoom * E);
|
|
30
|
+
}
|
|
31
|
+
function ie(t) {
|
|
32
|
+
g(t, t.zoom / E);
|
|
33
|
+
}
|
|
34
|
+
function ae(t) {
|
|
35
|
+
g(t, 1);
|
|
36
|
+
}
|
|
37
|
+
function le(t) {
|
|
38
|
+
t.canvasEl.width = t.overlayEl.width = t.sourceCanvas.width, t.canvasEl.height = t.overlayEl.height = t.sourceCanvas.height, I(t);
|
|
39
|
+
}
|
|
40
|
+
function B(t) {
|
|
41
|
+
const { ctx: e, canvasEl: n, sourceCanvas: o } = t;
|
|
42
|
+
e.clearRect(0, 0, n.width, n.height);
|
|
43
|
+
const r = O(t);
|
|
44
|
+
if (H()) {
|
|
45
|
+
n.style.filter = "", e.filter = r, e.drawImage(o, 0, 0), e.filter = "none";
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
n.style.filter = r, e.drawImage(o, 0, 0);
|
|
49
|
+
}
|
|
50
|
+
function re(t) {
|
|
51
|
+
!t.mounted || !t.sourceCanvas.width || (B(t), C(t));
|
|
52
|
+
}
|
|
53
|
+
const m = 1.1;
|
|
54
|
+
function P(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((r) => {
|
|
59
|
+
const a = r.split(" ");
|
|
60
|
+
let i = "";
|
|
61
|
+
a.forEach((l) => {
|
|
62
|
+
const s = i ? i + " " + l : l;
|
|
63
|
+
i && t.octx.measureText(s).width > n ? (o.push(i), i = l) : i = s;
|
|
64
|
+
}), o.push(i);
|
|
65
|
+
}), o;
|
|
66
|
+
}
|
|
67
|
+
function y(t, e) {
|
|
68
|
+
if (e.type === "text") {
|
|
69
|
+
const n = P(t, e);
|
|
70
|
+
return {
|
|
71
|
+
x: e.x,
|
|
72
|
+
y: e.y,
|
|
73
|
+
w: e.boxWidth,
|
|
74
|
+
h: n.length * e.size * m
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (e.type === "shape" && G(e)) {
|
|
78
|
+
let n = 1 / 0, o = 1 / 0, r = -1 / 0, a = -1 / 0;
|
|
79
|
+
e.points.forEach((l) => {
|
|
80
|
+
n = Math.min(n, l.x), o = Math.min(o, l.y), r = Math.max(r, l.x), a = Math.max(a, l.y);
|
|
81
|
+
});
|
|
82
|
+
const i = (e.width || 6) / 2;
|
|
83
|
+
return { x: n - i, y: o - i, w: r - n + i * 2, h: a - o + i * 2 };
|
|
84
|
+
}
|
|
85
|
+
if (e.type === "shape" || e.type === "sticker")
|
|
86
|
+
return {
|
|
87
|
+
x: Math.min(e.x, e.x + e.w),
|
|
88
|
+
y: Math.min(e.y, e.y + e.h),
|
|
89
|
+
w: Math.abs(e.w),
|
|
90
|
+
h: Math.abs(e.h)
|
|
91
|
+
};
|
|
92
|
+
if (e.type === "stroke") {
|
|
93
|
+
let n = 1 / 0, o = 1 / 0, r = -1 / 0, a = -1 / 0;
|
|
94
|
+
e.points.forEach((l) => {
|
|
95
|
+
n = Math.min(n, l.x), o = Math.min(o, l.y), r = Math.max(r, l.x), a = Math.max(a, l.y);
|
|
96
|
+
});
|
|
97
|
+
const i = e.width / 2;
|
|
98
|
+
return { x: n - i, y: o - i, w: r - n + i * 2, h: a - o + i * 2 };
|
|
99
|
+
}
|
|
100
|
+
return { x: 0, y: 0, w: 0, h: 0 };
|
|
101
|
+
}
|
|
102
|
+
function se(t, e) {
|
|
103
|
+
if (e.type !== "text") return;
|
|
104
|
+
const n = t.sourceCanvas.height - e.y;
|
|
105
|
+
for (; e.size > 10 && y(t, e).h > n && n > 0; )
|
|
106
|
+
e.size -= 1;
|
|
107
|
+
}
|
|
108
|
+
function he(t, e) {
|
|
109
|
+
if (e.type !== "text") return;
|
|
110
|
+
const n = t.sourceCanvas.width - e.x;
|
|
111
|
+
e.boxWidth = Math.round(Math.max(20, Math.min(e.boxWidth, n)));
|
|
112
|
+
}
|
|
113
|
+
function A(t) {
|
|
114
|
+
return [
|
|
115
|
+
{ corner: "tl", x: t.x, y: t.y },
|
|
116
|
+
{ corner: "tr", x: t.x + t.w, y: t.y },
|
|
117
|
+
{ corner: "bl", x: t.x, y: t.y + t.h },
|
|
118
|
+
{ corner: "br", x: t.x + t.w, y: t.y + t.h }
|
|
119
|
+
];
|
|
120
|
+
}
|
|
121
|
+
const b = [
|
|
122
|
+
"line",
|
|
123
|
+
"dashedLine",
|
|
124
|
+
"arrow",
|
|
125
|
+
"dashedArrow",
|
|
126
|
+
"doubleArrow",
|
|
127
|
+
"dashedDoubleArrow"
|
|
128
|
+
], N = ["dashedLine", "dashedArrow", "dashedDoubleArrow"], fe = ["line", "dashedLine"], F = {
|
|
129
|
+
arrow: ["end"],
|
|
130
|
+
dashedArrow: ["end"],
|
|
131
|
+
doubleArrow: ["end", "start"],
|
|
132
|
+
dashedDoubleArrow: ["end", "start"]
|
|
133
|
+
}, U = 10, T = 42;
|
|
134
|
+
function Z(t) {
|
|
135
|
+
return t.points && t.points.length >= 2 ? t.points : [
|
|
136
|
+
{ x: t.x, y: t.y },
|
|
137
|
+
{ x: t.x + t.w, y: t.y + t.h }
|
|
138
|
+
];
|
|
139
|
+
}
|
|
140
|
+
function G(t) {
|
|
141
|
+
return !!(t.points && t.points.length >= 2);
|
|
142
|
+
}
|
|
143
|
+
function q(t, e, n) {
|
|
144
|
+
const o = e && t.length > 2 ? t.concat([t[0]]) : t;
|
|
145
|
+
let r = 0;
|
|
146
|
+
const a = [];
|
|
147
|
+
for (let l = 0; l < o.length - 1; l++) {
|
|
148
|
+
const s = Math.hypot(o[l + 1].x - o[l].x, o[l + 1].y - o[l].y);
|
|
149
|
+
a.push(s), r += s;
|
|
150
|
+
}
|
|
151
|
+
if (!r) return { x: o[0].x, y: o[0].y, angle: 0 };
|
|
152
|
+
let i = r * Math.min(Math.max(n, 0), 1);
|
|
153
|
+
for (let l = 0; l < a.length; l++) {
|
|
154
|
+
if (i <= a[l] || l === a.length - 1) {
|
|
155
|
+
const s = a[l] ? i / a[l] : 0;
|
|
156
|
+
return {
|
|
157
|
+
x: o[l].x + (o[l + 1].x - o[l].x) * s,
|
|
158
|
+
y: o[l].y + (o[l + 1].y - o[l].y) * s,
|
|
159
|
+
angle: Math.atan2(o[l + 1].y - o[l].y, o[l + 1].x - o[l].x)
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
i -= a[l];
|
|
163
|
+
}
|
|
164
|
+
return { x: o[0].x, y: o[0].y, angle: 0 };
|
|
165
|
+
}
|
|
166
|
+
function J(t, e, n) {
|
|
167
|
+
if (!e.label) return;
|
|
168
|
+
const o = e.labelSize || T, r = q(n, e.closed, e.labelPos ?? 0.5), a = e.labelRotate !== !1, i = e.labelSide === "below" ? -1 : 1, l = e.labelOffset ?? U, s = (e.width || 6) / 2 + l;
|
|
169
|
+
let h = a ? r.angle : 0, c = !1;
|
|
170
|
+
a && (h > Math.PI / 2 || h < -Math.PI / 2) && (h += Math.PI, c = !0);
|
|
171
|
+
const f = i * (c ? -1 : 1), d = Math.sin(r.angle) * s * f, u = -Math.cos(r.angle) * s * f;
|
|
172
|
+
t.save(), t.translate(r.x + d, r.y + u), t.rotate(h), t.font = `${o}px ${e.labelFont || "Avenir Next, Segoe UI, sans-serif"}`, t.fillStyle = e.labelColor || e.color, t.textAlign = "center", t.textBaseline = i === 1 ? "bottom" : "top", t.setLineDash([]), t.shadowColor = "rgba(0,0,0,.25)", t.shadowBlur = o * 0.08, t.fillText(e.label, 0, 0), t.restore();
|
|
173
|
+
}
|
|
174
|
+
function V(t) {
|
|
175
|
+
const e = Math.max(1, t || 1);
|
|
176
|
+
return [Math.max(6, e * 2.5), Math.max(4, e * 1.75)];
|
|
177
|
+
}
|
|
178
|
+
function v(t, e, n, o, r) {
|
|
179
|
+
t.beginPath(), t.moveTo(e, n), t.lineTo(
|
|
180
|
+
e - r * Math.cos(o - Math.PI / 6),
|
|
181
|
+
n - r * Math.sin(o - Math.PI / 6)
|
|
182
|
+
), t.moveTo(e, n), t.lineTo(
|
|
183
|
+
e - r * Math.cos(o + Math.PI / 6),
|
|
184
|
+
n - r * Math.sin(o + Math.PI / 6)
|
|
185
|
+
), t.stroke();
|
|
186
|
+
}
|
|
187
|
+
function p(t, e, n) {
|
|
188
|
+
if (!e.label) return;
|
|
189
|
+
const o = e.labelSize || T;
|
|
190
|
+
t.save(), t.font = `${o}px ${e.labelFont || "Avenir Next, Segoe UI, sans-serif"}`, t.fillStyle = e.labelColor || j(e), t.textAlign = "center", t.textBaseline = "middle", t.setLineDash([]);
|
|
191
|
+
const r = Math.max(20, Math.abs(n.w) - o * 0.6), a = [];
|
|
192
|
+
let i = "";
|
|
193
|
+
e.label.split(/\s+/).forEach((c) => {
|
|
194
|
+
const f = i ? i + " " + c : c;
|
|
195
|
+
t.measureText(f).width > r && i ? (a.push(i), i = c) : i = f;
|
|
196
|
+
}), i && a.push(i);
|
|
197
|
+
const l = o * m, s = n.x + n.w / 2 + (e.labelDx || 0), h = n.y + n.h / 2 + (e.labelDy || 0) - (a.length - 1) * l / 2;
|
|
198
|
+
a.forEach((c, f) => t.fillText(c, s, h + f * l)), t.restore();
|
|
199
|
+
}
|
|
200
|
+
function j(t) {
|
|
201
|
+
if (t.fill !== "fill") return t.color;
|
|
202
|
+
const e = (t.color || "#111111").replace("#", "");
|
|
203
|
+
if (e.length < 6) return "#ffffff";
|
|
204
|
+
const n = parseInt(e.slice(0, 2), 16), o = parseInt(e.slice(2, 4), 16), r = parseInt(e.slice(4, 6), 16);
|
|
205
|
+
return 0.299 * n + 0.587 * o + 0.114 * r > 150 ? "#111111" : "#ffffff";
|
|
206
|
+
}
|
|
207
|
+
const K = 26, Q = 6;
|
|
208
|
+
function x(t, e) {
|
|
209
|
+
const n = y(t, e);
|
|
210
|
+
return { x: n.x + n.w / 2, y: n.y + n.h / 2 };
|
|
211
|
+
}
|
|
212
|
+
function M(t, e, n) {
|
|
213
|
+
if (!n) return { x: t.x, y: t.y };
|
|
214
|
+
const o = n * Math.PI / 180, r = Math.cos(o), a = Math.sin(o), i = t.x - e.x, l = t.y - e.y;
|
|
215
|
+
return { x: e.x + i * r - l * a, y: e.y + i * a + l * r };
|
|
216
|
+
}
|
|
217
|
+
function ce(t, e, n, o) {
|
|
218
|
+
const r = e.rotation || 0;
|
|
219
|
+
if (!r) {
|
|
220
|
+
o();
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const a = M(n, x(t, e), r);
|
|
224
|
+
o();
|
|
225
|
+
const i = M(n, x(t, e), r);
|
|
226
|
+
e.x += a.x - i.x, e.y += a.y - i.y;
|
|
227
|
+
}
|
|
228
|
+
function X(t, e, n) {
|
|
229
|
+
return M(n, x(t, e), -(e.rotation || 0));
|
|
230
|
+
}
|
|
231
|
+
function k(t, e) {
|
|
232
|
+
const n = y(t, e);
|
|
233
|
+
return {
|
|
234
|
+
x: n.x + n.w / 2,
|
|
235
|
+
y: n.y + n.h + K / t.viewScale
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function Y(t, e) {
|
|
239
|
+
const n = k(t, e);
|
|
240
|
+
return M(n, x(t, e), e.rotation || 0);
|
|
241
|
+
}
|
|
242
|
+
function ye(t, e, n) {
|
|
243
|
+
const o = Y(t, n);
|
|
244
|
+
return Math.hypot(e.x - o.x, e.y - o.y) <= 14 / t.viewScale;
|
|
245
|
+
}
|
|
246
|
+
function xe(t, e, n) {
|
|
247
|
+
if (n.type === "stroke") return null;
|
|
248
|
+
const o = 12 / t.viewScale, r = X(t, n, e);
|
|
249
|
+
if (n.type === "shape" && b.includes(n.shape)) {
|
|
250
|
+
const s = [
|
|
251
|
+
{ corner: "start", x: n.x, y: n.y },
|
|
252
|
+
{ corner: "end", x: n.x + n.w, y: n.y + n.h }
|
|
253
|
+
].find(
|
|
254
|
+
(h) => Math.abs(r.x - h.x) < o && Math.abs(r.y - h.y) < o
|
|
255
|
+
);
|
|
256
|
+
return s ? s.corner : null;
|
|
257
|
+
}
|
|
258
|
+
const a = y(t, n), i = A(a).find(
|
|
259
|
+
(l) => Math.abs(r.x - l.x) < o && Math.abs(r.y - l.y) < o
|
|
260
|
+
);
|
|
261
|
+
return i ? i.corner : null;
|
|
262
|
+
}
|
|
263
|
+
function S(t, e, n) {
|
|
264
|
+
if (!n._editing) {
|
|
265
|
+
if (e.save(), n.type !== "stroke" || n.rotation) {
|
|
266
|
+
const o = y(t, n), r = o.x + o.w / 2, a = o.y + o.h / 2;
|
|
267
|
+
e.translate(r, a), 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(-r, -a);
|
|
268
|
+
}
|
|
269
|
+
if (n.type === "text") {
|
|
270
|
+
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;
|
|
271
|
+
const o = n.size * m;
|
|
272
|
+
P(t, n).forEach((r, a) => {
|
|
273
|
+
e.fillText(r, n.x, n.y + a * o);
|
|
274
|
+
});
|
|
275
|
+
} else if (n.type === "shape") {
|
|
276
|
+
e.strokeStyle = n.color, e.fillStyle = n.color, e.lineWidth = n.width, e.lineCap = "round", e.lineJoin = "round";
|
|
277
|
+
const o = n.x, r = n.y, a = n.w, i = n.h, l = { x: o, y: r, w: a, h: i };
|
|
278
|
+
if (n.shape === "rect")
|
|
279
|
+
n.fill === "fill" ? e.fillRect(o, r, a, i) : e.strokeRect(o, r, a, i), p(e, n, l);
|
|
280
|
+
else if (n.shape === "ellipse")
|
|
281
|
+
e.beginPath(), e.ellipse(
|
|
282
|
+
o + a / 2,
|
|
283
|
+
r + i / 2,
|
|
284
|
+
Math.abs(a / 2),
|
|
285
|
+
Math.abs(i / 2),
|
|
286
|
+
0,
|
|
287
|
+
0,
|
|
288
|
+
Math.PI * 2
|
|
289
|
+
), n.fill === "fill" ? e.fill() : e.stroke(), p(e, n, l);
|
|
290
|
+
else if (n.shape === "circle") {
|
|
291
|
+
const s = Math.min(Math.abs(a), Math.abs(i)) / 2;
|
|
292
|
+
e.beginPath(), e.arc(o + a / 2, r + i / 2, s, 0, Math.PI * 2), n.fill === "fill" ? e.fill() : e.stroke(), p(e, n, {
|
|
293
|
+
x: o + a / 2 - s,
|
|
294
|
+
y: r + i / 2 - s,
|
|
295
|
+
w: s * 2,
|
|
296
|
+
h: s * 2
|
|
297
|
+
});
|
|
298
|
+
} else if (b.includes(n.shape)) {
|
|
299
|
+
const s = Z(n), h = N.includes(n.shape);
|
|
300
|
+
if (h && (e.lineCap = "butt", e.setLineDash(V(n.width))), e.beginPath(), s.forEach(
|
|
301
|
+
(c, f) => f === 0 ? e.moveTo(c.x, c.y) : e.lineTo(c.x, c.y)
|
|
302
|
+
), n.closed && s.length > 2 && e.closePath(), n.closed && s.length > 2 && n.fill === "fill" && (e.setLineDash([]), e.fill()), e.stroke(), h && (e.setLineDash([]), e.lineCap = "round"), !n.closed) {
|
|
303
|
+
const c = Math.max(14, n.width * 3), f = s[0], d = s[1], u = s[s.length - 2], w = s[s.length - 1], R = Math.atan2(w.y - u.y, w.x - u.x), z = Math.atan2(f.y - d.y, f.x - d.x);
|
|
304
|
+
(F[n.shape] || []).forEach((D) => {
|
|
305
|
+
D === "end" ? v(e, w.x, w.y, R, c) : v(e, f.x, f.y, z, c);
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
n.closed && s.length > 2 ? p(e, n, y(t, n)) : J(e, n, s);
|
|
309
|
+
}
|
|
310
|
+
} else if (n.type === "stroke")
|
|
311
|
+
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(
|
|
312
|
+
(o, r) => r === 0 ? e.moveTo(o.x, o.y) : e.lineTo(o.x, o.y)
|
|
313
|
+
), n.points.length === 1 && e.lineTo(n.points[0].x + 0.1, n.points[0].y + 0.1), e.stroke();
|
|
314
|
+
else if (n.type === "sticker") {
|
|
315
|
+
const o = t.stickerImageCache.get(n.src);
|
|
316
|
+
o && o.complete && o.naturalWidth && e.drawImage(o, n.x, n.y, n.w, n.h);
|
|
317
|
+
}
|
|
318
|
+
e.restore();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
function L(t) {
|
|
322
|
+
return {
|
|
323
|
+
x: Math.min(t.x, t.x + t.w),
|
|
324
|
+
y: Math.min(t.y, t.y + t.h),
|
|
325
|
+
w: Math.abs(t.w),
|
|
326
|
+
h: Math.abs(t.h)
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
function ee(t) {
|
|
330
|
+
const { cropRect: e, overlayEl: n, octx: o, sourceCanvas: r } = t;
|
|
331
|
+
if (!e) return;
|
|
332
|
+
const a = L(e), i = n.width, l = n.height;
|
|
333
|
+
o.save(), o.fillStyle = "rgba(0,0,0,.45)", o.fillRect(0, 0, i, Math.max(0, a.y)), o.fillRect(0, Math.min(l, a.y + a.h), i, Math.max(0, l - (a.y + a.h))), o.fillRect(0, a.y, Math.max(0, a.x), a.h), o.fillRect(Math.min(i, a.x + a.w), a.y, Math.max(0, i - (a.x + a.w)), a.h), o.strokeStyle = "#fff", o.lineWidth = Math.max(1, r.width / 500), o.setLineDash([8, 6]), o.strokeRect(a.x, a.y, a.w, a.h), o.restore();
|
|
334
|
+
}
|
|
335
|
+
function C(t) {
|
|
336
|
+
const { octx: e, overlayEl: n, layers: o, mode: r, selectedId: a } = t;
|
|
337
|
+
if (e.clearRect(0, 0, n.width, n.height), o.forEach((i) => {
|
|
338
|
+
try {
|
|
339
|
+
S(t, e, i);
|
|
340
|
+
} catch (l) {
|
|
341
|
+
console.error("[image-editor] failed to paint layer", i.id, i.type, l);
|
|
342
|
+
}
|
|
343
|
+
}), r === "select" && a != null) {
|
|
344
|
+
const i = o.find((l) => l.id === a);
|
|
345
|
+
if (i) {
|
|
346
|
+
const l = y(t, i);
|
|
347
|
+
if (e.save(), i.rotation) {
|
|
348
|
+
const h = x(t, i);
|
|
349
|
+
e.translate(h.x, h.y), e.rotate(i.rotation * Math.PI / 180), e.translate(-h.x, -h.y);
|
|
350
|
+
}
|
|
351
|
+
if (e.strokeStyle = "#2f5fd2", e.lineWidth = Math.max(1.2, 1.5 / t.viewScale), e.setLineDash([6 / t.viewScale, 4 / t.viewScale]), e.strokeRect(l.x - 4, l.y - 4, l.w + 8, l.h + 8), e.setLineDash([]), i.type !== "stroke") {
|
|
352
|
+
const h = 9 / t.viewScale;
|
|
353
|
+
e.fillStyle = "#fff", e.strokeStyle = "#2f5fd2", (i.type === "shape" && b.includes(i.shape) ? [
|
|
354
|
+
{ x: i.x, y: i.y },
|
|
355
|
+
{ x: i.x + i.w, y: i.y + i.h }
|
|
356
|
+
] : A(l)).forEach((f) => {
|
|
357
|
+
e.fillRect(f.x - h / 2, f.y - h / 2, h, h), e.strokeRect(f.x - h / 2, f.y - h / 2, h, h);
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
const s = k(t, i);
|
|
361
|
+
e.strokeStyle = "#2f5fd2", e.fillStyle = "#fff", e.beginPath(), e.moveTo(s.x, l.y + l.h + 4), e.lineTo(s.x, s.y), e.stroke(), e.beginPath(), e.arc(
|
|
362
|
+
s.x,
|
|
363
|
+
s.y,
|
|
364
|
+
Q / t.viewScale,
|
|
365
|
+
0,
|
|
366
|
+
Math.PI * 2
|
|
367
|
+
), e.fill(), e.stroke(), e.restore();
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
t.pendingShape && S(t, e, t.pendingShape), r === "crop" && t.cropRect && ee(t);
|
|
371
|
+
}
|
|
372
|
+
export {
|
|
373
|
+
T as DEFAULT_LABEL_SIZE,
|
|
374
|
+
b as DIRECTIONAL_SHAPES,
|
|
375
|
+
U as LABEL_GAP,
|
|
376
|
+
fe as MULTI_POINT_SHAPES,
|
|
377
|
+
m as TEXT_LINE_HEIGHT,
|
|
378
|
+
$ as ZOOM_MAX,
|
|
379
|
+
W as ZOOM_MIN,
|
|
380
|
+
g as applyZoom,
|
|
381
|
+
O as baseFilter,
|
|
382
|
+
he as clampBoxWidth,
|
|
383
|
+
se as clampTextSize,
|
|
384
|
+
A as cornerPoints,
|
|
385
|
+
Z as directionalPoints,
|
|
386
|
+
ee as drawCropOverlay,
|
|
387
|
+
I as fitStage,
|
|
388
|
+
G as isMultiPoint,
|
|
389
|
+
ce as keepingFixed,
|
|
390
|
+
y as layerBounds,
|
|
391
|
+
x as layerCenter,
|
|
392
|
+
L as normRect,
|
|
393
|
+
xe as onResizeHandle,
|
|
394
|
+
ye as onRotateHandle,
|
|
395
|
+
S as paintLayer,
|
|
396
|
+
q as pathPointAt,
|
|
397
|
+
re as render,
|
|
398
|
+
B as renderBase,
|
|
399
|
+
C as renderOverlay,
|
|
400
|
+
M as rotatePoint,
|
|
401
|
+
le as syncCanvasSize,
|
|
402
|
+
X as toLayerSpace,
|
|
403
|
+
P as wrapTextLines,
|
|
404
|
+
oe as zoomIn,
|
|
405
|
+
ie as zoomOut,
|
|
406
|
+
ae as zoomToFit
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=index.es145.js.map
|