@pie-lib/editable-html 12.1.0-next.2 → 12.1.0-next.5

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 (103) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/block-tags.js +24 -0
  3. package/lib/block-tags.js.map +1 -0
  4. package/lib/constants.js +11 -0
  5. package/lib/constants.js.map +1 -0
  6. package/lib/editor.js +1224 -0
  7. package/lib/editor.js.map +1 -0
  8. package/lib/index.js +208 -0
  9. package/lib/index.js.map +1 -0
  10. package/lib/parse-html.js +16 -0
  11. package/lib/parse-html.js.map +1 -0
  12. package/lib/plugins/characters/custom-popper.js +57 -0
  13. package/lib/plugins/characters/custom-popper.js.map +1 -0
  14. package/lib/plugins/characters/index.js +265 -0
  15. package/lib/plugins/characters/index.js.map +1 -0
  16. package/lib/plugins/characters/utils.js +378 -0
  17. package/lib/plugins/characters/utils.js.map +1 -0
  18. package/lib/plugins/css/icons/index.js +25 -0
  19. package/lib/plugins/css/icons/index.js.map +1 -0
  20. package/lib/plugins/css/index.js +338 -0
  21. package/lib/plugins/css/index.js.map +1 -0
  22. package/lib/plugins/customPlugin/index.js +98 -0
  23. package/lib/plugins/customPlugin/index.js.map +1 -0
  24. package/lib/plugins/html/icons/index.js +30 -0
  25. package/lib/plugins/html/icons/index.js.map +1 -0
  26. package/lib/plugins/html/index.js +71 -0
  27. package/lib/plugins/html/index.js.map +1 -0
  28. package/lib/plugins/image/alt-dialog.js +100 -0
  29. package/lib/plugins/image/alt-dialog.js.map +1 -0
  30. package/lib/plugins/image/component.js +343 -0
  31. package/lib/plugins/image/component.js.map +1 -0
  32. package/lib/plugins/image/image-toolbar.js +137 -0
  33. package/lib/plugins/image/image-toolbar.js.map +1 -0
  34. package/lib/plugins/image/index.js +223 -0
  35. package/lib/plugins/image/index.js.map +1 -0
  36. package/lib/plugins/image/insert-image-handler.js +140 -0
  37. package/lib/plugins/image/insert-image-handler.js.map +1 -0
  38. package/lib/plugins/index.js +342 -0
  39. package/lib/plugins/index.js.map +1 -0
  40. package/lib/plugins/list/index.js +288 -0
  41. package/lib/plugins/list/index.js.map +1 -0
  42. package/lib/plugins/math/index.js +402 -0
  43. package/lib/plugins/math/index.js.map +1 -0
  44. package/lib/plugins/media/index.js +330 -0
  45. package/lib/plugins/media/index.js.map +1 -0
  46. package/lib/plugins/media/media-dialog.js +594 -0
  47. package/lib/plugins/media/media-dialog.js.map +1 -0
  48. package/lib/plugins/media/media-toolbar.js +76 -0
  49. package/lib/plugins/media/media-toolbar.js.map +1 -0
  50. package/lib/plugins/media/media-wrapper.js +64 -0
  51. package/lib/plugins/media/media-wrapper.js.map +1 -0
  52. package/lib/plugins/rendering/index.js +36 -0
  53. package/lib/plugins/rendering/index.js.map +1 -0
  54. package/lib/plugins/respArea/drag-in-the-blank/choice.js +271 -0
  55. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -0
  56. package/lib/plugins/respArea/drag-in-the-blank/index.js +55 -0
  57. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -0
  58. package/lib/plugins/respArea/drag-in-the-blank/utils.js +38 -0
  59. package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +1 -0
  60. package/lib/plugins/respArea/explicit-constructed-response/index.js +50 -0
  61. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -0
  62. package/lib/plugins/respArea/icons/index.js +72 -0
  63. package/lib/plugins/respArea/icons/index.js.map +1 -0
  64. package/lib/plugins/respArea/index.js +287 -0
  65. package/lib/plugins/respArea/index.js.map +1 -0
  66. package/lib/plugins/respArea/inline-dropdown/index.js +67 -0
  67. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -0
  68. package/lib/plugins/respArea/math-templated/index.js +112 -0
  69. package/lib/plugins/respArea/math-templated/index.js.map +1 -0
  70. package/lib/plugins/respArea/utils.js +95 -0
  71. package/lib/plugins/respArea/utils.js.map +1 -0
  72. package/lib/plugins/table/CustomTablePlugin.js +116 -0
  73. package/lib/plugins/table/CustomTablePlugin.js.map +1 -0
  74. package/lib/plugins/table/icons/index.js +55 -0
  75. package/lib/plugins/table/icons/index.js.map +1 -0
  76. package/lib/plugins/table/index.js +413 -0
  77. package/lib/plugins/table/index.js.map +1 -0
  78. package/lib/plugins/table/table-toolbar.js +138 -0
  79. package/lib/plugins/table/table-toolbar.js.map +1 -0
  80. package/lib/plugins/textAlign/icons/index.js +187 -0
  81. package/lib/plugins/textAlign/icons/index.js.map +1 -0
  82. package/lib/plugins/textAlign/index.js +26 -0
  83. package/lib/plugins/textAlign/index.js.map +1 -0
  84. package/lib/plugins/toolbar/default-toolbar.js +180 -0
  85. package/lib/plugins/toolbar/default-toolbar.js.map +1 -0
  86. package/lib/plugins/toolbar/done-button.js +35 -0
  87. package/lib/plugins/toolbar/done-button.js.map +1 -0
  88. package/lib/plugins/toolbar/editor-and-toolbar.js +258 -0
  89. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -0
  90. package/lib/plugins/toolbar/index.js +29 -0
  91. package/lib/plugins/toolbar/index.js.map +1 -0
  92. package/lib/plugins/toolbar/toolbar-buttons.js +145 -0
  93. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -0
  94. package/lib/plugins/toolbar/toolbar.js +307 -0
  95. package/lib/plugins/toolbar/toolbar.js.map +1 -0
  96. package/lib/plugins/utils.js +42 -0
  97. package/lib/plugins/utils.js.map +1 -0
  98. package/lib/serialization.js +571 -0
  99. package/lib/serialization.js.map +1 -0
  100. package/lib/shared/alert-dialog.js +68 -0
  101. package/lib/theme.js +8 -0
  102. package/lib/theme.js.map +1 -0
  103. package/package.json +7 -7
@@ -0,0 +1,413 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.serialization = exports.reactAttributes = exports.parseStyleString = exports.moveFocusToBeginningOfTable = exports["default"] = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _slate = require("slate");
13
+ var _debug = _interopRequireDefault(require("debug"));
14
+ var _GridOn = _interopRequireDefault(require("@mui/icons-material/GridOn"));
15
+ var _tableToolbar = _interopRequireDefault(require("./table-toolbar"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
18
+ var _styles = require("@mui/material/styles");
19
+ var _reactAttrConverter = _interopRequireDefault(require("react-attr-converter"));
20
+ var _toStyle = require("to-style");
21
+ var _CustomTablePlugin = _interopRequireDefault(require("./CustomTablePlugin"));
22
+ var _excluded = ["node"];
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table');
26
+ var StyledTable = (0, _styles.styled)('table')({});
27
+ var StyledTableCell = (0, _styles.styled)(function (_ref) {
28
+ var node = _ref.node,
29
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
30
+ var Tag = node.data.get('header') ? 'th' : 'td';
31
+ return /*#__PURE__*/_react["default"].createElement(Tag, props);
32
+ })({
33
+ '&': {
34
+ minWidth: '25px'
35
+ },
36
+ '&[data-cell-type="td"]': {
37
+ minWidth: '25px'
38
+ }
39
+ });
40
+ var Table = function Table(props) {
41
+ var nodeAttributes = dataToAttributes(props.node.data);
42
+ return /*#__PURE__*/_react["default"].createElement(StyledTable, (0, _extends2["default"])({}, props.attributes, nodeAttributes, {
43
+ onFocus: props.onFocus,
44
+ onBlur: props.onBlur
45
+ }), /*#__PURE__*/_react["default"].createElement("tbody", null, props.children));
46
+ };
47
+ Table.propTypes = {
48
+ attributes: _propTypes["default"].object,
49
+ onFocus: _propTypes["default"].func,
50
+ onBlur: _propTypes["default"].func,
51
+ node: _slatePropTypes["default"].node,
52
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
53
+ };
54
+ var TableRow = function TableRow(props) {
55
+ return /*#__PURE__*/_react["default"].createElement("tr", props.attributes, props.children);
56
+ };
57
+ TableRow.propTypes = {
58
+ attributes: _propTypes["default"].object,
59
+ onFocus: _propTypes["default"].func,
60
+ onBlur: _propTypes["default"].func,
61
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
62
+ };
63
+ var TableCell = function TableCell(props) {
64
+ var Tag = props.node.data.get('header') ? 'th' : 'td';
65
+ var nodeAttributes = dataToAttributes(props.node.data);
66
+ delete nodeAttributes.header;
67
+ return /*#__PURE__*/_react["default"].createElement(StyledTableCell, (0, _extends2["default"])({
68
+ as: Tag,
69
+ node: props.node
70
+ }, props.attributes, nodeAttributes, {
71
+ colSpan: props.node.data.get('colspan'),
72
+ "data-cell-type": Tag,
73
+ onFocus: props.onFocus,
74
+ onBlur: props.onBlur
75
+ }), props.children);
76
+ };
77
+ TableCell.propTypes = {
78
+ node: _slatePropTypes["default"].node.isRequired,
79
+ attributes: _propTypes["default"].object,
80
+ onFocus: _propTypes["default"].func,
81
+ onBlur: _propTypes["default"].func,
82
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
83
+ };
84
+ TableCell.propTypes = {
85
+ attributes: _propTypes["default"].object,
86
+ onFocus: _propTypes["default"].func,
87
+ onBlur: _propTypes["default"].func,
88
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
89
+ };
90
+ var moveFocusToBeginningOfTable = exports.moveFocusToBeginningOfTable = function moveFocusToBeginningOfTable(change) {
91
+ var addedTable = change.value.document.findDescendant(function (d) {
92
+ return !!d.data && !!d.data.get('newTable');
93
+ });
94
+ if (!addedTable) {
95
+ return;
96
+ }
97
+ change.collapseToStartOf(addedTable);
98
+ var update = addedTable.data.remove('newTable');
99
+ change.setNodeByKey(addedTable.key, {
100
+ data: update
101
+ });
102
+ };
103
+ var _default = exports["default"] = function _default(opts, toolbarPlugins /* : {toolbar: {}}[] */) {
104
+ var core = (0, _CustomTablePlugin["default"])(opts);
105
+
106
+ // fix outdated schema
107
+
108
+ if (core.schema && core.schema.blocks) {
109
+ Object.keys(core.schema.blocks).forEach(function (key) {
110
+ var block = core.schema.blocks[key];
111
+ if (block.parent) {
112
+ if (block.nodes[0].types) {
113
+ block.nodes[0] = {
114
+ type: block.nodes[0].types[0]
115
+ };
116
+ }
117
+ if (block.nodes[0].objects) {
118
+ block.nodes[0] = {
119
+ object: block.nodes[0].objects[0]
120
+ };
121
+ }
122
+ block.parent = {
123
+ type: block.parent.types[0]
124
+ };
125
+ } else {
126
+ block.nodes[0] = {
127
+ type: block.nodes[0].types[0]
128
+ };
129
+ }
130
+ });
131
+ }
132
+ core.utils.getTableBlock = function (containerNode, key) {
133
+ var node = containerNode.getDescendant(key);
134
+ var ancestors = containerNode.getAncestors(key).push(node);
135
+ return ancestors.findLast(function (p) {
136
+ return p.type === 'table';
137
+ });
138
+ };
139
+ core.utils.createTableWithOptions = function (row, columns, extra) {
140
+ var createdTable = core.utils.createTable(row, columns);
141
+ var newTable = _slate.Block.create(_objectSpread(_objectSpread({}, createdTable.toJSON()), extra));
142
+ return newTable;
143
+ };
144
+ core.toolbar = {
145
+ type: 'table',
146
+ icon: /*#__PURE__*/_react["default"].createElement(_GridOn["default"], null),
147
+ ariaLabel: 'Insert Table',
148
+ onClick: function onClick(value, onChange) {
149
+ log('insert table');
150
+ var change = value.change();
151
+ var newTable = core.utils.createTableWithOptions(2, 2, {
152
+ data: {
153
+ border: '1',
154
+ newTable: true
155
+ }
156
+ });
157
+ change.insertBlock(newTable);
158
+ moveFocusToBeginningOfTable(change);
159
+ onChange(change);
160
+ },
161
+ supports: function supports(node, value) {
162
+ return node && node.object === 'block' && core.utils.isSelectionInTable(value);
163
+ },
164
+ /**
165
+ * Note - the node may not be a table node - it may be a node inside a table.
166
+ */
167
+ customToolbar: function customToolbar(node, value, onToolbarDone, getFocusedValue) {
168
+ log('[customToolbar] node.data: ', node.data);
169
+ var tableBlock = core.utils.getTableBlock(value.document, node === null || node === void 0 ? void 0 : node.key);
170
+ log('[customToolbar] tableBlock: ', tableBlock);
171
+ var hasBorder = function hasBorder() {
172
+ return tableBlock.data.get('border') && tableBlock.data.get('border') !== '0';
173
+ };
174
+ var addRow = function addRow() {
175
+ var change = core.changes.insertRow(value.change());
176
+ onToolbarDone(change, false);
177
+ };
178
+ var addColumn = function addColumn() {
179
+ var change = core.changes.insertColumn(value.change());
180
+ onToolbarDone(change, false);
181
+ };
182
+ var removeRow = function removeRow() {
183
+ var change = core.changes.removeRow(value.change());
184
+ onToolbarDone(change, false);
185
+ };
186
+ var removeColumn = function removeColumn() {
187
+ var change = core.changes.removeColumn(value.change());
188
+ onToolbarDone(change, false);
189
+ };
190
+ var removeTable = function removeTable() {
191
+ var change = core.changes.removeTable(value.change());
192
+ onToolbarDone(change, false);
193
+ };
194
+ var toggleBorder = function toggleBorder() {
195
+ var data = tableBlock.data;
196
+ var update = data.set('border', hasBorder() ? '0' : '1');
197
+ log('[toggleBorder] update: ', update);
198
+ var change = value.change().setNodeByKey(tableBlock.key, {
199
+ data: update
200
+ });
201
+ onToolbarDone(change, false);
202
+ };
203
+ var onDone = function onDone() {
204
+ log('[onDone] call onToolbarDone...');
205
+ onToolbarDone(null, true);
206
+ };
207
+ var Tb = function Tb() {
208
+ return /*#__PURE__*/_react["default"].createElement(_tableToolbar["default"], {
209
+ getFocusedValue: getFocusedValue,
210
+ plugins: toolbarPlugins,
211
+ onChange: function onChange(c) {
212
+ return onToolbarDone(c, false);
213
+ },
214
+ value: value,
215
+ onAddRow: addRow,
216
+ onRemoveRow: removeRow,
217
+ onAddColumn: addColumn,
218
+ onRemoveColumn: removeColumn,
219
+ onRemoveTable: removeTable,
220
+ hasBorder: hasBorder(),
221
+ onToggleBorder: toggleBorder,
222
+ onDone: onDone
223
+ });
224
+ };
225
+ return Tb;
226
+ }
227
+ };
228
+ var Node = function Node(props) {
229
+ switch (props.node.type) {
230
+ case 'table':
231
+ return /*#__PURE__*/_react["default"].createElement(Table, (0, _extends2["default"])({}, props, {
232
+ onFocus: opts.onFocus,
233
+ onBlur: opts.onBlur
234
+ }));
235
+ case 'table_row':
236
+ return /*#__PURE__*/_react["default"].createElement(TableRow, props);
237
+ case 'table_cell':
238
+ return /*#__PURE__*/_react["default"].createElement(TableCell, (0, _extends2["default"])({}, props, {
239
+ onFocus: opts.onFocus,
240
+ onBlur: opts.onBlur
241
+ }));
242
+ default:
243
+ return null;
244
+ }
245
+ };
246
+ Node.propTypes = {
247
+ node: _propTypes["default"].object
248
+ };
249
+ core.normalizeNode = function (node) {
250
+ var addNodeBeforeArray = [];
251
+ if (node.object !== 'document') return;
252
+ node.findDescendant(function (d) {
253
+ if (d.type === 'table') {
254
+ var tablePath = node.getPath(d.key);
255
+ var prevNode = node.getPreviousNode(tablePath);
256
+ var nextNode = node.getNextNode(tablePath);
257
+ if (!prevNode || !nextNode) {
258
+ addNodeBeforeArray.push({
259
+ node: d,
260
+ prevNode: prevNode,
261
+ nextNode: nextNode
262
+ });
263
+ }
264
+ }
265
+ });
266
+ if (!addNodeBeforeArray.length) {
267
+ return;
268
+ }
269
+ return function (change) {
270
+ var newBlock = {
271
+ object: 'block',
272
+ type: 'div'
273
+ };
274
+ addNodeBeforeArray.forEach(function (n) {
275
+ var tablePath = change.value.document.getPath(n.node.key).toJSON();
276
+ // removing tableIndex
277
+ var indexToAdd = tablePath.splice(-1)[0];
278
+ if (!n.prevNode) {
279
+ // inserting block key before table
280
+ change.insertNodeByPath(tablePath, indexToAdd, newBlock);
281
+ // this will trigger another normalization, which will figure out if there's not
282
+ // a block after the table and add it, so we exit for now
283
+ return;
284
+ }
285
+ if (!n.nextNode) {
286
+ // inserting block key after table
287
+ change.insertNodeByPath(tablePath, indexToAdd + 1, newBlock);
288
+ }
289
+ });
290
+ };
291
+ };
292
+ core.renderNode = Node;
293
+ core.name = 'table';
294
+ return core;
295
+ };
296
+ var parseStyleString = exports.parseStyleString = function parseStyleString(s) {
297
+ var regex = /([\w-]*)\s*:\s*([^;]*)/g;
298
+ var match;
299
+ var result = {};
300
+ while (match = regex.exec(s)) {
301
+ result[match[1]] = match[2].trim();
302
+ }
303
+ return result;
304
+ };
305
+ var reactAttributes = exports.reactAttributes = function reactAttributes(o) {
306
+ return (0, _toStyle.object)(o, {
307
+ camelize: true,
308
+ addUnits: false
309
+ });
310
+ };
311
+ var attributesToMap = function attributesToMap(el) {
312
+ return function (acc, attribute) {
313
+ var value = el.getAttribute(attribute);
314
+ if (value) {
315
+ if (attribute === 'style') {
316
+ var styleString = el.getAttribute(attribute);
317
+ var reactStyleObject = reactAttributes(parseStyleString(styleString));
318
+ acc['style'] = reactStyleObject;
319
+ } else {
320
+ acc[attribute] = el.getAttribute(attribute);
321
+ }
322
+ }
323
+ return acc;
324
+ };
325
+ };
326
+ var dataToAttributes = function dataToAttributes(data) {
327
+ if (!data || !data.get) {
328
+ return {};
329
+ }
330
+ return data.reduce(function (acc, v, name) {
331
+ if (v) {
332
+ acc[(0, _reactAttrConverter["default"])(name)] = v;
333
+ }
334
+ return acc;
335
+ }, {});
336
+ };
337
+ var attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];
338
+ var cellAttributes = ['colspan', 'rowspan', 'class', 'style'];
339
+ var serialization = exports.serialization = {
340
+ deserialize: function deserialize(el, next) {
341
+ var tag = el.tagName.toLowerCase();
342
+ switch (tag) {
343
+ case 'table':
344
+ {
345
+ var children = el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody' ? el.children[0].children : el.children;
346
+ var c = Array.from(children);
347
+ return {
348
+ object: 'block',
349
+ type: 'table',
350
+ nodes: next(c),
351
+ data: attributes.reduce(attributesToMap(el), {})
352
+ };
353
+ }
354
+ case 'th':
355
+ {
356
+ return {
357
+ object: 'block',
358
+ type: 'table_cell',
359
+ nodes: next(el.childNodes),
360
+ data: cellAttributes.reduce(attributesToMap(el), {
361
+ header: true
362
+ })
363
+ };
364
+ }
365
+ case 'tr':
366
+ {
367
+ return {
368
+ object: 'block',
369
+ type: 'table_row',
370
+ nodes: next(Array.from(el.children))
371
+ };
372
+ }
373
+ case 'td':
374
+ {
375
+ return {
376
+ object: 'block',
377
+ type: 'table_cell',
378
+ nodes: next(Array.from(el.childNodes)),
379
+ data: cellAttributes.reduce(attributesToMap(el), {
380
+ header: false
381
+ })
382
+ };
383
+ }
384
+ }
385
+ },
386
+ serialize: function serialize(object, children) {
387
+ if (object.object !== 'block') {
388
+ return;
389
+ }
390
+ switch (object.type) {
391
+ case 'table':
392
+ {
393
+ var _attributes = dataToAttributes(object.data);
394
+ return /*#__PURE__*/_react["default"].createElement("table", _attributes, /*#__PURE__*/_react["default"].createElement("tbody", null, children));
395
+ }
396
+ case 'table_row':
397
+ {
398
+ return /*#__PURE__*/_react["default"].createElement("tr", null, children);
399
+ }
400
+ case 'table_cell':
401
+ {
402
+ var _attributes2 = dataToAttributes(object.data);
403
+ delete _attributes2.header;
404
+ if (object.data.get('header')) {
405
+ return /*#__PURE__*/_react["default"].createElement("th", _attributes2, children);
406
+ } else {
407
+ return /*#__PURE__*/_react["default"].createElement("td", _attributes2, children);
408
+ }
409
+ }
410
+ }
411
+ }
412
+ };
413
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_slate","_debug","_GridOn","_tableToolbar","_propTypes","_slatePropTypes","_styles","_reactAttrConverter","_toStyle","_CustomTablePlugin","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","StyledTable","styled","StyledTableCell","_ref","node","props","_objectWithoutProperties2","Tag","data","get","createElement","minWidth","Table","nodeAttributes","dataToAttributes","_extends2","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","header","as","colSpan","moveFocusToBeginningOfTable","exports","change","addedTable","value","document","findDescendant","d","collapseToStartOf","update","remove","setNodeByKey","key","_default","opts","toolbarPlugins","core","CustomTablePlugin","schema","blocks","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","findLast","p","createTableWithOptions","row","columns","extra","createdTable","createTable","newTable","Block","create","toJSON","toolbar","icon","ariaLabel","onClick","onChange","border","insertBlock","supports","isSelectionInTable","customToolbar","onToolbarDone","getFocusedValue","tableBlock","hasBorder","addRow","changes","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","set","onDone","Tb","plugins","c","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","Node","normalizeNode","addNodeBeforeArray","tablePath","getPath","prevNode","getPreviousNode","nextNode","getNextNode","newBlock","n","indexToAdd","splice","insertNodeByPath","renderNode","name","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","toStyleObject","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","convert","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"sources":["../../../src/plugins/table/index.jsx"],"sourcesContent":["import React from 'react';\nimport { Block } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@mui/icons-material/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { styled } from '@mui/material/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\nimport CustomTablePlugin from './CustomTablePlugin';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst StyledTable = styled('table')({});\n\nconst StyledTableCell = styled(({ node, ...props }) => {\n const Tag = node.data.get('header') ? 'th' : 'td';\n return <Tag {...props} />;\n})({\n '&': {\n minWidth: '25px',\n },\n '&[data-cell-type=\"td\"]': {\n minWidth: '25px',\n },\n});\n\nconst Table = (props) => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <StyledTable\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </StyledTable>\n );\n};\n\nTable.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n node: SlatePropTypes.node,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nconst TableRow = (props) => <tr {...props.attributes}>{props.children}</tr>;\n\nTableRow.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nconst TableCell = (props) => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <StyledTableCell\n as={Tag}\n node={props.node}\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n data-cell-type={Tag}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </StyledTableCell>\n );\n};\n\nTableCell.propTypes = {\n node: SlatePropTypes.node.isRequired,\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nTableCell.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nexport const moveFocusToBeginningOfTable = (change) => {\n const addedTable = change.value.document.findDescendant((d) => !!d.data && !!d.data.get('newTable'));\n\n if (!addedTable) {\n return;\n }\n\n change.collapseToStartOf(addedTable);\n\n const update = addedTable.data.remove('newTable');\n\n change.setNodeByKey(addedTable.key, { data: update });\n};\n\nexport default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = CustomTablePlugin(opts);\n\n // fix outdated schema\n\n if (core.schema && core.schema.blocks) {\n Object.keys(core.schema.blocks).forEach((key) => {\n const block = core.schema.blocks[key];\n\n if (block.parent) {\n if (block.nodes[0].types) {\n block.nodes[0] = {\n type: block.nodes[0].types[0],\n };\n }\n\n if (block.nodes[0].objects) {\n block.nodes[0] = {\n object: block.nodes[0].objects[0],\n };\n }\n\n block.parent = {\n type: block.parent.types[0],\n };\n } else {\n block.nodes[0] = { type: block.nodes[0].types[0] };\n }\n });\n }\n\n core.utils.getTableBlock = (containerNode, key) => {\n const node = containerNode.getDescendant(key);\n const ancestors = containerNode.getAncestors(key).push(node);\n return ancestors.findLast((p) => p.type === 'table');\n };\n\n core.utils.createTableWithOptions = (row, columns, extra) => {\n const createdTable = core.utils.createTable(row, columns);\n const newTable = Block.create({\n ...createdTable.toJSON(),\n ...extra,\n });\n\n return newTable;\n };\n\n core.toolbar = {\n type: 'table',\n icon: <GridOn />,\n ariaLabel: 'Insert Table',\n onClick: (value, onChange) => {\n log('insert table');\n const change = value.change();\n const newTable = core.utils.createTableWithOptions(2, 2, {\n data: {\n border: '1',\n newTable: true,\n },\n });\n\n change.insertBlock(newTable);\n\n moveFocusToBeginningOfTable(change);\n onChange(change);\n },\n supports: (node, value) => node && node.object === 'block' && core.utils.isSelectionInTable(value),\n /**\n * Note - the node may not be a table node - it may be a node inside a table.\n */\n customToolbar: (node, value, onToolbarDone, getFocusedValue) => {\n log('[customToolbar] node.data: ', node.data);\n\n const tableBlock = core.utils.getTableBlock(value.document, node?.key);\n log('[customToolbar] tableBlock: ', tableBlock);\n\n const hasBorder = () => tableBlock.data.get('border') && tableBlock.data.get('border') !== '0';\n const addRow = () => {\n const change = core.changes.insertRow(value.change());\n onToolbarDone(change, false);\n };\n\n const addColumn = () => {\n const change = core.changes.insertColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeRow = () => {\n const change = core.changes.removeRow(value.change());\n onToolbarDone(change, false);\n };\n\n const removeColumn = () => {\n const change = core.changes.removeColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeTable = () => {\n const change = core.changes.removeTable(value.change());\n onToolbarDone(change, false);\n };\n\n const toggleBorder = () => {\n const { data } = tableBlock;\n const update = data.set('border', hasBorder() ? '0' : '1');\n log('[toggleBorder] update: ', update);\n const change = value.change().setNodeByKey(tableBlock.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const onDone = () => {\n log('[onDone] call onToolbarDone...');\n onToolbarDone(null, true);\n };\n\n const Tb = () => (\n <TableToolbar\n getFocusedValue={getFocusedValue}\n plugins={toolbarPlugins}\n onChange={(c) => onToolbarDone(c, false)}\n value={value}\n onAddRow={addRow}\n onRemoveRow={removeRow}\n onAddColumn={addColumn}\n onRemoveColumn={removeColumn}\n onRemoveTable={removeTable}\n hasBorder={hasBorder()}\n onToggleBorder={toggleBorder}\n onDone={onDone}\n />\n );\n\n return Tb;\n },\n };\n\n const Node = (props) => {\n switch (props.node.type) {\n case 'table':\n return <Table {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'table_row':\n return <TableRow {...props} />;\n case 'table_cell':\n return <TableCell {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n default:\n return null;\n }\n };\n Node.propTypes = {\n node: PropTypes.object,\n };\n\n core.normalizeNode = (node) => {\n const addNodeBeforeArray = [];\n\n if (node.object !== 'document') return;\n\n node.findDescendant((d) => {\n if (d.type === 'table') {\n const tablePath = node.getPath(d.key);\n const prevNode = node.getPreviousNode(tablePath);\n const nextNode = node.getNextNode(tablePath);\n\n if (!prevNode || !nextNode) {\n addNodeBeforeArray.push({\n node: d,\n prevNode,\n nextNode,\n });\n }\n }\n });\n\n if (!addNodeBeforeArray.length) {\n return;\n }\n\n return (change) => {\n const newBlock = {\n object: 'block',\n type: 'div',\n };\n\n addNodeBeforeArray.forEach((n) => {\n const tablePath = change.value.document.getPath(n.node.key).toJSON();\n // removing tableIndex\n let indexToAdd = tablePath.splice(-1)[0];\n\n if (!n.prevNode) {\n // inserting block key before table\n change.insertNodeByPath(tablePath, indexToAdd, newBlock);\n // this will trigger another normalization, which will figure out if there's not\n // a block after the table and add it, so we exit for now\n return;\n }\n\n if (!n.nextNode) {\n // inserting block key after table\n change.insertNodeByPath(tablePath, indexToAdd + 1, newBlock);\n }\n });\n };\n };\n\n core.renderNode = Node;\n core.name = 'table';\n\n return core;\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst attributesToMap = (el) => (acc, attribute) => {\n const value = el.getAttribute(attribute);\n if (value) {\n if (attribute === 'style') {\n const styleString = el.getAttribute(attribute);\n const reactStyleObject = reactAttributes(parseStyleString(styleString));\n acc['style'] = reactStyleObject;\n } else {\n acc[attribute] = el.getAttribute(attribute);\n }\n }\n return acc;\n};\n\nconst dataToAttributes = (data) => {\n if (!data || !data.get) {\n return {};\n }\n\n return data.reduce((acc, v, name) => {\n if (v) {\n acc[convert(name)] = v;\n }\n return acc;\n }, {});\n};\n\nconst attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];\n\nconst cellAttributes = ['colspan', 'rowspan', 'class', 'style'];\n\nexport const serialization = {\n deserialize(el, next) {\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case 'table': {\n const children =\n el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody'\n ? el.children[0].children\n : el.children;\n const c = Array.from(children);\n\n return {\n object: 'block',\n type: 'table',\n nodes: next(c),\n data: attributes.reduce(attributesToMap(el), {}),\n };\n }\n\n case 'th': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(el.childNodes),\n data: cellAttributes.reduce(attributesToMap(el), { header: true }),\n };\n }\n\n case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children)),\n };\n }\n\n case 'td': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(Array.from(el.childNodes)),\n data: cellAttributes.reduce(attributesToMap(el), { header: false }),\n };\n }\n }\n },\n serialize(object, children) {\n if (object.object !== 'block') {\n return;\n }\n\n switch (object.type) {\n case 'table': {\n const attributes = dataToAttributes(object.data);\n\n return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\n\n if (object.data.get('header')) {\n return <th {...attributes}>{children}</th>;\n } else {\n return <td {...attributes}>{children}</td>;\n }\n }\n }\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.TableToolbar = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _styles = require("@mui/material/styles");
18
+ var _toolbarButtons = require("../toolbar/toolbar-buttons");
19
+ var _doneButton = require("../toolbar/done-button");
20
+ var _BorderAll = _interopRequireDefault(require("@mui/icons-material/BorderAll"));
21
+ var _defaultToolbar = require("../toolbar/default-toolbar");
22
+ var _icons = require("./icons");
23
+ var _propTypes = _interopRequireDefault(require("prop-types"));
24
+ var _debug = _interopRequireDefault(require("debug"));
25
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
28
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
29
+ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
30
+ var TableToolbarContainer = (0, _styles.styled)('div')({
31
+ width: '100%',
32
+ display: 'flex',
33
+ justifyContent: 'space-between'
34
+ });
35
+ var ToolbarButtons = (0, _styles.styled)('div')({
36
+ display: 'flex'
37
+ });
38
+ var TableToolbar = exports.TableToolbar = /*#__PURE__*/function (_React$Component) {
39
+ function TableToolbar() {
40
+ var _this;
41
+ (0, _classCallCheck2["default"])(this, TableToolbar);
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
44
+ }
45
+ _this = _callSuper(this, TableToolbar, [].concat(args));
46
+ (0, _defineProperty2["default"])(_this, "onDone", function (e) {
47
+ var onDone = _this.props.onDone;
48
+ e.preventDefault();
49
+ onDone();
50
+ });
51
+ return _this;
52
+ }
53
+ (0, _inherits2["default"])(TableToolbar, _React$Component);
54
+ return (0, _createClass2["default"])(TableToolbar, [{
55
+ key: "render",
56
+ value: function render() {
57
+ var _this$props = this.props,
58
+ getFocusedValue = _this$props.getFocusedValue,
59
+ plugins = _this$props.plugins,
60
+ value = _this$props.value,
61
+ onChange = _this$props.onChange,
62
+ onAddRow = _this$props.onAddRow,
63
+ onRemoveRow = _this$props.onRemoveRow,
64
+ onAddColumn = _this$props.onAddColumn,
65
+ onRemoveColumn = _this$props.onRemoveColumn,
66
+ onRemoveTable = _this$props.onRemoveTable,
67
+ onToggleBorder = _this$props.onToggleBorder,
68
+ hasBorder = _this$props.hasBorder;
69
+ log('[render] hasBorder:', hasBorder);
70
+
71
+ // we're separating the response area plugin because we want to display it next to the done button
72
+ var filteredPlugins = (plugins || []).reduce(function (acc, plugin) {
73
+ if (plugin.name === 'response_area') {
74
+ return _objectSpread(_objectSpread({}, acc), {}, {
75
+ respAreaPlugin: plugin
76
+ });
77
+ }
78
+ return _objectSpread(_objectSpread({}, acc), {}, {
79
+ otherPlugins: [].concat((0, _toConsumableArray2["default"])(acc.otherPlugins), [plugin])
80
+ });
81
+ }, {
82
+ respAreaPlugin: null,
83
+ otherPlugins: []
84
+ });
85
+ return /*#__PURE__*/_react["default"].createElement(TableToolbarContainer, null, /*#__PURE__*/_react["default"].createElement(ToolbarButtons, null, /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
86
+ onClick: onAddRow
87
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
88
+ onClick: onRemoveRow
89
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
90
+ onClick: onAddColumn
91
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
92
+ onClick: onRemoveColumn
93
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
94
+ onClick: onRemoveTable
95
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), (filteredPlugins.otherPlugins || []).map(function (p, index) {
96
+ return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
97
+ key: "plugin-".concat(index)
98
+ }, p.toolbar, {
99
+ value: value,
100
+ onChange: onChange,
101
+ getFocusedValue: getFocusedValue
102
+ }));
103
+ }), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
104
+ onClick: onToggleBorder,
105
+ active: hasBorder
106
+ }, /*#__PURE__*/_react["default"].createElement(_BorderAll["default"], null))), filteredPlugins.respAreaPlugin && /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
107
+ key: 'plugin-response-area'
108
+ }, filteredPlugins.respAreaPlugin.toolbar, {
109
+ value: value,
110
+ onChange: onChange,
111
+ getFocusedValue: getFocusedValue
112
+ })), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
113
+ onClick: this.onDone
114
+ }));
115
+ }
116
+ }]);
117
+ }(_react["default"].Component);
118
+ (0, _defineProperty2["default"])(TableToolbar, "propTypes", {
119
+ plugins: _propTypes["default"].array.isRequired,
120
+ value: _propTypes["default"].object.isRequired,
121
+ onChange: _propTypes["default"].func.isRequired,
122
+ onAddRow: _propTypes["default"].func.isRequired,
123
+ onRemoveRow: _propTypes["default"].func.isRequired,
124
+ onAddColumn: _propTypes["default"].func.isRequired,
125
+ onRemoveColumn: _propTypes["default"].func.isRequired,
126
+ onRemoveTable: _propTypes["default"].func.isRequired,
127
+ onToggleBorder: _propTypes["default"].func.isRequired,
128
+ hasBorder: _propTypes["default"].bool,
129
+ onDone: _propTypes["default"].func.isRequired,
130
+ getFocusedValue: _propTypes["default"].func.isRequired
131
+ });
132
+ (0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
133
+ plugins: [],
134
+ value: {},
135
+ onChange: function onChange() {}
136
+ });
137
+ var _default = exports["default"] = TableToolbar;
138
+ //# sourceMappingURL=table-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-toolbar.js","names":["_react","_interopRequireDefault","require","_styles","_toolbarButtons","_doneButton","_BorderAll","_defaultToolbar","_icons","_propTypes","_debug","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","log","debug","TableToolbarContainer","styled","width","display","justifyContent","ToolbarButtons","TableToolbar","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","onDone","props","preventDefault","_inherits2","_createClass2","key","value","render","_this$props","getFocusedValue","plugins","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","filteredPlugins","reduce","acc","plugin","name","respAreaPlugin","otherPlugins","_toConsumableArray2","createElement","Button","onClick","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable","map","p","index","ToolbarButton","_extends2","toolbar","active","DoneButton","React","Component","PropTypes","array","isRequired","object","func","bool","_default"],"sources":["../../../src/plugins/table/table-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@mui/icons-material/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nconst TableToolbarContainer = styled('div')({\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between',\n});\n\nconst ToolbarButtons = styled('div')({\n display: 'flex',\n});\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {},\n };\n\n onDone = (e) => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n getFocusedValue,\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n // we're separating the response area plugin because we want to display it next to the done button\n const filteredPlugins = (plugins || []).reduce(\n (acc, plugin) => {\n if (plugin.name === 'response_area') {\n return {\n ...acc,\n respAreaPlugin: plugin,\n };\n }\n\n return {\n ...acc,\n otherPlugins: [...acc.otherPlugins, plugin],\n };\n },\n {\n respAreaPlugin: null,\n otherPlugins: [],\n },\n );\n\n return (\n <TableToolbarContainer>\n <ToolbarButtons>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {(filteredPlugins.otherPlugins || []).map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </ToolbarButtons>\n {filteredPlugins.respAreaPlugin && (\n <ToolbarButton\n key={'plugin-response-area'}\n {...filteredPlugins.respAreaPlugin.toolbar}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n />\n )}\n <DoneButton onClick={this.onDone} />\n </TableToolbarContainer>\n );\n }\n}\n\nexport default TableToolbar;\n"],"mappings":"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","ignoreList":[]}