@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.4

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 (165) hide show
  1. package/lib/components/CharacterPicker.js +221 -0
  2. package/lib/components/CharacterPicker.js.map +1 -0
  3. package/lib/components/EditableHtml.js +323 -0
  4. package/lib/components/EditableHtml.js.map +1 -0
  5. package/lib/components/MenuBar.js +694 -0
  6. package/lib/components/MenuBar.js.map +1 -0
  7. package/lib/components/TiptapContainer.js +90 -0
  8. package/lib/components/TiptapContainer.js.map +1 -0
  9. package/lib/components/buttons/done-button.js +53 -0
  10. package/lib/components/characters/characterUtils.js +112 -0
  11. package/lib/components/characters/characterUtils.js.map +1 -0
  12. package/lib/components/characters/custom-popper.js +73 -0
  13. package/lib/components/characters/custom-popper.js.map +1 -0
  14. package/lib/components/common/done-button.js +53 -0
  15. package/lib/components/common/done-button.js.map +1 -0
  16. package/lib/components/common/toolbar-buttons.js +194 -0
  17. package/lib/components/icons/CssIcon.js +37 -0
  18. package/lib/components/icons/CssIcon.js.map +1 -0
  19. package/lib/components/icons/RespArea.js +95 -0
  20. package/lib/components/icons/RespArea.js.map +1 -0
  21. package/lib/components/icons/TableIcons.js +69 -0
  22. package/lib/components/icons/TableIcons.js.map +1 -0
  23. package/lib/components/icons/TextAlign.js +194 -0
  24. package/lib/components/icons/TextAlign.js.map +1 -0
  25. package/lib/components/icons/index.js +194 -0
  26. package/lib/components/image/AltDialog.js +129 -0
  27. package/lib/components/image/ImageToolbar.js +177 -0
  28. package/lib/components/image/ImageToolbar.js.map +1 -0
  29. package/lib/components/image/InsertImageHandler.js +115 -0
  30. package/lib/components/image/InsertImageHandler.js.map +1 -0
  31. package/lib/components/image/alt-dialog.js +2 -0
  32. package/lib/components/media/MediaDialog.js +709 -0
  33. package/lib/components/media/MediaDialog.js.map +1 -0
  34. package/lib/components/media/MediaToolbar.js +101 -0
  35. package/lib/components/media/MediaToolbar.js.map +1 -0
  36. package/lib/components/media/MediaWrapper.js +93 -0
  37. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
  38. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
  39. package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
  40. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
  41. package/lib/components/respArea/DragInTheBlank.js +94 -0
  42. package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
  43. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
  44. package/lib/components/respArea/InlineDropdown.js +126 -0
  45. package/lib/components/respArea/InlineDropdown.js.map +1 -0
  46. package/lib/components/respArea/ToolbarIcon.js +105 -0
  47. package/lib/components/respArea/ToolbarIcon.js.map +1 -0
  48. package/lib/components/respArea/choice.js +2 -0
  49. package/lib/constants.js.map +1 -0
  50. package/lib/extensions/component.js +5 -5
  51. package/lib/extensions/component.js.map +1 -0
  52. package/lib/extensions/css.js.map +1 -0
  53. package/lib/extensions/custom-toolbar-wrapper.js +2 -4
  54. package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
  55. package/lib/extensions/extended-table.js +30 -0
  56. package/lib/extensions/extended-table.js.map +1 -0
  57. package/lib/extensions/image.js +2 -8
  58. package/lib/extensions/image.js.map +1 -0
  59. package/lib/extensions/index.js +52 -0
  60. package/lib/extensions/index.js.map +1 -0
  61. package/lib/extensions/math.js.map +1 -0
  62. package/lib/extensions/media.js +7 -7
  63. package/lib/extensions/media.js.map +1 -0
  64. package/lib/extensions/responseArea.js +7 -7
  65. package/lib/extensions/responseArea.js.map +1 -0
  66. package/lib/index.js +16 -1481
  67. package/lib/index.js.map +1 -0
  68. package/lib/plugins/index.js +8 -80
  69. package/lib/styles/editorContainerStyles.js +200 -0
  70. package/lib/styles/editorContainerStyles.js.map +1 -0
  71. package/lib/theme.js.map +1 -0
  72. package/lib/utils/size.js +34 -0
  73. package/lib/utils/size.js.map +1 -0
  74. package/package.json +1 -1
  75. package/src/components/CharacterPicker.jsx +185 -0
  76. package/src/components/EditableHtml.jsx +306 -0
  77. package/src/components/MenuBar.jsx +630 -0
  78. package/src/components/TiptapContainer.jsx +96 -0
  79. package/src/components/characters/characterUtils.js +127 -0
  80. package/src/{plugins/image/image-toolbar.jsx → components/image/ImageToolbar.jsx} +2 -2
  81. package/src/{plugins/image/insert-image-handler.js → components/image/InsertImageHandler.js} +0 -1
  82. package/src/{plugins/media/media-dialog.js → components/media/MediaDialog.js} +2 -2
  83. package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
  84. package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
  85. package/src/components/respArea/ToolbarIcon.jsx +68 -0
  86. package/src/extensions/component.jsx +2 -2
  87. package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
  88. package/src/extensions/extended-table.js +27 -0
  89. package/src/extensions/image.js +2 -2
  90. package/src/extensions/index.js +76 -0
  91. package/src/extensions/media.js +12 -7
  92. package/src/extensions/responseArea.js +7 -7
  93. package/src/index.jsx +3 -1440
  94. package/src/styles/editorContainerStyles.js +203 -0
  95. package/src/utils/size.js +32 -0
  96. package/src/__tests__/editor.test.jsx +0 -363
  97. package/src/__tests__/serialization.test.js +0 -291
  98. package/src/block-tags.js +0 -17
  99. package/src/editor.jsx +0 -1197
  100. package/src/extensions/characters.js +0 -46
  101. package/src/old-index.jsx +0 -162
  102. package/src/parse-html.js +0 -8
  103. package/src/plugins/README.md +0 -27
  104. package/src/plugins/characters/index.jsx +0 -284
  105. package/src/plugins/characters/utils.js +0 -447
  106. package/src/plugins/css/index.jsx +0 -340
  107. package/src/plugins/customPlugin/index.jsx +0 -85
  108. package/src/plugins/html/icons/index.jsx +0 -19
  109. package/src/plugins/html/index.jsx +0 -72
  110. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
  111. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
  112. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
  113. package/src/plugins/image/__tests__/component.test.jsx +0 -41
  114. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
  115. package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
  116. package/src/plugins/image/__tests__/index.test.js +0 -95
  117. package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
  118. package/src/plugins/image/__tests__/mock-change.js +0 -15
  119. package/src/plugins/image/component.jsx +0 -343
  120. package/src/plugins/image/index.jsx +0 -227
  121. package/src/plugins/index.jsx +0 -377
  122. package/src/plugins/list/__tests__/index.test.js +0 -54
  123. package/src/plugins/list/index.jsx +0 -305
  124. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
  125. package/src/plugins/math/__tests__/index.test.jsx +0 -245
  126. package/src/plugins/math/index.jsx +0 -379
  127. package/src/plugins/media/__tests__/index.test.js +0 -75
  128. package/src/plugins/media/index.jsx +0 -325
  129. package/src/plugins/rendering/index.js +0 -31
  130. package/src/plugins/respArea/index.jsx +0 -299
  131. package/src/plugins/respArea/math-templated/index.jsx +0 -104
  132. package/src/plugins/respArea/utils.jsx +0 -90
  133. package/src/plugins/table/CustomTablePlugin.js +0 -113
  134. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
  135. package/src/plugins/table/__tests__/index.test.jsx +0 -401
  136. package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
  137. package/src/plugins/table/index.jsx +0 -427
  138. package/src/plugins/table/table-toolbar.jsx +0 -136
  139. package/src/plugins/textAlign/index.jsx +0 -23
  140. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
  141. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
  142. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
  143. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
  144. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
  145. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
  146. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
  147. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
  148. package/src/plugins/toolbar/default-toolbar.jsx +0 -206
  149. package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
  150. package/src/plugins/toolbar/index.jsx +0 -23
  151. package/src/plugins/toolbar/toolbar.jsx +0 -338
  152. package/src/plugins/utils.js +0 -31
  153. package/src/serialization.jsx +0 -621
  154. /package/src/{plugins → components}/characters/custom-popper.js +0 -0
  155. /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
  156. /package/src/{plugins/toolbar → components/common}/toolbar-buttons.jsx +0 -0
  157. /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
  158. /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
  159. /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
  160. /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
  161. /package/src/{plugins/image/alt-dialog.jsx → components/image/AltDialog.jsx} +0 -0
  162. /package/src/{plugins/media/media-toolbar.jsx → components/media/MediaToolbar.jsx} +0 -0
  163. /package/src/{plugins/media/media-wrapper.jsx → components/media/MediaWrapper.jsx} +0 -0
  164. /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
  165. /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/respArea/DragInTheBlank/choice.jsx"],"names":["useStyles","theme","content","border","palette","primary","main","fontSize","chip","minWidth","correct","color","incorrect","error","selected","primaryDark","BlankContent","props","handleClick","bind","state","hoveredElementSize","document","addEventListener","removeEventListener","event","classes","elementRef","className","contains","target","prevProps","isOver","node","width","offsetWidth","height","offsetHeight","prevState","snapshot","renderMath","setState","n","children","isDragging","dragItem","value","label","finalLabel","hasGrip","isPreview","ref","display","minHeight","background","defaults","BORDER_LIGHT","WHITE","BORDER_DARK","boxSizing","borderRadius","overflow","position","padding","undefined","key","top","left","__html","React","Component","PropTypes","object","func","bool","StyledBlankContent","connectedBlankContent","connectDropTarget","connectDragSource","dragContent","dragEl","over","tileTarget","drop","monitor","draggedItem","getItem","shouldDrop","index","onChange","dropped","canDrop","instanceId","DropTile","connect","dropTarget","shallow","tileSource","canDrag","disabled","beginDrag","id","targetId","fromChoice","endDrag","dropResult","getDropResult","duplicates","removeResponse","dragSource"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isUndefined from 'lodash/isUndefined';\nimport { DragSource, DropTarget } from '@pie-lib/drag';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\n\nimport { GripIcon } from '../../icons/RespArea';\n\nconst useStyles = withStyles((theme) => ({\n content: {\n border: `solid 0px ${theme.palette.primary.main}`,\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n chip: {\n minWidth: '90px',\n },\n correct: {\n border: `solid 1px ${color.correct()}`,\n },\n incorrect: {\n border: `solid 1px ${theme.palette.error.main}`,\n },\n selected: {\n border: `2px solid ${color.primaryDark()} !important`,\n },\n}));\n\nexport class BlankContent extends React.Component {\n static propTypes = {\n n: PropTypes.object,\n children: PropTypes.func,\n isDragging: PropTypes.bool,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n value: PropTypes.object,\n classes: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n this.handleClick = this.handleClick.bind(this);\n this.state = { hoveredElementSize: null };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleClick);\n }\n\n handleClick(event) {\n const { classes } = this.props;\n\n if (this.elementRef) {\n this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';\n }\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (!prevProps.isOver && this.props.isOver && this.elementRef) {\n const node = this.elementRef;\n return { width: node.offsetWidth, height: node.offsetHeight };\n }\n return null;\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.elementRef && typeof renderMath === 'function') {\n renderMath(this.elementRef);\n }\n\n if (\n snapshot &&\n (!this.state.hoveredElementSize ||\n this.state.hoveredElementSize.width !== snapshot.width ||\n this.state.hoveredElementSize.height !== snapshot.height)\n ) {\n this.setState({ hoveredElementSize: snapshot });\n return;\n }\n\n if (prevProps.isOver && !this.props.isOver && this.state.hoveredElementSize) {\n this.setState({ hoveredElementSize: null });\n }\n }\n\n render() {\n const { n, children, isDragging, dragItem, isOver, value } = this.props;\n const { hoveredElementSize } = this.state;\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={(ref) => (this.elementRef = ref)}\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.key}\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}\n\nconst StyledBlankContent = useStyles(BlankContent);\n\nconst connectedBlankContent = useStyles(({ connectDropTarget, connectDragSource, ...props }) => {\n const { classes, isOver, value } = props;\n const dragContent = <StyledBlankContent {...props} />;\n const dragEl = !value ? dragContent : connectDragSource(<span>{dragContent}</span>);\n const content = <span className={classnames(classes.content, isOver && classes.over)}>{dragEl}</span>;\n\n return connectDropTarget ? connectDropTarget(content) : content;\n});\n\nexport const tileTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n const shouldDrop =\n isUndefined(draggedItem.value.index) ||\n isUndefined(props.value.index) ||\n draggedItem.value.index !== props.value.index;\n\n if (shouldDrop) {\n props.onChange(draggedItem.value);\n }\n\n return {\n dropped: shouldDrop,\n };\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nconst DropTile = DropTarget('drag-in-the-blank-choice', tileTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver({ shallow: true }),\n dragItem: monitor.getItem(),\n}))(connectedBlankContent);\n\nexport const tileSource = {\n canDrag(props) {\n return !props.disabled && !!props.value;\n },\n beginDrag(props) {\n return {\n id: props.targetId,\n value: props.value,\n instanceId: props.instanceId,\n fromChoice: true,\n };\n },\n endDrag(props, monitor) {\n // this will be null if it did not drop\n const dropResult = monitor.getDropResult();\n\n if (!dropResult || (dropResult.dropped && !props.duplicates)) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.fromChoice) {\n props.removeResponse(draggedItem.value);\n }\n }\n },\n};\n\nexport default DragSource('drag-in-the-blank-choice', tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropTile);\n"],"file":"choice.js"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.onValueChange = exports.onRemoveResponse = exports["default"] = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _react2 = require("@tiptap/react");
19
+
20
+ var _choice = _interopRequireDefault(require("./choice"));
21
+
22
+ var _omit = _interopRequireDefault(require("lodash/omit"));
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ var onValueChange = function onValueChange(editor, node, pos, choice) {
29
+ var tr = editor.state.tr; // Merge old and new attributes
30
+
31
+ tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), choice));
32
+ tr.isDone = true;
33
+ editor.view.dispatch(tr);
34
+ };
35
+
36
+ exports.onValueChange = onValueChange;
37
+
38
+ var onRemoveResponse = function onRemoveResponse(editor, node, pos) {
39
+ var tr = editor.state.tr; // Merge old and new attributes
40
+
41
+ tr.setNodeMarkup(pos, undefined, (0, _omit["default"])(node.attrs, ['value', 'id']));
42
+ tr.isDone = true;
43
+ editor.view.dispatch(tr);
44
+ };
45
+
46
+ exports.onRemoveResponse = onRemoveResponse;
47
+
48
+ var DragDrop = function DragDrop(props) {
49
+ var editor = props.editor,
50
+ node = props.node,
51
+ getPos = props.getPos,
52
+ options = props.options,
53
+ selected = props.selected;
54
+ var attributes = node.attrs;
55
+ var inTable = attributes.inTable;
56
+ var pos = getPos(); // console.log({nodeProps.children})
57
+
58
+ return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
59
+ className: "drag-in-the-blank",
60
+ "data-selected": selected
61
+ }, /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
62
+ style: {
63
+ display: 'inline-flex',
64
+ minHeight: '50px',
65
+ minWidth: '178px',
66
+ position: 'relative',
67
+ margin: inTable ? '10px' : '0 10px',
68
+ cursor: 'pointer'
69
+ }
70
+ }), /*#__PURE__*/_react["default"].createElement(_choice["default"], {
71
+ n: attributes,
72
+ dragKey: attributes.id,
73
+ targetId: "0",
74
+ value: attributes,
75
+ duplicates: options.duplicates,
76
+ onChange: function onChange(choice) {
77
+ return onValueChange(editor, node, pos, choice);
78
+ },
79
+ removeResponse: function removeResponse() {
80
+ return onRemoveResponse(editor, node, pos);
81
+ }
82
+ })));
83
+ };
84
+
85
+ DragDrop.propTypes = {
86
+ attributes: _propTypes["default"].object,
87
+ data: _propTypes["default"].object,
88
+ n: _propTypes["default"].object,
89
+ nodeProps: _propTypes["default"].object,
90
+ opts: _propTypes["default"].object
91
+ };
92
+ var _default = DragDrop;
93
+ exports["default"] = _default;
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0RyYWdJblRoZUJsYW5rLmpzeCJdLCJuYW1lcyI6WyJvblZhbHVlQ2hhbmdlIiwiZWRpdG9yIiwibm9kZSIsInBvcyIsImNob2ljZSIsInRyIiwic3RhdGUiLCJzZXROb2RlTWFya3VwIiwidW5kZWZpbmVkIiwiYXR0cnMiLCJpc0RvbmUiLCJ2aWV3IiwiZGlzcGF0Y2giLCJvblJlbW92ZVJlc3BvbnNlIiwiRHJhZ0Ryb3AiLCJwcm9wcyIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJpblRhYmxlIiwiZGlzcGxheSIsIm1pbkhlaWdodCIsIm1pbldpZHRoIiwicG9zaXRpb24iLCJtYXJnaW4iLCJjdXJzb3IiLCJpZCIsImR1cGxpY2F0ZXMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJkYXRhIiwibiIsIm5vZGVQcm9wcyIsIm9wdHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxNQUFELEVBQVNDLElBQVQsRUFBZUMsR0FBZixFQUFvQkMsTUFBcEIsRUFBK0I7QUFDMUQsTUFBUUMsRUFBUixHQUFlSixNQUFNLENBQUNLLEtBQXRCLENBQVFELEVBQVIsQ0FEMEQsQ0FHMUQ7O0FBQ0FBLEVBQUFBLEVBQUUsQ0FBQ0UsYUFBSCxDQUFpQkosR0FBakIsRUFBc0JLLFNBQXRCLGtDQUNLTixJQUFJLENBQUNPLEtBRFYsR0FFS0wsTUFGTDtBQUlBQyxFQUFBQSxFQUFFLENBQUNLLE1BQUgsR0FBWSxJQUFaO0FBQ0FULEVBQUFBLE1BQU0sQ0FBQ1UsSUFBUCxDQUFZQyxRQUFaLENBQXFCUCxFQUFyQjtBQUNELENBVk07Ozs7QUFZQSxJQUFNUSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNaLE1BQUQsRUFBU0MsSUFBVCxFQUFlQyxHQUFmLEVBQXVCO0FBQ3JELE1BQVFFLEVBQVIsR0FBZUosTUFBTSxDQUFDSyxLQUF0QixDQUFRRCxFQUFSLENBRHFELENBR3JEOztBQUNBQSxFQUFBQSxFQUFFLENBQUNFLGFBQUgsQ0FBaUJKLEdBQWpCLEVBQXNCSyxTQUF0QixFQUFpQyxzQkFBS04sSUFBSSxDQUFDTyxLQUFWLEVBQWlCLENBQUMsT0FBRCxFQUFVLElBQVYsQ0FBakIsQ0FBakM7QUFDQUosRUFBQUEsRUFBRSxDQUFDSyxNQUFILEdBQVksSUFBWjtBQUNBVCxFQUFBQSxNQUFNLENBQUNVLElBQVAsQ0FBWUMsUUFBWixDQUFxQlAsRUFBckI7QUFDRCxDQVBNOzs7O0FBU1AsSUFBTVMsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsS0FBRCxFQUFXO0FBQzFCLE1BQVFkLE1BQVIsR0FBb0RjLEtBQXBELENBQVFkLE1BQVI7QUFBQSxNQUFnQkMsSUFBaEIsR0FBb0RhLEtBQXBELENBQWdCYixJQUFoQjtBQUFBLE1BQXNCYyxNQUF0QixHQUFvREQsS0FBcEQsQ0FBc0JDLE1BQXRCO0FBQUEsTUFBOEJDLE9BQTlCLEdBQW9ERixLQUFwRCxDQUE4QkUsT0FBOUI7QUFBQSxNQUF1Q0MsUUFBdkMsR0FBb0RILEtBQXBELENBQXVDRyxRQUF2QztBQUNBLE1BQWVDLFVBQWYsR0FBOEJqQixJQUE5QixDQUFRTyxLQUFSO0FBQ0EsTUFBUVcsT0FBUixHQUFvQkQsVUFBcEIsQ0FBUUMsT0FBUjtBQUNBLE1BQU1qQixHQUFHLEdBQUdhLE1BQU0sRUFBbEIsQ0FKMEIsQ0FNMUI7O0FBQ0Esc0JBQ0UsZ0NBQUMsdUJBQUQ7QUFBaUIsSUFBQSxTQUFTLEVBQUMsbUJBQTNCO0FBQStDLHFCQUFlRTtBQUE5RCxrQkFDRSxzRUFDTUMsVUFETjtBQUVFLElBQUEsS0FBSyxFQUFFO0FBQ0xFLE1BQUFBLE9BQU8sRUFBRSxhQURKO0FBRUxDLE1BQUFBLFNBQVMsRUFBRSxNQUZOO0FBR0xDLE1BQUFBLFFBQVEsRUFBRSxPQUhMO0FBSUxDLE1BQUFBLFFBQVEsRUFBRSxVQUpMO0FBS0xDLE1BQUFBLE1BQU0sRUFBRUwsT0FBTyxHQUFHLE1BQUgsR0FBWSxRQUx0QjtBQU1MTSxNQUFBQSxNQUFNLEVBQUU7QUFOSDtBQUZULG1CQVdFLGdDQUFDLGtCQUFEO0FBQ0UsSUFBQSxDQUFDLEVBQUVQLFVBREw7QUFFRSxJQUFBLE9BQU8sRUFBRUEsVUFBVSxDQUFDUSxFQUZ0QjtBQUdFLElBQUEsUUFBUSxFQUFDLEdBSFg7QUFJRSxJQUFBLEtBQUssRUFBRVIsVUFKVDtBQUtFLElBQUEsVUFBVSxFQUFFRixPQUFPLENBQUNXLFVBTHRCO0FBTUUsSUFBQSxRQUFRLEVBQUUsa0JBQUN4QixNQUFEO0FBQUEsYUFBWUosYUFBYSxDQUFDQyxNQUFELEVBQVNDLElBQVQsRUFBZUMsR0FBZixFQUFvQkMsTUFBcEIsQ0FBekI7QUFBQSxLQU5aO0FBT0UsSUFBQSxjQUFjLEVBQUU7QUFBQSxhQUFNUyxnQkFBZ0IsQ0FBQ1osTUFBRCxFQUFTQyxJQUFULEVBQWVDLEdBQWYsQ0FBdEI7QUFBQTtBQVBsQixJQVhGLENBREYsQ0FERjtBQXlCRCxDQWhDRDs7QUFrQ0FXLFFBQVEsQ0FBQ2UsU0FBVCxHQUFxQjtBQUNuQlYsRUFBQUEsVUFBVSxFQUFFVyxzQkFBVUMsTUFESDtBQUVuQkMsRUFBQUEsSUFBSSxFQUFFRixzQkFBVUMsTUFGRztBQUduQkUsRUFBQUEsQ0FBQyxFQUFFSCxzQkFBVUMsTUFITTtBQUluQkcsRUFBQUEsU0FBUyxFQUFFSixzQkFBVUMsTUFKRjtBQUtuQkksRUFBQUEsSUFBSSxFQUFFTCxzQkFBVUM7QUFMRyxDQUFyQjtlQVFlakIsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgRHJhZ0Ryb3BUaWxlIGZyb20gJy4vY2hvaWNlJztcbmltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcblxuZXhwb3J0IGNvbnN0IG9uVmFsdWVDaGFuZ2UgPSAoZWRpdG9yLCBub2RlLCBwb3MsIGNob2ljZSkgPT4ge1xuICBjb25zdCB7IHRyIH0gPSBlZGl0b3Iuc3RhdGU7XG5cbiAgLy8gTWVyZ2Ugb2xkIGFuZCBuZXcgYXR0cmlidXRlc1xuICB0ci5zZXROb2RlTWFya3VwKHBvcywgdW5kZWZpbmVkLCB7XG4gICAgLi4ubm9kZS5hdHRycyxcbiAgICAuLi5jaG9pY2UsXG4gIH0pO1xuICB0ci5pc0RvbmUgPSB0cnVlO1xuICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG59O1xuXG5leHBvcnQgY29uc3Qgb25SZW1vdmVSZXNwb25zZSA9IChlZGl0b3IsIG5vZGUsIHBvcykgPT4ge1xuICBjb25zdCB7IHRyIH0gPSBlZGl0b3Iuc3RhdGU7XG5cbiAgLy8gTWVyZ2Ugb2xkIGFuZCBuZXcgYXR0cmlidXRlc1xuICB0ci5zZXROb2RlTWFya3VwKHBvcywgdW5kZWZpbmVkLCBvbWl0KG5vZGUuYXR0cnMsIFsndmFsdWUnLCAnaWQnXSkpO1xuICB0ci5pc0RvbmUgPSB0cnVlO1xuICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG59O1xuXG5jb25zdCBEcmFnRHJvcCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGVkaXRvciwgbm9kZSwgZ2V0UG9zLCBvcHRpb25zLCBzZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYXR0cnM6IGF0dHJpYnV0ZXMgfSA9IG5vZGU7XG4gIGNvbnN0IHsgaW5UYWJsZSB9ID0gYXR0cmlidXRlcztcbiAgY29uc3QgcG9zID0gZ2V0UG9zKCk7XG5cbiAgLy8gY29uc29sZS5sb2coe25vZGVQcm9wcy5jaGlsZHJlbn0pXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlciBjbGFzc05hbWU9XCJkcmFnLWluLXRoZS1ibGFua1wiIGRhdGEtc2VsZWN0ZWQ9e3NlbGVjdGVkfT5cbiAgICAgIDxzcGFuXG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgbWluSGVpZ2h0OiAnNTBweCcsXG4gICAgICAgICAgbWluV2lkdGg6ICcxNzhweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgbWFyZ2luOiBpblRhYmxlID8gJzEwcHgnIDogJzAgMTBweCcsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxEcmFnRHJvcFRpbGVcbiAgICAgICAgICBuPXthdHRyaWJ1dGVzfVxuICAgICAgICAgIGRyYWdLZXk9e2F0dHJpYnV0ZXMuaWR9XG4gICAgICAgICAgdGFyZ2V0SWQ9XCIwXCJcbiAgICAgICAgICB2YWx1ZT17YXR0cmlidXRlc31cbiAgICAgICAgICBkdXBsaWNhdGVzPXtvcHRpb25zLmR1cGxpY2F0ZXN9XG4gICAgICAgICAgb25DaGFuZ2U9eyhjaG9pY2UpID0+IG9uVmFsdWVDaGFuZ2UoZWRpdG9yLCBub2RlLCBwb3MsIGNob2ljZSl9XG4gICAgICAgICAgcmVtb3ZlUmVzcG9uc2U9eygpID0+IG9uUmVtb3ZlUmVzcG9uc2UoZWRpdG9yLCBub2RlLCBwb3MpfVxuICAgICAgICA+PC9EcmFnRHJvcFRpbGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5EcmFnRHJvcC5wcm9wVHlwZXMgPSB7XG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gIG46IFByb3BUeXBlcy5vYmplY3QsXG4gIG5vZGVQcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3B0czogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyYWdEcm9wO1xuIl19
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _react2 = require("@tiptap/react");
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
27
+ var editor = props.editor,
28
+ node = props.node,
29
+ getPos = props.getPos,
30
+ options = props.options,
31
+ selected = props.selected;
32
+ var attributes = node.attrs;
33
+ var value = attributes.value,
34
+ error = attributes.error;
35
+ var pos = getPos();
36
+
37
+ var _useState = (0, _react.useState)(false),
38
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
+ showToolbar = _useState2[0],
40
+ setShowToolbar = _useState2[1];
41
+
42
+ var EcrToolbar = options.respAreaToolbar(node, editor, function () {});
43
+ var toolbarRef = (0, _react.useRef)(null);
44
+
45
+ var handleDone = function handleDone(newLatex) {
46
+ updateAttributes({
47
+ latex: newLatex
48
+ });
49
+ setShowToolbar(false);
50
+ editor.commands.focus();
51
+ };
52
+
53
+ (0, _react.useEffect)(function () {
54
+ setShowToolbar(selected);
55
+ }, [selected]);
56
+ (0, _react.useEffect)(function () {
57
+ var handleClickOutside = function handleClickOutside(event) {
58
+ if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
59
+ setShowToolbar(false);
60
+ }
61
+ };
62
+
63
+ if (showToolbar) {
64
+ document.addEventListener('mousedown', handleClickOutside);
65
+ } else {
66
+ document.removeEventListener('mousedown', handleClickOutside);
67
+ }
68
+
69
+ return function () {
70
+ return document.removeEventListener('mousedown', handleClickOutside);
71
+ };
72
+ }, [showToolbar]);
73
+ return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
74
+ className: "drag-in-the-blank",
75
+ "data-selected": selected,
76
+ style: {
77
+ display: 'inline-flex',
78
+ minHeight: '55px',
79
+ position: 'relative',
80
+ cursor: 'pointer'
81
+ }
82
+ }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, attributes, {
83
+ style: {
84
+ display: 'inline-flex',
85
+ width: '100%',
86
+ minHeight: '46px',
87
+ height: '46px',
88
+ backgroundColor: '#FFF',
89
+ border: "1px solid ".concat(error ? 'red' : '#C0C3CF'),
90
+ boxSizing: 'border-box',
91
+ borderRadius: '4px',
92
+ overflow: 'hidden',
93
+ padding: '12px 21px',
94
+ margin: '0 4px',
95
+ visibility: showToolbar ? 'hidden' : 'visible'
96
+ },
97
+ onClick: function onClick() {
98
+ return setShowToolbar(true);
99
+ },
100
+ dangerouslySetInnerHTML: {
101
+ __html: value || '<div>&nbsp;</div>'
102
+ }
103
+ })), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
104
+ ref: toolbarRef,
105
+ className: "absolute z-50 bg-white shadow-lg rounded p-2",
106
+ style: {
107
+ zIndex: 1
108
+ }
109
+ }, /*#__PURE__*/_react["default"].createElement(EcrToolbar, null)));
110
+ };
111
+
112
+ ExplicitConstructedResponse.propTypes = {
113
+ attributes: _propTypes["default"].object,
114
+ error: _propTypes["default"].any,
115
+ value: _propTypes["default"].string,
116
+ isFocused: _propTypes["default"].bool
117
+ };
118
+ var _default = ExplicitConstructedResponse;
119
+ exports["default"] = _default;
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZS5qc3giXSwibmFtZXMiOlsiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIiwicHJvcHMiLCJlZGl0b3IiLCJub2RlIiwiZ2V0UG9zIiwib3B0aW9ucyIsInNlbGVjdGVkIiwiYXR0cmlidXRlcyIsImF0dHJzIiwidmFsdWUiLCJlcnJvciIsInBvcyIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJFY3JUb29sYmFyIiwicmVzcEFyZWFUb29sYmFyIiwidG9vbGJhclJlZiIsImhhbmRsZURvbmUiLCJuZXdMYXRleCIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJsYXRleCIsImNvbW1hbmRzIiwiZm9jdXMiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGxheSIsIm1pbkhlaWdodCIsInBvc2l0aW9uIiwiY3Vyc29yIiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3hTaXppbmciLCJib3JkZXJSYWRpdXMiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJtYXJnaW4iLCJ2aXNpYmlsaXR5IiwiX19odG1sIiwiekluZGV4IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYW55Iiwic3RyaW5nIiwiaXNGb2N1c2VkIiwiYm9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBOEIsQ0FBQ0MsS0FBRCxFQUFXO0FBQzdDLE1BQVFDLE1BQVIsR0FBb0RELEtBQXBELENBQVFDLE1BQVI7QUFBQSxNQUFnQkMsSUFBaEIsR0FB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QSxZQUFZLEVBQUUsS0FSVDtBQVNMQyxNQUFBQSxRQUFRLEVBQUUsUUFUTDtBQVVMQyxNQUFBQSxPQUFPLEVBQUUsV0FWSjtBQVdMQyxNQUFBQSxNQUFNLEVBQUUsT0FYSDtBQVlMQyxNQUFBQSxVQUFVLEVBQUVqQyxXQUFXLEdBQUcsUUFBSCxHQUFjO0FBWmhDLEtBRlQ7QUFnQkUsSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNQyxjQUFjLENBQUMsSUFBRCxDQUFwQjtBQUFBLEtBaEJYO0FBaUJFLElBQUEsdUJBQXVCLEVBQUU7QUFDdkJpQyxNQUFBQSxNQUFNLEVBQUVyQyxLQUFLLElBQUk7QUFETTtBQWpCM0IsS0FWRixFQStCR0csV0FBVyxpQkFDVjtBQUFLLElBQUEsR0FBRyxFQUFFSSxVQUFWO0FBQXNCLElBQUEsU0FBUyxFQUFDLDhDQUFoQztBQUErRSxJQUFBLEtBQUssRUFBRTtBQUFFK0IsTUFBQUEsTUFBTSxFQUFFO0FBQVY7QUFBdEYsa0JBQ0UsZ0NBQUMsVUFBRCxPQURGLENBaENKLENBREY7QUF1Q0QsQ0E5RUQ7O0FBZ0ZBL0MsMkJBQTJCLENBQUNnRCxTQUE1QixHQUF3QztBQUN0Q3pDLEVBQUFBLFVBQVUsRUFBRTBDLHNCQUFVQyxNQURnQjtBQUV0Q3hDLEVBQUFBLEtBQUssRUFBRXVDLHNCQUFVRSxHQUZxQjtBQUd0QzFDLEVBQUFBLEtBQUssRUFBRXdDLHNCQUFVRyxNQUhxQjtBQUl0Q0MsRUFBQUEsU0FBUyxFQUFFSixzQkFBVUs7QUFKaUIsQ0FBeEM7ZUFPZXRELDJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuY29uc3QgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZWRpdG9yLCBub2RlLCBnZXRQb3MsIG9wdGlvbnMsIHNlbGVjdGVkIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhdHRyczogYXR0cmlidXRlcyB9ID0gbm9kZTtcbiAgY29uc3QgeyB2YWx1ZSwgZXJyb3IgfSA9IGF0dHJpYnV0ZXM7XG4gIGNvbnN0IHBvcyA9IGdldFBvcygpO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgRWNyVG9vbGJhciA9IG9wdGlvbnMucmVzcEFyZWFUb29sYmFyKG5vZGUsIGVkaXRvciwgKCkgPT4ge30pO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICBlZGl0b3IuY29tbWFuZHMuZm9jdXMoKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgfSwgW3NlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwiZHJhZy1pbi10aGUtYmxhbmtcIlxuICAgICAgZGF0YS1zZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICBtaW5IZWlnaHQ6ICc1NXB4JyxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBtaW5IZWlnaHQ6ICc0NnB4JyxcbiAgICAgICAgICBoZWlnaHQ6ICc0NnB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHtlcnJvciA/ICdyZWQnIDogJyNDMEMzQ0YnfWAsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEycHggMjFweCcsXG4gICAgICAgICAgbWFyZ2luOiAnMCA0cHgnLFxuICAgICAgICAgIHZpc2liaWxpdHk6IHNob3dUb29sYmFyID8gJ2hpZGRlbicgOiAndmlzaWJsZScsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfVxuICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgIF9faHRtbDogdmFsdWUgfHwgJzxkaXY+Jm5ic3A7PC9kaXY+JyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7c2hvd1Rvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2IHJlZj17dG9vbGJhclJlZn0gY2xhc3NOYW1lPVwiYWJzb2x1dGUgei01MCBiZy13aGl0ZSBzaGFkb3ctbGcgcm91bmRlZCBwLTJcIiBzdHlsZT17eyB6SW5kZXg6IDEgfX0+XG4gICAgICAgICAgPEVjclRvb2xiYXIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufTtcblxuRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZXJyb3I6IFByb3BUeXBlcy5hbnksXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpc0ZvY3VzZWQ6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlO1xuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/respArea/ExplicitConstructedResponse.jsx"],"names":["ExplicitConstructedResponse","props","editor","node","getPos","options","selected","attributes","attrs","value","error","pos","showToolbar","setShowToolbar","EcrToolbar","respAreaToolbar","toolbarRef","handleDone","newLatex","updateAttributes","latex","commands","focus","handleClickOutside","event","current","contains","target","closest","document","addEventListener","removeEventListener","display","minHeight","position","cursor","width","height","backgroundColor","border","boxSizing","borderRadius","overflow","padding","margin","visibility","__html","zIndex","propTypes","PropTypes","object","any","string","isFocused","bool"],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useRef } 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, error } = attributes;\n const pos = getPos();\n const [showToolbar, setShowToolbar] = useState(false);\n const EcrToolbar = options.respAreaToolbar(node, editor, () => {});\n const toolbarRef = useRef(null);\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n editor.commands.focus();\n };\n\n useEffect(() => {\n setShowToolbar(selected);\n }, [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 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"],"file":"ExplicitConstructedResponse.js"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _react2 = require("@tiptap/react");
19
+
20
+ var _RespArea = require("../icons/RespArea");
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var InlineDropdown = function InlineDropdown(props) {
27
+ var editor = props.editor,
28
+ node = props.node,
29
+ getPos = props.getPos,
30
+ options = props.options,
31
+ selected = props.selected;
32
+ var attributes = node.attrs;
33
+ var value = attributes.value,
34
+ error = attributes.error; // TODO: Investigate
35
+ // Needed because items with values inside have different positioning for some reason
36
+
37
+ var html = value || '<div>&nbsp</div>';
38
+ var toolbarRef = (0, _react.useRef)(null);
39
+
40
+ var _useState = (0, _react.useState)(false),
41
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
42
+ showToolbar = _useState2[0],
43
+ setShowToolbar = _useState2[1];
44
+
45
+ var InlineDropdownToolbar = options.respAreaToolbar(node, editor, function () {});
46
+ (0, _react.useEffect)(function () {
47
+ setShowToolbar(selected);
48
+ }, [selected]);
49
+ (0, _react.useEffect)(function () {
50
+ var handleClickOutside = function handleClickOutside(event) {
51
+ if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
52
+ setShowToolbar(false);
53
+ }
54
+ };
55
+
56
+ if (showToolbar) {
57
+ document.addEventListener('mousedown', handleClickOutside);
58
+ } else {
59
+ document.removeEventListener('mousedown', handleClickOutside);
60
+ }
61
+
62
+ return function () {
63
+ return document.removeEventListener('mousedown', handleClickOutside);
64
+ };
65
+ }, [showToolbar]);
66
+ return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
67
+ className: "inline-dropdown",
68
+ "data-selected": selected,
69
+ style: {
70
+ display: 'inline-flex',
71
+ height: '50px',
72
+ margin: '0 5px',
73
+ cursor: 'pointer'
74
+ }
75
+ }, /*#__PURE__*/_react["default"].createElement("div", {
76
+ style: {
77
+ display: 'inline-flex',
78
+ minWidth: '178px',
79
+ height: '36px',
80
+ background: '#FFF',
81
+ border: '1px solid #C0C3CF',
82
+ boxSizing: 'border-box',
83
+ borderRadius: '3px',
84
+ margin: '0 4px',
85
+ position: 'relative',
86
+ alignItems: 'center'
87
+ }
88
+ }, /*#__PURE__*/_react["default"].createElement("div", {
89
+ style: {
90
+ flex: 1,
91
+ overflow: 'hidden',
92
+ padding: '0 25px 0 8px',
93
+ whiteSpace: 'nowrap',
94
+ textOverflow: 'ellipsis'
95
+ }
96
+ }, /*#__PURE__*/_react["default"].createElement("span", {
97
+ style: {
98
+ display: 'inline-block',
99
+ verticalAlign: 'middle'
100
+ },
101
+ dangerouslySetInnerHTML: {
102
+ __html: html
103
+ }
104
+ })), /*#__PURE__*/_react["default"].createElement(_RespArea.Chevron, {
105
+ direction: "down",
106
+ style: {
107
+ position: 'absolute',
108
+ top: '5px',
109
+ right: '5px'
110
+ }
111
+ })), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
112
+ ref: toolbarRef,
113
+ className: "absolute z-50 bg-white shadow-lg rounded p-2",
114
+ style: {
115
+ zIndex: 1
116
+ }
117
+ }, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, null)));
118
+ };
119
+
120
+ InlineDropdown.propTypes = {
121
+ attributes: _propTypes["default"].object,
122
+ selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
123
+ };
124
+ var _default = InlineDropdown;
125
+ exports["default"] = _default;
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0lubGluZURyb3Bkb3duLmpzeCJdLCJuYW1lcyI6WyJJbmxpbmVEcm9wZG93biIsInByb3BzIiwiZWRpdG9yIiwibm9kZSIsImdldFBvcyIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsImF0dHJpYnV0ZXMiLCJhdHRycyIsInZhbHVlIiwiZXJyb3IiLCJodG1sIiwidG9vbGJhclJlZiIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJJbmxpbmVEcm9wZG93blRvb2xiYXIiLCJyZXNwQXJlYVRvb2xiYXIiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGxheSIsImhlaWdodCIsIm1hcmdpbiIsImN1cnNvciIsIm1pbldpZHRoIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsInBvc2l0aW9uIiwiYWxpZ25JdGVtcyIsImZsZXgiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJ3aGl0ZVNwYWNlIiwidGV4dE92ZXJmbG93IiwidmVydGljYWxBbGlnbiIsIl9faHRtbCIsInRvcCIsInJpZ2h0IiwiekluZGV4IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic2VsZWN0ZWRJdGVtIiwib25lT2ZUeXBlIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsS0FBRCxFQUFXO0FBQ2hDLE1BQVFDLE1BQVIsR0FBb0RELEtBQXBELENBQVFDLE1BQVI7QUFBQSxNQUFnQkMsSUFBaEIsR0FBb0RGLEtBQXBELENBQWdCRSxJQUFoQjtBQUFBLE1B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O0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFDTGYsTUFBQUEsT0FBTyxFQUFFLGNBREo7QUFFTGdCLE1BQUFBLGFBQWEsRUFBRTtBQUZWLEtBRFQ7QUFLRSxJQUFBLHVCQUF1QixFQUFFO0FBQ3ZCQyxNQUFBQSxNQUFNLEVBQUVoQztBQURlO0FBTDNCLElBVEYsQ0FkRixlQWlDRSxnQ0FBQyxpQkFBRDtBQUNFLElBQUEsU0FBUyxFQUFDLE1BRFo7QUFFRSxJQUFBLEtBQUssRUFBRTtBQUNMd0IsTUFBQUEsUUFBUSxFQUFFLFVBREw7QUFFTFMsTUFBQUEsR0FBRyxFQUFFLEtBRkE7QUFHTEMsTUFBQUEsS0FBSyxFQUFFO0FBSEY7QUFGVCxJQWpDRixDQVZGLEVBb0RHaEMsV0FBVyxpQkFDVjtBQUFLLElBQUEsR0FBRyxFQUFFRCxVQUFWO0FBQXNCLElBQUEsU0FBUyxFQUFDLDhDQUFoQztBQUErRSxJQUFBLEtBQUssRUFBRTtBQUFFa0MsTUFBQUEsTUFBTSxFQUFFO0FBQVY7QUFBdEYsa0JBQ0UsZ0NBQUMscUJBQUQsT0FERixDQXJESixDQURGO0FBNERELENBL0ZEOztBQWlHQTlDLGNBQWMsQ0FBQytDLFNBQWYsR0FBMkI7QUFDekJ4QyxFQUFBQSxVQUFVLEVBQUV5QyxzQkFBVUMsTUFERztBQUV6QkMsRUFBQUEsWUFBWSxFQUFFRixzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUksTUFBWCxFQUFtQkosc0JBQVVDLE1BQTdCLENBQXBCO0FBRlcsQ0FBM0I7ZUFLZWpELGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgeyBDaGV2cm9uIH0gZnJvbSAnLi4vaWNvbnMvUmVzcEFyZWEnO1xuXG5jb25zdCBJbmxpbmVEcm9wZG93biA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGVkaXRvciwgbm9kZSwgZ2V0UG9zLCBvcHRpb25zLCBzZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYXR0cnM6IGF0dHJpYnV0ZXMgfSA9IG5vZGU7XG4gIGNvbnN0IHsgdmFsdWUsIGVycm9yIH0gPSBhdHRyaWJ1dGVzO1xuICAvLyBUT0RPOiBJbnZlc3RpZ2F0ZVxuICAvLyBOZWVkZWQgYmVjYXVzZSBpdGVtcyB3aXRoIHZhbHVlcyBpbnNpZGUgaGF2ZSBkaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIHNvbWUgcmVhc29uXG4gIGNvbnN0IGh0bWwgPSB2YWx1ZSB8fCAnPGRpdj4mbmJzcDwvZGl2Pic7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBJbmxpbmVEcm9wZG93blRvb2xiYXIgPSBvcHRpb25zLnJlc3BBcmVhVG9vbGJhcihub2RlLCBlZGl0b3IsICgpID0+IHt9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgfSwgW3NlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWRyb3Bkb3duXCJcbiAgICAgIGRhdGEtc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgICAgIG1hcmdpbjogJzAgNXB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIGhlaWdodDogJzM2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0MwQzNDRicsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICcwIDI1cHggMCA4cHgnLFxuICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgX19odG1sOiBodG1sLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPENoZXZyb25cbiAgICAgICAgICBkaXJlY3Rpb249XCJkb3duXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6ICc1cHgnLFxuICAgICAgICAgICAgcmlnaHQ6ICc1cHgnLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBjbGFzc05hbWU9XCJhYnNvbHV0ZSB6LTUwIGJnLXdoaXRlIHNoYWRvdy1sZyByb3VuZGVkIHAtMlwiIHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8SW5saW5lRHJvcGRvd25Ub29sYmFyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn07XG5cbklubGluZURyb3Bkb3duLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgc2VsZWN0ZWRJdGVtOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub2JqZWN0XSksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbmxpbmVEcm9wZG93bjtcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/respArea/InlineDropdown.jsx"],"names":["InlineDropdown","props","editor","node","getPos","options","selected","attributes","attrs","value","error","html","toolbarRef","showToolbar","setShowToolbar","InlineDropdownToolbar","respAreaToolbar","handleClickOutside","event","current","contains","target","closest","document","addEventListener","removeEventListener","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","alignItems","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","__html","top","right","zIndex","propTypes","PropTypes","object","selectedItem","oneOfType","string"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { Chevron } from '../icons/RespArea';\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 InlineDropdownToolbar = options.respAreaToolbar(node, editor, () => {});\n\n useEffect(() => {\n setShowToolbar(selected);\n }, [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=\"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 >\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 <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <InlineDropdownToolbar />\n </div>\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"],"file":"InlineDropdown.js"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ToolbarIcon = exports.GripIcon = exports.Chevron = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styles = require("@material-ui/core/styles");
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ var Chevron = function Chevron(props) {
21
+ var direction = props.direction,
22
+ style = props.style;
23
+
24
+ var rotate = function () {
25
+ switch (direction) {
26
+ case 'down':
27
+ return 90;
28
+
29
+ case 'up':
30
+ return -90;
31
+
32
+ case 'left':
33
+ return 180;
34
+
35
+ default:
36
+ return 0;
37
+ }
38
+ }();
39
+
40
+ return /*#__PURE__*/_react["default"].createElement("svg", {
41
+ style: _objectSpread({
42
+ transform: "rotate(".concat(rotate, "deg)")
43
+ }, style),
44
+ width: "24",
45
+ height: "24",
46
+ viewBox: "0 0 24 24",
47
+ xmlns: "http://www.w3.org/2000/svg"
48
+ }, /*#__PURE__*/_react["default"].createElement("path", {
49
+ d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",
50
+ fill: "currentColor"
51
+ }));
52
+ };
53
+
54
+ exports.Chevron = Chevron;
55
+
56
+ var GripIcon = function GripIcon(_ref) {
57
+ var style = _ref.style;
58
+ return /*#__PURE__*/_react["default"].createElement("span", {
59
+ style: style
60
+ }, /*#__PURE__*/_react["default"].createElement("svg", {
61
+ style: {
62
+ margin: '0 -16px'
63
+ },
64
+ width: "24",
65
+ height: "24",
66
+ viewBox: "0 0 24 24",
67
+ xmlns: "http://www.w3.org/2000/svg"
68
+ }, /*#__PURE__*/_react["default"].createElement("path", {
69
+ d: "M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z"
70
+ })), /*#__PURE__*/_react["default"].createElement("svg", {
71
+ width: "24",
72
+ height: "24",
73
+ viewBox: "0 0 24 24",
74
+ xmlns: "http://www.w3.org/2000/svg"
75
+ }, /*#__PURE__*/_react["default"].createElement("path", {
76
+ d: "M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z"
77
+ })));
78
+ };
79
+
80
+ exports.GripIcon = GripIcon;
81
+
82
+ var styles = function styles(theme) {
83
+ return {
84
+ icon: {
85
+ fontFamily: 'Cerebri Sans !important',
86
+ fontSize: theme.typography.fontSize,
87
+ fontWeight: 'bold',
88
+ lineHeight: '14px',
89
+ position: 'relative',
90
+ top: '7px',
91
+ width: '110px',
92
+ height: '28px',
93
+ whiteSpace: 'nowrap'
94
+ }
95
+ };
96
+ };
97
+
98
+ var ToolbarIcon = (0, _styles.withStyles)(styles)(function (_ref2) {
99
+ var classes = _ref2.classes;
100
+ return /*#__PURE__*/_react["default"].createElement("div", {
101
+ className: classes.icon
102
+ }, "+ Response Area");
103
+ });
104
+ exports.ToolbarIcon = ToolbarIcon;
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL1Rvb2xiYXJJY29uLmpzeCJdLCJuYW1lcyI6WyJDaGV2cm9uIiwicHJvcHMiLCJkaXJlY3Rpb24iLCJzdHlsZSIsInJvdGF0ZSIsInRyYW5zZm9ybSIsIkdyaXBJY29uIiwibWFyZ2luIiwic3R5bGVzIiwidGhlbWUiLCJpY29uIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwicG9zaXRpb24iLCJ0b3AiLCJ3aWR0aCIsImhlaWdodCIsIndoaXRlU3BhY2UiLCJUb29sYmFySWNvbiIsImNsYXNzZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVPLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLEtBQUQsRUFBVztBQUNoQyxNQUFRQyxTQUFSLEdBQTZCRCxLQUE3QixDQUFRQyxTQUFSO0FBQUEsTUFBbUJDLEtBQW5CLEdBQTZCRixLQUE3QixDQUFtQkUsS0FBbkI7O0FBQ0EsTUFBTUMsTUFBTSxHQUFJLFlBQU07QUFDcEIsWUFBUUYsU0FBUjtBQUNFLFdBQUssTUFBTDtBQUNFLGVBQU8sRUFBUDs7QUFDRixXQUFLLElBQUw7QUFDRSxlQUFPLENBQUMsRUFBUjs7QUFDRixXQUFLLE1BQUw7QUFDRSxlQUFPLEdBQVA7O0FBQ0Y7QUFDRSxlQUFPLENBQVA7QUFSSjtBQVVELEdBWGMsRUFBZjs7QUFhQSxzQkFDRTtBQUNFLElBQUEsS0FBSztBQUNIRyxNQUFBQSxTQUFTLG1CQUFZRCxNQUFaO0FBRE4sT0FFQUQsS0FGQSxDQURQO0FBS0UsSUFBQSxLQUFLLEVBQUMsSUFMUjtBQU1FLElBQUEsTUFBTSxFQUFDLElBTlQ7QUFPRSxJQUFBLE9BQU8sRUFBQyxXQVBWO0FBUUUsSUFBQSxLQUFLLEVBQUM7QUFSUixrQkFVRTtBQUFNLElBQUEsQ0FBQyxFQUFDLGdEQUFSO0FBQXlELElBQUEsSUFBSSxFQUFDO0FBQTlELElBVkYsQ0FERjtBQWNELENBN0JNOzs7O0FBK0JBLElBQU1HLFFBQVEsR0FBRyxTQUFYQSxRQUFXO0FBQUEsTUFBR0gsS0FBSCxRQUFHQSxLQUFIO0FBQUEsc0JBQ3RCO0FBQU0sSUFBQSxLQUFLLEVBQUVBO0FBQWIsa0JBQ0U7QUFDRSxJQUFBLEtBQUssRUFBRTtBQUNMSSxNQUFBQSxNQUFNLEVBQUU7QUFESCxLQURUO0FBSUUsSUFBQSxLQUFLLEVBQUMsSUFKUjtBQUtFLElBQUEsTUFBTSxFQUFDLElBTFQ7QUFNRSxJQUFBLE9BQU8sRUFBQyxXQU5WO0FBT0UsSUFBQSxLQUFLLEVBQUM7QUFQUixrQkFTRTtBQUFNLElBQUEsQ0FBQyxFQUFDO0FBQVIsSUFURixDQURGLGVBWUU7QUFBSyxJQUFBLEtBQUssRUFBQyxJQUFYO0FBQWdCLElBQUEsTUFBTSxFQUFDLElBQXZCO0FBQTRCLElBQUEsT0FBTyxFQUFDLFdBQXBDO0FBQWdELElBQUEsS0FBSyxFQUFDO0FBQXRELGtCQUNFO0FBQU0sSUFBQSxDQUFDLEVBQUM7QUFBUixJQURGLENBWkYsQ0FEc0I7QUFBQSxDQUFqQjs7OztBQW1CUCxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFVBQVUsRUFBRSx5QkFEUjtBQUVKQyxNQUFBQSxRQUFRLEVBQUVILEtBQUssQ0FBQ0ksVUFBTixDQUFpQkQsUUFGdkI7QUFHSkUsTUFBQUEsVUFBVSxFQUFFLE1BSFI7QUFJSkMsTUFBQUEsVUFBVSxFQUFFLE1BSlI7QUFLSkMsTUFBQUEsUUFBUSxFQUFFLFVBTE47QUFNSkMsTUFBQUEsR0FBRyxFQUFFLEtBTkQ7QUFPSkMsTUFBQUEsS0FBSyxFQUFFLE9BUEg7QUFRSkMsTUFBQUEsTUFBTSxFQUFFLE1BUko7QUFTSkMsTUFBQUEsVUFBVSxFQUFFO0FBVFI7QUFEbUIsR0FBWjtBQUFBLENBQWY7O0FBY08sSUFBTUMsV0FBVyxHQUFHLHdCQUFXYixNQUFYLEVBQW1CO0FBQUEsTUFBR2MsT0FBSCxTQUFHQSxPQUFIO0FBQUEsc0JBQWlCO0FBQUssSUFBQSxTQUFTLEVBQUVBLE9BQU8sQ0FBQ1o7QUFBeEIsdUJBQWpCO0FBQUEsQ0FBbkIsQ0FBcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmV4cG9ydCBjb25zdCBDaGV2cm9uID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZGlyZWN0aW9uLCBzdHlsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IHJvdGF0ZSA9ICgoKSA9PiB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICByZXR1cm4gOTA7XG4gICAgICBjYXNlICd1cCc6XG4gICAgICAgIHJldHVybiAtOTA7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuIDE4MDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfSkoKTtcblxuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRyYW5zZm9ybTogYHJvdGF0ZSgke3JvdGF0ZX1kZWcpYCxcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICB9fVxuICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoIGQ9XCJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIC8+XG4gICAgPC9zdmc+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgR3JpcEljb24gPSAoeyBzdHlsZSB9KSA9PiAoXG4gIDxzcGFuIHN0eWxlPXtzdHlsZX0+XG4gICAgPHN2Z1xuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWFyZ2luOiAnMCAtMTZweCcsXG4gICAgICB9fVxuICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoIGQ9XCJNOSAzSDd2MmgyVjN6bTAgNEg3djJoMlY3em0wIDRIN3YyaDJ2LTJ6bTAgNEg3djJoMnYtMnptMCA0SDd2Mmgydi0yem00LTE2aC0ydjJoMlYzem0wIDRoLTJ2MmgyVjd6bTAgNGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6XCIgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICA8cGF0aCBkPVwiTTkgM0g3djJoMlYzem0wIDRIN3YyaDJWN3ptMCA0SDd2Mmgydi0yem0wIDRIN3YyaDJ2LTJ6bTAgNEg3djJoMnYtMnptNC0xNmgtMnYyaDJWM3ptMCA0aC0ydjJoMlY3em0wIDRoLTJ2Mmgydi0yem0wIDRoLTJ2Mmgydi0yem0wIDRoLTJ2Mmgydi0yelwiIC8+XG4gICAgPC9zdmc+XG4gIDwvc3Bhbj5cbik7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgaWNvbjoge1xuICAgIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMgIWltcG9ydGFudCcsXG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUsXG4gICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgIGxpbmVIZWlnaHQ6ICcxNHB4JyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB0b3A6ICc3cHgnLFxuICAgIHdpZHRoOiAnMTEwcHgnLFxuICAgIGhlaWdodDogJzI4cHgnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBUb29sYmFySWNvbiA9IHdpdGhTdHlsZXMoc3R5bGVzKSgoeyBjbGFzc2VzIH0pID0+IDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmljb259PisgUmVzcG9uc2UgQXJlYTwvZGl2Pik7XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/respArea/ToolbarIcon.jsx"],"names":["Chevron","props","direction","style","rotate","transform","GripIcon","margin","styles","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","top","width","height","whiteSpace","ToolbarIcon","classes"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AAChC,MAAQC,SAAR,GAA6BD,KAA7B,CAAQC,SAAR;AAAA,MAAmBC,KAAnB,GAA6BF,KAA7B,CAAmBE,KAAnB;;AACA,MAAMC,MAAM,GAAI,YAAM;AACpB,YAAQF,SAAR;AACE,WAAK,MAAL;AACE,eAAO,EAAP;;AACF,WAAK,IAAL;AACE,eAAO,CAAC,EAAR;;AACF,WAAK,MAAL;AACE,eAAO,GAAP;;AACF;AACE,eAAO,CAAP;AARJ;AAUD,GAXc,EAAf;;AAaA,sBACE;AACE,IAAA,KAAK;AACHG,MAAAA,SAAS,mBAAYD,MAAZ;AADN,OAEAD,KAFA,CADP;AAKE,IAAA,KAAK,EAAC,IALR;AAME,IAAA,MAAM,EAAC,IANT;AAOE,IAAA,OAAO,EAAC,WAPV;AAQE,IAAA,KAAK,EAAC;AARR,kBAUE;AAAM,IAAA,CAAC,EAAC,gDAAR;AAAyD,IAAA,IAAI,EAAC;AAA9D,IAVF,CADF;AAcD,CA7BM;;;;AA+BA,IAAMG,QAAQ,GAAG,SAAXA,QAAW;AAAA,MAAGH,KAAH,QAAGA,KAAH;AAAA,sBACtB;AAAM,IAAA,KAAK,EAAEA;AAAb,kBACE;AACE,IAAA,KAAK,EAAE;AACLI,MAAAA,MAAM,EAAE;AADH,KADT;AAIE,IAAA,KAAK,EAAC,IAJR;AAKE,IAAA,MAAM,EAAC,IALT;AAME,IAAA,OAAO,EAAC,WANV;AAOE,IAAA,KAAK,EAAC;AAPR,kBASE;AAAM,IAAA,CAAC,EAAC;AAAR,IATF,CADF,eAYE;AAAK,IAAA,KAAK,EAAC,IAAX;AAAgB,IAAA,MAAM,EAAC,IAAvB;AAA4B,IAAA,OAAO,EAAC,WAApC;AAAgD,IAAA,KAAK,EAAC;AAAtD,kBACE;AAAM,IAAA,CAAC,EAAC;AAAR,IADF,CAZF,CADsB;AAAA,CAAjB;;;;AAmBP,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,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;AADmB,GAAZ;AAAA,CAAf;;AAcO,IAAMC,WAAW,GAAG,wBAAWb,MAAX,EAAmB;AAAA,MAAGc,OAAH,SAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACZ;AAAxB,uBAAjB;AAAA,CAAnB,CAApB","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport const Chevron = (props) => {\n const { direction, style } = props;\n const rotate = (() => {\n switch (direction) {\n case 'down':\n return 90;\n case 'up':\n return -90;\n case 'left':\n return 180;\n default:\n return 0;\n }\n })();\n\n return (\n <svg\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style,\n }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" fill=\"currentColor\" />\n </svg>\n );\n};\n\nexport const GripIcon = ({ style }) => (\n <span style={style}>\n <svg\n style={{\n margin: '0 -16px',\n }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z\" />\n </svg>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z\" />\n </svg>\n </span>\n);\n\nconst styles = (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});\n\nexport const ToolbarIcon = withStyles(styles)(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"file":"ToolbarIcon.js"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.js"],"names":["MAIN_CONTAINER_CLASS","PIE_TOOLBAR__CLASS"],"mappings":";;;;;;AAAO,IAAMA,oBAAoB,GAAG,gBAA7B;;AACA,IAAMC,kBAAkB,GAAG,aAA3B;;eAEQ;AACbD,EAAAA,oBAAoB,EAApBA,oBADa;AAEbC,EAAAA,kBAAkB,EAAlBA;AAFa,C","sourcesContent":["export const MAIN_CONTAINER_CLASS = 'main-container';\nexport const PIE_TOOLBAR__CLASS = 'pie-toolbar';\n\nexport default {\n MAIN_CONTAINER_CLASS,\n PIE_TOOLBAR__CLASS,\n};\n"],"file":"constants.js"}