js-draw 0.17.4 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/bundle.js +9 -1
- package/package.json +35 -33
- package/tsconfig.json +3 -2
- package/tsconfig.mjs.json +9 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -34
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/ISSUE_TEMPLATE/translation.yml +0 -902
- package/.github/pull_request_template.md +0 -15
- package/.github/workflows/firebase-hosting-merge.yml +0 -32
- package/.github/workflows/firebase-hosting-pull-request.yml +0 -32
- package/.github/workflows/github-pages.yml +0 -56
- package/.husky/pre-commit +0 -4
- package/build_tools/BundledFile.ts +0 -167
- package/build_tools/buildTranslationTemplate.ts +0 -121
- package/build_tools/bundle.ts +0 -11
- package/dist/build_tools/BundledFile.d.ts +0 -13
- package/dist/build_tools/BundledFile.js +0 -157
- package/dist/build_tools/buildTranslationTemplate.d.ts +0 -1
- package/dist/build_tools/buildTranslationTemplate.js +0 -94
- package/dist/build_tools/bundle.d.ts +0 -1
- package/dist/build_tools/bundle.js +0 -5
- package/dist/src/Color4.d.ts +0 -60
- package/dist/src/Color4.js +0 -192
- package/dist/src/Editor.d.ts +0 -308
- package/dist/src/Editor.js +0 -874
- package/dist/src/EditorImage.d.ts +0 -97
- package/dist/src/EditorImage.js +0 -477
- package/dist/src/EventDispatcher.d.ts +0 -30
- package/dist/src/EventDispatcher.js +0 -54
- package/dist/src/Pointer.d.ts +0 -24
- package/dist/src/Pointer.js +0 -80
- package/dist/src/SVGLoader.d.ts +0 -48
- package/dist/src/SVGLoader.js +0 -442
- package/dist/src/UndoRedoHistory.d.ts +0 -19
- package/dist/src/UndoRedoHistory.js +0 -91
- package/dist/src/Viewport.d.ts +0 -71
- package/dist/src/Viewport.js +0 -256
- package/dist/src/bundle/bundled.d.ts +0 -4
- package/dist/src/bundle/bundled.js +0 -5
- package/dist/src/commands/Command.d.ts +0 -16
- package/dist/src/commands/Command.js +0 -30
- package/dist/src/commands/Duplicate.d.ts +0 -14
- package/dist/src/commands/Duplicate.js +0 -33
- package/dist/src/commands/Erase.d.ts +0 -14
- package/dist/src/commands/Erase.js +0 -57
- package/dist/src/commands/SerializableCommand.d.ts +0 -12
- package/dist/src/commands/SerializableCommand.js +0 -36
- package/dist/src/commands/UnresolvedCommand.d.ts +0 -14
- package/dist/src/commands/UnresolvedCommand.js +0 -22
- package/dist/src/commands/invertCommand.d.ts +0 -4
- package/dist/src/commands/invertCommand.js +0 -44
- package/dist/src/commands/lib.d.ts +0 -7
- package/dist/src/commands/lib.js +0 -7
- package/dist/src/commands/localization.d.ts +0 -23
- package/dist/src/commands/localization.js +0 -21
- package/dist/src/commands/uniteCommands.d.ts +0 -4
- package/dist/src/commands/uniteCommands.js +0 -116
- package/dist/src/components/AbstractComponent.d.ts +0 -73
- package/dist/src/components/AbstractComponent.js +0 -252
- package/dist/src/components/ImageBackground.d.ts +0 -42
- package/dist/src/components/ImageBackground.js +0 -139
- package/dist/src/components/ImageComponent.d.ts +0 -31
- package/dist/src/components/ImageComponent.js +0 -146
- package/dist/src/components/RestylableComponent.d.ts +0 -24
- package/dist/src/components/RestylableComponent.js +0 -80
- package/dist/src/components/SVGGlobalAttributesObject.d.ts +0 -21
- package/dist/src/components/SVGGlobalAttributesObject.js +0 -59
- package/dist/src/components/Stroke.d.ts +0 -40
- package/dist/src/components/Stroke.js +0 -185
- package/dist/src/components/TextComponent.d.ts +0 -53
- package/dist/src/components/TextComponent.js +0 -252
- package/dist/src/components/UnknownSVGObject.d.ts +0 -18
- package/dist/src/components/UnknownSVGObject.js +0 -44
- package/dist/src/components/builders/ArrowBuilder.d.ts +0 -19
- package/dist/src/components/builders/ArrowBuilder.js +0 -86
- package/dist/src/components/builders/FreehandLineBuilder.d.ts +0 -33
- package/dist/src/components/builders/FreehandLineBuilder.js +0 -165
- package/dist/src/components/builders/LineBuilder.d.ts +0 -18
- package/dist/src/components/builders/LineBuilder.js +0 -58
- package/dist/src/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +0 -36
- package/dist/src/components/builders/PressureSensitiveFreehandLineBuilder.js +0 -339
- package/dist/src/components/builders/RectangleBuilder.d.ts +0 -20
- package/dist/src/components/builders/RectangleBuilder.js +0 -50
- package/dist/src/components/builders/types.d.ts +0 -12
- package/dist/src/components/builders/types.js +0 -1
- package/dist/src/components/lib.d.ts +0 -12
- package/dist/src/components/lib.js +0 -12
- package/dist/src/components/localization.d.ts +0 -11
- package/dist/src/components/localization.js +0 -10
- package/dist/src/components/util/StrokeSmoother.d.ts +0 -35
- package/dist/src/components/util/StrokeSmoother.js +0 -210
- package/dist/src/components/util/describeComponentList.d.ts +0 -4
- package/dist/src/components/util/describeComponentList.js +0 -14
- package/dist/src/lib.d.ts +0 -34
- package/dist/src/lib.js +0 -34
- package/dist/src/localization.d.ts +0 -14
- package/dist/src/localization.js +0 -10
- package/dist/src/localizations/de.d.ts +0 -3
- package/dist/src/localizations/de.js +0 -4
- package/dist/src/localizations/en.d.ts +0 -3
- package/dist/src/localizations/en.js +0 -4
- package/dist/src/localizations/es.d.ts +0 -3
- package/dist/src/localizations/es.js +0 -18
- package/dist/src/localizations/getLocalizationTable.d.ts +0 -3
- package/dist/src/localizations/getLocalizationTable.js +0 -45
- package/dist/src/math/LineSegment2.d.ts +0 -24
- package/dist/src/math/LineSegment2.js +0 -125
- package/dist/src/math/Mat33.d.ts +0 -118
- package/dist/src/math/Mat33.js +0 -326
- package/dist/src/math/Path.d.ts +0 -71
- package/dist/src/math/Path.js +0 -648
- package/dist/src/math/Rect2.d.ts +0 -52
- package/dist/src/math/Rect2.js +0 -228
- package/dist/src/math/Triangle.d.ts +0 -11
- package/dist/src/math/Triangle.js +0 -19
- package/dist/src/math/Vec2.d.ts +0 -13
- package/dist/src/math/Vec2.js +0 -13
- package/dist/src/math/Vec3.d.ts +0 -106
- package/dist/src/math/Vec3.js +0 -174
- package/dist/src/math/lib.d.ts +0 -7
- package/dist/src/math/lib.js +0 -7
- package/dist/src/math/rounding.d.ts +0 -4
- package/dist/src/math/rounding.js +0 -128
- package/dist/src/rendering/Display.d.ts +0 -75
- package/dist/src/rendering/Display.js +0 -207
- package/dist/src/rendering/RenderingStyle.d.ts +0 -31
- package/dist/src/rendering/RenderingStyle.js +0 -38
- package/dist/src/rendering/TextRenderingStyle.d.ts +0 -36
- package/dist/src/rendering/TextRenderingStyle.js +0 -23
- package/dist/src/rendering/caching/CacheRecord.d.ts +0 -20
- package/dist/src/rendering/caching/CacheRecord.js +0 -55
- package/dist/src/rendering/caching/CacheRecordManager.d.ts +0 -12
- package/dist/src/rendering/caching/CacheRecordManager.js +0 -43
- package/dist/src/rendering/caching/RenderingCache.d.ts +0 -11
- package/dist/src/rendering/caching/RenderingCache.js +0 -45
- package/dist/src/rendering/caching/RenderingCacheNode.d.ts +0 -29
- package/dist/src/rendering/caching/RenderingCacheNode.js +0 -320
- package/dist/src/rendering/caching/testUtils.d.ts +0 -9
- package/dist/src/rendering/caching/testUtils.js +0 -20
- package/dist/src/rendering/caching/types.d.ts +0 -19
- package/dist/src/rendering/caching/types.js +0 -1
- package/dist/src/rendering/lib.d.ts +0 -5
- package/dist/src/rendering/lib.js +0 -5
- package/dist/src/rendering/localization.d.ts +0 -10
- package/dist/src/rendering/localization.js +0 -9
- package/dist/src/rendering/renderers/AbstractRenderer.d.ts +0 -68
- package/dist/src/rendering/renderers/AbstractRenderer.js +0 -144
- package/dist/src/rendering/renderers/CanvasRenderer.d.ts +0 -63
- package/dist/src/rendering/renderers/CanvasRenderer.js +0 -230
- package/dist/src/rendering/renderers/DummyRenderer.d.ts +0 -35
- package/dist/src/rendering/renderers/DummyRenderer.js +0 -106
- package/dist/src/rendering/renderers/SVGRenderer.d.ts +0 -57
- package/dist/src/rendering/renderers/SVGRenderer.js +0 -304
- package/dist/src/rendering/renderers/TextOnlyRenderer.d.ts +0 -29
- package/dist/src/rendering/renderers/TextOnlyRenderer.js +0 -57
- package/dist/src/testing/beforeEachFile.d.ts +0 -1
- package/dist/src/testing/beforeEachFile.js +0 -7
- package/dist/src/testing/createEditor.d.ts +0 -4
- package/dist/src/testing/createEditor.js +0 -9
- package/dist/src/testing/lib.d.ts +0 -2
- package/dist/src/testing/lib.js +0 -2
- package/dist/src/testing/loadExpectExtensions.d.ts +0 -2
- package/dist/src/testing/loadExpectExtensions.js +0 -24
- package/dist/src/testing/sendPenEvent.d.ts +0 -12
- package/dist/src/testing/sendPenEvent.js +0 -19
- package/dist/src/testing/sendTouchEvent.d.ts +0 -42
- package/dist/src/testing/sendTouchEvent.js +0 -62
- package/dist/src/toolbar/HTMLToolbar.d.ts +0 -103
- package/dist/src/toolbar/HTMLToolbar.js +0 -376
- package/dist/src/toolbar/IconProvider.d.ts +0 -62
- package/dist/src/toolbar/IconProvider.js +0 -654
- package/dist/src/toolbar/lib.d.ts +0 -3
- package/dist/src/toolbar/lib.js +0 -3
- package/dist/src/toolbar/localization.d.ts +0 -49
- package/dist/src/toolbar/localization.js +0 -48
- package/dist/src/toolbar/makeColorInput.d.ts +0 -6
- package/dist/src/toolbar/makeColorInput.js +0 -113
- package/dist/src/toolbar/types.d.ts +0 -4
- package/dist/src/toolbar/types.js +0 -1
- package/dist/src/toolbar/widgets/ActionButtonWidget.d.ts +0 -15
- package/dist/src/toolbar/widgets/ActionButtonWidget.js +0 -25
- package/dist/src/toolbar/widgets/BaseToolWidget.d.ts +0 -11
- package/dist/src/toolbar/widgets/BaseToolWidget.js +0 -44
- package/dist/src/toolbar/widgets/BaseWidget.d.ts +0 -72
- package/dist/src/toolbar/widgets/BaseWidget.js +0 -307
- package/dist/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +0 -18
- package/dist/src/toolbar/widgets/DocumentPropertiesWidget.js +0 -120
- package/dist/src/toolbar/widgets/EraserToolWidget.d.ts +0 -17
- package/dist/src/toolbar/widgets/EraserToolWidget.js +0 -57
- package/dist/src/toolbar/widgets/HandToolWidget.d.ts +0 -17
- package/dist/src/toolbar/widgets/HandToolWidget.js +0 -172
- package/dist/src/toolbar/widgets/InsertImageWidget.d.ts +0 -19
- package/dist/src/toolbar/widgets/InsertImageWidget.js +0 -170
- package/dist/src/toolbar/widgets/OverflowWidget.d.ts +0 -25
- package/dist/src/toolbar/widgets/OverflowWidget.js +0 -71
- package/dist/src/toolbar/widgets/PenToolWidget.d.ts +0 -27
- package/dist/src/toolbar/widgets/PenToolWidget.js +0 -220
- package/dist/src/toolbar/widgets/SelectionToolWidget.d.ts +0 -13
- package/dist/src/toolbar/widgets/SelectionToolWidget.js +0 -147
- package/dist/src/toolbar/widgets/TextToolWidget.d.ts +0 -16
- package/dist/src/toolbar/widgets/TextToolWidget.js +0 -109
- package/dist/src/toolbar/widgets/lib.d.ts +0 -10
- package/dist/src/toolbar/widgets/lib.js +0 -10
- package/dist/src/tools/BaseTool.d.ts +0 -22
- package/dist/src/tools/BaseTool.js +0 -63
- package/dist/src/tools/Eraser.d.ts +0 -23
- package/dist/src/tools/Eraser.js +0 -106
- package/dist/src/tools/FindTool.d.ts +0 -21
- package/dist/src/tools/FindTool.js +0 -114
- package/dist/src/tools/PanZoom.d.ts +0 -52
- package/dist/src/tools/PanZoom.js +0 -414
- package/dist/src/tools/PasteHandler.d.ts +0 -23
- package/dist/src/tools/PasteHandler.js +0 -93
- package/dist/src/tools/Pen.d.ts +0 -39
- package/dist/src/tools/Pen.js +0 -173
- package/dist/src/tools/PipetteTool.d.ts +0 -18
- package/dist/src/tools/PipetteTool.js +0 -39
- package/dist/src/tools/SelectionTool/SelectAllShortcutHandler.d.ts +0 -8
- package/dist/src/tools/SelectionTool/SelectAllShortcutHandler.js +0 -22
- package/dist/src/tools/SelectionTool/Selection.d.ts +0 -64
- package/dist/src/tools/SelectionTool/Selection.js +0 -459
- package/dist/src/tools/SelectionTool/SelectionHandle.d.ts +0 -38
- package/dist/src/tools/SelectionTool/SelectionHandle.js +0 -81
- package/dist/src/tools/SelectionTool/SelectionTool.d.ts +0 -36
- package/dist/src/tools/SelectionTool/SelectionTool.js +0 -398
- package/dist/src/tools/SelectionTool/TransformMode.d.ts +0 -34
- package/dist/src/tools/SelectionTool/TransformMode.js +0 -98
- package/dist/src/tools/SelectionTool/types.d.ts +0 -9
- package/dist/src/tools/SelectionTool/types.js +0 -11
- package/dist/src/tools/TextTool.d.ts +0 -33
- package/dist/src/tools/TextTool.js +0 -256
- package/dist/src/tools/ToolController.d.ts +0 -18
- package/dist/src/tools/ToolController.js +0 -158
- package/dist/src/tools/ToolEnabledGroup.d.ts +0 -6
- package/dist/src/tools/ToolEnabledGroup.js +0 -11
- package/dist/src/tools/ToolSwitcherShortcut.d.ts +0 -16
- package/dist/src/tools/ToolSwitcherShortcut.js +0 -32
- package/dist/src/tools/ToolbarShortcutHandler.d.ts +0 -12
- package/dist/src/tools/ToolbarShortcutHandler.js +0 -23
- package/dist/src/tools/UndoRedoShortcut.d.ts +0 -8
- package/dist/src/tools/UndoRedoShortcut.js +0 -22
- package/dist/src/tools/lib.d.ts +0 -16
- package/dist/src/tools/lib.js +0 -16
- package/dist/src/tools/localization.d.ts +0 -28
- package/dist/src/tools/localization.js +0 -27
- package/dist/src/types.d.ts +0 -151
- package/dist/src/types.js +0 -35
- package/dist/src/util/assertions.d.ts +0 -23
- package/dist/src/util/assertions.js +0 -45
- package/dist/src/util/fileToBase64.d.ts +0 -3
- package/dist/src/util/fileToBase64.js +0 -13
- package/dist/src/util/untilNextAnimationFrame.d.ts +0 -3
- package/dist/src/util/untilNextAnimationFrame.js +0 -7
- package/dist/src/util/waitForTimeout.d.ts +0 -2
- package/dist/src/util/waitForTimeout.js +0 -7
- package/src/Color4.test.ts +0 -40
- package/src/Color4.ts +0 -234
- package/src/Editor.css +0 -86
- package/src/Editor.loadFrom.test.ts +0 -24
- package/src/Editor.toSVG.test.ts +0 -111
- package/src/Editor.ts +0 -1122
- package/src/EditorImage.test.ts +0 -120
- package/src/EditorImage.ts +0 -603
- package/src/EventDispatcher.test.ts +0 -123
- package/src/EventDispatcher.ts +0 -71
- package/src/Pointer.ts +0 -127
- package/src/SVGLoader.test.ts +0 -114
- package/src/SVGLoader.ts +0 -511
- package/src/UndoRedoHistory.test.ts +0 -33
- package/src/UndoRedoHistory.ts +0 -102
- package/src/Viewport.ts +0 -319
- package/src/bundle/bundled.ts +0 -7
- package/src/commands/Command.ts +0 -45
- package/src/commands/Duplicate.ts +0 -48
- package/src/commands/Erase.ts +0 -74
- package/src/commands/SerializableCommand.ts +0 -49
- package/src/commands/UnresolvedCommand.ts +0 -37
- package/src/commands/invertCommand.ts +0 -51
- package/src/commands/lib.ts +0 -16
- package/src/commands/localization.ts +0 -47
- package/src/commands/uniteCommands.test.ts +0 -23
- package/src/commands/uniteCommands.ts +0 -135
- package/src/components/AbstractComponent.transformBy.test.ts +0 -22
- package/src/components/AbstractComponent.ts +0 -364
- package/src/components/ImageBackground.test.ts +0 -35
- package/src/components/ImageBackground.ts +0 -176
- package/src/components/ImageComponent.ts +0 -171
- package/src/components/RestylableComponent.ts +0 -142
- package/src/components/SVGGlobalAttributesObject.ts +0 -81
- package/src/components/Stroke.test.ts +0 -139
- package/src/components/Stroke.ts +0 -245
- package/src/components/TextComponent.test.ts +0 -99
- package/src/components/TextComponent.ts +0 -315
- package/src/components/UnknownSVGObject.test.ts +0 -10
- package/src/components/UnknownSVGObject.ts +0 -60
- package/src/components/builders/ArrowBuilder.ts +0 -107
- package/src/components/builders/FreehandLineBuilder.ts +0 -212
- package/src/components/builders/LineBuilder.ts +0 -77
- package/src/components/builders/PressureSensitiveFreehandLineBuilder.ts +0 -454
- package/src/components/builders/RectangleBuilder.ts +0 -74
- package/src/components/builders/types.ts +0 -15
- package/src/components/lib.ts +0 -25
- package/src/components/localization.ts +0 -22
- package/src/components/util/StrokeSmoother.ts +0 -293
- package/src/components/util/describeComponentList.ts +0 -18
- package/src/lib.ts +0 -37
- package/src/localization.ts +0 -34
- package/src/localizations/de.ts +0 -98
- package/src/localizations/en.ts +0 -8
- package/src/localizations/es.ts +0 -74
- package/src/localizations/getLocalizationTable.test.ts +0 -27
- package/src/localizations/getLocalizationTable.ts +0 -55
- package/src/math/LineSegment2.test.ts +0 -99
- package/src/math/LineSegment2.ts +0 -160
- package/src/math/Mat33.test.ts +0 -244
- package/src/math/Mat33.ts +0 -437
- package/src/math/Path.fromString.test.ts +0 -223
- package/src/math/Path.test.ts +0 -198
- package/src/math/Path.toString.test.ts +0 -77
- package/src/math/Path.ts +0 -790
- package/src/math/Rect2.test.ts +0 -204
- package/src/math/Rect2.ts +0 -315
- package/src/math/Triangle.ts +0 -29
- package/src/math/Vec2.test.ts +0 -30
- package/src/math/Vec2.ts +0 -18
- package/src/math/Vec3.test.ts +0 -44
- package/src/math/Vec3.ts +0 -218
- package/src/math/lib.ts +0 -15
- package/src/math/rounding.test.ts +0 -65
- package/src/math/rounding.ts +0 -156
- package/src/rendering/Display.ts +0 -249
- package/src/rendering/RenderingStyle.test.ts +0 -68
- package/src/rendering/RenderingStyle.ts +0 -55
- package/src/rendering/TextRenderingStyle.ts +0 -45
- package/src/rendering/caching/CacheRecord.test.ts +0 -49
- package/src/rendering/caching/CacheRecord.ts +0 -77
- package/src/rendering/caching/CacheRecordManager.ts +0 -71
- package/src/rendering/caching/RenderingCache.test.ts +0 -44
- package/src/rendering/caching/RenderingCache.ts +0 -66
- package/src/rendering/caching/RenderingCacheNode.ts +0 -405
- package/src/rendering/caching/testUtils.ts +0 -35
- package/src/rendering/caching/types.ts +0 -34
- package/src/rendering/lib.ts +0 -6
- package/src/rendering/localization.ts +0 -20
- package/src/rendering/renderers/AbstractRenderer.ts +0 -222
- package/src/rendering/renderers/CanvasRenderer.ts +0 -296
- package/src/rendering/renderers/DummyRenderer.test.ts +0 -42
- package/src/rendering/renderers/DummyRenderer.ts +0 -136
- package/src/rendering/renderers/SVGRenderer.ts +0 -354
- package/src/rendering/renderers/TextOnlyRenderer.ts +0 -70
- package/src/styles.js +0 -7
- package/src/testing/beforeEachFile.ts +0 -8
- package/src/testing/createEditor.ts +0 -11
- package/src/testing/global.d.ts +0 -17
- package/src/testing/lib.ts +0 -3
- package/src/testing/loadExpectExtensions.ts +0 -25
- package/src/testing/sendPenEvent.ts +0 -31
- package/src/testing/sendTouchEvent.ts +0 -78
- package/src/toolbar/HTMLToolbar.ts +0 -492
- package/src/toolbar/IconProvider.ts +0 -736
- package/src/toolbar/lib.ts +0 -4
- package/src/toolbar/localization.ts +0 -106
- package/src/toolbar/makeColorInput.ts +0 -145
- package/src/toolbar/toolbar.css +0 -213
- package/src/toolbar/types.ts +0 -5
- package/src/toolbar/widgets/ActionButtonWidget.ts +0 -39
- package/src/toolbar/widgets/BaseToolWidget.ts +0 -56
- package/src/toolbar/widgets/BaseWidget.ts +0 -377
- package/src/toolbar/widgets/DocumentPropertiesWidget.ts +0 -167
- package/src/toolbar/widgets/EraserToolWidget.ts +0 -85
- package/src/toolbar/widgets/HandToolWidget.ts +0 -250
- package/src/toolbar/widgets/InsertImageWidget.css +0 -44
- package/src/toolbar/widgets/InsertImageWidget.ts +0 -223
- package/src/toolbar/widgets/OverflowWidget.css +0 -27
- package/src/toolbar/widgets/OverflowWidget.ts +0 -92
- package/src/toolbar/widgets/PenToolWidget.ts +0 -288
- package/src/toolbar/widgets/SelectionToolWidget.ts +0 -190
- package/src/toolbar/widgets/TextToolWidget.ts +0 -145
- package/src/toolbar/widgets/lib.ts +0 -13
- package/src/tools/BaseTool.ts +0 -76
- package/src/tools/Eraser.test.ts +0 -103
- package/src/tools/Eraser.ts +0 -139
- package/src/tools/FindTool.css +0 -7
- package/src/tools/FindTool.ts +0 -152
- package/src/tools/PanZoom.test.ts +0 -310
- package/src/tools/PanZoom.ts +0 -520
- package/src/tools/PasteHandler.ts +0 -95
- package/src/tools/Pen.test.ts +0 -194
- package/src/tools/Pen.ts +0 -226
- package/src/tools/PipetteTool.ts +0 -55
- package/src/tools/SelectionTool/SelectAllShortcutHandler.ts +0 -28
- package/src/tools/SelectionTool/Selection.ts +0 -607
- package/src/tools/SelectionTool/SelectionHandle.ts +0 -108
- package/src/tools/SelectionTool/SelectionTool.css +0 -23
- package/src/tools/SelectionTool/SelectionTool.test.ts +0 -261
- package/src/tools/SelectionTool/SelectionTool.ts +0 -480
- package/src/tools/SelectionTool/TransformMode.ts +0 -114
- package/src/tools/SelectionTool/types.ts +0 -11
- package/src/tools/TextTool.ts +0 -326
- package/src/tools/ToolController.ts +0 -178
- package/src/tools/ToolEnabledGroup.ts +0 -14
- package/src/tools/ToolSwitcherShortcut.ts +0 -39
- package/src/tools/ToolbarShortcutHandler.ts +0 -34
- package/src/tools/UndoRedoShortcut.test.ts +0 -56
- package/src/tools/UndoRedoShortcut.ts +0 -25
- package/src/tools/lib.ts +0 -21
- package/src/tools/localization.ts +0 -66
- package/src/types.ts +0 -234
- package/src/util/assertions.ts +0 -55
- package/src/util/fileToBase64.ts +0 -18
- package/src/util/untilNextAnimationFrame.ts +0 -9
- package/src/util/waitForTimeout.ts +0 -9
@@ -1,66 +0,0 @@
|
|
1
|
-
|
2
|
-
export interface ToolLocalization {
|
3
|
-
keyboardPanZoom: string;
|
4
|
-
penTool: (penId: number)=>string;
|
5
|
-
selectionTool: string;
|
6
|
-
selectAllTool: string;
|
7
|
-
eraserTool: string;
|
8
|
-
touchPanTool: string;
|
9
|
-
twoFingerPanZoomTool: string;
|
10
|
-
undoRedoTool: string;
|
11
|
-
pipetteTool: string;
|
12
|
-
rightClickDragPanTool: string;
|
13
|
-
|
14
|
-
textTool: string;
|
15
|
-
enterTextToInsert: string;
|
16
|
-
changeTool: string;
|
17
|
-
pasteHandler: string;
|
18
|
-
|
19
|
-
findLabel: string;
|
20
|
-
toNextMatch: string;
|
21
|
-
closeFindDialog: string;
|
22
|
-
findDialogShown: string;
|
23
|
-
findDialogHidden: string;
|
24
|
-
focusedFoundText: (currentMatchNumber: number, totalMatches: number)=> string;
|
25
|
-
|
26
|
-
anyDevicePanning: string;
|
27
|
-
|
28
|
-
copied: (count: number, description: string) => string;
|
29
|
-
pasted: (count: number, description: string) => string;
|
30
|
-
|
31
|
-
toolEnabledAnnouncement: (toolName: string) => string;
|
32
|
-
toolDisabledAnnouncement: (toolName: string) => string;
|
33
|
-
}
|
34
|
-
|
35
|
-
export const defaultToolLocalization: ToolLocalization = {
|
36
|
-
penTool: (penId) => `Pen ${penId}`,
|
37
|
-
selectionTool: 'Selection',
|
38
|
-
selectAllTool: 'Select all shortcut',
|
39
|
-
eraserTool: 'Eraser',
|
40
|
-
touchPanTool: 'Touch panning',
|
41
|
-
twoFingerPanZoomTool: 'Panning and zooming',
|
42
|
-
undoRedoTool: 'Undo/Redo',
|
43
|
-
rightClickDragPanTool: 'Right-click drag',
|
44
|
-
pipetteTool: 'Pick color from screen',
|
45
|
-
keyboardPanZoom: 'Keyboard pan/zoom shortcuts',
|
46
|
-
|
47
|
-
textTool: 'Text',
|
48
|
-
enterTextToInsert: 'Text to insert',
|
49
|
-
changeTool: 'Change tool',
|
50
|
-
pasteHandler: 'Copy paste handler',
|
51
|
-
|
52
|
-
findLabel: 'Find',
|
53
|
-
toNextMatch: 'Next',
|
54
|
-
closeFindDialog: 'Close',
|
55
|
-
findDialogShown: 'Find dialog shown',
|
56
|
-
findDialogHidden: 'Find dialog hidden',
|
57
|
-
focusedFoundText: (matchIdx: number, totalMatches: number) => `Viewing match ${matchIdx} of ${totalMatches}`,
|
58
|
-
|
59
|
-
anyDevicePanning: 'Any device panning',
|
60
|
-
|
61
|
-
copied: (count: number, description: string) => `Copied ${count} ${description}`,
|
62
|
-
pasted: (count: number, description: string) => `Pasted ${count} ${description}`,
|
63
|
-
|
64
|
-
toolEnabledAnnouncement: (toolName) => `${toolName} enabled`,
|
65
|
-
toolDisabledAnnouncement: (toolName) => `${toolName} disabled`,
|
66
|
-
};
|
package/src/types.ts
DELETED
@@ -1,234 +0,0 @@
|
|
1
|
-
// Types related to the image editor
|
2
|
-
|
3
|
-
import EventDispatcher from './EventDispatcher';
|
4
|
-
import Mat33 from './math/Mat33';
|
5
|
-
import { Point2, Vec2 } from './math/Vec2';
|
6
|
-
import Vec3 from './math/Vec3';
|
7
|
-
import BaseTool from './tools/BaseTool';
|
8
|
-
import AbstractComponent from './components/AbstractComponent';
|
9
|
-
import Rect2 from './math/Rect2';
|
10
|
-
import Pointer from './Pointer';
|
11
|
-
import Color4 from './Color4';
|
12
|
-
import Command from './commands/Command';
|
13
|
-
import BaseWidget from './toolbar/widgets/BaseWidget';
|
14
|
-
|
15
|
-
|
16
|
-
export interface PointerEvtListener {
|
17
|
-
onPointerDown(event: PointerEvt): boolean;
|
18
|
-
onPointerMove(event: PointerEvt): void;
|
19
|
-
onPointerUp(event: PointerEvt): void;
|
20
|
-
|
21
|
-
// Called if a pointer that has been captured by this listener (by returning
|
22
|
-
// `true` from `onPointerDown`) is re-captured by another listener.
|
23
|
-
//
|
24
|
-
// When called, this method should cancel any changes being made by the current
|
25
|
-
// gesture.
|
26
|
-
onGestureCancel(): void;
|
27
|
-
}
|
28
|
-
|
29
|
-
|
30
|
-
export enum InputEvtType {
|
31
|
-
PointerDownEvt,
|
32
|
-
PointerMoveEvt,
|
33
|
-
PointerUpEvt,
|
34
|
-
GestureCancelEvt,
|
35
|
-
|
36
|
-
WheelEvt,
|
37
|
-
KeyPressEvent,
|
38
|
-
KeyUpEvent,
|
39
|
-
|
40
|
-
CopyEvent,
|
41
|
-
PasteEvent,
|
42
|
-
}
|
43
|
-
|
44
|
-
// [delta.x] is horizontal scroll,
|
45
|
-
// [delta.y] is vertical scroll,
|
46
|
-
// [delta.z] is zoom scroll (ctrl+scroll or pinch zoom)
|
47
|
-
export interface WheelEvt {
|
48
|
-
readonly kind: InputEvtType.WheelEvt;
|
49
|
-
readonly delta: Vec3;
|
50
|
-
readonly screenPos: Point2;
|
51
|
-
}
|
52
|
-
|
53
|
-
export interface KeyPressEvent {
|
54
|
-
readonly kind: InputEvtType.KeyPressEvent;
|
55
|
-
|
56
|
-
// key, as given by an HTML `KeyboardEvent`
|
57
|
-
readonly key: string;
|
58
|
-
|
59
|
-
// If `ctrlKey` is undefined, that is equivalent to `ctrlKey = false`.
|
60
|
-
readonly ctrlKey: boolean|undefined;
|
61
|
-
|
62
|
-
// If falsey, the `alt` key is not pressed.
|
63
|
-
readonly altKey: boolean|undefined;
|
64
|
-
}
|
65
|
-
|
66
|
-
export interface KeyUpEvent {
|
67
|
-
readonly kind: InputEvtType.KeyUpEvent;
|
68
|
-
readonly key: string;
|
69
|
-
|
70
|
-
// As in `KeyPressEvent, if `ctrlKey` is undefined, that is equivalent to
|
71
|
-
// `ctrlKey = false`.
|
72
|
-
readonly ctrlKey: boolean|undefined;
|
73
|
-
readonly altKey: boolean|undefined;
|
74
|
-
}
|
75
|
-
|
76
|
-
export interface CopyEvent {
|
77
|
-
readonly kind: InputEvtType.CopyEvent;
|
78
|
-
setData(mime: string, data: string): void;
|
79
|
-
}
|
80
|
-
|
81
|
-
export interface PasteEvent {
|
82
|
-
readonly kind: InputEvtType.PasteEvent;
|
83
|
-
readonly data: string;
|
84
|
-
readonly mime: string;
|
85
|
-
}
|
86
|
-
|
87
|
-
// Event triggered when pointer capture is taken by a different [PointerEvtListener].
|
88
|
-
export interface GestureCancelEvt {
|
89
|
-
readonly kind: InputEvtType.GestureCancelEvt;
|
90
|
-
}
|
91
|
-
|
92
|
-
interface PointerEvtBase {
|
93
|
-
readonly current: Pointer;
|
94
|
-
readonly allPointers: Pointer[];
|
95
|
-
}
|
96
|
-
|
97
|
-
export interface PointerDownEvt extends PointerEvtBase {
|
98
|
-
readonly kind: InputEvtType.PointerDownEvt;
|
99
|
-
}
|
100
|
-
|
101
|
-
export interface PointerMoveEvt extends PointerEvtBase {
|
102
|
-
readonly kind: InputEvtType.PointerMoveEvt;
|
103
|
-
}
|
104
|
-
|
105
|
-
export interface PointerUpEvt extends PointerEvtBase {
|
106
|
-
readonly kind: InputEvtType.PointerUpEvt;
|
107
|
-
}
|
108
|
-
|
109
|
-
export type PointerEvt = PointerDownEvt | PointerMoveEvt | PointerUpEvt;
|
110
|
-
export type InputEvt = KeyPressEvent | KeyUpEvent | WheelEvt | GestureCancelEvt | PointerEvt | CopyEvent | PasteEvent;
|
111
|
-
|
112
|
-
export type EditorNotifier = EventDispatcher<EditorEventType, EditorEventDataType>;
|
113
|
-
|
114
|
-
export enum EditorEventType {
|
115
|
-
ToolEnabled,
|
116
|
-
ToolDisabled,
|
117
|
-
ToolUpdated,
|
118
|
-
|
119
|
-
UndoRedoStackUpdated,
|
120
|
-
CommandDone,
|
121
|
-
CommandUndone,
|
122
|
-
ObjectAdded,
|
123
|
-
|
124
|
-
ViewportChanged,
|
125
|
-
DisplayResized,
|
126
|
-
|
127
|
-
ColorPickerToggled,
|
128
|
-
ColorPickerColorSelected,
|
129
|
-
ToolbarDropdownShown,
|
130
|
-
}
|
131
|
-
|
132
|
-
// Types of `EditorUndoStackUpdated` events.
|
133
|
-
export enum UndoEventType {
|
134
|
-
CommandDone,
|
135
|
-
CommandUndone,
|
136
|
-
CommandRedone,
|
137
|
-
}
|
138
|
-
|
139
|
-
type EditorToolEventType = EditorEventType.ToolEnabled
|
140
|
-
| EditorEventType.ToolDisabled
|
141
|
-
| EditorEventType.ToolUpdated;
|
142
|
-
|
143
|
-
export interface EditorToolEvent {
|
144
|
-
readonly kind: EditorToolEventType;
|
145
|
-
readonly tool: BaseTool;
|
146
|
-
}
|
147
|
-
|
148
|
-
export interface EditorObjectEvent {
|
149
|
-
readonly kind: EditorEventType.ObjectAdded;
|
150
|
-
readonly object: AbstractComponent;
|
151
|
-
}
|
152
|
-
|
153
|
-
export interface EditorViewportChangedEvent {
|
154
|
-
readonly kind: EditorEventType.ViewportChanged;
|
155
|
-
|
156
|
-
// Canvas -> screen transform
|
157
|
-
readonly newTransform: Mat33;
|
158
|
-
readonly oldTransform: Mat33;
|
159
|
-
}
|
160
|
-
|
161
|
-
export interface DisplayResizedEvent {
|
162
|
-
readonly kind: EditorEventType.DisplayResized;
|
163
|
-
readonly newSize: Vec2;
|
164
|
-
}
|
165
|
-
|
166
|
-
export interface EditorUndoStackUpdated {
|
167
|
-
readonly kind: EditorEventType.UndoRedoStackUpdated;
|
168
|
-
|
169
|
-
readonly undoStackSize: number;
|
170
|
-
readonly redoStackSize: number;
|
171
|
-
|
172
|
-
readonly command?: Command;
|
173
|
-
readonly stackUpdateType: UndoEventType;
|
174
|
-
}
|
175
|
-
|
176
|
-
export interface CommandDoneEvent {
|
177
|
-
readonly kind: EditorEventType.CommandDone;
|
178
|
-
readonly command: Command;
|
179
|
-
}
|
180
|
-
|
181
|
-
export interface CommandUndoneEvent {
|
182
|
-
readonly kind: EditorEventType.CommandUndone;
|
183
|
-
readonly command: Command;
|
184
|
-
}
|
185
|
-
|
186
|
-
export interface ColorPickerToggled {
|
187
|
-
readonly kind: EditorEventType.ColorPickerToggled;
|
188
|
-
readonly open: boolean;
|
189
|
-
}
|
190
|
-
|
191
|
-
export interface ColorPickerColorSelected {
|
192
|
-
readonly kind: EditorEventType.ColorPickerColorSelected;
|
193
|
-
readonly color: Color4;
|
194
|
-
}
|
195
|
-
|
196
|
-
export interface ToolbarDropdownShownEvent {
|
197
|
-
readonly kind: EditorEventType.ToolbarDropdownShown;
|
198
|
-
readonly parentWidget: BaseWidget;
|
199
|
-
}
|
200
|
-
|
201
|
-
export type EditorEventDataType = EditorToolEvent | EditorObjectEvent
|
202
|
-
| EditorViewportChangedEvent | DisplayResizedEvent
|
203
|
-
| EditorUndoStackUpdated | CommandDoneEvent | CommandUndoneEvent
|
204
|
-
| ColorPickerToggled | ColorPickerColorSelected
|
205
|
-
| ToolbarDropdownShownEvent;
|
206
|
-
|
207
|
-
|
208
|
-
// Returns a Promise to indicate that the event source should pause until the Promise resolves.
|
209
|
-
// Returns null to continue loading without pause.
|
210
|
-
// [totalToProcess] can be an estimate and may change if a better estimate becomes available.
|
211
|
-
export type OnProgressListener =
|
212
|
-
(amountProcessed: number, totalToProcess: number)=> Promise<void>|null|void;
|
213
|
-
|
214
|
-
export type ComponentAddedListener = (component: AbstractComponent)=> Promise<void>|void;
|
215
|
-
|
216
|
-
// Called when a new estimate for the import/export rect has been generated. This can be called multiple times.
|
217
|
-
// Only the last call to this listener must be accurate.
|
218
|
-
// The import/export rect is also returned by [start].
|
219
|
-
export type OnDetermineExportRectListener = (exportRect: Rect2)=> void;
|
220
|
-
|
221
|
-
export interface ImageLoader {
|
222
|
-
start(
|
223
|
-
onAddComponent: ComponentAddedListener,
|
224
|
-
onProgressListener: OnProgressListener,
|
225
|
-
onDetermineExportRect?: OnDetermineExportRectListener,
|
226
|
-
): Promise<void>;
|
227
|
-
}
|
228
|
-
|
229
|
-
export interface StrokeDataPoint {
|
230
|
-
pos: Point2;
|
231
|
-
width: number;
|
232
|
-
time: number;
|
233
|
-
color: Color4;
|
234
|
-
}
|
package/src/util/assertions.ts
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
|
2
|
-
/**
|
3
|
-
* Compile-time assertion that a branch of code is unreachable.
|
4
|
-
* @internal
|
5
|
-
*/
|
6
|
-
export const assertUnreachable = (key: never): never => {
|
7
|
-
// See https://stackoverflow.com/a/39419171/17055750
|
8
|
-
throw new Error(`Should be unreachable. Key: ${key}.`);
|
9
|
-
};
|
10
|
-
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Throws an exception if the typeof given value is not a number or `value` is NaN.
|
14
|
-
*
|
15
|
-
* @example
|
16
|
-
* ```ts
|
17
|
-
* const foo: unknown = 3;
|
18
|
-
* assertIsNumber(foo);
|
19
|
-
*
|
20
|
-
* assertIsNumber('hello, world'); // throws an Error.
|
21
|
-
* ```
|
22
|
-
*
|
23
|
-
*
|
24
|
-
*/
|
25
|
-
export const assertIsNumber = (value: any, allowNaN: boolean = false): value is number => {
|
26
|
-
if (typeof value !== 'number' || (!allowNaN && isNaN(value))) {
|
27
|
-
throw new Error('Given value is not a number');
|
28
|
-
// return false;
|
29
|
-
}
|
30
|
-
|
31
|
-
return true;
|
32
|
-
};
|
33
|
-
|
34
|
-
/**
|
35
|
-
* Throws if any of `values` is not of type number.
|
36
|
-
*/
|
37
|
-
export const assertIsNumberArray = (
|
38
|
-
values: any[], allowNaN: boolean = false
|
39
|
-
): values is number[] => {
|
40
|
-
if (typeof values !== 'object') {
|
41
|
-
throw new Error('Asserting isNumberArray: Given entity is not an array');
|
42
|
-
}
|
43
|
-
|
44
|
-
if (!assertIsNumber(values['length'])) {
|
45
|
-
return false;
|
46
|
-
}
|
47
|
-
|
48
|
-
for (const value of values) {
|
49
|
-
if (!assertIsNumber(value, allowNaN)) {
|
50
|
-
return false;
|
51
|
-
}
|
52
|
-
}
|
53
|
-
|
54
|
-
return true;
|
55
|
-
};
|
package/src/util/fileToBase64.ts
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
|
2
|
-
type ProgressListener = (evt: ProgressEvent<FileReader>)=> void;
|
3
|
-
const fileToBase64 = (file: File, onprogress?: ProgressListener): Promise<string|null> => {
|
4
|
-
const reader = new FileReader();
|
5
|
-
|
6
|
-
return new Promise((resolve: (result: string|null)=>void, reject) => {
|
7
|
-
reader.onload = () => resolve(reader.result as string|null);
|
8
|
-
reader.onerror = reject;
|
9
|
-
reader.onabort = reject;
|
10
|
-
reader.onprogress = (evt) => {
|
11
|
-
onprogress?.(evt);
|
12
|
-
};
|
13
|
-
|
14
|
-
reader.readAsDataURL(file);
|
15
|
-
});
|
16
|
-
};
|
17
|
-
|
18
|
-
export default fileToBase64;
|