js-draw 1.30.0 → 1.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +5 -3
  2. package/dist/bundle.js +34 -34
  3. package/dist/cjs/Editor.js +1 -1
  4. package/dist/cjs/components/ImageComponent.js +1 -1
  5. package/dist/cjs/dialogs/makeMessageDialog.js +5 -3
  6. package/dist/cjs/localizations/getLocalizationTable.js +2 -0
  7. package/dist/cjs/localizations/zh.d.ts +3 -0
  8. package/dist/cjs/localizations/zh.js +170 -0
  9. package/dist/cjs/rendering/Display.js +5 -3
  10. package/dist/cjs/toolbar/EdgeToolbar.js +3 -2
  11. package/dist/cjs/toolbar/IconProvider.js +1 -1
  12. package/dist/cjs/toolbar/utils/HelpDisplay.js +7 -6
  13. package/dist/cjs/toolbar/widgets/BaseWidget.js +1 -1
  14. package/dist/cjs/toolbar/widgets/DocumentPropertiesWidget.js +5 -3
  15. package/dist/cjs/toolbar/widgets/HandToolWidget.js +4 -3
  16. package/dist/cjs/toolbar/widgets/InsertImageWidget/InsertImageWidget.js +14 -11
  17. package/dist/cjs/toolbar/widgets/PenToolWidget.js +2 -1
  18. package/dist/cjs/toolbar/widgets/components/makeButtonGrid.js +3 -2
  19. package/dist/cjs/toolbar/widgets/components/makeColorInput.js +2 -1
  20. package/dist/cjs/toolbar/widgets/components/makeGridSelector.js +2 -2
  21. package/dist/cjs/toolbar/widgets/components/makeSnappedList.js +1 -1
  22. package/dist/cjs/tools/FindTool.js +3 -2
  23. package/dist/cjs/tools/PanZoom.js +8 -2
  24. package/dist/cjs/tools/SelectionTool/SelectionMenuShortcut.js +7 -2
  25. package/dist/cjs/tools/SoundUITool.js +6 -4
  26. package/dist/cjs/tools/util/createMenuOverlay.js +9 -7
  27. package/dist/cjs/util/dom/createButton.d.ts +7 -0
  28. package/dist/cjs/util/dom/createButton.js +20 -0
  29. package/dist/cjs/util/{createElement.d.ts → dom/createElement.d.ts} +3 -0
  30. package/dist/cjs/version.js +1 -1
  31. package/dist/mjs/Editor.mjs +1 -1
  32. package/dist/mjs/components/ImageComponent.mjs +1 -1
  33. package/dist/mjs/dialogs/makeMessageDialog.mjs +5 -3
  34. package/dist/mjs/localizations/getLocalizationTable.mjs +2 -0
  35. package/dist/mjs/localizations/zh.d.ts +3 -0
  36. package/dist/mjs/localizations/zh.mjs +168 -0
  37. package/dist/mjs/rendering/Display.mjs +5 -3
  38. package/dist/mjs/toolbar/EdgeToolbar.mjs +3 -2
  39. package/dist/mjs/toolbar/IconProvider.mjs +1 -1
  40. package/dist/mjs/toolbar/utils/HelpDisplay.mjs +7 -6
  41. package/dist/mjs/toolbar/widgets/BaseWidget.mjs +1 -1
  42. package/dist/mjs/toolbar/widgets/DocumentPropertiesWidget.mjs +5 -3
  43. package/dist/mjs/toolbar/widgets/HandToolWidget.mjs +4 -3
  44. package/dist/mjs/toolbar/widgets/InsertImageWidget/InsertImageWidget.mjs +14 -11
  45. package/dist/mjs/toolbar/widgets/PenToolWidget.mjs +2 -1
  46. package/dist/mjs/toolbar/widgets/components/makeButtonGrid.mjs +3 -2
  47. package/dist/mjs/toolbar/widgets/components/makeColorInput.mjs +2 -1
  48. package/dist/mjs/toolbar/widgets/components/makeGridSelector.mjs +2 -2
  49. package/dist/mjs/toolbar/widgets/components/makeSnappedList.mjs +1 -1
  50. package/dist/mjs/tools/FindTool.mjs +3 -2
  51. package/dist/mjs/tools/PanZoom.mjs +8 -2
  52. package/dist/mjs/tools/SelectionTool/SelectionMenuShortcut.mjs +4 -2
  53. package/dist/mjs/tools/SoundUITool.mjs +6 -4
  54. package/dist/mjs/tools/util/createMenuOverlay.mjs +9 -7
  55. package/dist/mjs/util/dom/createButton.d.ts +7 -0
  56. package/dist/mjs/util/dom/createButton.mjs +15 -0
  57. package/dist/mjs/util/{createElement.d.ts → dom/createElement.d.ts} +3 -0
  58. package/dist/mjs/version.mjs +1 -1
  59. package/package.json +4 -4
  60. /package/dist/cjs/util/{addLongPressOrHoverCssClasses.d.ts → dom/addLongPressOrHoverCssClasses.d.ts} +0 -0
  61. /package/dist/cjs/util/{addLongPressOrHoverCssClasses.js → dom/addLongPressOrHoverCssClasses.js} +0 -0
  62. /package/dist/cjs/util/{cloneElementWithStyles.d.ts → dom/cloneElementWithStyles.d.ts} +0 -0
  63. /package/dist/cjs/util/{cloneElementWithStyles.js → dom/cloneElementWithStyles.js} +0 -0
  64. /package/dist/cjs/util/{createElement.js → dom/createElement.js} +0 -0
  65. /package/dist/cjs/util/{listenForKeyboardEventsFrom.d.ts → dom/listenForKeyboardEventsFrom.d.ts} +0 -0
  66. /package/dist/cjs/util/{listenForKeyboardEventsFrom.js → dom/listenForKeyboardEventsFrom.js} +0 -0
  67. /package/dist/cjs/util/{listenForLongPressOrHover.d.ts → dom/listenForLongPressOrHover.d.ts} +0 -0
  68. /package/dist/cjs/util/{listenForLongPressOrHover.js → dom/listenForLongPressOrHover.js} +0 -0
  69. /package/dist/cjs/util/{listenForLongPressOrHover.test.d.ts → dom/listenForLongPressOrHover.test.d.ts} +0 -0
  70. /package/dist/cjs/util/{stopPropagationOfScrollingWheelEvents.d.ts → dom/stopPropagationOfScrollingWheelEvents.d.ts} +0 -0
  71. /package/dist/cjs/util/{stopPropagationOfScrollingWheelEvents.js → dom/stopPropagationOfScrollingWheelEvents.js} +0 -0
  72. /package/dist/cjs/util/{waitForImageLoaded.d.ts → dom/waitForImageLoaded.d.ts} +0 -0
  73. /package/dist/cjs/util/{waitForImageLoaded.js → dom/waitForImageLoaded.js} +0 -0
  74. /package/dist/mjs/util/{addLongPressOrHoverCssClasses.d.ts → dom/addLongPressOrHoverCssClasses.d.ts} +0 -0
  75. /package/dist/mjs/util/{addLongPressOrHoverCssClasses.mjs → dom/addLongPressOrHoverCssClasses.mjs} +0 -0
  76. /package/dist/mjs/util/{cloneElementWithStyles.d.ts → dom/cloneElementWithStyles.d.ts} +0 -0
  77. /package/dist/mjs/util/{cloneElementWithStyles.mjs → dom/cloneElementWithStyles.mjs} +0 -0
  78. /package/dist/mjs/util/{createElement.mjs → dom/createElement.mjs} +0 -0
  79. /package/dist/mjs/util/{listenForKeyboardEventsFrom.d.ts → dom/listenForKeyboardEventsFrom.d.ts} +0 -0
  80. /package/dist/mjs/util/{listenForKeyboardEventsFrom.mjs → dom/listenForKeyboardEventsFrom.mjs} +0 -0
  81. /package/dist/mjs/util/{listenForLongPressOrHover.d.ts → dom/listenForLongPressOrHover.d.ts} +0 -0
  82. /package/dist/mjs/util/{listenForLongPressOrHover.mjs → dom/listenForLongPressOrHover.mjs} +0 -0
  83. /package/dist/mjs/util/{listenForLongPressOrHover.test.d.ts → dom/listenForLongPressOrHover.test.d.ts} +0 -0
  84. /package/dist/mjs/util/{stopPropagationOfScrollingWheelEvents.d.ts → dom/stopPropagationOfScrollingWheelEvents.d.ts} +0 -0
  85. /package/dist/mjs/util/{stopPropagationOfScrollingWheelEvents.mjs → dom/stopPropagationOfScrollingWheelEvents.mjs} +0 -0
  86. /package/dist/mjs/util/{waitForImageLoaded.d.ts → dom/waitForImageLoaded.d.ts} +0 -0
  87. /package/dist/mjs/util/{waitForImageLoaded.mjs → dom/waitForImageLoaded.mjs} +0 -0
@@ -1,5 +1,6 @@
1
1
  import waitForTimeout from '../../util/waitForTimeout.mjs';
2
2
  import { EditorEventType } from '../../types.mjs';
3
+ import createButton from '../../util/dom/createButton.mjs';
3
4
  let idCounter = 0;
4
5
  const createMenuOverlay = async (editor, canvasAnchor, options) => {
5
6
  const overlay = document.createElement('div');
@@ -96,16 +97,17 @@ const createMenuOverlay = async (editor, canvasAnchor, options) => {
96
97
  }
97
98
  });
98
99
  for (const option of options) {
99
- const optionElement = document.createElement('button');
100
+ const optionElement = createButton({
101
+ classList: ['option', 'editor-popup-menu-option'],
102
+ onClick: (event) => {
103
+ if (event.defaultPrevented)
104
+ return;
105
+ onOptionSelected(option.key);
106
+ },
107
+ });
100
108
  optionElement.id = `menu-overlay-option-${idCounter++}`;
101
109
  optionElement.role = 'menuitem';
102
- optionElement.classList.add('option', 'editor-popup-menu-option');
103
110
  optionElement.replaceChildren(option.icon(), document.createTextNode(option.text));
104
- optionElement.onclick = (event) => {
105
- if (event.defaultPrevented)
106
- return;
107
- onOptionSelected(option.key);
108
- };
109
111
  contentElement.appendChild(optionElement);
110
112
  if (optionElements.length === 0) {
111
113
  optionElement.autofocus = true;
@@ -0,0 +1,7 @@
1
+ interface Options {
2
+ onClick?: (event: MouseEvent) => void;
3
+ text?: string;
4
+ classList?: string[];
5
+ }
6
+ declare const createButton: ({ onClick, text, classList }?: Options) => HTMLButtonElement;
7
+ export default createButton;
@@ -0,0 +1,15 @@
1
+ import createElement from './createElement.mjs';
2
+ const createButton = ({ onClick, text, classList = [] } = {}) => {
3
+ const button = createElement('button', { type: 'button' });
4
+ if (onClick) {
5
+ button.onclick = onClick;
6
+ }
7
+ if (text) {
8
+ button.textContent = text;
9
+ }
10
+ for (const className of classList) {
11
+ button.classList.add(className);
12
+ }
13
+ return button;
14
+ };
15
+ export default createButton;
@@ -11,6 +11,9 @@ interface ElementToPropertiesMap {
11
11
  'stroke-width': string;
12
12
  transform: string;
13
13
  };
14
+ button: {
15
+ type: 'button';
16
+ };
14
17
  rect: {
15
18
  stroke: string;
16
19
  fill: string;
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export default {
7
7
  // Note: Auto-updated by prebuild.js:
8
- number: '1.30.0',
8
+ number: '1.31.1',
9
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-draw",
3
- "version": "1.30.0",
3
+ "version": "1.31.1",
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",
@@ -64,11 +64,11 @@
64
64
  "postpack": "ts-node tools/copyREADME.ts revert"
65
65
  },
66
66
  "dependencies": {
67
- "@js-draw/math": "^1.30.0",
67
+ "@js-draw/math": "^1.31.1",
68
68
  "@melloware/coloris": "0.22.0"
69
69
  },
70
70
  "devDependencies": {
71
- "@js-draw/build-tool": "^1.30.0",
71
+ "@js-draw/build-tool": "^1.31.1",
72
72
  "@types/jest": "29.5.5",
73
73
  "@types/jsdom": "21.1.3"
74
74
  },
@@ -86,5 +86,5 @@
86
86
  "freehand",
87
87
  "svg"
88
88
  ],
89
- "gitHead": "66eec6d2c16262c5397ab158967afb55428f7008"
89
+ "gitHead": "c232b25b295e7c3e1fb53124599d4c3a27a2d042"
90
90
  }