@pie-lib/editable-html 9.3.1-next.34 → 9.3.1-next.53

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 (75) hide show
  1. package/lib/editor.js +120 -248
  2. package/lib/editor.js.map +1 -1
  3. package/lib/index.js +5 -51
  4. package/lib/index.js.map +1 -1
  5. package/lib/parse-html.js +6 -5
  6. package/lib/parse-html.js.map +1 -1
  7. package/lib/plugins/characters/custom-popper.js +2 -12
  8. package/lib/plugins/characters/custom-popper.js.map +1 -1
  9. package/lib/plugins/characters/index.js +3 -50
  10. package/lib/plugins/characters/index.js.map +1 -1
  11. package/lib/plugins/characters/utils.js.map +1 -1
  12. package/lib/plugins/image/alt-dialog.js +0 -26
  13. package/lib/plugins/image/alt-dialog.js.map +1 -1
  14. package/lib/plugins/image/component.js +29 -82
  15. package/lib/plugins/image/component.js.map +1 -1
  16. package/lib/plugins/image/image-toolbar.js +7 -45
  17. package/lib/plugins/image/image-toolbar.js.map +1 -1
  18. package/lib/plugins/image/index.js +2 -41
  19. package/lib/plugins/image/index.js.map +1 -1
  20. package/lib/plugins/image/insert-image-handler.js +2 -22
  21. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  22. package/lib/plugins/index.js +13 -34
  23. package/lib/plugins/index.js.map +1 -1
  24. package/lib/plugins/list/index.js +13 -42
  25. package/lib/plugins/list/index.js.map +1 -1
  26. package/lib/plugins/math/index.js +30 -75
  27. package/lib/plugins/math/index.js.map +1 -1
  28. package/lib/plugins/media/index.js +18 -75
  29. package/lib/plugins/media/index.js.map +1 -1
  30. package/lib/plugins/media/media-dialog.js +100 -188
  31. package/lib/plugins/media/media-dialog.js.map +1 -1
  32. package/lib/plugins/media/media-toolbar.js +4 -24
  33. package/lib/plugins/media/media-toolbar.js.map +1 -1
  34. package/lib/plugins/media/media-wrapper.js +5 -29
  35. package/lib/plugins/media/media-wrapper.js.map +1 -1
  36. package/lib/plugins/respArea/drag-in-the-blank/choice.js +10 -50
  37. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  38. package/lib/plugins/respArea/drag-in-the-blank/index.js +4 -18
  39. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  40. package/lib/plugins/respArea/explicit-constructed-response/index.js +2 -8
  41. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  42. package/lib/plugins/respArea/icons/index.js +1 -18
  43. package/lib/plugins/respArea/icons/index.js.map +1 -1
  44. package/lib/plugins/respArea/index.js +1 -47
  45. package/lib/plugins/respArea/index.js.map +1 -1
  46. package/lib/plugins/respArea/inline-dropdown/index.js +1 -8
  47. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  48. package/lib/plugins/respArea/utils.js +0 -22
  49. package/lib/plugins/respArea/utils.js.map +1 -1
  50. package/lib/plugins/table/icons/index.js +0 -7
  51. package/lib/plugins/table/icons/index.js.map +1 -1
  52. package/lib/plugins/table/index.js +15 -94
  53. package/lib/plugins/table/index.js.map +1 -1
  54. package/lib/plugins/table/table-toolbar.js +11 -43
  55. package/lib/plugins/table/table-toolbar.js.map +1 -1
  56. package/lib/plugins/toolbar/default-toolbar.js +8 -30
  57. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  58. package/lib/plugins/toolbar/done-button.js +1 -9
  59. package/lib/plugins/toolbar/done-button.js.map +1 -1
  60. package/lib/plugins/toolbar/editor-and-toolbar.js +18 -48
  61. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  62. package/lib/plugins/toolbar/index.js +0 -5
  63. package/lib/plugins/toolbar/index.js.map +1 -1
  64. package/lib/plugins/toolbar/toolbar-buttons.js +8 -39
  65. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  66. package/lib/plugins/toolbar/toolbar.js +19 -67
  67. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  68. package/lib/plugins/utils.js +0 -15
  69. package/lib/plugins/utils.js.map +1 -1
  70. package/lib/serialization.js +8 -69
  71. package/lib/serialization.js.map +1 -1
  72. package/lib/theme.js.map +1 -1
  73. package/package.json +4 -4
  74. package/src/editor.jsx +4 -3
  75. package/src/plugins/media/index.jsx +0 -1
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.onValueChange = exports.onRemoveResponse = exports["default"] = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
12
  var _choice = _interopRequireDefault(require("./choice"));
19
-
20
13
  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; }
21
-
22
14
  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; }
23
-
24
15
  var onValueChange = function onValueChange(nodeProps, n, value) {
25
16
  var val = nodeProps.editor.value;
26
17
  var change = val.change();
@@ -33,9 +24,7 @@ var onValueChange = function onValueChange(nodeProps, n, value) {
33
24
  nodeProps.editor.props.onEditingDone();
34
25
  });
35
26
  };
36
-
37
27
  exports.onValueChange = onValueChange;
38
-
39
28
  var onRemoveResponse = function onRemoveResponse(nodeProps, value) {
40
29
  var val = nodeProps.editor.value;
41
30
  var change = val.change();
@@ -51,15 +40,13 @@ var onRemoveResponse = function onRemoveResponse(nodeProps, value) {
51
40
  nodeProps.editor.props.onEditingDone();
52
41
  });
53
42
  };
54
-
55
43
  exports.onRemoveResponse = onRemoveResponse;
56
-
57
44
  var DragDrop = function DragDrop(props) {
58
45
  var attributes = props.attributes,
59
- data = props.data,
60
- n = props.n,
61
- nodeProps = props.nodeProps,
62
- opts = props.opts;
46
+ data = props.data,
47
+ n = props.n,
48
+ nodeProps = props.nodeProps,
49
+ opts = props.opts;
63
50
  var inTable = data.inTable;
64
51
  return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
65
52
  style: {
@@ -84,7 +71,6 @@ var DragDrop = function DragDrop(props) {
84
71
  }
85
72
  }, nodeProps.children));
86
73
  };
87
-
88
74
  DragDrop.propTypes = {
89
75
  attributes: _propTypes["default"].object,
90
76
  data: _propTypes["default"].object,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/drag-in-the-blank/index.jsx"],"names":["onValueChange","nodeProps","n","value","val","editor","change","setNodeByKey","key","data","index","get","props","onChange","onEditingDone","onRemoveResponse","dragInTheBlank","document","findDescendant","DragDrop","attributes","opts","inTable","display","minHeight","minWidth","position","margin","cursor","options","duplicates","children","propTypes","PropTypes","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport DragDropTile from './choice';\n\nexport const onValueChange = (nodeProps, n, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n\n change.setNodeByKey(n.key, {\n data: {\n ...value,\n index: n.data.get('index'),\n },\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nexport const onRemoveResponse = (nodeProps, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n const dragInTheBlank = val.document.findDescendant((n) => n.data && n.data.get('index') === value.index);\n\n change.setNodeByKey(dragInTheBlank.key, {\n data: {\n index: dragInTheBlank.data.get('index'),\n },\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nconst DragDrop = (props) => {\n const { attributes, data, n, nodeProps, opts } = props;\n const { inTable } = data;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: inTable ? '10px' : '0 10px',\n cursor: 'pointer',\n }}\n >\n <DragDropTile\n n={n}\n dragKey={n.key}\n targetId=\"0\"\n value={data}\n duplicates={opts.options.duplicates}\n onChange={(value) => onValueChange(nodeProps, n, value)}\n removeResponse={(value) => onRemoveResponse(nodeProps, value)}\n >\n {nodeProps.children}\n </DragDropTile>\n </span>\n );\n};\n\nDragDrop.propTypes = {\n attributes: PropTypes.object,\n data: PropTypes.object,\n n: PropTypes.object,\n nodeProps: PropTypes.object,\n opts: PropTypes.object,\n};\n\nexport default DragDrop;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["onValueChange","nodeProps","n","value","val","editor","change","setNodeByKey","key","data","index","get","props","onChange","onEditingDone","onRemoveResponse","dragInTheBlank","document","findDescendant","DragDrop","attributes","opts","inTable","display","minHeight","minWidth","position","margin","cursor","options","duplicates","children","propTypes","PropTypes","object"],"sources":["../../../../src/plugins/respArea/drag-in-the-blank/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport DragDropTile from './choice';\n\nexport const onValueChange = (nodeProps, n, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n\n change.setNodeByKey(n.key, {\n data: {\n ...value,\n index: n.data.get('index'),\n },\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nexport const onRemoveResponse = (nodeProps, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n const dragInTheBlank = val.document.findDescendant((n) => n.data && n.data.get('index') === value.index);\n\n change.setNodeByKey(dragInTheBlank.key, {\n data: {\n index: dragInTheBlank.data.get('index'),\n },\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nconst DragDrop = (props) => {\n const { attributes, data, n, nodeProps, opts } = props;\n const { inTable } = data;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: inTable ? '10px' : '0 10px',\n cursor: 'pointer',\n }}\n >\n <DragDropTile\n n={n}\n dragKey={n.key}\n targetId=\"0\"\n value={data}\n duplicates={opts.options.duplicates}\n onChange={(value) => onValueChange(nodeProps, n, value)}\n removeResponse={(value) => onRemoveResponse(nodeProps, value)}\n >\n {nodeProps.children}\n </DragDropTile>\n </span>\n );\n};\n\nDragDrop.propTypes = {\n attributes: PropTypes.object,\n data: PropTypes.object,\n n: PropTypes.object,\n nodeProps: PropTypes.object,\n opts: PropTypes.object,\n};\n\nexport default DragDrop;\n"],"mappings":"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"}
@@ -1,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
17
12
  var attributes = props.attributes,
18
- value = props.value,
19
- error = props.error;
13
+ value = props.value,
14
+ error = props.error;
20
15
  return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
21
16
  style: {
22
17
  display: 'inline-flex',
@@ -44,7 +39,6 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
44
39
  }
45
40
  }));
46
41
  };
47
-
48
42
  ExplicitConstructedResponse.propTypes = {
49
43
  attributes: _propTypes["default"].object,
50
44
  value: _propTypes["default"].string
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/explicit-constructed-response/index.jsx"],"names":["ExplicitConstructedResponse","props","attributes","value","error","display","minHeight","minWidth","position","margin","cursor","height","background","border","boxSizing","borderRadius","overflow","padding","__html","propTypes","PropTypes","object","string"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,KAAD,EAAW;AAC7C,MAAQC,UAAR,GAAqCD,KAArC,CAAQC,UAAR;AAAA,MAAoBC,KAApB,GAAqCF,KAArC,CAAoBE,KAApB;AAAA,MAA2BC,KAA3B,GAAqCH,KAArC,CAA2BG,KAA3B;AAEA,sBACE,sEACMF,UADN;AAEE,IAAA,KAAK,EAAE;AACLG,MAAAA,OAAO,EAAE,aADJ;AAELC,MAAAA,SAAS,EAAE,MAFN;AAGLC,MAAAA,QAAQ,EAAE,OAHL;AAILC,MAAAA,QAAQ,EAAE,UAJL;AAKLC,MAAAA,MAAM,EAAE,OALH;AAMLC,MAAAA,MAAM,EAAE;AANH;AAFT,mBAWE;AACE,IAAA,KAAK,EAAE;AACLL,MAAAA,OAAO,EAAE,aADJ;AAELE,MAAAA,QAAQ,EAAE,OAFL;AAGLD,MAAAA,SAAS,EAAE,MAHN;AAILK,MAAAA,MAAM,EAAE,MAJH;AAKLC,MAAAA,UAAU,EAAE,MALP;AAMLC,MAAAA,MAAM,sBAAeT,KAAK,GAAG,KAAH,GAAW,SAA/B,CAND;AAOLU,MAAAA,SAAS,EAAE,YAPN;AAQLC,MAAAA,YAAY,EAAE,KART;AASLC,MAAAA,QAAQ,EAAE,QATL;AAULC,MAAAA,OAAO,EAAE;AAVJ,KADT;AAaE,IAAA,uBAAuB,EAAE;AACvBC,MAAAA,MAAM,EAAEf,KAAK,IAAI;AADM;AAb3B,IAXF,CADF;AA+BD,CAlCD;;AAoCAH,2BAA2B,CAACmB,SAA5B,GAAwC;AACtCjB,EAAAA,UAAU,EAAEkB,sBAAUC,MADgB;AAEtClB,EAAAA,KAAK,EAAEiB,sBAAUE;AAFqB,CAAxC;eAKetB,2B","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = (props) => {\n const { attributes, value, error } = props;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n height: '36px',\n background: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n padding: '8px',\n }}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n </span>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ExplicitConstructedResponse;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["ExplicitConstructedResponse","props","attributes","value","error","display","minHeight","minWidth","position","margin","cursor","height","background","border","boxSizing","borderRadius","overflow","padding","__html","propTypes","PropTypes","object","string"],"sources":["../../../../src/plugins/respArea/explicit-constructed-response/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = (props) => {\n const { attributes, value, error } = props;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n height: '36px',\n background: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n padding: '8px',\n }}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n </span>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ExplicitConstructedResponse;\n"],"mappings":";;;;;;;;AAAA;AACA;AAEA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2B,CAAIC,KAAK,EAAK;EAC7C,IAAQC,UAAU,GAAmBD,KAAK,CAAlCC,UAAU;IAAEC,KAAK,GAAYF,KAAK,CAAtBE,KAAK;IAAEC,KAAK,GAAKH,KAAK,CAAfG,KAAK;EAEhC,oBACE,sEACMF,UAAU;IACd,KAAK,EAAE;MACLG,OAAO,EAAE,aAAa;MACtBC,SAAS,EAAE,MAAM;MACjBC,QAAQ,EAAE,OAAO;MACjBC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE;IACV;EAAE,iBAEF;IACE,KAAK,EAAE;MACLL,OAAO,EAAE,aAAa;MACtBE,QAAQ,EAAE,OAAO;MACjBD,SAAS,EAAE,MAAM;MACjBK,MAAM,EAAE,MAAM;MACdC,UAAU,EAAE,MAAM;MAClBC,MAAM,sBAAeT,KAAK,GAAG,KAAK,GAAG,SAAS,CAAE;MAChDU,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,KAAK;MACnBC,QAAQ,EAAE,QAAQ;MAClBC,OAAO,EAAE;IACX,CAAE;IACF,uBAAuB,EAAE;MACvBC,MAAM,EAAEf,KAAK,IAAI;IACnB;EAAE,EACF,CACG;AAEX,CAAC;AAEDH,2BAA2B,CAACmB,SAAS,GAAG;EACtCjB,UAAU,EAAEkB,qBAAS,CAACC,MAAM;EAC5BlB,KAAK,EAAEiB,qBAAS,CAACE;AACnB,CAAC;AAAC,eAEatB,2BAA2B;AAAA"}
@@ -1,47 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.ToolbarIcon = exports.GripIcon = exports.Chevron = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _ChevronRight = _interopRequireDefault(require("@material-ui/icons/ChevronRight"));
17
-
18
12
  var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
19
-
20
13
  var _styles = require("@material-ui/core/styles");
21
-
22
14
  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; }
23
-
24
15
  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; }
25
-
26
16
  var getRotate = function getRotate(direction) {
27
17
  switch (direction) {
28
18
  case 'down':
29
19
  return 90;
30
-
31
20
  case 'up':
32
21
  return -90;
33
-
34
22
  case 'left':
35
23
  return 180;
36
-
37
24
  default:
38
25
  return 0;
39
26
  }
40
27
  };
41
-
42
28
  var Chevron = function Chevron(props) {
43
29
  var direction = props.direction,
44
- style = props.style;
30
+ style = props.style;
45
31
  var rotate = getRotate(direction);
46
32
  return /*#__PURE__*/_react["default"].createElement(_ChevronRight["default"], {
47
33
  style: _objectSpread({
@@ -49,13 +35,11 @@ var Chevron = function Chevron(props) {
49
35
  }, style)
50
36
  });
51
37
  };
52
-
53
38
  exports.Chevron = Chevron;
54
39
  Chevron.propTypes = {
55
40
  direction: _propTypes["default"].string,
56
41
  style: _propTypes["default"].object
57
42
  };
58
-
59
43
  var GripIcon = function GripIcon(_ref) {
60
44
  var style = _ref.style;
61
45
  return /*#__PURE__*/_react["default"].createElement("span", {
@@ -66,7 +50,6 @@ var GripIcon = function GripIcon(_ref) {
66
50
  }
67
51
  }), /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], null));
68
52
  };
69
-
70
53
  exports.GripIcon = GripIcon;
71
54
  GripIcon.propTypes = {
72
55
  style: _propTypes["default"].object
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/icons/index.jsx"],"names":["getRotate","direction","Chevron","props","style","rotate","transform","propTypes","PropTypes","string","object","GripIcon","margin","ToolbarIcon","icon","fontFamily","fontSize","fontWeight","lineHeight","position","top","width","height","whiteSpace","classes"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,SAAD,EAAe;AAC/B,UAAQA,SAAR;AACE,SAAK,MAAL;AACE,aAAO,EAAP;;AACF,SAAK,IAAL;AACE,aAAO,CAAC,EAAR;;AACF,SAAK,MAAL;AACE,aAAO,GAAP;;AACF;AACE,aAAO,CAAP;AARJ;AAUD,CAXD;;AAaO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AAChC,MAAQF,SAAR,GAA6BE,KAA7B,CAAQF,SAAR;AAAA,MAAmBG,KAAnB,GAA6BD,KAA7B,CAAmBC,KAAnB;AACA,MAAMC,MAAM,GAAGL,SAAS,CAACC,SAAD,CAAxB;AAEA,sBACE,gCAAC,wBAAD;AACE,IAAA,KAAK;AACHK,MAAAA,SAAS,mBAAYD,MAAZ;AADN,OAEAD,KAFA;AADP,IADF;AAQD,CAZM;;;AAcPF,OAAO,CAACK,SAAR,GAAoB;AAClBN,EAAAA,SAAS,EAAEO,sBAAUC,MADH;AAElBL,EAAAA,KAAK,EAAEI,sBAAUE;AAFC,CAApB;;AAKO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAAe;AAAA,MAAZP,KAAY,QAAZA,KAAY;AACrC,sBACE;AAAM,IAAA,KAAK,EAAEA;AAAb,kBACE,gCAAC,oBAAD;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,MAAM,EAAE;AADH;AADT,IADF,eAME,gCAAC,oBAAD,OANF,CADF;AAUD,CAXM;;;AAaPD,QAAQ,CAACJ,SAAT,GAAqB;AACnBH,EAAAA,KAAK,EAAEI,sBAAUE;AADE,CAArB;AAIO,IAAMG,WAAW,GAAG,wBAAW;AACpCC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAE,yBADR;AAEJC,IAAAA,QAAQ,EAAE,MAFN;AAGJC,IAAAA,UAAU,EAAE,MAHR;AAIJC,IAAAA,UAAU,EAAE,MAJR;AAKJC,IAAAA,QAAQ,EAAE,UALN;AAMJC,IAAAA,GAAG,EAAE,KAND;AAOJC,IAAAA,KAAK,EAAE,OAPH;AAQJC,IAAAA,MAAM,EAAE,MARJ;AASJC,IAAAA,UAAU,EAAE;AATR;AAD8B,CAAX,EAYxB;AAAA,MAAGC,OAAH,SAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACV;AAAxB,uBAAjB;AAAA,CAZwB,CAApB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport MoreVert from '@material-ui/icons/MoreVert';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst getRotate = (direction) => {\n switch (direction) {\n case 'down':\n return 90;\n case 'up':\n return -90;\n case 'left':\n return 180;\n default:\n return 0;\n }\n};\n\nexport const Chevron = (props) => {\n const { direction, style } = props;\n const rotate = getRotate(direction);\n\n return (\n <ChevronRight\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style,\n }}\n />\n );\n};\n\nChevron.propTypes = {\n direction: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport const GripIcon = ({ style }) => {\n return (\n <span style={style}>\n <MoreVert\n style={{\n margin: '0 -16px',\n }}\n />\n <MoreVert />\n </span>\n );\n};\n\nGripIcon.propTypes = {\n style: PropTypes.object,\n};\n\nexport const ToolbarIcon = withStyles({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: '14px',\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap',\n },\n})(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["getRotate","direction","Chevron","props","style","rotate","transform","propTypes","PropTypes","string","object","GripIcon","margin","ToolbarIcon","withStyles","icon","fontFamily","fontSize","fontWeight","lineHeight","position","top","width","height","whiteSpace","classes"],"sources":["../../../../src/plugins/respArea/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport MoreVert from '@material-ui/icons/MoreVert';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst getRotate = (direction) => {\n switch (direction) {\n case 'down':\n return 90;\n case 'up':\n return -90;\n case 'left':\n return 180;\n default:\n return 0;\n }\n};\n\nexport const Chevron = (props) => {\n const { direction, style } = props;\n const rotate = getRotate(direction);\n\n return (\n <ChevronRight\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style,\n }}\n />\n );\n};\n\nChevron.propTypes = {\n direction: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport const GripIcon = ({ style }) => {\n return (\n <span style={style}>\n <MoreVert\n style={{\n margin: '0 -16px',\n }}\n />\n <MoreVert />\n </span>\n );\n};\n\nGripIcon.propTypes = {\n style: PropTypes.object,\n};\n\nexport const ToolbarIcon = withStyles({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: '14px',\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap',\n },\n})(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAsD;AAAA;AAEtD,IAAMA,SAAS,GAAG,SAAZA,SAAS,CAAIC,SAAS,EAAK;EAC/B,QAAQA,SAAS;IACf,KAAK,MAAM;MACT,OAAO,EAAE;IACX,KAAK,IAAI;MACP,OAAO,CAAC,EAAE;IACZ,KAAK,MAAM;MACT,OAAO,GAAG;IACZ;MACE,OAAO,CAAC;EAAC;AAEf,CAAC;AAEM,IAAMC,OAAO,GAAG,SAAVA,OAAO,CAAIC,KAAK,EAAK;EAChC,IAAQF,SAAS,GAAYE,KAAK,CAA1BF,SAAS;IAAEG,KAAK,GAAKD,KAAK,CAAfC,KAAK;EACxB,IAAMC,MAAM,GAAGL,SAAS,CAACC,SAAS,CAAC;EAEnC,oBACE,gCAAC,wBAAY;IACX,KAAK;MACHK,SAAS,mBAAYD,MAAM;IAAM,GAC9BD,KAAK;EACR,EACF;AAEN,CAAC;AAAC;AAEFF,OAAO,CAACK,SAAS,GAAG;EAClBN,SAAS,EAAEO,qBAAS,CAACC,MAAM;EAC3BL,KAAK,EAAEI,qBAAS,CAACE;AACnB,CAAC;AAEM,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAAkB;EAAA,IAAZP,KAAK,QAALA,KAAK;EAC9B,oBACE;IAAM,KAAK,EAAEA;EAAM,gBACjB,gCAAC,oBAAQ;IACP,KAAK,EAAE;MACLQ,MAAM,EAAE;IACV;EAAE,EACF,eACF,gCAAC,oBAAQ,OAAG,CACP;AAEX,CAAC;AAAC;AAEFD,QAAQ,CAACJ,SAAS,GAAG;EACnBH,KAAK,EAAEI,qBAAS,CAACE;AACnB,CAAC;AAEM,IAAMG,WAAW,GAAG,IAAAC,kBAAU,EAAC;EACpCC,IAAI,EAAE;IACJC,UAAU,EAAE,yBAAyB;IACrCC,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,MAAM;IAClBC,UAAU,EAAE,MAAM;IAClBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,KAAK;IACVC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE;EACd;AACF,CAAC,CAAC,CAAC;EAAA,IAAGC,OAAO,SAAPA,OAAO;EAAA,oBAAO;IAAK,SAAS,EAAEA,OAAO,CAACV;EAAK,GAAC,iBAAe,CAAM;AAAA,EAAC;AAAC"}
@@ -1,29 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = ResponseAreaPlugin;
9
8
  exports.serialization = void 0;
10
-
11
9
  var _react = _interopRequireDefault(require("react"));
12
-
13
10
  var _debug = _interopRequireDefault(require("debug"));
14
-
15
11
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
16
-
17
12
  var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
18
-
19
13
  var _dragInTheBlank = _interopRequireDefault(require("./drag-in-the-blank"));
20
-
21
14
  var _explicitConstructedResponse = _interopRequireDefault(require("./explicit-constructed-response"));
22
-
23
15
  var _utils = require("./utils");
24
-
25
16
  var _icons = require("./icons");
26
-
27
17
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:respArea');
28
18
  var lastIndexMap = {};
29
19
  var elTypesMap = {
@@ -32,12 +22,10 @@ var elTypesMap = {
32
22
  'drag-in-the-blank': 'drag_in_the_blank'
33
23
  };
34
24
  var elTypesArray = Object.values(elTypesMap);
35
-
36
25
  function ResponseAreaPlugin(opts) {
37
26
  var isOfCurrentType = function isOfCurrentType(d) {
38
27
  return d.type === opts.type || d.type === elTypesMap[opts.type];
39
28
  };
40
-
41
29
  var toolbar = {
42
30
  icon: /*#__PURE__*/_react["default"].createElement(_icons.ToolbarIcon, null),
43
31
  buttonStyles: {
@@ -47,45 +35,36 @@ function ResponseAreaPlugin(opts) {
47
35
  log('[toolbar] onClick');
48
36
  var change = value.change();
49
37
  var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
50
-
51
38
  if (currentRespAreaList.size >= opts.maxResponseAreas) {
52
39
  return;
53
40
  }
54
-
55
41
  var type = opts.type.replace(/-/g, '_');
56
42
  var prevIndex = lastIndexMap[type];
57
43
  var newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;
58
44
  var newInline = (0, _utils.getDefaultElement)(opts, newIndex);
59
45
  lastIndexMap[type] += 1;
60
-
61
46
  if (newInline) {
62
47
  if (change.value.selection.startKey || change.value.selection.endKey) {
63
48
  change.insertInline(newInline);
64
49
  } else {
65
50
  // If the markup is empty and there's no focus
66
51
  var lastText = value.document.getLastText();
67
-
68
52
  if (!lastText) {
69
53
  return;
70
54
  }
71
-
72
55
  var parentNode = value.document.getParent(lastText.key);
73
-
74
56
  if (parentNode) {
75
57
  var index = parentNode.nodes.indexOf(lastText.key);
76
58
  if (parentNode.isVoid) return;
77
59
  change.insertNodeByKey(parentNode.key, index + 1, newInline);
78
60
  }
79
61
  }
80
-
81
62
  if (newInline.type === 'drag_in_the_blank') {
82
63
  var nextText = change.value.document.getNextText(newInline.key);
83
-
84
64
  if (nextText) {
85
65
  change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
86
66
  }
87
67
  }
88
-
89
68
  onChange(change);
90
69
  }
91
70
  },
@@ -102,7 +81,6 @@ function ResponseAreaPlugin(opts) {
102
81
  if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {
103
82
  return [];
104
83
  }
105
-
106
84
  return plugins.filter(function (p) {
107
85
  return p.name !== 'response_area';
108
86
  });
@@ -114,26 +92,21 @@ function ResponseAreaPlugin(opts) {
114
92
  },
115
93
  renderNode: function renderNode(props) {
116
94
  var attributes = props.attributes,
117
- n = props.node;
118
-
95
+ n = props.node;
119
96
  if (n.type === 'explicit_constructed_response') {
120
97
  var data = n.data.toJSON();
121
98
  var error;
122
-
123
99
  if (opts.error) {
124
100
  error = opts.error();
125
101
  }
126
-
127
102
  return /*#__PURE__*/_react["default"].createElement(_explicitConstructedResponse["default"], {
128
103
  attributes: attributes,
129
104
  value: data.value,
130
105
  error: error && error[data.index] && error[data.index][0]
131
106
  });
132
107
  }
133
-
134
108
  if (n.type === 'drag_in_the_blank') {
135
109
  var _data = n.data.toJSON();
136
-
137
110
  return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], {
138
111
  attributes: attributes,
139
112
  data: _data,
@@ -142,10 +115,8 @@ function ResponseAreaPlugin(opts) {
142
115
  opts: opts
143
116
  });
144
117
  }
145
-
146
118
  if (n.type === 'inline_dropdown') {
147
119
  var _data2 = n.data.toJSON();
148
-
149
120
  return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
150
121
  attributes: attributes,
151
122
  selectedItem: _data2.value
@@ -154,33 +125,27 @@ function ResponseAreaPlugin(opts) {
154
125
  },
155
126
  onChange: function onChange(change, editor) {
156
127
  var type = opts.type.replace(/-/g, '_');
157
-
158
128
  if ((0, _isUndefined["default"])(lastIndexMap[type])) {
159
129
  lastIndexMap[type] = 0;
160
130
  change.value.document.forEachDescendant(function (d) {
161
131
  if (d.type === type) {
162
132
  var newIndex = parseInt(d.data.get('index'), 10);
163
-
164
133
  if (newIndex > lastIndexMap[type]) {
165
134
  lastIndexMap[type] = newIndex;
166
135
  }
167
136
  }
168
137
  });
169
138
  }
170
-
171
139
  if (!editor.value) {
172
140
  return;
173
141
  }
174
-
175
142
  var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
176
143
  var oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);
177
-
178
144
  if (currentRespAreaList.size >= opts.maxResponseAreas) {
179
145
  toolbar.disabled = true;
180
146
  } else {
181
147
  toolbar.disabled = false;
182
148
  }
183
-
184
149
  var arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;
185
150
  var arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;
186
151
  var elementsWithChangedStatus = arrayToFilter.filter(function (d) {
@@ -188,7 +153,6 @@ function ResponseAreaPlugin(opts) {
188
153
  return e.data.get('index') === d.data.get('index');
189
154
  });
190
155
  });
191
-
192
156
  if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {
193
157
  opts.onHandleAreaChange(elementsWithChangedStatus);
194
158
  }
@@ -198,18 +162,15 @@ function ResponseAreaPlugin(opts) {
198
162
  var inline = editor.value.document.findDescendant(function (d) {
199
163
  return d.key === closestEl.dataset.key;
200
164
  });
201
-
202
165
  if (inline.type === 'drag_in_the_blank') {
203
166
  return false;
204
167
  }
205
168
  }
206
169
  };
207
170
  }
208
-
209
171
  var serialization = {
210
172
  deserialize: function deserialize(el) {
211
173
  var type = el.dataset && el.dataset.type;
212
-
213
174
  switch (type) {
214
175
  case 'inline_dropdown':
215
176
  return {
@@ -221,7 +182,6 @@ var serialization = {
221
182
  value: el.dataset.value
222
183
  }
223
184
  };
224
-
225
185
  case 'explicit_constructed_response':
226
186
  return {
227
187
  object: 'inline',
@@ -232,7 +192,6 @@ var serialization = {
232
192
  value: el.dataset.value
233
193
  }
234
194
  };
235
-
236
195
  case 'drag_in_the_blank':
237
196
  return {
238
197
  object: 'inline',
@@ -251,7 +210,6 @@ var serialization = {
251
210
  if (object.object !== 'inline') {
252
211
  return;
253
212
  }
254
-
255
213
  switch (object.type) {
256
214
  case 'inline_dropdown':
257
215
  {
@@ -262,22 +220,18 @@ var serialization = {
262
220
  "data-value": data.value
263
221
  });
264
222
  }
265
-
266
223
  case 'explicit_constructed_response':
267
224
  {
268
225
  var _data3 = object.data.toJSON();
269
-
270
226
  return /*#__PURE__*/_react["default"].createElement("span", {
271
227
  "data-type": "explicit_constructed_response",
272
228
  "data-index": _data3.index,
273
229
  "data-value": _data3.value
274
230
  });
275
231
  }
276
-
277
232
  case 'drag_in_the_blank':
278
233
  {
279
234
  var _data4 = object.data.toJSON();
280
-
281
235
  return /*#__PURE__*/_react["default"].createElement("span", {
282
236
  "data-type": "drag_in_the_blank",
283
237
  "data-index": _data4.index,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/respArea/index.jsx"],"names":["log","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","selection","startKey","endKey","insertInline","lastText","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","data","toJSON","error","editor","forEachDescendant","parseInt","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","id","inTable","serialize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'drag-in-the-blank': 'drag_in_the_blank',\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = (d) => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: (node) => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false,\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {\n return [];\n }\n\n return plugins.filter((p) => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />;\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant((d) => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n toolbar.disabled = true;\n } else {\n toolbar.disabled = false;\n }\n\n const arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n (d) => !arrayToUseForFilter.find((e) => e.data.get('index') === d.data.get('index')),\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant((d) => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n },\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable,\n },\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return <span data-type=\"explicit_constructed_response\" data-index={data.index} data-value={data.value} />;\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n },\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","getDefaultElement","selection","startKey","endKey","insertInline","lastText","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","data","toJSON","error","editor","isUndefined","forEachDescendant","parseInt","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","id","inTable","serialize"],"sources":["../../../src/plugins/respArea/index.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'drag-in-the-blank': 'drag_in_the_blank',\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = (d) => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: (node) => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false,\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {\n return [];\n }\n\n return plugins.filter((p) => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />;\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant((d) => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n toolbar.disabled = true;\n } else {\n toolbar.disabled = false;\n }\n\n const arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n (d) => !arrayToUseForFilter.find((e) => e.data.get('index') === d.data.get('index')),\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant((d) => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n },\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable,\n },\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return <span data-type=\"explicit_constructed_response\" data-index={data.index} data-value={data.value} />;\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n },\n};\n"],"mappings":"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"}
@@ -1,23 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _icons = require("../icons");
17
-
18
12
  var InlineDropdown = function InlineDropdown(_ref) {
19
13
  var attributes = _ref.attributes,
20
- selectedItem = _ref.selectedItem;
14
+ selectedItem = _ref.selectedItem;
21
15
  // TODO: Investigate
22
16
  // Needed because items with values inside have different positioning for some reason
23
17
  var html = selectedItem || '<div>&nbsp</div>';
@@ -60,7 +54,6 @@ var InlineDropdown = function InlineDropdown(_ref) {
60
54
  }
61
55
  })));
62
56
  };
63
-
64
57
  InlineDropdown.propTypes = {
65
58
  attributes: _propTypes["default"].object,
66
59
  selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"names":["InlineDropdown","attributes","selectedItem","html","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","flex","overflow","padding","whiteSpace","textOverflow","lineHeight","__html","top","right","propTypes","PropTypes","object","oneOfType","string"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAkC;AAAA,MAA/BC,UAA+B,QAA/BA,UAA+B;AAAA,MAAnBC,YAAmB,QAAnBA,YAAmB;AACvD;AACA;AACA,MAAMC,IAAI,GAAGD,YAAY,IAAI,kBAA7B;AAEA,sBACE,sEACMD,UADN;AAEE,IAAA,KAAK,EAAE;AACLG,MAAAA,OAAO,EAAE,aADJ;AAELC,MAAAA,MAAM,EAAE,MAFH;AAGLC,MAAAA,MAAM,EAAE,OAHH;AAILC,MAAAA,MAAM,EAAE;AAJH;AAFT,mBASE;AACE,IAAA,KAAK,EAAE;AACLH,MAAAA,OAAO,EAAE,aADJ;AAELI,MAAAA,QAAQ,EAAE,OAFL;AAGLH,MAAAA,MAAM,EAAE,MAHH;AAILI,MAAAA,UAAU,EAAE,MAJP;AAKLC,MAAAA,MAAM,EAAE,mBALH;AAMLC,MAAAA,SAAS,EAAE,YANN;AAOLC,MAAAA,YAAY,EAAE,KAPT;AAQLC,MAAAA,QAAQ,EAAE;AARL;AADT,kBAYE;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAE,CADD;AAELC,MAAAA,QAAQ,EAAE,QAFL;AAGLC,MAAAA,OAAO,EAAE,cAHJ;AAILC,MAAAA,UAAU,EAAE,QAJP;AAKLC,MAAAA,YAAY,EAAE,UALT;AAMLC,MAAAA,UAAU,EAAE;AANP,KADT;AASE,IAAA,uBAAuB,EAAE;AACvBC,MAAAA,MAAM,EAAEjB;AADe;AAT3B,IAZF,eAyBE,gCAAC,cAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,KAAK,EAAE;AACLU,MAAAA,QAAQ,EAAE,UADL;AAELQ,MAAAA,GAAG,EAAE,KAFA;AAGLC,MAAAA,KAAK,EAAE;AAHF;AAFT,IAzBF,CATF,CADF;AA8CD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,GAA2B;AACzBtB,EAAAA,UAAU,EAAEuB,sBAAUC,MADG;AAEzBvB,EAAAA,YAAY,EAAEsB,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUC,MAA7B,CAApB;AAFW,CAA3B;eAKezB,c","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div>&nbsp</div>';\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative',\n }}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n lineHeight: '35px',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["InlineDropdown","attributes","selectedItem","html","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","flex","overflow","padding","whiteSpace","textOverflow","lineHeight","__html","top","right","propTypes","PropTypes","object","oneOfType","string"],"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div>&nbsp</div>';\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative',\n }}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n lineHeight: '35px',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAc,OAAqC;EAAA,IAA/BC,UAAU,QAAVA,UAAU;IAAEC,YAAY,QAAZA,YAAY;EAChD;EACA;EACA,IAAMC,IAAI,GAAGD,YAAY,IAAI,kBAAkB;EAE/C,oBACE,sEACMD,UAAU;IACd,KAAK,EAAE;MACLG,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE,MAAM;MACdC,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE;IACV;EAAE,iBAEF;IACE,KAAK,EAAE;MACLH,OAAO,EAAE,aAAa;MACtBI,QAAQ,EAAE,OAAO;MACjBH,MAAM,EAAE,MAAM;MACdI,UAAU,EAAE,MAAM;MAClBC,MAAM,EAAE,mBAAmB;MAC3BC,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,KAAK;MACnBC,QAAQ,EAAE;IACZ;EAAE,gBAEF;IACE,KAAK,EAAE;MACLC,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE,QAAQ;MAClBC,OAAO,EAAE,cAAc;MACvBC,UAAU,EAAE,QAAQ;MACpBC,YAAY,EAAE,UAAU;MACxBC,UAAU,EAAE;IACd,CAAE;IACF,uBAAuB,EAAE;MACvBC,MAAM,EAAEjB;IACV;EAAE,EACF,eACF,gCAAC,cAAO;IACN,SAAS,EAAC,MAAM;IAChB,KAAK,EAAE;MACLU,QAAQ,EAAE,UAAU;MACpBQ,GAAG,EAAE,KAAK;MACVC,KAAK,EAAE;IACT;EAAE,EACF,CACE,CACD;AAEX,CAAC;AAEDtB,cAAc,CAACuB,SAAS,GAAG;EACzBtB,UAAU,EAAEuB,qBAAS,CAACC,MAAM;EAC5BvB,YAAY,EAAEsB,qBAAS,CAACE,SAAS,CAAC,CAACF,qBAAS,CAACG,MAAM,EAAEH,qBAAS,CAACC,MAAM,CAAC;AACxE,CAAC;AAAC,eAEazB,cAAc;AAAA"}