js-draw 0.19.0 → 0.21.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.
Files changed (88) hide show
  1. package/.eslintrc.js +1 -0
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +4 -4
  4. package/dist/bundle.js +2 -2
  5. package/dist/bundledStyles.js +1 -1
  6. package/dist/cjs/src/Color4.js +3 -3
  7. package/dist/cjs/src/Editor.d.ts +4 -1
  8. package/dist/cjs/src/Editor.js +30 -12
  9. package/dist/cjs/src/SVGLoader.js +69 -7
  10. package/dist/cjs/src/Viewport.d.ts +2 -0
  11. package/dist/cjs/src/Viewport.js +6 -2
  12. package/dist/cjs/src/components/AbstractComponent.d.ts +13 -1
  13. package/dist/cjs/src/components/AbstractComponent.js +19 -9
  14. package/dist/cjs/src/components/{ImageBackground.d.ts → BackgroundComponent.d.ts} +23 -3
  15. package/dist/cjs/src/components/BackgroundComponent.js +309 -0
  16. package/dist/cjs/src/components/Stroke.d.ts +1 -0
  17. package/dist/cjs/src/components/Stroke.js +15 -2
  18. package/dist/cjs/src/components/TextComponent.d.ts +1 -13
  19. package/dist/cjs/src/components/TextComponent.js +1 -1
  20. package/dist/cjs/src/components/lib.d.ts +2 -2
  21. package/dist/cjs/src/components/lib.js +2 -2
  22. package/dist/cjs/src/components/util/StrokeSmoother.js +26 -18
  23. package/dist/cjs/src/localizations/de.js +1 -1
  24. package/dist/cjs/src/localizations/es.js +1 -1
  25. package/dist/cjs/src/math/LineSegment2.d.ts +2 -0
  26. package/dist/cjs/src/math/LineSegment2.js +4 -0
  27. package/dist/cjs/src/math/Path.d.ts +24 -3
  28. package/dist/cjs/src/math/Path.js +225 -4
  29. package/dist/cjs/src/math/Rect2.js +4 -3
  30. package/dist/cjs/src/math/polynomial/QuadraticBezier.d.ts +28 -0
  31. package/dist/cjs/src/math/polynomial/QuadraticBezier.js +114 -0
  32. package/dist/cjs/src/math/polynomial/solveQuadratic.d.ts +6 -0
  33. package/dist/cjs/src/math/polynomial/solveQuadratic.js +36 -0
  34. package/dist/cjs/src/rendering/renderers/CanvasRenderer.js +5 -3
  35. package/dist/cjs/src/rendering/renderers/SVGRenderer.js +15 -6
  36. package/dist/cjs/src/toolbar/HTMLToolbar.js +7 -0
  37. package/dist/cjs/src/toolbar/localization.d.ts +2 -1
  38. package/dist/cjs/src/toolbar/localization.js +2 -1
  39. package/dist/cjs/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +5 -0
  40. package/dist/cjs/src/toolbar/widgets/DocumentPropertiesWidget.js +77 -2
  41. package/dist/cjs/src/toolbar/widgets/PenToolWidget.js +1 -1
  42. package/dist/cjs/src/tools/FindTool.js +1 -1
  43. package/dist/cjs/src/tools/SoundUITool.js +1 -1
  44. package/dist/mjs/src/Color4.mjs +3 -3
  45. package/dist/mjs/src/Editor.d.ts +4 -1
  46. package/dist/mjs/src/Editor.mjs +29 -11
  47. package/dist/mjs/src/SVGLoader.mjs +68 -6
  48. package/dist/mjs/src/Viewport.d.ts +2 -0
  49. package/dist/mjs/src/Viewport.mjs +6 -2
  50. package/dist/mjs/src/components/AbstractComponent.d.ts +13 -1
  51. package/dist/mjs/src/components/AbstractComponent.mjs +19 -9
  52. package/dist/mjs/src/components/{ImageBackground.d.ts → BackgroundComponent.d.ts} +23 -3
  53. package/dist/mjs/src/components/BackgroundComponent.mjs +279 -0
  54. package/dist/mjs/src/components/Stroke.d.ts +1 -0
  55. package/dist/mjs/src/components/Stroke.mjs +15 -2
  56. package/dist/mjs/src/components/TextComponent.d.ts +1 -13
  57. package/dist/mjs/src/components/TextComponent.mjs +1 -1
  58. package/dist/mjs/src/components/lib.d.ts +2 -2
  59. package/dist/mjs/src/components/lib.mjs +2 -2
  60. package/dist/mjs/src/components/util/StrokeSmoother.mjs +26 -18
  61. package/dist/mjs/src/localizations/de.mjs +1 -1
  62. package/dist/mjs/src/localizations/es.mjs +1 -1
  63. package/dist/mjs/src/math/LineSegment2.d.ts +2 -0
  64. package/dist/mjs/src/math/LineSegment2.mjs +4 -0
  65. package/dist/mjs/src/math/Path.d.ts +24 -3
  66. package/dist/mjs/src/math/Path.mjs +225 -4
  67. package/dist/mjs/src/math/Rect2.mjs +4 -3
  68. package/dist/mjs/src/math/polynomial/QuadraticBezier.d.ts +28 -0
  69. package/dist/mjs/src/math/polynomial/QuadraticBezier.mjs +108 -0
  70. package/dist/mjs/src/math/polynomial/solveQuadratic.d.ts +6 -0
  71. package/dist/mjs/src/math/polynomial/solveQuadratic.mjs +34 -0
  72. package/dist/mjs/src/rendering/renderers/CanvasRenderer.mjs +5 -3
  73. package/dist/mjs/src/rendering/renderers/SVGRenderer.mjs +15 -6
  74. package/dist/mjs/src/toolbar/HTMLToolbar.mjs +8 -1
  75. package/dist/mjs/src/toolbar/localization.d.ts +2 -1
  76. package/dist/mjs/src/toolbar/localization.mjs +2 -1
  77. package/dist/mjs/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +5 -0
  78. package/dist/mjs/src/toolbar/widgets/DocumentPropertiesWidget.mjs +54 -2
  79. package/dist/mjs/src/toolbar/widgets/PenToolWidget.mjs +1 -1
  80. package/dist/mjs/src/tools/FindTool.mjs +1 -1
  81. package/dist/mjs/src/tools/SoundUITool.mjs +1 -1
  82. package/jest.config.js +1 -1
  83. package/package.json +14 -14
  84. package/src/Coloris.css +52 -0
  85. package/src/Editor.css +12 -0
  86. package/src/toolbar/toolbar.css +9 -0
  87. package/dist/cjs/src/components/ImageBackground.js +0 -146
  88. package/dist/mjs/src/components/ImageBackground.mjs +0 -139
package/.eslintrc.js CHANGED
@@ -36,6 +36,7 @@ module.exports = {
36
36
  'error',
37
37
  'always'
38
38
  ],
39
+ 'no-trailing-spaces': 'error',
39
40
  '@typescript-eslint/no-empty-function': 'off',
40
41
  '@typescript-eslint/no-empty-interface': 'off',
41
42
  '@typescript-eslint/no-inferrable-types': 'off',
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 0.21.0
2
+ * Color picker (Note: uses the [Coloris library](https://github.com/melloware/coloris-npm))
3
+ * Allow the user to start drawing without an extra click when closing the color picker.
4
+ * Increase the size of sliders' touch targets for easier selection.
5
+ * Adjust stroke smoothing: Strokes should now be closer to user input.
6
+ * Erasing and selecting: Use the edge rather than the center of strokes to determine eraser/selection intersection.
7
+ * This was previously only the case for filled strokes (as produced by the flat-tip pen).
8
+
9
+ # 0.20.0
10
+ * Added option for grid-patterned background.
11
+
1
12
  # 0.19.0
2
13
  * (Experimental) Sound-based image browsing.
3
14
  - Pressing tab repeatedly shows an "Enable sound-based exploration" button. Clicking this button plays a sound when a user subsequently clicks on the canvas. The sound is based on the color under the cursor.
package/README.md CHANGED
@@ -29,18 +29,18 @@ The `import js-draw/styles` step requires a bundler that can import `.css` files
29
29
  Import the pre-bundled version of the editor to apply CSS after loading the page.
30
30
  ```ts
31
31
  import Editor from 'js-draw';
32
- import 'js-draw/bundle';
32
+ import 'js-draw/bundledStyles';
33
33
 
34
34
  const editor = new Editor(document.body);
35
35
  ```
36
- `js-draw/bundle` is a version of the editor pre-processed by `Webpack`. As such, `import`ing or including it with a `<script src="..."></script>` tag applies editor-specific CSS to the document.
36
+ `js-draw/bundledStyles` is a version of the editor's stylesheets pre-processed by `Webpack`. As such, `import`ing or including it with a `<script src="..."></script>` tag applies editor-specific CSS to the document.
37
37
 
38
38
  ### Without a bundler
39
39
 
40
40
  If you're not using a bundler, consider using the pre-bundled editor:
41
41
  ```html
42
- <!-- Replace 0.17.3 with the latest version of js-draw -->
43
- <script src="https://cdn.jsdelivr.net/npm/js-draw@0.17.3/dist/bundle.js"></script>
42
+ <!-- Replace 0.20.0 with the latest version of js-draw -->
43
+ <script src="https://cdn.jsdelivr.net/npm/js-draw@0.20.0/dist/bundle.js"></script>
44
44
  <script>
45
45
  const editor = new jsdraw.Editor(document.body);
46
46
  editor.addToolbar();