react-design-editor 0.0.32 → 0.0.36

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 (101) hide show
  1. package/README.md +37 -33
  2. package/dist/react-design-editor.js +33723 -13736
  3. package/dist/react-design-editor.min.js +1 -1
  4. package/dist/react-design-editor.min.js.LICENSE.txt +13 -2
  5. package/lib/Canvas.d.ts +18 -32
  6. package/lib/Canvas.js +172 -245
  7. package/lib/CanvasObject.d.ts +10 -10
  8. package/lib/CanvasObject.js +96 -89
  9. package/lib/constants/code.d.ts +19 -0
  10. package/lib/constants/code.js +22 -0
  11. package/lib/constants/defaults.d.ts +38 -0
  12. package/lib/constants/defaults.js +69 -0
  13. package/lib/constants/index.d.ts +3 -0
  14. package/lib/constants/index.js +26 -0
  15. package/lib/handlers/AlignmentHandler.d.ts +18 -18
  16. package/lib/handlers/AlignmentHandler.js +58 -58
  17. package/lib/handlers/AnimationHandler.d.ts +50 -48
  18. package/lib/handlers/AnimationHandler.js +323 -298
  19. package/lib/handlers/ChartHandler.d.ts +8 -8
  20. package/lib/handlers/ChartHandler.js +8 -8
  21. package/lib/handlers/ContextmenuHandler.d.ts +28 -23
  22. package/lib/handlers/ContextmenuHandler.js +65 -56
  23. package/lib/handlers/CropHandler.d.ts +43 -37
  24. package/lib/handlers/CropHandler.js +261 -243
  25. package/lib/handlers/CustomHandler.d.ts +7 -0
  26. package/lib/handlers/CustomHandler.js +10 -0
  27. package/lib/handlers/DrawingHandler.d.ts +28 -28
  28. package/lib/handlers/DrawingHandler.js +318 -318
  29. package/lib/handlers/ElementHandler.d.ts +80 -80
  30. package/lib/handlers/ElementHandler.js +154 -154
  31. package/lib/handlers/EventHandler.d.ts +170 -182
  32. package/lib/handlers/EventHandler.js +880 -904
  33. package/lib/handlers/FiberHandler.d.ts +6 -0
  34. package/lib/handlers/FiberHandler.js +23 -0
  35. package/lib/handlers/GridHandler.d.ts +19 -18
  36. package/lib/handlers/GridHandler.js +77 -76
  37. package/lib/handlers/GuidelineHandler.d.ts +61 -39
  38. package/lib/handlers/GuidelineHandler.js +315 -266
  39. package/lib/handlers/Handler.d.ts +622 -543
  40. package/lib/handlers/Handler.js +1638 -1510
  41. package/lib/handlers/ImageHandler.d.ts +307 -307
  42. package/lib/handlers/ImageHandler.js +529 -484
  43. package/lib/handlers/InteractionHandler.d.ts +45 -45
  44. package/lib/handlers/InteractionHandler.js +164 -159
  45. package/lib/handlers/LinkHandler.d.ts +115 -116
  46. package/lib/handlers/LinkHandler.js +247 -246
  47. package/lib/handlers/NodeHandler.d.ts +50 -50
  48. package/lib/handlers/NodeHandler.js +274 -274
  49. package/lib/handlers/PortHandler.d.ts +22 -22
  50. package/lib/handlers/PortHandler.js +179 -179
  51. package/lib/handlers/ShortcutHandler.d.ts +119 -119
  52. package/lib/handlers/ShortcutHandler.js +151 -150
  53. package/lib/handlers/TooltipHandler.d.ts +33 -24
  54. package/lib/handlers/TooltipHandler.js +91 -78
  55. package/lib/handlers/TransactionHandler.d.ts +59 -54
  56. package/lib/handlers/TransactionHandler.js +137 -132
  57. package/lib/handlers/WorkareaHandler.d.ts +43 -41
  58. package/lib/handlers/WorkareaHandler.js +354 -352
  59. package/lib/handlers/ZoomHandler.d.ts +48 -48
  60. package/lib/handlers/ZoomHandler.js +143 -143
  61. package/lib/handlers/index.d.ts +23 -21
  62. package/lib/handlers/index.js +48 -44
  63. package/lib/index.d.ts +6 -5
  64. package/lib/index.js +20 -19
  65. package/lib/objects/Arrow.d.ts +2 -2
  66. package/lib/objects/Arrow.js +40 -39
  67. package/lib/objects/Chart.d.ts +10 -10
  68. package/lib/objects/Chart.js +117 -116
  69. package/lib/objects/CirclePort.d.ts +2 -2
  70. package/lib/objects/CirclePort.js +28 -28
  71. package/lib/objects/Cube.d.ts +5 -5
  72. package/lib/objects/Cube.js +71 -71
  73. package/lib/objects/CurvedLink.d.ts +2 -2
  74. package/lib/objects/CurvedLink.js +51 -49
  75. package/lib/objects/Element.d.ts +13 -13
  76. package/lib/objects/Element.js +77 -76
  77. package/lib/objects/Gif.d.ts +3 -3
  78. package/lib/objects/Gif.js +41 -38
  79. package/lib/objects/Iframe.d.ts +9 -9
  80. package/lib/objects/Iframe.js +63 -62
  81. package/lib/objects/Line.d.ts +2 -2
  82. package/lib/objects/Line.js +24 -24
  83. package/lib/objects/Link.d.ts +15 -15
  84. package/lib/objects/Link.js +106 -104
  85. package/lib/objects/Node.d.ts +59 -59
  86. package/lib/objects/Node.js +271 -268
  87. package/lib/objects/OrthogonalLink.d.ts +2 -2
  88. package/lib/objects/OrthogonalLink.js +54 -52
  89. package/lib/objects/Port.d.ts +12 -12
  90. package/lib/objects/Port.js +28 -28
  91. package/lib/objects/Svg.d.ts +8 -0
  92. package/lib/objects/Svg.js +59 -0
  93. package/lib/objects/Video.d.ts +14 -14
  94. package/lib/objects/Video.js +113 -112
  95. package/lib/objects/index.d.ts +15 -14
  96. package/lib/objects/index.js +32 -30
  97. package/lib/utils/ObjectUtil.d.ts +407 -413
  98. package/lib/utils/ObjectUtil.js +13 -13
  99. package/lib/utils/index.d.ts +1 -1
  100. package/lib/utils/index.js +13 -13
  101. package/package.json +20 -17
@@ -1,179 +1,179 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class PortHandler {
4
- constructor(handler) {
5
- /**
6
- * Create port
7
- * @param {NodeObject} target
8
- */
9
- this.create = (target) => {
10
- if (!target.createToPort) {
11
- return;
12
- }
13
- const toPort = target.createToPort(target.left + target.width / 2, target.top);
14
- if (toPort) {
15
- toPort.on('mouseover', () => {
16
- if (this.handler.interactionMode === 'link' &&
17
- this.handler.activeLine &&
18
- this.handler.activeLine.class === 'line') {
19
- if (toPort.links.some(link => link.fromNode === this.handler.activeLine.fromNode)) {
20
- toPort.set({
21
- fill: 'red',
22
- });
23
- this.handler.canvas.renderAll();
24
- return;
25
- }
26
- toPort.set({
27
- fill: 'green',
28
- });
29
- this.handler.canvas.renderAll();
30
- }
31
- });
32
- toPort.on('mouseout', () => {
33
- toPort.set({
34
- fill: toPort.originFill,
35
- });
36
- this.handler.canvas.renderAll();
37
- });
38
- this.handler.canvas.add(toPort);
39
- toPort.setCoords();
40
- this.handler.canvas.bringToFront(toPort);
41
- }
42
- const fromPort = target.createFromPort(target.left + target.width / 2, target.top + target.height);
43
- if (fromPort && fromPort.length) {
44
- fromPort.forEach(port => {
45
- if (port) {
46
- port.on('mouseover', () => {
47
- if (this.handler.interactionMode !== 'link') {
48
- if (port.enabled) {
49
- if (this.handler.activeLine) {
50
- port.set({
51
- fill: 'red',
52
- });
53
- this.handler.canvas.renderAll();
54
- return;
55
- }
56
- port.set({
57
- fill: 'green',
58
- });
59
- this.handler.canvas.renderAll();
60
- return;
61
- }
62
- port.set({
63
- fill: 'red',
64
- });
65
- this.handler.canvas.renderAll();
66
- }
67
- });
68
- port.on('mouseout', () => {
69
- if (this.handler.interactionMode !== 'link') {
70
- port.set({
71
- fill: port.enabled ? port.originFill : port.hoverFill,
72
- });
73
- }
74
- this.handler.canvas.renderAll();
75
- });
76
- this.handler.canvas.add(port);
77
- port.setCoords();
78
- this.handler.canvas.bringToFront(port);
79
- }
80
- });
81
- }
82
- };
83
- /**
84
- * Set coords port
85
- * @param {NodeObject} target
86
- */
87
- this.setCoords = (target) => {
88
- if (target.toPort) {
89
- const toCoords = {
90
- left: target.left + target.width / 2,
91
- top: target.top,
92
- };
93
- target.toPort.set({
94
- ...toCoords,
95
- });
96
- target.toPort.setCoords();
97
- if (target.toPort.links.length) {
98
- target.toPort.links.forEach(link => {
99
- const fromPort = link.fromNode.fromPort.filter(port => port.id === link.fromPort.id)[0];
100
- this.handler.linkHandler.setCoords(fromPort.left, fromPort.top, toCoords.left, toCoords.top, link);
101
- });
102
- }
103
- }
104
- if (target.fromPort) {
105
- const fromCoords = {
106
- left: target.left + target.width / 2,
107
- top: target.top + target.height,
108
- };
109
- target.fromPort.forEach(port => {
110
- const left = port.leftDiff ? fromCoords.left + port.leftDiff : fromCoords.left;
111
- const top = port.topDiff ? fromCoords.top + port.topDiff : fromCoords.top;
112
- port.set({
113
- left,
114
- top,
115
- });
116
- port.setCoords();
117
- if (port.links.length) {
118
- port.links.forEach(link => {
119
- this.handler.linkHandler.setCoords(left, top, link.toNode.toPort.left, link.toNode.toPort.top, link);
120
- });
121
- }
122
- });
123
- }
124
- };
125
- /**
126
- * Recreate port
127
- * @param {NodeObject} target
128
- */
129
- this.recreate = (target) => {
130
- const { fromPort, toPort } = target;
131
- const ports = target.ports;
132
- if (ports) {
133
- ports.forEach(port => {
134
- target.removeWithUpdate(port);
135
- this.handler.canvas.remove(port.fromPort);
136
- });
137
- }
138
- this.handler.canvas.remove(target.toPort);
139
- if (target.toPort) {
140
- target.toPort.links.forEach(link => {
141
- this.handler.linkHandler.remove(link, 'from');
142
- });
143
- }
144
- if (target.fromPort) {
145
- target.fromPort.forEach((port) => {
146
- if (port.links.length) {
147
- port.links.forEach((link) => {
148
- this.handler.linkHandler.remove(link, 'to');
149
- });
150
- }
151
- });
152
- }
153
- this.create(target);
154
- toPort.links.forEach((link) => {
155
- link.fromNode = link.fromNode.id;
156
- link.fromPort = link.fromPort.id;
157
- link.toNode = target.toPort.nodeId;
158
- link.toPort = target.toPort.id;
159
- this.handler.linkHandler.create(link);
160
- });
161
- fromPort
162
- .filter(op => target.fromPort.some(np => np.id === op.id))
163
- .forEach(port => {
164
- port.links.forEach((link) => {
165
- if (link.fromPort.id === port.id) {
166
- link.fromNode = port.nodeId;
167
- link.fromPort = port.id;
168
- link.toNode = link.toNode.id;
169
- link.toPort = link.toPort.id;
170
- this.handler.linkHandler.create(link);
171
- this.setCoords(target);
172
- }
173
- });
174
- });
175
- };
176
- this.handler = handler;
177
- }
178
- }
179
- exports.default = PortHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class PortHandler {
4
+ constructor(handler) {
5
+ /**
6
+ * Create port
7
+ * @param {NodeObject} target
8
+ */
9
+ this.create = (target) => {
10
+ if (!target.createToPort) {
11
+ return;
12
+ }
13
+ const toPort = target.createToPort(target.left + target.width / 2, target.top);
14
+ if (toPort) {
15
+ toPort.on('mouseover', () => {
16
+ if (this.handler.interactionMode === 'link' &&
17
+ this.handler.activeLine &&
18
+ this.handler.activeLine.class === 'line') {
19
+ if (toPort.links.some(link => link.fromNode === this.handler.activeLine.fromNode)) {
20
+ toPort.set({
21
+ fill: 'red',
22
+ });
23
+ this.handler.canvas.renderAll();
24
+ return;
25
+ }
26
+ toPort.set({
27
+ fill: 'green',
28
+ });
29
+ this.handler.canvas.renderAll();
30
+ }
31
+ });
32
+ toPort.on('mouseout', () => {
33
+ toPort.set({
34
+ fill: toPort.originFill,
35
+ });
36
+ this.handler.canvas.renderAll();
37
+ });
38
+ this.handler.canvas.add(toPort);
39
+ toPort.setCoords();
40
+ this.handler.canvas.bringToFront(toPort);
41
+ }
42
+ const fromPort = target.createFromPort(target.left + target.width / 2, target.top + target.height);
43
+ if (fromPort && fromPort.length) {
44
+ fromPort.forEach(port => {
45
+ if (port) {
46
+ port.on('mouseover', () => {
47
+ if (this.handler.interactionMode !== 'link') {
48
+ if (port.enabled) {
49
+ if (this.handler.activeLine) {
50
+ port.set({
51
+ fill: 'red',
52
+ });
53
+ this.handler.canvas.renderAll();
54
+ return;
55
+ }
56
+ port.set({
57
+ fill: 'green',
58
+ });
59
+ this.handler.canvas.renderAll();
60
+ return;
61
+ }
62
+ port.set({
63
+ fill: 'red',
64
+ });
65
+ this.handler.canvas.renderAll();
66
+ }
67
+ });
68
+ port.on('mouseout', () => {
69
+ if (this.handler.interactionMode !== 'link') {
70
+ port.set({
71
+ fill: port.enabled ? port.originFill : port.hoverFill,
72
+ });
73
+ }
74
+ this.handler.canvas.renderAll();
75
+ });
76
+ this.handler.canvas.add(port);
77
+ port.setCoords();
78
+ this.handler.canvas.bringToFront(port);
79
+ }
80
+ });
81
+ }
82
+ };
83
+ /**
84
+ * Set coords port
85
+ * @param {NodeObject} target
86
+ */
87
+ this.setCoords = (target) => {
88
+ if (target.toPort) {
89
+ const toCoords = {
90
+ left: target.left + target.width / 2,
91
+ top: target.top,
92
+ };
93
+ target.toPort.set({
94
+ ...toCoords,
95
+ });
96
+ target.toPort.setCoords();
97
+ if (target.toPort.links.length) {
98
+ target.toPort.links.forEach(link => {
99
+ const fromPort = link.fromNode.fromPort.filter(port => port.id === link.fromPort.id)[0];
100
+ this.handler.linkHandler.setCoords(fromPort.left, fromPort.top, toCoords.left, toCoords.top, link);
101
+ });
102
+ }
103
+ }
104
+ if (target.fromPort) {
105
+ const fromCoords = {
106
+ left: target.left + target.width / 2,
107
+ top: target.top + target.height,
108
+ };
109
+ target.fromPort.forEach(port => {
110
+ const left = port.leftDiff ? fromCoords.left + port.leftDiff : fromCoords.left;
111
+ const top = port.topDiff ? fromCoords.top + port.topDiff : fromCoords.top;
112
+ port.set({
113
+ left,
114
+ top,
115
+ });
116
+ port.setCoords();
117
+ if (port.links.length) {
118
+ port.links.forEach(link => {
119
+ this.handler.linkHandler.setCoords(left, top, link.toNode.toPort.left, link.toNode.toPort.top, link);
120
+ });
121
+ }
122
+ });
123
+ }
124
+ };
125
+ /**
126
+ * Recreate port
127
+ * @param {NodeObject} target
128
+ */
129
+ this.recreate = (target) => {
130
+ const { fromPort, toPort } = target;
131
+ const ports = target.ports;
132
+ if (ports) {
133
+ ports.forEach(port => {
134
+ target.removeWithUpdate(port);
135
+ this.handler.canvas.remove(port.fromPort);
136
+ });
137
+ }
138
+ this.handler.canvas.remove(target.toPort);
139
+ if (target.toPort) {
140
+ target.toPort.links.forEach(link => {
141
+ this.handler.linkHandler.remove(link, 'from');
142
+ });
143
+ }
144
+ if (target.fromPort) {
145
+ target.fromPort.forEach((port) => {
146
+ if (port.links.length) {
147
+ port.links.forEach((link) => {
148
+ this.handler.linkHandler.remove(link, 'to');
149
+ });
150
+ }
151
+ });
152
+ }
153
+ this.create(target);
154
+ toPort.links.forEach((link) => {
155
+ link.fromNode = link.fromNode.id;
156
+ link.fromPort = link.fromPort.id;
157
+ link.toNode = target.toPort.nodeId;
158
+ link.toPort = target.toPort.id;
159
+ this.handler.linkHandler.create(link);
160
+ });
161
+ fromPort
162
+ .filter(op => target.fromPort.some(np => np.id === op.id))
163
+ .forEach(port => {
164
+ port.links.forEach((link) => {
165
+ if (link.fromPort.id === port.id) {
166
+ link.fromNode = port.nodeId;
167
+ link.fromPort = port.id;
168
+ link.toNode = link.toNode.id;
169
+ link.toPort = link.toPort.id;
170
+ this.handler.linkHandler.create(link);
171
+ this.setCoords(target);
172
+ }
173
+ });
174
+ });
175
+ };
176
+ this.handler = handler;
177
+ }
178
+ }
179
+ exports.default = PortHandler;
@@ -1,119 +1,119 @@
1
- import Handler from './Handler';
2
- import { KeyEvent } from '../utils';
3
- /**
4
- * Shortcut Handler Class
5
- *
6
- * @author salgum1114
7
- * @class ShortcutHandler
8
- */
9
- declare class ShortcutHandler {
10
- handler: Handler;
11
- keyEvent: KeyEvent;
12
- constructor(handler: Handler);
13
- /**
14
- * Whether keydown Escape
15
- *
16
- * @param {KeyboardEvent} e
17
- * @returns
18
- */
19
- isEscape: (e: KeyboardEvent) => boolean;
20
- /**
21
- * Whether keydown Q
22
- *
23
- * @param {KeyboardEvent} e
24
- * @returns
25
- */
26
- isQ: (e: KeyboardEvent) => boolean;
27
- /**
28
- * Whether keydown W
29
- *
30
- * @param {KeyboardEvent} e
31
- * @returns
32
- */
33
- isW: (e: KeyboardEvent) => boolean;
34
- /**
35
- * Whether keydown Delete or Backpsace
36
- *
37
- * @param {KeyboardEvent} e
38
- * @returns
39
- */
40
- isDelete: (e: KeyboardEvent) => boolean;
41
- /**
42
- * Whether keydown Arrow
43
- *
44
- * @param {KeyboardEvent} e
45
- * @returns
46
- */
47
- isArrow: (e: KeyboardEvent) => boolean;
48
- /**
49
- * Whether keydown Ctrl + A
50
- *
51
- * @param {KeyboardEvent} e
52
- * @returns
53
- */
54
- isCtrlA: (e: KeyboardEvent) => boolean;
55
- /**
56
- * Whether keydown Ctrl + C
57
- *
58
- * @param {KeyboardEvent} e
59
- * @returns
60
- */
61
- isCtrlC: (e: KeyboardEvent) => boolean;
62
- /**
63
- * Whether keydown Ctrl + V
64
- *
65
- * @param {KeyboardEvent} e
66
- * @returns
67
- */
68
- isCtrlV: (e: KeyboardEvent) => boolean;
69
- /**
70
- * Whether keydown Ctrl + Z
71
- *
72
- * @param {KeyboardEvent} e
73
- * @returns
74
- */
75
- isCtrlZ: (e: KeyboardEvent) => boolean;
76
- /**
77
- * Whether keydown Ctrl + Y
78
- *
79
- * @param {KeyboardEvent} e
80
- * @returns
81
- */
82
- isCtrlY: (e: KeyboardEvent) => boolean;
83
- /**
84
- * Whether keydown Plus Or Equal
85
- *
86
- * @param {KeyboardEvent} e
87
- * @returns
88
- */
89
- isPlus: (e: KeyboardEvent) => boolean;
90
- /**
91
- * Whether keydown Minus
92
- *
93
- * @param {KeyboardEvent} e
94
- * @returns
95
- */
96
- isMinus: (e: KeyboardEvent) => boolean;
97
- /**
98
- * Whether keydown O
99
- *
100
- * @param {KeyboardEvent} e
101
- * @returns
102
- */
103
- isO: (e: KeyboardEvent) => boolean;
104
- /**
105
- * Whether keydown P
106
- *
107
- * @param {KeyboardEvent} e
108
- * @returns
109
- */
110
- isP: (e: KeyboardEvent) => boolean;
111
- /**
112
- * Whether keydown Ctrl + X
113
- *
114
- * @param {KeyboardEvent} e
115
- * @returns
116
- */
117
- isCtrlX: (e: KeyboardEvent) => boolean;
118
- }
119
- export default ShortcutHandler;
1
+ import Handler from './Handler';
2
+ import { KeyEvent } from '../utils';
3
+ /**
4
+ * Shortcut Handler Class
5
+ *
6
+ * @author salgum1114
7
+ * @class ShortcutHandler
8
+ */
9
+ declare class ShortcutHandler {
10
+ handler: Handler;
11
+ keyEvent: KeyEvent;
12
+ constructor(handler: Handler);
13
+ /**
14
+ * Whether keydown Escape
15
+ *
16
+ * @param {KeyboardEvent} e
17
+ * @returns
18
+ */
19
+ isEscape: (e: KeyboardEvent) => boolean;
20
+ /**
21
+ * Whether keydown Q
22
+ *
23
+ * @param {KeyboardEvent} e
24
+ * @returns
25
+ */
26
+ isQ: (e: KeyboardEvent) => boolean;
27
+ /**
28
+ * Whether keydown W
29
+ *
30
+ * @param {KeyboardEvent} e
31
+ * @returns
32
+ */
33
+ isW: (e: KeyboardEvent) => boolean;
34
+ /**
35
+ * Whether keydown Delete or Backpsace
36
+ *
37
+ * @param {KeyboardEvent} e
38
+ * @returns
39
+ */
40
+ isDelete: (e: KeyboardEvent) => boolean;
41
+ /**
42
+ * Whether keydown Arrow
43
+ *
44
+ * @param {KeyboardEvent} e
45
+ * @returns
46
+ */
47
+ isArrow: (e: KeyboardEvent) => boolean;
48
+ /**
49
+ * Whether keydown Ctrl + A
50
+ *
51
+ * @param {KeyboardEvent} e
52
+ * @returns
53
+ */
54
+ isCtrlA: (e: KeyboardEvent) => boolean;
55
+ /**
56
+ * Whether keydown Ctrl + C
57
+ *
58
+ * @param {KeyboardEvent} e
59
+ * @returns
60
+ */
61
+ isCtrlC: (e: KeyboardEvent) => boolean;
62
+ /**
63
+ * Whether keydown Ctrl + V
64
+ *
65
+ * @param {KeyboardEvent} e
66
+ * @returns
67
+ */
68
+ isCtrlV: (e: KeyboardEvent) => boolean;
69
+ /**
70
+ * Whether keydown Ctrl + Z
71
+ *
72
+ * @param {KeyboardEvent} e
73
+ * @returns
74
+ */
75
+ isCtrlZ: (e: KeyboardEvent) => boolean;
76
+ /**
77
+ * Whether keydown Ctrl + Y
78
+ *
79
+ * @param {KeyboardEvent} e
80
+ * @returns
81
+ */
82
+ isCtrlY: (e: KeyboardEvent) => boolean;
83
+ /**
84
+ * Whether keydown Plus Or Equal
85
+ *
86
+ * @param {KeyboardEvent} e
87
+ * @returns
88
+ */
89
+ isPlus: (e: KeyboardEvent) => boolean;
90
+ /**
91
+ * Whether keydown Minus
92
+ *
93
+ * @param {KeyboardEvent} e
94
+ * @returns
95
+ */
96
+ isMinus: (e: KeyboardEvent) => boolean;
97
+ /**
98
+ * Whether keydown O
99
+ *
100
+ * @param {KeyboardEvent} e
101
+ * @returns
102
+ */
103
+ isO: (e: KeyboardEvent) => boolean;
104
+ /**
105
+ * Whether keydown P
106
+ *
107
+ * @param {KeyboardEvent} e
108
+ * @returns
109
+ */
110
+ isP: (e: KeyboardEvent) => boolean;
111
+ /**
112
+ * Whether keydown Ctrl + X
113
+ *
114
+ * @param {KeyboardEvent} e
115
+ * @returns
116
+ */
117
+ isCtrlX: (e: KeyboardEvent) => boolean;
118
+ }
119
+ export default ShortcutHandler;