js-draw 1.6.0 → 1.7.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 (65) hide show
  1. package/README.md +4 -6
  2. package/dist/Editor.css +30 -4
  3. package/dist/bundle.js +2 -2
  4. package/dist/bundledStyles.js +1 -1
  5. package/dist/cjs/Editor.d.ts +5 -0
  6. package/dist/cjs/Editor.js +53 -70
  7. package/dist/cjs/components/BackgroundComponent.js +6 -1
  8. package/dist/cjs/components/TextComponent.d.ts +1 -1
  9. package/dist/cjs/components/TextComponent.js +19 -12
  10. package/dist/cjs/image/EditorImage.js +8 -8
  11. package/dist/cjs/localization.d.ts +2 -0
  12. package/dist/cjs/localization.js +2 -0
  13. package/dist/cjs/localizations/comments.js +1 -0
  14. package/dist/cjs/rendering/RenderablePathSpec.js +16 -1
  15. package/dist/cjs/rendering/caching/CacheRecordManager.d.ts +1 -0
  16. package/dist/cjs/rendering/caching/CacheRecordManager.js +18 -0
  17. package/dist/cjs/rendering/caching/RenderingCache.d.ts +1 -0
  18. package/dist/cjs/rendering/caching/RenderingCache.js +3 -0
  19. package/dist/cjs/rendering/renderers/CanvasRenderer.js +3 -2
  20. package/dist/cjs/toolbar/widgets/BaseWidget.js +3 -3
  21. package/dist/cjs/tools/SelectionTool/Selection.d.ts +5 -4
  22. package/dist/cjs/tools/SelectionTool/Selection.js +81 -52
  23. package/dist/cjs/tools/SelectionTool/SelectionHandle.d.ts +2 -2
  24. package/dist/cjs/tools/SelectionTool/SelectionHandle.js +8 -3
  25. package/dist/cjs/tools/SelectionTool/SelectionTool.d.ts +3 -1
  26. package/dist/cjs/tools/SelectionTool/SelectionTool.js +36 -16
  27. package/dist/cjs/tools/SelectionTool/ToPointerAutoscroller.d.ts +23 -0
  28. package/dist/cjs/tools/SelectionTool/ToPointerAutoscroller.js +83 -0
  29. package/dist/cjs/tools/SelectionTool/TransformMode.d.ts +10 -3
  30. package/dist/cjs/tools/SelectionTool/TransformMode.js +52 -9
  31. package/dist/cjs/util/listenForKeyboardEventsFrom.d.ts +16 -0
  32. package/dist/cjs/util/listenForKeyboardEventsFrom.js +142 -0
  33. package/dist/cjs/version.js +1 -1
  34. package/dist/mjs/Editor.d.ts +5 -0
  35. package/dist/mjs/Editor.mjs +53 -70
  36. package/dist/mjs/components/BackgroundComponent.mjs +6 -1
  37. package/dist/mjs/components/TextComponent.d.ts +1 -1
  38. package/dist/mjs/components/TextComponent.mjs +19 -12
  39. package/dist/mjs/image/EditorImage.mjs +8 -8
  40. package/dist/mjs/localization.d.ts +2 -0
  41. package/dist/mjs/localization.mjs +2 -0
  42. package/dist/mjs/localizations/comments.mjs +1 -0
  43. package/dist/mjs/rendering/RenderablePathSpec.mjs +16 -1
  44. package/dist/mjs/rendering/caching/CacheRecordManager.d.ts +1 -0
  45. package/dist/mjs/rendering/caching/CacheRecordManager.mjs +18 -0
  46. package/dist/mjs/rendering/caching/RenderingCache.d.ts +1 -0
  47. package/dist/mjs/rendering/caching/RenderingCache.mjs +3 -0
  48. package/dist/mjs/rendering/renderers/CanvasRenderer.mjs +3 -2
  49. package/dist/mjs/toolbar/widgets/BaseWidget.mjs +3 -3
  50. package/dist/mjs/tools/SelectionTool/Selection.d.ts +5 -4
  51. package/dist/mjs/tools/SelectionTool/Selection.mjs +81 -52
  52. package/dist/mjs/tools/SelectionTool/SelectionHandle.d.ts +2 -2
  53. package/dist/mjs/tools/SelectionTool/SelectionHandle.mjs +8 -3
  54. package/dist/mjs/tools/SelectionTool/SelectionTool.d.ts +3 -1
  55. package/dist/mjs/tools/SelectionTool/SelectionTool.mjs +36 -16
  56. package/dist/mjs/tools/SelectionTool/ToPointerAutoscroller.d.ts +23 -0
  57. package/dist/mjs/tools/SelectionTool/ToPointerAutoscroller.mjs +77 -0
  58. package/dist/mjs/tools/SelectionTool/TransformMode.d.ts +10 -3
  59. package/dist/mjs/tools/SelectionTool/TransformMode.mjs +52 -9
  60. package/dist/mjs/util/listenForKeyboardEventsFrom.d.ts +16 -0
  61. package/dist/mjs/util/listenForKeyboardEventsFrom.mjs +140 -0
  62. package/dist/mjs/version.mjs +1 -1
  63. package/docs/img/readme-images/js-draw.png +0 -0
  64. package/package.json +6 -6
  65. package/src/tools/SelectionTool/SelectionTool.scss +62 -9
package/README.md CHANGED
@@ -1,17 +1,17 @@
1
1
 
2
2
 
3
3
  <div align="center">
4
- <img height="190" src="./docs/img/readme-images/logo.svg" alt="js-draw logo"/>
4
+ <img height="190" src="docs/img/readme-images/logo.svg" alt="js-draw logo"/>
5
5
  </div>
6
6
 
7
7
  <h1 align="center">js-draw</h1>
8
- <center>
8
+ <div align="center">
9
9
 
10
10
  [NPM package](https://www.npmjs.com/package/js-draw) | [GitHub](https://github.com/personalizedrefrigerator/js-draw) | [Documentation](https://personalizedrefrigerator.github.io/js-draw/typedoc/modules/js_draw.html) | [Try it!](https://personalizedrefrigerator.github.io/js-draw/example/example.html)
11
11
 
12
- </center>
12
+ </div>
13
13
 
14
- ![](docs/img/readme-images/js-draw.jpg)
14
+ ![](docs/img/readme-images/js-draw.png)
15
15
 
16
16
  For example usage, see [one of the examples](https://github.com/personalizedrefrigerator/js-draw/blob/main/docs/examples.md) or read [the documentation](https://personalizedrefrigerator.github.io/js-draw/typedoc/).
17
17
 
@@ -19,8 +19,6 @@ If you're coming from version 0.25, [read the migration guide!](https://js-draw.
19
19
 
20
20
  # API
21
21
 
22
- To use `js-draw`,
23
-
24
22
  ## Creating an `Editor`
25
23
 
26
24
  ### With a bundler that supports importing `.css` files
package/dist/Editor.css CHANGED
@@ -1086,24 +1086,38 @@
1086
1086
  background-color: var(--selection-background-color);
1087
1087
  opacity: 0.5;
1088
1088
  overflow: visible;
1089
- position: absolute;
1090
1089
  }
1091
1090
 
1092
1091
  .selection-tool-handle {
1092
+ position: absolute;
1093
+ box-sizing: border-box;
1094
+ display: flex;
1095
+ align-items: center;
1096
+ justify-content: center;
1097
+ --max-size: 17px;
1098
+ }
1099
+ .selection-tool-handle .selection-tool-content {
1093
1100
  border: 1px solid var(--foreground-color-1);
1094
1101
  background: var(--background-color-1);
1095
- position: absolute;
1096
1102
  box-sizing: border-box;
1103
+ max-width: var(--max-size);
1104
+ max-height: var(--max-size);
1105
+ width: 100%;
1106
+ height: 100%;
1107
+ display: flex;
1108
+ justify-content: center;
1109
+ align-items: center;
1097
1110
  padding: 3px;
1098
1111
  }
1099
- .selection-tool-handle .icon {
1112
+ .selection-tool-handle .selection-tool-content .icon {
1100
1113
  width: 100%;
1101
1114
  height: 100%;
1102
1115
  }
1103
- .selection-tool-handle.selection-tool-circle {
1116
+ .selection-tool-handle.selection-tool-circle .selection-tool-content {
1104
1117
  border-radius: 100%;
1105
1118
  }
1106
1119
  .selection-tool-handle.selection-tool-rotate {
1120
+ --max-size: 28px;
1107
1121
  cursor: grab;
1108
1122
  }
1109
1123
 
@@ -1128,9 +1142,21 @@
1128
1142
  }
1129
1143
 
1130
1144
  .overlay.handleOverlay {
1145
+ touch-action: none;
1146
+ }
1147
+ .overlay.handleOverlay, .overlay.handleOverlay .selection-tool-selection-outer-container {
1131
1148
  height: 0;
1132
1149
  overflow: visible;
1133
1150
  }
1151
+ .overlay.handleOverlay .selection-tool-selection-inner-container {
1152
+ width: var(--editor-current-display-width-px);
1153
+ height: var(--editor-current-display-height-px);
1154
+ overflow: hidden;
1155
+ pointer-events: none;
1156
+ }
1157
+ .overlay.handleOverlay .selection-tool-selection-inner-container > * {
1158
+ pointer-events: all;
1159
+ }
1134
1160
 
1135
1161
  @keyframes selection-duplicated-animation {
1136
1162
  0% {