js-draw 1.20.2 → 1.20.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/cjs/Editor.js +1 -1
  3. package/dist/cjs/components/builders/PolylineBuilder.js +4 -2
  4. package/dist/cjs/image/export/editorImageToSVG.js +1 -1
  5. package/dist/cjs/lib.d.ts +1 -1
  6. package/dist/cjs/lib.js +1 -1
  7. package/dist/cjs/rendering/renderers/SVGRenderer.js +1 -1
  8. package/dist/cjs/toolbar/AbstractToolbar.js +1 -1
  9. package/dist/cjs/toolbar/widgets/lib.d.ts +1 -1
  10. package/dist/cjs/toolbar/widgets/lib.js +1 -1
  11. package/dist/cjs/tools/PasteHandler.js +1 -1
  12. package/dist/cjs/tools/ToolController.d.ts +0 -2
  13. package/dist/cjs/tools/ToolController.js +0 -7
  14. package/dist/cjs/version.js +1 -1
  15. package/dist/mjs/Editor.mjs +1 -1
  16. package/dist/mjs/components/builders/PolylineBuilder.mjs +4 -2
  17. package/dist/mjs/image/export/editorImageToSVG.mjs +1 -1
  18. package/dist/mjs/lib.d.ts +1 -1
  19. package/dist/mjs/lib.mjs +1 -1
  20. package/dist/mjs/rendering/renderers/SVGRenderer.mjs +1 -1
  21. package/dist/mjs/toolbar/AbstractToolbar.mjs +1 -1
  22. package/dist/mjs/toolbar/widgets/lib.d.ts +1 -1
  23. package/dist/mjs/toolbar/widgets/lib.mjs +1 -1
  24. package/dist/mjs/tools/PasteHandler.mjs +1 -1
  25. package/dist/mjs/tools/ToolController.d.ts +0 -2
  26. package/dist/mjs/tools/ToolController.mjs +0 -7
  27. package/dist/mjs/version.mjs +1 -1
  28. package/package.json +3 -2
  29. package/src/toolbar/widgets/widgets.scss +1 -1
  30. /package/dist/cjs/SVGLoader/{index.d.ts → SVGLoader.d.ts} +0 -0
  31. /package/dist/cjs/SVGLoader/{index.js → SVGLoader.js} +0 -0
  32. /package/dist/cjs/SVGLoader/{index.test.d.ts → SVGLoader.test.d.ts} +0 -0
  33. /package/dist/cjs/toolbar/widgets/InsertImageWidget/{index.d.ts → InsertImageWidget.d.ts} +0 -0
  34. /package/dist/cjs/toolbar/widgets/InsertImageWidget/{index.js → InsertImageWidget.js} +0 -0
  35. /package/dist/cjs/toolbar/widgets/InsertImageWidget/{index.test.d.ts → InsertImageWidget.test.d.ts} +0 -0
  36. /package/dist/mjs/SVGLoader/{index.d.ts → SVGLoader.d.ts} +0 -0
  37. /package/dist/mjs/SVGLoader/{index.mjs → SVGLoader.mjs} +0 -0
  38. /package/dist/mjs/SVGLoader/{index.test.d.ts → SVGLoader.test.d.ts} +0 -0
  39. /package/dist/mjs/toolbar/widgets/InsertImageWidget/{index.d.ts → InsertImageWidget.d.ts} +0 -0
  40. /package/dist/mjs/toolbar/widgets/InsertImageWidget/{index.mjs → InsertImageWidget.mjs} +0 -0
  41. /package/dist/mjs/toolbar/widgets/InsertImageWidget/{index.test.d.ts → InsertImageWidget.test.d.ts} +0 -0
  42. /package/src/toolbar/widgets/InsertImageWidget/{index.scss → InsertImageWidget.scss} +0 -0
@@ -36,7 +36,7 @@ const Viewport_1 = __importDefault(require("./Viewport"));
36
36
  const EventDispatcher_1 = __importDefault(require("./EventDispatcher"));
37
37
  const math_1 = require("@js-draw/math");
38
38
  const Display_1 = __importStar(require("./rendering/Display"));
39
- const SVGLoader_1 = __importDefault(require("./SVGLoader"));
39
+ const SVGLoader_1 = __importDefault(require("./SVGLoader/SVGLoader"));
40
40
  const Pointer_1 = __importDefault(require("./Pointer"));
41
41
  const getLocalizationTable_1 = __importDefault(require("./localizations/getLocalizationTable"));
42
42
  const IconProvider_1 = __importDefault(require("./toolbar/IconProvider"));
@@ -13,7 +13,9 @@ const makeShapeFitAutocorrect_1 = __importDefault(require("./autocorrect/makeSha
13
13
  *
14
14
  */
15
15
  exports.makePolylineBuilder = (0, makeShapeFitAutocorrect_1.default)((initialPoint, viewport) => {
16
- const minFit = viewport.getSizeOfPixelOnCanvas();
16
+ // Fit to a value slightly smaller than the pixel size. A larger value can
17
+ // cause the stroke to appear jagged at some zoom levels.
18
+ const minFit = viewport.getSizeOfPixelOnCanvas() * 0.75;
17
19
  return new PolylineBuilder(initialPoint, minFit, viewport);
18
20
  });
19
21
  class PolylineBuilder {
@@ -83,7 +85,7 @@ class PolylineBuilder {
83
85
  return new Stroke_1.default(this.previewFullPath());
84
86
  }
85
87
  getMinFit() {
86
- let minFit = Math.min(this.minFitAllowed, this.averageWidth / 3);
88
+ let minFit = Math.min(this.minFitAllowed, this.averageWidth / 4);
87
89
  if (minFit < 1e-10) {
88
90
  minFit = this.minFitAllowed;
89
91
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.editorImageToSVGAsync = exports.editorImageToSVGSync = void 0;
7
7
  const math_1 = require("@js-draw/math");
8
8
  const SVGRenderer_1 = __importDefault(require("../../rendering/renderers/SVGRenderer"));
9
- const SVGLoader_1 = require("../../SVGLoader");
9
+ const SVGLoader_1 = require("../../SVGLoader/SVGLoader");
10
10
  const adjustExportedSVGSize_1 = __importDefault(require("./adjustExportedSVGSize"));
11
11
  const toSVGInternal = (image, renderFunction, options) => {
12
12
  const importExportViewport = image.getImportExportViewport().getTemporaryClone();
package/dist/cjs/lib.d.ts CHANGED
@@ -20,7 +20,7 @@ export * from './types';
20
20
  export * from './inputEvents';
21
21
  export { default as getLocalizationTable, matchingLocalizationTable } from './localizations/getLocalizationTable';
22
22
  export * from './localization';
23
- export { default as SVGLoader } from './SVGLoader';
23
+ export { default as SVGLoader } from './SVGLoader/SVGLoader';
24
24
  export { default as Viewport } from './Viewport';
25
25
  export * from '@js-draw/math';
26
26
  export * from './components/lib';
package/dist/cjs/lib.js CHANGED
@@ -43,7 +43,7 @@ var getLocalizationTable_1 = require("./localizations/getLocalizationTable");
43
43
  Object.defineProperty(exports, "getLocalizationTable", { enumerable: true, get: function () { return __importDefault(getLocalizationTable_1).default; } });
44
44
  Object.defineProperty(exports, "matchingLocalizationTable", { enumerable: true, get: function () { return getLocalizationTable_1.matchingLocalizationTable; } });
45
45
  __exportStar(require("./localization"), exports);
46
- var SVGLoader_1 = require("./SVGLoader");
46
+ var SVGLoader_1 = require("./SVGLoader/SVGLoader");
47
47
  Object.defineProperty(exports, "SVGLoader", { enumerable: true, get: function () { return __importDefault(SVGLoader_1).default; } });
48
48
  var Viewport_1 = require("./Viewport");
49
49
  Object.defineProperty(exports, "Viewport", { enumerable: true, get: function () { return __importDefault(Viewport_1).default; } });
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.renderedStylesheetId = void 0;
7
7
  const math_1 = require("@js-draw/math");
8
- const SVGLoader_1 = require("../../SVGLoader");
8
+ const SVGLoader_1 = require("../../SVGLoader/SVGLoader");
9
9
  const RenderingStyle_1 = require("../RenderingStyle");
10
10
  const AbstractRenderer_1 = __importDefault(require("./AbstractRenderer"));
11
11
  const RenderablePathSpec_1 = require("../RenderablePathSpec");
@@ -30,7 +30,7 @@ const TextToolWidget_1 = __importDefault(require("./widgets/TextToolWidget"));
30
30
  const HandToolWidget_1 = __importDefault(require("./widgets/HandToolWidget"));
31
31
  const BaseWidget_1 = require("./widgets/BaseWidget");
32
32
  const ActionButtonWidget_1 = __importDefault(require("./widgets/ActionButtonWidget"));
33
- const InsertImageWidget_1 = __importDefault(require("./widgets/InsertImageWidget"));
33
+ const InsertImageWidget_1 = __importDefault(require("./widgets/InsertImageWidget/InsertImageWidget"));
34
34
  const DocumentPropertiesWidget_1 = __importDefault(require("./widgets/DocumentPropertiesWidget"));
35
35
  const math_1 = require("@js-draw/math");
36
36
  const constants_1 = require("./constants");
@@ -6,5 +6,5 @@ export { default as TextToolWidget } from './TextToolWidget';
6
6
  export { default as HandToolWidget } from './HandToolWidget';
7
7
  export { default as SelectionToolWidget } from './SelectionToolWidget';
8
8
  export { default as EraserToolWidget } from './EraserToolWidget';
9
- export { default as InsertImageWidget } from './InsertImageWidget';
9
+ export { default as InsertImageWidget } from './InsertImageWidget/InsertImageWidget';
10
10
  export { default as DocumentPropertiesWidget } from './DocumentPropertiesWidget';
@@ -21,7 +21,7 @@ var SelectionToolWidget_1 = require("./SelectionToolWidget");
21
21
  Object.defineProperty(exports, "SelectionToolWidget", { enumerable: true, get: function () { return __importDefault(SelectionToolWidget_1).default; } });
22
22
  var EraserToolWidget_1 = require("./EraserToolWidget");
23
23
  Object.defineProperty(exports, "EraserToolWidget", { enumerable: true, get: function () { return __importDefault(EraserToolWidget_1).default; } });
24
- var InsertImageWidget_1 = require("./InsertImageWidget");
24
+ var InsertImageWidget_1 = require("./InsertImageWidget/InsertImageWidget");
25
25
  Object.defineProperty(exports, "InsertImageWidget", { enumerable: true, get: function () { return __importDefault(InsertImageWidget_1).default; } });
26
26
  var DocumentPropertiesWidget_1 = require("./DocumentPropertiesWidget");
27
27
  Object.defineProperty(exports, "DocumentPropertiesWidget", { enumerable: true, get: function () { return __importDefault(DocumentPropertiesWidget_1).default; } });
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const TextComponent_1 = __importDefault(require("../components/TextComponent"));
7
- const SVGLoader_1 = __importDefault(require("../SVGLoader"));
7
+ const SVGLoader_1 = __importDefault(require("../SVGLoader/SVGLoader"));
8
8
  const math_1 = require("@js-draw/math");
9
9
  const BaseTool_1 = __importDefault(require("./BaseTool"));
10
10
  const TextTool_1 = __importDefault(require("./TextTool"));
@@ -55,8 +55,6 @@ export default class ToolController implements InputEventListener {
55
55
  insertToolsAfter(insertAfter: BaseTool, toolsToInsert: BaseTool[]): void;
56
56
  /** @see {@link insertToolsAfter} */
57
57
  insertToolsBefore(insertBefore: BaseTool, toolsToInsert: BaseTool[]): void;
58
- /** @internal */
59
- changeActiveToolTo(tool: BaseTool): void;
60
58
  private onEventInternal;
61
59
  /** Alias for {@link dispatchInputEvent}. */
62
60
  onEvent(event: InputEvt): boolean;
@@ -210,13 +210,6 @@ class ToolController {
210
210
  insertToolsBefore(insertBefore, toolsToInsert) {
211
211
  this.insertTools(insertBefore, toolsToInsert, 'before');
212
212
  }
213
- /** @internal */
214
- changeActiveToolTo(tool) {
215
- if (!tool.isEnabled()) {
216
- tool.setEnabled(true);
217
- }
218
- this.activeTool = tool;
219
- }
220
213
  // @internal use `dispatchEvent` rather than calling `onEvent` directly.
221
214
  onEventInternal(event) {
222
215
  const isEditorReadOnly = this.isEditorReadOnly.get();
@@ -6,5 +6,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  * @internal
7
7
  */
8
8
  exports.default = {
9
- number: '1.20.2',
9
+ number: '1.20.3',
10
10
  };
@@ -7,7 +7,7 @@ import Viewport from './Viewport.mjs';
7
7
  import EventDispatcher from './EventDispatcher.mjs';
8
8
  import { Vec2, Vec3, Color4, Mat33 } from '@js-draw/math';
9
9
  import Display, { RenderingMode } from './rendering/Display.mjs';
10
- import SVGLoader from './SVGLoader.mjs';
10
+ import SVGLoader from './SVGLoader/SVGLoader.mjs';
11
11
  import Pointer from './Pointer.mjs';
12
12
  import getLocalizationTable from './localizations/getLocalizationTable.mjs';
13
13
  import IconProvider from './toolbar/IconProvider.mjs';
@@ -7,7 +7,9 @@ import makeShapeFitAutocorrect from './autocorrect/makeShapeFitAutocorrect.mjs
7
7
  *
8
8
  */
9
9
  export const makePolylineBuilder = makeShapeFitAutocorrect((initialPoint, viewport) => {
10
- const minFit = viewport.getSizeOfPixelOnCanvas();
10
+ // Fit to a value slightly smaller than the pixel size. A larger value can
11
+ // cause the stroke to appear jagged at some zoom levels.
12
+ const minFit = viewport.getSizeOfPixelOnCanvas() * 0.75;
11
13
  return new PolylineBuilder(initialPoint, minFit, viewport);
12
14
  });
13
15
  export default class PolylineBuilder {
@@ -77,7 +79,7 @@ export default class PolylineBuilder {
77
79
  return new Stroke(this.previewFullPath());
78
80
  }
79
81
  getMinFit() {
80
- let minFit = Math.min(this.minFitAllowed, this.averageWidth / 3);
82
+ let minFit = Math.min(this.minFitAllowed, this.averageWidth / 4);
81
83
  if (minFit < 1e-10) {
82
84
  minFit = this.minFitAllowed;
83
85
  }
@@ -1,6 +1,6 @@
1
1
  import { Rect2 } from '@js-draw/math';
2
2
  import SVGRenderer from '../../rendering/renderers/SVGRenderer.mjs';
3
- import { svgLoaderAutoresizeClassName } from '../../SVGLoader.mjs';
3
+ import { svgLoaderAutoresizeClassName } from '../../SVGLoader/SVGLoader.mjs';
4
4
  import adjustExportedSVGSize from './adjustExportedSVGSize.mjs';
5
5
  const toSVGInternal = (image, renderFunction, options) => {
6
6
  const importExportViewport = image.getImportExportViewport().getTemporaryClone();
package/dist/mjs/lib.d.ts CHANGED
@@ -20,7 +20,7 @@ export * from './types';
20
20
  export * from './inputEvents';
21
21
  export { default as getLocalizationTable, matchingLocalizationTable } from './localizations/getLocalizationTable';
22
22
  export * from './localization';
23
- export { default as SVGLoader } from './SVGLoader';
23
+ export { default as SVGLoader } from './SVGLoader/SVGLoader';
24
24
  export { default as Viewport } from './Viewport';
25
25
  export * from '@js-draw/math';
26
26
  export * from './components/lib';
package/dist/mjs/lib.mjs CHANGED
@@ -20,7 +20,7 @@ export * from './types.mjs';
20
20
  export * from './inputEvents.mjs';
21
21
  export { default as getLocalizationTable, matchingLocalizationTable } from './localizations/getLocalizationTable.mjs';
22
22
  export * from './localization.mjs';
23
- export { default as SVGLoader } from './SVGLoader.mjs';
23
+ export { default as SVGLoader } from './SVGLoader/SVGLoader.mjs';
24
24
  export { default as Viewport } from './Viewport.mjs';
25
25
  export * from '@js-draw/math';
26
26
  export * from './components/lib.mjs';
@@ -1,5 +1,5 @@
1
1
  import { Mat33, Vec2, toRoundedString } from '@js-draw/math';
2
- import { svgAttributesDataKey, svgLoaderAttributeContainerID, svgStyleAttributesDataKey } from '../../SVGLoader.mjs';
2
+ import { svgAttributesDataKey, svgLoaderAttributeContainerID, svgStyleAttributesDataKey } from '../../SVGLoader/SVGLoader.mjs';
3
3
  import { stylesEqual } from '../RenderingStyle.mjs';
4
4
  import AbstractRenderer from './AbstractRenderer.mjs';
5
5
  import { pathFromRenderable } from '../RenderablePathSpec.mjs';
@@ -25,7 +25,7 @@ import TextToolWidget from './widgets/TextToolWidget.mjs';
25
25
  import HandToolWidget from './widgets/HandToolWidget.mjs';
26
26
  import { ToolbarWidgetTag } from './widgets/BaseWidget.mjs';
27
27
  import ActionButtonWidget from './widgets/ActionButtonWidget.mjs';
28
- import InsertImageWidget from './widgets/InsertImageWidget.mjs';
28
+ import InsertImageWidget from './widgets/InsertImageWidget/InsertImageWidget.mjs';
29
29
  import DocumentPropertiesWidget from './widgets/DocumentPropertiesWidget.mjs';
30
30
  import { Color4 } from '@js-draw/math';
31
31
  import { toolbarCSSPrefix } from './constants.mjs';
@@ -6,5 +6,5 @@ export { default as TextToolWidget } from './TextToolWidget';
6
6
  export { default as HandToolWidget } from './HandToolWidget';
7
7
  export { default as SelectionToolWidget } from './SelectionToolWidget';
8
8
  export { default as EraserToolWidget } from './EraserToolWidget';
9
- export { default as InsertImageWidget } from './InsertImageWidget';
9
+ export { default as InsertImageWidget } from './InsertImageWidget/InsertImageWidget';
10
10
  export { default as DocumentPropertiesWidget } from './DocumentPropertiesWidget';
@@ -6,5 +6,5 @@ export { default as TextToolWidget } from './TextToolWidget.mjs';
6
6
  export { default as HandToolWidget } from './HandToolWidget.mjs';
7
7
  export { default as SelectionToolWidget } from './SelectionToolWidget.mjs';
8
8
  export { default as EraserToolWidget } from './EraserToolWidget.mjs';
9
- export { default as InsertImageWidget } from './InsertImageWidget.mjs';
9
+ export { default as InsertImageWidget } from './InsertImageWidget/InsertImageWidget.mjs';
10
10
  export { default as DocumentPropertiesWidget } from './DocumentPropertiesWidget.mjs';
@@ -1,5 +1,5 @@
1
1
  import TextComponent from '../components/TextComponent.mjs';
2
- import SVGLoader from '../SVGLoader.mjs';
2
+ import SVGLoader from '../SVGLoader/SVGLoader.mjs';
3
3
  import { Mat33, Color4 } from '@js-draw/math';
4
4
  import BaseTool from './BaseTool.mjs';
5
5
  import TextTool from './TextTool.mjs';
@@ -55,8 +55,6 @@ export default class ToolController implements InputEventListener {
55
55
  insertToolsAfter(insertAfter: BaseTool, toolsToInsert: BaseTool[]): void;
56
56
  /** @see {@link insertToolsAfter} */
57
57
  insertToolsBefore(insertBefore: BaseTool, toolsToInsert: BaseTool[]): void;
58
- /** @internal */
59
- changeActiveToolTo(tool: BaseTool): void;
60
58
  private onEventInternal;
61
59
  /** Alias for {@link dispatchInputEvent}. */
62
60
  onEvent(event: InputEvt): boolean;
@@ -182,13 +182,6 @@ export default class ToolController {
182
182
  insertToolsBefore(insertBefore, toolsToInsert) {
183
183
  this.insertTools(insertBefore, toolsToInsert, 'before');
184
184
  }
185
- /** @internal */
186
- changeActiveToolTo(tool) {
187
- if (!tool.isEnabled()) {
188
- tool.setEnabled(true);
189
- }
190
- this.activeTool = tool;
191
- }
192
185
  // @internal use `dispatchEvent` rather than calling `onEvent` directly.
193
186
  onEventInternal(event) {
194
187
  const isEditorReadOnly = this.isEditorReadOnly.get();
@@ -4,5 +4,5 @@
4
4
  * @internal
5
5
  */
6
6
  export default {
7
- number: '1.20.2',
7
+ number: '1.20.3',
8
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-draw",
3
- "version": "1.20.2",
3
+ "version": "1.20.3",
4
4
  "description": "Draw pictures using a pen, touchscreen, or mouse! JS-draw is a drawing library for JavaScript and TypeScript. ",
5
5
  "types": "./dist/mjs/lib.d.ts",
6
6
  "main": "./dist/cjs/lib.js",
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "./Editor": {
27
27
  "types": "./dist/mjs/Editor.d.ts",
28
+ "require": "./dist/cjs/Editor.js",
28
29
  "default": "./dist/mjs/Editor.mjs"
29
30
  },
30
31
  "./types": {
@@ -86,5 +87,5 @@
86
87
  "freehand",
87
88
  "svg"
88
89
  ],
89
- "gitHead": "ee6b7aaf1c93f3e6a6b28ae694f7e46bd3026be1"
90
+ "gitHead": "43382107b39bc9c7c0cf16e83d8b0e2bb82af615"
90
91
  }
@@ -1,4 +1,4 @@
1
- @use "./InsertImageWidget/index.scss";
1
+ @use "./InsertImageWidget/InsertImageWidget.scss";
2
2
  @use "./OverflowWidget.css";
3
3
  @use "./PenToolWidget.scss";
4
4
  @use "./HandToolWidget.scss";
File without changes
File without changes