@progress/kendo-editor-common 1.11.9-dev.202412020819 → 1.11.9-develop.2

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 (185) hide show
  1. package/dist/cdn/main.js +1 -1
  2. package/dist/es/DOMSerializer.js +71 -75
  3. package/dist/es/align.js +19 -16
  4. package/dist/es/blockNode.js +76 -78
  5. package/dist/es/blockquote.js +12 -9
  6. package/dist/es/cleanFormatting.js +16 -16
  7. package/dist/es/config/align-rules.js +8 -6
  8. package/dist/es/config/commands.js +9 -13
  9. package/dist/es/config/constants.js +9 -7
  10. package/dist/es/config/indent-rules.js +8 -6
  11. package/dist/es/config/keymap.js +20 -18
  12. package/dist/es/config/list-settings.js +7 -6
  13. package/dist/es/config/schema.js +184 -126
  14. package/dist/es/find-replace.js +34 -32
  15. package/dist/es/image.js +10 -7
  16. package/dist/es/indent.js +47 -44
  17. package/dist/es/inline-style.js +72 -70
  18. package/dist/es/link.js +51 -52
  19. package/dist/es/listConvert.js +37 -34
  20. package/dist/es/lists.js +83 -82
  21. package/dist/es/main.js +32 -33
  22. package/dist/es/mark.js +87 -92
  23. package/dist/es/paste.js +48 -46
  24. package/dist/es/plugins/caret-color.js +14 -11
  25. package/dist/es/plugins/csp-fix.js +23 -23
  26. package/dist/es/plugins/highlight.js +12 -10
  27. package/dist/es/plugins/image-resize.js +81 -81
  28. package/dist/es/plugins/list-markers-styles.js +43 -39
  29. package/dist/es/plugins/placeholder.js +12 -9
  30. package/dist/es/plugins/resize-utils.js +11 -9
  31. package/dist/es/plugins/spaces-fix.js +13 -10
  32. package/dist/es/plugins/table-resize/column-resize.js +104 -102
  33. package/dist/es/plugins/table-resize/index.js +10 -7
  34. package/dist/es/plugins/table-resize/row-resize.js +88 -89
  35. package/dist/es/plugins/table-resize/table-resize.js +129 -122
  36. package/dist/es/plugins/table-resize/table-view.js +46 -48
  37. package/dist/es/plugins/table-resize/utils.js +39 -41
  38. package/dist/es/source.js +78 -74
  39. package/dist/es/table.js +64 -66
  40. package/dist/es/text.js +4 -2
  41. package/dist/es/utils.js +107 -116
  42. package/dist/es2015/DOMSerializer.js +20 -17
  43. package/dist/es2015/align.js +6 -3
  44. package/dist/es2015/blockNode.js +15 -12
  45. package/dist/es2015/blockquote.js +5 -2
  46. package/dist/es2015/cleanFormatting.js +6 -3
  47. package/dist/es2015/config/align-rules.js +7 -5
  48. package/dist/es2015/config/commands.js +9 -13
  49. package/dist/es2015/config/constants.js +9 -7
  50. package/dist/es2015/config/indent-rules.js +6 -3
  51. package/dist/es2015/config/keymap.js +10 -7
  52. package/dist/es2015/config/list-settings.js +5 -3
  53. package/dist/es2015/config/schema.js +8 -6
  54. package/dist/es2015/find-replace.js +9 -6
  55. package/dist/es2015/image.js +5 -2
  56. package/dist/es2015/indent.js +14 -11
  57. package/dist/es2015/inline-style.js +9 -6
  58. package/dist/es2015/link.js +7 -4
  59. package/dist/es2015/listConvert.js +5 -2
  60. package/dist/es2015/lists.js +14 -11
  61. package/dist/es2015/main.js +32 -33
  62. package/dist/es2015/mark.js +15 -12
  63. package/dist/es2015/node_modules/tslib/tslib.es6.js +35 -0
  64. package/dist/es2015/paste.js +14 -11
  65. package/dist/es2015/plugins/caret-color.js +8 -5
  66. package/dist/es2015/plugins/csp-fix.js +5 -2
  67. package/dist/es2015/plugins/highlight.js +6 -3
  68. package/dist/es2015/plugins/image-resize.js +10 -7
  69. package/dist/es2015/plugins/list-markers-styles.js +6 -3
  70. package/dist/es2015/plugins/placeholder.js +5 -2
  71. package/dist/es2015/plugins/resize-utils.js +11 -9
  72. package/dist/es2015/plugins/spaces-fix.js +4 -1
  73. package/dist/es2015/plugins/table-resize/column-resize.js +24 -21
  74. package/dist/es2015/plugins/table-resize/index.js +9 -6
  75. package/dist/es2015/plugins/table-resize/row-resize.js +23 -20
  76. package/dist/es2015/plugins/table-resize/table-resize.js +20 -17
  77. package/dist/es2015/plugins/table-resize/table-view.js +9 -6
  78. package/dist/es2015/plugins/table-resize/utils.js +13 -10
  79. package/dist/es2015/source.js +24 -13
  80. package/dist/es2015/table.js +18 -15
  81. package/dist/es2015/text.js +3 -1
  82. package/dist/es2015/utils.js +22 -25
  83. package/dist/npm/DOMSerializer.js +73 -78
  84. package/dist/npm/align.d.ts +7 -4
  85. package/dist/npm/align.js +22 -21
  86. package/dist/npm/blockNode.d.ts +14 -15
  87. package/dist/npm/blockNode.js +91 -95
  88. package/dist/npm/blockquote.d.ts +5 -2
  89. package/dist/npm/blockquote.js +16 -15
  90. package/dist/npm/cleanFormatting.d.ts +6 -3
  91. package/dist/npm/cleanFormatting.js +17 -19
  92. package/dist/npm/config/align-rules.d.ts +8 -6
  93. package/dist/npm/config/align-rules.js +14 -9
  94. package/dist/npm/config/commands.d.ts +11 -19
  95. package/dist/npm/config/commands.js +17 -16
  96. package/dist/npm/config/constants.js +17 -10
  97. package/dist/npm/config/indent-rules.d.ts +6 -4
  98. package/dist/npm/config/indent-rules.js +11 -9
  99. package/dist/npm/config/keymap.d.ts +5 -2
  100. package/dist/npm/config/keymap.js +30 -30
  101. package/dist/npm/config/list-settings.js +13 -11
  102. package/dist/npm/config/schema.d.ts +4 -3
  103. package/dist/npm/config/schema.js +191 -134
  104. package/dist/npm/find-replace.d.ts +10 -7
  105. package/dist/npm/find-replace.js +47 -47
  106. package/dist/npm/image.d.ts +6 -3
  107. package/dist/npm/image.js +11 -10
  108. package/dist/npm/indent.d.ts +12 -9
  109. package/dist/npm/indent.js +68 -67
  110. package/dist/npm/inline-style.d.ts +7 -4
  111. package/dist/npm/inline-style.js +83 -83
  112. package/dist/npm/link.d.ts +4 -2
  113. package/dist/npm/link.js +58 -61
  114. package/dist/npm/listConvert.d.ts +3 -1
  115. package/dist/npm/listConvert.js +40 -39
  116. package/dist/npm/lists.d.ts +9 -9
  117. package/dist/npm/lists.js +94 -95
  118. package/dist/npm/main.d.ts +34 -33
  119. package/dist/npm/main.js +389 -198
  120. package/dist/npm/mark.d.ts +13 -18
  121. package/dist/npm/mark.js +104 -111
  122. package/dist/npm/paste.d.ts +12 -9
  123. package/dist/npm/paste.js +61 -61
  124. package/dist/npm/plugins/caret-color.d.ts +6 -3
  125. package/dist/npm/plugins/caret-color.js +21 -19
  126. package/dist/npm/plugins/csp-fix.d.ts +4 -1
  127. package/dist/npm/plugins/csp-fix.js +28 -30
  128. package/dist/npm/plugins/highlight.d.ts +7 -4
  129. package/dist/npm/plugins/highlight.js +17 -16
  130. package/dist/npm/plugins/image-resize.d.ts +7 -5
  131. package/dist/npm/plugins/image-resize.js +96 -97
  132. package/dist/npm/plugins/list-markers-styles.d.ts +5 -2
  133. package/dist/npm/plugins/list-markers-styles.js +49 -47
  134. package/dist/npm/plugins/placeholder.d.ts +4 -1
  135. package/dist/npm/plugins/placeholder.js +18 -17
  136. package/dist/npm/plugins/resize-utils.js +14 -12
  137. package/dist/npm/plugins/spaces-fix.d.ts +4 -1
  138. package/dist/npm/plugins/spaces-fix.js +19 -18
  139. package/dist/npm/plugins/table-resize/column-resize.js +117 -117
  140. package/dist/npm/plugins/table-resize/index.d.ts +5 -2
  141. package/dist/npm/plugins/table-resize/index.js +16 -15
  142. package/dist/npm/plugins/table-resize/row-resize.js +98 -101
  143. package/dist/npm/plugins/table-resize/table-resize.js +144 -139
  144. package/dist/npm/plugins/table-resize/table-view.js +59 -61
  145. package/dist/npm/plugins/table-resize/utils.d.ts +7 -17
  146. package/dist/npm/plugins/table-resize/utils.js +51 -52
  147. package/dist/npm/source.d.ts +18 -11
  148. package/dist/npm/source.js +94 -91
  149. package/dist/npm/table.d.ts +10 -9
  150. package/dist/npm/table.js +93 -82
  151. package/dist/npm/text.d.ts +6 -3
  152. package/dist/npm/text.js +5 -5
  153. package/dist/npm/types/active-marks.d.ts +4 -1
  154. package/dist/npm/types/command.d.ts +5 -2
  155. package/dist/npm/types/dispatchFn.d.ts +4 -1
  156. package/dist/npm/types/paste-cleanup-settings.d.ts +3 -1
  157. package/dist/npm/utils.d.ts +14 -29
  158. package/dist/npm/utils.js +133 -145
  159. package/package.json +35 -53
  160. package/dist/cdn/js/kendo-editor-common.js +0 -1
  161. package/dist/es/types/active-marks.js +0 -1
  162. package/dist/es/types/command.js +0 -1
  163. package/dist/es/types/dispatchFn.js +0 -1
  164. package/dist/es/types/paste-cleanup-settings.js +0 -1
  165. package/dist/es/types/predicate.js +0 -1
  166. package/dist/es2015/types/active-marks.js +0 -1
  167. package/dist/es2015/types/command.js +0 -1
  168. package/dist/es2015/types/dispatchFn.js +0 -1
  169. package/dist/es2015/types/paste-cleanup-settings.js +0 -1
  170. package/dist/es2015/types/predicate.js +0 -1
  171. package/dist/npm/DOMSerializer.d.ts +0 -35
  172. package/dist/npm/config/constants.d.ts +0 -7
  173. package/dist/npm/config/list-settings.d.ts +0 -30
  174. package/dist/npm/plugins/resize-utils.d.ts +0 -35
  175. package/dist/npm/plugins/table-resize/column-resize.d.ts +0 -2
  176. package/dist/npm/plugins/table-resize/row-resize.d.ts +0 -2
  177. package/dist/npm/plugins/table-resize/table-resize.d.ts +0 -18
  178. package/dist/npm/plugins/table-resize/table-view.d.ts +0 -28
  179. package/dist/npm/types/active-marks.js +0 -2
  180. package/dist/npm/types/command.js +0 -2
  181. package/dist/npm/types/dispatchFn.js +0 -2
  182. package/dist/npm/types/paste-cleanup-settings.js +0 -2
  183. package/dist/npm/types/predicate.d.ts +0 -1
  184. package/dist/npm/types/predicate.js +0 -2
  185. package/dist/systemjs/kendo-editor-common.js +0 -1
@@ -1,54 +1,60 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tableResizing = void 0;
4
- var tslib_1 = require("tslib");
5
- var prosemirror_state_1 = require("prosemirror-state");
6
- var constants_1 = require("../../config/constants");
7
- var utils_1 = require("./utils");
8
- var utils_2 = require("./../../utils");
9
- var resize_utils_1 = require("./../resize-utils");
10
- var commonDir = {
1
+ 'use strict';
2
+
3
+ var prosemirrorState = require('prosemirror-state');
4
+ var constants = require('../../config/constants.js');
5
+ var utils = require('./utils.js');
6
+ var utils$1 = require('../../utils.js');
7
+ var resizeUtils = require('../resize-utils.js');
8
+
9
+ const commonDir = {
11
10
  'southeast': true,
12
11
  'southwest': true,
13
12
  'northwest': true,
14
13
  'northeast': true
15
14
  };
16
- var horizontalDir = tslib_1.__assign({ 'east': true, 'west': true }, commonDir);
17
- var verticalDir = tslib_1.__assign({ 'south': true, 'north': true }, commonDir);
18
- var ResizeState = /** @class */ (function () {
19
- function ResizeState(activeHandle, dragging, nodePosition) {
15
+ const horizontalDir = {
16
+ 'east': true,
17
+ 'west': true,
18
+ ...commonDir
19
+ };
20
+ const verticalDir = {
21
+ 'south': true,
22
+ 'north': true,
23
+ ...commonDir
24
+ };
25
+ class ResizeState {
26
+ constructor(activeHandle, dragging, nodePosition) {
20
27
  this.activeHandle = activeHandle;
21
28
  this.dragging = dragging;
22
29
  this.nodePosition = nodePosition;
23
30
  }
24
- ResizeState.prototype.apply = function (tr) {
25
- var next = tr.getMeta(utils_1.tableResizeKey);
31
+ apply(tr) {
32
+ const next = tr.getMeta(utils.tableResizeKey);
26
33
  if (next) {
27
- var nextState = new ResizeState(next.activeHandle, next.setDragging, next.nodePosition);
34
+ const nextState = new ResizeState(next.activeHandle, next.setDragging, next.nodePosition);
28
35
  return nextState;
29
36
  }
30
37
  return this;
31
- };
32
- return ResizeState;
33
- }());
34
- var handleMouseMove = function (view, event) {
38
+ }
39
+ }
40
+ const handleMouseMove = (view, event) => {
35
41
  var _a;
36
- var state = utils_1.tableResizeKey.getState(view.state);
37
- var dragging = state.dragging, nodePosition = state.nodePosition, activeHandle = state.activeHandle;
42
+ const state = utils.tableResizeKey.getState(view.state);
43
+ const { dragging, nodePosition, activeHandle } = state;
38
44
  if (nodePosition < 0 || !dragging) {
39
45
  return;
40
46
  }
41
- var tableDom = (0, utils_1.getTable)(view.nodeDOM(nodePosition));
42
- var rect = tableDom.getBoundingClientRect();
43
- var dir = resize_utils_1.directions[activeHandle];
44
- var diffX = (event.clientX - dragging.startX) * dir.x;
45
- var diffY = (event.clientY - dragging.startY) * dir.y;
46
- var win = (tableDom.ownerDocument && tableDom.ownerDocument.defaultView) || window;
47
- var compStyles = win.getComputedStyle(tableDom);
48
- var nodeWidth = /px/.test(compStyles.width) ? parseFloat(compStyles.width) : tableDom.offsetWidth;
49
- var nodeHeight = /px/.test(compStyles.height) ? parseFloat(compStyles.height) : tableDom.offsetHeight;
50
- var width = dir.x ? diffX + nodeWidth : rect.width;
51
- var height = dir.y ? diffY + nodeHeight : rect.height;
47
+ const tableDom = utils.getTable(view.nodeDOM(nodePosition));
48
+ const rect = tableDom.getBoundingClientRect();
49
+ const dir = resizeUtils.directions[activeHandle];
50
+ const diffX = (event.clientX - dragging.startX) * dir.x;
51
+ const diffY = (event.clientY - dragging.startY) * dir.y;
52
+ const win = (tableDom.ownerDocument && tableDom.ownerDocument.defaultView) || window;
53
+ const compStyles = win.getComputedStyle(tableDom);
54
+ const nodeWidth = /px/.test(compStyles.width) ? parseFloat(compStyles.width) : tableDom.offsetWidth;
55
+ const nodeHeight = /px/.test(compStyles.height) ? parseFloat(compStyles.height) : tableDom.offsetHeight;
56
+ const width = dir.x ? diffX + nodeWidth : rect.width;
57
+ const height = dir.y ? diffY + nodeHeight : rect.height;
52
58
  dragging.startX = dir.x ? event.clientX : dragging.startX;
53
59
  dragging.startY = dir.y ? event.clientY : dragging.startY;
54
60
  if (horizontalDir[activeHandle]) {
@@ -58,117 +64,117 @@ var handleMouseMove = function (view, event) {
58
64
  tableDom.style.height = height + 'px';
59
65
  }
60
66
  if (/px/.test(tableDom.style.width)) {
61
- var wrapper = (_a = tableDom.parentNode) === null || _a === void 0 ? void 0 : _a.parentNode;
67
+ const wrapper = (_a = tableDom.parentNode) === null || _a === void 0 ? void 0 : _a.parentNode;
62
68
  if (wrapper instanceof HTMLDivElement && wrapper.matches('div[table]') && /%/.test(wrapper.style.width)) {
63
69
  wrapper.style.width = '';
64
70
  }
65
71
  }
66
72
  };
67
- var toPercents = function (view, tr, tablePos) {
68
- var tableNode = view.state.doc.nodeAt(tablePos);
69
- var tableDom = (0, utils_1.getTable)(view.nodeDOM(tablePos));
70
- var _a = tableSize(tableDom), width = _a.width, height = _a.height, colsWidth = _a.colsWidth, rowsHeight = _a.rowsHeight, offsetWidth = _a.offsetWidth, offsetHeight = _a.offsetHeight;
71
- var colgroup = tableDom.firstChild;
72
- var cols = Array.from((colgroup && colgroup.children) || []);
73
- var widthChanged = false;
74
- cols.forEach(function (col, i) {
73
+ const toPercents = (view, tr, tablePos) => {
74
+ const tableNode = view.state.doc.nodeAt(tablePos);
75
+ const tableDom = utils.getTable(view.nodeDOM(tablePos));
76
+ const { width, height, colsWidth, rowsHeight, offsetWidth, offsetHeight } = tableSize(tableDom);
77
+ const colgroup = tableDom.firstChild;
78
+ const cols = Array.from((colgroup && colgroup.children) || []);
79
+ let widthChanged = false;
80
+ cols.forEach((col, i) => {
75
81
  if (col.style.width && !/%$/.test(col.style.width)) {
76
82
  col.style.width = ((colsWidth[i]) * 100 / width) + '%';
77
83
  widthChanged = true;
78
84
  }
79
85
  });
80
- var heightChange = false;
81
- tableNode.forEach(function (row, offset, index) {
82
- var rowHeight = (0, utils_2.parseStyle)(row.attrs.style).height;
86
+ let heightChange = false;
87
+ tableNode.forEach((row, offset, index) => {
88
+ const rowHeight = utils$1.parseStyle(row.attrs.style).height;
83
89
  if (rowHeight && !/%$/.test(rowHeight)) {
84
- tr.setNodeMarkup(tablePos + offset + 1, null, (0, utils_2.setNodeStyle)(row.attrs, 'height', (rowsHeight[index] * 100 / height) + '%'));
90
+ tr.setNodeMarkup(tablePos + offset + 1, null, utils$1.setNodeStyle(row.attrs, 'height', (rowsHeight[index] * 100 / height) + '%'));
85
91
  heightChange = true;
86
92
  }
87
93
  });
88
- var tableAttrs = tableNode.attrs;
89
- if ((0, utils_2.parseStyle)(tableAttrs.style).width !== offsetWidth + 'px') {
90
- tableAttrs = (0, utils_2.setNodeStyle)(tableAttrs, 'width', offsetWidth + 'px');
94
+ let tableAttrs = tableNode.attrs;
95
+ if (utils$1.parseStyle(tableAttrs.style).width !== offsetWidth + 'px') {
96
+ tableAttrs = utils$1.setNodeStyle(tableAttrs, 'width', offsetWidth + 'px');
91
97
  }
92
98
  if (widthChanged) {
93
- tableAttrs[constants_1.colgroupAttr] = colgroup.outerHTML;
99
+ tableAttrs[constants.colgroupAttr] = colgroup.outerHTML;
94
100
  }
95
101
  if (heightChange) {
96
- tableAttrs = (0, utils_2.setNodeStyle)(tableAttrs, 'height', offsetHeight + 'px');
102
+ tableAttrs = utils$1.setNodeStyle(tableAttrs, 'height', offsetHeight + 'px');
97
103
  }
98
104
  if (widthChanged || heightChange) {
99
105
  tr.setNodeMarkup(tablePos, null, tableAttrs);
100
106
  }
101
107
  };
102
- var toPixels = function (view, tr, tablePos, attrs) {
103
- var tableNode = view.state.doc.nodeAt(tablePos);
104
- var tableDom = (0, utils_1.getTable)(view.nodeDOM(tablePos));
105
- var win = (tableDom.ownerDocument && tableDom.ownerDocument.defaultView) || window;
106
- var calcStyle = win.getComputedStyle;
107
- var rows = Array.from(tableDom.rows);
108
- tableNode.forEach(function (row, offset, index) {
109
- var rowHeight = (0, utils_2.parseStyle)(row.attrs.style).height;
108
+ const toPixels = (view, tr, tablePos, attrs) => {
109
+ const tableNode = view.state.doc.nodeAt(tablePos);
110
+ const tableDom = utils.getTable(view.nodeDOM(tablePos));
111
+ const win = (tableDom.ownerDocument && tableDom.ownerDocument.defaultView) || window;
112
+ const calcStyle = win.getComputedStyle;
113
+ const rows = Array.from(tableDom.rows);
114
+ tableNode.forEach((row, offset, index) => {
115
+ const rowHeight = utils$1.parseStyle(row.attrs.style).height;
110
116
  if (rowHeight && !/px$/.test(rowHeight)) {
111
- tr.setNodeMarkup(tablePos + offset + 1, null, (0, utils_2.setNodeStyle)(row.attrs, 'height', calcStyle(rows[index]).height));
117
+ tr.setNodeMarkup(tablePos + offset + 1, null, utils$1.setNodeStyle(row.attrs, 'height', calcStyle(rows[index]).height));
112
118
  }
113
119
  });
114
- var colgroup = tableDom.firstChild;
115
- var cols = Array.from((colgroup && colgroup.children) || []);
116
- var widthChanged = false;
117
- cols.forEach(function (col, i) {
120
+ const colgroup = tableDom.firstChild;
121
+ const cols = Array.from((colgroup && colgroup.children) || []);
122
+ let widthChanged = false;
123
+ cols.forEach((col, i) => {
118
124
  if (col.style.width && !/px$/.test(col.style.width)) {
119
125
  col.style.width = calcStyle(cols[i]).width;
120
126
  widthChanged = true;
121
127
  }
122
128
  });
123
- var tableAttrs = tslib_1.__assign({}, attrs);
129
+ const tableAttrs = { ...attrs };
124
130
  if (widthChanged) {
125
- tableAttrs[constants_1.colgroupAttr] = colgroup.outerHTML;
131
+ tableAttrs[constants.colgroupAttr] = colgroup.outerHTML;
126
132
  }
127
133
  return tableAttrs;
128
134
  };
129
- var tableSize = function (table) {
130
- var cols = Array.from(table.firstChild.children);
131
- var colsWidth = cols.map(function (c) { return c.offsetWidth; });
132
- var rowsHeight = Array.from(table.rows).map(function (row) { return row.offsetHeight; });
133
- var width = colsWidth.reduce(function (acc, cur) { return acc + cur; }, 0);
134
- var height = rowsHeight.reduce(function (acc, cur) { return acc + cur; }, 0);
135
- var offsetHeight = table.offsetHeight;
136
- var offsetWidth = table.offsetWidth;
137
- return { width: width, height: height, colsWidth: colsWidth, rowsHeight: rowsHeight, offsetWidth: offsetWidth, offsetHeight: offsetHeight };
135
+ const tableSize = (table) => {
136
+ const cols = Array.from(table.firstChild.children);
137
+ const colsWidth = cols.map(c => c.offsetWidth);
138
+ const rowsHeight = Array.from(table.rows).map(row => row.offsetHeight);
139
+ const width = colsWidth.reduce((acc, cur) => acc + cur, 0);
140
+ const height = rowsHeight.reduce((acc, cur) => acc + cur, 0);
141
+ const offsetHeight = table.offsetHeight;
142
+ const offsetWidth = table.offsetWidth;
143
+ return { width, height, colsWidth, rowsHeight, offsetWidth, offsetHeight };
138
144
  };
139
- var handleMouseUp = function (view) {
140
- var _a = utils_1.tableResizeKey.getState(view.state), dragging = _a.dragging, nodePosition = _a.nodePosition, activeHandle = _a.activeHandle;
145
+ const handleMouseUp = (view) => {
146
+ const { dragging, nodePosition, activeHandle } = utils.tableResizeKey.getState(view.state);
141
147
  if (dragging) {
142
- var node = view.state.doc.nodeAt(nodePosition);
143
- var dom = (0, utils_1.getTable)(view.nodeDOM(nodePosition));
144
- var rect = tableSize(dom);
148
+ const node = view.state.doc.nodeAt(nodePosition);
149
+ const dom = utils.getTable(view.nodeDOM(nodePosition));
150
+ const rect = tableSize(dom);
145
151
  if (node) {
146
- var width = rect.offsetWidth + 'px';
147
- var height = rect.offsetHeight + 'px';
148
- var tr = view.state.tr;
149
- var attrs = node.attrs;
150
- var parsedStyles = (0, utils_2.parseStyle)(attrs.style);
152
+ const width = rect.offsetWidth + 'px';
153
+ const height = rect.offsetHeight + 'px';
154
+ const tr = view.state.tr;
155
+ let attrs = node.attrs;
156
+ const parsedStyles = utils$1.parseStyle(attrs.style);
151
157
  if (horizontalDir[activeHandle] && dom.style.width && parsedStyles.width !== width) {
152
- attrs = (0, utils_2.setNodeStyle)(attrs, 'width', width);
158
+ attrs = utils$1.setNodeStyle(attrs, 'width', width);
153
159
  }
154
160
  if (verticalDir[activeHandle] && dom.style.height && parsedStyles.height !== height) {
155
- attrs = (0, utils_2.setNodeStyle)(attrs, 'height', height);
161
+ attrs = utils$1.setNodeStyle(attrs, 'height', height);
156
162
  }
157
163
  attrs = toPixels(view, tr, nodePosition, attrs);
158
164
  tr.setNodeMarkup(nodePosition, null, attrs);
159
165
  tr.setMeta('commandName', 'node-resize');
160
166
  tr.setMeta('args', attrs);
161
- tr.setMeta(utils_1.tableResizeKey, {
167
+ tr.setMeta(utils.tableResizeKey, {
162
168
  setDragging: null,
163
169
  activeHandle: null,
164
- nodePosition: nodePosition
170
+ nodePosition
165
171
  });
166
- if (!/%/.test((0, utils_2.parseStyle)(attrs.style).width || '')) {
167
- var $pos = tr.doc.resolve(nodePosition);
168
- var wrapper = (0, utils_2.parentNode)($pos, function (n) { return n.type.name === 'table_wrapper'; });
169
- if (wrapper && /%/.test((0, utils_2.parseStyle)(wrapper.node.attrs.style).width || '')) {
170
- var wrapperAttrs = (0, utils_2.setNodeStyle)(wrapper.node.attrs, 'width', '');
171
- var wrapperPos = $pos.start(wrapper.depth) - 1;
172
+ if (!/%/.test(utils$1.parseStyle(attrs.style).width || '')) {
173
+ const $pos = tr.doc.resolve(nodePosition);
174
+ const wrapper = utils$1.parentNode($pos, n => n.type.name === 'table_wrapper');
175
+ if (wrapper && /%/.test(utils$1.parseStyle(wrapper.node.attrs.style).width || '')) {
176
+ const wrapperAttrs = utils$1.setNodeStyle(wrapper.node.attrs, 'width', '');
177
+ const wrapperPos = $pos.start(wrapper.depth) - 1;
172
178
  tr.setNodeMarkup(wrapperPos, null, wrapperAttrs);
173
179
  }
174
180
  }
@@ -176,24 +182,24 @@ var handleMouseUp = function (view) {
176
182
  }
177
183
  }
178
184
  };
179
- var handleMouseDown = function (view, event) {
180
- var target = event.target;
181
- var activeHandle = target.getAttribute(constants_1.dataResizeDirTable);
185
+ const handleMouseDown = (view, event) => {
186
+ const target = event.target;
187
+ const activeHandle = target.getAttribute(constants.dataResizeDirTable);
182
188
  if (!activeHandle) {
183
189
  return false;
184
190
  }
185
- var resizeState = utils_1.tableResizeKey.getState(view.state);
191
+ const resizeState = utils.tableResizeKey.getState(view.state);
186
192
  event.preventDefault();
187
- var transaction = view.state.tr;
188
- transaction.setMeta(utils_1.tableResizeKey, {
193
+ const transaction = view.state.tr;
194
+ transaction.setMeta(utils.tableResizeKey, {
189
195
  setDragging: { startX: event.clientX, startY: event.clientY },
190
- activeHandle: activeHandle,
196
+ activeHandle,
191
197
  nodePosition: resizeState.nodePosition
192
198
  });
193
199
  transaction.setMeta('addToHistory', false);
194
200
  toPercents(view, transaction, resizeState.nodePosition);
195
201
  view.dispatch(transaction);
196
- var curWindow = event.view || window;
202
+ const curWindow = event.view || window;
197
203
  function move(e) {
198
204
  handleMouseMove(view, e);
199
205
  }
@@ -206,78 +212,77 @@ var handleMouseDown = function (view, event) {
206
212
  curWindow.addEventListener('mousemove', move);
207
213
  return true;
208
214
  };
209
- var tableResizing = function (options) {
210
- if (options === void 0) { options = { node: 'table' }; }
211
- return new prosemirror_state_1.Plugin({
212
- key: utils_1.tableResizeKey,
213
- view: function () { return ({
214
- selectedNode: function (state, nodeType) {
215
- var selection = state.selection;
216
- var isNodeSelected = selection instanceof prosemirror_state_1.NodeSelection && nodeType === selection.node.type;
217
- if (isNodeSelected && selection instanceof prosemirror_state_1.NodeSelection) {
215
+ const tableResizing = (options = { node: 'table' }) => {
216
+ return new prosemirrorState.Plugin({
217
+ key: utils.tableResizeKey,
218
+ view: () => ({
219
+ selectedNode(state, nodeType) {
220
+ const selection = state.selection;
221
+ const isNodeSelected = selection instanceof prosemirrorState.NodeSelection && nodeType === selection.node.type;
222
+ if (isNodeSelected && selection instanceof prosemirrorState.NodeSelection) {
218
223
  return { node: selection.node, pos: selection.from };
219
224
  }
220
- var parent = (0, utils_2.parentNode)(selection.$from, function (n) { return n.type === nodeType; });
221
- var node = parent && parent.node;
225
+ const parent = utils$1.parentNode(selection.$from, (n) => n.type === nodeType);
226
+ const node = parent && parent.node;
222
227
  if (node) {
223
- var pos = selection.$from.start(parent.depth) - 1;
224
- return { node: node, pos: pos };
228
+ const pos = selection.$from.start(parent.depth) - 1;
229
+ return { node, pos };
225
230
  }
226
231
  return null;
227
232
  },
228
- update: function (view, prevState) {
229
- var _a, _b, _c, _d, _e;
230
- var state = view.state;
231
- var nodeType = state.schema.nodes[options.node];
232
- var selected = this.selectedNode(state, nodeType);
233
- var prevSelected = this.selectedNode(prevState, nodeType);
233
+ update(view, prevState) {
234
+ const state = view.state;
235
+ const nodeType = state.schema.nodes[options.node];
236
+ const selected = this.selectedNode(state, nodeType);
237
+ const prevSelected = this.selectedNode(prevState, nodeType);
234
238
  if (!selected && prevSelected && !prevState.doc.eq(view.state.doc)) {
235
239
  // selected table is deleted
236
240
  return;
237
241
  }
238
242
  if (selected || prevSelected) {
239
- var tr = state.tr;
243
+ const tr = state.tr;
240
244
  tr.setMeta('addToHistory', false);
241
245
  if (selected && prevSelected && selected.pos !== prevSelected.pos) {
242
- tr.setMeta(utils_1.tableResizeKey, { nodePosition: selected.pos });
243
- var prevNode = tr.doc.nodeAt(prevSelected.pos);
246
+ tr.setMeta(utils.tableResizeKey, { nodePosition: selected.pos });
247
+ const prevNode = tr.doc.nodeAt(prevSelected.pos);
244
248
  if (prevNode && prevNode.type.name === nodeType.name) {
245
- tr.setNodeMarkup(prevSelected.pos, nodeType, tslib_1.__assign(tslib_1.__assign({}, prevSelected.node.attrs), (_a = {}, _a[constants_1.resizableAttr] = false, _a)));
249
+ tr.setNodeMarkup(prevSelected.pos, nodeType, { ...prevSelected.node.attrs, [constants.resizableAttr]: false });
246
250
  }
247
- tr.setNodeMarkup(selected.pos, nodeType, tslib_1.__assign(tslib_1.__assign({}, selected.node.attrs), (_b = {}, _b[constants_1.resizableAttr] = true, _b)));
251
+ tr.setNodeMarkup(selected.pos, nodeType, { ...selected.node.attrs, [constants.resizableAttr]: true });
248
252
  view.dispatch(tr);
249
253
  }
250
254
  else if (selected && prevSelected && selected.pos === prevSelected.pos &&
251
- !selected.node.attrs[constants_1.resizableAttr] && !state.selection.eq(prevState.selection)) {
252
- tr.setMeta(utils_1.tableResizeKey, { nodePosition: selected.pos });
253
- view.dispatch(tr.setNodeMarkup(selected.pos, nodeType, tslib_1.__assign(tslib_1.__assign({}, selected.node.attrs), (_c = {}, _c[constants_1.resizableAttr] = true, _c))));
255
+ !selected.node.attrs[constants.resizableAttr] && !state.selection.eq(prevState.selection)) {
256
+ tr.setMeta(utils.tableResizeKey, { nodePosition: selected.pos });
257
+ view.dispatch(tr.setNodeMarkup(selected.pos, nodeType, { ...selected.node.attrs, [constants.resizableAttr]: true }));
254
258
  }
255
259
  else if (selected && !prevSelected) {
256
- tr.setMeta(utils_1.tableResizeKey, { nodePosition: selected.pos });
257
- view.dispatch(tr.setNodeMarkup(selected.pos, nodeType, tslib_1.__assign(tslib_1.__assign({}, selected.node.attrs), (_d = {}, _d[constants_1.resizableAttr] = true, _d))));
260
+ tr.setMeta(utils.tableResizeKey, { nodePosition: selected.pos });
261
+ view.dispatch(tr.setNodeMarkup(selected.pos, nodeType, { ...selected.node.attrs, [constants.resizableAttr]: true }));
258
262
  }
259
263
  else if (!selected && prevSelected) {
260
- tr.setMeta(utils_1.tableResizeKey, { nodePosition: -1 });
261
- view.dispatch(tr.setNodeMarkup(prevSelected.pos, nodeType, tslib_1.__assign(tslib_1.__assign({}, prevSelected.node.attrs), (_e = {}, _e[constants_1.resizableAttr] = false, _e))));
264
+ tr.setMeta(utils.tableResizeKey, { nodePosition: -1 });
265
+ view.dispatch(tr.setNodeMarkup(prevSelected.pos, nodeType, { ...prevSelected.node.attrs, [constants.resizableAttr]: false }));
262
266
  }
263
267
  }
264
268
  }
265
- }); },
269
+ }),
266
270
  state: {
267
- init: function () {
271
+ init() {
268
272
  return new ResizeState('', null, -1);
269
273
  },
270
- apply: function (tr, prev) {
274
+ apply(tr, prev) {
271
275
  return prev.apply(tr);
272
276
  }
273
277
  },
274
278
  props: {
275
279
  handleDOMEvents: {
276
- mousedown: function (view, event) {
280
+ mousedown(view, event) {
277
281
  return handleMouseDown(view, event);
278
282
  }
279
283
  }
280
284
  }
281
285
  });
282
286
  };
287
+
283
288
  exports.tableResizing = tableResizing;
@@ -1,81 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TableWrapperView = exports.TableView = void 0;
4
- var constants_1 = require("../../config/constants");
5
- var schema_1 = require("../../config/schema");
6
- var resize_utils_1 = require("./../resize-utils");
7
- var utils_1 = require("./../../utils");
8
- var TableView = /** @class */ (function () {
9
- function TableView(node, view) {
1
+ 'use strict';
2
+
3
+ var constants = require('../../config/constants.js');
4
+ var schema = require('../../config/schema.js');
5
+ var resizeUtils = require('../resize-utils.js');
6
+ var utils = require('../../utils.js');
7
+
8
+ class TableView {
9
+ constructor(node, view) {
10
10
  this.node = node;
11
11
  this.view = view;
12
12
  this.dom = document.createElement('div');
13
- this.dom.className = constants_1.resizableWrap;
13
+ this.dom.className = constants.resizableWrap;
14
14
  this.table = this.dom.appendChild(document.createElement('table'));
15
- if (node.attrs[constants_1.colgroupAttr]) {
16
- this.renderColgroup(node.attrs[constants_1.colgroupAttr]);
15
+ if (node.attrs[constants.colgroupAttr]) {
16
+ this.renderColgroup(node.attrs[constants.colgroupAttr]);
17
17
  }
18
- var tBody = this.table.appendChild(document.createElement('tbody'));
18
+ const tBody = this.table.appendChild(document.createElement('tbody'));
19
19
  this.setAttributes(this.table, node.attrs);
20
- this.resizeHandles = resize_utils_1.handles.map(function (dir) {
21
- var handle = document.createElement('span');
22
- handle.className = constants_1.resizeHandle + ' ' + dir;
23
- handle.setAttribute(constants_1.dataResizeDirTable, dir);
20
+ this.resizeHandles = resizeUtils.handles.map(dir => {
21
+ const handle = document.createElement('span');
22
+ handle.className = constants.resizeHandle + ' ' + dir;
23
+ handle.setAttribute(constants.dataResizeDirTable, dir);
24
24
  return handle;
25
25
  });
26
26
  this.contentDOM = tBody;
27
27
  }
28
- TableView.prototype.update = function (node) {
29
- var _this = this;
28
+ update(node) {
30
29
  if (node.type !== this.node.type) {
31
30
  return false;
32
31
  }
33
- var prev = this.node;
32
+ const prev = this.node;
34
33
  this.node = node;
35
- if (node.attrs[constants_1.resizableAttr]) {
36
- this.resizeHandles.forEach(function (handle) {
37
- _this.dom.appendChild(handle);
34
+ if (node.attrs[constants.resizableAttr]) {
35
+ this.resizeHandles.forEach(handle => {
36
+ this.dom.appendChild(handle);
38
37
  });
39
38
  }
40
39
  else {
41
40
  Array.from(this.dom.children)
42
- .filter(function (e) { return e.classList.contains(constants_1.resizeHandle); })
43
- .forEach(function (e) { return e.remove(); });
41
+ .filter((e) => e.classList.contains(constants.resizeHandle))
42
+ .forEach((e) => e.remove());
44
43
  }
45
44
  this.setAttributes(this.table, node.attrs);
46
- if (prev.attrs[constants_1.colgroupAttr] !== node.attrs[constants_1.colgroupAttr]) {
47
- this.renderColgroup(node.attrs[constants_1.colgroupAttr]);
45
+ if (prev.attrs[constants.colgroupAttr] !== node.attrs[constants.colgroupAttr]) {
46
+ this.renderColgroup(node.attrs[constants.colgroupAttr]);
48
47
  }
49
48
  return true;
50
- };
51
- TableView.prototype.ignoreMutation = function (record) {
52
- var result = record.type === 'attributes' &&
49
+ }
50
+ ignoreMutation(record) {
51
+ const result = record.type === 'attributes' &&
53
52
  (record.target === this.table ||
54
53
  record.target.firstChild === this.table ||
55
54
  (this.colgroup && this.colgroup.contains(record.target)));
56
55
  return result;
57
- };
58
- TableView.prototype.destroy = function () {
56
+ }
57
+ destroy() {
59
58
  this.node = undefined;
60
59
  this.view = undefined;
61
60
  this.table = undefined;
62
61
  this.colgroup = undefined;
63
62
  this.resizeHandles = undefined;
64
- };
65
- TableView.prototype.renderColgroup = function (colgroupStr) {
63
+ }
64
+ renderColgroup(colgroupStr) {
66
65
  if (this.table && this.table.firstChild && this.table.firstChild.nodeName === 'COLGROUP') {
67
66
  this.table.removeChild(this.table.firstChild);
68
67
  }
69
68
  if (colgroupStr) {
70
- this.colgroup = (0, schema_1.parseStrColgroup)(colgroupStr);
69
+ this.colgroup = schema.parseStrColgroup(colgroupStr);
71
70
  this.table.insertBefore(this.colgroup, this.table.firstChild);
72
71
  }
73
- };
74
- TableView.prototype.setAttributes = function (table, attrs) {
75
- var skip = [constants_1.colgroupAttr, constants_1.resizableAttr];
76
- for (var attrName in attrs) {
72
+ }
73
+ setAttributes(table, attrs) {
74
+ const skip = [constants.colgroupAttr, constants.resizableAttr];
75
+ for (const attrName in attrs) {
77
76
  if (attrName && skip.indexOf(attrName) === -1) {
78
- (0, utils_1.setAttribute)(table, attrName, attrs[attrName]);
77
+ utils.setAttribute(table, attrName, attrs[attrName]);
79
78
  }
80
79
  }
81
80
  if (/%$/.test(table.style.width)) {
@@ -85,49 +84,48 @@ var TableView = /** @class */ (function () {
85
84
  else {
86
85
  this.dom.style.width = '';
87
86
  }
88
- };
89
- return TableView;
90
- }());
91
- exports.TableView = TableView;
92
- var TableWrapperView = /** @class */ (function () {
93
- function TableWrapperView(node, view) {
87
+ }
88
+ }
89
+ class TableWrapperView {
90
+ constructor(node, view) {
94
91
  this.node = node;
95
92
  this.view = view;
96
93
  this.dom = document.createElement('div');
97
94
  this.setAttributes(this.dom, node.attrs);
98
95
  this.contentDOM = this.dom;
99
96
  }
100
- TableWrapperView.prototype.update = function (node) {
97
+ update(node) {
101
98
  if (node.type !== this.node.type) {
102
99
  return false;
103
100
  }
104
101
  this.node = node;
105
102
  this.setAttributes(this.dom, node.attrs);
106
103
  return true;
107
- };
108
- TableWrapperView.prototype.ignoreMutation = function (record) {
104
+ }
105
+ ignoreMutation(record) {
109
106
  return record.type === 'attributes' && record.attributeName === 'style';
110
- };
111
- TableWrapperView.prototype.destroy = function () {
107
+ }
108
+ destroy() {
112
109
  this.node = undefined;
113
110
  this.view = undefined;
114
- };
115
- TableWrapperView.prototype.setAttributes = function (dom, attrs) {
116
- for (var attrName in attrs) {
111
+ }
112
+ setAttributes(dom, attrs) {
113
+ for (const attrName in attrs) {
117
114
  if (attrName) {
118
- (0, utils_1.setAttribute)(dom, attrName, attrs[attrName]);
115
+ utils.setAttribute(dom, attrName, attrs[attrName]);
119
116
  }
120
117
  }
121
118
  dom.setAttribute('table', '');
122
119
  if (/%/.test(dom.style.width)) {
123
- var table = this.node && this.node.lastChild;
124
- var tableStyles = table ? (0, utils_1.parseStyle)(table.attrs.style) : {};
125
- var tableWidth = tableStyles.width || '';
120
+ const table = this.node && this.node.lastChild;
121
+ const tableStyles = table ? utils.parseStyle(table.attrs.style) : {};
122
+ const tableWidth = tableStyles.width || '';
126
123
  if (tableWidth && !/%/.test(tableWidth)) {
127
124
  dom.style.width = '';
128
125
  }
129
126
  }
130
- };
131
- return TableWrapperView;
132
- }());
127
+ }
128
+ }
129
+
130
+ exports.TableView = TableView;
133
131
  exports.TableWrapperView = TableWrapperView;
@@ -1,17 +1,7 @@
1
- import { EditorState, PluginKey } from 'prosemirror-state';
2
- import { EditorView } from 'prosemirror-view';
3
- export declare const tableResizeKey: PluginKey<any>;
4
- export declare const tableColumnResizeKey: PluginKey<any>;
5
- export declare const tableRowResizeKey: PluginKey<any>;
6
- export declare function otherResizing(current: PluginKey, state: EditorState): boolean;
7
- export declare function otherResizeHandle(current: PluginKey, state: EditorState): boolean;
8
- export declare function getTable(dom: HTMLElement): HTMLTableElement;
9
- export declare function domCellAround(target: any): HTMLTableCellElement | null;
10
- export declare function cellIndexes(dataCell: HTMLTableCellElement): {
11
- cellIndex: number;
12
- rowIndex: number;
13
- };
14
- export declare function edgeCell(view: EditorView, event: MouseEvent, indexes: {
15
- cellIndex: number;
16
- rowIndex: number;
17
- }): number;
1
+ import { PluginKey } from 'prosemirror-state';
2
+
3
+ declare const tableResizeKey: PluginKey<any>;
4
+ declare const tableColumnResizeKey: PluginKey<any>;
5
+ declare const tableRowResizeKey: PluginKey<any>;
6
+
7
+ export { tableColumnResizeKey, tableResizeKey, tableRowResizeKey };