@pie-lib/editable-html-tip-tap 1.2.0-next.2 → 1.2.0-next.20

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 (126) hide show
  1. package/CHANGELOG.md +109 -21
  2. package/LICENSE.md +5 -0
  3. package/lib/components/CharacterPicker.js +2 -1
  4. package/lib/components/CharacterPicker.js.map +1 -1
  5. package/lib/components/EditableHtml.js +34 -17
  6. package/lib/components/EditableHtml.js.map +1 -1
  7. package/lib/components/MenuBar.js +77 -45
  8. package/lib/components/MenuBar.js.map +1 -1
  9. package/lib/components/TiptapContainer.js +15 -9
  10. package/lib/components/TiptapContainer.js.map +1 -1
  11. package/lib/components/characters/characterUtils.js +1 -1
  12. package/lib/components/characters/custom-popper.js +1 -1
  13. package/lib/components/common/done-button.js +1 -1
  14. package/lib/components/common/toolbar-buttons.js +1 -1
  15. package/lib/components/icons/CssIcon.js +1 -1
  16. package/lib/components/icons/RespArea.js +1 -1
  17. package/lib/components/icons/TableIcons.js +1 -1
  18. package/lib/components/icons/TextAlign.js +3 -3
  19. package/lib/components/icons/TextAlign.js.map +1 -1
  20. package/lib/components/image/AltDialog.js +1 -1
  21. package/lib/components/image/ImageToolbar.js +1 -1
  22. package/lib/components/image/InsertImageHandler.js +1 -1
  23. package/lib/components/media/MediaDialog.js +1 -1
  24. package/lib/components/media/MediaToolbar.js +1 -1
  25. package/lib/components/media/MediaWrapper.js +1 -1
  26. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +7 -2
  27. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
  28. package/lib/components/respArea/DragInTheBlank/choice.js +16 -8
  29. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
  30. package/lib/components/respArea/ExplicitConstructedResponse.js +2 -2
  31. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
  32. package/lib/components/respArea/InlineDropdown.js +11 -4
  33. package/lib/components/respArea/InlineDropdown.js.map +1 -1
  34. package/lib/components/respArea/MathTemplated.js +130 -0
  35. package/lib/components/respArea/MathTemplated.js.map +1 -0
  36. package/lib/components/respArea/ToolbarIcon.js +1 -1
  37. package/lib/constants.js +1 -1
  38. package/lib/extensions/css.js +1 -1
  39. package/lib/extensions/custom-toolbar-wrapper.js +1 -1
  40. package/lib/extensions/div-node.js +39 -0
  41. package/lib/extensions/div-node.js.map +1 -0
  42. package/lib/extensions/extended-table.js +1 -1
  43. package/lib/extensions/image-component.js +1 -1
  44. package/lib/extensions/image-component.js.map +1 -1
  45. package/lib/extensions/image.js +1 -1
  46. package/lib/extensions/index.js +4 -2
  47. package/lib/extensions/index.js.map +1 -1
  48. package/lib/extensions/math.js +2 -1
  49. package/lib/extensions/math.js.map +1 -1
  50. package/lib/extensions/media.js +15 -12
  51. package/lib/extensions/media.js.map +1 -1
  52. package/lib/extensions/responseArea.js +13 -10
  53. package/lib/extensions/responseArea.js.map +1 -1
  54. package/lib/index.js +1 -1
  55. package/lib/styles/editorContainerStyles.js +6 -5
  56. package/lib/styles/editorContainerStyles.js.map +1 -1
  57. package/lib/theme.js +1 -1
  58. package/lib/utils/helper.js +17 -0
  59. package/lib/utils/helper.js.map +1 -0
  60. package/lib/utils/size.js +1 -1
  61. package/package.json +11 -11
  62. package/src/__tests__/EditableHtml.test.jsx +41 -1
  63. package/src/__tests__/index.test.jsx +4 -1
  64. package/src/components/CharacterPicker.jsx +1 -0
  65. package/src/components/EditableHtml.jsx +40 -16
  66. package/src/components/MenuBar.jsx +66 -25
  67. package/src/components/TiptapContainer.jsx +10 -7
  68. package/src/components/__tests__/CharacterPicker.test.jsx +22 -0
  69. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +1 -1
  70. package/src/components/__tests__/InlineDropdown.test.jsx +150 -1
  71. package/src/components/__tests__/MenuBar.test.jsx +32 -0
  72. package/src/components/icons/TextAlign.jsx +1 -1
  73. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +6 -1
  74. package/src/components/respArea/DragInTheBlank/choice.jsx +32 -4
  75. package/src/components/respArea/ExplicitConstructedResponse.jsx +1 -1
  76. package/src/components/respArea/InlineDropdown.jsx +12 -2
  77. package/src/components/respArea/MathTemplated.jsx +124 -0
  78. package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
  79. package/src/extensions/__tests__/divNode.test.js +87 -0
  80. package/src/extensions/__tests__/math.test.js +327 -0
  81. package/src/extensions/__tests__/media-node-view.test.jsx +296 -0
  82. package/src/extensions/__tests__/media.test.js +1 -0
  83. package/src/extensions/__tests__/responseArea.test.js +157 -0
  84. package/src/extensions/div-node.js +36 -0
  85. package/src/extensions/index.js +2 -0
  86. package/src/extensions/math.js +1 -0
  87. package/src/extensions/media.js +17 -14
  88. package/src/extensions/responseArea.js +4 -8
  89. package/src/styles/editorContainerStyles.js +5 -4
  90. package/src/utils/helper.js +17 -0
  91. package/lib/__tests__/EditableHtml.test.js +0 -377
  92. package/lib/__tests__/constants.test.js +0 -21
  93. package/lib/__tests__/extensions.test.js +0 -209
  94. package/lib/__tests__/index.test.js +0 -235
  95. package/lib/__tests__/size-utils.test.js +0 -57
  96. package/lib/__tests__/theme.test.js +0 -17
  97. package/lib/components/__tests__/AltDialog.test.js +0 -201
  98. package/lib/components/__tests__/CharacterPicker.test.js +0 -305
  99. package/lib/components/__tests__/CssIcon.test.js +0 -58
  100. package/lib/components/__tests__/DragInTheBlank.test.js +0 -295
  101. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -253
  102. package/lib/components/__tests__/ImageToolbar.test.js +0 -185
  103. package/lib/components/__tests__/InlineDropdown.test.js +0 -287
  104. package/lib/components/__tests__/InsertImageHandler.test.js +0 -162
  105. package/lib/components/__tests__/MediaDialog.test.js +0 -433
  106. package/lib/components/__tests__/MediaToolbar.test.js +0 -126
  107. package/lib/components/__tests__/MediaWrapper.test.js +0 -96
  108. package/lib/components/__tests__/MenuBar.test.js +0 -459
  109. package/lib/components/__tests__/RespArea.test.js +0 -171
  110. package/lib/components/__tests__/TableIcons.test.js +0 -153
  111. package/lib/components/__tests__/TextAlign.test.js +0 -209
  112. package/lib/components/__tests__/TiptapContainer.test.js +0 -196
  113. package/lib/components/__tests__/characterUtils.test.js +0 -178
  114. package/lib/components/__tests__/choice.test.js +0 -213
  115. package/lib/components/__tests__/custom-popper.test.js +0 -108
  116. package/lib/components/__tests__/done-button.test.js +0 -72
  117. package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
  118. package/lib/extensions/__tests__/component.test.js +0 -314
  119. package/lib/extensions/__tests__/css.test.js +0 -214
  120. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -175
  121. package/lib/extensions/__tests__/extended-table.test.js +0 -92
  122. package/lib/extensions/__tests__/image-component.test.js +0 -305
  123. package/lib/extensions/__tests__/image.test.js +0 -164
  124. package/lib/extensions/__tests__/media.test.js +0 -292
  125. package/lib/extensions/__tests__/responseArea.test.js +0 -330
  126. package/lib/extensions/component.js +0 -305
@@ -34,7 +34,8 @@ function BlankContent(_ref2) {
34
34
  isDragging = _ref2.isDragging,
35
35
  isOver = _ref2.isOver,
36
36
  dragItem = _ref2.dragItem,
37
- value = _ref2.value;
37
+ value = _ref2.value,
38
+ selected = _ref2.selected;
38
39
  var _useState = (0, _react.useState)(null),
39
40
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
41
  hoveredElementSize = _useState2[0],
@@ -74,21 +75,24 @@ function BlankContent(_ref2) {
74
75
  var finalLabel = isDragging ? "\xA0" : label;
75
76
  var hasGrip = finalLabel !== "\xA0";
76
77
  var isPreview = dragItem && isOver;
78
+ var borderStyle = selected ? "2px solid ".concat(_renderUi.color.primaryDark()) : isPreview ? "1px solid ".concat(_renderUi.color.defaults.BORDER_DARK) : "1px solid ".concat(_renderUi.color.defaults.BORDER_LIGHT);
77
79
  return /*#__PURE__*/_react["default"].createElement("div", {
78
80
  ref: elementRef,
81
+ className: selected ? 'selected' : undefined,
79
82
  style: {
80
83
  display: 'inline-flex',
81
84
  minWidth: '178px',
82
85
  minHeight: '36px',
83
86
  background: isPreview ? "".concat(_renderUi.color.defaults.BORDER_LIGHT) : "".concat(_renderUi.color.defaults.WHITE),
84
- border: isPreview ? "1px solid ".concat(_renderUi.color.defaults.BORDER_DARK) : "1px solid ".concat(_renderUi.color.defaults.BORDER_LIGHT),
87
+ border: borderStyle,
85
88
  boxSizing: 'border-box',
86
89
  borderRadius: '3px',
87
90
  overflow: 'hidden',
88
91
  position: 'relative',
89
92
  padding: '8px 8px 8px 35px',
90
93
  width: hoveredElementSize ? hoveredElementSize.width : undefined,
91
- height: hoveredElementSize ? hoveredElementSize.height : undefined
94
+ height: hoveredElementSize ? hoveredElementSize.height : undefined,
95
+ touchAction: 'none'
92
96
  },
93
97
  "data-key": n.index,
94
98
  contentEditable: false
@@ -112,7 +116,8 @@ BlankContent.propTypes = {
112
116
  isDragging: _propTypes["default"].bool,
113
117
  isOver: _propTypes["default"].bool,
114
118
  dragItem: _propTypes["default"].object,
115
- value: _propTypes["default"].object
119
+ value: _propTypes["default"].object,
120
+ selected: _propTypes["default"].bool
116
121
  };
117
122
  function DragDropChoice(_ref3) {
118
123
  var _dragItem$data;
@@ -124,7 +129,8 @@ function DragDropChoice(_ref3) {
124
129
  onChange = _ref3.onChange,
125
130
  removeResponse = _ref3.removeResponse,
126
131
  duplicates = _ref3.duplicates,
127
- pos = _ref3.pos;
132
+ pos = _ref3.pos,
133
+ selected = _ref3.selected;
128
134
  var _useDraggable = (0, _core.useDraggable)({
129
135
  id: "drag-".concat(n.index),
130
136
  disabled: disabled || !(value !== null && value !== void 0 && value.value),
@@ -216,7 +222,8 @@ function DragDropChoice(_ref3) {
216
222
  isDragging: isDragging,
217
223
  isOver: isOver,
218
224
  dragItem: dragItem === null || dragItem === void 0 || (_dragItem$data = dragItem.data) === null || _dragItem$data === void 0 ? void 0 : _dragItem$data.current,
219
- value: value
225
+ value: value,
226
+ selected: selected
220
227
  }, children);
221
228
  var dragEl = !value ? /*#__PURE__*/_react["default"].createElement("span", {
222
229
  ref: setDropNodeRef
@@ -236,7 +243,8 @@ DragDropChoice.propTypes = {
236
243
  n: _propTypes["default"].object.isRequired,
237
244
  onChange: _propTypes["default"].func.isRequired,
238
245
  removeResponse: _propTypes["default"].func.isRequired,
239
- duplicates: _propTypes["default"].bool
246
+ duplicates: _propTypes["default"].bool,
247
+ selected: _propTypes["default"].bool
240
248
  };
241
249
  var _default = exports["default"] = DragDropChoice;
242
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb3JlIiwiX3JlbmRlclVpIiwiX21hdGhSZW5kZXJpbmciLCJfc3R5bGVzIiwiX2NsYXNzbmFtZXMiLCJfUmVzcEFyZWEiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlN0eWxlZENvbnRlbnQiLCJzdHlsZWQiLCJfcmVmIiwidGhlbWUiLCJib3JkZXIiLCJjb25jYXQiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJmb250U2l6ZSIsIkJsYW5rQ29udGVudCIsIl9yZWYyIiwiX2RyYWdJdGVtJHZhbHVlIiwiY2hpbGRyZW4iLCJpc0RyYWdnaW5nIiwiaXNPdmVyIiwiZHJhZ0l0ZW0iLCJ2YWx1ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImhvdmVyZWRFbGVtZW50U2l6ZSIsInNldEhvdmVyZWRFbGVtZW50U2l6ZSIsImVsZW1lbnRSZWYiLCJ1c2VSZWYiLCJoYW5kbGVDbGljayIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwidXNlRWZmZWN0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlck1hdGgiLCJub2RlIiwid2lkdGgiLCJvZmZzZXRXaWR0aCIsImhlaWdodCIsIm9mZnNldEhlaWdodCIsImxhYmVsIiwiZmluYWxMYWJlbCIsImhhc0dyaXAiLCJpc1ByZXZpZXciLCJjcmVhdGVFbGVtZW50IiwicmVmIiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJtaW5IZWlnaHQiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJkZWZhdWx0cyIsIkJPUkRFUl9MSUdIVCIsIldISVRFIiwiQk9SREVSX0RBUksiLCJib3hTaXppbmciLCJib3JkZXJSYWRpdXMiLCJvdmVyZmxvdyIsInBvc2l0aW9uIiwicGFkZGluZyIsInVuZGVmaW5lZCIsImluZGV4IiwiY29udGVudEVkaXRhYmxlIiwiR3JpcEljb24iLCJ0b3AiLCJsZWZ0IiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJib29sIiwiRHJhZ0Ryb3BDaG9pY2UiLCJfcmVmMyIsIl9kcmFnSXRlbSRkYXRhIiwiZGlzYWJsZWQiLCJpbnN0YW5jZUlkIiwib25DaGFuZ2UiLCJyZW1vdmVSZXNwb25zZSIsImR1cGxpY2F0ZXMiLCJwb3MiLCJfdXNlRHJhZ2dhYmxlIiwidXNlRHJhZ2dhYmxlIiwiaWQiLCJkYXRhIiwib3B0cyIsInR5cGUiLCJmcm9tQ2hvaWNlIiwib25SZW1vdmUiLCJkcmFnZ2VkRGF0YSIsIm9uRHJvcCIsImRyb3BEYXRhIiwiaXNWYWxpZEJsYW5rIiwiZHJhZ0F0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVzIiwiZHJhZ0xpc3RlbmVycyIsImxpc3RlbmVycyIsInNldERyYWdOb2RlUmVmIiwic2V0Tm9kZVJlZiIsIl91c2VEcm9wcGFibGUiLCJ1c2VEcm9wcGFibGUiLCJhY2NlcHRzIiwic2V0VGltZW91dCIsInNldERyb3BOb2RlUmVmIiwiYWN0aXZlIiwiZHJhZ0NvbnRlbnQiLCJkcmFnRWwiLCJfZXh0ZW5kczIiLCJjb250ZW50IiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJmdW5jIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVzcEFyZWEvRHJhZ0luVGhlQmxhbmsvY2hvaWNlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHVzZURyYWdnYWJsZSwgdXNlRHJvcHBhYmxlIH0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IEdyaXBJY29uIH0gZnJvbSAnLi4vLi4vaWNvbnMvUmVzcEFyZWEnO1xuXG5jb25zdCBTdHlsZWRDb250ZW50ID0gc3R5bGVkKCdzcGFuJykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYm9yZGVyOiBgc29saWQgMHB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgJyYgbWp4LWZyYWMnOiB7XG4gICAgZm9udFNpemU6ICcxMjAlICFpbXBvcnRhbnQnLFxuICB9LFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQmxhbmtDb250ZW50KHsgbiwgY2hpbGRyZW4sIGlzRHJhZ2dpbmcsIGlzT3ZlciwgZHJhZ0l0ZW0sIHZhbHVlIH0pIHtcbiAgY29uc3QgW2hvdmVyZWRFbGVtZW50U2l6ZSwgc2V0SG92ZXJlZEVsZW1lbnRTaXplXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBlbGVtZW50UmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50UmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChlbGVtZW50UmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgZWxlbWVudFJlZi5jdXJyZW50LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnRSZWYuY3VycmVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2spO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudFJlZi5jdXJyZW50ICYmIHR5cGVvZiByZW5kZXJNYXRoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZW5kZXJNYXRoKGVsZW1lbnRSZWYuY3VycmVudCk7XG4gICAgfVxuICB9LCBbdmFsdWU/LnZhbHVlLCBpc092ZXIsIGRyYWdJdGVtPy52YWx1ZT8udmFsdWVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc092ZXIgJiYgZWxlbWVudFJlZi5jdXJyZW50ICYmICFob3ZlcmVkRWxlbWVudFNpemUpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBlbGVtZW50UmVmLmN1cnJlbnQ7XG4gICAgICBzZXRIb3ZlcmVkRWxlbWVudFNpemUoeyB3aWR0aDogbm9kZS5vZmZzZXRXaWR0aCwgaGVpZ2h0OiBub2RlLm9mZnNldEhlaWdodCB9KTtcbiAgICB9IGVsc2UgaWYgKCFpc092ZXIgJiYgaG92ZXJlZEVsZW1lbnRTaXplKSB7XG4gICAgICBzZXRIb3ZlcmVkRWxlbWVudFNpemUobnVsbCk7XG4gICAgfVxuICB9LCBbaXNPdmVyLCBob3ZlcmVkRWxlbWVudFNpemVdKTtcblxuICBjb25zdCBsYWJlbCA9IGRyYWdJdGVtICYmIGlzT3ZlciA/IGRyYWdJdGVtLnZhbHVlLnZhbHVlIDogdmFsdWUudmFsdWUgfHwgJ1xcdTAwQTAnO1xuICBjb25zdCBmaW5hbExhYmVsID0gaXNEcmFnZ2luZyA/ICdcXHUwMEEwJyA6IGxhYmVsO1xuICBjb25zdCBoYXNHcmlwID0gZmluYWxMYWJlbCAhPT0gJ1xcdTAwQTAnO1xuICBjb25zdCBpc1ByZXZpZXcgPSBkcmFnSXRlbSAmJiBpc092ZXI7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e2VsZW1lbnRSZWZ9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICBtaW5XaWR0aDogJzE3OHB4JyxcbiAgICAgICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgICAgIGJhY2tncm91bmQ6IGlzUHJldmlldyA/IGAke2NvbG9yLmRlZmF1bHRzLkJPUkRFUl9MSUdIVH1gIDogYCR7Y29sb3IuZGVmYXVsdHMuV0hJVEV9YCxcbiAgICAgICAgYm9yZGVyOiBpc1ByZXZpZXcgPyBgMXB4IHNvbGlkICAke2NvbG9yLmRlZmF1bHRzLkJPUkRFUl9EQVJLfWAgOiBgMXB4IHNvbGlkICAke2NvbG9yLmRlZmF1bHRzLkJPUkRFUl9MSUdIVH1gLFxuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgcGFkZGluZzogJzhweCA4cHggOHB4IDM1cHgnLFxuICAgICAgICB3aWR0aDogaG92ZXJlZEVsZW1lbnRTaXplID8gaG92ZXJlZEVsZW1lbnRTaXplLndpZHRoIDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IGhvdmVyZWRFbGVtZW50U2l6ZSA/IGhvdmVyZWRFbGVtZW50U2l6ZS5oZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICB9fVxuICAgICAgZGF0YS1rZXk9e24uaW5kZXh9XG4gICAgICBjb250ZW50RWRpdGFibGU9e2ZhbHNlfVxuICAgID5cbiAgICAgIHtoYXNHcmlwICYmIChcbiAgICAgICAgPEdyaXBJY29uXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnNnB4JyxcbiAgICAgICAgICAgIGxlZnQ6ICcxNXB4JyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzlCOUI5QicsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjb250ZW50RWRpdGFibGU9e2ZhbHNlfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgX19odG1sOiBmaW5hbExhYmVsLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuQmxhbmtDb250ZW50LnByb3BUeXBlcyA9IHtcbiAgbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBpc0RyYWdnaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNPdmVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgZHJhZ0l0ZW06IFByb3BUeXBlcy5vYmplY3QsXG4gIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZnVuY3Rpb24gRHJhZ0Ryb3BDaG9pY2UoeyB2YWx1ZSwgZGlzYWJsZWQsIGluc3RhbmNlSWQsIGNoaWxkcmVuLCBuLCBvbkNoYW5nZSwgcmVtb3ZlUmVzcG9uc2UsIGR1cGxpY2F0ZXMsIHBvcyB9KSB7XG4gIGNvbnN0IHtcbiAgICBhdHRyaWJ1dGVzOiBkcmFnQXR0cmlidXRlcyxcbiAgICBsaXN0ZW5lcnM6IGRyYWdMaXN0ZW5lcnMsXG4gICAgc2V0Tm9kZVJlZjogc2V0RHJhZ05vZGVSZWYsXG4gICAgaXNEcmFnZ2luZyxcbiAgfSA9IHVzZURyYWdnYWJsZSh7XG4gICAgaWQ6IGBkcmFnLSR7bi5pbmRleH1gLFxuICAgIGRpc2FibGVkOiBkaXNhYmxlZCB8fCAhdmFsdWU/LnZhbHVlLFxuICAgIGRhdGE6IHtcbiAgICAgIGlkOiBgZHJhZy0ke24uaW5kZXh9YCxcbiAgICAgIHZhbHVlLFxuICAgICAgaW5zdGFuY2VJZCxcbiAgICAgIG4sXG4gICAgICBwb3MsXG4gICAgICBvcHRzOiB7IGR1cGxpY2F0ZXMgfSxcbiAgICAgIHR5cGU6ICdkcmFnLWluLXRoZS1ibGFuay1wbGFjZWQtY2hvaWNlJyxcbiAgICAgIGZyb21DaG9pY2U6ICF2YWx1ZSxcbiAgICAgIG9uUmVtb3ZlOiAoZHJhZ2dlZERhdGEpID0+IHJlbW92ZVJlc3BvbnNlKGRyYWdnZWREYXRhKSxcbiAgICAgIG9uRHJvcDogKGRyYWdnZWREYXRhLCBkcm9wRGF0YSkgPT4ge1xuICAgICAgICAvLyBjaGVjayBpZiB3ZSdyZSBkcm9wcGluZyBpbnRvIGEgYmxhbmtcbiAgICAgICAgY29uc3QgaXNWYWxpZEJsYW5rID0gZHJvcERhdGE/LnR5cGUgPT09ICdkcmFnLWluLXRoZS1ibGFuay1kcm9wLWNob2ljZSc7XG5cbiAgICAgICAgaWYgKCFpc1ZhbGlkQmxhbmspIHJldHVybjtcblxuICAgICAgICAvLyBwbGFjZSBpbnRvIGJsYW5rXG4gICAgICAgIG9uQ2hhbmdlKGRyYWdnZWREYXRhKTtcblxuICAgICAgICBpZiAoIWR1cGxpY2F0ZXMgJiYgZHJhZ2dlZERhdGEuZnJvbUNob2ljZSkge1xuICAgICAgICAgIHJlbW92ZVJlc3BvbnNlKGRyYWdnZWREYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCB7XG4gICAgc2V0Tm9kZVJlZjogc2V0RHJvcE5vZGVSZWYsXG4gICAgaXNPdmVyLFxuICAgIGFjdGl2ZTogZHJhZ0l0ZW0sXG4gIH0gPSB1c2VEcm9wcGFibGUoe1xuICAgIGlkOiBgZHJvcC0ke24uaW5kZXh9YCxcbiAgICBkYXRhOiB7XG4gICAgICB0eXBlOiAnZHJhZy1pbi10aGUtYmxhbmstZHJvcC1jaG9pY2UnLFxuICAgICAgYWNjZXB0czogWydkcmFnLWluLXRoZS1ibGFuay1jaG9pY2UnLCAnZHJhZy1pbi10aGUtYmxhbmstcGxhY2VkLWNob2ljZSddLFxuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2VJZCxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGlkOiBgZHJvcC0ke24uaW5kZXh9YCxcbiAgICAgIHBvcyxcbiAgICAgIG4sXG4gICAgICBvcHRzOiB7IGR1cGxpY2F0ZXMgfSxcbiAgICAgIG9uRHJvcDogKGRyYWdnZWREYXRhLCBkcm9wRGF0YSkgPT4ge1xuICAgICAgICAvLyBjaGVjayBpZiB3ZSdyZSBkcm9wcGluZyBpbnRvIGEgYmxhbmtcbiAgICAgICAgY29uc3QgaXNWYWxpZEJsYW5rID0gZHJvcERhdGE/LnR5cGUgPT09ICdkcmFnLWluLXRoZS1ibGFuay1kcm9wLWNob2ljZSc7XG5cbiAgICAgICAgaWYgKCFpc1ZhbGlkQmxhbmspIHJldHVybjtcblxuICAgICAgICAvLyBpZiB0aGUgZHJhZ2dlZCBhbmQgZHJvcHBlZCBkYXRhIGFyZSB0aGUgc2FtZSwgZG8gbm90aGluZ1xuICAgICAgICBpZiAoZHJhZ2dlZERhdGEudmFsdWUuaWQgPT09IGRyb3BEYXRhLnZhbHVlLmlkKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGRyYWdnZWREYXRhLnR5cGUgPT09ICdkcmFnLWluLXRoZS1ibGFuay1jaG9pY2UnKSB7XG4gICAgICAgICAgLy8gcGxhY2UgaW50byBibGFua1xuICAgICAgICAgIG9uQ2hhbmdlKGRyYWdnZWREYXRhKTtcblxuICAgICAgICAgIGlmICghZHVwbGljYXRlcyAmJiBkcmFnZ2VkRGF0YS5mcm9tQ2hvaWNlKSB7XG4gICAgICAgICAgICByZW1vdmVSZXNwb25zZShkcmFnZ2VkRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vdmluZyBwbGFjZWQgY2hvaWNlIGJldHdlZW4gYmxhbmtzXG4gICAgICAgIGlmIChkcmFnZ2VkRGF0YS50eXBlID09PSAnZHJhZy1pbi10aGUtYmxhbmstcGxhY2VkLWNob2ljZScpIHtcbiAgICAgICAgICAvLyBjbGVhciB0YXJnZXQgYmxhbmtcbiAgICAgICAgICByZW1vdmVSZXNwb25zZShkcm9wRGF0YSk7XG5cbiAgICAgICAgICAvLyBzZXQgbmV3IGJsYW5rIHZhbHVlXG4gICAgICAgICAgb25DaGFuZ2UoZHJhZ2dlZERhdGEpO1xuXG4gICAgICAgICAgLy8gY2xlYXIgb3JpZ2luYWwgYmxhbmsgLSBzbGlnaHQgZGVsYXkgdG8gZW5zdXJlIHN0YXRlIHVwZGF0ZXMgY29ycmVjdGx5XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZW1vdmVSZXNwb25zZShkcmFnZ2VkRGF0YSksIDEwKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBzZXROb2RlUmVmID0gKG5vZGUpID0+IHtcbiAgICBzZXREcmFnTm9kZVJlZihub2RlKTtcbiAgICBzZXREcm9wTm9kZVJlZihub2RlKTtcbiAgfTtcblxuICBjb25zdCBkcmFnQ29udGVudCA9IChcbiAgICA8QmxhbmtDb250ZW50IG49e259IGlzRHJhZ2dpbmc9e2lzRHJhZ2dpbmd9IGlzT3Zlcj17aXNPdmVyfSBkcmFnSXRlbT17ZHJhZ0l0ZW0/LmRhdGE/LmN1cnJlbnR9IHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CbGFua0NvbnRlbnQ+XG4gICk7XG5cbiAgY29uc3QgZHJhZ0VsID0gIXZhbHVlID8gKFxuICAgIDxzcGFuIHJlZj17c2V0RHJvcE5vZGVSZWZ9PntkcmFnQ29udGVudH08L3NwYW4+XG4gICkgOiAoXG4gICAgPHNwYW4gcmVmPXtzZXROb2RlUmVmfSB7Li4uZHJhZ0F0dHJpYnV0ZXN9IHsuLi5kcmFnTGlzdGVuZXJzfT5cbiAgICAgIHtkcmFnQ29udGVudH1cbiAgICA8L3NwYW4+XG4gICk7XG5cbiAgY29uc3QgY29udGVudCA9IDxTdHlsZWRDb250ZW50IGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhpc092ZXIgJiYgJ292ZXInKX0+e2RyYWdFbH08L1N0eWxlZENvbnRlbnQ+O1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5EcmFnRHJvcENob2ljZS5wcm9wVHlwZXMgPSB7XG4gIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGluc3RhbmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmVtb3ZlUmVzcG9uc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGR1cGxpY2F0ZXM6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJhZ0Ryb3BDaG9pY2U7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVEsU0FBQSxHQUFBUixPQUFBO0FBQWdELFNBQUFELHdCQUFBVSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBWix1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
250
+ //# sourceMappingURL=choice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"choice.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_core","_renderUi","_mathRendering","_styles","_classnames","_RespArea","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledContent","styled","_ref","theme","border","concat","palette","primary","main","fontSize","BlankContent","_ref2","_dragItem$value","children","isDragging","isOver","dragItem","value","_useState","useState","_useState2","_slicedToArray2","hoveredElementSize","setHoveredElementSize","elementRef","useRef","handleClick","event","current","contains","target","classList","add","remove","useEffect","document","addEventListener","removeEventListener","renderMath","node","width","offsetWidth","height","offsetHeight","label","finalLabel","hasGrip","isPreview","createElement","ref","style","display","minWidth","minHeight","background","color","defaults","BORDER_LIGHT","WHITE","BORDER_DARK","boxSizing","borderRadius","overflow","position","padding","undefined","index","contentEditable","GripIcon","top","left","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","bool","DragDropChoice","_ref3","_dragItem$data","disabled","instanceId","onChange","removeResponse","duplicates","pos","_useDraggable","useDraggable","id","data","opts","type","fromChoice","onRemove","draggedData","onDrop","dropData","isValidBlank","dragAttributes","attributes","dragListeners","listeners","setDragNodeRef","setNodeRef","_useDroppable","useDroppable","accepts","setTimeout","setDropNodeRef","active","dragContent","dragEl","_extends2","content","className","classnames","string","isRequired","func","_default","exports"],"sources":["../../../../src/components/respArea/DragInTheBlank/choice.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { styled } from '@mui/material/styles';\nimport classnames from 'classnames';\n\nimport { GripIcon } from '../../icons/RespArea';\n\nconst StyledContent = styled('span')(({ theme }) => ({\n border: `solid 0px ${theme.palette.primary.main}`,\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n}));\n\nexport function BlankContent({ n, children, isDragging, isOver, dragItem, value }) {\n const [hoveredElementSize, setHoveredElementSize] = useState(null);\n const elementRef = useRef(null);\n\n const handleClick = (event) => {\n if (!elementRef.current) return;\n\n if (elementRef.current.contains(event.target)) {\n elementRef.current.classList.add('selected');\n } else {\n elementRef.current.classList.remove('selected');\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClick);\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, []);\n\n useEffect(() => {\n if (elementRef.current && typeof renderMath === 'function') {\n renderMath(elementRef.current);\n }\n }, [value?.value, isOver, dragItem?.value?.value]);\n\n useEffect(() => {\n if (isOver && elementRef.current && !hoveredElementSize) {\n const node = elementRef.current;\n setHoveredElementSize({ width: node.offsetWidth, height: node.offsetHeight });\n } else if (!isOver && hoveredElementSize) {\n setHoveredElementSize(null);\n }\n }, [isOver, hoveredElementSize]);\n\n const label = dragItem && isOver ? dragItem.value.value : value.value || '\\u00A0';\n const finalLabel = isDragging ? '\\u00A0' : label;\n const hasGrip = finalLabel !== '\\u00A0';\n const isPreview = dragItem && isOver;\n\n return (\n <div\n ref={elementRef}\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n background: isPreview ? `${color.defaults.BORDER_LIGHT}` : `${color.defaults.WHITE}`,\n border: isPreview ? `1px solid ${color.defaults.BORDER_DARK}` : `1px solid ${color.defaults.BORDER_LIGHT}`,\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n position: 'relative',\n padding: '8px 8px 8px 35px',\n width: hoveredElementSize ? hoveredElementSize.width : undefined,\n height: hoveredElementSize ? hoveredElementSize.height : undefined,\n }}\n data-key={n.index}\n contentEditable={false}\n >\n {hasGrip && (\n <GripIcon\n style={{\n position: 'absolute',\n top: '6px',\n left: '15px',\n color: '#9B9B9B',\n }}\n contentEditable={false}\n />\n )}\n <span\n dangerouslySetInnerHTML={{\n __html: finalLabel,\n }}\n />\n {children}\n </div>\n );\n}\n\nBlankContent.propTypes = {\n n: PropTypes.object,\n children: PropTypes.node,\n isDragging: PropTypes.bool,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n value: PropTypes.object,\n};\n\nfunction DragDropChoice({ value, disabled, instanceId, children, n, onChange, removeResponse, duplicates, pos }) {\n const {\n attributes: dragAttributes,\n listeners: dragListeners,\n setNodeRef: setDragNodeRef,\n isDragging,\n } = useDraggable({\n id: `drag-${n.index}`,\n disabled: disabled || !value?.value,\n data: {\n id: `drag-${n.index}`,\n value,\n instanceId,\n n,\n pos,\n opts: { duplicates },\n type: 'drag-in-the-blank-placed-choice',\n fromChoice: !value,\n onRemove: (draggedData) => removeResponse(draggedData),\n onDrop: (draggedData, dropData) => {\n // check if we're dropping into a blank\n const isValidBlank = dropData?.type === 'drag-in-the-blank-drop-choice';\n\n if (!isValidBlank) return;\n\n // place into blank\n onChange(draggedData);\n\n if (!duplicates && draggedData.fromChoice) {\n removeResponse(draggedData);\n }\n },\n },\n });\n\n const {\n setNodeRef: setDropNodeRef,\n isOver,\n active: dragItem,\n } = useDroppable({\n id: `drop-${n.index}`,\n data: {\n type: 'drag-in-the-blank-drop-choice',\n accepts: ['drag-in-the-blank-choice', 'drag-in-the-blank-placed-choice'],\n instanceId: instanceId,\n value: value,\n id: `drop-${n.index}`,\n pos,\n n,\n opts: { duplicates },\n onDrop: (draggedData, dropData) => {\n // check if we're dropping into a blank\n const isValidBlank = dropData?.type === 'drag-in-the-blank-drop-choice';\n\n if (!isValidBlank) return;\n\n // if the dragged and dropped data are the same, do nothing\n if (draggedData.value.id === dropData.value.id) return;\n\n if (draggedData.type === 'drag-in-the-blank-choice') {\n // place into blank\n onChange(draggedData);\n\n if (!duplicates && draggedData.fromChoice) {\n removeResponse(draggedData);\n }\n return;\n }\n\n // moving placed choice between blanks\n if (draggedData.type === 'drag-in-the-blank-placed-choice') {\n // clear target blank\n removeResponse(dropData);\n\n // set new blank value\n onChange(draggedData);\n\n // clear original blank - slight delay to ensure state updates correctly\n setTimeout(() => removeResponse(draggedData), 10);\n }\n },\n },\n });\n\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n };\n\n const dragContent = (\n <BlankContent n={n} isDragging={isDragging} isOver={isOver} dragItem={dragItem?.data?.current} value={value}>\n {children}\n </BlankContent>\n );\n\n const dragEl = !value ? (\n <span ref={setDropNodeRef}>{dragContent}</span>\n ) : (\n <span ref={setNodeRef} {...dragAttributes} {...dragListeners}>\n {dragContent}\n </span>\n );\n\n const content = <StyledContent className={classnames(isOver && 'over')}>{dragEl}</StyledContent>;\n\n return content;\n}\n\nDragDropChoice.propTypes = {\n value: PropTypes.object,\n disabled: PropTypes.bool,\n instanceId: PropTypes.string,\n children: PropTypes.node,\n n: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n removeResponse: PropTypes.func.isRequired,\n duplicates: PropTypes.bool,\n};\n\nexport default DragDropChoice;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"choice.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_core","_renderUi","_mathRendering","_styles","_classnames","_RespArea","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledContent","styled","_ref","theme","border","concat","palette","primary","main","fontSize","BlankContent","_ref2","_dragItem$value","children","isDragging","isOver","dragItem","value","selected","_useState","useState","_useState2","_slicedToArray2","hoveredElementSize","setHoveredElementSize","elementRef","useRef","handleClick","event","current","contains","target","classList","add","remove","useEffect","document","addEventListener","removeEventListener","renderMath","node","width","offsetWidth","height","offsetHeight","label","finalLabel","hasGrip","isPreview","borderStyle","color","primaryDark","defaults","BORDER_DARK","BORDER_LIGHT","createElement","ref","className","undefined","style","display","minWidth","minHeight","background","WHITE","boxSizing","borderRadius","overflow","position","padding","touchAction","index","contentEditable","GripIcon","top","left","dangerouslySetInnerHTML","__html","propTypes","PropTypes","object","bool","DragDropChoice","_ref3","_dragItem$data","disabled","instanceId","onChange","removeResponse","duplicates","pos","_useDraggable","useDraggable","id","data","opts","type","fromChoice","onRemove","draggedData","onDrop","dropData","isValidBlank","dragAttributes","attributes","dragListeners","listeners","setDragNodeRef","setNodeRef","_useDroppable","useDroppable","accepts","setTimeout","setDropNodeRef","active","dragContent","dragEl","_extends2","content","classnames","string","isRequired","func","_default","exports"],"sources":["../../../../src/components/respArea/DragInTheBlank/choice.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { styled } from '@mui/material/styles';\nimport classnames from 'classnames';\n\nimport { GripIcon } from '../../icons/RespArea';\n\nconst StyledContent = styled('span')(({ theme }) => ({\n border: `solid 0px ${theme.palette.primary.main}`,\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n}));\n\nexport function BlankContent({ n, children, isDragging, isOver, dragItem, value, selected }) {\n const [hoveredElementSize, setHoveredElementSize] = useState(null);\n const elementRef = useRef(null);\n\n const handleClick = (event) => {\n if (!elementRef.current) return;\n\n if (elementRef.current.contains(event.target)) {\n elementRef.current.classList.add('selected');\n } else {\n elementRef.current.classList.remove('selected');\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClick);\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, []);\n\n useEffect(() => {\n if (elementRef.current && typeof renderMath === 'function') {\n renderMath(elementRef.current);\n }\n }, [value?.value, isOver, dragItem?.value?.value]);\n\n useEffect(() => {\n if (isOver && elementRef.current && !hoveredElementSize) {\n const node = elementRef.current;\n setHoveredElementSize({ width: node.offsetWidth, height: node.offsetHeight });\n } else if (!isOver && hoveredElementSize) {\n setHoveredElementSize(null);\n }\n }, [isOver, hoveredElementSize]);\n\n const label = dragItem && isOver ? dragItem.value.value : value.value || '\\u00A0';\n const finalLabel = isDragging ? '\\u00A0' : label;\n const hasGrip = finalLabel !== '\\u00A0';\n const isPreview = dragItem && isOver;\n\n const borderStyle = selected\n ? `2px solid ${color.primaryDark()}`\n : isPreview\n ? `1px solid ${color.defaults.BORDER_DARK}`\n : `1px solid ${color.defaults.BORDER_LIGHT}`;\n\n return (\n <div\n ref={elementRef}\n className={selected ? 'selected' : undefined}\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n background: isPreview ? `${color.defaults.BORDER_LIGHT}` : `${color.defaults.WHITE}`,\n border: borderStyle,\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n position: 'relative',\n padding: '8px 8px 8px 35px',\n width: hoveredElementSize ? hoveredElementSize.width : undefined,\n height: hoveredElementSize ? hoveredElementSize.height : undefined,\n touchAction: 'none',\n }}\n data-key={n.index}\n contentEditable={false}\n >\n {hasGrip && (\n <GripIcon\n style={{\n position: 'absolute',\n top: '6px',\n left: '15px',\n color: '#9B9B9B',\n }}\n contentEditable={false}\n />\n )}\n <span\n dangerouslySetInnerHTML={{\n __html: finalLabel,\n }}\n />\n {children}\n </div>\n );\n}\n\nBlankContent.propTypes = {\n n: PropTypes.object,\n children: PropTypes.node,\n isDragging: PropTypes.bool,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n value: PropTypes.object,\n selected: PropTypes.bool,\n};\n\nfunction DragDropChoice({\n value,\n disabled,\n instanceId,\n children,\n n,\n onChange,\n removeResponse,\n duplicates,\n pos,\n selected,\n}) {\n const {\n attributes: dragAttributes,\n listeners: dragListeners,\n setNodeRef: setDragNodeRef,\n isDragging,\n } = useDraggable({\n id: `drag-${n.index}`,\n disabled: disabled || !value?.value,\n data: {\n id: `drag-${n.index}`,\n value,\n instanceId,\n n,\n pos,\n opts: { duplicates },\n type: 'drag-in-the-blank-placed-choice',\n fromChoice: !value,\n onRemove: (draggedData) => removeResponse(draggedData),\n onDrop: (draggedData, dropData) => {\n // check if we're dropping into a blank\n const isValidBlank = dropData?.type === 'drag-in-the-blank-drop-choice';\n\n if (!isValidBlank) return;\n\n // place into blank\n onChange(draggedData);\n\n if (!duplicates && draggedData.fromChoice) {\n removeResponse(draggedData);\n }\n },\n },\n });\n\n const {\n setNodeRef: setDropNodeRef,\n isOver,\n active: dragItem,\n } = useDroppable({\n id: `drop-${n.index}`,\n data: {\n type: 'drag-in-the-blank-drop-choice',\n accepts: ['drag-in-the-blank-choice', 'drag-in-the-blank-placed-choice'],\n instanceId: instanceId,\n value: value,\n id: `drop-${n.index}`,\n pos,\n n,\n opts: { duplicates },\n onDrop: (draggedData, dropData) => {\n // check if we're dropping into a blank\n const isValidBlank = dropData?.type === 'drag-in-the-blank-drop-choice';\n\n if (!isValidBlank) return;\n\n // if the dragged and dropped data are the same, do nothing\n if (draggedData.value.id === dropData.value.id) return;\n\n if (draggedData.type === 'drag-in-the-blank-choice') {\n // place into blank\n onChange(draggedData);\n\n if (!duplicates && draggedData.fromChoice) {\n removeResponse(draggedData);\n }\n return;\n }\n\n // moving placed choice between blanks\n if (draggedData.type === 'drag-in-the-blank-placed-choice') {\n // clear target blank\n removeResponse(dropData);\n\n // set new blank value\n onChange(draggedData);\n\n // clear original blank - slight delay to ensure state updates correctly\n setTimeout(() => removeResponse(draggedData), 10);\n }\n },\n },\n });\n\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n };\n\n const dragContent = (\n <BlankContent\n n={n}\n isDragging={isDragging}\n isOver={isOver}\n dragItem={dragItem?.data?.current}\n value={value}\n selected={selected}\n >\n {children}\n </BlankContent>\n );\n\n const dragEl = !value ? (\n <span ref={setDropNodeRef}>{dragContent}</span>\n ) : (\n <span ref={setNodeRef} {...dragAttributes} {...dragListeners}>\n {dragContent}\n </span>\n );\n\n const content = <StyledContent className={classnames(isOver && 'over')}>{dragEl}</StyledContent>;\n\n return content;\n}\n\nDragDropChoice.propTypes = {\n value: PropTypes.object,\n disabled: PropTypes.bool,\n instanceId: PropTypes.string,\n children: PropTypes.node,\n n: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n removeResponse: PropTypes.func.isRequired,\n duplicates: PropTypes.bool,\n selected: PropTypes.bool,\n};\n\nexport default DragDropChoice;\n"],"mappings":"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","ignoreList":[]}
@@ -27,7 +27,7 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
27
27
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
28
28
  showToolbar = _useState2[0],
29
29
  setShowToolbar = _useState2[1];
30
- var EcrToolbar = respAreaToolbar(node, editor, function () {});
30
+ var EcrToolbar = respAreaToolbar([node, pos], editor, function () {});
31
31
  var toolbarRef = (0, _react.useRef)(null);
32
32
  var error;
33
33
  if (errorFn) {
@@ -115,4 +115,4 @@ ExplicitConstructedResponse.propTypes = {
115
115
  isFocused: _propTypes["default"].bool
116
116
  };
117
117
  var _default = exports["default"] = ExplicitConstructedResponse;
118
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QyIiwiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSIsInByb3BzIiwiZWRpdG9yIiwibm9kZSIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJhdHRycyIsInZhbHVlIiwicmVzcEFyZWFUb29sYmFyIiwiZXJyb3JGbiIsImVycm9yIiwicG9zIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd1Rvb2xiYXIiLCJzZXRTaG93VG9vbGJhciIsIkVjclRvb2xiYXIiLCJ0b29sYmFyUmVmIiwidXNlUmVmIiwiX2Vycm9yVmFsdWUkcmVzcEluZGV4IiwiZXJyb3JWYWx1ZSIsInJlc3BJbmRleCIsInBhcnNlSW50IiwiaW5kZXgiLCJoYW5kbGVEb25lIiwibmV3TGF0ZXgiLCJ1cGRhdGVBdHRyaWJ1dGVzIiwibGF0ZXgiLCJjb21tYW5kcyIsImZvY3VzIiwidXNlRWZmZWN0Iiwic2VsZWN0aW9uIiwic3RhdGUiLCJvbmx5VGhpc05vZGVTZWxlY3RlZCIsImZyb20iLCJub2RlU2l6ZSIsInRvIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJjdXJyZW50IiwiY29udGFpbnMiLCJ0YXJnZXQiLCJjbG9zZXN0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNyZWF0ZUVsZW1lbnQiLCJOb2RlVmlld1dyYXBwZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJtaW5IZWlnaHQiLCJwb3NpdGlvbiIsImN1cnNvciIsIl9leHRlbmRzMiIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiY29uY2F0IiwiYm94U2l6aW5nIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3ciLCJwYWRkaW5nIiwibWFyZ2luIiwibWluV2lkdGgiLCJ2aXNpYmlsaXR5Iiwib25DbGljayIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwicmVmIiwiekluZGV4IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYW55Iiwic3RyaW5nIiwiaXNGb2N1c2VkIiwiYm9vbCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuY29uc3QgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZWRpdG9yLCBub2RlLCBnZXRQb3MsIG9wdGlvbnMsIHNlbGVjdGVkIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhdHRyczogYXR0cmlidXRlcyB9ID0gbm9kZTtcbiAgY29uc3QgeyB2YWx1ZSB9ID0gYXR0cmlidXRlcztcbiAgY29uc3QgeyByZXNwQXJlYVRvb2xiYXIsIGVycm9yOiBlcnJvckZuIH0gPSBvcHRpb25zO1xuICBjb25zdCBwb3MgPSBnZXRQb3MoKTtcbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IEVjclRvb2xiYXIgPSByZXNwQXJlYVRvb2xiYXIobm9kZSwgZWRpdG9yLCAoKSA9PiB7fSk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG5cbiAgbGV0IGVycm9yO1xuXG4gIGlmIChlcnJvckZuKSB7XG4gICAgY29uc3QgZXJyb3JWYWx1ZSA9IGVycm9yRm4oKTtcbiAgICBjb25zdCByZXNwSW5kZXggPSBwYXJzZUludChhdHRyaWJ1dGVzLmluZGV4LCAxMCk7XG5cbiAgICBlcnJvciA9ICEhZXJyb3JWYWx1ZT8uW3Jlc3BJbmRleF0/LlswXTtcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICBlZGl0b3IuY29tbWFuZHMuZm9jdXMoKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3Iuc3RhdGU7XG4gICAgY29uc3Qgb25seVRoaXNOb2RlU2VsZWN0ZWQgPSBzZWxlY3Rpb24uZnJvbSArIG5vZGUubm9kZVNpemUgPT09IHNlbGVjdGlvbi50bztcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgaWYgKG9ubHlUaGlzTm9kZVNlbGVjdGVkKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZSwgc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0b29sYmFyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgIXRvb2xiYXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICFldmVudC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW5saW5lLW5vZGVdJylcbiAgICAgICkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzaG93VG9vbGJhcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9XCJkcmFnLWluLXRoZS1ibGFua1wiXG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIG1pbkhlaWdodDogJzU1cHgnLFxuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzQ2cHgnLFxuICAgICAgICAgIGhlaWdodDogJzQ2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkYnLFxuICAgICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2Vycm9yID8gJ3JlZCcgOiAnI0MwQzNDRid9YCxcbiAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTJweCAyMXB4JyxcbiAgICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICAgICAgbWluV2lkdGg6ICcxNzhweCcsXG4gICAgICAgICAgdmlzaWJpbGl0eTogc2hvd1Rvb2xiYXIgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJyxcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Rvb2xiYXIodHJ1ZSl9XG4gICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgX19odG1sOiB2YWx1ZSB8fCAnPGRpdj4mbmJzcDs8L2Rpdj4nLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBjbGFzc05hbWU9XCJhYnNvbHV0ZSB6LTUwIGJnLXdoaXRlIHNoYWRvdy1sZyByb3VuZGVkIHAtMlwiIHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8RWNyVG9vbGJhciAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UucHJvcFR5cGVzID0ge1xuICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBlcnJvcjogUHJvcFR5cGVzLmFueSxcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGlzRm9jdXNlZDogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2U7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBbUMsU0FBQUQsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFQLHVCQUFBLFlBQUFBLHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBTSxFQUFBLElBQUFkLENBQUEsZ0JBQUFjLEVBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxJQUFBRCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQU0sRUFB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
118
+ //# sourceMappingURL=ExplicitConstructedResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExplicitConstructedResponse.js","names":["_react","_interopRequireWildcard","require","_react2","_propTypes","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ExplicitConstructedResponse","props","editor","node","getPos","options","selected","attributes","attrs","value","respAreaToolbar","errorFn","error","pos","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","EcrToolbar","toolbarRef","useRef","_errorValue$respIndex","errorValue","respIndex","parseInt","index","handleDone","newLatex","updateAttributes","latex","commands","focus","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","handleClickOutside","event","current","contains","target","closest","document","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","minHeight","position","cursor","_extends2","width","height","backgroundColor","border","concat","boxSizing","borderRadius","overflow","padding","margin","minWidth","visibility","onClick","dangerouslySetInnerHTML","__html","ref","zIndex","propTypes","PropTypes","object","any","string","isFocused","bool","_default","exports"],"sources":["../../../src/components/respArea/ExplicitConstructedResponse.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value } = attributes;\n const { respAreaToolbar, error: errorFn } = options;\n const pos = getPos();\n const [showToolbar, setShowToolbar] = useState(false);\n const EcrToolbar = respAreaToolbar(node, editor, () => {});\n const toolbarRef = useRef(null);\n\n let error;\n\n if (errorFn) {\n const errorValue = errorFn();\n const respIndex = parseInt(attributes.index, 10);\n\n error = !!errorValue?.[respIndex]?.[0];\n }\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n editor.commands.focus();\n };\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"drag-in-the-blank\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n minHeight: '55px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n {...attributes}\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 margin: '0 4px',\n minWidth: '178px',\n visibility: showToolbar ? 'hidden' : 'visible',\n }}\n onClick={() => setShowToolbar(true)}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n {showToolbar && (\n <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <EcrToolbar />\n </div>\n )}\n </NodeViewWrapper>\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":"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","ignoreList":[]}
1
+ {"version":3,"file":"ExplicitConstructedResponse.js","names":["_react","_interopRequireWildcard","require","_react2","_propTypes","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ExplicitConstructedResponse","props","editor","node","getPos","options","selected","attributes","attrs","value","respAreaToolbar","errorFn","error","pos","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","EcrToolbar","toolbarRef","useRef","_errorValue$respIndex","errorValue","respIndex","parseInt","index","handleDone","newLatex","updateAttributes","latex","commands","focus","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","handleClickOutside","event","current","contains","target","closest","document","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","minHeight","position","cursor","_extends2","width","height","backgroundColor","border","concat","boxSizing","borderRadius","overflow","padding","margin","minWidth","visibility","onClick","dangerouslySetInnerHTML","__html","ref","zIndex","propTypes","PropTypes","object","any","string","isFocused","bool","_default","exports"],"sources":["../../../src/components/respArea/ExplicitConstructedResponse.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value } = attributes;\n const { respAreaToolbar, error: errorFn } = options;\n const pos = getPos();\n const [showToolbar, setShowToolbar] = useState(false);\n const EcrToolbar = respAreaToolbar([node, pos], editor, () => {});\n const toolbarRef = useRef(null);\n\n let error;\n\n if (errorFn) {\n const errorValue = errorFn();\n const respIndex = parseInt(attributes.index, 10);\n\n error = !!errorValue?.[respIndex]?.[0];\n }\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n editor.commands.focus();\n };\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"drag-in-the-blank\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n minHeight: '55px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n {...attributes}\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 margin: '0 4px',\n minWidth: '178px',\n visibility: showToolbar ? 'hidden' : 'visible',\n }}\n onClick={() => setShowToolbar(true)}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n {showToolbar && (\n <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <EcrToolbar />\n </div>\n )}\n </NodeViewWrapper>\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":"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","ignoreList":[]}
@@ -25,7 +25,9 @@ var InlineDropdown = function InlineDropdown(props) {
25
25
  // TODO: Investigate
26
26
  // Needed because items with values inside have different positioning for some reason
27
27
  var html = value || '<div>&nbsp</div>';
28
+ var pos = getPos();
28
29
  var toolbarRef = (0, _react.useRef)(null);
30
+ var toolbarEditor = (0, _react.useRef)(null);
29
31
  var _useState = (0, _react.useState)(false),
30
32
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
31
33
  showToolbar = _useState2[0],
@@ -37,7 +39,7 @@ var InlineDropdown = function InlineDropdown(props) {
37
39
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
38
40
  position = _useState4[0],
39
41
  setPosition = _useState4[1];
40
- var InlineDropdownToolbar = options.respAreaToolbar(node, editor, function () {});
42
+ var InlineDropdownToolbar = options.respAreaToolbar([node, pos], editor, function () {});
41
43
  (0, _react.useEffect)(function () {
42
44
  var selection = editor.state.selection;
43
45
  var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
@@ -60,7 +62,8 @@ var InlineDropdown = function InlineDropdown(props) {
60
62
  left: start.left
61
63
  });
62
64
  var handleClickOutside = function handleClickOutside(event) {
63
- if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
65
+ var insideSomeEditor = event.target.closest('[data-toolbar-for]');
66
+ if ((!insideSomeEditor || insideSomeEditor.dataset.toolbarFor !== toolbarEditor.current.instanceId) && !editor._toolbarOpened && toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
64
67
  setShowToolbar(false);
65
68
  }
66
69
  };
@@ -126,11 +129,15 @@ var InlineDropdown = function InlineDropdown(props) {
126
129
  style: {
127
130
  zIndex: 1
128
131
  }
129
- }, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, null)), document.body));
132
+ }, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, {
133
+ editorCallback: function editorCallback(instance) {
134
+ toolbarEditor.current = instance;
135
+ }
136
+ })), document.body));
130
137
  };
131
138
  InlineDropdown.propTypes = {
132
139
  attributes: _propTypes["default"].object,
133
140
  selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
134
141
  };
135
142
  var _default = exports["default"] = InlineDropdown;
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdDIiLCJfUmVzcEFyZWEiLCJfcmVhY3REb20iLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIklubGluZURyb3Bkb3duIiwicHJvcHMiLCJlZGl0b3IiLCJub2RlIiwiZ2V0UG9zIiwib3B0aW9ucyIsInNlbGVjdGVkIiwiYXR0cmlidXRlcyIsImF0dHJzIiwidmFsdWUiLCJlcnJvciIsImh0bWwiLCJ0b29sYmFyUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd1Rvb2xiYXIiLCJzZXRTaG93VG9vbGJhciIsIl91c2VTdGF0ZTMiLCJ0b3AiLCJsZWZ0IiwiX3VzZVN0YXRlNCIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJJbmxpbmVEcm9wZG93blRvb2xiYXIiLCJyZXNwQXJlYVRvb2xiYXIiLCJ1c2VFZmZlY3QiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJib2R5UmVjdCIsImRvY3VtZW50IiwiYm9keSIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInN0YXJ0IiwidmlldyIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiY2xvc2VzdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3JlYXRlRWxlbWVudCIsIk5vZGVWaWV3V3JhcHBlciIsImNsYXNzTmFtZSIsInN0eWxlIiwiZGlzcGxheSIsImhlaWdodCIsIm1hcmdpbiIsImN1cnNvciIsIm1pbldpZHRoIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsImFsaWduSXRlbXMiLCJvbkNsaWNrIiwiZmxleCIsIm92ZXJmbG93IiwicGFkZGluZyIsIndoaXRlU3BhY2UiLCJ0ZXh0T3ZlcmZsb3ciLCJ2ZXJ0aWNhbEFsaWduIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJDaGV2cm9uIiwiZGlyZWN0aW9uIiwicmlnaHQiLCJSZWFjdERPTSIsImNyZWF0ZVBvcnRhbCIsInJlZiIsInpJbmRleCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsInNlbGVjdGVkSXRlbSIsIm9uZU9mVHlwZSIsInN0cmluZyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0lubGluZURyb3Bkb3duLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IHsgQ2hldnJvbiB9IGZyb20gJy4uL2ljb25zL1Jlc3BBcmVhJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuXG5jb25zdCBJbmxpbmVEcm9wZG93biA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGVkaXRvciwgbm9kZSwgZ2V0UG9zLCBvcHRpb25zLCBzZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYXR0cnM6IGF0dHJpYnV0ZXMgfSA9IG5vZGU7XG4gIGNvbnN0IHsgdmFsdWUsIGVycm9yIH0gPSBhdHRyaWJ1dGVzO1xuICAvLyBUT0RPOiBJbnZlc3RpZ2F0ZVxuICAvLyBOZWVkZWQgYmVjYXVzZSBpdGVtcyB3aXRoIHZhbHVlcyBpbnNpZGUgaGF2ZSBkaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIHNvbWUgcmVhc29uXG4gIGNvbnN0IGh0bWwgPSB2YWx1ZSB8fCAnPGRpdj4mbmJzcDwvZGl2Pic7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlKHsgdG9wOiAwLCBsZWZ0OiAwIH0pO1xuICBjb25zdCBJbmxpbmVEcm9wZG93blRvb2xiYXIgPSBvcHRpb25zLnJlc3BBcmVhVG9vbGJhcihub2RlLCBlZGl0b3IsICgpID0+IHt9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3Iuc3RhdGU7XG4gICAgY29uc3Qgb25seVRoaXNOb2RlU2VsZWN0ZWQgPSBzZWxlY3Rpb24uZnJvbSArIG5vZGUubm9kZVNpemUgPT09IHNlbGVjdGlvbi50bztcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgaWYgKG9ubHlUaGlzTm9kZVNlbGVjdGVkKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZSwgc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENhbGN1bGF0ZSBwb3NpdGlvbiByZWxhdGl2ZSB0byBzZWxlY3Rpb25cbiAgICBjb25zdCBib2R5UmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgeyBmcm9tIH0gPSBlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uO1xuICAgIGNvbnN0IHN0YXJ0ID0gZWRpdG9yLnZpZXcuY29vcmRzQXRQb3MoZnJvbSk7XG5cbiAgICBzZXRQb3NpdGlvbih7XG4gICAgICB0b3A6IHN0YXJ0LnRvcCArIE1hdGguYWJzKGJvZHlSZWN0LnRvcCkgKyA0MCwgLy8gc2hpZnQgYWJvdmVcbiAgICAgIGxlZnQ6IHN0YXJ0LmxlZnQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWRyb3Bkb3duXCJcbiAgICAgIGRhdGEtc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgICAgIG1hcmdpbjogJzAgNXB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBwYWRkaW5nOiAnMCAyNXB4IDAgOHB4JyxcbiAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgIF9faHRtbDogaHRtbCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxDaGV2cm9uXG4gICAgICAgICAgZGlyZWN0aW9uPVwiZG93blwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnNXB4JyxcbiAgICAgICAgICAgIHJpZ2h0OiAnNXB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7c2hvd1Rvb2xiYXIgJiZcbiAgICAgICAgUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBzdHlsZT17eyB6SW5kZXg6IDEgfX0+XG4gICAgICAgICAgICA8SW5saW5lRHJvcGRvd25Ub29sYmFyIC8+XG4gICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5JbmxpbmVEcm9wZG93bi5wcm9wVHlwZXMgPSB7XG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIHNlbGVjdGVkSXRlbTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm9iamVjdF0pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5saW5lRHJvcGRvd247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNB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
143
+ //# sourceMappingURL=InlineDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_react2","_RespArea","_reactDom","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InlineDropdown","props","editor","node","getPos","options","selected","attributes","attrs","value","error","html","toolbarRef","useRef","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","_useState3","top","left","_useState4","position","setPosition","InlineDropdownToolbar","respAreaToolbar","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","bodyRect","document","body","getBoundingClientRect","start","view","coordsAtPos","Math","abs","handleClickOutside","event","current","contains","target","closest","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","alignItems","onClick","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","right","ReactDOM","createPortal","ref","zIndex","propTypes","PropTypes","object","selectedItem","oneOfType","string","_default","exports"],"sources":["../../../src/components/respArea/InlineDropdown.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { Chevron } from '../icons/RespArea';\nimport ReactDOM from 'react-dom';\n\nconst InlineDropdown = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value, error } = attributes;\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = value || '<div>&nbsp</div>';\n const toolbarRef = useRef(null);\n const [showToolbar, setShowToolbar] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const InlineDropdownToolbar = options.respAreaToolbar(node, editor, () => {});\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"inline-dropdown\"\n data-selected={selected}\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 margin: '0 4px',\n position: 'relative',\n alignItems: 'center',\n }}\n onClick={() => setShowToolbar(true)}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n <span\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n </div>\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n {showToolbar &&\n ReactDOM.createPortal(\n <div ref={toolbarRef} style={{ zIndex: 1 }}>\n <InlineDropdownToolbar />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InlineDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_react2","_RespArea","_reactDom","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InlineDropdown","props","editor","node","getPos","options","selected","attributes","attrs","value","error","html","pos","toolbarRef","useRef","toolbarEditor","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","_useState3","top","left","_useState4","position","setPosition","InlineDropdownToolbar","respAreaToolbar","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","bodyRect","document","body","getBoundingClientRect","start","view","coordsAtPos","Math","abs","handleClickOutside","event","insideSomeEditor","target","closest","dataset","toolbarFor","current","instanceId","_toolbarOpened","contains","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","alignItems","onClick","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","right","ReactDOM","createPortal","ref","zIndex","editorCallback","instance","propTypes","PropTypes","object","selectedItem","oneOfType","string","_default","exports"],"sources":["../../../src/components/respArea/InlineDropdown.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { Chevron } from '../icons/RespArea';\nimport ReactDOM from 'react-dom';\n\nconst InlineDropdown = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value, error } = attributes;\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = value || '<div>&nbsp</div>';\n const pos = getPos();\n const toolbarRef = useRef(null);\n const toolbarEditor = useRef(null);\n const [showToolbar, setShowToolbar] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const InlineDropdownToolbar = options.respAreaToolbar([node, pos], editor, () => {});\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n const insideSomeEditor = event.target.closest('[data-toolbar-for]');\n\n if (\n (!insideSomeEditor || insideSomeEditor.dataset.toolbarFor !== toolbarEditor.current.instanceId) &&\n !editor._toolbarOpened &&\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"inline-dropdown\"\n data-selected={selected}\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 margin: '0 4px',\n position: 'relative',\n alignItems: 'center',\n }}\n onClick={() => setShowToolbar(true)}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n <span\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n </div>\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n {showToolbar &&\n ReactDOM.createPortal(\n <div ref={toolbarRef} style={{ zIndex: 1 }}>\n <InlineDropdownToolbar\n editorCallback={(instance) => {\n toolbarEditor.current = instance;\n }}\n />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react2 = require("@tiptap/react");
11
+ var _mathInput = require("@pie-lib/math-input");
12
+ var _styles = require("@mui/material/styles");
13
+ var StyledSpanContainer = (0, _styles.styled)('span')(function () {
14
+ return {
15
+ display: 'inline-flex',
16
+ border: '1px solid #C0C3CF',
17
+ margin: '1px 5px',
18
+ cursor: 'pointer',
19
+ alignItems: 'center',
20
+ justifyContent: 'center',
21
+ minWidth: '50px',
22
+ minHeight: '36px',
23
+ height: 'fit-content'
24
+ };
25
+ });
26
+ var StyledResponseBox = (0, _styles.styled)('div')(function (_ref) {
27
+ var theme = _ref.theme;
28
+ return {
29
+ background: theme.palette.grey['A100'],
30
+ color: theme.palette.grey['A700'],
31
+ display: 'inline-flex',
32
+ borderRight: '2px solid #C0C3CF',
33
+ boxSizing: 'border-box',
34
+ overflow: 'hidden',
35
+ fontSize: '12px',
36
+ minHeight: '36px',
37
+ height: '100%',
38
+ alignItems: 'center',
39
+ fontFamily: 'Symbola, Times New Roman, serif',
40
+ padding: '0 2px'
41
+ };
42
+ });
43
+ var StyledMathBlock = (0, _styles.styled)('div')(function () {
44
+ return {
45
+ flex: 8,
46
+ color: 'var(--pie-text, black)',
47
+ padding: '4px !important',
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ backgroundColor: 'var(--pie-background, rgba(255, 255, 255, 0))',
52
+ '& > .mq-math-mode sup.mq-nthroot': {
53
+ fontSize: '70% !important',
54
+ verticalAlign: '1em !important'
55
+ },
56
+ '& > .mq-math-mode .mq-sqrt-stem': {
57
+ borderTop: '0.07em solid',
58
+ marginLeft: '-1.5px',
59
+ marginTop: '-2px !important',
60
+ paddingTop: '5px !important'
61
+ },
62
+ '& .mq-overarrow-inner': {
63
+ paddingTop: '0 !important',
64
+ border: 'none !important'
65
+ },
66
+ '& .mq-overarrow.mq-arrow-both': {
67
+ marginTop: '0px',
68
+ minWidth: '1.23em',
69
+ '& *': {
70
+ lineHeight: '1 !important'
71
+ },
72
+ '&:before': {
73
+ top: '-0.4em',
74
+ left: '-1px'
75
+ },
76
+ '&:after': {
77
+ top: '0px !important',
78
+ position: 'absolute !important',
79
+ right: '-2px'
80
+ },
81
+ '&.mq-empty:after': {
82
+ top: '-0.45em'
83
+ }
84
+ },
85
+ '& .mq-overarrow.mq-arrow-right': {
86
+ '&:before': {
87
+ top: '-0.4em',
88
+ right: '-1px'
89
+ }
90
+ },
91
+ '& .mq-overarrow-inner-right': {
92
+ display: 'none !important'
93
+ },
94
+ '& .mq-overarrow-inner-left': {
95
+ display: 'none !important'
96
+ }
97
+ };
98
+ });
99
+ var MathTemplated = function MathTemplated(props) {
100
+ var node = props.node,
101
+ options = props.options,
102
+ selected = props.selected;
103
+ var attributes = node.attrs;
104
+ var value = attributes.value,
105
+ index = attributes.index;
106
+
107
+ // add 1 to index to display R 1 instead of R 0
108
+ var keyToDisplay = "R ".concat(parseInt(index) + 1);
109
+
110
+ // console.log({nodeProps.children})
111
+ return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
112
+ className: "math-templated",
113
+ "data-selected": selected,
114
+ style: {
115
+ display: 'inline-flex',
116
+ minHeight: '36px',
117
+ minWidth: '50px',
118
+ cursor: 'pointer'
119
+ }
120
+ }, /*#__PURE__*/_react["default"].createElement(StyledSpanContainer, attributes, /*#__PURE__*/_react["default"].createElement(StyledResponseBox, null, keyToDisplay), /*#__PURE__*/_react["default"].createElement(StyledMathBlock, null, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
121
+ latex: value
122
+ }))));
123
+ };
124
+ MathTemplated.propTypes = {
125
+ attributes: _propTypes["default"].object,
126
+ value: _propTypes["default"].string,
127
+ keyToDisplay: _propTypes["default"].string
128
+ };
129
+ var _default = exports["default"] = MathTemplated;
130
+ //# sourceMappingURL=MathTemplated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathTemplated.js","names":["_react","_interopRequireDefault","require","_propTypes","_react2","_mathInput","_styles","StyledSpanContainer","styled","display","border","margin","cursor","alignItems","justifyContent","minWidth","minHeight","height","StyledResponseBox","_ref","theme","background","palette","grey","color","borderRight","boxSizing","overflow","fontSize","fontFamily","padding","StyledMathBlock","flex","backgroundColor","verticalAlign","borderTop","marginLeft","marginTop","paddingTop","lineHeight","top","left","position","right","MathTemplated","props","node","options","selected","attributes","attrs","value","index","keyToDisplay","concat","parseInt","createElement","NodeViewWrapper","className","style","mq","Static","latex","propTypes","PropTypes","object","string","_default","exports"],"sources":["../../../src/components/respArea/MathTemplated.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { mq } from '@pie-lib/math-input';\nimport { styled } from '@mui/material/styles';\n\nconst StyledSpanContainer = styled('span')(() => ({\n display: 'inline-flex',\n border: '1px solid #C0C3CF',\n margin: '1px 5px',\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '50px',\n minHeight: '36px',\n height: 'fit-content',\n}));\n\nconst StyledResponseBox = styled('div')(({ theme }) => ({\n background: theme.palette.grey['A100'],\n color: theme.palette.grey['A700'],\n display: 'inline-flex',\n borderRight: '2px solid #C0C3CF',\n boxSizing: 'border-box',\n overflow: 'hidden',\n fontSize: '12px',\n minHeight: '36px',\n height: '100%',\n alignItems: 'center',\n fontFamily: 'Symbola, Times New Roman, serif',\n padding: '0 2px',\n}));\n\nconst StyledMathBlock = styled('div')(() => ({\n flex: 8,\n color: 'var(--pie-text, black)',\n padding: '4px !important',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'var(--pie-background, rgba(255, 255, 255, 0))',\n '& > .mq-math-mode sup.mq-nthroot': {\n fontSize: '70% !important',\n verticalAlign: '1em !important',\n },\n '& > .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important',\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important',\n },\n '& .mq-overarrow.mq-arrow-both': {\n marginTop: '0px',\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px',\n },\n '&:after': {\n top: '0px !important',\n position: 'absolute !important',\n right: '-2px',\n },\n '&.mq-empty:after': {\n top: '-0.45em',\n },\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px',\n },\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important',\n },\n}));\nconst MathTemplated = (props) => {\n const { node, options, selected } = props;\n const { attrs: attributes } = node;\n const { value, index } = attributes;\n\n // add 1 to index to display R 1 instead of R 0\n const keyToDisplay = `R ${parseInt(index) + 1}`;\n\n // console.log({nodeProps.children})\n return (\n <NodeViewWrapper\n className=\"math-templated\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n minHeight: '36px',\n minWidth: '50px',\n cursor: 'pointer',\n }}\n >\n <StyledSpanContainer {...attributes}>\n <StyledResponseBox>{keyToDisplay}</StyledResponseBox>\n <StyledMathBlock>\n <mq.Static latex={value} />\n </StyledMathBlock>\n </StyledSpanContainer>\n </NodeViewWrapper>\n );\n};\n\nMathTemplated.propTypes = {\n attributes: PropTypes.object,\n value: PropTypes.string,\n keyToDisplay: PropTypes.string,\n};\n\nexport default MathTemplated;\n"],"mappings":"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","ignoreList":[]}
@@ -78,4 +78,4 @@ var StyledToolbarIcon = (0, _styles.styled)('div')(function (_ref2) {
78
78
  var ToolbarIcon = exports.ToolbarIcon = function ToolbarIcon() {
79
79
  return /*#__PURE__*/_react["default"].createElement(StyledToolbarIcon, null, "+ Response Area");
80
80
  };
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIkNoZXZyb24iLCJleHBvcnRzIiwicHJvcHMiLCJkaXJlY3Rpb24iLCJzdHlsZSIsInJvdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJ0cmFuc2Zvcm0iLCJjb25jYXQiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJ4bWxucyIsImQiLCJmaWxsIiwiR3JpcEljb24iLCJfcmVmIiwibWFyZ2luIiwiU3R5bGVkVG9vbGJhckljb24iLCJzdHlsZWQiLCJfcmVmMiIsInRoZW1lIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwicG9zaXRpb24iLCJ0b3AiLCJ3aGl0ZVNwYWNlIiwiVG9vbGJhckljb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZXNwQXJlYS9Ub29sYmFySWNvbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuZXhwb3J0IGNvbnN0IENoZXZyb24gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBkaXJlY3Rpb24sIHN0eWxlIH0gPSBwcm9wcztcbiAgY29uc3Qgcm90YXRlID0gKCgpID0+IHtcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIHJldHVybiA5MDtcbiAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgcmV0dXJuIC05MDtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICByZXR1cm4gMTgwO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9KSgpO1xuXG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgc3R5bGU9e3tcbiAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKCR7cm90YXRlfWRlZylgLFxuICAgICAgICAuLi5zdHlsZSxcbiAgICAgIH19XG4gICAgICB3aWR0aD1cIjI0XCJcbiAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGggZD1cIk0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgLz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBHcmlwSWNvbiA9ICh7IHN0eWxlIH0pID0+IChcbiAgPHNwYW4gc3R5bGU9e3N0eWxlfT5cbiAgICA8c3ZnXG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXJnaW46ICcwIC0xNnB4JyxcbiAgICAgIH19XG4gICAgICB3aWR0aD1cIjI0XCJcbiAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGggZD1cIk05IDNIN3YyaDJWM3ptMCA0SDd2MmgyVjd6bTAgNEg3djJoMnYtMnptMCA0SDd2Mmgydi0yem0wIDRIN3YyaDJ2LTJ6bTQtMTZoLTJ2MmgyVjN6bTAgNGgtMnYyaDJWN3ptMCA0aC0ydjJoMnYtMnptMCA0aC0ydjJoMnYtMnptMCA0aC0ydjJoMnYtMnpcIiAvPlxuICAgIDwvc3ZnPlxuICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxwYXRoIGQ9XCJNOSAzSDd2MmgyVjN6bTAgNEg3djJoMlY3em0wIDRIN3YyaDJ2LTJ6bTAgNEg3djJoMnYtMnptMCA0SDd2Mmgydi0yem00LTE2aC0ydjJoMlYzem0wIDRoLTJ2MmgyVjd6bTAgNGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6XCIgLz5cbiAgICA8L3N2Zz5cbiAgPC9zcGFuPlxuKTtcblxuY29uc3QgU3R5bGVkVG9vbGJhckljb24gPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMgIWltcG9ydGFudCcsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gIGxpbmVIZWlnaHQ6ICcxNHB4JyxcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIHRvcDogJzdweCcsXG4gIHdpZHRoOiAnMTEwcHgnLFxuICBoZWlnaHQ6ICcyOHB4JyxcbiAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG59KSk7XG5cbmV4cG9ydCBjb25zdCBUb29sYmFySWNvbiA9ICgpID0+IDxTdHlsZWRUb29sYmFySWNvbj4rIFJlc3BvbnNlIEFyZWE8L1N0eWxlZFRvb2xiYXJJY29uPjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFBOEMsU0FBQUUsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFD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
81
+ //# sourceMappingURL=ToolbarIcon.js.map