@pie-lib/editable-html 7.17.4-next.59 → 7.17.4-next.595

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 (100) hide show
  1. package/CHANGELOG.json +135 -0
  2. package/CHANGELOG.md +421 -0
  3. package/lib/editor.js +392 -172
  4. package/lib/editor.js.map +1 -1
  5. package/lib/index.js +66 -53
  6. package/lib/index.js.map +1 -1
  7. package/lib/parse-html.js.map +1 -1
  8. package/lib/plugins/characters/custom-popper.js +73 -0
  9. package/lib/plugins/characters/custom-popper.js.map +1 -0
  10. package/lib/plugins/characters/index.js +285 -0
  11. package/lib/plugins/characters/index.js.map +1 -0
  12. package/lib/plugins/characters/utils.js +381 -0
  13. package/lib/plugins/characters/utils.js.map +1 -0
  14. package/lib/plugins/image/alt-dialog.js +119 -0
  15. package/lib/plugins/image/alt-dialog.js.map +1 -0
  16. package/lib/plugins/image/component.js +253 -77
  17. package/lib/plugins/image/component.js.map +1 -1
  18. package/lib/plugins/image/image-toolbar.js +95 -61
  19. package/lib/plugins/image/image-toolbar.js.map +1 -1
  20. package/lib/plugins/image/index.js +62 -20
  21. package/lib/plugins/image/index.js.map +1 -1
  22. package/lib/plugins/image/insert-image-handler.js +9 -15
  23. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  24. package/lib/plugins/index.js +20 -12
  25. package/lib/plugins/index.js.map +1 -1
  26. package/lib/plugins/list/index.js +82 -14
  27. package/lib/plugins/list/index.js.map +1 -1
  28. package/lib/plugins/math/index.js +50 -55
  29. package/lib/plugins/math/index.js.map +1 -1
  30. package/lib/plugins/media/index.js +71 -27
  31. package/lib/plugins/media/index.js.map +1 -1
  32. package/lib/plugins/media/media-dialog.js +274 -74
  33. package/lib/plugins/media/media-dialog.js.map +1 -1
  34. package/lib/plugins/media/media-toolbar.js +26 -30
  35. package/lib/plugins/media/media-toolbar.js.map +1 -1
  36. package/lib/plugins/media/media-wrapper.js +28 -35
  37. package/lib/plugins/media/media-wrapper.js.map +1 -1
  38. package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
  39. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  40. package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
  41. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  42. package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
  43. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  44. package/lib/plugins/respArea/icons/index.js +11 -11
  45. package/lib/plugins/respArea/icons/index.js.map +1 -1
  46. package/lib/plugins/respArea/index.js +58 -42
  47. package/lib/plugins/respArea/index.js.map +1 -1
  48. package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
  49. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  50. package/lib/plugins/respArea/utils.js +5 -5
  51. package/lib/plugins/respArea/utils.js.map +1 -1
  52. package/lib/plugins/table/icons/index.js +12 -12
  53. package/lib/plugins/table/icons/index.js.map +1 -1
  54. package/lib/plugins/table/index.js +83 -27
  55. package/lib/plugins/table/index.js.map +1 -1
  56. package/lib/plugins/table/table-toolbar.js +41 -50
  57. package/lib/plugins/table/table-toolbar.js.map +1 -1
  58. package/lib/plugins/toolbar/default-toolbar.js +19 -13
  59. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  60. package/lib/plugins/toolbar/done-button.js +5 -5
  61. package/lib/plugins/toolbar/done-button.js.map +1 -1
  62. package/lib/plugins/toolbar/editor-and-toolbar.js +62 -45
  63. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  64. package/lib/plugins/toolbar/index.js +6 -5
  65. package/lib/plugins/toolbar/index.js.map +1 -1
  66. package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
  67. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  68. package/lib/plugins/toolbar/toolbar.js +64 -62
  69. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  70. package/lib/plugins/utils.js +1 -1
  71. package/lib/plugins/utils.js.map +1 -1
  72. package/lib/serialization.js +32 -9
  73. package/lib/serialization.js.map +1 -1
  74. package/lib/theme.js.map +1 -1
  75. package/package.json +7 -6
  76. package/src/editor.jsx +226 -26
  77. package/src/index.jsx +22 -5
  78. package/src/plugins/characters/custom-popper.js +48 -0
  79. package/src/plugins/characters/index.jsx +268 -0
  80. package/src/plugins/characters/utils.js +447 -0
  81. package/src/plugins/image/alt-dialog.jsx +69 -0
  82. package/src/plugins/image/component.jsx +204 -21
  83. package/src/plugins/image/image-toolbar.jsx +68 -22
  84. package/src/plugins/image/index.jsx +47 -9
  85. package/src/plugins/index.jsx +4 -1
  86. package/src/plugins/list/index.jsx +67 -5
  87. package/src/plugins/math/index.jsx +31 -37
  88. package/src/plugins/media/index.jsx +49 -6
  89. package/src/plugins/media/media-dialog.js +285 -89
  90. package/src/plugins/media/media-toolbar.jsx +7 -4
  91. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
  92. package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
  93. package/src/plugins/respArea/index.jsx +50 -31
  94. package/src/plugins/table/index.jsx +63 -14
  95. package/src/plugins/toolbar/default-toolbar.jsx +20 -2
  96. package/src/plugins/toolbar/editor-and-toolbar.jsx +50 -11
  97. package/src/plugins/toolbar/index.jsx +1 -0
  98. package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
  99. package/src/plugins/toolbar/toolbar.jsx +18 -3
  100. package/src/serialization.jsx +19 -3
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.serialization = exports.reactAttributes = exports.parseStyleString = exports["default"] = void 0;
8
+ exports.serialization = exports.reactAttributes = exports.parseStyleString = exports.moveFocusToBeginningOfTable = exports["default"] = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
13
 
8
14
  var _react = _interopRequireDefault(require("react"));
9
15
 
@@ -27,9 +33,9 @@ var _reactAttrConverter = _interopRequireDefault(require("react-attr-converter")
27
33
 
28
34
  var _toStyle = require("to-style");
29
35
 
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
37
 
32
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
39
 
34
40
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table');
35
41
  var Table = (0, _styles.withStyles)(function () {
@@ -38,12 +44,12 @@ var Table = (0, _styles.withStyles)(function () {
38
44
  };
39
45
  })(function (props) {
40
46
  var nodeAttributes = dataToAttributes(props.node.data);
41
- return _react["default"].createElement("table", _extends({
47
+ return /*#__PURE__*/_react["default"].createElement("table", (0, _extends2["default"])({
42
48
  className: props.classes.table
43
49
  }, props.attributes, nodeAttributes, {
44
50
  onFocus: props.onFocus,
45
51
  onBlur: props.onBlur
46
- }), _react["default"].createElement("tbody", null, props.children));
52
+ }), /*#__PURE__*/_react["default"].createElement("tbody", null, props.children));
47
53
  });
48
54
  Table.propTypes = {
49
55
  attributes: _propTypes["default"].object,
@@ -54,7 +60,7 @@ Table.propTypes = {
54
60
  };
55
61
 
56
62
  var TableRow = function TableRow(props) {
57
- return _react["default"].createElement("tr", props.attributes, props.children);
63
+ return /*#__PURE__*/_react["default"].createElement("tr", props.attributes, props.children);
58
64
  };
59
65
 
60
66
  TableRow.propTypes = {
@@ -73,7 +79,7 @@ var TableCell = (0, _styles.withStyles)(function () {
73
79
  var Tag = props.node.data.get('header') ? 'th' : 'td';
74
80
  var nodeAttributes = dataToAttributes(props.node.data);
75
81
  delete nodeAttributes.header;
76
- return _react["default"].createElement(Tag, _extends({}, props.attributes, nodeAttributes, {
82
+ return /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({}, props.attributes, nodeAttributes, {
77
83
  colSpan: props.node.data.get('colspan'),
78
84
  className: props.classes[Tag],
79
85
  onFocus: props.onFocus,
@@ -87,6 +93,24 @@ TableCell.propTypes = {
87
93
  children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
88
94
  };
89
95
 
96
+ var moveFocusToBeginningOfTable = function moveFocusToBeginningOfTable(change) {
97
+ var addedTable = change.value.document.findDescendant(function (d) {
98
+ return !!d.data && !!d.data.get('newTable');
99
+ });
100
+
101
+ if (!addedTable) {
102
+ return;
103
+ }
104
+
105
+ change.collapseToStartOf(addedTable);
106
+ var update = addedTable.data.remove('newTable');
107
+ change.setNodeByKey(addedTable.key, {
108
+ data: update
109
+ });
110
+ };
111
+
112
+ exports.moveFocusToBeginningOfTable = moveFocusToBeginningOfTable;
113
+
90
114
  var _default = function _default(opts, toolbarPlugins
91
115
  /* : {toolbar: {}}[] */
92
116
  ) {
@@ -130,12 +154,28 @@ var _default = function _default(opts, toolbarPlugins
130
154
  });
131
155
  };
132
156
 
157
+ core.utils.createTableWithOptions = function (row, columns, extra) {
158
+ var createdTable = core.utils.createTable(row, columns);
159
+
160
+ var newTable = _slate.Block.create(_objectSpread(_objectSpread({}, createdTable.toJSON()), extra));
161
+
162
+ return newTable;
163
+ };
164
+
133
165
  core.toolbar = {
134
- icon: _react["default"].createElement(_GridOn["default"], null),
166
+ icon: /*#__PURE__*/_react["default"].createElement(_GridOn["default"], null),
135
167
  onClick: function onClick(value, onChange) {
136
168
  log('insert table');
137
- var c = core.changes.insertTable(value.change(), 2, 2);
138
- onChange(c);
169
+ var change = value.change();
170
+ var newTable = core.utils.createTableWithOptions(2, 2, {
171
+ data: {
172
+ border: '1',
173
+ newTable: true
174
+ }
175
+ });
176
+ change.insertBlock(newTable);
177
+ moveFocusToBeginningOfTable(change);
178
+ onChange(change);
139
179
  },
140
180
  supports: function supports(node, value) {
141
181
  return node && node.object === 'block' && core.utils.isSelectionInTable(value);
@@ -146,7 +186,7 @@ var _default = function _default(opts, toolbarPlugins
146
186
  */
147
187
  customToolbar: function customToolbar(node, value, onToolbarDone) {
148
188
  log('[customToolbar] node.data: ', node.data);
149
- var tableBlock = core.utils.getTableBlock(value.document, node.key);
189
+ var tableBlock = core.utils.getTableBlock(value.document, node === null || node === void 0 ? void 0 : node.key);
150
190
  log('[customToolbar] tableBlock: ', tableBlock);
151
191
 
152
192
  var hasBorder = function hasBorder() {
@@ -194,7 +234,7 @@ var _default = function _default(opts, toolbarPlugins
194
234
  };
195
235
 
196
236
  var Tb = function Tb() {
197
- return _react["default"].createElement(_tableToolbar["default"], {
237
+ return /*#__PURE__*/_react["default"].createElement(_tableToolbar["default"], {
198
238
  plugins: toolbarPlugins,
199
239
  onChange: function onChange(c) {
200
240
  return onToolbarDone(c, false);
@@ -218,16 +258,16 @@ var _default = function _default(opts, toolbarPlugins
218
258
  var Node = function Node(props) {
219
259
  switch (props.node.type) {
220
260
  case 'table':
221
- return _react["default"].createElement(Table, _extends({}, props, {
261
+ return /*#__PURE__*/_react["default"].createElement(Table, (0, _extends2["default"])({}, props, {
222
262
  onFocus: opts.onFocus,
223
263
  onBlur: opts.onBlur
224
264
  }));
225
265
 
226
266
  case 'table_row':
227
- return _react["default"].createElement(TableRow, props);
267
+ return /*#__PURE__*/_react["default"].createElement(TableRow, props);
228
268
 
229
269
  case 'table_cell':
230
- return _react["default"].createElement(TableCell, _extends({}, props, {
270
+ return /*#__PURE__*/_react["default"].createElement(TableCell, (0, _extends2["default"])({}, props, {
231
271
  onFocus: opts.onFocus,
232
272
  onBlur: opts.onBlur
233
273
  }));
@@ -246,9 +286,18 @@ var _default = function _default(opts, toolbarPlugins
246
286
  return;
247
287
  }
248
288
 
289
+ var tableAdded = node.findDescendant(function (d) {
290
+ return d.data && d.data.get('newTable');
291
+ });
292
+
293
+ if (!tableAdded) {
294
+ return;
295
+ }
296
+
297
+ var nodeToSearch = node.getParent(tableAdded.key) || node;
249
298
  var shouldAddTextAfterNode = false;
250
- var indexToNotHaveTableOn = node.nodes.size - 1;
251
- var indexOfLastTable = node.nodes.findLastIndex(function (d) {
299
+ var indexToNotHaveTableOn = nodeToSearch.nodes.size - 1;
300
+ var indexOfLastTable = nodeToSearch.nodes.findLastIndex(function (d) {
252
301
  return d.type === 'table';
253
302
  }); // if the last table in the document is of type table, we need to do the change
254
303
 
@@ -260,13 +309,12 @@ var _default = function _default(opts, toolbarPlugins
260
309
  return;
261
310
  }
262
311
 
263
- var tableNode = node.nodes.get(indexOfLastTable);
264
312
  return function (change) {
265
313
  if (shouldAddTextAfterNode) {
266
- var tableJSON = tableNode.toJSON(); // we remove the table node because otherwise we can't add the empty block after it
314
+ var tableJSON = tableAdded.toJSON(); // we remove the table node because otherwise we can't add the empty block after it
267
315
  // we need a block that contains text in order to do it
268
316
 
269
- change.removeNodeByKey(tableNode.key);
317
+ change.removeNodeByKey(tableAdded.key);
270
318
 
271
319
  var newBlock = _slate.Block.create({
272
320
  object: 'block',
@@ -282,12 +330,19 @@ var _default = function _default(opts, toolbarPlugins
282
330
  var prevText = change.value.document.getPreviousText(newBlock.key);
283
331
 
284
332
  if (prevText) {
333
+ var _prevText$text, _prevText$text2;
334
+
285
335
  // we move focus to the previous text
286
- change.moveFocusTo(prevText.key, prevText.text.length).moveAnchorTo(prevText.key, prevText.text.length);
336
+ change.moveFocusTo(prevText.key, (_prevText$text = prevText.text) === null || _prevText$text === void 0 ? void 0 : _prevText$text.length).moveAnchorTo(prevText.key, (_prevText$text2 = prevText.text) === null || _prevText$text2 === void 0 ? void 0 : _prevText$text2.length);
287
337
  } // we insert the table block between the first block with text and the last block with text
288
338
 
289
339
 
290
- change.insertBlock(tableJSON);
340
+ change.insertBlock(_objectSpread(_objectSpread({}, tableJSON), {}, {
341
+ data: _objectSpread(_objectSpread({}, tableJSON.data), {}, {
342
+ newTable: true
343
+ })
344
+ }));
345
+ moveFocusToBeginningOfTable(change);
291
346
  });
292
347
  }
293
348
  };
@@ -315,7 +370,8 @@ exports.parseStyleString = parseStyleString;
315
370
 
316
371
  var reactAttributes = function reactAttributes(o) {
317
372
  return (0, _toStyle.object)(o, {
318
- camelize: true
373
+ camelize: true,
374
+ addUnits: false
319
375
  });
320
376
  };
321
377
 
@@ -416,12 +472,12 @@ var serialization = {
416
472
  {
417
473
  var _attributes = dataToAttributes(object.data);
418
474
 
419
- return _react["default"].createElement("table", _attributes, _react["default"].createElement("tbody", null, children));
475
+ return /*#__PURE__*/_react["default"].createElement("table", _attributes, /*#__PURE__*/_react["default"].createElement("tbody", null, children));
420
476
  }
421
477
 
422
478
  case 'table_row':
423
479
  {
424
- return _react["default"].createElement("tr", null, children);
480
+ return /*#__PURE__*/_react["default"].createElement("tr", null, children);
425
481
  }
426
482
 
427
483
  case 'table_cell':
@@ -431,9 +487,9 @@ var serialization = {
431
487
  delete _attributes2.header;
432
488
 
433
489
  if (object.data.get('header')) {
434
- return _react["default"].createElement("th", _attributes2, children);
490
+ return /*#__PURE__*/_react["default"].createElement("th", _attributes2, children);
435
491
  } else {
436
- return _react["default"].createElement("td", _attributes2, children);
492
+ return /*#__PURE__*/_react["default"].createElement("td", _attributes2, children);
437
493
  }
438
494
  }
439
495
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/table/index.jsx"],"names":["log","Table","table","props","nodeAttributes","dataToAttributes","node","data","classes","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","td","minWidth","Tag","get","header","opts","toolbarPlugins","core","typeContent","schema","blocks","Object","keys","forEach","key","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","push","findLast","p","toolbar","icon","onClick","value","onChange","c","changes","insertTable","change","supports","isSelectionInTable","customToolbar","onToolbarDone","tableBlock","document","hasBorder","addRow","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","update","set","setNodeByKey","onDone","Tb","Node","normalizeNode","shouldAddTextAfterNode","indexToNotHaveTableOn","size","indexOfLastTable","findLastIndex","d","tableNode","tableJSON","toJSON","removeNodeByKey","newBlock","Block","create","insertBlock","withoutNormalization","prevText","getPreviousText","moveFocusTo","text","length","moveAnchorTo","renderNode","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","camelize","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditTable from 'slate-edit-table';\nimport { Block, Inline } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = withStyles(() => ({\n table: {}\n}))(props => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <table\n className={props.classes.table}\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </table>\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 = withStyles(() => ({\n td: {\n minWidth: '25px'\n }\n}))(props => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n className={props.classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\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 default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = EditTable({\n typeContent: 'div'\n });\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.toolbar = {\n icon: <GridOn />,\n onClick: (value, onChange) => {\n log('insert table');\n const c = core.changes.insertTable(value.change(), 2, 2);\n onChange(c);\n },\n supports: (node, value) =>\n 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) => {\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 = () =>\n 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 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 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 if (node.object !== 'document') {\n return;\n }\n\n let shouldAddTextAfterNode = false;\n const indexToNotHaveTableOn = node.nodes.size - 1;\n const indexOfLastTable = node.nodes.findLastIndex(d => d.type === 'table');\n\n // if the last table in the document is of type table, we need to do the change\n if (indexOfLastTable === indexToNotHaveTableOn) {\n shouldAddTextAfterNode = true;\n }\n\n if (!shouldAddTextAfterNode) {\n return;\n }\n\n const tableNode = node.nodes.get(indexOfLastTable);\n\n return change => {\n if (shouldAddTextAfterNode) {\n const tableJSON = tableNode.toJSON();\n\n // we remove the table node because otherwise we can't add the empty block after it\n // we need a block that contains text in order to do it\n change.removeNodeByKey(tableNode.key);\n\n const newBlock = Block.create({\n object: 'block',\n type: 'div'\n });\n\n // we add an empty block but that it's going to be normalized\n // because it will add the empty text to it like it should\n change.insertBlock(newBlock);\n\n change.withoutNormalization(() => {\n // we do these changes without normalization\n\n // we get the text previous to the new block added\n const prevText = change.value.document.getPreviousText(newBlock.key);\n\n if (prevText) {\n // we move focus to the previous text\n change\n .moveFocusTo(prevText.key, prevText.text.length)\n .moveAnchorTo(prevText.key, prevText.text.length);\n }\n\n // we insert the table block between the first block with text and the last block with text\n change.insertBlock(tableJSON);\n });\n }\n };\n };\n\n core.renderNode = Node;\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 });\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 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 case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children))\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 return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\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"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","Table","withStyles","table","props","nodeAttributes","dataToAttributes","node","data","classes","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","td","minWidth","Tag","get","header","moveFocusToBeginningOfTable","change","addedTable","value","document","findDescendant","d","collapseToStartOf","update","remove","setNodeByKey","key","opts","toolbarPlugins","core","EditTable","typeContent","schema","blocks","Object","keys","forEach","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","push","findLast","p","createTableWithOptions","row","columns","extra","createdTable","createTable","newTable","Block","create","toJSON","toolbar","icon","onClick","onChange","border","insertBlock","supports","isSelectionInTable","customToolbar","onToolbarDone","tableBlock","hasBorder","addRow","changes","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","set","onDone","Tb","c","Node","normalizeNode","tableAdded","nodeToSearch","getParent","shouldAddTextAfterNode","indexToNotHaveTableOn","size","indexOfLastTable","findLastIndex","tableJSON","removeNodeByKey","newBlock","withoutNormalization","prevText","getPreviousText","moveFocusTo","text","length","moveAnchorTo","renderNode","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","convert","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"sources":["../../../src/plugins/table/index.jsx"],"sourcesContent":["import React from 'react';\nimport EditTable from 'slate-edit-table';\nimport { Block } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = withStyles(() => ({\n table: {}\n}))(props => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <table\n className={props.classes.table}\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </table>\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 = withStyles(() => ({\n td: {\n minWidth: '25px'\n }\n}))(props => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n className={props.classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\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(\n d => !!d.data && !!d.data.get('newTable')\n );\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 = EditTable({\n typeContent: 'div'\n });\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 icon: <GridOn />,\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) =>\n 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) => {\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 = () =>\n 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 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 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 if (node.object !== 'document') {\n return;\n }\n\n const tableAdded = node.findDescendant(d => d.data && d.data.get('newTable'));\n\n if (!tableAdded) {\n return;\n }\n\n const nodeToSearch = node.getParent(tableAdded.key) || node;\n let shouldAddTextAfterNode = false;\n const indexToNotHaveTableOn = nodeToSearch.nodes.size - 1;\n const indexOfLastTable = nodeToSearch.nodes.findLastIndex(d => d.type === 'table');\n\n // if the last table in the document is of type table, we need to do the change\n if (indexOfLastTable === indexToNotHaveTableOn) {\n shouldAddTextAfterNode = true;\n }\n\n if (!shouldAddTextAfterNode) {\n return;\n }\n\n return change => {\n if (shouldAddTextAfterNode) {\n const tableJSON = tableAdded.toJSON();\n\n // we remove the table node because otherwise we can't add the empty block after it\n // we need a block that contains text in order to do it\n change.removeNodeByKey(tableAdded.key);\n\n const newBlock = Block.create({\n object: 'block',\n type: 'div'\n });\n\n // we add an empty block but that it's going to be normalized\n // because it will add the empty text to it like it should\n change.insertBlock(newBlock);\n\n change.withoutNormalization(() => {\n // we do these changes without normalization\n\n // we get the text previous to the new block added\n const prevText = change.value.document.getPreviousText(newBlock.key);\n\n if (prevText) {\n // we move focus to the previous text\n change\n .moveFocusTo(prevText.key, prevText.text?.length)\n .moveAnchorTo(prevText.key, prevText.text?.length);\n }\n\n // we insert the table block between the first block with text and the last block with text\n change.insertBlock({\n ...tableJSON,\n data: {\n ...tableJSON.data,\n newTable: true\n }\n });\n\n moveFocusToBeginningOfTable(change);\n });\n }\n };\n };\n\n core.renderNode = Node;\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 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 case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children))\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 return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\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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"}
@@ -1,10 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = exports.TableToolbar = void 0;
7
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
8
26
  var _react = _interopRequireDefault(require("react"));
9
27
 
10
28
  var _styles = require("@material-ui/core/styles");
@@ -23,60 +41,36 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
41
 
24
42
  var _debug = _interopRequireDefault(require("debug"));
25
43
 
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
29
-
30
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
-
32
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
-
34
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
45
 
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
37
-
38
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
39
-
40
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
-
42
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
-
44
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
45
-
46
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
-
48
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
46
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
47
 
50
48
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
51
49
 
52
- var TableToolbar =
53
- /*#__PURE__*/
54
- function (_React$Component) {
55
- _inherits(TableToolbar, _React$Component);
50
+ var TableToolbar = /*#__PURE__*/function (_React$Component) {
51
+ (0, _inherits2["default"])(TableToolbar, _React$Component);
56
52
 
57
- function TableToolbar() {
58
- var _getPrototypeOf2;
53
+ var _super = _createSuper(TableToolbar);
59
54
 
55
+ function TableToolbar() {
60
56
  var _this;
61
57
 
62
- _classCallCheck(this, TableToolbar);
58
+ (0, _classCallCheck2["default"])(this, TableToolbar);
63
59
 
64
60
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
61
  args[_key] = arguments[_key];
66
62
  }
67
63
 
68
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TableToolbar)).call.apply(_getPrototypeOf2, [this].concat(args)));
69
-
70
- _defineProperty(_assertThisInitialized(_this), "onDone", function (e) {
64
+ _this = _super.call.apply(_super, [this].concat(args));
65
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (e) {
71
66
  var onDone = _this.props.onDone;
72
67
  e.preventDefault();
73
68
  onDone();
74
69
  });
75
-
76
70
  return _this;
77
71
  }
78
72
 
79
- _createClass(TableToolbar, [{
73
+ (0, _createClass2["default"])(TableToolbar, [{
80
74
  key: "render",
81
75
  value: function render() {
82
76
  var _this$props = this.props,
@@ -92,42 +86,40 @@ function (_React$Component) {
92
86
  hasBorder = _this$props.hasBorder,
93
87
  classes = _this$props.classes;
94
88
  log('[render] hasBorder:', hasBorder);
95
- return _react["default"].createElement("div", {
89
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
90
  className: classes.tableToolbar
97
- }, _react["default"].createElement("div", {
91
+ }, /*#__PURE__*/_react["default"].createElement("div", {
98
92
  className: classes.toolbarButtons
99
- }, _react["default"].createElement(_toolbarButtons.Button, {
93
+ }, /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
100
94
  onClick: onAddRow
101
- }, _react["default"].createElement(_icons.AddRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
95
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
102
96
  onClick: onRemoveRow
103
- }, _react["default"].createElement(_icons.RemoveRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
97
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
104
98
  onClick: onAddColumn
105
- }, _react["default"].createElement(_icons.AddColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
99
+ }, /*#__PURE__*/_react["default"].createElement(_icons.AddColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
106
100
  onClick: onRemoveColumn
107
- }, _react["default"].createElement(_icons.RemoveColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
101
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
108
102
  onClick: onRemoveTable
109
- }, _react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
110
- return _react["default"].createElement(_defaultToolbar.ToolbarButton, _extends({
103
+ }, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
104
+ return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
111
105
  key: "plugin-".concat(index)
112
106
  }, p.toolbar, {
113
107
  value: value,
114
108
  onChange: onChange
115
109
  }));
116
- }), _react["default"].createElement(_toolbarButtons.Button, {
110
+ }), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
117
111
  onClick: onToggleBorder,
118
112
  active: hasBorder
119
- }, _react["default"].createElement(_BorderAll["default"], null))), _react["default"].createElement(_doneButton.DoneButton, {
113
+ }, /*#__PURE__*/_react["default"].createElement(_BorderAll["default"], null))), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
120
114
  onClick: this.onDone
121
115
  }));
122
116
  }
123
117
  }]);
124
-
125
118
  return TableToolbar;
126
119
  }(_react["default"].Component);
127
120
 
128
121
  exports.TableToolbar = TableToolbar;
129
-
130
- _defineProperty(TableToolbar, "propTypes", {
122
+ (0, _defineProperty2["default"])(TableToolbar, "propTypes", {
131
123
  plugins: _propTypes["default"].array.isRequired,
132
124
  value: _propTypes["default"].object.isRequired,
133
125
  onChange: _propTypes["default"].func.isRequired,
@@ -141,8 +133,7 @@ _defineProperty(TableToolbar, "propTypes", {
141
133
  onDone: _propTypes["default"].func.isRequired,
142
134
  classes: _propTypes["default"].object.isRequired
143
135
  });
144
-
145
- _defineProperty(TableToolbar, "defaultProps", {
136
+ (0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
146
137
  plugins: [],
147
138
  value: {},
148
139
  onChange: function onChange() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/table/table-toolbar.jsx"],"names":["log","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/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\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 classes: PropTypes.object.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 plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.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 {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"file":"table-toolbar.js"}
1
+ {"version":3,"file":"table-toolbar.js","names":["log","debug","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent","withStyles"],"sources":["../../../src/plugins/table/table-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/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\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 classes: PropTypes.object.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 plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.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 {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"mappings":"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"}