@pie-lib/editable-html 11.18.6-esmbeta.0 → 11.19.0-mui-update.0

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 (136) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/lib/block-tags.js +2 -3
  3. package/lib/block-tags.js.map +1 -1
  4. package/lib/constants.js +3 -6
  5. package/lib/constants.js.map +1 -1
  6. package/lib/editor.js +302 -450
  7. package/lib/editor.js.map +1 -1
  8. package/lib/index.js +19 -77
  9. package/lib/index.js.map +1 -1
  10. package/lib/parse-html.js +7 -7
  11. package/lib/parse-html.js.map +1 -1
  12. package/lib/plugins/characters/custom-popper.js +24 -44
  13. package/lib/plugins/characters/custom-popper.js.map +1 -1
  14. package/lib/plugins/characters/index.js +9 -60
  15. package/lib/plugins/characters/index.js.map +1 -1
  16. package/lib/plugins/characters/utils.js +3 -6
  17. package/lib/plugins/characters/utils.js.map +1 -1
  18. package/lib/plugins/css/icons/index.js +13 -25
  19. package/lib/plugins/css/icons/index.js.map +1 -1
  20. package/lib/plugins/css/index.js +22 -88
  21. package/lib/plugins/css/index.js.map +1 -1
  22. package/lib/plugins/customPlugin/index.js +10 -26
  23. package/lib/plugins/customPlugin/index.js.map +1 -1
  24. package/lib/plugins/html/icons/index.js +14 -26
  25. package/lib/plugins/html/icons/index.js.map +1 -1
  26. package/lib/plugins/html/index.js +4 -13
  27. package/lib/plugins/html/index.js.map +1 -1
  28. package/lib/plugins/image/alt-dialog.js +20 -49
  29. package/lib/plugins/image/alt-dialog.js.map +1 -1
  30. package/lib/plugins/image/component.js +119 -190
  31. package/lib/plugins/image/component.js.map +1 -1
  32. package/lib/plugins/image/image-toolbar.js +44 -86
  33. package/lib/plugins/image/image-toolbar.js.map +1 -1
  34. package/lib/plugins/image/index.js +6 -46
  35. package/lib/plugins/image/index.js.map +1 -1
  36. package/lib/plugins/image/insert-image-handler.js +10 -31
  37. package/lib/plugins/image/insert-image-handler.js.map +1 -1
  38. package/lib/plugins/index.js +44 -106
  39. package/lib/plugins/index.js.map +1 -1
  40. package/lib/plugins/list/index.js +27 -73
  41. package/lib/plugins/list/index.js.map +1 -1
  42. package/lib/plugins/math/index.js +64 -116
  43. package/lib/plugins/math/index.js.map +1 -1
  44. package/lib/plugins/media/index.js +23 -81
  45. package/lib/plugins/media/index.js.map +1 -1
  46. package/lib/plugins/media/media-dialog.js +192 -307
  47. package/lib/plugins/media/media-dialog.js.map +1 -1
  48. package/lib/plugins/media/media-toolbar.js +40 -65
  49. package/lib/plugins/media/media-toolbar.js.map +1 -1
  50. package/lib/plugins/media/media-wrapper.js +20 -49
  51. package/lib/plugins/media/media-wrapper.js.map +1 -1
  52. package/lib/plugins/rendering/index.js +5 -15
  53. package/lib/plugins/rendering/index.js.map +1 -1
  54. package/lib/plugins/respArea/drag-in-the-blank/choice.js +175 -249
  55. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
  56. package/lib/plugins/respArea/drag-in-the-blank/index.js +39 -29
  57. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
  58. package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -10
  59. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
  60. package/lib/plugins/respArea/icons/index.js +22 -45
  61. package/lib/plugins/respArea/icons/index.js.map +1 -1
  62. package/lib/plugins/respArea/index.js +5 -59
  63. package/lib/plugins/respArea/index.js.map +1 -1
  64. package/lib/plugins/respArea/inline-dropdown/index.js +2 -10
  65. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
  66. package/lib/plugins/respArea/math-templated/index.js +92 -109
  67. package/lib/plugins/respArea/math-templated/index.js.map +1 -1
  68. package/lib/plugins/respArea/utils.js +8 -40
  69. package/lib/plugins/respArea/utils.js.map +1 -1
  70. package/lib/plugins/table/CustomTablePlugin.js +24 -41
  71. package/lib/plugins/table/CustomTablePlugin.js.map +1 -1
  72. package/lib/plugins/table/icons/index.js +19 -35
  73. package/lib/plugins/table/icons/index.js.map +1 -1
  74. package/lib/plugins/table/index.js +41 -118
  75. package/lib/plugins/table/index.js.map +1 -1
  76. package/lib/plugins/table/table-toolbar.js +37 -87
  77. package/lib/plugins/table/table-toolbar.js.map +1 -1
  78. package/lib/plugins/textAlign/icons/index.js +18 -64
  79. package/lib/plugins/textAlign/icons/index.js.map +1 -1
  80. package/lib/plugins/textAlign/index.js +1 -6
  81. package/lib/plugins/textAlign/index.js.map +1 -1
  82. package/lib/plugins/toolbar/default-toolbar.js +30 -79
  83. package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
  84. package/lib/plugins/toolbar/done-button.js +16 -34
  85. package/lib/plugins/toolbar/done-button.js.map +1 -1
  86. package/lib/plugins/toolbar/editor-and-toolbar.js +174 -201
  87. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
  88. package/lib/plugins/toolbar/index.js +0 -5
  89. package/lib/plugins/toolbar/index.js.map +1 -1
  90. package/lib/plugins/toolbar/toolbar-buttons.js +57 -107
  91. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
  92. package/lib/plugins/toolbar/toolbar.js +95 -161
  93. package/lib/plugins/toolbar/toolbar.js.map +1 -1
  94. package/lib/plugins/utils.js +5 -25
  95. package/lib/plugins/utils.js.map +1 -1
  96. package/lib/serialization.js +44 -150
  97. package/lib/serialization.js.map +1 -1
  98. package/lib/shared/alert-dialog.js +23 -42
  99. package/lib/theme.js +1 -2
  100. package/lib/theme.js.map +1 -1
  101. package/package.json +15 -21
  102. package/src/__tests__/utils.js +1 -1
  103. package/src/editor.jsx +110 -108
  104. package/src/plugins/characters/custom-popper.js +20 -25
  105. package/src/plugins/css/icons/index.jsx +11 -13
  106. package/src/plugins/css/index.jsx +3 -5
  107. package/src/plugins/html/icons/index.jsx +12 -14
  108. package/src/plugins/image/alt-dialog.jsx +9 -8
  109. package/src/plugins/image/component.jsx +67 -87
  110. package/src/plugins/image/image-toolbar.jsx +26 -26
  111. package/src/plugins/image/index.jsx +1 -1
  112. package/src/plugins/index.jsx +10 -10
  113. package/src/plugins/math/index.jsx +1 -1
  114. package/src/plugins/media/index.jsx +2 -2
  115. package/src/plugins/media/media-dialog.js +65 -76
  116. package/src/plugins/media/media-toolbar.jsx +32 -33
  117. package/src/plugins/media/media-wrapper.jsx +10 -13
  118. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +193 -180
  119. package/src/plugins/respArea/drag-in-the-blank/index.jsx +58 -22
  120. package/src/plugins/respArea/icons/index.jsx +16 -16
  121. package/src/plugins/respArea/math-templated/index.jsx +88 -89
  122. package/src/plugins/respArea/utils.jsx +1 -1
  123. package/src/plugins/table/icons/index.jsx +14 -16
  124. package/src/plugins/table/index.jsx +27 -19
  125. package/src/plugins/table/table-toolbar.jsx +17 -19
  126. package/src/plugins/textAlign/icons/index.jsx +3 -3
  127. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +1 -1
  128. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +1 -1
  129. package/src/plugins/toolbar/default-toolbar.jsx +18 -21
  130. package/src/plugins/toolbar/done-button.jsx +16 -22
  131. package/src/plugins/toolbar/editor-and-toolbar.jsx +134 -157
  132. package/src/plugins/toolbar/toolbar-buttons.jsx +29 -46
  133. package/src/plugins/toolbar/toolbar.jsx +60 -78
  134. package/esm/index.js +0 -111560
  135. package/esm/index.js.map +0 -1
  136. package/esm/package.json +0 -1
@@ -1,27 +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.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
-
12
+ var _drag = require("@pie-lib/drag");
18
13
  var _choice = _interopRequireDefault(require("./choice"));
19
-
20
- 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
- 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
- var onValueChange = function onValueChange(nodeProps, n, value) {
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ var onValueChange = exports.onValueChange = function onValueChange(nodeProps, n, value) {
25
17
  var val = nodeProps.editor.value;
26
18
  var change = val.change();
27
19
  change.setNodeByKey(n.key, {
@@ -33,10 +25,7 @@ var onValueChange = function onValueChange(nodeProps, n, value) {
33
25
  nodeProps.editor.props.onEditingDone();
34
26
  });
35
27
  };
36
-
37
- exports.onValueChange = onValueChange;
38
-
39
- var onRemoveResponse = function onRemoveResponse(nodeProps, value) {
28
+ var onRemoveResponse = exports.onRemoveResponse = function onRemoveResponse(nodeProps, value) {
40
29
  var val = nodeProps.editor.value;
41
30
  var change = val.change();
42
31
  var dragInTheBlank = val.document.findDescendant(function (n) {
@@ -51,17 +40,39 @@ var onRemoveResponse = function onRemoveResponse(nodeProps, value) {
51
40
  nodeProps.editor.props.onEditingDone();
52
41
  });
53
42
  };
54
-
55
- exports.onRemoveResponse = onRemoveResponse;
56
-
57
43
  var DragDrop = function DragDrop(props) {
44
+ var _nodeProps$editor;
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
- return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
51
+ var handleDragEnd = function handleDragEnd(event) {
52
+ var active = event.active,
53
+ over = event.over;
54
+ if (!over || !active) return;
55
+ var draggedData = active.data.current;
56
+ var dropData = over.data.current;
57
+
58
+ // Check if this is a valid drop for drag-in-the-blank
59
+ if (draggedData && dropData && dropData.instanceId === draggedData.instanceId && over.id.startsWith('drop-')) {
60
+ var _draggedData$value;
61
+ // Handle the drop
62
+ var shouldDrop = !((_draggedData$value = draggedData.value) !== null && _draggedData$value !== void 0 && _draggedData$value.index) || !data.index || draggedData.value.index !== data.index;
63
+ if (shouldDrop) {
64
+ onValueChange(nodeProps, n, draggedData.value);
65
+ }
66
+
67
+ // Remove from source if not duplicates
68
+ if (!opts.options.duplicates && draggedData.fromChoice) {
69
+ onRemoveResponse(nodeProps, draggedData.value);
70
+ }
71
+ }
72
+ };
73
+ return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
74
+ onDragEnd: handleDragEnd
75
+ }, /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
65
76
  style: {
66
77
  display: 'inline-flex',
67
78
  minHeight: '50px',
@@ -81,10 +92,10 @@ var DragDrop = function DragDrop(props) {
81
92
  },
82
93
  removeResponse: function removeResponse(value) {
83
94
  return onRemoveResponse(nodeProps, value);
84
- }
85
- }, nodeProps.children));
95
+ },
96
+ instanceId: ((_nodeProps$editor = nodeProps.editor) === null || _nodeProps$editor === void 0 || (_nodeProps$editor = _nodeProps$editor.props) === null || _nodeProps$editor === void 0 ? void 0 : _nodeProps$editor.instanceId) || 'default'
97
+ }, nodeProps.children)));
86
98
  };
87
-
88
99
  DragDrop.propTypes = {
89
100
  attributes: _propTypes["default"].object,
90
101
  data: _propTypes["default"].object,
@@ -92,6 +103,5 @@ DragDrop.propTypes = {
92
103
  nodeProps: _propTypes["default"].object,
93
104
  opts: _propTypes["default"].object
94
105
  };
95
- var _default = DragDrop;
96
- exports["default"] = _default;
106
+ var _default = exports["default"] = DragDrop;
97
107
  //# sourceMappingURL=index.js.map
@@ -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":["_react","_interopRequireDefault","require","_propTypes","_drag","_choice","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","onValueChange","exports","nodeProps","n","value","val","editor","change","setNodeByKey","key","data","index","get","props","onChange","onEditingDone","onRemoveResponse","dragInTheBlank","document","findDescendant","DragDrop","_nodeProps$editor","attributes","opts","inTable","handleDragEnd","event","active","over","draggedData","current","dropData","instanceId","id","startsWith","_draggedData$value","shouldDrop","options","duplicates","fromChoice","createElement","DragProvider","onDragEnd","_extends2","style","display","minHeight","minWidth","position","margin","cursor","dragKey","targetId","removeResponse","children","propTypes","PropTypes","object","_default"],"sources":["../../../../src/plugins/respArea/drag-in-the-blank/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragProvider } from '@pie-lib/drag';\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 const handleDragEnd = (event) => {\n const { active, over } = event;\n \n if (!over || !active) return;\n\n const draggedData = active.data.current;\n const dropData = over.data.current;\n\n // Check if this is a valid drop for drag-in-the-blank\n if (\n draggedData &&\n dropData &&\n dropData.instanceId === draggedData.instanceId &&\n over.id.startsWith('drop-')\n ) {\n // Handle the drop\n const shouldDrop =\n !draggedData.value?.index ||\n !data.index ||\n draggedData.value.index !== data.index;\n\n if (shouldDrop) {\n onValueChange(nodeProps, n, draggedData.value);\n }\n\n // Remove from source if not duplicates\n if (!opts.options.duplicates && draggedData.fromChoice) {\n onRemoveResponse(nodeProps, draggedData.value);\n }\n }\n };\n\n return (\n <DragProvider onDragEnd={handleDragEnd}>\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 instanceId={nodeProps.editor?.props?.instanceId || 'default'}\n >\n {nodeProps.children}\n </DragDropTile>\n </span>\n </DragProvider>\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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","ignoreList":[]}
@@ -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',
@@ -45,13 +40,11 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
45
40
  }
46
41
  }));
47
42
  };
48
-
49
43
  ExplicitConstructedResponse.propTypes = {
50
44
  attributes: _propTypes["default"].object,
51
45
  error: _propTypes["default"].any,
52
46
  value: _propTypes["default"].string,
53
47
  isFocused: _propTypes["default"].bool
54
48
  };
55
- var _default = ExplicitConstructedResponse;
56
- exports["default"] = _default;
49
+ var _default = exports["default"] = ExplicitConstructedResponse;
57
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/respArea/explicit-constructed-response/index.jsx"],"names":["ExplicitConstructedResponse","props","attributes","value","error","display","visibility","isFocused","minHeight","minWidth","position","cursor","width","height","backgroundColor","border","boxSizing","borderRadius","overflow","padding","marginLeft","__html","propTypes","PropTypes","object","any","string","bool"],"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,UAAU,EAAEL,KAAK,CAACM,SAAN,GAAkB,QAAlB,GAA6B,SAFpC;AAGLC,MAAAA,SAAS,EAAE,MAHN;AAILC,MAAAA,QAAQ,EAAE,OAJL;AAKLC,MAAAA,QAAQ,EAAE,UALL;AAMLC,MAAAA,MAAM,EAAE;AANH;AAFT,mBAWE;AACE,IAAA,KAAK,EAAE;AACLN,MAAAA,OAAO,EAAE,aADJ;AAELO,MAAAA,KAAK,EAAE,MAFF;AAGLJ,MAAAA,SAAS,EAAE,MAHN;AAILK,MAAAA,MAAM,EAAE,MAJH;AAKLC,MAAAA,eAAe,EAAE,MALZ;AAMLC,MAAAA,MAAM,sBAAeX,KAAK,GAAG,KAAH,GAAW,SAA/B,CAND;AAOLY,MAAAA,SAAS,EAAE,YAPN;AAQLC,MAAAA,YAAY,EAAE,KART;AASLC,MAAAA,QAAQ,EAAE,QATL;AAULC,MAAAA,OAAO,EAAE,WAVJ;AAWLC,MAAAA,UAAU,EAAE;AAXP,KADT;AAcE,IAAA,uBAAuB,EAAE;AACvBC,MAAAA,MAAM,EAAElB,KAAK,IAAI;AADM;AAd3B,IAXF,CADF;AAgCD,CAnCD;;AAqCAH,2BAA2B,CAACsB,SAA5B,GAAwC;AACtCpB,EAAAA,UAAU,EAAEqB,sBAAUC,MADgB;AAEtCpB,EAAAA,KAAK,EAAEmB,sBAAUE,GAFqB;AAGtCtB,EAAAA,KAAK,EAAEoB,sBAAUG,MAHqB;AAItCnB,EAAAA,SAAS,EAAEgB,sBAAUI;AAJiB,CAAxC;eAOe3B,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 visibility: props.isFocused ? 'hidden' : 'visible',\n minHeight: '55px',\n minWidth: '178px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n width: '100%',\n minHeight: '46px',\n height: '46px',\n backgroundColor: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '4px',\n overflow: 'hidden',\n padding: '12px 21px',\n marginLeft: '4px',\n }}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n </span>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n error: PropTypes.any,\n value: PropTypes.string,\n isFocused: PropTypes.bool,\n};\n\nexport default ExplicitConstructedResponse;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","ExplicitConstructedResponse","props","attributes","value","error","createElement","_extends2","style","display","visibility","isFocused","minHeight","minWidth","position","cursor","width","height","backgroundColor","border","concat","boxSizing","borderRadius","overflow","padding","marginLeft","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","any","string","bool","_default","exports"],"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 visibility: props.isFocused ? 'hidden' : 'visible',\n minHeight: '55px',\n minWidth: '178px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n width: '100%',\n minHeight: '46px',\n height: '46px',\n backgroundColor: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '4px',\n overflow: 'hidden',\n padding: '12px 21px',\n marginLeft: '4px',\n }}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n </span>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n error: PropTypes.any,\n value: PropTypes.string,\n isFocused: PropTypes.bool,\n};\n\nexport default ExplicitConstructedResponse;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAK,EAAK;EAC7C,IAAQC,UAAU,GAAmBD,KAAK,CAAlCC,UAAU;IAAEC,KAAK,GAAYF,KAAK,CAAtBE,KAAK;IAAEC,KAAK,GAAKH,KAAK,CAAfG,KAAK;EAEhC,oBACER,MAAA,YAAAS,aAAA,aAAAC,SAAA,iBACMJ,UAAU;IACdK,KAAK,EAAE;MACLC,OAAO,EAAE,aAAa;MACtBC,UAAU,EAAER,KAAK,CAACS,SAAS,GAAG,QAAQ,GAAG,SAAS;MAClDC,SAAS,EAAE,MAAM;MACjBC,QAAQ,EAAE,OAAO;MACjBC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE;IACV;EAAE,iBAEFlB,MAAA,YAAAS,aAAA;IACEE,KAAK,EAAE;MACLC,OAAO,EAAE,aAAa;MACtBO,KAAK,EAAE,MAAM;MACbJ,SAAS,EAAE,MAAM;MACjBK,MAAM,EAAE,MAAM;MACdC,eAAe,EAAE,MAAM;MACvBC,MAAM,eAAAC,MAAA,CAAef,KAAK,GAAG,KAAK,GAAG,SAAS,CAAE;MAChDgB,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,KAAK;MACnBC,QAAQ,EAAE,QAAQ;MAClBC,OAAO,EAAE,WAAW;MACpBC,UAAU,EAAE;IACd,CAAE;IACFC,uBAAuB,EAAE;MACvBC,MAAM,EAAEvB,KAAK,IAAI;IACnB;EAAE,CACH,CACG,CAAC;AAEX,CAAC;AAEDH,2BAA2B,CAAC2B,SAAS,GAAG;EACtCzB,UAAU,EAAE0B,qBAAS,CAACC,MAAM;EAC5BzB,KAAK,EAAEwB,qBAAS,CAACE,GAAG;EACpB3B,KAAK,EAAEyB,qBAAS,CAACG,MAAM;EACvBrB,SAAS,EAAEkB,qBAAS,CAACI;AACvB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEalC,2BAA2B","ignoreList":[]}
@@ -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
- var _ChevronRight = _interopRequireDefault(require("@material-ui/icons/ChevronRight"));
17
-
18
- var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
19
-
20
- var _styles = require("@material-ui/core/styles");
21
-
22
- 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
- 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
-
11
+ var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
12
+ var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
13
+ var _styles = require("@mui/material/styles");
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
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
- var Chevron = function Chevron(props) {
28
+ var Chevron = exports.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,14 +35,11 @@ var Chevron = function Chevron(props) {
49
35
  }, style)
50
36
  });
51
37
  };
52
-
53
- exports.Chevron = Chevron;
54
38
  Chevron.propTypes = {
55
39
  direction: _propTypes["default"].string,
56
40
  style: _propTypes["default"].object
57
41
  };
58
-
59
- var GripIcon = function GripIcon(_ref) {
42
+ var GripIcon = exports.GripIcon = function GripIcon(_ref) {
60
43
  var style = _ref.style;
61
44
  return /*#__PURE__*/_react["default"].createElement("span", {
62
45
  style: style
@@ -66,30 +49,24 @@ var GripIcon = function GripIcon(_ref) {
66
49
  }
67
50
  }), /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], null));
68
51
  };
69
-
70
- exports.GripIcon = GripIcon;
71
52
  GripIcon.propTypes = {
72
53
  style: _propTypes["default"].object
73
54
  };
74
- var ToolbarIcon = (0, _styles.withStyles)(function (theme) {
55
+ var StyledToolbarIcon = (0, _styles.styled)('div')(function (_ref2) {
56
+ var theme = _ref2.theme;
75
57
  return {
76
- icon: {
77
- fontFamily: 'Cerebri Sans !important',
78
- fontSize: theme.typography.fontSize,
79
- fontWeight: 'bold',
80
- lineHeight: '14px',
81
- position: 'relative',
82
- top: '7px',
83
- width: '110px',
84
- height: '28px',
85
- whiteSpace: 'nowrap'
86
- }
58
+ fontFamily: 'Cerebri Sans !important',
59
+ fontSize: theme.typography.fontSize,
60
+ fontWeight: 'bold',
61
+ lineHeight: '14px',
62
+ position: 'relative',
63
+ top: '7px',
64
+ width: '110px',
65
+ height: '28px',
66
+ whiteSpace: 'nowrap'
87
67
  };
88
- })(function (_ref2) {
89
- var classes = _ref2.classes;
90
- return /*#__PURE__*/_react["default"].createElement("div", {
91
- className: classes.icon
92
- }, "+ Response Area");
93
68
  });
94
- exports.ToolbarIcon = ToolbarIcon;
69
+ var ToolbarIcon = exports.ToolbarIcon = function ToolbarIcon() {
70
+ return /*#__PURE__*/_react["default"].createElement(StyledToolbarIcon, null, "+ Response Area");
71
+ };
95
72
  //# sourceMappingURL=index.js.map
@@ -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","theme","icon","fontFamily","fontSize","typography","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;;AAEF,SAAK,IAAL;AACE,aAAO,CAAC,EAAR;;AAEF,SAAK,MAAL;AACE,aAAO,GAAP;;AAEF;AACE,aAAO,CAAP;AAXJ;AAaD,CAdD;;AAgBO,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,UAACC,KAAD;AAAA,SAAY;AAChDC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,yBADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,GAAG,EAAE,KAND;AAOJC,MAAAA,KAAK,EAAE,OAPH;AAQJC,MAAAA,MAAM,EAAE,MARJ;AASJC,MAAAA,UAAU,EAAE;AATR;AAD0C,GAAZ;AAAA,CAAX,EAYvB;AAAA,MAAGC,OAAH,SAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACX;AAAxB,uBAAjB;AAAA,CAZuB,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\n case 'up':\n return -90;\n\n case 'left':\n return 180;\n\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((theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: theme.typography.fontSize,\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":["_react","_interopRequireDefault","require","_propTypes","_ChevronRight","_MoreVert","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getRotate","direction","Chevron","exports","props","style","rotate","createElement","transform","concat","propTypes","PropTypes","string","object","GripIcon","_ref","margin","StyledToolbarIcon","styled","_ref2","theme","fontFamily","fontSize","typography","fontWeight","lineHeight","position","top","width","height","whiteSpace","ToolbarIcon"],"sources":["../../../../src/plugins/respArea/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@mui/icons-material/ChevronRight';\nimport MoreVert from '@mui/icons-material/MoreVert';\nimport { styled } from '@mui/material/styles';\n\nconst getRotate = (direction) => {\n switch (direction) {\n case 'down':\n return 90;\n\n case 'up':\n return -90;\n\n case 'left':\n return 180;\n\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\nconst StyledToolbarIcon = styled('div')(({ theme }) => ({\n fontFamily: 'Cerebri Sans !important',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap',\n}));\n\nexport const ToolbarIcon = () => <StyledToolbarIcon>+ Response Area</StyledToolbarIcon>;\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,20 @@
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 _mathTemplated = _interopRequireDefault(require("./math-templated"));
24
-
25
16
  var _utils = require("./utils");
26
-
27
17
  var _icons = require("./icons");
28
-
29
18
  var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:respArea');
30
19
  var lastIndexMap = {};
31
20
  var elTypesMap = {
@@ -35,12 +24,10 @@ var elTypesMap = {
35
24
  'drag-in-the-blank': 'drag_in_the_blank'
36
25
  };
37
26
  var elTypesArray = Object.values(elTypesMap);
38
-
39
27
  function ResponseAreaPlugin(opts) {
40
28
  var isOfCurrentType = function isOfCurrentType(d) {
41
29
  return d.type === opts.type || d.type === elTypesMap[opts.type];
42
30
  };
43
-
44
31
  var toolbar = {
45
32
  icon: /*#__PURE__*/_react["default"].createElement(_icons.ToolbarIcon, null),
46
33
  buttonStyles: {
@@ -50,53 +37,42 @@ function ResponseAreaPlugin(opts) {
50
37
  log('[toolbar] onClick');
51
38
  var change = value.change();
52
39
  var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
53
-
54
40
  if (currentRespAreaList.size >= opts.maxResponseAreas) {
55
41
  return;
56
42
  }
57
-
58
43
  var type = opts.type.replace(/-/g, '_');
59
44
  var prevIndex = lastIndexMap[type];
60
45
  var newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;
61
46
  var newInline = (0, _utils.getDefaultElement)(opts, newIndex);
62
47
  lastIndexMap[type] += 1;
63
-
64
48
  if (newInline) {
65
49
  if (change.value.selection.startKey || change.value.selection.endKey) {
66
50
  change.insertInline(newInline);
67
51
  } else {
68
52
  // If the markup is empty and there's no focus
69
53
  var lastText = value.document.getLastText();
70
-
71
54
  if (!lastText) {
72
55
  return;
73
56
  }
74
-
75
57
  var parentNode = value.document.getParent(lastText.key);
76
-
77
58
  if (parentNode) {
78
59
  var index = parentNode.nodes.indexOf(lastText.key);
79
60
  if (parentNode.isVoid) return;
80
61
  change.insertNodeByKey(parentNode.key, index + 1, newInline);
81
62
  }
82
63
  }
83
-
84
64
  if (newInline.type === 'drag_in_the_blank') {
85
65
  var nextText = change.value.document.getNextText(newInline.key);
86
-
87
66
  if (nextText) {
88
67
  change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
89
68
  }
90
69
  }
91
-
92
70
  if (newInline.type === 'math_templated') {
93
71
  var _nextText = change.value.document.getNextText(newInline.key);
94
-
95
72
  if (_nextText) {
96
73
  change.moveFocusTo(_nextText.key, 0).moveAnchorTo(_nextText.key, 0);
97
74
  }
98
75
  }
99
-
100
76
  onChange(change);
101
77
  }
102
78
  },
@@ -113,7 +89,6 @@ function ResponseAreaPlugin(opts) {
113
89
  if (node.type === 'explicit_constructed_response' || node.type === 'math_templated' || node.type === 'drag_in_the_blank') {
114
90
  return [];
115
91
  }
116
-
117
92
  return plugins.filter(function (p) {
118
93
  return p.name !== 'response_area';
119
94
  });
@@ -125,17 +100,14 @@ function ResponseAreaPlugin(opts) {
125
100
  },
126
101
  renderNode: function renderNode(props) {
127
102
  var attributes = props.attributes,
128
- n = props.node,
129
- isFocused = props.isFocused;
130
-
103
+ n = props.node,
104
+ isFocused = props.isFocused;
131
105
  if (n.type === 'explicit_constructed_response') {
132
106
  var data = n.data.toJSON();
133
107
  var error;
134
-
135
108
  if (opts.error) {
136
109
  error = opts.error();
137
110
  }
138
-
139
111
  return /*#__PURE__*/_react["default"].createElement(_explicitConstructedResponse["default"], {
140
112
  attributes: attributes,
141
113
  isFocused: isFocused,
@@ -143,17 +115,14 @@ function ResponseAreaPlugin(opts) {
143
115
  error: error && error[data.index] && error[data.index][0]
144
116
  });
145
117
  }
146
-
147
118
  if (n.type === 'math_templated') {
148
119
  var _data = n.data.toJSON();
149
-
150
120
  var _error;
151
-
152
121
  if (opts.error) {
153
122
  _error = opts.error();
154
- } // add 1 to index to display R 1 instead of R 0
155
-
123
+ }
156
124
 
125
+ // add 1 to index to display R 1 instead of R 0
157
126
  var keyToDisplay = "R ".concat(parseInt(_data.index) + 1);
158
127
  return /*#__PURE__*/_react["default"].createElement(_mathTemplated["default"], {
159
128
  attributes: attributes,
@@ -162,10 +131,8 @@ function ResponseAreaPlugin(opts) {
162
131
  error: _error && _error[_data.index] && _error[_data.index][0]
163
132
  });
164
133
  }
165
-
166
134
  if (n.type === 'drag_in_the_blank') {
167
135
  var _data2 = n.data.toJSON();
168
-
169
136
  return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], {
170
137
  attributes: attributes,
171
138
  data: _data2,
@@ -174,10 +141,8 @@ function ResponseAreaPlugin(opts) {
174
141
  opts: opts
175
142
  });
176
143
  }
177
-
178
144
  if (n.type === 'inline_dropdown') {
179
145
  var _data3 = n.data.toJSON();
180
-
181
146
  return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
182
147
  attributes: attributes,
183
148
  selectedItem: _data3.value
@@ -186,24 +151,20 @@ function ResponseAreaPlugin(opts) {
186
151
  },
187
152
  onChange: function onChange(change, editor) {
188
153
  var type = opts.type.replace(/-/g, '_');
189
-
190
154
  if ((0, _isUndefined["default"])(lastIndexMap[type])) {
191
155
  lastIndexMap[type] = 0;
192
156
  change.value.document.forEachDescendant(function (d) {
193
157
  if (d.type === type) {
194
158
  var newIndex = parseInt(d.data.get('index'), 10);
195
-
196
159
  if (newIndex > lastIndexMap[type]) {
197
160
  lastIndexMap[type] = newIndex;
198
161
  }
199
162
  }
200
163
  });
201
164
  }
202
-
203
165
  if (!editor.value) {
204
166
  return;
205
167
  }
206
-
207
168
  var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
208
169
  var oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);
209
170
  toolbar.disabled = currentRespAreaList.size >= opts.maxResponseAreas;
@@ -214,7 +175,6 @@ function ResponseAreaPlugin(opts) {
214
175
  return e.data.get('index') === d.data.get('index');
215
176
  });
216
177
  });
217
-
218
178
  if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {
219
179
  opts.onHandleAreaChange(elementsWithChangedStatus);
220
180
  }
@@ -224,18 +184,15 @@ function ResponseAreaPlugin(opts) {
224
184
  var inline = editor.value.document.findDescendant(function (d) {
225
185
  return d.key === closestEl.dataset.key;
226
186
  });
227
-
228
187
  if (inline.type === 'drag_in_the_blank') {
229
188
  return false;
230
189
  }
231
190
  }
232
191
  };
233
192
  }
234
-
235
- var serialization = {
193
+ var serialization = exports.serialization = {
236
194
  deserialize: function deserialize(el) {
237
195
  var type = el.dataset && el.dataset.type;
238
-
239
196
  switch (type) {
240
197
  case 'inline_dropdown':
241
198
  return {
@@ -247,7 +204,6 @@ var serialization = {
247
204
  value: el.dataset.value
248
205
  }
249
206
  };
250
-
251
207
  case 'explicit_constructed_response':
252
208
  return {
253
209
  object: 'inline',
@@ -258,7 +214,6 @@ var serialization = {
258
214
  value: el.dataset.value
259
215
  }
260
216
  };
261
-
262
217
  case 'math_templated':
263
218
  return {
264
219
  object: 'inline',
@@ -269,7 +224,6 @@ var serialization = {
269
224
  value: el.dataset.value
270
225
  }
271
226
  };
272
-
273
227
  case 'drag_in_the_blank':
274
228
  return {
275
229
  object: 'inline',
@@ -288,7 +242,6 @@ var serialization = {
288
242
  if (object.object !== 'inline') {
289
243
  return;
290
244
  }
291
-
292
245
  switch (object.type) {
293
246
  case 'inline_dropdown':
294
247
  {
@@ -299,33 +252,27 @@ var serialization = {
299
252
  "data-value": data.value
300
253
  });
301
254
  }
302
-
303
255
  case 'explicit_constructed_response':
304
256
  {
305
257
  var _data4 = object.data.toJSON();
306
-
307
258
  return /*#__PURE__*/_react["default"].createElement("span", {
308
259
  "data-type": "explicit_constructed_response",
309
260
  "data-index": _data4.index,
310
261
  "data-value": _data4.value
311
262
  });
312
263
  }
313
-
314
264
  case 'math_templated':
315
265
  {
316
266
  var _data5 = object.data.toJSON();
317
-
318
267
  return /*#__PURE__*/_react["default"].createElement("span", {
319
268
  "data-type": "math_templated",
320
269
  "data-index": _data5.index,
321
270
  "data-value": _data5.value
322
271
  });
323
272
  }
324
-
325
273
  case 'drag_in_the_blank':
326
274
  {
327
275
  var _data6 = object.data.toJSON();
328
-
329
276
  return /*#__PURE__*/_react["default"].createElement("span", {
330
277
  "data-type": "drag_in_the_blank",
331
278
  "data-index": _data6.index,
@@ -337,5 +284,4 @@ var serialization = {
337
284
  }
338
285
  }
339
286
  };
340
- exports.serialization = serialization;
341
287
  //# sourceMappingURL=index.js.map