@pie-lib/editable-html-tip-tap 1.2.0-next.21 → 1.2.0-next.23

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,21 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.2.0-next.23](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html-tip-tap@1.2.0-next.22...@pie-lib/editable-html-tip-tap@1.2.0-next.23) (2026-04-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ - made sure lastIndex in respArea is handled properly, improved spacing around response areas [PIE-35][PIE-40] ([c673701](https://github.com/pie-framework/pie-lib/commit/c673701618bc896208c9760e87ea6dbbd1a91d54))
11
+
12
+ # [1.2.0-next.22](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html-tip-tap@1.2.0-next.21...@pie-lib/editable-html-tip-tap@1.2.0-next.22) (2026-04-03)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **editable-html-tip-tap:** backspace behavior in tiptap and add custom toolbar in ExplicitConstructedResponse PIE-19 PIE-30 ([5779a6d](https://github.com/pie-framework/pie-lib/commit/5779a6d6a1c30f398025d4c7bdce578827b51e3a))
17
+ - handle different editors, handle clicks in dropdown PIE-47 ([19c8914](https://github.com/pie-framework/pie-lib/commit/19c89148cee951133680c218fb446107f9b2ce16))
18
+ - **math-input:** bump @pie-framework/mathquill to 1.2.1-beta.1 with jQuery shim fixes PIE-16 PIE-20 ([3eaa8fd](https://github.com/pie-framework/pie-lib/commit/3eaa8fd410d8668c2d085cca4a4995a7e66d774f))
19
+ - **plot:** remove unnecessary space, prevent new lines, center placeholder PD-5674 ([9840d80](https://github.com/pie-framework/pie-lib/commit/9840d80a1351f19adbe3396d3abae5fb4e310494))
20
+
6
21
  # [1.2.0-next.21](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html-tip-tap@1.2.0-next.20...@pie-lib/editable-html-tip-tap@1.2.0-next.21) (2026-03-31)
7
22
 
8
23
  ### Bug Fixes
@@ -75,6 +75,7 @@ var cssVariables = {
75
75
  '--shadow': "0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)"
76
76
  };
77
77
  var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
78
+ var _props$pluginProps;
78
79
  var _ref = props.pluginProps || {},
79
80
  showParagraphs = _ref.showParagraphs,
80
81
  separateParagraphs = _ref.separateParagraphs;
@@ -134,7 +135,8 @@ var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
134
135
  // show on all empty nodes, not only the current one
135
136
  includeChildren: true
136
137
  }), _extendedTable["default"], _extensionTableRow.TableRow, _extensionTableHeader.TableHeader, _extensionTableCell.TableCell, _responseArea.ResponseAreaExtension.configure(props.responseAreaProps), _responseArea.ExplicitConstructedResponseNode.configure(props.responseAreaProps), _responseArea.DragInTheBlankNode.configure(props.responseAreaProps), _responseArea.InlineDropdownNode.configure(props.responseAreaProps), _responseArea.MathTemplatedNode.configure(props.responseAreaProps), _math.MathNode.configure({
137
- toolbarOpts: toolbarOptsToUse
138
+ toolbarOpts: toolbarOptsToUse,
139
+ math: ((_props$pluginProps = props.pluginProps) === null || _props$pluginProps === void 0 ? void 0 : _props$pluginProps.math) || {}
138
140
  }), _extensionSubscript["default"], _extensionSuperscript["default"], _extensionImage["default"], _image.ImageUploadNode.configure({
139
141
  toolbarOpts: toolbarOptsToUse,
140
142
  imageHandling: {
@@ -324,10 +326,15 @@ var StyledEditorContent = (0, _styles.styled)(_react2.EditorContent, {
324
326
  '& > p, & > div': {
325
327
  margin: '0'
326
328
  },
327
- '& p.is-editor-empty:first-child::before, & div.is-editor-empty:first-child::before': {
329
+ // Out of flow so the caret stays at the start of the block; in-flow ::before pushes the caret after the hint text.
330
+ '& p.is-editor-empty, & div.is-editor-empty': {
331
+ position: 'relative'
332
+ },
333
+ '& p.is-editor-empty::before, & div.is-editor-empty::before': {
328
334
  content: 'attr(data-placeholder)',
329
- "float": 'left',
330
- height: 0,
335
+ position: 'absolute',
336
+ left: 0,
337
+ top: 0,
331
338
  color: '#9CA3AF',
332
339
  pointerEvents: 'none',
333
340
  whiteSpace: 'pre-wrap'
@@ -1 +1 @@
1
- {"version":3,"file":"EditableHtml.js","names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_react2","_styles","_starterKit","_extensionTextStyle","_extensionCharacterCount","_extensionSuperscript","_extensionSubscript","_extensionTextAlign","_extensionImage","_extensionPlaceholder","_helper","_extendedTable","_divNode","_extensionTableRow","_extensionTableCell","_extensionTableHeader","_responseArea","_math","_image","_media","_css","_TiptapContainer","_size","_extensions","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defaultToolbarOpts","position","alignment","alwaysVisible","showDone","doneOn","defaultResponseAreaProps","options","respAreaToolbar","onHandleAreaChange","DEFAULT_ACTIVE_PLUGINS","cssVariables","EditableHtml","exports","props","_ref","pluginProps","showParagraphs","separateParagraphs","_useState","useState","_useState2","_slicedToArray2","pendingImages","setPendingImages","_useState3","_useState4","scheduled","setScheduled","toolbarOpts","toolbarOptsToUse","activePluginsToUse","useMemo","_ref3","_props$responseAreaPr","_ref2","customPlugins","otherPluginProps","_objectWithoutProperties2","filteredActivePlugins","activePlugins","pluginName","nameToUse","PLUGINS_MAP","pluginInfo","disabled","buildExtensions","math","textAlign","html","extraCSSRules","image","imageSupport","toolbar","table","responseArea","type","responseAreaProps","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextAlign","configure","types","alignments","TextStyleKit","CharacterCount","limit","charactersLimit","StarterKit","trailingNode","node","notAfter","DivNode","Placeholder","placeholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","ExtendedTable","TableRow","TableHeader","TableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathTemplatedNode","MathNode","SubScript","SuperScript","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","onDone","_props$onDone","editor","getHTML","onDelete","src","attrs","newPendingImages","img","key","newState","insertImageRequested","addedImage","getHandler","onFinish","result","_cb","cb","onChange","callback","handler","add","concat","_toConsumableArray2","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","useEditor","immediatelyRender","editorProps","handleKeyDown","view","event","onKeyDown","editable","content","normalizeInitialMarkup","markup","onUpdate","_ref4","transaction","isDone","_props$onChange","onBlur","debounce","_ref5","otherToolbarOpened","_toolbarOpened","isActive","_props$onChange2","_props$onDone2","useEffect","editorRef","setEditable","nextMarkup","commands","setContent","entries","_ref6","_ref7","value","document","documentElement","style","setProperty","editorState","useEditorState","selector","ctx","_ctx$editor","isFocused","sizeStyle","minWidth","width","maxWidth","minHeight","height","maxHeight","valueToSize","createElement","_extends2","StyledEditorContent","showParagraph","separateParagraph","styled","EditorContent","shouldForwardProp","prop","includes","_ref8","display","outline","flex","padding","margin","color","pointerEvents","whiteSpace","fontSize","marginBottom","_default"],"sources":["../../src/components/EditableHtml.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport debounce from 'lodash-es/debounce';\nimport { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport { styled } from '@mui/material/styles';\nimport StarterKit from '@tiptap/starter-kit';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport { CharacterCount } from '@tiptap/extension-character-count';\nimport SuperScript from '@tiptap/extension-superscript';\nimport SubScript from '@tiptap/extension-subscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Image from '@tiptap/extension-image';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport { normalizeInitialMarkup } from '../utils/helper';\n\nimport ExtendedTable from '../extensions/extended-table';\nimport { DivNode } from '../extensions/div-node';\nimport { TableRow } from '@tiptap/extension-table-row';\nimport { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\nimport {\n DragInTheBlankNode,\n ExplicitConstructedResponseNode,\n InlineDropdownNode,\n MathTemplatedNode,\n ResponseAreaExtension,\n} from '../extensions/responseArea';\nimport { MathNode } from '../extensions/math';\nimport { ImageUploadNode } from '../extensions/image';\nimport { Media } from '../extensions/media';\nimport { CSSMark } from '../extensions/css';\n\nimport EditorContainer from './TiptapContainer';\nimport { valueToSize } from '../utils/size';\nimport { buildExtensions, PLUGINS_MAP } from '../extensions';\n\nconst defaultToolbarOpts = {\n position: 'bottom',\n alignment: 'left',\n alwaysVisible: false,\n showDone: true,\n doneOn: 'blur',\n};\n\nconst defaultResponseAreaProps = {\n options: {},\n respAreaToolbar: () => {},\n onHandleAreaChange: () => {},\n};\n\nconst DEFAULT_ACTIVE_PLUGINS = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'code',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'superscript',\n 'subscript',\n 'css',\n 'h3',\n 'undo',\n 'redo',\n];\n\nconst cssVariables = {\n '--white': '#fff',\n '--black': '#2e2b29',\n '--black-contrast': '#110f0e',\n '--gray-1': 'rgba(61, 37, 20, .05)',\n '--gray-2': 'rgba(61, 37, 20, .08)',\n '--gray-3': 'rgba(61, 37, 20, .12)',\n '--gray-4': 'rgba(53, 38, 28, .3)',\n '--gray-5': 'rgba(28, 25, 23, .6)',\n '--green': '#22c55e',\n '--purple': '#6a00f5',\n '--purple-contrast': '#5800cc',\n '--purple-light': 'rgba(88, 5, 255, .05)',\n '--yellow-contrast': '#facc15',\n '--yellow': 'rgba(250, 204, 21, .4)',\n '--yellow-light': '#fffae5',\n '--red': '#ff5c33',\n '--red-light': '#ffebe5',\n '--shadow': `0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,\n};\n\nexport const EditableHtml = (props) => {\n const { showParagraphs, separateParagraphs } = props.pluginProps || {};\n const [pendingImages, setPendingImages] = useState([]);\n const [scheduled, setScheduled] = useState(false);\n const { toolbarOpts } = props;\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const activePluginsToUse = useMemo(() => {\n let { customPlugins, ...otherPluginProps } = props.pluginProps || {};\n\n customPlugins = customPlugins || [];\n\n const filteredActivePlugins = (props.activePlugins || DEFAULT_ACTIVE_PLUGINS)?.filter((pluginName) => {\n const nameToUse = PLUGINS_MAP[pluginName] || pluginName;\n const pluginInfo = otherPluginProps[nameToUse] || {};\n\n return !pluginInfo || !pluginInfo.disabled;\n });\n\n return buildExtensions(filteredActivePlugins, customPlugins, {\n math: {},\n textAlign: props.textAlign,\n html: {},\n extraCSSRules: props.extraCSSRules || {},\n image: {\n ...props.imageSupport,\n },\n toolbar: {},\n table: {},\n responseArea: {\n type: props.responseAreaProps?.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props]);\n\n const extensions = [\n TextAlign.configure({\n types: ['heading', 'paragraph', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'td', 'th'],\n alignments: ['left', 'right', 'center', 'justify'],\n }),\n TextStyleKit,\n CharacterCount.configure({\n limit: props.charactersLimit || 1000000,\n }),\n StarterKit.configure({\n trailingNode: {\n node: 'paragraph',\n notAfter: ['paragraph', 'div'],\n },\n }),\n DivNode,\n Placeholder.configure({\n placeholder: props.placeholder,\n // show placeholder even when editor is focused\n showOnlyWhenEditable: true,\n showOnlyCurrent: false, // show on all empty nodes, not only the current one\n includeChildren: true,\n }),\n ExtendedTable,\n TableRow,\n TableHeader,\n TableCell,\n ResponseAreaExtension.configure(props.responseAreaProps),\n ExplicitConstructedResponseNode.configure(props.responseAreaProps),\n DragInTheBlankNode.configure(props.responseAreaProps),\n InlineDropdownNode.configure(props.responseAreaProps),\n MathTemplatedNode.configure(props.responseAreaProps),\n MathNode.configure({\n toolbarOpts: toolbarOptsToUse,\n }),\n SubScript,\n SuperScript,\n Image,\n ImageUploadNode.configure({\n toolbarOpts: toolbarOptsToUse,\n imageHandling: {\n disableImageAlignmentButtons: props.disableImageAlignmentButtons,\n onDone: () => props.onDone?.(editor.getHTML()),\n onDelete:\n props.imageSupport &&\n props.imageSupport.delete &&\n ((node) => {\n const { src } = node.attrs;\n\n props.imageSupport.delete(src, (e) => {\n const newPendingImages = pendingImages.filter((img) => img.key !== node.key);\n const newState = {\n pendingImages: newPendingImages,\n scheduled: scheduled && newPendingImages.length === 0 ? false : scheduled,\n };\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((addedImage, getHandler) => {\n const onFinish = (result) => {\n let cb;\n\n if (scheduled && result) {\n // finish editing only on success\n cb = props.onChange;\n }\n\n const newPendingImages = pendingImages.filter((img) => img.key !== addedImage.key);\n const newState = {\n pendingImages: newPendingImages,\n };\n\n if (newPendingImages.length === 0) {\n newState.scheduled = false;\n }\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n cb?.(editor.getHTML());\n };\n const callback = () => {\n /**\n * The handler is the object through which the outer context\n * communicates file upload events like: fileChosen, cancel, progress\n */\n const handler = getHandler(onFinish);\n props.imageSupport.add(handler);\n };\n\n setPendingImages([...pendingImages, addedImage]);\n callback();\n }),\n maxImageWidth: props.maxImageWidth,\n maxImageHeight: props.maxImageHeight,\n },\n limit: 3,\n }),\n Media.configure({\n uploadSoundSupport: props.uploadSoundSupport,\n }),\n CSSMark.configure({\n extraCSSRules: props.extraCSSRules,\n }),\n ];\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n handleKeyDown(view, event) {\n if (props.onKeyDown) {\n return props.onKeyDown(event);\n }\n\n // Return false to let default behavior continue\n return false;\n },\n },\n editable: !props.disabled,\n content: normalizeInitialMarkup(props.markup),\n onUpdate: ({ editor, transaction }) => {\n if (transaction.isDone) {\n props.onChange?.(editor.getHTML());\n }\n },\n onBlur: debounce(({ editor }) => {\n const otherToolbarOpened =\n editor._toolbarOpened ||\n editor.isActive('inline_dropdown') ||\n editor.isActive('explicit_constructed_response');\n\n if (otherToolbarOpened) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n props.onChange?.(editor.getHTML());\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(editor.getHTML());\n }\n }, 200),\n },\n [props.charactersLimit],\n );\n\n useEffect(() => {\n if (props.editorRef) {\n props.editorRef(editor);\n }\n }, [props.editorRef, editor]);\n\n useEffect(() => {\n editor?.setEditable(!props.disabled);\n }, [props.disabled, editor]);\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n const nextMarkup = normalizeInitialMarkup(props.markup);\n\n if (nextMarkup !== editor.getHTML()) {\n editor.commands.setContent(nextMarkup, false);\n }\n }, [props.markup, editor]);\n\n useEffect(() => {\n Object.entries(cssVariables).forEach(([key, value]) => {\n document.documentElement.style.setProperty(key, value);\n });\n }, []);\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => ({\n isFocused: ctx.editor?.isFocused,\n }),\n });\n\n const sizeStyle = useMemo(() => {\n const { minWidth, width, maxWidth, minHeight, height, maxHeight } = props;\n\n return {\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n };\n }, [props]);\n\n return (\n <EditorContainer\n {...{\n ...props,\n activePlugins: activePluginsToUse,\n toolbarOpts: toolbarOptsToUse,\n }}\n editorState={editorState}\n editor={editor}\n >\n {editor && (\n <StyledEditorContent\n style={{\n minHeight: sizeStyle.minHeight,\n height: sizeStyle.height,\n maxHeight: sizeStyle.maxHeight,\n }}\n showParagraph={showParagraphs && !showParagraphs.disabled}\n separateParagraph={separateParagraphs && !separateParagraphs.disabled}\n editor={editor}\n />\n )}\n </EditorContainer>\n );\n};\n\nconst StyledEditorContent = styled(EditorContent, {\n shouldForwardProp: (prop) => !['showParagraph', 'separateParagraph'].includes(prop),\n})(({ showParagraph, separateParagraph }) => ({\n display: 'flex',\n outline: 'none !important',\n '& .ProseMirror': {\n flex: 1,\n padding: '5px',\n maxHeight: '500px',\n outline: 'none !important',\n position: 'initial',\n\n // reset default margins for all block paragraphs/divs in the editor\n '& > p, & > div': {\n margin: '0',\n },\n\n '& p.is-editor-empty:first-child::before, & div.is-editor-empty:first-child::before': {\n content: 'attr(data-placeholder)',\n float: 'left',\n height: 0,\n color: '#9CA3AF',\n pointerEvents: 'none',\n whiteSpace: 'pre-wrap',\n },\n\n ...(showParagraph && {\n '& > p:has(+ p)::after, & > div:has(+ div)::after': {\n display: 'block',\n content: '\"¶\"',\n fontSize: '1em',\n color: '#146EB3',\n },\n }),\n ...(separateParagraph && {\n '& > div:has(+ div)': {\n marginBottom: '1em',\n },\n }),\n },\n}));\n\nexport default EditableHtml;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EditableHtml.js","names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_react2","_styles","_starterKit","_extensionTextStyle","_extensionCharacterCount","_extensionSuperscript","_extensionSubscript","_extensionTextAlign","_extensionImage","_extensionPlaceholder","_helper","_extendedTable","_divNode","_extensionTableRow","_extensionTableCell","_extensionTableHeader","_responseArea","_math","_image","_media","_css","_TiptapContainer","_size","_extensions","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defaultToolbarOpts","position","alignment","alwaysVisible","showDone","doneOn","defaultResponseAreaProps","options","respAreaToolbar","onHandleAreaChange","DEFAULT_ACTIVE_PLUGINS","cssVariables","EditableHtml","exports","props","_props$pluginProps","_ref","pluginProps","showParagraphs","separateParagraphs","_useState","useState","_useState2","_slicedToArray2","pendingImages","setPendingImages","_useState3","_useState4","scheduled","setScheduled","toolbarOpts","toolbarOptsToUse","activePluginsToUse","useMemo","_ref3","_props$responseAreaPr","_ref2","customPlugins","otherPluginProps","_objectWithoutProperties2","filteredActivePlugins","activePlugins","pluginName","nameToUse","PLUGINS_MAP","pluginInfo","disabled","buildExtensions","math","textAlign","html","extraCSSRules","image","imageSupport","toolbar","table","responseArea","type","responseAreaProps","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextAlign","configure","types","alignments","TextStyleKit","CharacterCount","limit","charactersLimit","StarterKit","trailingNode","node","notAfter","DivNode","Placeholder","placeholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","ExtendedTable","TableRow","TableHeader","TableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathTemplatedNode","MathNode","SubScript","SuperScript","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","onDone","_props$onDone","editor","getHTML","onDelete","src","attrs","newPendingImages","img","key","newState","insertImageRequested","addedImage","getHandler","onFinish","result","_cb","cb","onChange","callback","handler","add","concat","_toConsumableArray2","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","useEditor","immediatelyRender","editorProps","handleKeyDown","view","event","onKeyDown","editable","content","normalizeInitialMarkup","markup","onUpdate","_ref4","transaction","isDone","_props$onChange","onBlur","debounce","_ref5","otherToolbarOpened","_toolbarOpened","isActive","_props$onChange2","_props$onDone2","useEffect","editorRef","setEditable","nextMarkup","commands","setContent","entries","_ref6","_ref7","value","document","documentElement","style","setProperty","editorState","useEditorState","selector","ctx","_ctx$editor","isFocused","sizeStyle","minWidth","width","maxWidth","minHeight","height","maxHeight","valueToSize","createElement","_extends2","StyledEditorContent","showParagraph","separateParagraph","styled","EditorContent","shouldForwardProp","prop","includes","_ref8","display","outline","flex","padding","margin","left","top","color","pointerEvents","whiteSpace","fontSize","marginBottom","_default"],"sources":["../../src/components/EditableHtml.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport debounce from 'lodash-es/debounce';\nimport { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport { styled } from '@mui/material/styles';\nimport StarterKit from '@tiptap/starter-kit';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport { CharacterCount } from '@tiptap/extension-character-count';\nimport SuperScript from '@tiptap/extension-superscript';\nimport SubScript from '@tiptap/extension-subscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Image from '@tiptap/extension-image';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport { normalizeInitialMarkup } from '../utils/helper';\n\nimport ExtendedTable from '../extensions/extended-table';\nimport { DivNode } from '../extensions/div-node';\nimport { TableRow } from '@tiptap/extension-table-row';\nimport { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\nimport {\n DragInTheBlankNode,\n ExplicitConstructedResponseNode,\n InlineDropdownNode,\n MathTemplatedNode,\n ResponseAreaExtension,\n} from '../extensions/responseArea';\nimport { MathNode } from '../extensions/math';\nimport { ImageUploadNode } from '../extensions/image';\nimport { Media } from '../extensions/media';\nimport { CSSMark } from '../extensions/css';\n\nimport EditorContainer from './TiptapContainer';\nimport { valueToSize } from '../utils/size';\nimport { buildExtensions, PLUGINS_MAP } from '../extensions';\n\nconst defaultToolbarOpts = {\n position: 'bottom',\n alignment: 'left',\n alwaysVisible: false,\n showDone: true,\n doneOn: 'blur',\n};\n\nconst defaultResponseAreaProps = {\n options: {},\n respAreaToolbar: () => {},\n onHandleAreaChange: () => {},\n};\n\nconst DEFAULT_ACTIVE_PLUGINS = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'code',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'superscript',\n 'subscript',\n 'css',\n 'h3',\n 'undo',\n 'redo',\n];\n\nconst cssVariables = {\n '--white': '#fff',\n '--black': '#2e2b29',\n '--black-contrast': '#110f0e',\n '--gray-1': 'rgba(61, 37, 20, .05)',\n '--gray-2': 'rgba(61, 37, 20, .08)',\n '--gray-3': 'rgba(61, 37, 20, .12)',\n '--gray-4': 'rgba(53, 38, 28, .3)',\n '--gray-5': 'rgba(28, 25, 23, .6)',\n '--green': '#22c55e',\n '--purple': '#6a00f5',\n '--purple-contrast': '#5800cc',\n '--purple-light': 'rgba(88, 5, 255, .05)',\n '--yellow-contrast': '#facc15',\n '--yellow': 'rgba(250, 204, 21, .4)',\n '--yellow-light': '#fffae5',\n '--red': '#ff5c33',\n '--red-light': '#ffebe5',\n '--shadow': `0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,\n};\n\nexport const EditableHtml = (props) => {\n const { showParagraphs, separateParagraphs } = props.pluginProps || {};\n const [pendingImages, setPendingImages] = useState([]);\n const [scheduled, setScheduled] = useState(false);\n const { toolbarOpts } = props;\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const activePluginsToUse = useMemo(() => {\n let { customPlugins, ...otherPluginProps } = props.pluginProps || {};\n\n customPlugins = customPlugins || [];\n\n const filteredActivePlugins = (props.activePlugins || DEFAULT_ACTIVE_PLUGINS)?.filter((pluginName) => {\n const nameToUse = PLUGINS_MAP[pluginName] || pluginName;\n const pluginInfo = otherPluginProps[nameToUse] || {};\n\n return !pluginInfo || !pluginInfo.disabled;\n });\n\n return buildExtensions(filteredActivePlugins, customPlugins, {\n math: {},\n textAlign: props.textAlign,\n html: {},\n extraCSSRules: props.extraCSSRules || {},\n image: {\n ...props.imageSupport,\n },\n toolbar: {},\n table: {},\n responseArea: {\n type: props.responseAreaProps?.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props]);\n\n const extensions = [\n TextAlign.configure({\n types: ['heading', 'paragraph', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'td', 'th'],\n alignments: ['left', 'right', 'center', 'justify'],\n }),\n TextStyleKit,\n CharacterCount.configure({\n limit: props.charactersLimit || 1000000,\n }),\n StarterKit.configure({\n trailingNode: {\n node: 'paragraph',\n notAfter: ['paragraph', 'div'],\n },\n }),\n DivNode,\n Placeholder.configure({\n placeholder: props.placeholder,\n // show placeholder even when editor is focused\n showOnlyWhenEditable: true,\n showOnlyCurrent: false, // show on all empty nodes, not only the current one\n includeChildren: true,\n }),\n ExtendedTable,\n TableRow,\n TableHeader,\n TableCell,\n ResponseAreaExtension.configure(props.responseAreaProps),\n ExplicitConstructedResponseNode.configure(props.responseAreaProps),\n DragInTheBlankNode.configure(props.responseAreaProps),\n InlineDropdownNode.configure(props.responseAreaProps),\n MathTemplatedNode.configure(props.responseAreaProps),\n MathNode.configure({\n toolbarOpts: toolbarOptsToUse,\n math: props.pluginProps?.math || {},\n }),\n SubScript,\n SuperScript,\n Image,\n ImageUploadNode.configure({\n toolbarOpts: toolbarOptsToUse,\n imageHandling: {\n disableImageAlignmentButtons: props.disableImageAlignmentButtons,\n onDone: () => props.onDone?.(editor.getHTML()),\n onDelete:\n props.imageSupport &&\n props.imageSupport.delete &&\n ((node) => {\n const { src } = node.attrs;\n\n props.imageSupport.delete(src, (e) => {\n const newPendingImages = pendingImages.filter((img) => img.key !== node.key);\n const newState = {\n pendingImages: newPendingImages,\n scheduled: scheduled && newPendingImages.length === 0 ? false : scheduled,\n };\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((addedImage, getHandler) => {\n const onFinish = (result) => {\n let cb;\n\n if (scheduled && result) {\n // finish editing only on success\n cb = props.onChange;\n }\n\n const newPendingImages = pendingImages.filter((img) => img.key !== addedImage.key);\n const newState = {\n pendingImages: newPendingImages,\n };\n\n if (newPendingImages.length === 0) {\n newState.scheduled = false;\n }\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n cb?.(editor.getHTML());\n };\n const callback = () => {\n /**\n * The handler is the object through which the outer context\n * communicates file upload events like: fileChosen, cancel, progress\n */\n const handler = getHandler(onFinish);\n props.imageSupport.add(handler);\n };\n\n setPendingImages([...pendingImages, addedImage]);\n callback();\n }),\n maxImageWidth: props.maxImageWidth,\n maxImageHeight: props.maxImageHeight,\n },\n limit: 3,\n }),\n Media.configure({\n uploadSoundSupport: props.uploadSoundSupport,\n }),\n CSSMark.configure({\n extraCSSRules: props.extraCSSRules,\n }),\n ];\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n handleKeyDown(view, event) {\n if (props.onKeyDown) {\n return props.onKeyDown(event);\n }\n\n // Return false to let default behavior continue\n return false;\n },\n },\n editable: !props.disabled,\n content: normalizeInitialMarkup(props.markup),\n onUpdate: ({ editor, transaction }) => {\n if (transaction.isDone) {\n props.onChange?.(editor.getHTML());\n }\n },\n onBlur: debounce(({ editor }) => {\n const otherToolbarOpened =\n editor._toolbarOpened ||\n editor.isActive('inline_dropdown') ||\n editor.isActive('explicit_constructed_response');\n\n if (otherToolbarOpened) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n props.onChange?.(editor.getHTML());\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(editor.getHTML());\n }\n }, 200),\n },\n [props.charactersLimit],\n );\n\n useEffect(() => {\n if (props.editorRef) {\n props.editorRef(editor);\n }\n }, [props.editorRef, editor]);\n\n useEffect(() => {\n editor?.setEditable(!props.disabled);\n }, [props.disabled, editor]);\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n const nextMarkup = normalizeInitialMarkup(props.markup);\n\n if (nextMarkup !== editor.getHTML()) {\n editor.commands.setContent(nextMarkup, false);\n }\n }, [props.markup, editor]);\n\n useEffect(() => {\n Object.entries(cssVariables).forEach(([key, value]) => {\n document.documentElement.style.setProperty(key, value);\n });\n }, []);\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => ({\n isFocused: ctx.editor?.isFocused,\n }),\n });\n\n const sizeStyle = useMemo(() => {\n const { minWidth, width, maxWidth, minHeight, height, maxHeight } = props;\n\n return {\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n };\n }, [props]);\n\n return (\n <EditorContainer\n {...{\n ...props,\n activePlugins: activePluginsToUse,\n toolbarOpts: toolbarOptsToUse,\n }}\n editorState={editorState}\n editor={editor}\n >\n {editor && (\n <StyledEditorContent\n style={{\n minHeight: sizeStyle.minHeight,\n height: sizeStyle.height,\n maxHeight: sizeStyle.maxHeight,\n }}\n showParagraph={showParagraphs && !showParagraphs.disabled}\n separateParagraph={separateParagraphs && !separateParagraphs.disabled}\n editor={editor}\n />\n )}\n </EditorContainer>\n );\n};\n\nconst StyledEditorContent = styled(EditorContent, {\n shouldForwardProp: (prop) => !['showParagraph', 'separateParagraph'].includes(prop),\n})(({ showParagraph, separateParagraph }) => ({\n display: 'flex',\n outline: 'none !important',\n '& .ProseMirror': {\n flex: 1,\n padding: '5px',\n maxHeight: '500px',\n outline: 'none !important',\n position: 'initial',\n\n // reset default margins for all block paragraphs/divs in the editor\n '& > p, & > div': {\n margin: '0',\n },\n\n // Out of flow so the caret stays at the start of the block; in-flow ::before pushes the caret after the hint text.\n '& p.is-editor-empty, & div.is-editor-empty': {\n position: 'relative',\n },\n '& p.is-editor-empty::before, & div.is-editor-empty::before': {\n content: 'attr(data-placeholder)',\n position: 'absolute',\n left: 0,\n top: 0,\n color: '#9CA3AF',\n pointerEvents: 'none',\n whiteSpace: 'pre-wrap',\n },\n\n ...(showParagraph && {\n '& > p:has(+ p)::after, & > div:has(+ div)::after': {\n display: 'block',\n content: '\"¶\"',\n fontSize: '1em',\n color: '#146EB3',\n },\n }),\n ...(separateParagraph && {\n '& > div:has(+ div)': {\n marginBottom: '1em',\n },\n }),\n },\n}));\n\nexport default EditableHtml;\n"],"mappings":"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","ignoreList":[]}
@@ -178,6 +178,11 @@ function TiptapContainer(props) {
178
178
  maxHeight = props.maxHeight,
179
179
  highlightShape = props.highlightShape,
180
180
  ref = props.ref;
181
+ (0, _react.useEffect)(function () {
182
+ if (editor && rootRef.current) {
183
+ editor._tiptapContainerEl = rootRef.current;
184
+ }
185
+ }, [editor, rootRef.current]);
181
186
  (0, _react.useEffect)(function () {
182
187
  if (editor && autoFocus) {
183
188
  Promise.resolve().then(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapContainer.js","names":["_react","_interopRequireWildcard","require","_styles","_renderUi","_size","_MenuBar","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledRoot","styled","shouldForwardProp","prop","includes","_ref","theme","noBorder","error","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","marginTop","margin","marginBottom","lineHeight","textWrap","fontSize","backgroundColor","color","background","fontFamily","borderLeft","borderTop","tableLayout","width","borderCollapse","text","textAlign","concat","palette","main","StyledEditorHolder","_ref2","disableScrollbar","highlightShape","overflowY","action","selected","display","scrollbarWidth","StyledChildren","_ref3","noPadding","TiptapContainer","props","_useState","useState","_useState2","_slicedToArray2","adjustedWidth","setAdjustedWidth","rootRef","useRef","editor","disabled","children","activePlugins","toolbarOpts","responseAreaProps","autoFocus","minWidth","maxWidth","minHeight","height","ref","useEffect","Promise","resolve","then","commands","focus","adjustWidthForLimit","el","document","createElement","style","visibility","textContent","repeat","charactersLimit","current","appendChild","offsetWidth","remove","sizeStyle","useMemo","valueToSize","className","onChange","autoWidthToolbar","_default","exports"],"sources":["../../src/components/TiptapContainer.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState, useRef } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { valueToSize } from '../utils/size';\n\nimport StyledMenuBar from './MenuBar';\n\nconst StyledRoot = styled('div', {\n shouldForwardProp: (prop) => !['noBorder', 'error'].includes(prop),\n})(({ theme, noBorder, error }) => ({\n position: 'relative',\n padding: '0px',\n border: noBorder ? 'none' : '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n padding: '5px',\n },\n '&:first-child': {\n marginTop: 0,\n },\n '& ul, & ol': {\n padding: '0 1rem',\n margin: '1.25rem 1rem 1.25rem 0.4rem',\n },\n '& ul li p, & ol li p': {\n marginTop: '0.25em',\n marginBottom: '0.25em',\n },\n '& h1, & h2, & h3, & h4, & h5, & h6': {\n lineHeight: 1.1,\n marginTop: '2.5rem',\n textWrap: 'pretty',\n },\n '& h1, & h2': {\n marginTop: '3.5rem',\n marginBottom: '1.5rem',\n },\n '& h1': {\n fontSize: '1.4rem',\n },\n '& h2': {\n fontSize: '1.2rem',\n },\n '& h3': {\n fontSize: '1.1rem',\n },\n '& h4, & h5, & h6': {\n fontSize: '1rem',\n },\n '& code': {\n backgroundColor: 'var(--purple-light)',\n borderRadius: '0.4rem',\n color: 'var(--black)',\n fontSize: '0.85rem',\n padding: '0.25em 0.3em',\n },\n '& pre': {\n background: 'var(--black)',\n borderRadius: '0.5rem',\n color: 'var(--white)',\n fontFamily: '\\'JetBrainsMono\\', monospace',\n margin: '1.5rem 0',\n padding: '0.75rem 1rem',\n '& code': {\n background: 'none',\n color: 'inherit',\n fontSize: '0.8rem',\n padding: 0,\n },\n },\n '& blockquote': {\n background: '#f9f9f9',\n borderLeft: '5px solid #ccc',\n margin: '1.5em 10px',\n padding: '.5em 10px',\n },\n '& hr': {\n border: 'none',\n borderTop: '1px solid var(--gray-2)',\n margin: '2rem 0',\n },\n '& p': {\n margin: '0',\n },\n '& table': {\n tableLayout: 'fixed',\n width: '100%',\n borderCollapse: 'collapse',\n color: color.text(),\n backgroundColor: color.background(),\n },\n '& table:not([border=\"1\"]) tr': {\n borderTop: '1px solid #dfe2e5',\n },\n '& td, th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n '& table:not([border=\"1\"]) td, th': {\n border: '1px solid #dfe2e5',\n },\n ...(error && {\n border: `2px solid ${theme.palette.error.main} !important`,\n }),\n}));\n\nconst StyledEditorHolder = styled('div', {\n shouldForwardProp: (prop) => !['disableScrollbar', 'highlightShape'].includes(prop),\n})(({ theme, disableScrollbar, highlightShape }) => ({\n position: 'relative',\n padding: '0px',\n overflowY: 'auto',\n color: color.text(),\n backgroundColor: highlightShape ? theme.palette.action.selected : color.background(),\n ...(disableScrollbar && {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n }),\n}));\n\nconst StyledChildren = styled('div', {\n shouldForwardProp: (prop) => prop !== 'noPadding',\n})(({ noPadding }) => ({\n padding: noPadding ? 0 : '10px 8px',\n}));\n\nfunction TiptapContainer(props) {\n const [adjustedWidth, setAdjustedWidth] = useState(null);\n const rootRef = useRef(null);\n const {\n editor,\n disabled,\n children,\n disableScrollbar,\n activePlugins,\n toolbarOpts,\n responseAreaProps,\n autoFocus,\n minWidth,\n width,\n maxWidth,\n minHeight,\n height,\n maxHeight,\n highlightShape,\n ref,\n } = props;\n\n useEffect(() => {\n if (editor && autoFocus) {\n Promise.resolve().then(() => {\n editor.commands.focus('end');\n });\n }\n }, [editor, autoFocus]);\n\n useEffect(() => {\n if (props.adjustWidthForLimit) {\n const el = document.createElement('p');\n\n el.style.visibility = 'hidden';\n el.style.position = 'absolute';\n el.textContent = 'W'.repeat(props.charactersLimit);\n\n rootRef.current.appendChild(el);\n\n setAdjustedWidth(`${el.offsetWidth + 27}px`);\n\n el.remove();\n }\n }, [props.adjustWidthForLimit, props.charactersLimit]);\n\n const sizeStyle = useMemo(\n () => ({\n width: valueToSize(adjustedWidth || width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n }),\n [adjustedWidth, minWidth, width, maxWidth, minHeight, height, maxHeight],\n );\n\n return (\n <StyledRoot\n noBorder={toolbarOpts && toolbarOpts.noBorder}\n error={toolbarOpts && toolbarOpts.error}\n className={props.className}\n style={{ width: sizeStyle.width, minWidth: sizeStyle.minWidth, maxWidth: sizeStyle.maxWidth }}\n ref={rootRef}\n >\n <StyledEditorHolder disableScrollbar={disableScrollbar} highlightShape={highlightShape}>\n <StyledChildren noPadding={toolbarOpts && toolbarOpts.noPadding}>{children}</StyledChildren>\n </StyledEditorHolder>\n\n {editor && (\n <StyledMenuBar\n editor={editor}\n responseAreaProps={responseAreaProps}\n toolbarOpts={toolbarOpts}\n activePlugins={activePlugins}\n onChange={props.onChange}\n autoWidthToolbar={props.autoWidthToolbar}\n />\n )}\n </StyledRoot>\n );\n}\n\nexport default TiptapContainer;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TiptapContainer.js","names":["_react","_interopRequireWildcard","require","_styles","_renderUi","_size","_MenuBar","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledRoot","styled","shouldForwardProp","prop","includes","_ref","theme","noBorder","error","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","marginTop","margin","marginBottom","lineHeight","textWrap","fontSize","backgroundColor","color","background","fontFamily","borderLeft","borderTop","tableLayout","width","borderCollapse","text","textAlign","concat","palette","main","StyledEditorHolder","_ref2","disableScrollbar","highlightShape","overflowY","action","selected","display","scrollbarWidth","StyledChildren","_ref3","noPadding","TiptapContainer","props","_useState","useState","_useState2","_slicedToArray2","adjustedWidth","setAdjustedWidth","rootRef","useRef","editor","disabled","children","activePlugins","toolbarOpts","responseAreaProps","autoFocus","minWidth","maxWidth","minHeight","height","ref","useEffect","current","_tiptapContainerEl","Promise","resolve","then","commands","focus","adjustWidthForLimit","el","document","createElement","style","visibility","textContent","repeat","charactersLimit","appendChild","offsetWidth","remove","sizeStyle","useMemo","valueToSize","className","onChange","autoWidthToolbar","_default","exports"],"sources":["../../src/components/TiptapContainer.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState, useRef } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { valueToSize } from '../utils/size';\n\nimport StyledMenuBar from './MenuBar';\n\nconst StyledRoot = styled('div', {\n shouldForwardProp: (prop) => !['noBorder', 'error'].includes(prop),\n})(({ theme, noBorder, error }) => ({\n position: 'relative',\n padding: '0px',\n border: noBorder ? 'none' : '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n padding: '5px',\n },\n '&:first-child': {\n marginTop: 0,\n },\n '& ul, & ol': {\n padding: '0 1rem',\n margin: '1.25rem 1rem 1.25rem 0.4rem',\n },\n '& ul li p, & ol li p': {\n marginTop: '0.25em',\n marginBottom: '0.25em',\n },\n '& h1, & h2, & h3, & h4, & h5, & h6': {\n lineHeight: 1.1,\n marginTop: '2.5rem',\n textWrap: 'pretty',\n },\n '& h1, & h2': {\n marginTop: '3.5rem',\n marginBottom: '1.5rem',\n },\n '& h1': {\n fontSize: '1.4rem',\n },\n '& h2': {\n fontSize: '1.2rem',\n },\n '& h3': {\n fontSize: '1.1rem',\n },\n '& h4, & h5, & h6': {\n fontSize: '1rem',\n },\n '& code': {\n backgroundColor: 'var(--purple-light)',\n borderRadius: '0.4rem',\n color: 'var(--black)',\n fontSize: '0.85rem',\n padding: '0.25em 0.3em',\n },\n '& pre': {\n background: 'var(--black)',\n borderRadius: '0.5rem',\n color: 'var(--white)',\n fontFamily: '\\'JetBrainsMono\\', monospace',\n margin: '1.5rem 0',\n padding: '0.75rem 1rem',\n '& code': {\n background: 'none',\n color: 'inherit',\n fontSize: '0.8rem',\n padding: 0,\n },\n },\n '& blockquote': {\n background: '#f9f9f9',\n borderLeft: '5px solid #ccc',\n margin: '1.5em 10px',\n padding: '.5em 10px',\n },\n '& hr': {\n border: 'none',\n borderTop: '1px solid var(--gray-2)',\n margin: '2rem 0',\n },\n '& p': {\n margin: '0',\n },\n '& table': {\n tableLayout: 'fixed',\n width: '100%',\n borderCollapse: 'collapse',\n color: color.text(),\n backgroundColor: color.background(),\n },\n '& table:not([border=\"1\"]) tr': {\n borderTop: '1px solid #dfe2e5',\n },\n '& td, th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n '& table:not([border=\"1\"]) td, th': {\n border: '1px solid #dfe2e5',\n },\n ...(error && {\n border: `2px solid ${theme.palette.error.main} !important`,\n }),\n}));\n\nconst StyledEditorHolder = styled('div', {\n shouldForwardProp: (prop) => !['disableScrollbar', 'highlightShape'].includes(prop),\n})(({ theme, disableScrollbar, highlightShape }) => ({\n position: 'relative',\n padding: '0px',\n overflowY: 'auto',\n color: color.text(),\n backgroundColor: highlightShape ? theme.palette.action.selected : color.background(),\n ...(disableScrollbar && {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n }),\n}));\n\nconst StyledChildren = styled('div', {\n shouldForwardProp: (prop) => prop !== 'noPadding',\n})(({ noPadding }) => ({\n padding: noPadding ? 0 : '10px 8px',\n}));\n\nfunction TiptapContainer(props) {\n const [adjustedWidth, setAdjustedWidth] = useState(null);\n const rootRef = useRef(null);\n const {\n editor,\n disabled,\n children,\n disableScrollbar,\n activePlugins,\n toolbarOpts,\n responseAreaProps,\n autoFocus,\n minWidth,\n width,\n maxWidth,\n minHeight,\n height,\n maxHeight,\n highlightShape,\n ref,\n } = props;\n\n useEffect(() => {\n if (editor && rootRef.current) {\n editor._tiptapContainerEl = rootRef.current;\n }\n }, [editor, rootRef.current]);\n\n useEffect(() => {\n if (editor && autoFocus) {\n Promise.resolve().then(() => {\n editor.commands.focus('end');\n });\n }\n }, [editor, autoFocus]);\n\n useEffect(() => {\n if (props.adjustWidthForLimit) {\n const el = document.createElement('p');\n\n el.style.visibility = 'hidden';\n el.style.position = 'absolute';\n el.textContent = 'W'.repeat(props.charactersLimit);\n\n rootRef.current.appendChild(el);\n\n setAdjustedWidth(`${el.offsetWidth + 27}px`);\n\n el.remove();\n }\n }, [props.adjustWidthForLimit, props.charactersLimit]);\n\n const sizeStyle = useMemo(\n () => ({\n width: valueToSize(adjustedWidth || width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n }),\n [adjustedWidth, minWidth, width, maxWidth, minHeight, height, maxHeight],\n );\n\n return (\n <StyledRoot\n noBorder={toolbarOpts && toolbarOpts.noBorder}\n error={toolbarOpts && toolbarOpts.error}\n className={props.className}\n style={{ width: sizeStyle.width, minWidth: sizeStyle.minWidth, maxWidth: sizeStyle.maxWidth }}\n ref={rootRef}\n >\n <StyledEditorHolder disableScrollbar={disableScrollbar} highlightShape={highlightShape}>\n <StyledChildren noPadding={toolbarOpts && toolbarOpts.noPadding}>{children}</StyledChildren>\n </StyledEditorHolder>\n\n {editor && (\n <StyledMenuBar\n editor={editor}\n responseAreaProps={responseAreaProps}\n toolbarOpts={toolbarOpts}\n activePlugins={activePlugins}\n onChange={props.onChange}\n autoWidthToolbar={props.autoWidthToolbar}\n />\n )}\n </StyledRoot>\n );\n}\n\nexport default TiptapContainer;\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,9 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _react2 = require("@tiptap/react");
13
+ var _reactDom = _interopRequireDefault(require("react-dom"));
13
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var _customToolbarWrapper = _interopRequireDefault(require("../../extensions/custom-toolbar-wrapper"));
14
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); }
15
17
  var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
16
18
  var editor = props.editor,
@@ -36,13 +38,6 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
36
38
  var respIndex = parseInt(attributes.index, 10);
37
39
  error = !!(errorValue !== null && errorValue !== void 0 && (_errorValue$respIndex = errorValue[respIndex]) !== null && _errorValue$respIndex !== void 0 && _errorValue$respIndex[0]);
38
40
  }
39
- var handleDone = function handleDone(newLatex) {
40
- updateAttributes({
41
- latex: newLatex
42
- });
43
- setShowToolbar(false);
44
- editor.commands.focus();
45
- };
46
41
  (0, _react.useEffect)(function () {
47
42
  var selection = editor.state.selection;
48
43
  var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
@@ -106,7 +101,29 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
106
101
  style: {
107
102
  zIndex: 1
108
103
  }
109
- }, /*#__PURE__*/_react["default"].createElement(EcrToolbar, null)));
104
+ }, /*#__PURE__*/_react["default"].createElement(EcrToolbar, null)), showToolbar && editor._tiptapContainerEl && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], {
105
+ deletable: true,
106
+ toolbarOpts: {
107
+ minWidth: 'auto'
108
+ },
109
+ autoWidth: true,
110
+ style: {
111
+ top: -40,
112
+ left: 0,
113
+ right: 0
114
+ },
115
+ onDelete: function onDelete() {
116
+ var tr = editor.state.tr;
117
+ tr["delete"](pos, pos + node.nodeSize);
118
+ // Prevent the debounced onBlur/onDone from firing into the
119
+ // now-deleted node's stale position
120
+ editor._toolbarOpened = false;
121
+ editor.view.dispatch(tr);
122
+ setShowToolbar(false);
123
+ editor.commands.focus();
124
+ },
125
+ showDone: false
126
+ }), editor._tiptapContainerEl));
110
127
  };
111
128
  ExplicitConstructedResponse.propTypes = {
112
129
  attributes: _propTypes["default"].object,
@@ -1 +1 @@
1
- {"version":3,"file":"ExplicitConstructedResponse.js","names":["_react","_interopRequireWildcard","require","_react2","_propTypes","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ExplicitConstructedResponse","props","editor","node","getPos","options","selected","attributes","attrs","value","respAreaToolbar","errorFn","error","pos","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","EcrToolbar","toolbarRef","useRef","_errorValue$respIndex","errorValue","respIndex","parseInt","index","handleDone","newLatex","updateAttributes","latex","commands","focus","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","handleClickOutside","event","current","contains","target","closest","document","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","minHeight","position","cursor","_extends2","width","height","backgroundColor","border","concat","boxSizing","borderRadius","overflow","padding","margin","minWidth","visibility","onClick","dangerouslySetInnerHTML","__html","ref","zIndex","propTypes","PropTypes","object","any","string","isFocused","bool","_default","exports"],"sources":["../../../src/components/respArea/ExplicitConstructedResponse.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value } = attributes;\n const { respAreaToolbar, error: errorFn } = options;\n const pos = getPos();\n const [showToolbar, setShowToolbar] = useState(false);\n const EcrToolbar = respAreaToolbar([node, pos], editor, () => {});\n const toolbarRef = useRef(null);\n\n let error;\n\n if (errorFn) {\n const errorValue = errorFn();\n const respIndex = parseInt(attributes.index, 10);\n\n error = !!errorValue?.[respIndex]?.[0];\n }\n\n const handleDone = (newLatex) => {\n updateAttributes({ latex: newLatex });\n setShowToolbar(false);\n editor.commands.focus();\n };\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"drag-in-the-blank\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n minHeight: '55px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n {...attributes}\n style={{\n display: 'inline-flex',\n width: '100%',\n minHeight: '46px',\n height: '46px',\n backgroundColor: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '4px',\n overflow: 'hidden',\n padding: '12px 21px',\n margin: '0 4px',\n minWidth: '178px',\n visibility: showToolbar ? 'hidden' : 'visible',\n }}\n onClick={() => setShowToolbar(true)}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n {showToolbar && (\n <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <EcrToolbar />\n </div>\n )}\n </NodeViewWrapper>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n error: PropTypes.any,\n value: PropTypes.string,\n isFocused: PropTypes.bool,\n};\n\nexport default ExplicitConstructedResponse;\n"],"mappings":"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","ignoreList":[]}
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","current","contains","target","closest","document","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","minHeight","position","cursor","_extends2","width","height","backgroundColor","border","concat","boxSizing","borderRadius","overflow","padding","margin","minWidth","visibility","onClick","dangerouslySetInnerHTML","__html","ref","zIndex","_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 if (\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"drag-in-the-blank\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n minHeight: '55px',\n position: 'relative',\n cursor: 'pointer',\n }}\n >\n <div\n {...attributes}\n style={{\n display: 'inline-flex',\n width: '100%',\n minHeight: '46px',\n height: '46px',\n backgroundColor: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '4px',\n overflow: 'hidden',\n padding: '12px 21px',\n margin: '0 4px',\n minWidth: '178px',\n visibility: showToolbar ? 'hidden' : 'visible',\n }}\n onClick={() => setShowToolbar(true)}\n dangerouslySetInnerHTML={{\n __html: value || '<div>&nbsp;</div>',\n }}\n />\n {showToolbar && (\n <div ref={toolbarRef} className=\"absolute z-50 bg-white shadow-lg rounded p-2\" style={{ zIndex: 1 }}>\n <EcrToolbar />\n </div>\n )}\n {showToolbar && editor._tiptapContainerEl && 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 </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":[]}
@@ -82,7 +82,6 @@ var InlineDropdown = function InlineDropdown(props) {
82
82
  style: {
83
83
  display: 'inline-flex',
84
84
  height: '50px',
85
- margin: '0 5px',
86
85
  cursor: 'pointer'
87
86
  }
88
87
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -94,7 +93,7 @@ var InlineDropdown = function InlineDropdown(props) {
94
93
  border: '1px solid #C0C3CF',
95
94
  boxSizing: 'border-box',
96
95
  borderRadius: '3px',
97
- margin: '0 4px',
96
+ margin: '0 2px',
98
97
  position: 'relative',
99
98
  alignItems: 'center'
100
99
  },
@@ -1 +1 @@
1
- {"version":3,"file":"InlineDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_react2","_RespArea","_reactDom","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InlineDropdown","props","editor","node","getPos","options","selected","attributes","attrs","value","error","html","pos","toolbarRef","useRef","toolbarEditor","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","_useState3","top","left","_useState4","position","setPosition","InlineDropdownToolbar","respAreaToolbar","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","bodyRect","document","body","getBoundingClientRect","start","view","coordsAtPos","Math","abs","handleClickOutside","event","insideSomeEditor","target","closest","dataset","toolbarFor","current","instanceId","_toolbarOpened","contains","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","alignItems","onClick","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","right","ReactDOM","createPortal","ref","zIndex","editorCallback","instance","propTypes","PropTypes","object","selectedItem","oneOfType","string","_default","exports"],"sources":["../../../src/components/respArea/InlineDropdown.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { Chevron } from '../icons/RespArea';\nimport ReactDOM from 'react-dom';\n\nconst InlineDropdown = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value, error } = attributes;\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = value || '<div>&nbsp</div>';\n const pos = getPos();\n const toolbarRef = useRef(null);\n const toolbarEditor = useRef(null);\n const [showToolbar, setShowToolbar] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const InlineDropdownToolbar = options.respAreaToolbar([node, pos], editor, () => {});\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n const insideSomeEditor = event.target.closest('[data-toolbar-for]');\n\n if (\n (!insideSomeEditor || insideSomeEditor.dataset.toolbarFor !== toolbarEditor.current.instanceId) &&\n !editor._toolbarOpened &&\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"inline-dropdown\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n margin: '0 4px',\n position: 'relative',\n alignItems: 'center',\n }}\n onClick={() => setShowToolbar(true)}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n <span\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n </div>\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n {showToolbar &&\n ReactDOM.createPortal(\n <div ref={toolbarRef} style={{ zIndex: 1 }}>\n <InlineDropdownToolbar\n editorCallback={(instance) => {\n toolbarEditor.current = instance;\n }}\n />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InlineDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_react2","_RespArea","_reactDom","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InlineDropdown","props","editor","node","getPos","options","selected","attributes","attrs","value","error","html","pos","toolbarRef","useRef","toolbarEditor","_useState","useState","_useState2","_slicedToArray2","showToolbar","setShowToolbar","_useState3","top","left","_useState4","position","setPosition","InlineDropdownToolbar","respAreaToolbar","useEffect","selection","state","onlyThisNodeSelected","from","nodeSize","to","bodyRect","document","body","getBoundingClientRect","start","view","coordsAtPos","Math","abs","handleClickOutside","event","insideSomeEditor","target","closest","dataset","toolbarFor","current","instanceId","_toolbarOpened","contains","addEventListener","removeEventListener","createElement","NodeViewWrapper","className","style","display","height","cursor","minWidth","background","border","boxSizing","borderRadius","margin","alignItems","onClick","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","right","ReactDOM","createPortal","ref","zIndex","editorCallback","instance","propTypes","PropTypes","object","selectedItem","oneOfType","string","_default","exports"],"sources":["../../../src/components/respArea/InlineDropdown.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { NodeViewWrapper } from '@tiptap/react';\nimport { Chevron } from '../icons/RespArea';\nimport ReactDOM from 'react-dom';\n\nconst InlineDropdown = (props) => {\n const { editor, node, getPos, options, selected } = props;\n const { attrs: attributes } = node;\n const { value, error } = attributes;\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = value || '<div>&nbsp</div>';\n const pos = getPos();\n const toolbarRef = useRef(null);\n const toolbarEditor = useRef(null);\n const [showToolbar, setShowToolbar] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const InlineDropdownToolbar = options.respAreaToolbar([node, pos], editor, () => {});\n\n useEffect(() => {\n const { selection } = editor.state;\n const onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;\n\n if (selected) {\n if (onlyThisNodeSelected) {\n setShowToolbar(selected);\n }\n } else {\n setShowToolbar(selected);\n }\n }, [editor, node, selected]);\n\n useEffect(() => {\n // Calculate position relative to selection\n const bodyRect = document.body.getBoundingClientRect();\n const { from } = editor.state.selection;\n const start = editor.view.coordsAtPos(from);\n\n setPosition({\n top: start.top + Math.abs(bodyRect.top) + 40, // shift above\n left: start.left,\n });\n\n const handleClickOutside = (event) => {\n const insideSomeEditor = event.target.closest('[data-toolbar-for]');\n\n if (\n (!insideSomeEditor || insideSomeEditor.dataset.toolbarFor !== toolbarEditor.current.instanceId) &&\n !editor._toolbarOpened &&\n toolbarRef.current &&\n !toolbarRef.current.contains(event.target) &&\n !event.target.closest('[data-inline-node]')\n ) {\n setShowToolbar(false);\n }\n };\n\n if (showToolbar) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [showToolbar]);\n\n return (\n <NodeViewWrapper\n className=\"inline-dropdown\"\n data-selected={selected}\n style={{\n display: 'inline-flex',\n height: '50px',\n 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 ReactDOM.createPortal(\n <div ref={toolbarRef} style={{ zIndex: 1 }}>\n <InlineDropdownToolbar\n editorCallback={(instance) => {\n toolbarEditor.current = instance;\n }}\n />\n </div>,\n document.body,\n )}\n </NodeViewWrapper>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -65,7 +65,8 @@ function CustomToolbarWrapper(props) {
65
65
  doneButtonRef = props.doneButtonRef,
66
66
  onDelete = props.onDelete,
67
67
  showDone = props.showDone,
68
- onDone = props.onDone;
68
+ onDone = props.onDone,
69
+ style = props.style;
69
70
  var customStyles = toolbarOpts.minWidth !== undefined ? {
70
71
  minWidth: toolbarOpts.minWidth
71
72
  } : {};
@@ -76,7 +77,7 @@ function CustomToolbarWrapper(props) {
76
77
  isFocused: toolbarOpts.alwaysVisible || isFocused,
77
78
  autoWidth: autoWidth,
78
79
  isHidden: toolbarOpts.isHidden === true,
79
- style: _objectSpread({}, customStyles)
80
+ style: _objectSpread(_objectSpread({}, customStyles), style)
80
81
  }, children, /*#__PURE__*/_react["default"].createElement(SharedContainer, null, deletable && /*#__PURE__*/_react["default"].createElement(StyledIconButton, {
81
82
  "aria-label": "Delete",
82
83
  onMouseDown: function onMouseDown(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireDefault","require","_IconButton","_Delete","_constants","_styles","_doneButton","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","style","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireDefault","require","_IconButton","_Delete","_constants","_styles","_doneButton","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","style","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone, style } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles, ...style }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}