js-draw 0.25.1 → 1.0.0
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/README.md +60 -20
- package/build-config.json +22 -21
- package/dist/Editor.css +1281 -0
- package/dist/bundle.js +3 -3
- package/dist/bundledStyles.js +1 -1
- package/dist/cjs/Editor.d.ts +91 -12
- package/dist/cjs/Editor.js +619 -590
- package/dist/cjs/EditorImage.d.ts +5 -2
- package/dist/cjs/EditorImage.js +258 -297
- package/dist/cjs/EventDispatcher.js +17 -19
- package/dist/cjs/Pointer.d.ts +3 -1
- package/dist/cjs/Pointer.js +41 -44
- package/dist/cjs/SVGLoader.d.ts +7 -1
- package/dist/cjs/SVGLoader.js +373 -474
- package/dist/cjs/UndoRedoHistory.js +28 -40
- package/dist/cjs/Viewport.d.ts +1 -4
- package/dist/cjs/Viewport.js +150 -193
- package/dist/cjs/bundle/bundled.js +4 -1
- package/dist/cjs/commands/Command.js +22 -49
- package/dist/cjs/commands/Duplicate.js +28 -44
- package/dist/cjs/commands/Erase.js +36 -54
- package/dist/cjs/commands/SerializableCommand.js +20 -35
- package/dist/cjs/commands/UnresolvedCommand.js +14 -29
- package/dist/cjs/commands/invertCommand.js +29 -51
- package/dist/cjs/commands/lib.js +9 -6
- package/dist/cjs/commands/localization.d.ts +1 -1
- package/dist/cjs/commands/localization.js +9 -9
- package/dist/cjs/commands/uniteCommands.js +57 -87
- package/dist/cjs/components/AbstractComponent.d.ts +11 -3
- package/dist/cjs/components/AbstractComponent.js +141 -169
- package/dist/cjs/components/BackgroundComponent.d.ts +3 -6
- package/dist/cjs/components/BackgroundComponent.js +124 -149
- package/dist/cjs/components/ImageComponent.d.ts +3 -5
- package/dist/cjs/components/ImageComponent.js +95 -175
- package/dist/cjs/components/RestylableComponent.d.ts +1 -1
- package/dist/cjs/components/RestylableComponent.js +41 -56
- package/dist/cjs/components/SVGGlobalAttributesObject.d.ts +1 -3
- package/dist/cjs/components/SVGGlobalAttributesObject.js +34 -51
- package/dist/cjs/components/Stroke.d.ts +4 -6
- package/dist/cjs/components/Stroke.js +95 -121
- package/dist/cjs/components/TextComponent.d.ts +2 -4
- package/dist/cjs/components/TextComponent.js +189 -234
- package/dist/cjs/components/UnknownSVGObject.d.ts +1 -3
- package/dist/cjs/components/UnknownSVGObject.js +30 -43
- package/dist/cjs/components/builders/ArrowBuilder.d.ts +1 -1
- package/dist/cjs/components/builders/ArrowBuilder.js +43 -42
- package/dist/cjs/components/builders/CircleBuilder.js +43 -43
- package/dist/cjs/components/builders/FreehandLineBuilder.d.ts +3 -2
- package/dist/cjs/components/builders/FreehandLineBuilder.js +73 -86
- package/dist/cjs/components/builders/LineBuilder.d.ts +1 -1
- package/dist/cjs/components/builders/LineBuilder.js +38 -36
- package/dist/cjs/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +1 -1
- package/dist/cjs/components/builders/PressureSensitiveFreehandLineBuilder.js +131 -139
- package/dist/cjs/components/builders/RectangleBuilder.d.ts +1 -1
- package/dist/cjs/components/builders/RectangleBuilder.js +31 -31
- package/dist/cjs/components/builders/types.d.ts +1 -1
- package/dist/cjs/components/lib.d.ts +3 -1
- package/dist/cjs/components/lib.js +10 -7
- package/dist/cjs/components/localization.js +4 -4
- package/dist/cjs/components/util/StrokeSmoother.d.ts +1 -2
- package/dist/cjs/components/util/StrokeSmoother.js +67 -72
- package/dist/cjs/components/util/describeComponentList.d.ts +1 -1
- package/dist/cjs/components/util/describeComponentList.js +4 -5
- package/dist/cjs/dialogs/makeAboutDialog.d.ts +15 -0
- package/dist/cjs/dialogs/makeAboutDialog.js +54 -0
- package/dist/cjs/inputEvents.d.ts +84 -0
- package/dist/cjs/inputEvents.js +40 -0
- package/dist/cjs/lib.d.ts +29 -13
- package/dist/cjs/lib.js +38 -23
- package/dist/cjs/localization.js +19 -18
- package/dist/cjs/localizations/de.js +117 -13
- package/dist/cjs/localizations/en.js +4 -13
- package/dist/cjs/localizations/es.js +62 -23
- package/dist/cjs/localizations/getLocalizationTable.js +15 -13
- package/dist/cjs/rendering/Display.d.ts +1 -2
- package/dist/cjs/rendering/Display.js +70 -83
- package/dist/cjs/rendering/RenderablePathSpec.d.ts +15 -0
- package/dist/cjs/rendering/RenderablePathSpec.js +70 -0
- package/dist/cjs/rendering/RenderingStyle.d.ts +4 -4
- package/dist/cjs/rendering/RenderingStyle.js +18 -28
- package/dist/cjs/rendering/TextRenderingStyle.d.ts +10 -10
- package/dist/cjs/rendering/TextRenderingStyle.js +13 -18
- package/dist/cjs/rendering/caching/CacheRecord.d.ts +1 -2
- package/dist/cjs/rendering/caching/CacheRecord.js +20 -22
- package/dist/cjs/rendering/caching/CacheRecordManager.d.ts +1 -1
- package/dist/cjs/rendering/caching/CacheRecordManager.js +17 -15
- package/dist/cjs/rendering/caching/RenderingCache.js +19 -19
- package/dist/cjs/rendering/caching/RenderingCacheNode.d.ts +1 -1
- package/dist/cjs/rendering/caching/RenderingCacheNode.js +98 -118
- package/dist/cjs/rendering/caching/testUtils.js +24 -23
- package/dist/cjs/rendering/caching/types.d.ts +3 -3
- package/dist/cjs/rendering/lib.js +8 -5
- package/dist/cjs/rendering/localization.js +5 -5
- package/dist/cjs/rendering/renderers/AbstractRenderer.d.ts +2 -11
- package/dist/cjs/rendering/renderers/AbstractRenderer.js +53 -57
- package/dist/cjs/rendering/renderers/CanvasRenderer.d.ts +3 -5
- package/dist/cjs/rendering/renderers/CanvasRenderer.js +91 -106
- package/dist/cjs/rendering/renderers/DummyRenderer.d.ts +1 -4
- package/dist/cjs/rendering/renderers/DummyRenderer.js +56 -76
- package/dist/cjs/rendering/renderers/SVGRenderer.d.ts +5 -5
- package/dist/cjs/rendering/renderers/SVGRenderer.js +194 -176
- package/dist/cjs/rendering/renderers/TextOnlyRenderer.d.ts +1 -3
- package/dist/cjs/rendering/renderers/TextOnlyRenderer.js +47 -72
- package/dist/cjs/shortcuts/KeyBinding.d.ts +5 -0
- package/dist/cjs/shortcuts/KeyBinding.js +94 -70
- package/dist/cjs/shortcuts/KeyboardShortcutManager.d.ts +1 -1
- package/dist/cjs/shortcuts/KeyboardShortcutManager.js +36 -45
- package/dist/cjs/shortcuts/lib.js +5 -2
- package/dist/cjs/testing/createEditor.js +7 -4
- package/dist/cjs/testing/getUniquePointerId.js +4 -5
- package/dist/cjs/testing/lib.js +5 -2
- package/dist/cjs/testing/sendPenEvent.d.ts +2 -2
- package/dist/cjs/testing/sendPenEvent.js +10 -7
- package/dist/cjs/testing/sendTouchEvent.d.ts +2 -2
- package/dist/cjs/testing/sendTouchEvent.js +34 -16
- package/dist/cjs/toolbar/AbstractToolbar.d.ts +166 -0
- package/dist/cjs/toolbar/AbstractToolbar.js +410 -0
- package/dist/cjs/toolbar/DropdownToolbar.d.ts +43 -0
- package/dist/cjs/toolbar/DropdownToolbar.js +176 -0
- package/dist/cjs/toolbar/EdgeToolbar.d.ts +47 -0
- package/dist/cjs/toolbar/EdgeToolbar.js +422 -0
- package/dist/cjs/toolbar/IconProvider.d.ts +54 -30
- package/dist/cjs/toolbar/IconProvider.js +652 -224
- package/dist/cjs/toolbar/constants.d.ts +1 -0
- package/dist/cjs/toolbar/constants.js +4 -0
- package/dist/cjs/toolbar/lib.d.ts +4 -2
- package/dist/cjs/toolbar/lib.js +10 -3
- package/dist/cjs/toolbar/localization.d.ts +9 -2
- package/dist/cjs/toolbar/localization.js +26 -19
- package/dist/cjs/toolbar/types.d.ts +7 -0
- package/dist/cjs/toolbar/widgets/ActionButtonWidget.d.ts +1 -1
- package/dist/cjs/toolbar/widgets/ActionButtonWidget.js +23 -39
- package/dist/cjs/toolbar/widgets/BaseToolWidget.d.ts +1 -1
- package/dist/cjs/toolbar/widgets/BaseToolWidget.js +35 -37
- package/dist/cjs/toolbar/widgets/BaseWidget.d.ts +60 -5
- package/dist/cjs/toolbar/widgets/BaseWidget.js +232 -177
- package/dist/cjs/toolbar/widgets/DocumentPropertiesWidget.js +130 -117
- package/dist/cjs/toolbar/widgets/EraserToolWidget.d.ts +1 -3
- package/dist/cjs/toolbar/widgets/EraserToolWidget.js +45 -73
- package/dist/cjs/toolbar/widgets/HandToolWidget.d.ts +1 -0
- package/dist/cjs/toolbar/widgets/HandToolWidget.js +126 -141
- package/dist/cjs/toolbar/widgets/InsertImageWidget.d.ts +9 -7
- package/dist/cjs/toolbar/widgets/InsertImageWidget.js +147 -212
- package/dist/cjs/toolbar/widgets/OverflowWidget.js +33 -61
- package/dist/cjs/toolbar/widgets/PenToolWidget.d.ts +8 -1
- package/dist/cjs/toolbar/widgets/PenToolWidget.js +162 -234
- package/dist/cjs/toolbar/widgets/SelectionToolWidget.d.ts +3 -1
- package/dist/cjs/toolbar/widgets/SelectionToolWidget.js +105 -177
- package/dist/cjs/toolbar/widgets/TextToolWidget.js +64 -87
- package/dist/cjs/toolbar/widgets/components/makeColorInput.d.ts +10 -0
- package/dist/cjs/toolbar/{makeColorInput.js → widgets/components/makeColorInput.js} +57 -34
- package/dist/cjs/toolbar/widgets/components/makeFileInput.d.ts +12 -0
- package/dist/cjs/toolbar/widgets/components/makeFileInput.js +111 -0
- package/dist/cjs/toolbar/widgets/components/makeGridSelector.d.ts +24 -0
- package/dist/cjs/toolbar/widgets/components/makeGridSelector.js +127 -0
- package/dist/cjs/toolbar/widgets/components/makeSeparator.d.ts +7 -0
- package/dist/cjs/toolbar/widgets/components/makeSeparator.js +16 -0
- package/dist/cjs/toolbar/widgets/components/makeThicknessSlider.d.ts +8 -0
- package/dist/cjs/toolbar/widgets/components/makeThicknessSlider.js +47 -0
- package/dist/cjs/toolbar/widgets/keybindings.js +8 -5
- package/dist/cjs/toolbar/widgets/layout/DropdownLayoutManager.d.ts +21 -0
- package/dist/cjs/toolbar/widgets/layout/DropdownLayoutManager.js +199 -0
- package/dist/cjs/toolbar/widgets/layout/EdgeToolbarLayoutManager.d.ts +14 -0
- package/dist/cjs/toolbar/widgets/layout/EdgeToolbarLayoutManager.js +60 -0
- package/dist/cjs/toolbar/widgets/layout/types.d.ts +63 -0
- package/dist/cjs/toolbar/widgets/layout/types.js +2 -0
- package/dist/cjs/toolbar/widgets/lib.d.ts +1 -1
- package/dist/cjs/toolbar/widgets/lib.js +15 -11
- package/dist/cjs/tools/BaseTool.d.ts +28 -9
- package/dist/cjs/tools/BaseTool.js +128 -51
- package/dist/cjs/tools/Eraser.d.ts +8 -1
- package/dist/cjs/tools/Eraser.js +82 -92
- package/dist/cjs/tools/FindTool.d.ts +1 -1
- package/dist/cjs/tools/FindTool.js +61 -77
- package/dist/cjs/tools/InputFilter/FunctionMapper.d.ts +12 -0
- package/dist/cjs/tools/InputFilter/FunctionMapper.js +21 -0
- package/dist/cjs/tools/InputFilter/InputMapper.d.ts +23 -0
- package/dist/cjs/tools/InputFilter/InputMapper.js +38 -0
- package/dist/cjs/tools/InputFilter/InputPipeline.d.ts +15 -0
- package/dist/cjs/tools/InputFilter/InputPipeline.js +54 -0
- package/dist/cjs/tools/InputFilter/InputStabilizer.d.ts +29 -0
- package/dist/cjs/tools/InputFilter/InputStabilizer.js +181 -0
- package/dist/cjs/tools/InputFilter/StrokeKeyboardControl.d.ts +21 -0
- package/dist/cjs/tools/InputFilter/StrokeKeyboardControl.js +84 -0
- package/dist/cjs/tools/PanZoom.d.ts +4 -2
- package/dist/cjs/tools/PanZoom.js +186 -248
- package/dist/cjs/tools/PasteHandler.d.ts +1 -1
- package/dist/cjs/tools/PasteHandler.js +49 -148
- package/dist/cjs/tools/Pen.d.ts +12 -11
- package/dist/cjs/tools/Pen.js +123 -158
- package/dist/cjs/tools/PipetteTool.d.ts +11 -2
- package/dist/cjs/tools/PipetteTool.js +51 -48
- package/dist/cjs/tools/SelectionTool/SelectAllShortcutHandler.d.ts +1 -1
- package/dist/cjs/tools/SelectionTool/SelectAllShortcutHandler.js +15 -30
- package/dist/cjs/tools/SelectionTool/Selection.d.ts +5 -5
- package/dist/cjs/tools/SelectionTool/Selection.js +308 -415
- package/dist/cjs/tools/SelectionTool/SelectionHandle.d.ts +15 -5
- package/dist/cjs/tools/SelectionTool/SelectionHandle.js +63 -37
- package/dist/cjs/tools/SelectionTool/SelectionTool.d.ts +4 -4
- package/dist/cjs/tools/SelectionTool/SelectionTool.js +164 -187
- package/dist/cjs/tools/SelectionTool/TransformMode.d.ts +1 -1
- package/dist/cjs/tools/SelectionTool/TransformMode.js +65 -66
- package/dist/cjs/tools/SoundUITool.d.ts +2 -1
- package/dist/cjs/tools/SoundUITool.js +70 -84
- package/dist/cjs/tools/TextTool.d.ts +5 -3
- package/dist/cjs/tools/TextTool.js +169 -173
- package/dist/cjs/tools/ToolController.d.ts +16 -2
- package/dist/cjs/tools/ToolController.js +124 -100
- package/dist/cjs/tools/ToolEnabledGroup.js +6 -9
- package/dist/cjs/tools/ToolSwitcherShortcut.d.ts +1 -1
- package/dist/cjs/tools/ToolSwitcherShortcut.js +16 -32
- package/dist/cjs/tools/ToolbarShortcutHandler.d.ts +1 -1
- package/dist/cjs/tools/ToolbarShortcutHandler.js +17 -33
- package/dist/cjs/tools/UndoRedoShortcut.d.ts +1 -1
- package/dist/cjs/tools/UndoRedoShortcut.js +12 -27
- package/dist/cjs/tools/keybindings.js +21 -18
- package/dist/cjs/tools/lib.js +17 -14
- package/dist/cjs/tools/localization.d.ts +2 -1
- package/dist/cjs/tools/localization.js +8 -7
- package/dist/cjs/types.d.ts +22 -80
- package/dist/cjs/types.js +8 -16
- package/dist/cjs/util/ReactiveValue.d.ts +65 -0
- package/dist/cjs/util/ReactiveValue.js +166 -0
- package/dist/cjs/util/assertions.js +5 -8
- package/dist/cjs/util/fileToBase64.js +6 -6
- package/dist/cjs/util/guessKeyCodeFromKey.d.ts +9 -0
- package/dist/cjs/util/guessKeyCodeFromKey.js +32 -0
- package/dist/cjs/util/listPrefixMatch.d.ts +6 -0
- package/dist/cjs/util/listPrefixMatch.js +17 -0
- package/dist/cjs/util/stopPropagationOfScrollingWheelEvents.d.ts +2 -0
- package/dist/cjs/util/stopPropagationOfScrollingWheelEvents.js +17 -0
- package/dist/cjs/util/untilNextAnimationFrame.js +3 -3
- package/dist/cjs/util/waitForAll.js +3 -3
- package/dist/cjs/util/waitForTimeout.js +3 -3
- package/dist/cjs/version.d.ts +4 -0
- package/dist/cjs/version.js +5 -0
- package/dist/mjs/Editor.d.ts +91 -12
- package/dist/mjs/Editor.mjs +565 -563
- package/dist/mjs/EditorImage.d.ts +5 -2
- package/dist/mjs/EditorImage.mjs +248 -291
- package/dist/mjs/EventDispatcher.mjs +17 -20
- package/dist/mjs/Pointer.d.ts +3 -1
- package/dist/mjs/Pointer.mjs +40 -44
- package/dist/mjs/SVGLoader.d.ts +7 -1
- package/dist/mjs/SVGLoader.mjs +338 -466
- package/dist/mjs/UndoRedoHistory.mjs +27 -39
- package/dist/mjs/Viewport.d.ts +1 -4
- package/dist/mjs/Viewport.mjs +139 -187
- package/dist/mjs/commands/Command.mjs +21 -49
- package/dist/mjs/commands/Duplicate.mjs +22 -41
- package/dist/mjs/commands/Erase.mjs +30 -51
- package/dist/mjs/commands/SerializableCommand.mjs +16 -34
- package/dist/mjs/commands/UnresolvedCommand.mjs +10 -29
- package/dist/mjs/commands/invertCommand.mjs +24 -49
- package/dist/mjs/commands/localization.d.ts +1 -1
- package/dist/mjs/commands/localization.mjs +10 -10
- package/dist/mjs/commands/uniteCommands.mjs +52 -85
- package/dist/mjs/components/AbstractComponent.d.ts +11 -3
- package/dist/mjs/components/AbstractComponent.mjs +135 -166
- package/dist/mjs/components/BackgroundComponent.d.ts +3 -6
- package/dist/mjs/components/BackgroundComponent.mjs +107 -136
- package/dist/mjs/components/ImageComponent.d.ts +3 -5
- package/dist/mjs/components/ImageComponent.mjs +90 -174
- package/dist/mjs/components/RestylableComponent.d.ts +1 -1
- package/dist/mjs/components/RestylableComponent.mjs +35 -53
- package/dist/mjs/components/SVGGlobalAttributesObject.d.ts +1 -3
- package/dist/mjs/components/SVGGlobalAttributesObject.mjs +29 -50
- package/dist/mjs/components/Stroke.d.ts +4 -6
- package/dist/mjs/components/Stroke.mjs +89 -119
- package/dist/mjs/components/TextComponent.d.ts +2 -4
- package/dist/mjs/components/TextComponent.mjs +180 -228
- package/dist/mjs/components/UnknownSVGObject.d.ts +1 -3
- package/dist/mjs/components/UnknownSVGObject.mjs +26 -43
- package/dist/mjs/components/builders/ArrowBuilder.d.ts +1 -1
- package/dist/mjs/components/builders/ArrowBuilder.mjs +32 -35
- package/dist/mjs/components/builders/CircleBuilder.mjs +35 -38
- package/dist/mjs/components/builders/FreehandLineBuilder.d.ts +3 -2
- package/dist/mjs/components/builders/FreehandLineBuilder.mjs +52 -69
- package/dist/mjs/components/builders/LineBuilder.d.ts +1 -1
- package/dist/mjs/components/builders/LineBuilder.mjs +30 -32
- package/dist/mjs/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +1 -1
- package/dist/mjs/components/builders/PressureSensitiveFreehandLineBuilder.mjs +103 -115
- package/dist/mjs/components/builders/RectangleBuilder.d.ts +1 -1
- package/dist/mjs/components/builders/RectangleBuilder.mjs +27 -31
- package/dist/mjs/components/builders/types.d.ts +1 -1
- package/dist/mjs/components/lib.d.ts +3 -1
- package/dist/mjs/components/lib.mjs +1 -1
- package/dist/mjs/components/localization.mjs +5 -5
- package/dist/mjs/components/util/StrokeSmoother.d.ts +1 -2
- package/dist/mjs/components/util/StrokeSmoother.mjs +63 -69
- package/dist/mjs/components/util/describeComponentList.d.ts +1 -1
- package/dist/mjs/components/util/describeComponentList.mjs +4 -5
- package/dist/mjs/dialogs/makeAboutDialog.d.ts +15 -0
- package/dist/mjs/dialogs/makeAboutDialog.mjs +52 -0
- package/dist/mjs/inputEvents.d.ts +84 -0
- package/dist/mjs/inputEvents.mjs +34 -0
- package/dist/mjs/lib.d.ts +29 -13
- package/dist/mjs/lib.mjs +30 -13
- package/dist/mjs/localization.mjs +14 -13
- package/dist/mjs/localizations/de.mjs +116 -12
- package/dist/mjs/localizations/en.mjs +3 -12
- package/dist/mjs/localizations/es.mjs +61 -22
- package/dist/mjs/localizations/getLocalizationTable.mjs +12 -13
- package/dist/mjs/rendering/Display.d.ts +1 -2
- package/dist/mjs/rendering/Display.mjs +62 -79
- package/dist/mjs/rendering/RenderablePathSpec.d.ts +15 -0
- package/dist/mjs/rendering/RenderablePathSpec.mjs +64 -0
- package/dist/mjs/rendering/RenderingStyle.d.ts +4 -4
- package/dist/mjs/rendering/RenderingStyle.mjs +16 -26
- package/dist/mjs/rendering/TextRenderingStyle.d.ts +10 -10
- package/dist/mjs/rendering/TextRenderingStyle.mjs +12 -17
- package/dist/mjs/rendering/caching/CacheRecord.d.ts +1 -2
- package/dist/mjs/rendering/caching/CacheRecord.mjs +20 -23
- package/dist/mjs/rendering/caching/CacheRecordManager.d.ts +1 -1
- package/dist/mjs/rendering/caching/CacheRecordManager.mjs +13 -15
- package/dist/mjs/rendering/caching/RenderingCache.mjs +13 -17
- package/dist/mjs/rendering/caching/RenderingCacheNode.d.ts +1 -1
- package/dist/mjs/rendering/caching/RenderingCacheNode.mjs +94 -115
- package/dist/mjs/rendering/caching/testUtils.mjs +19 -21
- package/dist/mjs/rendering/caching/types.d.ts +3 -3
- package/dist/mjs/rendering/localization.mjs +6 -6
- package/dist/mjs/rendering/renderers/AbstractRenderer.d.ts +2 -11
- package/dist/mjs/rendering/renderers/AbstractRenderer.mjs +47 -52
- package/dist/mjs/rendering/renderers/CanvasRenderer.d.ts +3 -5
- package/dist/mjs/rendering/renderers/CanvasRenderer.mjs +84 -103
- package/dist/mjs/rendering/renderers/DummyRenderer.d.ts +1 -4
- package/dist/mjs/rendering/renderers/DummyRenderer.mjs +51 -75
- package/dist/mjs/rendering/renderers/SVGRenderer.d.ts +5 -5
- package/dist/mjs/rendering/renderers/SVGRenderer.mjs +185 -171
- package/dist/mjs/rendering/renderers/TextOnlyRenderer.d.ts +1 -3
- package/dist/mjs/rendering/renderers/TextOnlyRenderer.mjs +43 -72
- package/dist/mjs/shortcuts/KeyBinding.d.ts +5 -0
- package/dist/mjs/shortcuts/KeyBinding.mjs +94 -71
- package/dist/mjs/shortcuts/KeyboardShortcutManager.d.ts +1 -1
- package/dist/mjs/shortcuts/KeyboardShortcutManager.mjs +32 -44
- package/dist/mjs/testing/createEditor.mjs +2 -2
- package/dist/mjs/testing/getUniquePointerId.mjs +4 -5
- package/dist/mjs/testing/sendPenEvent.d.ts +2 -2
- package/dist/mjs/testing/sendPenEvent.mjs +5 -5
- package/dist/mjs/testing/sendTouchEvent.d.ts +2 -2
- package/dist/mjs/testing/sendTouchEvent.mjs +8 -16
- package/dist/mjs/toolbar/AbstractToolbar.d.ts +166 -0
- package/dist/mjs/toolbar/AbstractToolbar.mjs +405 -0
- package/dist/mjs/toolbar/DropdownToolbar.d.ts +43 -0
- package/dist/mjs/toolbar/DropdownToolbar.mjs +168 -0
- package/dist/mjs/toolbar/EdgeToolbar.d.ts +47 -0
- package/dist/mjs/toolbar/EdgeToolbar.mjs +414 -0
- package/dist/mjs/toolbar/IconProvider.d.ts +54 -30
- package/dist/mjs/toolbar/IconProvider.mjs +644 -219
- package/dist/mjs/toolbar/constants.d.ts +1 -0
- package/dist/mjs/toolbar/constants.mjs +1 -0
- package/dist/mjs/toolbar/lib.d.ts +4 -2
- package/dist/mjs/toolbar/lib.mjs +3 -1
- package/dist/mjs/toolbar/localization.d.ts +9 -2
- package/dist/mjs/toolbar/localization.mjs +27 -20
- package/dist/mjs/toolbar/types.d.ts +7 -0
- package/dist/mjs/toolbar/widgets/ActionButtonWidget.d.ts +1 -1
- package/dist/mjs/toolbar/widgets/ActionButtonWidget.mjs +19 -39
- package/dist/mjs/toolbar/widgets/BaseToolWidget.d.ts +1 -1
- package/dist/mjs/toolbar/widgets/BaseToolWidget.mjs +30 -36
- package/dist/mjs/toolbar/widgets/BaseWidget.d.ts +60 -5
- package/dist/mjs/toolbar/widgets/BaseWidget.mjs +227 -176
- package/dist/mjs/toolbar/widgets/DocumentPropertiesWidget.mjs +98 -111
- package/dist/mjs/toolbar/widgets/EraserToolWidget.d.ts +1 -3
- package/dist/mjs/toolbar/widgets/EraserToolWidget.mjs +41 -73
- package/dist/mjs/toolbar/widgets/HandToolWidget.d.ts +1 -0
- package/dist/mjs/toolbar/widgets/HandToolWidget.mjs +94 -136
- package/dist/mjs/toolbar/widgets/InsertImageWidget.d.ts +9 -7
- package/dist/mjs/toolbar/widgets/InsertImageWidget.mjs +140 -208
- package/dist/mjs/toolbar/widgets/OverflowWidget.mjs +30 -62
- package/dist/mjs/toolbar/widgets/PenToolWidget.d.ts +8 -1
- package/dist/mjs/toolbar/widgets/PenToolWidget.mjs +150 -225
- package/dist/mjs/toolbar/widgets/SelectionToolWidget.d.ts +3 -1
- package/dist/mjs/toolbar/widgets/SelectionToolWidget.mjs +97 -173
- package/dist/mjs/toolbar/widgets/TextToolWidget.mjs +59 -85
- package/dist/mjs/toolbar/widgets/components/makeColorInput.d.ts +10 -0
- package/dist/mjs/toolbar/{makeColorInput.mjs → widgets/components/makeColorInput.mjs} +53 -33
- package/dist/mjs/toolbar/widgets/components/makeFileInput.d.ts +12 -0
- package/dist/mjs/toolbar/widgets/components/makeFileInput.mjs +106 -0
- package/dist/mjs/toolbar/widgets/components/makeGridSelector.d.ts +24 -0
- package/dist/mjs/toolbar/widgets/components/makeGridSelector.mjs +122 -0
- package/dist/mjs/toolbar/widgets/components/makeSeparator.d.ts +7 -0
- package/dist/mjs/toolbar/widgets/components/makeSeparator.mjs +14 -0
- package/dist/mjs/toolbar/widgets/components/makeThicknessSlider.d.ts +8 -0
- package/dist/mjs/toolbar/widgets/components/makeThicknessSlider.mjs +45 -0
- package/dist/mjs/toolbar/widgets/keybindings.mjs +5 -5
- package/dist/mjs/toolbar/widgets/layout/DropdownLayoutManager.d.ts +21 -0
- package/dist/mjs/toolbar/widgets/layout/DropdownLayoutManager.mjs +193 -0
- package/dist/mjs/toolbar/widgets/layout/EdgeToolbarLayoutManager.d.ts +14 -0
- package/dist/mjs/toolbar/widgets/layout/EdgeToolbarLayoutManager.mjs +57 -0
- package/dist/mjs/toolbar/widgets/layout/types.d.ts +63 -0
- package/dist/mjs/toolbar/widgets/lib.d.ts +1 -1
- package/dist/mjs/toolbar/widgets/lib.mjs +1 -1
- package/dist/mjs/tools/BaseTool.d.ts +28 -9
- package/dist/mjs/tools/BaseTool.mjs +127 -50
- package/dist/mjs/tools/Eraser.d.ts +8 -1
- package/dist/mjs/tools/Eraser.mjs +72 -86
- package/dist/mjs/tools/FindTool.d.ts +1 -1
- package/dist/mjs/tools/FindTool.mjs +55 -75
- package/dist/mjs/tools/InputFilter/FunctionMapper.d.ts +12 -0
- package/dist/mjs/tools/InputFilter/FunctionMapper.mjs +15 -0
- package/dist/mjs/tools/InputFilter/InputMapper.d.ts +23 -0
- package/dist/mjs/tools/InputFilter/InputMapper.mjs +36 -0
- package/dist/mjs/tools/InputFilter/InputPipeline.d.ts +15 -0
- package/dist/mjs/tools/InputFilter/InputPipeline.mjs +49 -0
- package/dist/mjs/tools/InputFilter/InputStabilizer.d.ts +29 -0
- package/dist/mjs/tools/InputFilter/InputStabilizer.mjs +175 -0
- package/dist/mjs/tools/InputFilter/StrokeKeyboardControl.d.ts +21 -0
- package/dist/mjs/tools/InputFilter/StrokeKeyboardControl.mjs +78 -0
- package/dist/mjs/tools/PanZoom.d.ts +4 -2
- package/dist/mjs/tools/PanZoom.mjs +169 -235
- package/dist/mjs/tools/PasteHandler.d.ts +1 -1
- package/dist/mjs/tools/PasteHandler.mjs +42 -145
- package/dist/mjs/tools/Pen.d.ts +12 -11
- package/dist/mjs/tools/Pen.mjs +115 -154
- package/dist/mjs/tools/PipetteTool.d.ts +11 -2
- package/dist/mjs/tools/PipetteTool.mjs +47 -48
- package/dist/mjs/tools/SelectionTool/SelectAllShortcutHandler.d.ts +1 -1
- package/dist/mjs/tools/SelectionTool/SelectAllShortcutHandler.mjs +9 -28
- package/dist/mjs/tools/SelectionTool/Selection.d.ts +5 -5
- package/dist/mjs/tools/SelectionTool/Selection.mjs +268 -401
- package/dist/mjs/tools/SelectionTool/SelectionHandle.d.ts +15 -5
- package/dist/mjs/tools/SelectionTool/SelectionHandle.mjs +62 -37
- package/dist/mjs/tools/SelectionTool/SelectionTool.d.ts +4 -4
- package/dist/mjs/tools/SelectionTool/SelectionTool.mjs +153 -179
- package/dist/mjs/tools/SelectionTool/TransformMode.d.ts +1 -1
- package/dist/mjs/tools/SelectionTool/TransformMode.mjs +52 -59
- package/dist/mjs/tools/SoundUITool.d.ts +2 -1
- package/dist/mjs/tools/SoundUITool.mjs +66 -84
- package/dist/mjs/tools/TextTool.d.ts +5 -3
- package/dist/mjs/tools/TextTool.mjs +155 -163
- package/dist/mjs/tools/ToolController.d.ts +16 -2
- package/dist/mjs/tools/ToolController.mjs +81 -84
- package/dist/mjs/tools/ToolEnabledGroup.mjs +6 -10
- package/dist/mjs/tools/ToolSwitcherShortcut.d.ts +1 -1
- package/dist/mjs/tools/ToolSwitcherShortcut.mjs +12 -32
- package/dist/mjs/tools/ToolbarShortcutHandler.d.ts +1 -1
- package/dist/mjs/tools/ToolbarShortcutHandler.mjs +13 -33
- package/dist/mjs/tools/UndoRedoShortcut.d.ts +1 -1
- package/dist/mjs/tools/UndoRedoShortcut.mjs +7 -26
- package/dist/mjs/tools/keybindings.mjs +34 -34
- package/dist/mjs/tools/localization.d.ts +2 -1
- package/dist/mjs/tools/localization.mjs +9 -8
- package/dist/mjs/types.d.ts +22 -80
- package/dist/mjs/types.mjs +7 -15
- package/dist/mjs/util/ReactiveValue.d.ts +65 -0
- package/dist/mjs/util/ReactiveValue.mjs +161 -0
- package/dist/mjs/util/assertions.mjs +5 -8
- package/dist/mjs/util/fileToBase64.mjs +6 -6
- package/dist/mjs/util/guessKeyCodeFromKey.d.ts +9 -0
- package/dist/mjs/util/guessKeyCodeFromKey.mjs +30 -0
- package/dist/mjs/util/listPrefixMatch.d.ts +6 -0
- package/dist/mjs/util/listPrefixMatch.mjs +15 -0
- package/dist/mjs/util/stopPropagationOfScrollingWheelEvents.d.ts +2 -0
- package/dist/mjs/util/stopPropagationOfScrollingWheelEvents.mjs +15 -0
- package/dist/mjs/util/untilNextAnimationFrame.mjs +3 -3
- package/dist/mjs/util/waitForAll.mjs +3 -3
- package/dist/mjs/util/waitForTimeout.mjs +3 -3
- package/dist/mjs/version.d.ts +4 -0
- package/dist/mjs/version.mjs +3 -0
- package/package.json +11 -22
- package/src/Coloris.css +8 -8
- package/src/Editor.scss +148 -0
- package/src/dialogs/dialogs.scss +36 -0
- package/src/dialogs/makeAboutDialog.scss +41 -0
- package/src/styles.js +1 -1
- package/src/toolbar/{toolbar.css → AbstractToolbar.scss} +47 -85
- package/src/toolbar/DropdownToolbar.scss +46 -0
- package/src/toolbar/EdgeToolbar.scss +511 -0
- package/src/toolbar/toolbar.scss +11 -0
- package/src/toolbar/widgets/DocumentPropertiesWidget.scss +7 -0
- package/src/toolbar/widgets/HandToolWidget.scss +14 -0
- package/src/toolbar/widgets/InsertImageWidget.scss +41 -0
- package/src/toolbar/widgets/PenToolWidget.css +0 -51
- package/src/toolbar/widgets/SelectionToolWidget.scss +6 -0
- package/src/toolbar/widgets/components/components.scss +5 -0
- package/src/toolbar/widgets/components/makeColorInput.scss +82 -0
- package/src/toolbar/widgets/components/makeFileInput.scss +77 -0
- package/src/toolbar/widgets/components/makeGridSelector.scss +60 -0
- package/src/toolbar/widgets/components/makeSeparator.scss +14 -0
- package/src/toolbar/widgets/components/makeThicknessSlider.scss +9 -0
- package/src/tools/FindTool.css +3 -3
- package/src/tools/SelectionTool/SelectionTool.css +23 -11
- package/src/tools/tools.scss +4 -0
- package/tsconfig.json +1 -1
- package/typedoc.json +4 -0
- package/dist/cjs/Color4.d.ts +0 -69
- package/dist/cjs/Color4.js +0 -263
- package/dist/cjs/Editor.loadFrom.test.d.ts +0 -1
- package/dist/cjs/Editor.toSVG.test.d.ts +0 -1
- package/dist/cjs/EditorImage.test.d.ts +0 -1
- package/dist/cjs/EventDispatcher.test.d.ts +0 -1
- package/dist/cjs/SVGLoader.test.d.ts +0 -1
- package/dist/cjs/UndoRedoHistory.test.d.ts +0 -1
- package/dist/cjs/commands/uniteCommands.test.d.ts +0 -1
- package/dist/cjs/components/AbstractComponent.transformBy.test.d.ts +0 -1
- package/dist/cjs/components/BackgroundComponent.test.d.ts +0 -1
- package/dist/cjs/components/Stroke.test.d.ts +0 -1
- package/dist/cjs/components/TextComponent.test.d.ts +0 -1
- package/dist/cjs/components/UnknownSVGObject.test.d.ts +0 -1
- package/dist/cjs/components/builders/FreehandLineBuilder.test.d.ts +0 -1
- package/dist/cjs/localizations/getLocalizationTable.test.d.ts +0 -1
- package/dist/cjs/math/Mat33.d.ts +0 -123
- package/dist/cjs/math/Mat33.js +0 -340
- package/dist/cjs/math/Mat33.test.d.ts +0 -1
- package/dist/cjs/math/Vec2.d.ts +0 -33
- package/dist/cjs/math/Vec2.js +0 -37
- package/dist/cjs/math/Vec2.test.d.ts +0 -1
- package/dist/cjs/math/Vec3.d.ts +0 -106
- package/dist/cjs/math/Vec3.js +0 -183
- package/dist/cjs/math/Vec3.test.d.ts +0 -1
- package/dist/cjs/math/lib.d.ts +0 -7
- package/dist/cjs/math/lib.js +0 -15
- package/dist/cjs/math/polynomial/solveQuadratic.d.ts +0 -9
- package/dist/cjs/math/polynomial/solveQuadratic.js +0 -39
- package/dist/cjs/math/polynomial/solveQuadratic.test.d.ts +0 -1
- package/dist/cjs/math/rounding.d.ts +0 -4
- package/dist/cjs/math/rounding.js +0 -140
- package/dist/cjs/math/rounding.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Abstract2DShape.d.ts +0 -49
- package/dist/cjs/math/shapes/Abstract2DShape.js +0 -42
- package/dist/cjs/math/shapes/BezierJSWrapper.d.ts +0 -36
- package/dist/cjs/math/shapes/BezierJSWrapper.js +0 -109
- package/dist/cjs/math/shapes/CubicBezier.d.ts +0 -17
- package/dist/cjs/math/shapes/CubicBezier.js +0 -50
- package/dist/cjs/math/shapes/LineSegment2.d.ts +0 -70
- package/dist/cjs/math/shapes/LineSegment2.js +0 -204
- package/dist/cjs/math/shapes/LineSegment2.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Path.d.ts +0 -93
- package/dist/cjs/math/shapes/Path.fromString.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Path.js +0 -865
- package/dist/cjs/math/shapes/Path.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Path.toString.test.d.ts +0 -1
- package/dist/cjs/math/shapes/PointShape2D.d.ts +0 -18
- package/dist/cjs/math/shapes/PointShape2D.js +0 -46
- package/dist/cjs/math/shapes/QuadraticBezier.d.ts +0 -34
- package/dist/cjs/math/shapes/QuadraticBezier.js +0 -133
- package/dist/cjs/math/shapes/QuadraticBezier.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Rect2.d.ts +0 -57
- package/dist/cjs/math/shapes/Rect2.js +0 -311
- package/dist/cjs/math/shapes/Rect2.test.d.ts +0 -1
- package/dist/cjs/math/shapes/Triangle.d.ts +0 -46
- package/dist/cjs/math/shapes/Triangle.js +0 -148
- package/dist/cjs/math/shapes/Triangle.test.d.ts +0 -1
- package/dist/cjs/rendering/RenderingStyle.test.d.ts +0 -1
- package/dist/cjs/rendering/caching/CacheRecord.test.d.ts +0 -1
- package/dist/cjs/rendering/caching/RenderingCache.test.d.ts +0 -1
- package/dist/cjs/rendering/renderers/DummyRenderer.test.d.ts +0 -1
- package/dist/cjs/rendering/renderers/TextOnlyRenderer.test.d.ts +0 -1
- package/dist/cjs/shortcuts/KeyBinding.test.d.ts +0 -1
- package/dist/cjs/shortcuts/KeyboardShortcutManager.test.d.ts +0 -1
- package/dist/cjs/toolbar/HTMLToolbar.d.ts +0 -105
- package/dist/cjs/toolbar/HTMLToolbar.js +0 -465
- package/dist/cjs/toolbar/makeColorInput.d.ts +0 -6
- package/dist/cjs/tools/Eraser.test.d.ts +0 -1
- package/dist/cjs/tools/PanZoom.test.d.ts +0 -1
- package/dist/cjs/tools/Pen.test.d.ts +0 -1
- package/dist/cjs/tools/SelectionTool/SelectionTool.test.d.ts +0 -1
- package/dist/cjs/tools/UndoRedoShortcut.test.d.ts +0 -1
- package/dist/mjs/Color4.d.ts +0 -69
- package/dist/mjs/Color4.mjs +0 -260
- package/dist/mjs/Color4.test.d.ts +0 -1
- package/dist/mjs/Editor.loadFrom.test.d.ts +0 -1
- package/dist/mjs/Editor.toSVG.test.d.ts +0 -1
- package/dist/mjs/EditorImage.test.d.ts +0 -1
- package/dist/mjs/EventDispatcher.test.d.ts +0 -1
- package/dist/mjs/SVGLoader.test.d.ts +0 -1
- package/dist/mjs/UndoRedoHistory.test.d.ts +0 -1
- package/dist/mjs/commands/uniteCommands.test.d.ts +0 -1
- package/dist/mjs/components/AbstractComponent.transformBy.test.d.ts +0 -1
- package/dist/mjs/components/BackgroundComponent.test.d.ts +0 -1
- package/dist/mjs/components/Stroke.test.d.ts +0 -1
- package/dist/mjs/components/TextComponent.test.d.ts +0 -1
- package/dist/mjs/components/UnknownSVGObject.test.d.ts +0 -1
- package/dist/mjs/components/builders/FreehandLineBuilder.test.d.ts +0 -1
- package/dist/mjs/localizations/getLocalizationTable.test.d.ts +0 -1
- package/dist/mjs/math/Mat33.d.ts +0 -123
- package/dist/mjs/math/Mat33.mjs +0 -338
- package/dist/mjs/math/Mat33.test.d.ts +0 -1
- package/dist/mjs/math/Vec2.d.ts +0 -33
- package/dist/mjs/math/Vec2.mjs +0 -34
- package/dist/mjs/math/Vec2.test.d.ts +0 -1
- package/dist/mjs/math/Vec3.d.ts +0 -106
- package/dist/mjs/math/Vec3.mjs +0 -181
- package/dist/mjs/math/Vec3.test.d.ts +0 -1
- package/dist/mjs/math/lib.d.ts +0 -7
- package/dist/mjs/math/lib.mjs +0 -7
- package/dist/mjs/math/polynomial/solveQuadratic.d.ts +0 -9
- package/dist/mjs/math/polynomial/solveQuadratic.mjs +0 -37
- package/dist/mjs/math/polynomial/solveQuadratic.test.d.ts +0 -1
- package/dist/mjs/math/rounding.d.ts +0 -4
- package/dist/mjs/math/rounding.mjs +0 -133
- package/dist/mjs/math/rounding.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Abstract2DShape.d.ts +0 -49
- package/dist/mjs/math/shapes/Abstract2DShape.mjs +0 -40
- package/dist/mjs/math/shapes/BezierJSWrapper.d.ts +0 -36
- package/dist/mjs/math/shapes/BezierJSWrapper.mjs +0 -107
- package/dist/mjs/math/shapes/CubicBezier.d.ts +0 -17
- package/dist/mjs/math/shapes/CubicBezier.mjs +0 -48
- package/dist/mjs/math/shapes/LineSegment2.d.ts +0 -70
- package/dist/mjs/math/shapes/LineSegment2.mjs +0 -202
- package/dist/mjs/math/shapes/LineSegment2.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Path.d.ts +0 -93
- package/dist/mjs/math/shapes/Path.fromString.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Path.mjs +0 -862
- package/dist/mjs/math/shapes/Path.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Path.toString.test.d.ts +0 -1
- package/dist/mjs/math/shapes/PointShape2D.d.ts +0 -18
- package/dist/mjs/math/shapes/PointShape2D.mjs +0 -44
- package/dist/mjs/math/shapes/QuadraticBezier.d.ts +0 -34
- package/dist/mjs/math/shapes/QuadraticBezier.mjs +0 -131
- package/dist/mjs/math/shapes/QuadraticBezier.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Rect2.d.ts +0 -57
- package/dist/mjs/math/shapes/Rect2.mjs +0 -309
- package/dist/mjs/math/shapes/Rect2.test.d.ts +0 -1
- package/dist/mjs/math/shapes/Triangle.d.ts +0 -46
- package/dist/mjs/math/shapes/Triangle.mjs +0 -146
- package/dist/mjs/math/shapes/Triangle.test.d.ts +0 -1
- package/dist/mjs/rendering/RenderingStyle.test.d.ts +0 -1
- package/dist/mjs/rendering/caching/CacheRecord.test.d.ts +0 -1
- package/dist/mjs/rendering/caching/RenderingCache.test.d.ts +0 -1
- package/dist/mjs/rendering/renderers/DummyRenderer.test.d.ts +0 -1
- package/dist/mjs/rendering/renderers/TextOnlyRenderer.test.d.ts +0 -1
- package/dist/mjs/shortcuts/KeyBinding.test.d.ts +0 -1
- package/dist/mjs/shortcuts/KeyboardShortcutManager.test.d.ts +0 -1
- package/dist/mjs/toolbar/HTMLToolbar.d.ts +0 -105
- package/dist/mjs/toolbar/HTMLToolbar.mjs +0 -462
- package/dist/mjs/toolbar/makeColorInput.d.ts +0 -6
- package/dist/mjs/tools/Eraser.test.d.ts +0 -1
- package/dist/mjs/tools/PanZoom.test.d.ts +0 -1
- package/dist/mjs/tools/Pen.test.d.ts +0 -1
- package/dist/mjs/tools/SelectionTool/SelectionTool.test.d.ts +0 -1
- package/dist/mjs/tools/UndoRedoShortcut.test.d.ts +0 -1
- package/dist-test/test_imports/package-lock.json +0 -13
- package/dist-test/test_imports/package.json +0 -12
- package/dist-test/test_imports/test-imports.js +0 -17
- package/dist-test/test_imports/test-require.cjs +0 -19
- package/src/Color4.test.ts +0 -47
- package/src/Color4.ts +0 -304
- package/src/Editor.css +0 -98
- package/src/Editor.loadFrom.test.ts +0 -24
- package/src/Editor.toSVG.test.ts +0 -111
- package/src/Editor.ts +0 -1171
- 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 -72
- package/src/Pointer.ts +0 -170
- package/src/SVGLoader.test.ts +0 -114
- package/src/SVGLoader.ts +0 -610
- package/src/UndoRedoHistory.test.ts +0 -33
- package/src/UndoRedoHistory.ts +0 -102
- package/src/Viewport.ts +0 -325
- package/src/bundle/bundled.ts +0 -7
- package/src/commands/Command.ts +0 -45
- package/src/commands/Duplicate.ts +0 -75
- package/src/commands/Erase.ts +0 -94
- package/src/commands/SerializableCommand.ts +0 -49
- package/src/commands/UnresolvedCommand.ts +0 -37
- package/src/commands/invertCommand.ts +0 -58
- 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 -140
- package/src/components/AbstractComponent.transformBy.test.ts +0 -22
- package/src/components/AbstractComponent.ts +0 -374
- package/src/components/BackgroundComponent.test.ts +0 -45
- package/src/components/BackgroundComponent.ts +0 -353
- package/src/components/ImageComponent.ts +0 -178
- package/src/components/RestylableComponent.ts +0 -161
- package/src/components/SVGGlobalAttributesObject.ts +0 -81
- package/src/components/Stroke.test.ts +0 -139
- package/src/components/Stroke.ts +0 -296
- package/src/components/TextComponent.test.ts +0 -204
- package/src/components/TextComponent.ts +0 -432
- 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/CircleBuilder.ts +0 -102
- package/src/components/builders/FreehandLineBuilder.test.ts +0 -25
- 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 -31
- package/src/components/localization.ts +0 -24
- package/src/components/util/StrokeSmoother.ts +0 -302
- package/src/components/util/describeComponentList.ts +0 -18
- package/src/lib.ts +0 -69
- package/src/localization.ts +0 -34
- package/src/localizations/de.ts +0 -146
- 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 -74
- package/src/math/Mat33.test.ts +0 -244
- package/src/math/Mat33.ts +0 -442
- package/src/math/Vec2.test.ts +0 -30
- package/src/math/Vec2.ts +0 -40
- 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/polynomial/solveQuadratic.test.ts +0 -39
- package/src/math/polynomial/solveQuadratic.ts +0 -43
- package/src/math/rounding.test.ts +0 -65
- package/src/math/rounding.ts +0 -156
- package/src/math/shapes/Abstract2DShape.ts +0 -63
- package/src/math/shapes/BezierJSWrapper.ts +0 -93
- package/src/math/shapes/CubicBezier.ts +0 -35
- package/src/math/shapes/LineSegment2.test.ts +0 -99
- package/src/math/shapes/LineSegment2.ts +0 -231
- package/src/math/shapes/Path.fromString.test.ts +0 -223
- package/src/math/shapes/Path.test.ts +0 -309
- package/src/math/shapes/Path.toString.test.ts +0 -77
- package/src/math/shapes/Path.ts +0 -1027
- package/src/math/shapes/PointShape2D.ts +0 -33
- package/src/math/shapes/QuadraticBezier.test.ts +0 -31
- package/src/math/shapes/QuadraticBezier.ts +0 -141
- package/src/math/shapes/Rect2.test.ts +0 -209
- package/src/math/shapes/Rect2.ts +0 -344
- package/src/math/shapes/Triangle.test.ts +0 -61
- package/src/math/shapes/Triangle.ts +0 -139
- package/src/rendering/Display.ts +0 -248
- package/src/rendering/RenderingStyle.test.ts +0 -68
- package/src/rendering/RenderingStyle.ts +0 -55
- package/src/rendering/TextRenderingStyle.ts +0 -55
- 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 -8
- package/src/rendering/localization.ts +0 -20
- package/src/rendering/renderers/AbstractRenderer.ts +0 -242
- package/src/rendering/renderers/CanvasRenderer.ts +0 -307
- package/src/rendering/renderers/DummyRenderer.test.ts +0 -42
- package/src/rendering/renderers/DummyRenderer.ts +0 -145
- package/src/rendering/renderers/SVGRenderer.ts +0 -377
- package/src/rendering/renderers/TextOnlyRenderer.test.ts +0 -34
- package/src/rendering/renderers/TextOnlyRenderer.ts +0 -71
- package/src/shortcuts/KeyBinding.test.ts +0 -51
- package/src/shortcuts/KeyBinding.ts +0 -218
- package/src/shortcuts/KeyboardShortcutManager.test.ts +0 -95
- package/src/shortcuts/KeyboardShortcutManager.ts +0 -163
- package/src/shortcuts/lib.ts +0 -3
- package/src/testing/createEditor.ts +0 -11
- package/src/testing/getUniquePointerId.ts +0 -18
- package/src/testing/lib.ts +0 -3
- package/src/testing/sendPenEvent.ts +0 -36
- package/src/testing/sendTouchEvent.ts +0 -71
- package/src/toolbar/HTMLToolbar.ts +0 -567
- package/src/toolbar/IconProvider.ts +0 -805
- package/src/toolbar/lib.ts +0 -4
- package/src/toolbar/localization.ts +0 -114
- package/src/toolbar/makeColorInput.ts +0 -159
- package/src/toolbar/types.ts +0 -5
- package/src/toolbar/widgets/ActionButtonWidget.ts +0 -39
- package/src/toolbar/widgets/BaseToolWidget.ts +0 -65
- package/src/toolbar/widgets/BaseWidget.ts +0 -428
- package/src/toolbar/widgets/DocumentPropertiesWidget.ts +0 -234
- 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.ts +0 -92
- package/src/toolbar/widgets/PenToolWidget.ts +0 -409
- package/src/toolbar/widgets/SelectionToolWidget.ts +0 -197
- package/src/toolbar/widgets/TextToolWidget.ts +0 -145
- package/src/toolbar/widgets/keybindings.ts +0 -21
- package/src/toolbar/widgets/lib.ts +0 -13
- package/src/tools/BaseTool.ts +0 -97
- package/src/tools/Eraser.test.ts +0 -103
- package/src/tools/Eraser.ts +0 -160
- package/src/tools/FindTool.ts +0 -153
- package/src/tools/PanZoom.test.ts +0 -349
- package/src/tools/PanZoom.ts +0 -502
- package/src/tools/PasteHandler.ts +0 -95
- package/src/tools/Pen.test.ts +0 -262
- package/src/tools/Pen.ts +0 -300
- package/src/tools/PipetteTool.ts +0 -55
- package/src/tools/SelectionTool/SelectAllShortcutHandler.ts +0 -29
- package/src/tools/SelectionTool/Selection.ts +0 -611
- package/src/tools/SelectionTool/SelectionHandle.ts +0 -108
- package/src/tools/SelectionTool/SelectionTool.test.ts +0 -261
- package/src/tools/SelectionTool/SelectionTool.ts +0 -496
- package/src/tools/SelectionTool/TransformMode.ts +0 -114
- package/src/tools/SelectionTool/types.ts +0 -11
- package/src/tools/SoundUITool.ts +0 -212
- package/src/tools/TextTool.ts +0 -340
- package/src/tools/ToolController.ts +0 -200
- package/src/tools/ToolEnabledGroup.ts +0 -14
- package/src/tools/ToolSwitcherShortcut.ts +0 -39
- package/src/tools/ToolbarShortcutHandler.ts +0 -39
- package/src/tools/UndoRedoShortcut.test.ts +0 -56
- package/src/tools/UndoRedoShortcut.ts +0 -24
- package/src/tools/keybindings.ts +0 -85
- package/src/tools/lib.ts +0 -22
- package/src/tools/localization.ts +0 -74
- package/src/tools/tools.css +0 -4
- package/src/types.ts +0 -239
- package/src/util/assertions.ts +0 -55
- package/src/util/fileToBase64.ts +0 -18
- package/src/util/untilNextAnimationFrame.ts +0 -9
- package/src/util/waitForAll.ts +0 -18
- package/src/util/waitForTimeout.ts +0 -9
- /package/dist/{cjs/Color4.test.d.ts → mjs/toolbar/widgets/layout/types.mjs} +0 -0
@@ -1,21 +1,22 @@
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
2
|
-
__assign = Object.assign || function(t) {
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
-
s = arguments[i];
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
-
t[p] = s[p];
|
7
|
-
}
|
8
|
-
return t;
|
9
|
-
};
|
10
|
-
return __assign.apply(this, arguments);
|
11
|
-
};
|
12
1
|
import { defaultCommandLocalization } from './commands/localization.mjs';
|
13
2
|
import { defaultComponentLocalization } from './components/localization.mjs';
|
14
3
|
import { defaultTextRendererLocalization } from './rendering/localization.mjs';
|
15
4
|
import { defaultToolbarLocalization } from './toolbar/localization.mjs';
|
16
5
|
import { defaultToolLocalization } from './tools/localization.mjs';
|
17
|
-
export
|
6
|
+
export const defaultEditorLocalization = {
|
7
|
+
...defaultToolbarLocalization,
|
8
|
+
...defaultToolLocalization,
|
9
|
+
...defaultCommandLocalization,
|
10
|
+
...defaultComponentLocalization,
|
11
|
+
...defaultTextRendererLocalization,
|
12
|
+
accessibilityInputInstructions: [
|
18
13
|
'Press "t" to read the contents of the viewport as text.',
|
19
14
|
'Use the arrow keys to move the viewport, click and drag to draw strokes.',
|
20
15
|
'Press "w" to zoom in and "s" to zoom out.',
|
21
|
-
].join(' '),
|
16
|
+
].join(' '),
|
17
|
+
loading: (percentage) => `Loading ${percentage}%...`,
|
18
|
+
imageEditor: 'Image Editor',
|
19
|
+
doneLoading: 'Done loading',
|
20
|
+
undoAnnouncement: (commandDescription) => `Undid ${commandDescription}`,
|
21
|
+
redoAnnouncement: (commandDescription) => `Redid ${commandDescription}`,
|
22
|
+
};
|
@@ -1,15 +1,119 @@
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
2
|
-
__assign = Object.assign || function(t) {
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
-
s = arguments[i];
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
-
t[p] = s[p];
|
7
|
-
}
|
8
|
-
return t;
|
9
|
-
};
|
10
|
-
return __assign.apply(this, arguments);
|
11
|
-
};
|
12
1
|
import { defaultEditorLocalization } from '../localization.mjs';
|
13
2
|
// German localization
|
14
|
-
|
3
|
+
const localization = {
|
4
|
+
...defaultEditorLocalization,
|
5
|
+
pen: 'Stift',
|
6
|
+
eraser: 'Radierer',
|
7
|
+
select: 'Auswahl',
|
8
|
+
handTool: 'Verschieben',
|
9
|
+
zoom: 'Vergrößerung',
|
10
|
+
image: 'Bild',
|
11
|
+
inputAltText: 'Alt-Text: ',
|
12
|
+
chooseFile: 'Wähle Datei: ',
|
13
|
+
submit: 'Absenden',
|
14
|
+
cancel: 'Abbrechen',
|
15
|
+
resetView: 'Ansicht zurücksetzen',
|
16
|
+
thicknessLabel: 'Dicke: ',
|
17
|
+
colorLabel: 'Farbe: ',
|
18
|
+
fontLabel: 'Schriftart: ',
|
19
|
+
textSize: 'Größe: ',
|
20
|
+
resizeImageToSelection: 'Bildgröße an Auswahl anpassen',
|
21
|
+
deleteSelection: 'Auswahl löschen',
|
22
|
+
duplicateSelection: 'Auswahl duplizieren',
|
23
|
+
undo: 'Rückgängig',
|
24
|
+
redo: 'Wiederholen',
|
25
|
+
pickColorFromScreen: 'Farbe von Bildschirm auswählen',
|
26
|
+
clickToPickColorAnnouncement: 'Klicke auf den Bildschirm, um eine Farbe auszuwählen',
|
27
|
+
selectionToolKeyboardShortcuts: 'Auswahl-Werkzeug: Verwende die Pfeiltasten, um ausgewählte Elemente zu verschieben und ‚i‘ und ‚o‘, um ihre Größe zu ändern.',
|
28
|
+
touchPanning: 'Ansicht mit Touchscreen verschieben',
|
29
|
+
anyDevicePanning: 'Ansicht mit jedem Eingabegerät verschieben',
|
30
|
+
selectPenTip: 'Objekt-Typ: ',
|
31
|
+
roundedTipPen: 'Freihand',
|
32
|
+
flatTipPen: 'Stift (druckempfindlich)',
|
33
|
+
arrowPen: 'Pfeil',
|
34
|
+
linePen: 'Linie',
|
35
|
+
outlinedRectanglePen: 'Umrissenes Rechteck',
|
36
|
+
filledRectanglePen: 'Ausgefülltes Rechteck',
|
37
|
+
lockRotation: 'Sperre Rotation',
|
38
|
+
paste: 'Einfügen',
|
39
|
+
dropdownShown: (toolName) => `Dropdown-Menü für ${toolName} angezeigt`,
|
40
|
+
dropdownHidden: (toolName) => `Dropdown-Menü für ${toolName} versteckt`,
|
41
|
+
zoomLevel: (zoomPercent) => `Vergößerung: ${zoomPercent}%`,
|
42
|
+
colorChangedAnnouncement: (color) => `Farbe zu ${color} geändert`,
|
43
|
+
imageSize: (size, units) => `Bild-Größe: ${size} ${units}`,
|
44
|
+
imageLoadError: (message) => `Fehler beim Laden des Bildes: ${message}`,
|
45
|
+
errorImageHasZeroSize: 'Fehler: Bild hat Größe Null',
|
46
|
+
penTool: (penNumber) => `Stift ${penNumber}`,
|
47
|
+
selectionTool: 'Auswahl',
|
48
|
+
eraserTool: 'Radiergummi',
|
49
|
+
touchPanTool: 'Ansicht mit Touchscreen verschieben',
|
50
|
+
twoFingerPanZoomTool: 'Ansicht verschieben und vergrößern',
|
51
|
+
undoRedoTool: 'Rückgängig/Wiederholen',
|
52
|
+
rightClickDragPanTool: 'Rechtsklick-Ziehen',
|
53
|
+
pipetteTool: 'Farbe von Bildschirm auswählen',
|
54
|
+
keyboardPanZoom: 'Tastaturkürzel zum Verschieben/Vergrößern der Ansicht',
|
55
|
+
textTool: 'Text',
|
56
|
+
enterTextToInsert: 'Einzufügender Text',
|
57
|
+
changeTool: 'Wechsle Werkzeug',
|
58
|
+
pasteHandler: 'Copy-Paste-Handler',
|
59
|
+
findLabel: 'Finde',
|
60
|
+
toNextMatch: 'Nächstes',
|
61
|
+
closeDialog: 'Schließen',
|
62
|
+
findDialogShown: 'Finde-Dialog angezeigt',
|
63
|
+
findDialogHidden: 'Finde-Dialog versteckt',
|
64
|
+
focusedFoundText: (matchIdx, totalMatches) => `Sieh Treffer ${matchIdx} von ${totalMatches} an`,
|
65
|
+
toolEnabledAnnouncement: (toolName) => `${toolName} aktiviert`,
|
66
|
+
toolDisabledAnnouncement: (toolName) => `${toolName} deaktiviert`,
|
67
|
+
updatedViewport: 'Transformierte Ansicht',
|
68
|
+
transformedElements: (elemCount) => `${elemCount} Element${1 === elemCount ? '' : 'e'} transformiert`,
|
69
|
+
resizeOutputCommand: (newSize) => `Bildgröße auf ${newSize.w}x${newSize.h} geändert`,
|
70
|
+
addElementAction: (componentDescription) => `${componentDescription} hinzugefügt`,
|
71
|
+
eraseAction: (elemDescription, countErased) => `${countErased} ${elemDescription} gelöscht`,
|
72
|
+
duplicateAction: (elemDescription, countErased) => `${countErased} ${elemDescription} dupliziert`,
|
73
|
+
inverseOf: (actionDescription) => `${actionDescription} umgekehrt`,
|
74
|
+
elements: 'Elemente',
|
75
|
+
erasedNoElements: 'Nichts entfernt',
|
76
|
+
duplicatedNoElements: 'Nichts dupliziert',
|
77
|
+
rotatedBy: (degrees) => `${Math.abs(degrees)} Grad ${degrees < 0 ? 'im Uhrzeigersinn' : 'gegen den Uhrzeigersinn'} gedreht`,
|
78
|
+
movedLeft: 'Nacht links bewegt',
|
79
|
+
movedUp: 'Nacht oben bewegt',
|
80
|
+
movedDown: 'Nacht unten bewegt',
|
81
|
+
movedRight: 'Nacht rechts bewegt',
|
82
|
+
zoomedOut: 'Ansicht verkleinert',
|
83
|
+
zoomedIn: 'Ansicht vergrößert',
|
84
|
+
selectedElements: (count) => `${count} Element${1 === count ? '' : 'e'} ausgewählt`,
|
85
|
+
stroke: 'Strich',
|
86
|
+
svgObject: 'SVG-Objekt',
|
87
|
+
text: (text) => `Text-Objekt: ${text}`,
|
88
|
+
pathNodeCount: (count) => `Es gibt ${count} sichtbare Pfad-Objekte.`,
|
89
|
+
textNodeCount: (count) => `Es gibt ${count} sichtbare Text-Knotenpunkte.`,
|
90
|
+
textNode: (content) => `Text: ${content}`,
|
91
|
+
imageNodeCount: (nodeCount) => `Es gibt ${nodeCount} sichtbare Bild-Knoten.`,
|
92
|
+
imageNode: label => `Bild: ${label}`,
|
93
|
+
unlabeledImageNode: 'Bild ohne Label',
|
94
|
+
rerenderAsText: 'Als Text darstellen',
|
95
|
+
accessibilityInputInstructions: 'Drücke ‚t‘, um den Inhalt des Ansichtsfensters als Text zu lesen. Verwende die Pfeiltasten, um die Ansicht zu verschieben, und klicke und ziehe, um Striche zu zeichnen. Drücke ‚w‘ zum Vergrößern und ‚s‘ zum Verkleinern der Ansicht.',
|
96
|
+
loading: percentage => `Laden ${percentage}%...`,
|
97
|
+
doneLoading: 'Laden fertig',
|
98
|
+
imageEditor: 'Bild-Editor',
|
99
|
+
undoAnnouncement: (commandDescription) => `${commandDescription} rückgängig gemacht`,
|
100
|
+
redoAnnouncement: (commandDescription) => `${commandDescription} wiederholt`,
|
101
|
+
reformatSelection: 'Formatiere Auswahl',
|
102
|
+
documentProperties: 'Seite',
|
103
|
+
backgroundColor: 'Hintergrundfarbe: ',
|
104
|
+
imageWidthOption: 'Breite: ',
|
105
|
+
imageHeightOption: 'Höhe: ',
|
106
|
+
useGridOption: 'Gitter: ',
|
107
|
+
toggleOverflow: 'Mehr',
|
108
|
+
selectAllTool: 'Alle auswählen',
|
109
|
+
soundExplorer: 'Klangbasierte Bilderkundung',
|
110
|
+
disableAccessibilityExploreTool: 'Deaktiviere klangbasierte Erkundung',
|
111
|
+
enableAccessibilityExploreTool: 'Aktiviere klangbasierte Erkundung',
|
112
|
+
copied: (count, description) => `${count} ${description} kopiert`,
|
113
|
+
pasted: (count, description) => `${count} ${description} eingefügt`,
|
114
|
+
unionOf: (actionDescription, actionCount) => `Vereinigung: ${actionCount} ${actionDescription}`,
|
115
|
+
emptyBackground: 'Leerer Hintergrund',
|
116
|
+
filledBackgroundWithColor: (color) => `Gefüllter Hintergrund (${color})`,
|
117
|
+
restyledElement: (elementDescription) => `${elementDescription} umgestaltet`,
|
118
|
+
};
|
15
119
|
export default localization;
|
@@ -1,15 +1,6 @@
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
2
|
-
__assign = Object.assign || function(t) {
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
-
s = arguments[i];
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
-
t[p] = s[p];
|
7
|
-
}
|
8
|
-
return t;
|
9
|
-
};
|
10
|
-
return __assign.apply(this, arguments);
|
11
|
-
};
|
12
1
|
import { defaultEditorLocalization } from '../localization.mjs';
|
13
2
|
// Default localizations are already in English.
|
14
|
-
|
3
|
+
const localization = {
|
4
|
+
...defaultEditorLocalization,
|
5
|
+
};
|
15
6
|
export default localization;
|
@@ -1,29 +1,68 @@
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
2
|
-
__assign = Object.assign || function(t) {
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
-
s = arguments[i];
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
-
t[p] = s[p];
|
7
|
-
}
|
8
|
-
return t;
|
9
|
-
};
|
10
|
-
return __assign.apply(this, arguments);
|
11
|
-
};
|
12
1
|
import { defaultEditorLocalization } from '../localization.mjs';
|
13
2
|
// A partial Spanish localization.
|
14
|
-
|
3
|
+
const localization = {
|
4
|
+
...defaultEditorLocalization,
|
15
5
|
// Strings for the main editor interface
|
16
6
|
// (see src/localization.ts)
|
17
|
-
loading:
|
7
|
+
loading: (percentage) => `Cargando: ${percentage}%...`,
|
8
|
+
imageEditor: 'Editor de dibujos',
|
9
|
+
undoAnnouncement: (commandDescription) => `${commandDescription} fue deshecho`,
|
10
|
+
redoAnnouncement: (commandDescription) => `${commandDescription} fue rehecho`,
|
11
|
+
undo: 'Deshace',
|
12
|
+
redo: 'Rehace',
|
18
13
|
// Strings for the toolbar
|
19
14
|
// (see src/toolbar/localization.ts)
|
20
|
-
pen: 'Lapiz',
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
15
|
+
pen: 'Lapiz',
|
16
|
+
eraser: 'Borrador',
|
17
|
+
select: 'Selecciona',
|
18
|
+
thicknessLabel: 'Tamaño',
|
19
|
+
colorLabel: 'Color',
|
20
|
+
doneLoading: 'El cargado terminó',
|
21
|
+
fontLabel: 'Fuente: ',
|
22
|
+
anyDevicePanning: 'Mover la pantalla con todo dispotivo',
|
23
|
+
touchPanning: 'Mover la pantalla con un dedo',
|
24
|
+
touchPanTool: 'Instrumento de mover la pantalla con un dedo',
|
25
|
+
outlinedRectanglePen: 'Rectángulo con nada más que un borde',
|
26
|
+
filledRectanglePen: 'Rectángulo sin borde',
|
27
|
+
linePen: 'Línea',
|
28
|
+
arrowPen: 'Flecha',
|
29
|
+
roundedTipPen: 'Lapiz Redondeado',
|
30
|
+
selectPenTip: 'Forma de dibuja',
|
31
|
+
handTool: 'Mover',
|
32
|
+
zoom: 'Zoom',
|
33
|
+
resetView: 'Reiniciar vista',
|
34
|
+
resizeImageToSelection: 'Redimensionar la imagen a lo que está seleccionado',
|
35
|
+
deleteSelection: 'Borra la selección',
|
36
|
+
duplicateSelection: 'Duplica la selección',
|
37
|
+
pickColorFromScreen: 'Selecciona un color de la pantalla',
|
38
|
+
clickToPickColorAnnouncement: 'Haga un clic en la pantalla para seleccionar un color',
|
39
|
+
dropdownShown(toolName) {
|
40
|
+
return `Menú por ${toolName} es visible`;
|
41
|
+
},
|
42
|
+
dropdownHidden: function (toolName) {
|
43
|
+
return `Menú por ${toolName} fue ocultado`;
|
44
|
+
},
|
45
|
+
colorChangedAnnouncement: function (color) {
|
46
|
+
return `Color fue cambiado a ${color}`;
|
47
|
+
},
|
48
|
+
keyboardPanZoom: 'Mover la pantalla con el teclado',
|
49
|
+
penTool: function (penId) {
|
50
|
+
return `Lapiz ${penId}`;
|
51
|
+
},
|
52
|
+
selectionTool: 'Selecciona',
|
53
|
+
eraserTool: 'Borrador',
|
54
|
+
textTool: 'Texto',
|
55
|
+
enterTextToInsert: 'Entra texto',
|
56
|
+
textSize: 'Tamaño',
|
57
|
+
rerenderAsText: 'Redibuja la pantalla al texto',
|
58
|
+
lockRotation: 'Bloquea rotación',
|
59
|
+
image: 'Imagen',
|
60
|
+
imageSize: (size, units) => `Tamaño del imagen: ${size} ${units}`,
|
61
|
+
imageLoadError: (message) => `Error cargando imagen: ${message}`,
|
62
|
+
toggleOverflow: 'Más',
|
63
|
+
documentProperties: 'Fondo',
|
64
|
+
imageWidthOption: 'Ancho',
|
65
|
+
imageHeightOption: 'Alto',
|
66
|
+
backgroundColor: 'Color de fondo: '
|
67
|
+
};
|
29
68
|
export default localization;
|
@@ -2,14 +2,14 @@ import { defaultEditorLocalization } from '../localization.mjs';
|
|
2
2
|
import de from './de.mjs';
|
3
3
|
import en from './en.mjs';
|
4
4
|
import es from './es.mjs';
|
5
|
-
export
|
6
|
-
de
|
7
|
-
en
|
8
|
-
es
|
5
|
+
export const allLocales = {
|
6
|
+
de,
|
7
|
+
en,
|
8
|
+
es,
|
9
9
|
};
|
10
10
|
// [locale]: A string in the format languageCode_Region or just languageCode. For example, en_US.
|
11
|
-
|
12
|
-
|
11
|
+
const languageFromLocale = (locale) => {
|
12
|
+
const matches = /^(\w+)[_-](\w+)$/.exec(locale);
|
13
13
|
if (!matches) {
|
14
14
|
// If not in languageCode_region format, the locale should be the
|
15
15
|
// languageCode. Return that.
|
@@ -22,11 +22,10 @@ var languageFromLocale = function (locale) {
|
|
22
22
|
* the list of `userLocales`. If there is no matching language, returns
|
23
23
|
* `defaultLocalizationTable`.
|
24
24
|
*/
|
25
|
-
export
|
26
|
-
|
27
|
-
for (
|
28
|
-
|
29
|
-
var language = languageFromLocale(locale);
|
25
|
+
export const matchingLocalizationTable = (userLocales, localizationTables, defaultLocalizationTable) => {
|
26
|
+
let prevLanguage;
|
27
|
+
for (const locale of userLocales) {
|
28
|
+
const language = languageFromLocale(locale);
|
30
29
|
// If the specific localization of the language is not available, but
|
31
30
|
// a localization for the language is,
|
32
31
|
if (prevLanguage && language !== prevLanguage) {
|
@@ -54,8 +53,8 @@ export var matchingLocalizationTable = function (userLocales, localizationTables
|
|
54
53
|
* Returns the default localization table if no appropriate localization
|
55
54
|
* exists.
|
56
55
|
*/
|
57
|
-
|
58
|
-
userLocales
|
56
|
+
const getLocalizationTable = (userLocales) => {
|
57
|
+
userLocales ??= navigator.languages;
|
59
58
|
return matchingLocalizationTable(userLocales, allLocales, defaultEditorLocalization);
|
60
59
|
};
|
61
60
|
export default getLocalizationTable;
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import AbstractRenderer from './renderers/AbstractRenderer';
|
2
2
|
import { Editor } from '../Editor';
|
3
|
-
import { Point2 } from '
|
3
|
+
import { Point2, Color4 } from '@js-draw/math';
|
4
4
|
import RenderingCache from './caching/RenderingCache';
|
5
|
-
import Color4 from '../Color4';
|
6
5
|
export declare enum RenderingMode {
|
7
6
|
DummyRenderer = 0,
|
8
7
|
CanvasRenderer = 1
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import CanvasRenderer from './renderers/CanvasRenderer.mjs';
|
2
2
|
import { EditorEventType } from '../types.mjs';
|
3
3
|
import DummyRenderer from './renderers/DummyRenderer.mjs';
|
4
|
-
import
|
4
|
+
import { Vec2, Color4 } from '@js-draw/math';
|
5
5
|
import RenderingCache from './caching/RenderingCache.mjs';
|
6
6
|
import TextOnlyRenderer from './renderers/TextOnlyRenderer.mjs';
|
7
|
-
import Color4 from '../Color4.mjs';
|
8
7
|
export var RenderingMode;
|
9
8
|
(function (RenderingMode) {
|
10
9
|
RenderingMode[RenderingMode["DummyRenderer"] = 0] = "DummyRenderer";
|
@@ -23,10 +22,9 @@ export var RenderingMode;
|
|
23
22
|
* const colorAtCenter = editor.display.getColorAt(center);
|
24
23
|
* ```
|
25
24
|
*/
|
26
|
-
|
25
|
+
export default class Display {
|
27
26
|
/** @internal */
|
28
|
-
|
29
|
-
var _this = this;
|
27
|
+
constructor(editor, mode, parent) {
|
30
28
|
this.editor = editor;
|
31
29
|
this.parent = parent;
|
32
30
|
this.textRerenderOutput = null;
|
@@ -34,7 +32,7 @@ var Display = /** @class */ (function () {
|
|
34
32
|
* @returns the color at the given point on the dry ink renderer, or `null` if `screenPos`
|
35
33
|
* is not on the display.
|
36
34
|
*/
|
37
|
-
this.getColorAt =
|
35
|
+
this.getColorAt = (_screenPos) => {
|
38
36
|
return null;
|
39
37
|
};
|
40
38
|
if (mode === RenderingMode.CanvasRenderer) {
|
@@ -45,13 +43,13 @@ var Display = /** @class */ (function () {
|
|
45
43
|
this.wetInkRenderer = new DummyRenderer(editor.viewport);
|
46
44
|
}
|
47
45
|
else {
|
48
|
-
throw new Error(
|
46
|
+
throw new Error(`Unknown rendering mode, ${mode}!`);
|
49
47
|
}
|
50
48
|
this.textRenderer = new TextOnlyRenderer(editor.viewport, editor.localization);
|
51
49
|
this.initializeTextRendering();
|
52
|
-
|
50
|
+
const cacheBlockResolution = Vec2.of(600, 600);
|
53
51
|
this.cache = new RenderingCache({
|
54
|
-
createRenderer:
|
52
|
+
createRenderer: () => {
|
55
53
|
if (mode === RenderingMode.DummyRenderer) {
|
56
54
|
return new DummyRenderer(editor.viewport);
|
57
55
|
}
|
@@ -60,14 +58,14 @@ var Display = /** @class */ (function () {
|
|
60
58
|
}
|
61
59
|
// Make the canvas slightly larger than each cache block to prevent
|
62
60
|
// seams.
|
63
|
-
|
61
|
+
const canvas = document.createElement('canvas');
|
64
62
|
canvas.width = cacheBlockResolution.x + 1;
|
65
63
|
canvas.height = cacheBlockResolution.y + 1;
|
66
|
-
|
64
|
+
const ctx = canvas.getContext('2d');
|
67
65
|
return new CanvasRenderer(ctx, editor.viewport);
|
68
66
|
},
|
69
|
-
isOfCorrectType:
|
70
|
-
return
|
67
|
+
isOfCorrectType: (renderer) => {
|
68
|
+
return this.dryInkRenderer.canRenderFromWithoutDataLoss(renderer);
|
71
69
|
},
|
72
70
|
blockResolution: cacheBlockResolution,
|
73
71
|
cacheSize: 600 * 600 * 4 * 90,
|
@@ -78,43 +76,33 @@ var Display = /** @class */ (function () {
|
|
78
76
|
// Require about 105 strokes with 4 parts each to use the cache at all.
|
79
77
|
minProportionalRenderTimeToUseCache: 105 * 4,
|
80
78
|
});
|
81
|
-
this.editor.notifier.on(EditorEventType.DisplayResized,
|
82
|
-
var _a;
|
79
|
+
this.editor.notifier.on(EditorEventType.DisplayResized, event => {
|
83
80
|
if (event.kind !== EditorEventType.DisplayResized) {
|
84
81
|
throw new Error('Mismatched event.kinds!');
|
85
82
|
}
|
86
|
-
|
83
|
+
this.resizeSurfacesCallback?.();
|
87
84
|
});
|
88
85
|
}
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
});
|
101
|
-
Object.defineProperty(Display.prototype, "height", {
|
102
|
-
get: function () {
|
103
|
-
return this.dryInkRenderer.displaySize().y;
|
104
|
-
},
|
105
|
-
enumerable: false,
|
106
|
-
configurable: true
|
107
|
-
});
|
86
|
+
/**
|
87
|
+
* @returns the visible width of the display (e.g. how much
|
88
|
+
* space the display's element takes up in the x direction
|
89
|
+
* in the DOM).
|
90
|
+
*/
|
91
|
+
get width() {
|
92
|
+
return this.dryInkRenderer.displaySize().x;
|
93
|
+
}
|
94
|
+
get height() {
|
95
|
+
return this.dryInkRenderer.displaySize().y;
|
96
|
+
}
|
108
97
|
/** @internal */
|
109
|
-
|
98
|
+
getCache() {
|
110
99
|
return this.cache;
|
111
|
-
}
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
var wetInkCtx = wetInkCanvas.getContext('2d');
|
100
|
+
}
|
101
|
+
initializeCanvasRendering() {
|
102
|
+
const dryInkCanvas = document.createElement('canvas');
|
103
|
+
const wetInkCanvas = document.createElement('canvas');
|
104
|
+
const dryInkCtx = dryInkCanvas.getContext('2d');
|
105
|
+
const wetInkCtx = wetInkCanvas.getContext('2d');
|
118
106
|
this.dryInkRenderer = new CanvasRenderer(dryInkCtx, this.editor.viewport);
|
119
107
|
this.wetInkRenderer = new CanvasRenderer(wetInkCtx, this.editor.viewport);
|
120
108
|
dryInkCanvas.className = 'dryInkCanvas';
|
@@ -123,8 +111,8 @@ var Display = /** @class */ (function () {
|
|
123
111
|
this.parent.appendChild(dryInkCanvas);
|
124
112
|
this.parent.appendChild(wetInkCanvas);
|
125
113
|
}
|
126
|
-
this.resizeSurfacesCallback =
|
127
|
-
|
114
|
+
this.resizeSurfacesCallback = () => {
|
115
|
+
const hasSizeMismatch = (canvas) => {
|
128
116
|
return canvas.clientHeight !== canvas.height || canvas.clientWidth !== canvas.width;
|
129
117
|
};
|
130
118
|
// Ensure that the drawing surfaces sizes match the
|
@@ -134,86 +122,81 @@ var Display = /** @class */ (function () {
|
|
134
122
|
dryInkCanvas.height = dryInkCanvas.clientHeight;
|
135
123
|
wetInkCanvas.width = wetInkCanvas.clientWidth;
|
136
124
|
wetInkCanvas.height = wetInkCanvas.clientHeight;
|
137
|
-
|
125
|
+
this.editor.notifier.dispatch(EditorEventType.DisplayResized, {
|
138
126
|
kind: EditorEventType.DisplayResized,
|
139
|
-
newSize: Vec2.of(
|
127
|
+
newSize: Vec2.of(this.width, this.height),
|
140
128
|
});
|
141
129
|
}
|
142
130
|
};
|
143
131
|
this.resizeSurfacesCallback();
|
144
|
-
this.flattenCallback =
|
132
|
+
this.flattenCallback = () => {
|
145
133
|
dryInkCtx.drawImage(wetInkCanvas, 0, 0);
|
146
134
|
};
|
147
|
-
this.getColorAt =
|
148
|
-
|
149
|
-
|
135
|
+
this.getColorAt = (screenPos) => {
|
136
|
+
const pixel = dryInkCtx.getImageData(screenPos.x, screenPos.y, 1, 1);
|
137
|
+
const data = pixel?.data;
|
150
138
|
if (data) {
|
151
|
-
|
139
|
+
const color = Color4.ofRGBA(data[0] / 255, data[1] / 255, data[2] / 255, data[3] / 255);
|
152
140
|
return color;
|
153
141
|
}
|
154
142
|
return null;
|
155
143
|
};
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
|
-
var textRendererOutputContainer = document.createElement('div');
|
144
|
+
}
|
145
|
+
initializeTextRendering() {
|
146
|
+
const textRendererOutputContainer = document.createElement('div');
|
160
147
|
textRendererOutputContainer.classList.add('textRendererOutputContainer');
|
161
|
-
|
148
|
+
const rerenderButton = document.createElement('button');
|
162
149
|
rerenderButton.classList.add('rerenderButton');
|
163
150
|
rerenderButton.innerText = this.editor.localization.rerenderAsText;
|
164
151
|
this.textRerenderOutput = document.createElement('div');
|
165
152
|
this.textRerenderOutput.setAttribute('aria-live', 'polite');
|
166
|
-
rerenderButton.onclick =
|
167
|
-
|
153
|
+
rerenderButton.onclick = () => {
|
154
|
+
this.rerenderAsText();
|
168
155
|
};
|
169
156
|
textRendererOutputContainer.replaceChildren(rerenderButton, this.textRerenderOutput);
|
170
157
|
this.editor.createHTMLOverlay(textRendererOutputContainer);
|
171
|
-
}
|
158
|
+
}
|
172
159
|
/**
|
173
160
|
* Rerenders the text-based display.
|
174
161
|
* The text-based display is intended for screen readers and can be navigated to by pressing `tab`.
|
175
162
|
*/
|
176
|
-
|
163
|
+
rerenderAsText() {
|
177
164
|
this.textRenderer.clear();
|
178
165
|
this.editor.image.render(this.textRenderer, this.editor.viewport);
|
179
166
|
if (this.textRerenderOutput) {
|
180
167
|
this.textRerenderOutput.innerText = this.textRenderer.getDescription();
|
181
168
|
}
|
182
|
-
}
|
169
|
+
}
|
183
170
|
/**
|
184
171
|
* Clears the main drawing surface and otherwise prepares for a rerender.
|
185
172
|
*
|
186
173
|
* @returns the dry ink renderer.
|
187
174
|
*/
|
188
|
-
|
189
|
-
|
190
|
-
(_a = this.resizeSurfacesCallback) === null || _a === void 0 ? void 0 : _a.call(this);
|
175
|
+
startRerender() {
|
176
|
+
this.resizeSurfacesCallback?.();
|
191
177
|
this.dryInkRenderer.clear();
|
192
178
|
return this.dryInkRenderer;
|
193
|
-
}
|
179
|
+
}
|
194
180
|
/**
|
195
181
|
* If `draftMode`, the dry ink renderer is configured to render
|
196
182
|
* low-quality output.
|
197
183
|
*/
|
198
|
-
|
184
|
+
setDraftMode(draftMode) {
|
199
185
|
this.dryInkRenderer.setDraftMode(draftMode);
|
200
|
-
}
|
186
|
+
}
|
201
187
|
/** @internal */
|
202
|
-
|
188
|
+
getDryInkRenderer() {
|
203
189
|
return this.dryInkRenderer;
|
204
|
-
}
|
190
|
+
}
|
205
191
|
/**
|
206
192
|
* @returns The renderer used for showing action previews (e.g. an unfinished stroke).
|
207
193
|
* The `wetInkRenderer`'s surface is stacked above the `dryInkRenderer`'s.
|
208
194
|
*/
|
209
|
-
|
195
|
+
getWetInkRenderer() {
|
210
196
|
return this.wetInkRenderer;
|
211
|
-
}
|
197
|
+
}
|
212
198
|
/** Re-renders the contents of the wetInkRenderer onto the dryInkRenderer. */
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
return Display;
|
218
|
-
}());
|
219
|
-
export default Display;
|
199
|
+
flatten() {
|
200
|
+
this.flattenCallback?.();
|
201
|
+
}
|
202
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Path, PathCommand, Point2, Rect2 } from '@js-draw/math';
|
2
|
+
import RenderingStyle from './RenderingStyle';
|
3
|
+
interface RenderablePathSpec {
|
4
|
+
startPoint: Point2;
|
5
|
+
commands: PathCommand[];
|
6
|
+
style: RenderingStyle;
|
7
|
+
path?: Path;
|
8
|
+
}
|
9
|
+
export declare const pathFromRenderable: (renderable: RenderablePathSpec) => Path;
|
10
|
+
export declare const pathToRenderable: (path: Path, style: RenderingStyle) => RenderablePathSpec;
|
11
|
+
/**
|
12
|
+
* @returns a Path that, when rendered, looks roughly equivalent to the given path.
|
13
|
+
*/
|
14
|
+
export declare const visualEquivalent: (renderablePath: RenderablePathSpec, visibleRect: Rect2) => RenderablePathSpec;
|
15
|
+
export default RenderablePathSpec;
|