geoiq-frontend-ui-kit 2.0.1 → 2.0.3
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 +2 -1
- package/dist/components/atoms/accordion/accordion.d.ts.map +1 -1
- package/dist/components/atoms/avatar/avatar.d.ts +2 -1
- 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/badge/badge.styles.d.ts +2 -2
- package/dist/components/atoms/button/button.styles.d.ts +2 -2
- package/dist/components/atoms/checkbox/checkbox.styles.d.ts +2 -2
- 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/switch/switch.styles.d.ts +2 -2
- 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/alert/alert.styles.d.ts +1 -1
- package/dist/components/molecules/breadcrumb/breadcrumb-components.d.ts +2 -2
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +2 -1
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +5 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts +49 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts.map +1 -0
- package/dist/components/molecules/creatable-multi-combobox/index.d.ts +4 -0
- package/dist/components/molecules/creatable-multi-combobox/index.d.ts.map +1 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu-components.d.ts +1 -1
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +2 -1
- 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/single-select/index.d.ts.map +1 -1
- package/dist/components/molecules/single-select/single-select-components.d.ts +3 -1
- package/dist/components/molecules/single-select/single-select-components.d.ts.map +1 -1
- package/dist/components/molecules/single-select/single-select.types.d.ts +9 -0
- package/dist/components/molecules/single-select/single-select.types.d.ts.map +1 -1
- package/dist/components/molecules/split-button/split-button.styles.d.ts +3 -3
- 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 +2 -1
- 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/index.d.ts +3 -0
- package/dist/components/molecules/swatch-grid/index.d.ts.map +1 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +5 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts +17 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts.map +1 -0
- package/dist/components/molecules/tabs/tabs.d.ts.map +1 -1
- package/dist/components/molecules/tabs/tabs.styles.d.ts +2 -2
- package/dist/components/molecules/tabs/tabs.types.d.ts +1 -0
- package/dist/components/molecules/tabs/tabs.types.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts +3 -1
- 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 +3 -1
- 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 +3 -1
- 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 +3 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
- package/dist/components/organisms/dialog/dialog.types.d.ts +9 -0
- package/dist/components/organisms/dialog/dialog.types.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/color-picker.d.ts +9 -0
- package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/layers-list.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/portal-context.d.ts +3 -0
- package/dist/components/organisms/image-editor/components/portal-context.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/ribbon.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/shape-icons.d.ts +4 -0
- package/dist/components/organisms/image-editor/components/shape-icons.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/stage.d.ts +18 -0
- package/dist/components/organisms/image-editor/components/stage.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/status-bar.d.ts +7 -0
- package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts +11 -0
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor.d.ts +5 -0
- package/dist/components/organisms/image-editor/image-editor.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts +182 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/index.d.ts +4 -0
- package/dist/components/organisms/image-editor/index.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/native-bridge.d.ts +3 -0
- package/dist/components/organisms/image-editor/native-bridge.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/picture-studio-engine.d.ts +16 -0
- package/dist/components/organisms/image-editor/use-image-editor.d.ts +4 -0
- package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -0
- package/dist/components/organisms/navbar/navbar-desktop.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar-extended.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar-mobile.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar.types.d.ts +17 -0
- package/dist/components/organisms/navbar/navbar.types.d.ts.map +1 -1
- package/dist/components/organisms/sheet/sheet-components.d.ts +2 -2
- package/dist/components/organisms/sheet/sheet.d.ts +2 -1
- package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
- package/dist/components/organisms/sheet/sheet.types.d.ts +1 -0
- package/dist/components/organisms/sheet/sheet.types.d.ts.map +1 -1
- package/dist/components/organisms/sidebar/sidebar-components.d.ts +1 -1
- package/dist/components/organisms/sidebar/sidebar.d.ts +2 -1
- 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/brand-switcher/brand-switcher.d.ts +5 -0
- package/dist/components/ui/brand-switcher/brand-switcher.d.ts.map +1 -0
- package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts +29 -0
- package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts.map +1 -0
- package/dist/components/ui/brand-switcher/index.d.ts +3 -0
- package/dist/components/ui/brand-switcher/index.d.ts.map +1 -0
- package/dist/components/ui/credit-sheet/credit-sheet.d.ts.map +1 -1
- package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts +3 -0
- package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts.map +1 -1
- package/dist/components/ui/credits-indicator/credits-indicator.d.ts +6 -0
- package/dist/components/ui/credits-indicator/credits-indicator.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts +7 -0
- package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts +14 -0
- package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/index.d.ts +3 -0
- package/dist/components/ui/credits-indicator/index.d.ts.map +1 -0
- package/dist/components/ui/form-renderer/components/form-fields/components/multi-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/single-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-read-only-view.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts +4 -0
- package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts +2 -0
- package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form-renderer.d.ts +10 -0
- package/dist/components/ui/form-renderer/form-renderer.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form.enums.d.ts +1 -0
- package/dist/components/ui/form-renderer/form.enums.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form.types.d.ts +20 -1
- package/dist/components/ui/form-renderer/form.types.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +2 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts.map +1 -1
- package/dist/components/ui/report-snippet-view/report-snippet-view-components.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts +3 -0
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/index.d.ts +1 -0
- package/dist/components/ui/request-credits-view/index.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/request-credits-view.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts +3 -0
- package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts.map +1 -1
- package/dist/components/ui/star-score/star-score.d.ts +2 -1
- 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 +2 -1
- package/dist/components/unstyled/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/unstyled/popover/popover.d.ts +2 -1
- package/dist/components/unstyled/popover/popover.d.ts.map +1 -1
- package/dist/components/unstyled/spinner/spinner.styles.d.ts +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.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +210 -193
- package/dist/index.es.js.map +1 -1
- package/dist/{index.es8.js → index10.es.js} +3 -3
- package/dist/index10.es.js.map +1 -0
- package/dist/{index.es96.js → index100.es.js} +1 -1
- package/dist/index100.es.js.map +1 -0
- package/dist/{index.es109.js → index101.es.js} +1 -1
- package/dist/{index.es109.js.map → index101.es.js.map} +1 -1
- package/dist/{index.es90.js → index102.es.js} +2 -2
- package/dist/index102.es.js.map +1 -0
- package/dist/{index.es91.js → index103.es.js} +2 -2
- package/dist/index103.es.js.map +1 -0
- package/dist/{index.es92.js → index104.es.js} +1 -1
- package/dist/index104.es.js.map +1 -0
- package/dist/{index.es95.js → index105.es.js} +1 -1
- package/dist/index105.es.js.map +1 -0
- package/dist/{index.es110.js → index106.es.js} +1 -1
- package/dist/{index.es110.js.map → index106.es.js.map} +1 -1
- package/dist/{index.es114.js → index107.es.js} +5 -5
- package/dist/{index.es114.js.map → index107.es.js.map} +1 -1
- package/dist/{index.es115.js → index108.es.js} +1 -1
- package/dist/{index.es115.js.map → index108.es.js.map} +1 -1
- package/dist/{index.es112.js → index109.es.js} +1 -1
- package/dist/{index.es112.js.map → index109.es.js.map} +1 -1
- package/dist/{index.es9.js → index11.es.js} +4 -4
- package/dist/index11.es.js.map +1 -0
- package/dist/{index.es117.js → index110.es.js} +4 -4
- package/dist/{index.es117.js.map → index110.es.js.map} +1 -1
- package/dist/{index.es118.js → index111.es.js} +4 -4
- package/dist/{index.es118.js.map → index111.es.js.map} +1 -1
- package/dist/{index.es119.js → index112.es.js} +58 -57
- package/dist/index112.es.js.map +1 -0
- package/dist/{index.es120.js → index113.es.js} +2 -2
- package/dist/{index.es120.js.map → index113.es.js.map} +1 -1
- package/dist/{index.es121.js → index114.es.js} +65 -39
- package/dist/index114.es.js.map +1 -0
- package/dist/index115.es.js +38 -0
- package/dist/index115.es.js.map +1 -0
- package/dist/{index.es107.js → index116.es.js} +6 -6
- package/dist/{index.es107.js.map → index116.es.js.map} +1 -1
- package/dist/index117.es.js +19 -0
- package/dist/index117.es.js.map +1 -0
- package/dist/index118.es.js +103 -0
- package/dist/index118.es.js.map +1 -0
- package/dist/index119.es.js +17 -0
- package/dist/index119.es.js.map +1 -0
- package/dist/{index.es10.js → index12.es.js} +3 -3
- package/dist/{index.es10.js.map → index12.es.js.map} +1 -1
- package/dist/index120.es.js +105 -0
- package/dist/index120.es.js.map +1 -0
- package/dist/{index.es97.js → index121.es.js} +4 -4
- package/dist/index121.es.js.map +1 -0
- package/dist/{index.es98.js → index122.es.js} +3 -3
- package/dist/index122.es.js.map +1 -0
- package/dist/{index.es99.js → index123.es.js} +3 -3
- package/dist/index123.es.js.map +1 -0
- package/dist/{index.es100.js → index124.es.js} +3 -3
- package/dist/{index.es100.js.map → index124.es.js.map} +1 -1
- package/dist/{index.es101.js → index125.es.js} +10 -10
- package/dist/{index.es101.js.map → index125.es.js.map} +1 -1
- package/dist/{index.es102.js → index126.es.js} +10 -10
- package/dist/{index.es102.js.map → index126.es.js.map} +1 -1
- package/dist/{index.es103.js → index127.es.js} +5 -5
- package/dist/{index.es103.js.map → index127.es.js.map} +1 -1
- package/dist/{index.es122.js → index128.es.js} +1 -1
- package/dist/{index.es122.js.map → index128.es.js.map} +1 -1
- package/dist/{index.es123.js → index129.es.js} +26 -20
- package/dist/index129.es.js.map +1 -0
- package/dist/{index.es11.js → index13.es.js} +3 -3
- package/dist/{index.es11.js.map → index13.es.js.map} +1 -1
- package/dist/{index.es124.js → index130.es.js} +3 -3
- package/dist/{index.es124.js.map → index130.es.js.map} +1 -1
- package/dist/{index.es116.js → index131.es.js} +22 -21
- package/dist/index131.es.js.map +1 -0
- package/dist/{index.es113.js → index132.es.js} +3 -3
- package/dist/{index.es113.js.map → index132.es.js.map} +1 -1
- package/dist/{index.es93.js → index133.es.js} +1 -1
- package/dist/index133.es.js.map +1 -0
- package/dist/index134.es.js +10 -0
- package/dist/index134.es.js.map +1 -0
- package/dist/{index.es111.js → index135.es.js} +3 -3
- package/dist/{index.es111.js.map → index135.es.js.map} +1 -1
- package/dist/{index.es104.js → index136.es.js} +1 -1
- package/dist/{index.es104.js.map → index136.es.js.map} +1 -1
- package/dist/{index.es127.js → index137.es.js} +2 -2
- package/dist/{index.es127.js.map → index137.es.js.map} +1 -1
- package/dist/{index.es125.js → index138.es.js} +1 -1
- package/dist/{index.es125.js.map → index138.es.js.map} +1 -1
- package/dist/{index.es128.js → index139.es.js} +3 -3
- package/dist/{index.es128.js.map → index139.es.js.map} +1 -1
- package/dist/{index.es12.js → index14.es.js} +2 -2
- package/dist/{index.es12.js.map → index14.es.js.map} +1 -1
- package/dist/{index.es129.js → index140.es.js} +1 -1
- package/dist/{index.es129.js.map → index140.es.js.map} +1 -1
- package/dist/{index.es130.js → index141.es.js} +1 -1
- package/dist/index141.es.js.map +1 -0
- package/dist/index142.es.js +5 -0
- package/dist/index142.es.js.map +1 -0
- package/dist/index143.es.js +10 -0
- package/dist/index143.es.js.map +1 -0
- package/dist/index144.es.js +25 -0
- package/dist/index144.es.js.map +1 -0
- package/dist/index145.es.js +173 -0
- package/dist/index145.es.js.map +1 -0
- package/dist/index146.es.js +85 -0
- package/dist/index146.es.js.map +1 -0
- package/dist/index147.es.js +8 -0
- package/dist/index147.es.js.map +1 -0
- package/dist/index148.es.js +59 -0
- package/dist/index148.es.js.map +1 -0
- package/dist/index149.es.js +120 -0
- package/dist/index149.es.js.map +1 -0
- package/dist/{index.es13.js → index15.es.js} +3 -3
- package/dist/{index.es13.js.map → index15.es.js.map} +1 -1
- package/dist/index150.es.js +325 -0
- package/dist/index150.es.js.map +1 -0
- package/dist/index151.es.js +31 -0
- package/dist/index151.es.js.map +1 -0
- package/dist/index152.es.js +71 -0
- package/dist/index152.es.js.map +1 -0
- package/dist/index153.es.js +35 -0
- package/dist/index153.es.js.map +1 -0
- package/dist/index154.es.js +28 -0
- package/dist/index154.es.js.map +1 -0
- package/dist/index155.es.js +41 -0
- package/dist/index155.es.js.map +1 -0
- package/dist/index156.es.js +146 -0
- package/dist/index156.es.js.map +1 -0
- package/dist/index157.es.js +147 -0
- package/dist/index157.es.js.map +1 -0
- package/dist/index158.es.js +50 -0
- package/dist/index158.es.js.map +1 -0
- package/dist/{index.es126.js → index159.es.js} +1 -1
- package/dist/{index.es126.js.map → index159.es.js.map} +1 -1
- package/dist/{index.es14.js → index16.es.js} +8 -8
- package/dist/{index.es14.js.map → index16.es.js.map} +1 -1
- package/dist/index160.es.js +5 -0
- package/dist/index160.es.js.map +1 -0
- package/dist/{index.es132.js → index161.es.js} +1 -1
- package/dist/{index.es132.js.map → index161.es.js.map} +1 -1
- package/dist/index162.es.js +94 -0
- package/dist/index162.es.js.map +1 -0
- package/dist/index163.es.js +216 -0
- package/dist/index163.es.js.map +1 -0
- package/dist/index164.es.js +57 -0
- package/dist/index164.es.js.map +1 -0
- package/dist/index165.es.js +39 -0
- package/dist/index165.es.js.map +1 -0
- package/dist/index166.es.js +36 -0
- package/dist/index166.es.js.map +1 -0
- package/dist/index167.es.js +36 -0
- package/dist/index167.es.js.map +1 -0
- package/dist/index168.es.js +94 -0
- package/dist/index168.es.js.map +1 -0
- package/dist/index169.es.js +120 -0
- package/dist/index169.es.js.map +1 -0
- package/dist/{index.es15.js → index17.es.js} +3 -3
- package/dist/{index.es15.js.map → index17.es.js.map} +1 -1
- package/dist/{index.es133.js → index170.es.js} +122 -93
- package/dist/index170.es.js.map +1 -0
- package/dist/{index.es134.js → index171.es.js} +4 -4
- package/dist/{index.es134.js.map → index171.es.js.map} +1 -1
- package/dist/{index.es135.js → index172.es.js} +2 -2
- package/dist/{index.es135.js.map → index172.es.js.map} +1 -1
- package/dist/{index.es136.js → index173.es.js} +25 -23
- package/dist/index173.es.js.map +1 -0
- package/dist/{index.es137.js → index174.es.js} +17 -16
- package/dist/{index.es137.js.map → index174.es.js.map} +1 -1
- package/dist/{index.es138.js → index175.es.js} +30 -28
- package/dist/{index.es138.js.map → index175.es.js.map} +1 -1
- package/dist/{index.es139.js → index176.es.js} +13 -12
- package/dist/{index.es139.js.map → index176.es.js.map} +1 -1
- package/dist/{index.es140.js → index177.es.js} +5 -5
- package/dist/{index.es140.js.map → index177.es.js.map} +1 -1
- package/dist/{index.es141.js → index178.es.js} +24 -22
- package/dist/index178.es.js.map +1 -0
- package/dist/{index.es142.js → index179.es.js} +44 -42
- package/dist/index179.es.js.map +1 -0
- package/dist/{index.es16.js → index18.es.js} +2 -2
- package/dist/{index.es16.js.map → index18.es.js.map} +1 -1
- package/dist/index180.es.js +29 -0
- package/dist/index180.es.js.map +1 -0
- package/dist/index181.es.js +27 -0
- package/dist/index181.es.js.map +1 -0
- package/dist/{index.es143.js → index182.es.js} +1 -1
- package/dist/{index.es143.js.map → index182.es.js.map} +1 -1
- package/dist/{index.es17.js → index19.es.js} +4 -4
- package/dist/{index.es17.js.map → index19.es.js.map} +1 -1
- package/dist/index2.es.js +125 -0
- package/dist/index2.es.js.map +1 -0
- package/dist/{index.es18.js → index20.es.js} +5 -5
- package/dist/{index.es18.js.map → index20.es.js.map} +1 -1
- package/dist/{index.es19.js → index21.es.js} +6 -6
- package/dist/{index.es19.js.map → index21.es.js.map} +1 -1
- package/dist/{index.es20.js → index22.es.js} +2 -2
- package/dist/{index.es20.js.map → index22.es.js.map} +1 -1
- package/dist/{index.es21.js → index23.es.js} +7 -7
- package/dist/{index.es21.js.map → index23.es.js.map} +1 -1
- package/dist/{index.es22.js → index24.es.js} +7 -7
- package/dist/{index.es22.js.map → index24.es.js.map} +1 -1
- package/dist/{index.es23.js → index25.es.js} +3 -3
- package/dist/{index.es23.js.map → index25.es.js.map} +1 -1
- package/dist/{index.es24.js → index26.es.js} +2 -2
- package/dist/{index.es24.js.map → index26.es.js.map} +1 -1
- package/dist/{index.es25.js → index27.es.js} +7 -7
- package/dist/{index.es25.js.map → index27.es.js.map} +1 -1
- package/dist/index28.es.js +277 -0
- package/dist/index28.es.js.map +1 -0
- package/dist/{index.es26.js → index29.es.js} +18 -17
- package/dist/index29.es.js.map +1 -0
- package/dist/index3.es.js +43 -0
- package/dist/index3.es.js.map +1 -0
- package/dist/{index.es27.js → index30.es.js} +3 -3
- package/dist/{index.es27.js.map → index30.es.js.map} +1 -1
- package/dist/{index.es28.js → index31.es.js} +1 -1
- package/dist/{index.es28.js.map → index31.es.js.map} +1 -1
- package/dist/{index.es29.js → index32.es.js} +2 -2
- package/dist/{index.es29.js.map → index32.es.js.map} +1 -1
- package/dist/index33.es.js +82 -0
- package/dist/{index.es30.js.map → index33.es.js.map} +1 -1
- package/dist/{index.es31.js → index34.es.js} +5 -5
- package/dist/{index.es31.js.map → index34.es.js.map} +1 -1
- package/dist/{index.es32.js → index35.es.js} +11 -11
- package/dist/index35.es.js.map +1 -0
- package/dist/{index.es33.js → index36.es.js} +5 -5
- package/dist/{index.es33.js.map → index36.es.js.map} +1 -1
- package/dist/{index.es34.js → index37.es.js} +6 -6
- package/dist/{index.es34.js.map → index37.es.js.map} +1 -1
- package/dist/index38.es.js +57 -0
- package/dist/index38.es.js.map +1 -0
- package/dist/{index.es35.js → index39.es.js} +3 -3
- package/dist/{index.es35.js.map → index39.es.js.map} +1 -1
- package/dist/{index.es2.js → index4.es.js} +2 -2
- package/dist/{index.es2.js.map → index4.es.js.map} +1 -1
- package/dist/{index.es36.js → index40.es.js} +4 -4
- package/dist/{index.es36.js.map → index40.es.js.map} +1 -1
- package/dist/index41.es.js +46 -0
- package/dist/index41.es.js.map +1 -0
- package/dist/index42.es.js +49 -0
- package/dist/index42.es.js.map +1 -0
- package/dist/{index.es39.js → index43.es.js} +2 -2
- package/dist/{index.es39.js.map → index43.es.js.map} +1 -1
- package/dist/index44.es.js +18 -0
- package/dist/index44.es.js.map +1 -0
- package/dist/index45.es.js +67 -0
- package/dist/index45.es.js.map +1 -0
- package/dist/{index.es40.js → index46.es.js} +36 -30
- package/dist/index46.es.js.map +1 -0
- package/dist/{index.es41.js → index47.es.js} +67 -50
- package/dist/index47.es.js.map +1 -0
- package/dist/index48.es.js +317 -0
- package/dist/index48.es.js.map +1 -0
- package/dist/{index.es43.js → index49.es.js} +2 -2
- package/dist/{index.es43.js.map → index49.es.js.map} +1 -1
- package/dist/{index.es3.js → index5.es.js} +2 -2
- package/dist/{index.es3.js.map → index5.es.js.map} +1 -1
- package/dist/{index.es44.js → index50.es.js} +1 -1
- package/dist/{index.es44.js.map → index50.es.js.map} +1 -1
- package/dist/{index.es45.js → index51.es.js} +2 -2
- package/dist/{index.es45.js.map → index51.es.js.map} +1 -1
- package/dist/{index.es46.js → index52.es.js} +3 -3
- package/dist/{index.es46.js.map → index52.es.js.map} +1 -1
- package/dist/{index.es47.js → index53.es.js} +13 -13
- package/dist/index53.es.js.map +1 -0
- package/dist/{index.es48.js → index54.es.js} +4 -4
- package/dist/{index.es48.js.map → index54.es.js.map} +1 -1
- package/dist/index55.es.js +108 -0
- package/dist/index55.es.js.map +1 -0
- package/dist/index56.es.js +76 -0
- package/dist/index56.es.js.map +1 -0
- package/dist/{index.es50.js → index57.es.js} +9 -9
- package/dist/{index.es50.js.map → index57.es.js.map} +1 -1
- package/dist/{index.es51.js → index58.es.js} +4 -3
- package/dist/{index.es51.js.map → index58.es.js.map} +1 -1
- package/dist/{index.es52.js → index59.es.js} +2 -2
- package/dist/{index.es52.js.map → index59.es.js.map} +1 -1
- package/dist/{index.es4.js → index6.es.js} +2 -2
- package/dist/{index.es4.js.map → index6.es.js.map} +1 -1
- package/dist/{index.es53.js → index60.es.js} +3 -3
- package/dist/{index.es53.js.map → index60.es.js.map} +1 -1
- package/dist/{index.es54.js → index61.es.js} +2 -2
- package/dist/{index.es54.js.map → index61.es.js.map} +1 -1
- package/dist/{index.es55.js → index62.es.js} +2 -2
- package/dist/{index.es55.js.map → index62.es.js.map} +1 -1
- package/dist/{index.es56.js → index63.es.js} +2 -2
- package/dist/{index.es56.js.map → index63.es.js.map} +1 -1
- package/dist/{index.es57.js → index64.es.js} +3 -3
- package/dist/{index.es57.js.map → index64.es.js.map} +1 -1
- package/dist/{index.es58.js → index65.es.js} +3 -3
- package/dist/{index.es58.js.map → index65.es.js.map} +1 -1
- package/dist/{index.es59.js → index66.es.js} +2 -2
- package/dist/{index.es59.js.map → index66.es.js.map} +1 -1
- package/dist/{index.es60.js → index67.es.js} +3 -3
- package/dist/{index.es60.js.map → index67.es.js.map} +1 -1
- package/dist/{index.es61.js → index68.es.js} +3 -3
- package/dist/{index.es61.js.map → index68.es.js.map} +1 -1
- package/dist/{index.es62.js → index69.es.js} +6 -6
- package/dist/{index.es62.js.map → index69.es.js.map} +1 -1
- package/dist/{index.es5.js → index7.es.js} +2 -2
- package/dist/{index.es5.js.map → index7.es.js.map} +1 -1
- package/dist/index70.es.js +70 -0
- package/dist/index70.es.js.map +1 -0
- package/dist/{index.es64.js → index71.es.js} +4 -4
- package/dist/{index.es64.js.map → index71.es.js.map} +1 -1
- package/dist/{index.es65.js → index72.es.js} +8 -8
- package/dist/{index.es65.js.map → index72.es.js.map} +1 -1
- package/dist/{index.es66.js → index73.es.js} +5 -5
- package/dist/{index.es66.js.map → index73.es.js.map} +1 -1
- package/dist/{index.es67.js → index74.es.js} +1 -1
- package/dist/{index.es67.js.map → index74.es.js.map} +1 -1
- package/dist/{index.es68.js → index75.es.js} +1 -1
- package/dist/{index.es68.js.map → index75.es.js.map} +1 -1
- package/dist/{index.es69.js → index76.es.js} +1 -1
- package/dist/{index.es69.js.map → index76.es.js.map} +1 -1
- package/dist/index77.es.js +35 -0
- package/dist/index77.es.js.map +1 -0
- package/dist/{index.es70.js → index78.es.js} +2 -2
- package/dist/{index.es70.js.map → index78.es.js.map} +1 -1
- package/dist/{index.es71.js → index79.es.js} +1 -1
- package/dist/{index.es71.js.map → index79.es.js.map} +1 -1
- package/dist/{index.es6.js → index8.es.js} +3 -3
- package/dist/{index.es6.js.map → index8.es.js.map} +1 -1
- package/dist/{index.es72.js → index80.es.js} +3 -3
- package/dist/{index.es72.js.map → index80.es.js.map} +1 -1
- package/dist/{index.es73.js → index81.es.js} +4 -4
- package/dist/{index.es73.js.map → index81.es.js.map} +1 -1
- package/dist/{index.es74.js → index82.es.js} +1 -1
- package/dist/{index.es74.js.map → index82.es.js.map} +1 -1
- package/dist/{index.es75.js → index83.es.js} +1 -1
- package/dist/{index.es75.js.map → index83.es.js.map} +1 -1
- package/dist/{index.es76.js → index84.es.js} +1 -1
- package/dist/{index.es76.js.map → index84.es.js.map} +1 -1
- package/dist/{index.es77.js → index85.es.js} +2 -2
- package/dist/{index.es77.js.map → index85.es.js.map} +1 -1
- package/dist/{index.es78.js → index86.es.js} +2 -2
- package/dist/{index.es78.js.map → index86.es.js.map} +1 -1
- package/dist/{index.es79.js → index87.es.js} +1 -1
- package/dist/{index.es79.js.map → index87.es.js.map} +1 -1
- package/dist/index88.es.js +5 -0
- package/dist/index88.es.js.map +1 -0
- package/dist/{index.es81.js → index89.es.js} +1 -1
- package/dist/{index.es81.js.map → index89.es.js.map} +1 -1
- package/dist/{index.es7.js → index9.es.js} +4 -4
- package/dist/{index.es7.js.map → index9.es.js.map} +1 -1
- package/dist/{index.es82.js → index90.es.js} +2 -2
- package/dist/{index.es82.js.map → index90.es.js.map} +1 -1
- package/dist/index91.es.js +122 -0
- package/dist/index91.es.js.map +1 -0
- package/dist/{index.es84.js → index92.es.js} +1 -1
- package/dist/{index.es84.js.map → index92.es.js.map} +1 -1
- package/dist/{index.es85.js → index93.es.js} +1 -1
- package/dist/{index.es85.js.map → index93.es.js.map} +1 -1
- package/dist/{index.es86.js → index94.es.js} +1 -1
- package/dist/{index.es86.js.map → index94.es.js.map} +1 -1
- package/dist/{index.es87.js → index95.es.js} +1 -1
- package/dist/{index.es87.js.map → index95.es.js.map} +1 -1
- package/dist/{index.es88.js → index96.es.js} +1 -1
- package/dist/{index.es88.js.map → index96.es.js.map} +1 -1
- package/dist/{index.es89.js → index97.es.js} +1 -1
- package/dist/{index.es89.js.map → index97.es.js.map} +1 -1
- package/dist/{index.es105.js → index98.es.js} +1 -1
- package/dist/index98.es.js.map +1 -0
- package/dist/{index.es108.js → index99.es.js} +1 -1
- package/dist/index99.es.js.map +1 -0
- package/dist/lib/constants.d.ts +2 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/styles.css +374 -48
- package/dist/ui-kit-preset.js +2 -1
- package/package.json +2 -1
- package/dist/index.es105.js.map +0 -1
- package/dist/index.es106.js +0 -36
- package/dist/index.es106.js.map +0 -1
- package/dist/index.es108.js.map +0 -1
- package/dist/index.es116.js.map +0 -1
- package/dist/index.es119.js.map +0 -1
- package/dist/index.es121.js.map +0 -1
- package/dist/index.es123.js.map +0 -1
- package/dist/index.es130.js.map +0 -1
- package/dist/index.es131.js +0 -5
- package/dist/index.es131.js.map +0 -1
- package/dist/index.es133.js.map +0 -1
- package/dist/index.es136.js.map +0 -1
- package/dist/index.es141.js.map +0 -1
- package/dist/index.es142.js.map +0 -1
- package/dist/index.es26.js.map +0 -1
- package/dist/index.es30.js +0 -82
- package/dist/index.es32.js.map +0 -1
- package/dist/index.es37.js +0 -43
- package/dist/index.es37.js.map +0 -1
- package/dist/index.es38.js +0 -48
- package/dist/index.es38.js.map +0 -1
- package/dist/index.es40.js.map +0 -1
- package/dist/index.es41.js.map +0 -1
- package/dist/index.es42.js +0 -278
- package/dist/index.es42.js.map +0 -1
- package/dist/index.es47.js.map +0 -1
- package/dist/index.es49.js +0 -37
- package/dist/index.es49.js.map +0 -1
- package/dist/index.es63.js +0 -39
- package/dist/index.es63.js.map +0 -1
- package/dist/index.es8.js.map +0 -1
- package/dist/index.es80.js +0 -5
- package/dist/index.es80.js.map +0 -1
- package/dist/index.es83.js +0 -116
- package/dist/index.es83.js.map +0 -1
- package/dist/index.es9.js.map +0 -1
- package/dist/index.es90.js.map +0 -1
- package/dist/index.es91.js.map +0 -1
- package/dist/index.es92.js.map +0 -1
- package/dist/index.es93.js.map +0 -1
- package/dist/index.es94.js +0 -105
- package/dist/index.es94.js.map +0 -1
- package/dist/index.es95.js.map +0 -1
- package/dist/index.es96.js.map +0 -1
- package/dist/index.es97.js.map +0 -1
- package/dist/index.es98.js.map +0 -1
- package/dist/index.es99.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index155.es.js","sources":["../src/components/organisms/image-editor/engine/stickers.js"],"sourcesContent":["import { pushHistory } from './history.js'\nimport { emitChange } from './state.js'\nimport { render } from './rendering.js'\n\nexport function loadStickerImage(state, src) {\n return new Promise((resolve, reject) => {\n const cached = state.stickerImageCache.get(src)\n if (cached && cached.complete && cached.naturalWidth) {\n resolve(cached)\n return\n }\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => {\n state.stickerImageCache.set(src, img)\n resolve(img)\n }\n img.onerror = reject\n img.src = src\n })\n}\n\nexport function addSticker(state, src) {\n loadStickerImage(state, src)\n .then((img) => {\n pushHistory(state)\n const w = state.sourceCanvas.width * 0.25\n const h = w * (img.naturalHeight / img.naturalWidth || 1)\n const L = {\n id: state.nextId++,\n type: 'sticker',\n src,\n x: (state.sourceCanvas.width - w) / 2,\n y: (state.sourceCanvas.height - h) / 2,\n w,\n h,\n rotation: 0,\n flipH: false,\n flipV: false,\n }\n state.layers.push(L)\n render(state)\n state.mode = 'select'\n state.selectedId = L.id\n state.statusText = 'Sticker added'\n emitChange(state)\n })\n .catch(() => {\n state.statusText = 'Could not load that sticker (CORS?)'\n state.notify()\n })\n}\n"],"names":["loadStickerImage","state","src","resolve","reject","cached","img","addSticker","pushHistory","w","h","L","render","emitChange"],"mappings":";;;AAIO,SAASA,EAAiBC,GAAOC,GAAK;AAC3C,SAAO,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,UAAMC,IAASJ,EAAM,kBAAkB,IAAIC,CAAG;AAC9C,QAAIG,KAAUA,EAAO,YAAYA,EAAO,cAAc;AACpD,MAAAF,EAAQE,CAAM;AACd;AAAA,IACF;AACA,UAAMC,IAAM,IAAI,MAAK;AACrB,IAAAA,EAAI,cAAc,aAClBA,EAAI,SAAS,MAAM;AACjB,MAAAL,EAAM,kBAAkB,IAAIC,GAAKI,CAAG,GACpCH,EAAQG,CAAG;AAAA,IACb,GACAA,EAAI,UAAUF,GACdE,EAAI,MAAMJ;AAAA,EACZ,CAAC;AACH;AAEO,SAASK,EAAWN,GAAOC,GAAK;AACrC,EAAAF,EAAiBC,GAAOC,CAAG,EACxB,KAAK,CAACI,MAAQ;AACb,IAAAE,EAAYP,CAAK;AACjB,UAAMQ,IAAIR,EAAM,aAAa,QAAQ,MAC/BS,IAAID,KAAKH,EAAI,gBAAgBA,EAAI,gBAAgB,IACjDK,IAAI;AAAA,MACR,IAAIV,EAAM;AAAA,MACV,MAAM;AAAA,MACN,KAAAC;AAAA,MACA,IAAID,EAAM,aAAa,QAAQQ,KAAK;AAAA,MACpC,IAAIR,EAAM,aAAa,SAASS,KAAK;AAAA,MACrC,GAAAD;AAAA,MACA,GAAAC;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,IACf;AACM,IAAAT,EAAM,OAAO,KAAKU,CAAC,GACnBC,EAAOX,CAAK,GACZA,EAAM,OAAO,UACbA,EAAM,aAAaU,EAAE,IACrBV,EAAM,aAAa,iBACnBY,EAAWZ,CAAK;AAAA,EAClB,CAAC,EACA,MAAM,MAAM;AACX,IAAAA,EAAM,aAAa,uCACnBA,EAAM,OAAM;AAAA,EACd,CAAC;AACL;"}
|
|
@@ -0,0 +1,146 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { supportsContextFilter as v, rasterizeWithFilter as C } from "./index162.es.js";
|
|
2
|
+
import { syncCanvasSize as m, render as g, baseFilter as p, paintLayer as w } from "./index150.es.js";
|
|
3
|
+
import { emit as l, emitChange as f, getState as y, resetAdjValues as S } from "./index149.es.js";
|
|
4
|
+
import { loadStickerImage as I } from "./index155.es.js";
|
|
5
|
+
function L(e) {
|
|
6
|
+
const n = (e.type || "").toLowerCase();
|
|
7
|
+
if (n === "image/heic" || n === "image/heif") return !0;
|
|
8
|
+
const i = e instanceof File ? e.name.toLowerCase() : "";
|
|
9
|
+
return i.endsWith(".heic") || i.endsWith(".heif");
|
|
10
|
+
}
|
|
11
|
+
function d(e, n) {
|
|
12
|
+
n(URL.createObjectURL(e));
|
|
13
|
+
}
|
|
14
|
+
function h(e, n) {
|
|
15
|
+
import("heic2any").then(
|
|
16
|
+
({ default: i }) => i({ blob: e, toType: "image/jpeg", quality: 0.8 })
|
|
17
|
+
).then(
|
|
18
|
+
(i) => d(Array.isArray(i) ? i[0] : i, n)
|
|
19
|
+
).catch(() => d(e, n));
|
|
20
|
+
}
|
|
21
|
+
function B(e, n, i) {
|
|
22
|
+
if (e.isLoadingImage = !0, e.notify(), !n) {
|
|
23
|
+
i(null);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (n instanceof HTMLCanvasElement) {
|
|
27
|
+
i(n.toDataURL());
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (typeof Blob < "u" && (n instanceof Blob || n instanceof File)) {
|
|
31
|
+
if (L(n)) {
|
|
32
|
+
if (typeof createImageBitmap == "function") {
|
|
33
|
+
createImageBitmap(n).then((r) => {
|
|
34
|
+
r.close(), d(n, i);
|
|
35
|
+
}).catch(() => h(n, i));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
h(n, i);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
d(n, i);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
i(n);
|
|
45
|
+
}
|
|
46
|
+
function T(e, n) {
|
|
47
|
+
const i = () => {
|
|
48
|
+
typeof n == "string" && n.startsWith("blob:") && URL.revokeObjectURL(n);
|
|
49
|
+
}, r = new Image();
|
|
50
|
+
r.crossOrigin = "anonymous", r.onload = () => {
|
|
51
|
+
let o = r.naturalWidth, a = r.naturalHeight;
|
|
52
|
+
const c = 2e3;
|
|
53
|
+
if (Math.max(o, a) > c) {
|
|
54
|
+
const t = c / Math.max(o, a);
|
|
55
|
+
o = Math.round(o * t), a = Math.round(a * t);
|
|
56
|
+
}
|
|
57
|
+
e.sourceCanvas.width = o, e.sourceCanvas.height = a, e.sourceCanvas.getContext("2d").drawImage(r, 0, 0, o, a), e.originalCanvas = document.createElement("canvas"), e.originalCanvas.width = o, e.originalCanvas.height = a, e.originalCanvas.getContext("2d").drawImage(e.sourceCanvas, 0, 0), i(), e.layers = [], e.selectedId = null, e.undoStack = [], e.redoStack = [], e.zoom = 1, S(e), e.mounted && m(e), g(e), e.mode = "select", e.isLoadingImage = !1, e.statusText = "Image loaded", l(e, "load", { width: o, height: a }), f(e);
|
|
58
|
+
}, r.onerror = () => {
|
|
59
|
+
i(), e.isLoadingImage = !1, e.statusText = "Could not load that image (CORS?)", console.warn(
|
|
60
|
+
"[ImageEditor] Failed to load image (likely a CORS issue on the source URL). Reset stays disabled since there is nothing to revert to.",
|
|
61
|
+
typeof n == "string" ? n.slice(0, 80) : n
|
|
62
|
+
), e.notify();
|
|
63
|
+
}, r.src = n;
|
|
64
|
+
}
|
|
65
|
+
function F(e, n) {
|
|
66
|
+
if (!n || !n.image) return;
|
|
67
|
+
const i = new Image();
|
|
68
|
+
i.onload = () => {
|
|
69
|
+
e.sourceCanvas.width = n.width || i.naturalWidth, e.sourceCanvas.height = n.height || i.naturalHeight, e.sourceCanvas.getContext("2d").drawImage(i, 0, 0, e.sourceCanvas.width, e.sourceCanvas.height), e.originalCanvas = document.createElement("canvas"), e.originalCanvas.width = e.sourceCanvas.width, e.originalCanvas.height = e.sourceCanvas.height, e.originalCanvas.getContext("2d").drawImage(i, 0, 0, e.sourceCanvas.width, e.sourceCanvas.height), e.layers = JSON.parse(JSON.stringify(n.layers || [])), e.layers.forEach((o) => {
|
|
70
|
+
o.id >= e.nextId && (e.nextId = o.id + 1);
|
|
71
|
+
}), Object.assign(e.adj, n.adjustments || {}), e.selectedId = null, e.undoStack = [], e.redoStack = [], e.zoom = 1, e.mounted && m(e), g(e), e.mode = "select", e.statusText = "State restored", l(e, "load", { restored: !0 }), f(e);
|
|
72
|
+
const r = [
|
|
73
|
+
...new Set(
|
|
74
|
+
e.layers.filter((o) => o.type === "sticker").map((o) => o.src)
|
|
75
|
+
)
|
|
76
|
+
];
|
|
77
|
+
r.length && Promise.all(
|
|
78
|
+
r.map((o) => I(e, o).catch(() => {
|
|
79
|
+
}))
|
|
80
|
+
).then(() => g(e));
|
|
81
|
+
}, i.src = n.image;
|
|
82
|
+
}
|
|
83
|
+
async function x(e) {
|
|
84
|
+
const n = document.createElement("canvas");
|
|
85
|
+
n.width = e.sourceCanvas.width, n.height = e.sourceCanvas.height;
|
|
86
|
+
const i = n.getContext("2d"), r = p(e);
|
|
87
|
+
if (v())
|
|
88
|
+
i.filter = r, i.drawImage(e.sourceCanvas, 0, 0), i.filter = "none";
|
|
89
|
+
else
|
|
90
|
+
try {
|
|
91
|
+
const o = await C(e.sourceCanvas, r);
|
|
92
|
+
i.drawImage(o, 0, 0);
|
|
93
|
+
} catch {
|
|
94
|
+
i.drawImage(e.sourceCanvas, 0, 0);
|
|
95
|
+
}
|
|
96
|
+
return e.layers.forEach((o) => {
|
|
97
|
+
o._editing || w(e, i, o);
|
|
98
|
+
}), n;
|
|
99
|
+
}
|
|
100
|
+
function k(e, n, i, r) {
|
|
101
|
+
const o = n.toDataURL(r), a = {
|
|
102
|
+
blob: i,
|
|
103
|
+
dataURL: o,
|
|
104
|
+
canvas: n,
|
|
105
|
+
width: n.width,
|
|
106
|
+
height: n.height,
|
|
107
|
+
type: i && i.type || r || "image/png",
|
|
108
|
+
state: y(e),
|
|
109
|
+
getBlob: (c, t) => new Promise((u) => n.toBlob((s) => u(s), c || "image/png", t)),
|
|
110
|
+
download: (c) => {
|
|
111
|
+
const t = URL.createObjectURL(i), u = document.createElement("a");
|
|
112
|
+
return u.href = t, u.download = c || "picture-studio.png", u.click(), setTimeout(() => URL.revokeObjectURL(t), 1e3), a;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return a;
|
|
116
|
+
}
|
|
117
|
+
function O(e, n, i) {
|
|
118
|
+
return x(e).then(
|
|
119
|
+
(r) => new Promise((o) => {
|
|
120
|
+
r.toBlob(
|
|
121
|
+
(a) => o(k(e, r, a, n || "image/png")),
|
|
122
|
+
n || "image/png",
|
|
123
|
+
i
|
|
124
|
+
);
|
|
125
|
+
})
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
function M(e, n) {
|
|
129
|
+
if (!e.isSaving)
|
|
130
|
+
return e.isSaving = !0, e.notify(), O(e, "image/jpeg", 0.92).then((i) => {
|
|
131
|
+
l(e, "save", i);
|
|
132
|
+
const r = typeof e.config.onSave == "function" ? e.config.onSave(i, n) : void 0;
|
|
133
|
+
return Promise.resolve(r).finally(() => {
|
|
134
|
+
e.isSaving = !1, e.notify(), e.config.keepOpenOnSave || n.close();
|
|
135
|
+
});
|
|
136
|
+
}).catch(() => {
|
|
137
|
+
e.isSaving = !1, e.notify();
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
T as doLoadImage,
|
|
142
|
+
M as doSave,
|
|
143
|
+
F as loadState,
|
|
144
|
+
B as normalizeSource,
|
|
145
|
+
O as produce
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=index157.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index157.es.js","sources":["../src/components/organisms/image-editor/engine/save-export.js"],"sourcesContent":["import { rasterizeWithFilter, supportsContextFilter } from './canvas-filter.js'\nimport { render, syncCanvasSize, baseFilter, paintLayer } from './rendering.js'\nimport { emit, emitChange, getState, resetAdjValues } from './state.js'\nimport { loadStickerImage } from './stickers.js'\n\nfunction isHeic(file) {\n const type = (file.type || '').toLowerCase()\n if (type === 'image/heic' || type === 'image/heif') return true\n const name = file instanceof File ? file.name.toLowerCase() : ''\n return name.endsWith('.heic') || name.endsWith('.heif')\n}\n\nfunction toObjectURL(blob, cb) {\n cb(URL.createObjectURL(blob))\n}\n\nfunction convertHeicThenLoad(src, cb) {\n import('heic2any')\n .then(({ default: heic2any }) =>\n heic2any({ blob: src, toType: 'image/jpeg', quality: 0.8 })\n )\n .then((converted) =>\n toObjectURL(Array.isArray(converted) ? converted[0] : converted, cb)\n )\n .catch(() => toObjectURL(src, cb))\n}\n\nexport function normalizeSource(state, src, cb) {\n state.isLoadingImage = true\n state.notify()\n if (!src) {\n cb(null)\n return\n }\n if (src instanceof HTMLCanvasElement) {\n cb(src.toDataURL())\n return\n }\n if (\n typeof Blob !== 'undefined' &&\n (src instanceof Blob || src instanceof File)\n ) {\n if (isHeic(src)) {\n if (typeof createImageBitmap === 'function') {\n createImageBitmap(src)\n .then((bmp) => {\n bmp.close()\n toObjectURL(src, cb)\n })\n .catch(() => convertHeicThenLoad(src, cb))\n return\n }\n convertHeicThenLoad(src, cb)\n return\n }\n toObjectURL(src, cb)\n return\n }\n cb(src)\n}\n\nexport function doLoadImage(state, dataURL) {\n const revoke = () => {\n if (typeof dataURL === 'string' && dataURL.startsWith('blob:')) {\n URL.revokeObjectURL(dataURL)\n }\n }\n const im = new Image()\n im.crossOrigin = 'anonymous'\n im.onload = () => {\n let w = im.naturalWidth,\n h = im.naturalHeight\n const MAX = 2000\n if (Math.max(w, h) > MAX) {\n const s = MAX / Math.max(w, h)\n w = Math.round(w * s)\n h = Math.round(h * s)\n }\n state.sourceCanvas.width = w\n state.sourceCanvas.height = h\n state.sourceCanvas.getContext('2d').drawImage(im, 0, 0, w, h)\n state.originalCanvas = document.createElement('canvas')\n state.originalCanvas.width = w\n state.originalCanvas.height = h\n state.originalCanvas.getContext('2d').drawImage(state.sourceCanvas, 0, 0)\n revoke()\n state.layers = []\n state.selectedId = null\n state.undoStack = []\n state.redoStack = []\n state.zoom = 1\n resetAdjValues(state)\n if (state.mounted) syncCanvasSize(state)\n render(state)\n state.mode = 'select'\n state.isLoadingImage = false\n state.statusText = 'Image loaded'\n emit(state, 'load', { width: w, height: h })\n emitChange(state)\n }\n im.onerror = () => {\n revoke()\n state.isLoadingImage = false\n state.statusText = 'Could not load that image (CORS?)'\n // eslint-disable-next-line no-console\n console.warn(\n '[ImageEditor] Failed to load image (likely a CORS issue on the source URL). ' +\n 'Reset stays disabled since there is nothing to revert to.',\n typeof dataURL === 'string' ? dataURL.slice(0, 80) : dataURL\n )\n state.notify()\n }\n im.src = dataURL\n}\n\nexport function loadState(state, s) {\n if (!s || !s.image) return\n const im = new Image()\n im.onload = () => {\n state.sourceCanvas.width = s.width || im.naturalWidth\n state.sourceCanvas.height = s.height || im.naturalHeight\n state.sourceCanvas\n .getContext('2d')\n .drawImage(im, 0, 0, state.sourceCanvas.width, state.sourceCanvas.height)\n state.originalCanvas = document.createElement('canvas')\n state.originalCanvas.width = state.sourceCanvas.width\n state.originalCanvas.height = state.sourceCanvas.height\n state.originalCanvas\n .getContext('2d')\n .drawImage(im, 0, 0, state.sourceCanvas.width, state.sourceCanvas.height)\n state.layers = JSON.parse(JSON.stringify(s.layers || []))\n state.layers.forEach((L) => {\n if (L.id >= state.nextId) state.nextId = L.id + 1\n })\n Object.assign(state.adj, s.adjustments || {})\n state.selectedId = null\n state.undoStack = []\n state.redoStack = []\n state.zoom = 1\n if (state.mounted) syncCanvasSize(state)\n render(state)\n state.mode = 'select'\n state.statusText = 'State restored'\n emit(state, 'load', { restored: true })\n emitChange(state)\n const stickerSrcs = [\n ...new Set(\n state.layers.filter((L) => L.type === 'sticker').map((L) => L.src)\n ),\n ]\n if (stickerSrcs.length) {\n Promise.all(\n stickerSrcs.map((src) => loadStickerImage(state, src).catch(() => {}))\n ).then(() => render(state))\n }\n }\n im.src = s.image\n}\n\nasync function flatten(state) {\n const out = document.createElement('canvas')\n out.width = state.sourceCanvas.width\n out.height = state.sourceCanvas.height\n const o = out.getContext('2d')\n const filter = baseFilter(state)\n\n if (supportsContextFilter()) {\n o.filter = filter\n o.drawImage(state.sourceCanvas, 0, 0)\n o.filter = 'none'\n } else {\n try {\n const filtered = await rasterizeWithFilter(state.sourceCanvas, filter)\n o.drawImage(filtered, 0, 0)\n } catch {\n o.drawImage(state.sourceCanvas, 0, 0)\n }\n }\n\n state.layers.forEach((L) => {\n if (!L._editing) paintLayer(state, o, L)\n })\n return out\n}\n\nfunction buildResult(state, canvasEl, blob, type) {\n const dataURL = canvasEl.toDataURL(type || 'image/png')\n const result = {\n blob: blob,\n dataURL: dataURL,\n canvas: canvasEl,\n width: canvasEl.width,\n height: canvasEl.height,\n type: (blob && blob.type) || type || 'image/png',\n state: getState(state),\n getBlob: (t, q) =>\n new Promise((res) => canvasEl.toBlob((b) => res(b), t || 'image/png', q)),\n download: (filename) => {\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = filename || 'picture-studio.png'\n a.click()\n setTimeout(() => URL.revokeObjectURL(url), 1000)\n return result\n },\n }\n return result\n}\n\nexport function produce(state, type, quality) {\n return flatten(state).then(\n (canvasEl) =>\n new Promise((resolve) => {\n canvasEl.toBlob(\n (blob) =>\n resolve(buildResult(state, canvasEl, blob, type || 'image/png')),\n type || 'image/png',\n quality\n )\n })\n )\n}\n\nexport function doSave(state, self) {\n if (state.isSaving) return\n state.isSaving = true\n state.notify()\n return produce(state, 'image/jpeg', 0.92)\n .then((result) => {\n emit(state, 'save', result)\n const ret =\n typeof state.config.onSave === 'function'\n ? state.config.onSave(result, self)\n : undefined\n return Promise.resolve(ret).finally(() => {\n state.isSaving = false\n state.notify()\n if (!state.config.keepOpenOnSave) self.close()\n })\n })\n .catch(() => {\n state.isSaving = false\n state.notify()\n })\n}\n"],"names":["isHeic","file","type","name","toObjectURL","blob","cb","convertHeicThenLoad","src","heic2any","converted","normalizeSource","state","bmp","doLoadImage","dataURL","revoke","im","w","h","MAX","s","resetAdjValues","syncCanvasSize","render","emit","emitChange","loadState","L","stickerSrcs","loadStickerImage","flatten","out","o","filter","baseFilter","supportsContextFilter","filtered","rasterizeWithFilter","paintLayer","buildResult","canvasEl","result","getState","t","q","res","b","filename","url","a","produce","quality","resolve","doSave","self","ret"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"index159.es.js","sources":["../src/components/unstyled/otp-input/otp-input.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const OTPInputVariants = cva(\n `relative flex h-12 w-11 items-center justify-center border-y border-r border-input text-light-1 transition-all\n first:rounded-l-md first:border-l last:rounded-r-md`,\n {\n variants: {\n isError: {\n true: '',\n false: '',\n },\n isFocused: {\n true: '',\n false: '',\n },\n },\n defaultVariants: {\n isError: false,\n isFocused: false,\n },\n compoundVariants: [\n {\n isError: true,\n isFocused: true,\n className: 'border-danger-2 ring-4 ring-danger-1',\n },\n {\n isError: false,\n isFocused: true,\n className: 'border-primary-2 ring-4 ring-primary-1',\n },\n {\n isError: true,\n isFocused: false,\n className: 'border-danger-2',\n },\n {\n isError: false,\n isFocused: false,\n className: 'border-neutral-2',\n },\n ],\n }\n)\n"],"names":["OTPInputVariants","cva"],"mappings":";AAEO,MAAMA,IAAmBC;AAAA,EAC9B;AAAA;AAAA,EAEA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,IAEb,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as e from "react";
|
|
2
|
-
import { cn as u } from "./
|
|
3
|
-
import { Typography as n } from "./
|
|
2
|
+
import { cn as u } from "./index89.es.js";
|
|
3
|
+
import { Typography as n } from "./index19.es.js";
|
|
4
4
|
import "lucide-react";
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import { TextAreaVariants as m } from "./
|
|
5
|
+
import "./index60.es.js";
|
|
6
|
+
import "./index90.es.js";
|
|
7
|
+
import "./index29.es.js";
|
|
8
|
+
import "./index35.es.js";
|
|
9
|
+
import { TextAreaVariants as m } from "./index101.es.js";
|
|
10
10
|
const g = e.forwardRef(
|
|
11
11
|
({ className: o, inputLabel: i, showTextCount: l, maximumTextCount: a, id: d, ...t }, f) => {
|
|
12
12
|
const [r, s] = e.useState(!1), c = e.useRef(null);
|
|
@@ -46,4 +46,4 @@ g.displayName = "Textarea";
|
|
|
46
46
|
export {
|
|
47
47
|
g as Textarea
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=index16.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"index16.es.js","sources":["../src/components/atoms/textarea/textarea.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/lib/utils'\nimport { Typography } from '@/index'\nimport { TextAreaVariants } from './textarea.styles'\nimport type { TextareaProps } from './textarea.types'\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n { className, inputLabel, showTextCount, maximumTextCount, id, ...props },\n ref\n ) => {\n const [isFocused, setIsFocused] = React.useState(false)\n const inputRef = React.useRef<HTMLInputElement>(null)\n React.useEffect(() => {\n if (isFocused) {\n inputRef.current?.focus()\n }\n }, [isFocused])\n return (\n <div id={id}>\n {inputLabel && (\n <Typography variant={'body4'} className={`text-light-3`}>\n {inputLabel}\n </Typography>\n )}\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n TextAreaVariants({\n isFocused,\n disabled: props.disabled,\n className,\n })\n )}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n ref={ref}\n maxLength={maximumTextCount}\n {...props}\n />\n\n {showTextCount && (\n <Typography\n variant={'body4'}\n className={`text-light-4 mt-1.5 flex justify-end`}\n >\n {props.value?.toString().length}/{maximumTextCount}\n </Typography>\n )}\n </div>\n )\n }\n)\nTextarea.displayName = 'Textarea'\n\nexport { Textarea }\n"],"names":["Textarea","React","className","inputLabel","showTextCount","maximumTextCount","id","props","ref","isFocused","setIsFocused","inputRef","Typography","cn","TextAreaVariants"],"mappings":";;;;;;;;;AAOA,MAAMA,IAAWC,EAAM;AAAA,EACrB,CACE,EAAE,WAAAC,GAAW,YAAAC,GAAY,eAAAC,GAAe,kBAAAC,GAAkB,IAAAC,GAAI,GAAGC,EAAA,GACjEC,MACG;AACH,UAAM,CAACC,GAAWC,CAAY,IAAIT,EAAM,SAAS,EAAK,GAChDU,IAAWV,EAAM,OAAyB,IAAI;AACpD,WAAAA,EAAM,UAAU,MAAM;AACpB,MAAIQ,KACFE,EAAS,SAAS,MAAA;AAAA,IAEtB,GAAG,CAACF,CAAS,CAAC,GAEZ,gBAAAR,EAAA,cAAC,OAAA,EAAI,IAAAK,EAAA,GACFH,KACC,gBAAAF,EAAA,cAACW,GAAA,EAAW,SAAS,SAAS,WAAW,eAAA,GACtCT,CACH,GAEF,gBAAAF,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWY;AAAA,UACT;AAAA,UACAX;AAAA,UACAY,EAAiB;AAAA,YACf,WAAAL;AAAA,YACA,UAAUF,EAAM;AAAA,YAChB,WAAAL;AAAA,UAAA,CACD;AAAA,QAAA;AAAA,QAEH,SAAS,MAAMQ,EAAa,EAAI;AAAA,QAChC,QAAQ,MAAMA,EAAa,EAAK;AAAA,QAChC,KAAAF;AAAA,QACA,WAAWH;AAAA,QACV,GAAGE;AAAA,MAAA;AAAA,IAAA,GAGLH,KACC,gBAAAH,EAAA;AAAA,MAACW;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEVL,EAAM,OAAO,SAAA,EAAW;AAAA,MAAO;AAAA,MAAEF;AAAA,IAAA,CAGxC;AAAA,EAEJ;AACF;AACAL,EAAS,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index160.es.js","sources":["../src/lib/constants.ts"],"sourcesContent":["export const FONT_FAMILY = 'Plus Jakarta Sans'\n"],"names":["FONT_FAMILY"],"mappings":"AAAO,MAAMA,IAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"index161.es.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-style.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const trendBoxStyles = cva(\n 'w-auto min-w-[50px] h-5 flex items-center justify-center gap-2 px-1 py-0.5 rounded-[4px]',\n {\n variants: {\n trend: {\n '1': 'bg-success-1 border border-success-1',\n '-1': 'bg-danger-1 border border-danger-1',\n '0': '',\n null: '',\n },\n },\n }\n)\n\nexport const trendValueStyles = cva('text-sm', {\n variants: {\n trend: {\n '1': 'text-success-1',\n '-1': 'text-danger-1',\n '0': '',\n null: '',\n },\n },\n})\n"],"names":["trendBoxStyles","cva","trendValueStyles"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAK;AAAA,QACL,MAAM;AAAA,QACN,GAAK;AAAA,QACL,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ,GAEaC,IAAmBD,EAAI,WAAW;AAAA,EAC7C,UAAU;AAAA,IACR,OAAO;AAAA,MACL,GAAK;AAAA,MACL,MAAM;AAAA,MACN,GAAK;AAAA,MACL,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
let s = null;
|
|
2
|
+
function d() {
|
|
3
|
+
if (s !== null) return s;
|
|
4
|
+
if (typeof document > "u") return !1;
|
|
5
|
+
const t = document.createElement("canvas").getContext("2d");
|
|
6
|
+
return s = !!t && "filter" in t, s;
|
|
7
|
+
}
|
|
8
|
+
function p(t) {
|
|
9
|
+
return String(t).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
10
|
+
}
|
|
11
|
+
function h(t) {
|
|
12
|
+
const e = parseFloat(t);
|
|
13
|
+
return Number.isNaN(e) ? null : t.trim().endsWith("%") ? e / 100 : e;
|
|
14
|
+
}
|
|
15
|
+
function u(t, e) {
|
|
16
|
+
return `<feComponentTransfer>${["R", "G", "B"].map(
|
|
17
|
+
(n) => `<feFunc${n} type="linear" slope="${t}" intercept="${e}"/>`
|
|
18
|
+
).join("")}</feComponentTransfer>`;
|
|
19
|
+
}
|
|
20
|
+
function m(t) {
|
|
21
|
+
const e = 1 - t;
|
|
22
|
+
return `<feColorMatrix type="matrix" values="${[
|
|
23
|
+
0.393 + 0.607 * e,
|
|
24
|
+
0.769 - 0.769 * e,
|
|
25
|
+
0.189 - 0.189 * e,
|
|
26
|
+
0,
|
|
27
|
+
0,
|
|
28
|
+
0.349 - 0.349 * e,
|
|
29
|
+
0.686 + 0.314 * e,
|
|
30
|
+
0.168 - 0.168 * e,
|
|
31
|
+
0,
|
|
32
|
+
0,
|
|
33
|
+
0.272 - 0.272 * e,
|
|
34
|
+
0.534 - 0.534 * e,
|
|
35
|
+
0.131 + 0.869 * e,
|
|
36
|
+
0,
|
|
37
|
+
0,
|
|
38
|
+
0,
|
|
39
|
+
0,
|
|
40
|
+
0,
|
|
41
|
+
1,
|
|
42
|
+
0
|
|
43
|
+
].join(" ")}"/>`;
|
|
44
|
+
}
|
|
45
|
+
function g(t) {
|
|
46
|
+
const e = [], i = /([a-zA-Z-]+)\(([^)]*)\)/g;
|
|
47
|
+
let n;
|
|
48
|
+
for (; (n = i.exec(t)) !== null; ) {
|
|
49
|
+
const a = n[1].toLowerCase(), r = h(n[2]);
|
|
50
|
+
if (r !== null)
|
|
51
|
+
switch (a) {
|
|
52
|
+
case "brightness":
|
|
53
|
+
e.push(u(r, 0));
|
|
54
|
+
break;
|
|
55
|
+
case "contrast":
|
|
56
|
+
e.push(u(r, -0.5 * r + 0.5));
|
|
57
|
+
break;
|
|
58
|
+
case "saturate":
|
|
59
|
+
e.push(`<feColorMatrix type="saturate" values="${r}"/>`);
|
|
60
|
+
break;
|
|
61
|
+
case "grayscale":
|
|
62
|
+
e.push(
|
|
63
|
+
`<feColorMatrix type="saturate" values="${1 - r}"/>`
|
|
64
|
+
);
|
|
65
|
+
break;
|
|
66
|
+
case "sepia":
|
|
67
|
+
e.push(m(r));
|
|
68
|
+
break;
|
|
69
|
+
case "hue-rotate":
|
|
70
|
+
e.push(`<feColorMatrix type="hueRotate" values="${r}"/>`);
|
|
71
|
+
break;
|
|
72
|
+
case "blur":
|
|
73
|
+
r > 0 && e.push(`<feGaussianBlur stdDeviation="${r}"/>`);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return e;
|
|
78
|
+
}
|
|
79
|
+
function v(t, e) {
|
|
80
|
+
return new Promise((i, n) => {
|
|
81
|
+
const a = g(e);
|
|
82
|
+
if (!a.length) {
|
|
83
|
+
n(new Error("no translatable filter primitives"));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const { width: r, height: l } = t, c = t.toDataURL("image/png"), f = `<svg xmlns="http://www.w3.org/2000/svg" width="${r}" height="${l}"><filter id="f" color-interpolation-filters="sRGB" x="0" y="0" width="100%" height="100%">${a.join("")}</filter><image href="${p(c)}" width="${r}" height="${l}" filter="url(#f)"/></svg>`, o = new Image();
|
|
87
|
+
o.onload = () => i(o), o.onerror = () => n(new Error("filter rasterisation failed")), o.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(f);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
v as rasterizeWithFilter,
|
|
92
|
+
d as supportsContextFilter
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=index162.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index162.es.js","sources":["../src/components/organisms/image-editor/engine/canvas-filter.js"],"sourcesContent":["let contextFilterSupport = null\n\nexport function supportsContextFilter() {\n if (contextFilterSupport !== null) return contextFilterSupport\n if (typeof document === 'undefined') return false\n const ctx = document.createElement('canvas').getContext('2d')\n contextFilterSupport = !!ctx && 'filter' in ctx\n return contextFilterSupport\n}\n\nfunction escapeXml(value) {\n return String(value)\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n}\n\nfunction toAmount(raw) {\n const value = parseFloat(raw)\n if (Number.isNaN(value)) return null\n return raw.trim().endsWith('%') ? value / 100 : value\n}\n\nfunction componentTransfer(slope, intercept) {\n const fn = ['R', 'G', 'B']\n .map(\n (c) =>\n `<feFunc${c} type=\"linear\" slope=\"${slope}\" intercept=\"${intercept}\"/>`\n )\n .join('')\n return `<feComponentTransfer>${fn}</feComponentTransfer>`\n}\n\nfunction sepiaMatrix(amount) {\n const r = 1 - amount\n const m = [\n 0.393 + 0.607 * r,\n 0.769 - 0.769 * r,\n 0.189 - 0.189 * r,\n 0,\n 0,\n 0.349 - 0.349 * r,\n 0.686 + 0.314 * r,\n 0.168 - 0.168 * r,\n 0,\n 0,\n 0.272 - 0.272 * r,\n 0.534 - 0.534 * r,\n 0.131 + 0.869 * r,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n ]\n return `<feColorMatrix type=\"matrix\" values=\"${m.join(' ')}\"/>`\n}\n\nfunction toSvgPrimitives(filter) {\n const primitives = []\n const re = /([a-zA-Z-]+)\\(([^)]*)\\)/g\n let match\n\n while ((match = re.exec(filter)) !== null) {\n const name = match[1].toLowerCase()\n const amount = toAmount(match[2])\n if (amount === null) continue\n\n switch (name) {\n case 'brightness':\n primitives.push(componentTransfer(amount, 0))\n break\n case 'contrast':\n primitives.push(componentTransfer(amount, -0.5 * amount + 0.5))\n break\n case 'saturate':\n primitives.push(`<feColorMatrix type=\"saturate\" values=\"${amount}\"/>`)\n break\n case 'grayscale':\n primitives.push(\n `<feColorMatrix type=\"saturate\" values=\"${1 - amount}\"/>`\n )\n break\n case 'sepia':\n primitives.push(sepiaMatrix(amount))\n break\n case 'hue-rotate':\n primitives.push(`<feColorMatrix type=\"hueRotate\" values=\"${amount}\"/>`)\n break\n case 'blur':\n if (amount > 0) {\n primitives.push(`<feGaussianBlur stdDeviation=\"${amount}\"/>`)\n }\n break\n default:\n break\n }\n }\n\n return primitives\n}\n\nexport function rasterizeWithFilter(sourceCanvas, filter) {\n return new Promise((resolve, reject) => {\n const primitives = toSvgPrimitives(filter)\n if (!primitives.length) {\n reject(new Error('no translatable filter primitives'))\n return\n }\n\n const { width, height } = sourceCanvas\n const href = sourceCanvas.toDataURL('image/png')\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${width}\" height=\"${height}\">` +\n `<filter id=\"f\" color-interpolation-filters=\"sRGB\" ` +\n `x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">${primitives.join('')}</filter>` +\n `<image href=\"${escapeXml(href)}\" width=\"${width}\" height=\"${height}\" ` +\n `filter=\"url(#f)\"/>` +\n `</svg>`\n\n const img = new Image()\n img.onload = () => resolve(img)\n img.onerror = () => reject(new Error('filter rasterisation failed'))\n img.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg)\n })\n}\n"],"names":["contextFilterSupport","supportsContextFilter","ctx","escapeXml","value","toAmount","raw","componentTransfer","slope","intercept","c","sepiaMatrix","amount","r","toSvgPrimitives","filter","primitives","re","match","name","rasterizeWithFilter","sourceCanvas","resolve","reject","width","height","href","svg","img"],"mappings":"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"}
|