@pie-lib/editable-html-tip-tap 2.1.2-next.3 → 2.1.2-next.30

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 (273) hide show
  1. package/dist/components/CharacterPicker.d.ts +31 -0
  2. package/dist/components/CharacterPicker.js +131 -0
  3. package/dist/components/EditableHtml.d.ts +11 -0
  4. package/dist/components/EditableHtml.js +291 -0
  5. package/dist/components/MenuBar.d.ts +11 -0
  6. package/dist/components/MenuBar.js +462 -0
  7. package/dist/components/TiptapContainer.d.ts +11 -0
  8. package/dist/components/TiptapContainer.js +154 -0
  9. package/dist/components/characters/characterUtils.d.ts +35 -0
  10. package/dist/components/characters/characterUtils.js +465 -0
  11. package/dist/components/characters/custom-popper.d.ts +14 -0
  12. package/dist/components/characters/custom-popper.js +32 -0
  13. package/dist/components/common/done-button.d.ts +30 -0
  14. package/dist/components/common/done-button.js +26 -0
  15. package/dist/components/common/toolbar-buttons.d.ts +38 -0
  16. package/dist/components/common/toolbar-buttons.js +91 -0
  17. package/dist/components/icons/CssIcon.d.ts +11 -0
  18. package/dist/components/icons/CssIcon.js +14 -0
  19. package/dist/components/icons/RespArea.d.ts +26 -0
  20. package/dist/components/icons/RespArea.js +42 -0
  21. package/dist/components/icons/TableIcons.d.ts +14 -0
  22. package/dist/components/icons/TableIcons.js +32 -0
  23. package/dist/components/icons/TextAlign.d.ts +18 -0
  24. package/dist/components/icons/TextAlign.js +134 -0
  25. package/dist/components/image/AltDialog.d.ts +22 -0
  26. package/dist/components/image/AltDialog.js +61 -0
  27. package/dist/components/image/ImageToolbar.d.ts +24 -0
  28. package/dist/components/image/ImageToolbar.js +80 -0
  29. package/dist/components/image/InsertImageHandler.d.ts +32 -0
  30. package/dist/components/image/InsertImageHandler.js +53 -0
  31. package/dist/components/media/MediaDialog.d.ts +43 -0
  32. package/dist/components/media/MediaDialog.js +389 -0
  33. package/dist/components/media/MediaToolbar.d.ts +19 -0
  34. package/dist/components/media/MediaToolbar.js +41 -0
  35. package/dist/components/media/MediaWrapper.d.ts +19 -0
  36. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
  37. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
  38. package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
  39. package/dist/components/respArea/DragInTheBlank/choice.js +156 -0
  40. package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
  41. package/dist/components/respArea/ExplicitConstructedResponse.js +83 -0
  42. package/dist/components/respArea/InlineDropdown.d.ts +18 -0
  43. package/dist/components/respArea/InlineDropdown.js +119 -0
  44. package/dist/components/respArea/MathTemplated.d.ts +19 -0
  45. package/dist/components/respArea/MathTemplated.js +97 -0
  46. package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
  47. package/dist/components/respArea/ToolbarIcon.js +17 -0
  48. package/dist/components/respArea/inlineDropdownUtils.d.ts +15 -0
  49. package/dist/components/respArea/inlineDropdownUtils.js +15 -0
  50. package/dist/constants.d.ts +13 -0
  51. package/dist/constants.js +4 -0
  52. package/dist/extensions/css.d.ts +11 -0
  53. package/dist/extensions/css.js +115 -0
  54. package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
  55. package/dist/extensions/custom-toolbar-wrapper.js +61 -0
  56. package/dist/extensions/div-node.d.ts +10 -0
  57. package/dist/extensions/div-node.js +42 -0
  58. package/dist/extensions/ensure-empty-root-div.d.ts +14 -0
  59. package/dist/extensions/ensure-empty-root-div.js +24 -0
  60. package/dist/extensions/ensure-list-item-content-is-div.d.ts +15 -0
  61. package/dist/extensions/ensure-list-item-content-is-div.js +31 -0
  62. package/dist/extensions/extended-list-item.d.ts +13 -0
  63. package/dist/extensions/extended-list-item.js +5 -0
  64. package/dist/extensions/extended-table-cell.d.ts +10 -0
  65. package/dist/extensions/extended-table-cell.js +6 -0
  66. package/dist/extensions/extended-table.d.ts +17 -0
  67. package/dist/extensions/extended-table.js +34 -0
  68. package/dist/extensions/heading-paragraph.d.ts +17 -0
  69. package/dist/extensions/heading-paragraph.js +30 -0
  70. package/dist/extensions/image-component.d.ts +22 -0
  71. package/dist/extensions/image-component.js +220 -0
  72. package/dist/extensions/image.d.ts +10 -0
  73. package/dist/extensions/image.js +68 -0
  74. package/dist/extensions/index.d.ts +16 -0
  75. package/dist/extensions/index.js +64 -0
  76. package/dist/extensions/math.d.ts +15 -0
  77. package/dist/extensions/math.js +158 -0
  78. package/dist/extensions/media.d.ts +19 -0
  79. package/dist/extensions/media.js +149 -0
  80. package/dist/extensions/responseArea.d.ts +27 -0
  81. package/dist/extensions/responseArea.js +259 -0
  82. package/dist/index.d.ts +13 -0
  83. package/dist/index.js +7 -0
  84. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  85. package/dist/styles/editorContainerStyles.d.ts +134 -0
  86. package/dist/theme.d.ts +9 -0
  87. package/dist/utils/helper.d.ts +9 -0
  88. package/dist/utils/helper.js +27 -0
  89. package/dist/utils/size.d.ts +9 -0
  90. package/dist/utils/size.js +14 -0
  91. package/package.json +56 -40
  92. package/CHANGELOG.json +0 -32
  93. package/CHANGELOG.md +0 -2532
  94. package/LICENSE.md +0 -5
  95. package/lib/components/CharacterPicker.js +0 -195
  96. package/lib/components/CharacterPicker.js.map +0 -1
  97. package/lib/components/EditableHtml.js +0 -375
  98. package/lib/components/EditableHtml.js.map +0 -1
  99. package/lib/components/MenuBar.js +0 -693
  100. package/lib/components/MenuBar.js.map +0 -1
  101. package/lib/components/TiptapContainer.js +0 -234
  102. package/lib/components/TiptapContainer.js.map +0 -1
  103. package/lib/components/characters/characterUtils.js +0 -378
  104. package/lib/components/characters/characterUtils.js.map +0 -1
  105. package/lib/components/characters/custom-popper.js +0 -44
  106. package/lib/components/characters/custom-popper.js.map +0 -1
  107. package/lib/components/common/done-button.js +0 -34
  108. package/lib/components/common/done-button.js.map +0 -1
  109. package/lib/components/common/toolbar-buttons.js +0 -144
  110. package/lib/components/common/toolbar-buttons.js.map +0 -1
  111. package/lib/components/icons/CssIcon.js +0 -25
  112. package/lib/components/icons/CssIcon.js.map +0 -1
  113. package/lib/components/icons/RespArea.js +0 -72
  114. package/lib/components/icons/RespArea.js.map +0 -1
  115. package/lib/components/icons/TableIcons.js +0 -53
  116. package/lib/components/icons/TableIcons.js.map +0 -1
  117. package/lib/components/icons/TextAlign.js +0 -157
  118. package/lib/components/icons/TextAlign.js.map +0 -1
  119. package/lib/components/image/AltDialog.js +0 -98
  120. package/lib/components/image/AltDialog.js.map +0 -1
  121. package/lib/components/image/ImageToolbar.js +0 -137
  122. package/lib/components/image/ImageToolbar.js.map +0 -1
  123. package/lib/components/image/InsertImageHandler.js +0 -135
  124. package/lib/components/image/InsertImageHandler.js.map +0 -1
  125. package/lib/components/media/MediaDialog.js +0 -594
  126. package/lib/components/media/MediaDialog.js.map +0 -1
  127. package/lib/components/media/MediaToolbar.js +0 -74
  128. package/lib/components/media/MediaToolbar.js.map +0 -1
  129. package/lib/components/media/MediaWrapper.js +0 -67
  130. package/lib/components/media/MediaWrapper.js.map +0 -1
  131. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -84
  132. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
  133. package/lib/components/respArea/DragInTheBlank/choice.js +0 -250
  134. package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
  135. package/lib/components/respArea/ExplicitConstructedResponse.js +0 -136
  136. package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
  137. package/lib/components/respArea/InlineDropdown.js +0 -165
  138. package/lib/components/respArea/InlineDropdown.js.map +0 -1
  139. package/lib/components/respArea/MathTemplated.js +0 -130
  140. package/lib/components/respArea/MathTemplated.js.map +0 -1
  141. package/lib/components/respArea/ToolbarIcon.js +0 -81
  142. package/lib/components/respArea/ToolbarIcon.js.map +0 -1
  143. package/lib/constants.js +0 -11
  144. package/lib/constants.js.map +0 -1
  145. package/lib/extensions/css.js +0 -217
  146. package/lib/extensions/css.js.map +0 -1
  147. package/lib/extensions/custom-toolbar-wrapper.js +0 -92
  148. package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
  149. package/lib/extensions/div-node.js +0 -83
  150. package/lib/extensions/div-node.js.map +0 -1
  151. package/lib/extensions/ensure-empty-root-div.js +0 -48
  152. package/lib/extensions/ensure-empty-root-div.js.map +0 -1
  153. package/lib/extensions/ensure-list-item-content-is-div.js +0 -64
  154. package/lib/extensions/ensure-list-item-content-is-div.js.map +0 -1
  155. package/lib/extensions/extended-list-item.js +0 -15
  156. package/lib/extensions/extended-list-item.js.map +0 -1
  157. package/lib/extensions/extended-table-cell.js +0 -22
  158. package/lib/extensions/extended-table-cell.js.map +0 -1
  159. package/lib/extensions/extended-table.js +0 -75
  160. package/lib/extensions/extended-table.js.map +0 -1
  161. package/lib/extensions/heading-paragraph.js +0 -61
  162. package/lib/extensions/heading-paragraph.js.map +0 -1
  163. package/lib/extensions/image-component.js +0 -348
  164. package/lib/extensions/image-component.js.map +0 -1
  165. package/lib/extensions/image.js +0 -134
  166. package/lib/extensions/image.js.map +0 -1
  167. package/lib/extensions/index.js +0 -46
  168. package/lib/extensions/index.js.map +0 -1
  169. package/lib/extensions/math.js +0 -343
  170. package/lib/extensions/math.js.map +0 -1
  171. package/lib/extensions/media.js +0 -243
  172. package/lib/extensions/media.js.map +0 -1
  173. package/lib/extensions/responseArea.js +0 -446
  174. package/lib/extensions/responseArea.js.map +0 -1
  175. package/lib/index.js +0 -30
  176. package/lib/index.js.map +0 -1
  177. package/lib/styles/editorContainerStyles.js +0 -137
  178. package/lib/styles/editorContainerStyles.js.map +0 -1
  179. package/lib/theme.js +0 -8
  180. package/lib/theme.js.map +0 -1
  181. package/lib/utils/helper.js +0 -73
  182. package/lib/utils/helper.js.map +0 -1
  183. package/lib/utils/size.js +0 -26
  184. package/lib/utils/size.js.map +0 -1
  185. package/src/__tests__/EditableHtml.test.jsx +0 -474
  186. package/src/__tests__/constants.test.js +0 -19
  187. package/src/__tests__/div-to-paragraph-conversion.test.jsx +0 -125
  188. package/src/__tests__/extensions.test.js +0 -208
  189. package/src/__tests__/index.test.jsx +0 -154
  190. package/src/__tests__/size-utils.test.js +0 -64
  191. package/src/__tests__/theme.test.js +0 -17
  192. package/src/components/CharacterPicker.jsx +0 -200
  193. package/src/components/EditableHtml.jsx +0 -438
  194. package/src/components/MenuBar.jsx +0 -549
  195. package/src/components/TiptapContainer.jsx +0 -219
  196. package/src/components/__tests__/AltDialog.test.jsx +0 -147
  197. package/src/components/__tests__/CharacterPicker.test.jsx +0 -219
  198. package/src/components/__tests__/CssIcon.test.jsx +0 -46
  199. package/src/components/__tests__/DragInTheBlank.test.jsx +0 -255
  200. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +0 -204
  201. package/src/components/__tests__/ImageToolbar.test.jsx +0 -128
  202. package/src/components/__tests__/InlineDropdown.test.jsx +0 -380
  203. package/src/components/__tests__/InsertImageHandler.test.js +0 -161
  204. package/src/components/__tests__/MediaDialog.test.jsx +0 -293
  205. package/src/components/__tests__/MediaToolbar.test.jsx +0 -74
  206. package/src/components/__tests__/MediaWrapper.test.jsx +0 -81
  207. package/src/components/__tests__/MenuBar.test.jsx +0 -249
  208. package/src/components/__tests__/RespArea.test.jsx +0 -122
  209. package/src/components/__tests__/TableIcons.test.jsx +0 -149
  210. package/src/components/__tests__/TextAlign.test.jsx +0 -167
  211. package/src/components/__tests__/TiptapContainer.test.jsx +0 -138
  212. package/src/components/__tests__/characterUtils.test.js +0 -166
  213. package/src/components/__tests__/choice.test.jsx +0 -171
  214. package/src/components/__tests__/custom-popper.test.jsx +0 -82
  215. package/src/components/__tests__/done-button.test.jsx +0 -54
  216. package/src/components/__tests__/toolbar-buttons.test.jsx +0 -234
  217. package/src/components/characters/characterUtils.js +0 -447
  218. package/src/components/characters/custom-popper.js +0 -38
  219. package/src/components/common/done-button.jsx +0 -27
  220. package/src/components/common/toolbar-buttons.jsx +0 -122
  221. package/src/components/icons/CssIcon.jsx +0 -15
  222. package/src/components/icons/RespArea.jsx +0 -71
  223. package/src/components/icons/TableIcons.jsx +0 -52
  224. package/src/components/icons/TextAlign.jsx +0 -114
  225. package/src/components/image/AltDialog.jsx +0 -82
  226. package/src/components/image/ImageToolbar.jsx +0 -99
  227. package/src/components/image/InsertImageHandler.js +0 -107
  228. package/src/components/media/MediaDialog.jsx +0 -596
  229. package/src/components/media/MediaToolbar.jsx +0 -49
  230. package/src/components/media/MediaWrapper.jsx +0 -39
  231. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +0 -76
  232. package/src/components/respArea/DragInTheBlank/choice.jsx +0 -256
  233. package/src/components/respArea/ExplicitConstructedResponse.jsx +0 -135
  234. package/src/components/respArea/InlineDropdown.jsx +0 -167
  235. package/src/components/respArea/MathTemplated.jsx +0 -124
  236. package/src/components/respArea/ToolbarIcon.jsx +0 -66
  237. package/src/components/respArea/__tests__/MathTemplated.test.jsx +0 -210
  238. package/src/constants.js +0 -5
  239. package/src/extensions/__tests__/css.test.js +0 -196
  240. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +0 -180
  241. package/src/extensions/__tests__/divNode.test.js +0 -87
  242. package/src/extensions/__tests__/ensure-empty-root-div.test.js +0 -57
  243. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -44
  244. package/src/extensions/__tests__/extended-list-item.test.js +0 -13
  245. package/src/extensions/__tests__/extended-table-cell.test.js +0 -22
  246. package/src/extensions/__tests__/extended-table.test.js +0 -183
  247. package/src/extensions/__tests__/image-component.test.jsx +0 -345
  248. package/src/extensions/__tests__/image.test.js +0 -237
  249. package/src/extensions/__tests__/math.test.js +0 -459
  250. package/src/extensions/__tests__/media-node-view.test.jsx +0 -298
  251. package/src/extensions/__tests__/media.test.js +0 -271
  252. package/src/extensions/__tests__/responseArea.test.js +0 -601
  253. package/src/extensions/css.js +0 -220
  254. package/src/extensions/custom-toolbar-wrapper.jsx +0 -78
  255. package/src/extensions/div-node.js +0 -86
  256. package/src/extensions/ensure-empty-root-div.js +0 -47
  257. package/src/extensions/ensure-list-item-content-is-div.js +0 -62
  258. package/src/extensions/extended-list-item.js +0 -10
  259. package/src/extensions/extended-table-cell.js +0 -19
  260. package/src/extensions/extended-table.js +0 -60
  261. package/src/extensions/heading-paragraph.js +0 -53
  262. package/src/extensions/image-component.jsx +0 -338
  263. package/src/extensions/image.js +0 -109
  264. package/src/extensions/index.js +0 -81
  265. package/src/extensions/math.js +0 -327
  266. package/src/extensions/media.js +0 -188
  267. package/src/extensions/responseArea.js +0 -401
  268. package/src/index.jsx +0 -5
  269. package/src/styles/editorContainerStyles.js +0 -145
  270. package/src/theme.js +0 -1
  271. package/src/utils/__tests__/helper.test.js +0 -126
  272. package/src/utils/helper.js +0 -69
  273. package/src/utils/size.js +0 -32
@@ -1 +0,0 @@
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":[]}
@@ -1,136 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _react2 = require("@tiptap/react");
13
- var _reactDom = _interopRequireDefault(require("react-dom"));
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _customToolbarWrapper = _interopRequireDefault(require("../../extensions/custom-toolbar-wrapper"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
- var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
18
- var editor = props.editor,
19
- node = props.node,
20
- getPos = props.getPos,
21
- options = props.options,
22
- selected = props.selected;
23
- var attributes = node.attrs;
24
- var value = attributes.value;
25
- var respAreaToolbar = options.respAreaToolbar,
26
- errorFn = options.error;
27
- var pos = getPos();
28
- var _useState = (0, _react.useState)(false),
29
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30
- showToolbar = _useState2[0],
31
- setShowToolbar = _useState2[1];
32
- var EcrToolbar = respAreaToolbar([node, pos], editor, function () {});
33
- var toolbarRef = (0, _react.useRef)(null);
34
- var error;
35
- if (errorFn) {
36
- var _errorValue$respIndex;
37
- var errorValue = errorFn();
38
- var respIndex = parseInt(attributes.index, 10);
39
- error = !!(errorValue !== null && errorValue !== void 0 && (_errorValue$respIndex = errorValue[respIndex]) !== null && _errorValue$respIndex !== void 0 && _errorValue$respIndex[0]);
40
- }
41
- (0, _react.useEffect)(function () {
42
- var selection = editor.state.selection;
43
- var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
44
- if (selected) {
45
- if (onlyThisNodeSelected) {
46
- setShowToolbar(selected);
47
- }
48
- } else {
49
- setShowToolbar(selected);
50
- }
51
- }, [editor, node, selected]);
52
- (0, _react.useEffect)(function () {
53
- var handleClickOutside = function handleClickOutside(event) {
54
- var insideCharacterPicker = event.target.closest('.insert-character-dialog') || event.target.closest('[data-toolbar-for]');
55
- if (!insideCharacterPicker && toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
56
- setShowToolbar(false);
57
- }
58
- };
59
- if (showToolbar) {
60
- document.addEventListener('mousedown', handleClickOutside);
61
- } else {
62
- document.removeEventListener('mousedown', handleClickOutside);
63
- }
64
- return function () {
65
- return document.removeEventListener('mousedown', handleClickOutside);
66
- };
67
- }, [showToolbar]);
68
- return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
69
- className: "drag-in-the-blank",
70
- "data-selected": selected,
71
- style: {
72
- display: 'inline-flex',
73
- minHeight: '55px',
74
- position: 'relative',
75
- cursor: 'pointer'
76
- }
77
- }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, attributes, {
78
- style: {
79
- display: 'inline-flex',
80
- width: '100%',
81
- minHeight: '46px',
82
- height: '46px',
83
- backgroundColor: '#FFF',
84
- border: "1px solid ".concat(error ? 'red' : '#C0C3CF'),
85
- boxSizing: 'border-box',
86
- borderRadius: '4px',
87
- overflow: 'hidden',
88
- padding: '12px 21px',
89
- margin: '0 4px',
90
- minWidth: '178px',
91
- visibility: showToolbar ? 'hidden' : 'visible'
92
- },
93
- onClick: function onClick() {
94
- return setShowToolbar(true);
95
- },
96
- dangerouslySetInnerHTML: {
97
- __html: value || '<div>&nbsp;</div>'
98
- }
99
- })), showToolbar && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
100
- ref: toolbarRef,
101
- className: "absolute z-50 bg-white shadow-lg rounded p-2",
102
- style: {
103
- zIndex: 1
104
- }
105
- }, /*#__PURE__*/_react["default"].createElement(EcrToolbar, null)), editor._tiptapContainerEl && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], {
106
- deletable: true,
107
- toolbarOpts: {
108
- minWidth: 'auto'
109
- },
110
- autoWidth: true,
111
- style: {
112
- top: -40,
113
- left: 0,
114
- right: 0
115
- },
116
- onDelete: function onDelete() {
117
- var tr = editor.state.tr;
118
- tr["delete"](pos, pos + node.nodeSize);
119
- // Prevent the debounced onBlur/onDone from firing into the
120
- // now-deleted node's stale position
121
- editor._toolbarOpened = false;
122
- editor.view.dispatch(tr);
123
- setShowToolbar(false);
124
- editor.commands.focus();
125
- },
126
- showDone: false
127
- }), editor._tiptapContainerEl)));
128
- };
129
- ExplicitConstructedResponse.propTypes = {
130
- attributes: _propTypes["default"].object,
131
- error: _propTypes["default"].any,
132
- value: _propTypes["default"].string,
133
- isFocused: _propTypes["default"].bool
134
- };
135
- var _default = exports["default"] = ExplicitConstructedResponse;
136
- //# sourceMappingURL=ExplicitConstructedResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExplicitConstructedResponse.js","names":["_react","_interopRequireWildcard","require","_react2","_reactDom","_interopRequireDefault","_propTypes","_customToolbarWrapper","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","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","handleClickOutside","event","insideCharacterPicker","target","closest","current","contains","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","Fragment","ref","zIndex","_tiptapContainerEl","ReactDOM","createPortal","deletable","toolbarOpts","autoWidth","top","left","right","onDelete","tr","_toolbarOpened","view","dispatch","commands","focus","showDone","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 ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport CustomToolbarWrapper from '../../extensions/custom-toolbar-wrapper';\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 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 const insideCharacterPicker =\n event.target.closest('.insert-character-dialog') || event.target.closest('[data-toolbar-for]');\n\n if (\n !insideCharacterPicker &&\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 <React.Fragment>\n <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <EcrToolbar />\n </div>\n {editor._tiptapContainerEl &&\n ReactDOM.createPortal(\n <CustomToolbarWrapper\n deletable\n toolbarOpts={{ minWidth: 'auto' }}\n autoWidth\n style={{ top: -40, left: 0, right: 0 }}\n onDelete={() => {\n const { tr } = editor.state;\n tr.delete(pos, pos + node.nodeSize);\n // Prevent the debounced onBlur/onDone from firing into the\n // now-deleted node's stale position\n editor._toolbarOpened = false;\n editor.view.dispatch(tr);\n setShowToolbar(false);\n editor.commands.focus();\n }}\n showDone={false}\n />,\n editor._tiptapContainerEl,\n )}\n </React.Fragment>\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,165 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _react2 = require("@tiptap/react");
13
- var _RespArea = require("../icons/RespArea");
14
- var _reactDom = _interopRequireDefault(require("react-dom"));
15
- var _customToolbarWrapper = _interopRequireDefault(require("../../extensions/custom-toolbar-wrapper"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
- var InlineDropdown = function InlineDropdown(props) {
18
- var editor = props.editor,
19
- node = props.node,
20
- getPos = props.getPos,
21
- options = props.options,
22
- selected = props.selected;
23
- var attributes = node.attrs;
24
- var value = attributes.value,
25
- error = attributes.error;
26
- // TODO: Investigate
27
- // Needed because items with values inside have different positioning for some reason
28
- var html = value || '<div>&nbsp</div>';
29
- var pos = getPos();
30
- var toolbarRef = (0, _react.useRef)(null);
31
- var toolbarEditor = (0, _react.useRef)(null);
32
- var _useState = (0, _react.useState)(false),
33
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
- showToolbar = _useState2[0],
35
- setShowToolbar = _useState2[1];
36
- var _useState3 = (0, _react.useState)({
37
- top: 0,
38
- left: 0
39
- }),
40
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
41
- position = _useState4[0],
42
- setPosition = _useState4[1];
43
- var InlineDropdownToolbar = options.respAreaToolbar([node, pos], editor, function () {});
44
- (0, _react.useEffect)(function () {
45
- var selection = editor.state.selection;
46
- var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
47
- if (selected) {
48
- if (onlyThisNodeSelected) {
49
- setShowToolbar(selected);
50
- }
51
- } else {
52
- setShowToolbar(selected);
53
- }
54
- }, [editor, node, selected]);
55
- (0, _react.useEffect)(function () {
56
- // Calculate position relative to selection
57
- var bodyRect = document.body.getBoundingClientRect();
58
- var from = editor.state.selection.from;
59
- var start = editor.view.coordsAtPos(from);
60
- setPosition({
61
- top: start.top + Math.abs(bodyRect.top) + 40,
62
- // shift above
63
- left: start.left
64
- });
65
- var handleClickOutside = function handleClickOutside(event) {
66
- var insideSomeEditor = event.target.closest('[data-toolbar-for]');
67
- if ((!insideSomeEditor || insideSomeEditor.dataset.toolbarFor !== toolbarEditor.current.instanceId) && !editor._toolbarOpened && toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
68
- setShowToolbar(false);
69
- }
70
- };
71
- if (showToolbar) {
72
- document.addEventListener('mousedown', handleClickOutside);
73
- } else {
74
- document.removeEventListener('mousedown', handleClickOutside);
75
- }
76
- return function () {
77
- return document.removeEventListener('mousedown', handleClickOutside);
78
- };
79
- }, [showToolbar]);
80
- return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, {
81
- className: "inline-dropdown",
82
- "data-selected": selected,
83
- style: {
84
- display: 'inline-flex',
85
- height: '50px',
86
- cursor: 'pointer'
87
- }
88
- }, /*#__PURE__*/_react["default"].createElement("div", {
89
- style: {
90
- display: 'inline-flex',
91
- minWidth: '178px',
92
- height: '36px',
93
- background: '#FFF',
94
- border: '1px solid #C0C3CF',
95
- boxSizing: 'border-box',
96
- borderRadius: '3px',
97
- margin: '0 2px',
98
- position: 'relative',
99
- alignItems: 'center'
100
- },
101
- onClick: function onClick() {
102
- return setShowToolbar(true);
103
- }
104
- }, /*#__PURE__*/_react["default"].createElement("div", {
105
- style: {
106
- flex: 1,
107
- overflow: 'hidden',
108
- padding: '0 25px 0 8px',
109
- whiteSpace: 'nowrap',
110
- textOverflow: 'ellipsis'
111
- }
112
- }, /*#__PURE__*/_react["default"].createElement("span", {
113
- style: {
114
- display: 'inline-block',
115
- verticalAlign: 'middle'
116
- },
117
- dangerouslySetInnerHTML: {
118
- __html: html
119
- }
120
- })), /*#__PURE__*/_react["default"].createElement(_RespArea.Chevron, {
121
- direction: "down",
122
- style: {
123
- position: 'absolute',
124
- top: '5px',
125
- right: '5px'
126
- }
127
- })), showToolbar && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement("div", {
128
- ref: toolbarRef,
129
- style: {
130
- zIndex: 1
131
- }
132
- }, /*#__PURE__*/_react["default"].createElement(InlineDropdownToolbar, {
133
- editorCallback: function editorCallback(instance) {
134
- toolbarEditor.current = instance;
135
- }
136
- })), document.body), editor._tiptapContainerEl && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], {
137
- deletable: true,
138
- toolbarOpts: {
139
- minWidth: 'auto'
140
- },
141
- autoWidth: true,
142
- style: {
143
- top: -40,
144
- left: 0,
145
- right: 0
146
- },
147
- onDelete: function onDelete() {
148
- var tr = editor.state.tr;
149
- tr["delete"](pos, pos + node.nodeSize);
150
- // Prevent the debounced onBlur/onDone from firing into the
151
- // now-deleted node's stale position
152
- editor._toolbarOpened = false;
153
- editor.view.dispatch(tr);
154
- setShowToolbar(false);
155
- editor.commands.focus();
156
- },
157
- showDone: false
158
- }), editor._tiptapContainerEl)));
159
- };
160
- InlineDropdown.propTypes = {
161
- attributes: _propTypes["default"].object,
162
- selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
163
- };
164
- var _default = exports["default"] = InlineDropdown;
165
- //# sourceMappingURL=InlineDropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_react2","_RespArea","_reactDom","_customToolbarWrapper","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","cursor","minWidth","background","border","boxSizing","borderRadius","margin","alignItems","onClick","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","right","Fragment","ReactDOM","createPortal","ref","zIndex","editorCallback","instance","_tiptapContainerEl","deletable","toolbarOpts","autoWidth","onDelete","tr","dispatch","commands","focus","showDone","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';\nimport CustomToolbarWrapper from '../../extensions/custom-toolbar-wrapper';\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 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 2px',\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 <React.Fragment>\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\n {editor._tiptapContainerEl &&\n ReactDOM.createPortal(\n <CustomToolbarWrapper\n deletable\n toolbarOpts={{ minWidth: 'auto' }}\n autoWidth\n style={{ top: -40, left: 0, right: 0 }}\n onDelete={() => {\n const { tr } = editor.state;\n tr.delete(pos, pos + node.nodeSize);\n // Prevent the debounced onBlur/onDone from firing into the\n // now-deleted node's stale position\n editor._toolbarOpened = false;\n editor.view.dispatch(tr);\n setShowToolbar(false);\n editor.commands.focus();\n }}\n showDone={false}\n />,\n editor._tiptapContainerEl,\n )}\n </React.Fragment>\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,130 +0,0 @@
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
@@ -1 +0,0 @@
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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAMK,mBAAmB,GAAG,IAAAC,cAAM,EAAC,MAAM,CAAC,CAAC;EAAA,OAAO;IAChDC,OAAO,EAAE,aAAa;IACtBC,MAAM,EAAE,mBAAmB;IAC3BC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE,SAAS;IACjBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAE,MAAM;IACjBC,MAAM,EAAE;EACV,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,iBAAiB,GAAG,IAAAV,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAW,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACtDC,UAAU,EAAED,KAAK,CAACE,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;IACtCC,KAAK,EAAEJ,KAAK,CAACE,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;IACjCd,OAAO,EAAE,aAAa;IACtBgB,WAAW,EAAE,mBAAmB;IAChCC,SAAS,EAAE,YAAY;IACvBC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE,MAAM;IAChBZ,SAAS,EAAE,MAAM;IACjBC,MAAM,EAAE,MAAM;IACdJ,UAAU,EAAE,QAAQ;IACpBgB,UAAU,EAAE,iCAAiC;IAC7CC,OAAO,EAAE;EACX,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,eAAe,GAAG,IAAAvB,cAAM,EAAC,KAAK,CAAC,CAAC;EAAA,OAAO;IAC3CwB,IAAI,EAAE,CAAC;IACPR,KAAK,EAAE,wBAAwB;IAC/BM,OAAO,EAAE,gBAAgB;IACzBrB,OAAO,EAAE,MAAM;IACfI,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBmB,eAAe,EAAE,+CAA+C;IAChE,kCAAkC,EAAE;MAClCL,QAAQ,EAAE,gBAAgB;MAC1BM,aAAa,EAAE;IACjB,CAAC;IACD,iCAAiC,EAAE;MACjCC,SAAS,EAAE,cAAc;MACzBC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,iBAAiB;MAC5BC,UAAU,EAAE;IACd,CAAC;IACD,uBAAuB,EAAE;MACvBA,UAAU,EAAE,cAAc;MAC1B5B,MAAM,EAAE;IACV,CAAC;IACD,+BAA+B,EAAE;MAC/B2B,SAAS,EAAE,KAAK;MAChBtB,QAAQ,EAAE,QAAQ;MAClB,KAAK,EAAE;QACLwB,UAAU,EAAE;MACd,CAAC;MACD,UAAU,EAAE;QACVC,GAAG,EAAE,QAAQ;QACbC,IAAI,EAAE;MACR,CAAC;MACD,SAAS,EAAE;QACTD,GAAG,EAAE,gBAAgB;QACrBE,QAAQ,EAAE,qBAAqB;QAC/BC,KAAK,EAAE;MACT,CAAC;MACD,kBAAkB,EAAE;QAClBH,GAAG,EAAE;MACP;IACF,CAAC;IACD,gCAAgC,EAAE;MAChC,UAAU,EAAE;QACVA,GAAG,EAAE,QAAQ;QACbG,KAAK,EAAE;MACT;IACF,CAAC;IACD,6BAA6B,EAAE;MAC7BlC,OAAO,EAAE;IACX,CAAC;IACD,4BAA4B,EAAE;MAC5BA,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC,CAAC;AACH,IAAMmC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;EAC/B,IAAQC,IAAI,GAAwBD,KAAK,CAAjCC,IAAI;IAAEC,OAAO,GAAeF,KAAK,CAA3BE,OAAO;IAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;EAC/B,IAAeC,UAAU,GAAKH,IAAI,CAA1BI,KAAK;EACb,IAAQC,KAAK,GAAYF,UAAU,CAA3BE,KAAK;IAAEC,KAAK,GAAKH,UAAU,CAApBG,KAAK;;EAEpB;EACA,IAAMC,YAAY,QAAAC,MAAA,CAAQC,QAAQ,CAACH,KAAK,CAAC,GAAG,CAAC,CAAE;;EAE/C;EACA,oBACEpD,MAAA,YAAAwD,aAAA,CAACpD,OAAA,CAAAqD,eAAe;IACdC,SAAS,EAAC,gBAAgB;IAC1B,iBAAeV,QAAS;IACxBW,KAAK,EAAE;MACLlD,OAAO,EAAE,aAAa;MACtBO,SAAS,EAAE,MAAM;MACjBD,QAAQ,EAAE,MAAM;MAChBH,MAAM,EAAE;IACV;EAAE,gBAEFZ,MAAA,YAAAwD,aAAA,CAACjD,mBAAmB,EAAK0C,UAAU,eACjCjD,MAAA,YAAAwD,aAAA,CAACtC,iBAAiB,QAAEmC,YAAgC,CAAC,eACrDrD,MAAA,YAAAwD,aAAA,CAACzB,eAAe,qBACd/B,MAAA,YAAAwD,aAAA,CAACnD,UAAA,CAAAuD,EAAE,CAACC,MAAM;IAACC,KAAK,EAAEX;EAAM,CAAE,CACX,CACE,CACN,CAAC;AAEtB,CAAC;AAEDP,aAAa,CAACmB,SAAS,GAAG;EACxBd,UAAU,EAAEe,qBAAS,CAACC,MAAM;EAC5Bd,KAAK,EAAEa,qBAAS,CAACE,MAAM;EACvBb,YAAY,EAAEW,qBAAS,CAACE;AAC1B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEaxB,aAAa","ignoreList":[]}
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ToolbarIcon = exports.GripIcon = exports.Chevron = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _styles = require("@mui/material/styles");
11
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
- var Chevron = exports.Chevron = function Chevron(props) {
14
- var direction = props.direction,
15
- style = props.style;
16
- var rotate = function () {
17
- switch (direction) {
18
- case 'down':
19
- return 90;
20
- case 'up':
21
- return -90;
22
- case 'left':
23
- return 180;
24
- default:
25
- return 0;
26
- }
27
- }();
28
- return /*#__PURE__*/_react["default"].createElement("svg", {
29
- style: _objectSpread({
30
- transform: "rotate(".concat(rotate, "deg)")
31
- }, style),
32
- width: "24",
33
- height: "24",
34
- viewBox: "0 0 24 24",
35
- xmlns: "http://www.w3.org/2000/svg"
36
- }, /*#__PURE__*/_react["default"].createElement("path", {
37
- d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",
38
- fill: "currentColor"
39
- }));
40
- };
41
- var GripIcon = exports.GripIcon = function GripIcon(_ref) {
42
- var style = _ref.style;
43
- return /*#__PURE__*/_react["default"].createElement("span", {
44
- style: style
45
- }, /*#__PURE__*/_react["default"].createElement("svg", {
46
- style: {
47
- margin: '0 -16px'
48
- },
49
- width: "24",
50
- height: "24",
51
- viewBox: "0 0 24 24",
52
- xmlns: "http://www.w3.org/2000/svg"
53
- }, /*#__PURE__*/_react["default"].createElement("path", {
54
- d: "M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z"
55
- })), /*#__PURE__*/_react["default"].createElement("svg", {
56
- width: "24",
57
- height: "24",
58
- viewBox: "0 0 24 24",
59
- xmlns: "http://www.w3.org/2000/svg"
60
- }, /*#__PURE__*/_react["default"].createElement("path", {
61
- d: "M9 3H7v2h2V3zm0 4H7v2h2V7zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm0 4H7v2h2v-2zm4-16h-2v2h2V3zm0 4h-2v2h2V7zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2zm0 4h-2v2h2v-2z"
62
- })));
63
- };
64
- var StyledToolbarIcon = (0, _styles.styled)('div')(function (_ref2) {
65
- var theme = _ref2.theme;
66
- return {
67
- fontFamily: 'Cerebri Sans !important',
68
- fontSize: theme.typography.fontSize,
69
- fontWeight: 'bold',
70
- lineHeight: '14px',
71
- position: 'relative',
72
- top: '7px',
73
- width: '110px',
74
- height: '28px',
75
- whiteSpace: 'nowrap'
76
- };
77
- });
78
- var ToolbarIcon = exports.ToolbarIcon = function ToolbarIcon() {
79
- return /*#__PURE__*/_react["default"].createElement(StyledToolbarIcon, null, "+ Response Area");
80
- };
81
- //# sourceMappingURL=ToolbarIcon.js.map