From a0fea536be2946f6bb0af43c1cea43fdec8dbd5d Mon Sep 17 00:00:00 2001 From: lja1018 Date: Thu, 4 Feb 2021 17:42:13 +0900 Subject: [PATCH 1/4] chore: make apps directory, move files to apps --- .editorconfig | 4 ++-- .babelrc => apps/image-editor/.babelrc | 0 .eslintignore => apps/image-editor/.eslintignore | 0 .eslintrc.js => apps/image-editor/.eslintrc.js | 0 apps/image-editor/README.md | 1 + .../image-editor/examples}/css/service-basic.css | 0 .../image-editor/examples}/css/service-mobile.css | 0 .../examples}/css/tui-example-style.css | 0 .../image-editor/examples}/example01-includeUi.html | 4 ++-- .../examples}/example02-useApiDirect.html | 2 +- .../image-editor/examples}/example03-mobile.html | 2 +- .../image-editor/examples}/examples.json | 0 .../examples}/img/TOAST UI Component.png | Bin {examples => apps/image-editor/examples}/img/bg.jpg | Bin {examples => apps/image-editor/examples}/img/bg.png | Bin .../image-editor/examples}/img/download.png | Bin .../image-editor/examples}/img/mask.png | Bin .../image-editor/examples}/img/openImage.png | Bin .../image-editor/examples}/img/redo.png | Bin .../image-editor/examples}/img/remove.png | Bin .../image-editor/examples}/img/sampleImage.jpg | Bin .../image-editor/examples}/img/sampleImage2.png | Bin .../image-editor/examples}/img/undo.png | Bin .../image-editor/examples}/js/service-basic.js | 0 .../image-editor/examples}/js/service-mobile.js | 0 .../image-editor/examples}/js/theme/black-theme.js | 0 .../image-editor/examples}/js/theme/white-theme.js | 0 index.d.ts => apps/image-editor/index.d.ts | 0 .../image-editor/jsdoc.conf.json | 0 karma.conf.js => apps/image-editor/karma.conf.js | 0 makesvg.js => apps/image-editor/makesvg.js | 0 .../image-editor/package-lock.json | 0 package.json => apps/image-editor/package.json | 2 +- {src => apps/image-editor/src}/css/buttons.styl | 0 {src => apps/image-editor/src}/css/checkbox.styl | 0 {src => apps/image-editor/src}/css/colorpicker.styl | 0 {src => apps/image-editor/src}/css/gridtable.styl | 0 {src => apps/image-editor/src}/css/icon.styl | 0 {src => apps/image-editor/src}/css/index.styl | 0 {src => apps/image-editor/src}/css/main.styl | 0 {src => apps/image-editor/src}/css/position.styl | 0 {src => apps/image-editor/src}/css/range.styl | 0 {src => apps/image-editor/src}/css/submenu.styl | 0 {src => apps/image-editor/src}/index.js | 0 {src => apps/image-editor/src}/js/action.js | 0 .../image-editor/src}/js/command/addIcon.js | 0 .../image-editor/src}/js/command/addImageObject.js | 0 .../image-editor/src}/js/command/addObject.js | 0 .../image-editor/src}/js/command/addShape.js | 0 .../image-editor/src}/js/command/addText.js | 0 .../image-editor/src}/js/command/applyFilter.js | 0 .../image-editor/src}/js/command/changeIconColor.js | 0 .../image-editor/src}/js/command/changeSelection.js | 0 .../image-editor/src}/js/command/changeShape.js | 0 .../image-editor/src}/js/command/changeText.js | 0 .../image-editor/src}/js/command/changeTextStyle.js | 0 .../image-editor/src}/js/command/clearObjects.js | 0 {src => apps/image-editor/src}/js/command/flip.js | 0 .../image-editor/src}/js/command/loadImage.js | 0 .../image-editor/src}/js/command/removeFilter.js | 0 .../image-editor/src}/js/command/removeObject.js | 0 .../src}/js/command/resizeCanvasDimension.js | 0 {src => apps/image-editor/src}/js/command/rotate.js | 0 .../src}/js/command/setObjectPosition.js | 0 .../src}/js/command/setObjectProperties.js | 0 .../image-editor/src}/js/component/cropper.js | 0 .../image-editor/src}/js/component/filter.js | 0 {src => apps/image-editor/src}/js/component/flip.js | 0 .../image-editor/src}/js/component/freeDrawing.js | 0 {src => apps/image-editor/src}/js/component/icon.js | 0 .../image-editor/src}/js/component/imageLoader.js | 0 {src => apps/image-editor/src}/js/component/line.js | 0 .../image-editor/src}/js/component/rotation.js | 0 .../image-editor/src}/js/component/shape.js | 0 {src => apps/image-editor/src}/js/component/text.js | 0 {src => apps/image-editor/src}/js/consts.js | 0 .../image-editor/src}/js/drawingMode/cropper.js | 0 .../image-editor/src}/js/drawingMode/freeDrawing.js | 0 .../image-editor/src}/js/drawingMode/icon.js | 0 .../image-editor/src}/js/drawingMode/lineDrawing.js | 0 .../image-editor/src}/js/drawingMode/shape.js | 0 .../image-editor/src}/js/drawingMode/text.js | 0 .../image-editor/src}/js/extension/arrowLine.js | 0 {src => apps/image-editor/src}/js/extension/blur.js | 0 .../image-editor/src}/js/extension/colorFilter.js | 0 .../image-editor/src}/js/extension/cropzone.js | 0 .../image-editor/src}/js/extension/emboss.js | 0 {src => apps/image-editor/src}/js/extension/mask.js | 0 .../image-editor/src}/js/extension/sharpen.js | 0 .../image-editor/src}/js/factory/command.js | 0 .../image-editor/src}/js/factory/errorMessage.js | 0 {src => apps/image-editor/src}/js/graphics.js | 0 .../image-editor/src}/js/helper/imagetracer.js | 0 .../src}/js/helper/selectionModifyHelper.js | 0 .../src}/js/helper/shapeFilterFillHelper.js | 2 +- .../src}/js/helper/shapeResizeHelper.js | 0 {src => apps/image-editor/src}/js/imageEditor.js | 0 .../image-editor/src}/js/interface/command.js | 0 .../image-editor/src}/js/interface/component.js | 0 .../image-editor/src}/js/interface/drawingMode.js | 0 {src => apps/image-editor/src}/js/invoker.js | 0 {src => apps/image-editor/src}/js/polyfill.js | 0 {src => apps/image-editor/src}/js/ui.js | 0 {src => apps/image-editor/src}/js/ui/crop.js | 0 {src => apps/image-editor/src}/js/ui/draw.js | 0 {src => apps/image-editor/src}/js/ui/filter.js | 0 {src => apps/image-editor/src}/js/ui/flip.js | 0 {src => apps/image-editor/src}/js/ui/icon.js | 0 .../image-editor/src}/js/ui/locale/locale.js | 0 {src => apps/image-editor/src}/js/ui/mask.js | 0 {src => apps/image-editor/src}/js/ui/rotate.js | 0 {src => apps/image-editor/src}/js/ui/shape.js | 0 {src => apps/image-editor/src}/js/ui/submenuBase.js | 0 .../image-editor/src}/js/ui/template/controls.js | 0 .../src}/js/ui/template/mainContainer.js | 0 .../image-editor/src}/js/ui/template/style.js | 0 .../src}/js/ui/template/submenu/crop.js | 0 .../src}/js/ui/template/submenu/draw.js | 0 .../src}/js/ui/template/submenu/filter.js | 0 .../src}/js/ui/template/submenu/flip.js | 0 .../src}/js/ui/template/submenu/icon.js | 0 .../src}/js/ui/template/submenu/mask.js | 0 .../src}/js/ui/template/submenu/rotate.js | 0 .../src}/js/ui/template/submenu/shape.js | 0 .../src}/js/ui/template/submenu/text.js | 0 {src => apps/image-editor/src}/js/ui/text.js | 0 .../image-editor/src}/js/ui/theme/standard.js | 0 {src => apps/image-editor/src}/js/ui/theme/theme.js | 0 .../image-editor/src}/js/ui/tools/colorpicker.js | 0 {src => apps/image-editor/src}/js/ui/tools/range.js | 0 {src => apps/image-editor/src}/js/util.js | 0 {src => apps/image-editor/src}/svg/default.svg | 0 .../image-editor/src}/svg/icon-a/ic-apply.svg | 0 .../image-editor/src}/svg/icon-a/ic-cancel.svg | 0 .../src}/svg/icon-a/ic-color-transparent-w.svg | 0 .../image-editor/src}/svg/icon-a/ic-crop.svg | 0 .../image-editor/src}/svg/icon-a/ic-delete-all.svg | 0 .../image-editor/src}/svg/icon-a/ic-delete.svg | 0 .../image-editor/src}/svg/icon-a/ic-draw-free.svg | 0 .../image-editor/src}/svg/icon-a/ic-draw-line.svg | 0 .../image-editor/src}/svg/icon-a/ic-draw.svg | 0 .../image-editor/src}/svg/icon-a/ic-filter.svg | 0 .../image-editor/src}/svg/icon-a/ic-flip-reset.svg | 0 .../image-editor/src}/svg/icon-a/ic-flip-x.svg | 0 .../image-editor/src}/svg/icon-a/ic-flip-y.svg | 0 .../image-editor/src}/svg/icon-a/ic-flip.svg | 0 .../src}/svg/icon-a/ic-icon-arrow-2.svg | 0 .../src}/svg/icon-a/ic-icon-arrow-3.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-arrow.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-bubble.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-heart.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-load.svg | 0 .../src}/svg/icon-a/ic-icon-location.svg | 0 .../src}/svg/icon-a/ic-icon-polygon.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-star-2.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon-star.svg | 0 .../image-editor/src}/svg/icon-a/ic-icon.svg | 0 .../image-editor/src}/svg/icon-a/ic-mask-load.svg | 0 .../image-editor/src}/svg/icon-a/ic-mask.svg | 0 .../image-editor/src}/svg/icon-a/ic-redo.svg | 0 .../image-editor/src}/svg/icon-a/ic-reset.svg | 0 .../src}/svg/icon-a/ic-rotate-clockwise.svg | 0 .../src}/svg/icon-a/ic-rotate-counterclockwise.svg | 0 .../image-editor/src}/svg/icon-a/ic-rotate.svg | 0 .../src}/svg/icon-a/ic-shape-circle.svg | 0 .../src}/svg/icon-a/ic-shape-rectangle.svg | 0 .../src}/svg/icon-a/ic-shape-triangle.svg | 0 .../image-editor/src}/svg/icon-a/ic-shape.svg | 0 .../src}/svg/icon-a/ic-text-align-center.svg | 0 .../src}/svg/icon-a/ic-text-align-left.svg | 0 .../src}/svg/icon-a/ic-text-align-right.svg | 0 .../image-editor/src}/svg/icon-a/ic-text-bold.svg | 0 .../image-editor/src}/svg/icon-a/ic-text-italic.svg | 0 .../src}/svg/icon-a/ic-text-underline.svg | 0 .../image-editor/src}/svg/icon-a/ic-text.svg | 0 .../image-editor/src}/svg/icon-a/ic-undo.svg | 0 .../image-editor/src}/svg/icon-a/img-bi.svg | 0 .../image-editor/src}/svg/icon-b/ic-apply.svg | 0 .../image-editor/src}/svg/icon-b/ic-cancel.svg | 0 .../image-editor/src}/svg/icon-b/ic-crop.svg | 0 .../image-editor/src}/svg/icon-b/ic-delete-all.svg | 0 .../image-editor/src}/svg/icon-b/ic-delete.svg | 0 .../image-editor/src}/svg/icon-b/ic-draw-free.svg | 0 .../image-editor/src}/svg/icon-b/ic-draw-line.svg | 0 .../image-editor/src}/svg/icon-b/ic-draw.svg | 0 .../image-editor/src}/svg/icon-b/ic-filter.svg | 0 .../image-editor/src}/svg/icon-b/ic-flip-reset.svg | 0 .../image-editor/src}/svg/icon-b/ic-flip-x.svg | 0 .../image-editor/src}/svg/icon-b/ic-flip-y.svg | 0 .../image-editor/src}/svg/icon-b/ic-flip.svg | 0 .../src}/svg/icon-b/ic-icon-arrow-2.svg | 0 .../src}/svg/icon-b/ic-icon-arrow-3.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-arrow.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-bubble.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-heart.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-load.svg | 0 .../src}/svg/icon-b/ic-icon-location.svg | 0 .../src}/svg/icon-b/ic-icon-polygon.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-star-2.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon-star.svg | 0 .../image-editor/src}/svg/icon-b/ic-icon.svg | 0 .../image-editor/src}/svg/icon-b/ic-mask-load.svg | 0 .../image-editor/src}/svg/icon-b/ic-mask.svg | 0 .../image-editor/src}/svg/icon-b/ic-redo.svg | 0 .../image-editor/src}/svg/icon-b/ic-reset.svg | 0 .../src}/svg/icon-b/ic-rotate-clockwise.svg | 0 .../src}/svg/icon-b/ic-rotate-counterclockwise.svg | 0 .../image-editor/src}/svg/icon-b/ic-rotate.svg | 0 .../src}/svg/icon-b/ic-shape-circle.svg | 0 .../src}/svg/icon-b/ic-shape-rectangle.svg | 0 .../src}/svg/icon-b/ic-shape-triangle.svg | 0 .../image-editor/src}/svg/icon-b/ic-shape.svg | 0 .../src}/svg/icon-b/ic-text-align-center.svg | 0 .../src}/svg/icon-b/ic-text-align-left.svg | 0 .../src}/svg/icon-b/ic-text-align-right.svg | 0 .../image-editor/src}/svg/icon-b/ic-text-bold.svg | 0 .../image-editor/src}/svg/icon-b/ic-text-italic.svg | 0 .../src}/svg/icon-b/ic-text-underline.svg | 0 .../image-editor/src}/svg/icon-b/ic-text.svg | 0 .../image-editor/src}/svg/icon-b/ic-undo.svg | 0 .../image-editor/src}/svg/icon-b/img-bi.svg | 0 .../image-editor/src}/svg/icon-c/ic-apply.svg | 0 .../image-editor/src}/svg/icon-c/ic-cancel.svg | 0 .../image-editor/src}/svg/icon-c/ic-crop.svg | 0 .../image-editor/src}/svg/icon-c/ic-delete-all.svg | 0 .../image-editor/src}/svg/icon-c/ic-delete.svg | 0 .../image-editor/src}/svg/icon-c/ic-draw-free.svg | 0 .../image-editor/src}/svg/icon-c/ic-draw-line.svg | 0 .../image-editor/src}/svg/icon-c/ic-draw.svg | 0 .../image-editor/src}/svg/icon-c/ic-filter.svg | 0 .../image-editor/src}/svg/icon-c/ic-flip-reset.svg | 0 .../image-editor/src}/svg/icon-c/ic-flip-x.svg | 0 .../image-editor/src}/svg/icon-c/ic-flip-y.svg | 0 .../image-editor/src}/svg/icon-c/ic-flip.svg | 0 .../src}/svg/icon-c/ic-icon-arrow-2.svg | 0 .../src}/svg/icon-c/ic-icon-arrow-3.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-arrow.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-bubble.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-heart.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-load.svg | 0 .../src}/svg/icon-c/ic-icon-location.svg | 0 .../src}/svg/icon-c/ic-icon-polygon.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-star-2.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon-star.svg | 0 .../image-editor/src}/svg/icon-c/ic-icon.svg | 0 .../image-editor/src}/svg/icon-c/ic-mask-load.svg | 0 .../image-editor/src}/svg/icon-c/ic-mask.svg | 0 .../image-editor/src}/svg/icon-c/ic-redo.svg | 0 .../image-editor/src}/svg/icon-c/ic-reset.svg | 0 .../src}/svg/icon-c/ic-rotate-clockwise.svg | 0 .../src}/svg/icon-c/ic-rotate-counterclockwise.svg | 0 .../image-editor/src}/svg/icon-c/ic-rotate.svg | 0 .../src}/svg/icon-c/ic-shape-circle.svg | 0 .../src}/svg/icon-c/ic-shape-rectangle.svg | 0 .../src}/svg/icon-c/ic-shape-triangle.svg | 0 .../image-editor/src}/svg/icon-c/ic-shape.svg | 0 .../src}/svg/icon-c/ic-text-align-center.svg | 0 .../src}/svg/icon-c/ic-text-align-left.svg | 0 .../src}/svg/icon-c/ic-text-align-right.svg | 0 .../image-editor/src}/svg/icon-c/ic-text-bold.svg | 0 .../image-editor/src}/svg/icon-c/ic-text-italic.svg | 0 .../src}/svg/icon-c/ic-text-underline.svg | 0 .../image-editor/src}/svg/icon-c/ic-text.svg | 0 .../image-editor/src}/svg/icon-c/ic-undo.svg | 0 .../image-editor/src}/svg/icon-c/img-bi.svg | 0 .../image-editor/src}/svg/icon-d/ic-apply.svg | 0 .../image-editor/src}/svg/icon-d/ic-cancel.svg | 0 .../image-editor/src}/svg/icon-d/ic-crop.svg | 0 .../image-editor/src}/svg/icon-d/ic-delete-all.svg | 0 .../image-editor/src}/svg/icon-d/ic-delete.svg | 0 .../image-editor/src}/svg/icon-d/ic-draw-free.svg | 0 .../image-editor/src}/svg/icon-d/ic-draw-line.svg | 0 .../image-editor/src}/svg/icon-d/ic-draw.svg | 0 .../image-editor/src}/svg/icon-d/ic-filter.svg | 0 .../image-editor/src}/svg/icon-d/ic-flip-reset.svg | 0 .../image-editor/src}/svg/icon-d/ic-flip-x.svg | 0 .../image-editor/src}/svg/icon-d/ic-flip-y.svg | 0 .../image-editor/src}/svg/icon-d/ic-flip.svg | 0 .../src}/svg/icon-d/ic-icon-arrow-2.svg | 0 .../src}/svg/icon-d/ic-icon-arrow-3.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-arrow.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-bubble.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-heart.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-load.svg | 0 .../src}/svg/icon-d/ic-icon-location.svg | 0 .../src}/svg/icon-d/ic-icon-polygon.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-star-2.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon-star.svg | 0 .../image-editor/src}/svg/icon-d/ic-icon.svg | 0 .../image-editor/src}/svg/icon-d/ic-mask-load.svg | 0 .../image-editor/src}/svg/icon-d/ic-mask.svg | 0 .../image-editor/src}/svg/icon-d/ic-redo.svg | 0 .../image-editor/src}/svg/icon-d/ic-reset.svg | 0 .../src}/svg/icon-d/ic-rotate-clockwise.svg | 0 .../src}/svg/icon-d/ic-rotate-counterclockwise.svg | 0 .../image-editor/src}/svg/icon-d/ic-rotate.svg | 0 .../src}/svg/icon-d/ic-shape-circle.svg | 0 .../src}/svg/icon-d/ic-shape-rectangle.svg | 0 .../src}/svg/icon-d/ic-shape-triangle.svg | 0 .../image-editor/src}/svg/icon-d/ic-shape.svg | 0 .../src}/svg/icon-d/ic-text-align-center.svg | 0 .../src}/svg/icon-d/ic-text-align-left.svg | 0 .../src}/svg/icon-d/ic-text-align-right.svg | 0 .../image-editor/src}/svg/icon-d/ic-text-bold.svg | 0 .../image-editor/src}/svg/icon-d/ic-text-italic.svg | 0 .../src}/svg/icon-d/ic-text-underline.svg | 0 .../image-editor/src}/svg/icon-d/ic-text.svg | 0 .../image-editor/src}/svg/icon-d/ic-undo.svg | 0 .../image-editor/src}/svg/icon-d/img-bi.svg | 0 {test => apps/image-editor/tests}/.eslintrc.js | 0 {test => apps/image-editor/tests}/action.spec.js | 0 {test => apps/image-editor/tests}/arrowLine.spec.js | 0 {test => apps/image-editor/tests}/command.spec.js | 0 {test => apps/image-editor/tests}/cropper.spec.js | 0 {test => apps/image-editor/tests}/cropzone.spec.js | 0 .../image-editor/tests}/drawingMode.spec.js | 0 {test => apps/image-editor/tests}/filter.spec.js | 0 .../tests}/fixtures/TOAST UI Component.png | Bin .../image-editor/tests}/fixtures/icon-a.svg | 0 .../image-editor/tests}/fixtures/icon-b.svg | 0 .../image-editor/tests}/fixtures/icon-c.svg | 0 .../image-editor/tests}/fixtures/icon-d.svg | 0 {test => apps/image-editor/tests}/fixtures/mask.png | Bin .../image-editor/tests}/fixtures/sampleImage.jpg | Bin {test => apps/image-editor/tests}/flip.spec.js | 0 {test => apps/image-editor/tests}/graphics.spec.js | 0 {test => apps/image-editor/tests}/icon.spec.js | 0 .../image-editor/tests}/imageEditor.spec.js | 0 {test => apps/image-editor/tests}/index.js | 2 +- {test => apps/image-editor/tests}/invoker.spec.js | 0 {test => apps/image-editor/tests}/line.spec.js | 0 .../image-editor/tests}/promiseApi.spec.js | 0 {test => apps/image-editor/tests}/rotation.spec.js | 0 .../tests}/selectionModifyHelper.spec.js | 0 {test => apps/image-editor/tests}/shape.spec.js | 0 {test => apps/image-editor/tests}/text.spec.js | 0 {test => apps/image-editor/tests}/theme.spec.js | 0 .../image-editor/tests}/types/tsconfig.json | 3 ++- .../image-editor/tests}/types/type-tests.ts | 0 {test => apps/image-editor/tests}/ui.spec.js | 0 {test => apps/image-editor/tests}/uiRange.spec.js | 0 .../image-editor/tsBannerGenerator.js | 0 tslint.json => apps/image-editor/tslint.json | 0 .../image-editor/tuidoc.config.json | 0 .../image-editor/webpack.config.js | 0 345 files changed, 12 insertions(+), 10 deletions(-) rename .babelrc => apps/image-editor/.babelrc (100%) rename .eslintignore => apps/image-editor/.eslintignore (100%) rename .eslintrc.js => apps/image-editor/.eslintrc.js (100%) create mode 100644 apps/image-editor/README.md rename {examples => apps/image-editor/examples}/css/service-basic.css (100%) rename {examples => apps/image-editor/examples}/css/service-mobile.css (100%) rename {examples => apps/image-editor/examples}/css/tui-example-style.css (100%) rename {examples => apps/image-editor/examples}/example01-includeUi.html (92%) rename {examples => apps/image-editor/examples}/example02-useApiDirect.html (99%) rename {examples => apps/image-editor/examples}/example03-mobile.html (98%) rename {examples => apps/image-editor/examples}/examples.json (100%) rename {examples => apps/image-editor/examples}/img/TOAST UI Component.png (100%) rename {examples => apps/image-editor/examples}/img/bg.jpg (100%) rename {examples => apps/image-editor/examples}/img/bg.png (100%) rename {examples => apps/image-editor/examples}/img/download.png (100%) rename {examples => apps/image-editor/examples}/img/mask.png (100%) rename {examples => apps/image-editor/examples}/img/openImage.png (100%) rename {examples => apps/image-editor/examples}/img/redo.png (100%) rename {examples => apps/image-editor/examples}/img/remove.png (100%) rename {examples => apps/image-editor/examples}/img/sampleImage.jpg (100%) rename {examples => apps/image-editor/examples}/img/sampleImage2.png (100%) rename {examples => apps/image-editor/examples}/img/undo.png (100%) rename {examples => apps/image-editor/examples}/js/service-basic.js (100%) rename {examples => apps/image-editor/examples}/js/service-mobile.js (100%) rename {examples => apps/image-editor/examples}/js/theme/black-theme.js (100%) rename {examples => apps/image-editor/examples}/js/theme/white-theme.js (100%) rename index.d.ts => apps/image-editor/index.d.ts (100%) rename jsdoc.conf.json => apps/image-editor/jsdoc.conf.json (100%) rename karma.conf.js => apps/image-editor/karma.conf.js (100%) rename makesvg.js => apps/image-editor/makesvg.js (100%) rename package-lock.json => apps/image-editor/package-lock.json (100%) rename package.json => apps/image-editor/package.json (98%) rename {src => apps/image-editor/src}/css/buttons.styl (100%) rename {src => apps/image-editor/src}/css/checkbox.styl (100%) rename {src => apps/image-editor/src}/css/colorpicker.styl (100%) rename {src => apps/image-editor/src}/css/gridtable.styl (100%) rename {src => apps/image-editor/src}/css/icon.styl (100%) rename {src => apps/image-editor/src}/css/index.styl (100%) rename {src => apps/image-editor/src}/css/main.styl (100%) rename {src => apps/image-editor/src}/css/position.styl (100%) rename {src => apps/image-editor/src}/css/range.styl (100%) rename {src => apps/image-editor/src}/css/submenu.styl (100%) rename {src => apps/image-editor/src}/index.js (100%) rename {src => apps/image-editor/src}/js/action.js (100%) rename {src => apps/image-editor/src}/js/command/addIcon.js (100%) rename {src => apps/image-editor/src}/js/command/addImageObject.js (100%) rename {src => apps/image-editor/src}/js/command/addObject.js (100%) rename {src => apps/image-editor/src}/js/command/addShape.js (100%) rename {src => apps/image-editor/src}/js/command/addText.js (100%) rename {src => apps/image-editor/src}/js/command/applyFilter.js (100%) rename {src => apps/image-editor/src}/js/command/changeIconColor.js (100%) rename {src => apps/image-editor/src}/js/command/changeSelection.js (100%) rename {src => apps/image-editor/src}/js/command/changeShape.js (100%) rename {src => apps/image-editor/src}/js/command/changeText.js (100%) rename {src => apps/image-editor/src}/js/command/changeTextStyle.js (100%) rename {src => apps/image-editor/src}/js/command/clearObjects.js (100%) rename {src => apps/image-editor/src}/js/command/flip.js (100%) rename {src => apps/image-editor/src}/js/command/loadImage.js (100%) rename {src => apps/image-editor/src}/js/command/removeFilter.js (100%) rename {src => apps/image-editor/src}/js/command/removeObject.js (100%) rename {src => apps/image-editor/src}/js/command/resizeCanvasDimension.js (100%) rename {src => apps/image-editor/src}/js/command/rotate.js (100%) rename {src => apps/image-editor/src}/js/command/setObjectPosition.js (100%) rename {src => apps/image-editor/src}/js/command/setObjectProperties.js (100%) rename {src => apps/image-editor/src}/js/component/cropper.js (100%) rename {src => apps/image-editor/src}/js/component/filter.js (100%) rename {src => apps/image-editor/src}/js/component/flip.js (100%) rename {src => apps/image-editor/src}/js/component/freeDrawing.js (100%) rename {src => apps/image-editor/src}/js/component/icon.js (100%) rename {src => apps/image-editor/src}/js/component/imageLoader.js (100%) rename {src => apps/image-editor/src}/js/component/line.js (100%) rename {src => apps/image-editor/src}/js/component/rotation.js (100%) rename {src => apps/image-editor/src}/js/component/shape.js (100%) rename {src => apps/image-editor/src}/js/component/text.js (100%) rename {src => apps/image-editor/src}/js/consts.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/cropper.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/freeDrawing.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/icon.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/lineDrawing.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/shape.js (100%) rename {src => apps/image-editor/src}/js/drawingMode/text.js (100%) rename {src => apps/image-editor/src}/js/extension/arrowLine.js (100%) rename {src => apps/image-editor/src}/js/extension/blur.js (100%) rename {src => apps/image-editor/src}/js/extension/colorFilter.js (100%) rename {src => apps/image-editor/src}/js/extension/cropzone.js (100%) rename {src => apps/image-editor/src}/js/extension/emboss.js (100%) rename {src => apps/image-editor/src}/js/extension/mask.js (100%) rename {src => apps/image-editor/src}/js/extension/sharpen.js (100%) rename {src => apps/image-editor/src}/js/factory/command.js (100%) rename {src => apps/image-editor/src}/js/factory/errorMessage.js (100%) rename {src => apps/image-editor/src}/js/graphics.js (100%) rename {src => apps/image-editor/src}/js/helper/imagetracer.js (100%) rename {src => apps/image-editor/src}/js/helper/selectionModifyHelper.js (100%) rename {src => apps/image-editor/src}/js/helper/shapeFilterFillHelper.js (99%) rename {src => apps/image-editor/src}/js/helper/shapeResizeHelper.js (100%) rename {src => apps/image-editor/src}/js/imageEditor.js (100%) rename {src => apps/image-editor/src}/js/interface/command.js (100%) rename {src => apps/image-editor/src}/js/interface/component.js (100%) rename {src => apps/image-editor/src}/js/interface/drawingMode.js (100%) rename {src => apps/image-editor/src}/js/invoker.js (100%) rename {src => apps/image-editor/src}/js/polyfill.js (100%) rename {src => apps/image-editor/src}/js/ui.js (100%) rename {src => apps/image-editor/src}/js/ui/crop.js (100%) rename {src => apps/image-editor/src}/js/ui/draw.js (100%) rename {src => apps/image-editor/src}/js/ui/filter.js (100%) rename {src => apps/image-editor/src}/js/ui/flip.js (100%) rename {src => apps/image-editor/src}/js/ui/icon.js (100%) rename {src => apps/image-editor/src}/js/ui/locale/locale.js (100%) rename {src => apps/image-editor/src}/js/ui/mask.js (100%) rename {src => apps/image-editor/src}/js/ui/rotate.js (100%) rename {src => apps/image-editor/src}/js/ui/shape.js (100%) rename {src => apps/image-editor/src}/js/ui/submenuBase.js (100%) rename {src => apps/image-editor/src}/js/ui/template/controls.js (100%) rename {src => apps/image-editor/src}/js/ui/template/mainContainer.js (100%) rename {src => apps/image-editor/src}/js/ui/template/style.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/crop.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/draw.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/filter.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/flip.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/icon.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/mask.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/rotate.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/shape.js (100%) rename {src => apps/image-editor/src}/js/ui/template/submenu/text.js (100%) rename {src => apps/image-editor/src}/js/ui/text.js (100%) rename {src => apps/image-editor/src}/js/ui/theme/standard.js (100%) rename {src => apps/image-editor/src}/js/ui/theme/theme.js (100%) rename {src => apps/image-editor/src}/js/ui/tools/colorpicker.js (100%) rename {src => apps/image-editor/src}/js/ui/tools/range.js (100%) rename {src => apps/image-editor/src}/js/util.js (100%) rename {src => apps/image-editor/src}/svg/default.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-apply.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-cancel.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-color-transparent-w.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-crop.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-delete-all.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-delete.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-draw-free.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-draw-line.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-draw.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-filter.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-flip-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-flip-x.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-flip-y.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-flip.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-arrow-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-arrow-3.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-arrow.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-bubble.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-heart.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-location.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-polygon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-star-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon-star.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-icon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-mask-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-mask.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-redo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-rotate-clockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-rotate-counterclockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-rotate.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-shape-circle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-shape-rectangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-shape-triangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-shape.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-align-center.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-align-left.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-align-right.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-bold.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-italic.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text-underline.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-text.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/ic-undo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-a/img-bi.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-apply.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-cancel.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-crop.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-delete-all.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-delete.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-draw-free.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-draw-line.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-draw.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-filter.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-flip-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-flip-x.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-flip-y.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-flip.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-arrow-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-arrow-3.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-arrow.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-bubble.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-heart.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-location.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-polygon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-star-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon-star.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-icon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-mask-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-mask.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-redo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-rotate-clockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-rotate-counterclockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-rotate.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-shape-circle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-shape-rectangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-shape-triangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-shape.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-align-center.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-align-left.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-align-right.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-bold.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-italic.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text-underline.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-text.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/ic-undo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-b/img-bi.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-apply.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-cancel.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-crop.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-delete-all.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-delete.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-draw-free.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-draw-line.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-draw.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-filter.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-flip-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-flip-x.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-flip-y.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-flip.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-arrow-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-arrow-3.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-arrow.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-bubble.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-heart.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-location.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-polygon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-star-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon-star.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-icon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-mask-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-mask.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-redo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-rotate-clockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-rotate-counterclockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-rotate.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-shape-circle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-shape-rectangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-shape-triangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-shape.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-align-center.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-align-left.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-align-right.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-bold.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-italic.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text-underline.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-text.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/ic-undo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-c/img-bi.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-apply.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-cancel.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-crop.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-delete-all.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-delete.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-draw-free.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-draw-line.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-draw.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-filter.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-flip-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-flip-x.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-flip-y.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-flip.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-arrow-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-arrow-3.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-arrow.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-bubble.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-heart.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-location.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-polygon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-star-2.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon-star.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-icon.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-mask-load.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-mask.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-redo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-reset.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-rotate-clockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-rotate-counterclockwise.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-rotate.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-shape-circle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-shape-rectangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-shape-triangle.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-shape.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-align-center.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-align-left.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-align-right.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-bold.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-italic.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text-underline.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-text.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/ic-undo.svg (100%) rename {src => apps/image-editor/src}/svg/icon-d/img-bi.svg (100%) rename {test => apps/image-editor/tests}/.eslintrc.js (100%) rename {test => apps/image-editor/tests}/action.spec.js (100%) rename {test => apps/image-editor/tests}/arrowLine.spec.js (100%) rename {test => apps/image-editor/tests}/command.spec.js (100%) rename {test => apps/image-editor/tests}/cropper.spec.js (100%) rename {test => apps/image-editor/tests}/cropzone.spec.js (100%) rename {test => apps/image-editor/tests}/drawingMode.spec.js (100%) rename {test => apps/image-editor/tests}/filter.spec.js (100%) rename {test => apps/image-editor/tests}/fixtures/TOAST UI Component.png (100%) rename {test => apps/image-editor/tests}/fixtures/icon-a.svg (100%) rename {test => apps/image-editor/tests}/fixtures/icon-b.svg (100%) rename {test => apps/image-editor/tests}/fixtures/icon-c.svg (100%) rename {test => apps/image-editor/tests}/fixtures/icon-d.svg (100%) rename {test => apps/image-editor/tests}/fixtures/mask.png (100%) rename {test => apps/image-editor/tests}/fixtures/sampleImage.jpg (100%) rename {test => apps/image-editor/tests}/flip.spec.js (100%) rename {test => apps/image-editor/tests}/graphics.spec.js (100%) rename {test => apps/image-editor/tests}/icon.spec.js (100%) rename {test => apps/image-editor/tests}/imageEditor.spec.js (100%) rename {test => apps/image-editor/tests}/index.js (78%) rename {test => apps/image-editor/tests}/invoker.spec.js (100%) rename {test => apps/image-editor/tests}/line.spec.js (100%) rename {test => apps/image-editor/tests}/promiseApi.spec.js (100%) rename {test => apps/image-editor/tests}/rotation.spec.js (100%) rename {test => apps/image-editor/tests}/selectionModifyHelper.spec.js (100%) rename {test => apps/image-editor/tests}/shape.spec.js (100%) rename {test => apps/image-editor/tests}/text.spec.js (100%) rename {test => apps/image-editor/tests}/theme.spec.js (100%) rename {test => apps/image-editor/tests}/types/tsconfig.json (57%) rename {test => apps/image-editor/tests}/types/type-tests.ts (100%) rename {test => apps/image-editor/tests}/ui.spec.js (100%) rename {test => apps/image-editor/tests}/uiRange.spec.js (100%) rename tsBannerGenerator.js => apps/image-editor/tsBannerGenerator.js (100%) rename tslint.json => apps/image-editor/tslint.json (100%) rename tuidoc.config.json => apps/image-editor/tuidoc.config.json (100%) rename webpack.config.js => apps/image-editor/webpack.config.js (100%) diff --git a/.editorconfig b/.editorconfig index 47368586f..f8a73e019 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,5 @@ [*] charset = utf-8 indent_style = space -indent_size = 4 -end_of_line = lf \ No newline at end of file +indent_size = 2 +end_of_line = lf diff --git a/.babelrc b/apps/image-editor/.babelrc similarity index 100% rename from .babelrc rename to apps/image-editor/.babelrc diff --git a/.eslintignore b/apps/image-editor/.eslintignore similarity index 100% rename from .eslintignore rename to apps/image-editor/.eslintignore diff --git a/.eslintrc.js b/apps/image-editor/.eslintrc.js similarity index 100% rename from .eslintrc.js rename to apps/image-editor/.eslintrc.js diff --git a/apps/image-editor/README.md b/apps/image-editor/README.md new file mode 100644 index 000000000..8a3818366 --- /dev/null +++ b/apps/image-editor/README.md @@ -0,0 +1 @@ +# image-editor README diff --git a/examples/css/service-basic.css b/apps/image-editor/examples/css/service-basic.css similarity index 100% rename from examples/css/service-basic.css rename to apps/image-editor/examples/css/service-basic.css diff --git a/examples/css/service-mobile.css b/apps/image-editor/examples/css/service-mobile.css similarity index 100% rename from examples/css/service-mobile.css rename to apps/image-editor/examples/css/service-mobile.css diff --git a/examples/css/tui-example-style.css b/apps/image-editor/examples/css/tui-example-style.css similarity index 100% rename from examples/css/tui-example-style.css rename to apps/image-editor/examples/css/tui-example-style.css diff --git a/examples/example01-includeUi.html b/apps/image-editor/examples/example01-includeUi.html similarity index 92% rename from examples/example01-includeUi.html rename to apps/image-editor/examples/example01-includeUi.html index 0a602ff6e..6aed5b2a3 100644 --- a/examples/example01-includeUi.html +++ b/apps/image-editor/examples/example01-includeUi.html @@ -37,8 +37,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js" > - - + + -``` - -If you want to use a specific version, use the tag name instead of `latest` in the URL. - -The CDN directory has the following structure. - -``` -tui-image-editor/ -├─ latest/ -│ ├─ tui-image-editor.js -│ ├─ tui-image-editor.min.js -│ └─ tui-image-editor.css -├─ v3.1.0/ -│ ├─ ... -``` - -### Download Source Files - -- [Download bundle files from `dist` folder](https://github.com/nhn/tui.image-editor/tree/production/dist) -- [Download all sources for each version](https://github.com/nhn/tui.image-editor/releases) - -## 🔨 Usage - -### HTML - -Add the container element where TOAST UI ImageEditor will be created. - -```html - - ... -
- ... - -``` - -### javascript - -Add dependencies & initialize ImageEditor class with given element to make an image editor. - -```javascript -var ImageEditor = require('tui-image-editor'); -var FileSaver = require('file-saver'); //to download edited image to local. Use after npm install file-saver -var blackTheme = require('./js/theme/black-theme.js'); -var locale_ru_RU = { - // override default English locale to your custom - Crop: 'Обзрезать', - 'Delete-all': 'Удалить всё', - // etc... -}; -var instance = new ImageEditor(document.querySelector('#tui-image-editor'), { - includeUI: { - loadImage: { - path: 'img/sampleImage.jpg', - name: 'SampleImage', - }, - locale: locale_ru_RU, - theme: blackTheme, // or whiteTheme - initMenu: 'filter', - menuBarPosition: 'bottom', - }, - cssMaxWidth: 700, - cssMaxHeight: 500, - selectionStyle: { - cornerSize: 20, - rotatingPointOffset: 70, - }, -}); -``` - -Or ~ UI - -```javascript -var ImageEditor = require('tui-image-editor'); -var instance = new ImageEditor(document.querySelector('#tui-image-editor'), { - cssMaxWidth: 700, - cssMaxHeight: 500, - selectionStyle: { - cornerSize: 20, - rotatingPointOffset: 70, - }, -}); -``` - -### Menu svg icon setting - -#### There are two ways to set icons. - -1. **Use default svg built** into imageEditor without setting svg file path (Features added since version v3.9.0). -2. There is a way to use the **actual physical svg file** and **set the file location manually**. +## 🔧 Pull Request Steps -Can find more details in [this document](https://github.com/nhn/tui.image-editor/blob/master/docs/Basic-Tutorial.md#4-menu-submenu-svg-icon-setting). - -### TypeScript - -If you using TypeScript, You must `import module = require('module')` on importing. -[`export =` and `import = require()`](https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require) - -```typescript -import ImageEditor = require('tui-image-editor'); -var FileSaver = require('file-saver'); //to download edited image to local. Use after npm install file-saver - -const instance = new ImageEditor(document.querySelector('#tui-image-editor'), { - cssMaxWidth: 700, - cssMaxHeight: 500, - selectionStyle: { - cornerSize: 20, - rotatingPointOffset: 70, - }, -}); -``` - -See [details](https://nhn.github.io/tui.image-editor/latest) for additional informations. - -## 🔧 Development - -The TOAST UI products are open-source. -After fixing issues, create a pull request(PR). -Run npm scripts and develop with the following process. +TOAST UI products are open source, so you can create a pull request(PR) after you fix issues. +Run npm scripts and develop yourself with the following process. ### Setup -Fork `master` branch into your personal repository. -Clone to local computer. -Install node modules. -Before starting development, check for any errors. +Fork `develop` branch into your personal repository. +Clone it to local computer. Install node modules. +Before starting development, you should check to haveany errors. ```sh -$ git clone https://github.com/{username}/tui.image-editor.git -$ cd tui.image-editor +$ git clone https://github.com/{your-personal-repo}/[[repo name]].git +$ cd [[repo name]] $ npm install -$ npm run test ``` -### Run webpack-dev-server +### Pull Request -```sh -$ npm run serve -``` +Before PR, check to test lastly and then check any errors. +If it has no error, commit and then push it! + +For more information on PR's step, please see links of Contributing section. ## 📙 Documents -- **Tutorial** : [https://github.com/nhn/tui.image-editor/tree/master/docs](https://github.com/nhn/tui.image-editor/tree/master/docs) -- **Example** : [http://nhn.github.io/tui.image-editor/latest/tutorial-example01-includeUi](http://nhn.github.io/tui.image-editor/latest/tutorial-example01-includeUi) -- **API** : [http://nhn.github.io/tui.image-editor/latest](http://nhn.github.io/tui.image-editor/latest/index) +- [Getting Started](https://github.com/nhn/tui.image-editor/tree/master/docs/Basic-Tutorial.md) +- [Tutorial](https://github.com/nhn/tui.image-editor/tree/master/docs) +- [Example](http://nhn.github.io/tui.image-editor/latest/tutorial-example01-includeUi) +- [API](http://nhn.github.io/tui.image-editor/latest) ## 💬 Contributing diff --git a/apps/image-editor/.eslintrc.js b/apps/image-editor/.eslintrc.js index 06858d632..bb1707b67 100644 --- a/apps/image-editor/.eslintrc.js +++ b/apps/image-editor/.eslintrc.js @@ -25,6 +25,5 @@ module.exports = { AssignmentExpression: { array: false, object: false }, }, ], - 'prettier/prettier': 'error', }, }; diff --git a/apps/image-editor/README.md b/apps/image-editor/README.md index 8a3818366..d9ed92de2 100644 --- a/apps/image-editor/README.md +++ b/apps/image-editor/README.md @@ -1 +1,193 @@ -# image-editor README +# ![Toast UI ImageEditor](https://user-images.githubusercontent.com/35218826/40895380-0b9f4cd6-67ea-11e8-982f-18121daa3a04.png) + +> Full featured image editor using HTML5 Canvas. It's easy to use and provides powerful filters. + +[![npm version](https://img.shields.io/npm/v/tui-image-editor.svg)](https://www.npmjs.com/package/tui-image-editor) + +## 🚩 Table of Contents + +- [Collect statistics on the use of open source](#Collect-statistics-on-the-use-of-open-source) +- [Install](#-install) + - [Via Package Manager](#via-package-manager) + - [Via Contents Delivery Network (CDN)](#via-contents-delivery-network-cdn) + - [Download Source Files](#download-source-files) +- [Usage](#-usage) + - [HTML](#html) + - [JavaScript](#javascript) + - [Menu svg icon setting](#menu-svg-icon-setting) + - [TypeScript](#typescript) + +## Collect statistics on the use of open source + +TOAST UI ImageEditor applies Google Analytics (GA) to collect statistics on the use of open source, in order to identify how widely TOAST UI ImageEditor is used throughout the world. It also serves as important index to determine the future course of projects. location.hostname (e.g. > “ui.toast.com") is to be collected and the sole purpose is nothing but to measure statistics on the usage. To disable GA, use the following `usageStatistics` option when creating the instance. + +```js +const options = { + //... + usageStatistics: false, +}; + +const imageEditor = new tui.ImageEditor('#tui-image-editor-container', options); +``` + +Or, include [`tui-code-snippet`](https://github.com/nhn/tui.code-snippet)(**v1.4.0** or **later**) and then immediately write the options as follows: + +```js +tui.usageStatistics = false; +``` + +## 💾 Install + +The TOAST UI products can be installed by using the package manager or downloading the source directly. +However, we highly recommend using the package manager. + +### Via Package Manager + +You can find TOAST UI products via [npm](https://www.npmjs.com/) and [bower](https://bower.io/) package managers. +Install by using the commands provided by each package manager. +When using npm, be sure [Node.js](https://nodejs.org) is installed in the environment. + +#### npm + +##### 1. ImageEditor installation + +```sh +$ npm install --save tui-image-editor # Latest version +$ npm install --save tui-image-editor@ # Specific version +``` + +##### 2. If the installation of the `fabric.js` dependency module does not go smoothly + +To solve the problem, you need to refer to [Some Steps](https://github.com/fabricjs/fabric.js#install-with-npm) to solve the problem. + +#### bower + +```sh +$ bower install tui-image-editor # Latest version +$ bower install tui-image-editor# # Specific version +``` + +### Via Contents Delivery Network (CDN) + +TOAST UI products are available over the CDN powered by [TOAST Cloud](https://www.toast.com). + +You can use the CDN as below. + +```html + + +``` + +If you want to use a specific version, use the tag name instead of `latest` in the URL. + +The CDN directory has the following structure. + +``` +tui-image-editor/ +├─ latest/ +│ ├─ tui-image-editor.js +│ ├─ tui-image-editor.min.js +│ └─ tui-image-editor.css +├─ v3.1.0/ +│ ├─ ... +``` + +### Download Source Files + +- [Download bundle files from `dist` folder](https://github.com/nhn/tui.image-editor/tree/production/dist) +- [Download all sources for each version](https://github.com/nhn/tui.image-editor/releases) + +## 🔨 Usage + +### HTML + +Add the container element where TOAST UI ImageEditor will be created. + +```html + + ... +
+ ... + +``` + +### javascript + +Add dependencies & initialize ImageEditor class with given element to make an image editor. + +```javascript +const ImageEditor = require('tui-image-editor'); +const FileSaver = require('file-saver'); //to download edited image to local. Use after npm install file-saver +const blackTheme = require('./js/theme/black-theme.js'); +const locale_ru_RU = { + // override default English locale to your custom + Crop: 'Обзрезать', + 'Delete-all': 'Удалить всё', + // etc... +}; +const instance = new ImageEditor(document.querySelector('#tui-image-editor'), { + includeUI: { + loadImage: { + path: 'img/sampleImage.jpg', + name: 'SampleImage', + }, + locale: locale_ru_RU, + theme: blackTheme, // or whiteTheme + initMenu: 'filter', + menuBarPosition: 'bottom', + }, + cssMaxWidth: 700, + cssMaxHeight: 500, + selectionStyle: { + cornerSize: 20, + rotatingPointOffset: 70, + }, +}); +``` + +Or + +```javascript +const ImageEditor = require('tui-image-editor'); +const instance = new ImageEditor(document.querySelector('#tui-image-editor'), { + cssMaxWidth: 700, + cssMaxHeight: 500, + selectionStyle: { + cornerSize: 20, + rotatingPointOffset: 70, + }, +}); +``` + +### Menu svg icon setting + +#### There are two ways to set icons. + +1. **Use default svg built** into imageEditor without setting svg file path (Features added since version v3.9.0). +2. There is a way to use the **actual physical svg file** and **set the file location manually**. + +Can find more details in [this document](https://github.com/nhn/tui.image-editor/blob/master/docs/Basic-Tutorial.md#4-menu-submenu-svg-icon-setting). + +### TypeScript + +If you use TypeScript, You must `import module = require('module')` on importing. +[`export =` and `import = require()`](https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require) + +```typescript +import ImageEditor = require('tui-image-editor'); +const FileSaver = require('file-saver'); //to download edited image to local. Use after npm install file-saver + +const instance = new ImageEditor(document.querySelector('#tui-image-editor'), { + cssMaxWidth: 700, + cssMaxHeight: 500, + selectionStyle: { + cornerSize: 20, + rotatingPointOffset: 70, + }, +}); +``` + +See [details](https://nhn.github.io/tui.image-editor/latest) for additional information. diff --git a/apps/image-editor/examples/example02-useApiDirect.html b/apps/image-editor/examples/example02-useApiDirect.html index 3d3dea38b..74b9b07b6 100644 --- a/apps/image-editor/examples/example02-useApiDirect.html +++ b/apps/image-editor/examples/example02-useApiDirect.html @@ -14,7 +14,7 @@
- + Image Editor