@pie-lib/editable-html-tip-tap 2.1.17 → 2.1.18
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 +7 -0
- package/lib/components/EditableHtml.js +22 -10
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +11 -2
- package/lib/components/MenuBar.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/EditableHtml.test.jsx +11 -1
- package/src/__tests__/editor-attributes.test.jsx +77 -0
- package/src/components/EditableHtml.jsx +22 -10
- package/src/components/MenuBar.jsx +11 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
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
|
+
## [2.1.18](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html-tip-tap@2.1.17...@pie-lib/editable-html-tip-tap@2.1.18) (2026-09-16)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **editable-html-tip-tap:** put the bottom toolbar in normal flow DNAFORM-2093 ([3a48c25](https://github.com/pie-framework/pie-lib/commit/3a48c251807e94b4a8683166e7c5ed8cbc4b3249))
|
|
11
|
+
- **editable-html-tip-tap:** restore role=textbox and add data-pie-editor PIE-1015 PIE-1016 ([e9064f4](https://github.com/pie-framework/pie-lib/commit/e9064f480511665499a7a17e80ae7407e59f53ef))
|
|
12
|
+
|
|
6
13
|
## [2.1.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html-tip-tap@2.1.16...@pie-lib/editable-html-tip-tap@2.1.17) (2026-09-03)
|
|
7
14
|
|
|
8
15
|
### Bug Fixes
|
|
@@ -78,13 +78,24 @@ var cssVariables = {
|
|
|
78
78
|
'--shadow': "0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)"
|
|
79
79
|
};
|
|
80
80
|
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
81
|
+
// Attributes PIE puts on the editor's contenteditable element.
|
|
82
|
+
//
|
|
83
|
+
// ProseMirror rebuilds the element's attribute set from editorProps.attributes on every view
|
|
84
|
+
// update and removes anything no longer listed, and Tiptap merges its own role="textbox" only in
|
|
85
|
+
// createView - not into editor.options, which is what setOptions re-pushes. So every attribute we
|
|
86
|
+
// want to survive has to be listed here. See PIE-1015.
|
|
87
|
+
var editorAttributes = function editorAttributes(spellCheckEnabled) {
|
|
84
88
|
return {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
// Tiptap's own attribute, re-declared so it survives setOptions. setEditable alone re-pushes
|
|
90
|
+
// editorProps on every mount, which is what removed it in 2.1.17.
|
|
91
|
+
role: 'textbox',
|
|
92
|
+
// PIE-owned hook for external consumers - see PIE-1016. Query [data-pie-editor], or
|
|
93
|
+
// [data-pie-editor][contenteditable="true"] to skip read-only renders.
|
|
94
|
+
'data-pie-editor': 'true',
|
|
95
|
+
// Without these the browser spellchecks the editor regardless of the spellCheck prop.
|
|
96
|
+
spellcheck: spellCheckEnabled ? 'true' : 'false',
|
|
97
|
+
autocorrect: spellCheckEnabled ? 'on' : 'off',
|
|
98
|
+
autocapitalize: spellCheckEnabled ? 'on' : 'off'
|
|
88
99
|
};
|
|
89
100
|
};
|
|
90
101
|
var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
|
|
@@ -260,7 +271,7 @@ var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
|
|
|
260
271
|
extensions: extensions,
|
|
261
272
|
immediatelyRender: false,
|
|
262
273
|
editorProps: {
|
|
263
|
-
attributes:
|
|
274
|
+
attributes: editorAttributes(spellCheckEnabled),
|
|
264
275
|
handleKeyDown: function handleKeyDown(view, event) {
|
|
265
276
|
if (props.onKeyDown) {
|
|
266
277
|
return props.onKeyDown(event);
|
|
@@ -300,15 +311,16 @@ var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
|
|
|
300
311
|
|
|
301
312
|
// useEditor only re-applies options on its own when it is called with an empty dependency
|
|
302
313
|
// array, and this call site depends on charactersLimit, so a spellCheck change on a mounted
|
|
303
|
-
// editor has to be pushed in.
|
|
304
|
-
//
|
|
314
|
+
// editor has to be pushed in. The rest of editorProps stays as the editor already has it, and
|
|
315
|
+
// the attributes are merged rather than replaced so an attribute contributed by Tiptap or an
|
|
316
|
+
// extension can't be dropped the way role="textbox" was - see PIE-1015.
|
|
305
317
|
(0, _react.useEffect)(function () {
|
|
306
318
|
var _editor$options, _currentEditorProps$a;
|
|
307
319
|
if (!editor) {
|
|
308
320
|
return;
|
|
309
321
|
}
|
|
310
322
|
var currentEditorProps = (_editor$options = editor.options) === null || _editor$options === void 0 ? void 0 : _editor$options.editorProps;
|
|
311
|
-
var attributes =
|
|
323
|
+
var attributes = _objectSpread(_objectSpread({}, currentEditorProps === null || currentEditorProps === void 0 ? void 0 : currentEditorProps.attributes), editorAttributes(spellCheckEnabled));
|
|
312
324
|
if ((currentEditorProps === null || currentEditorProps === void 0 || (_currentEditorProps$a = currentEditorProps.attributes) === null || _currentEditorProps$a === void 0 ? void 0 : _currentEditorProps$a.spellcheck) === attributes.spellcheck) {
|
|
313
325
|
return;
|
|
314
326
|
}
|
|
@@ -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","_extendedTableCell","_divNode","_ensureEmptyRootDiv","_ensureListItemContentIsDiv","_extensionTableRow","_responseArea","_math","_image","_media","_css","_extendedListItem","_headingParagraph","_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","spellCheckAttributes","enabled","spellcheck","autocorrect","autocapitalize","EditableHtml","exports","props","_props$pluginProps","_ref","pluginProps","showParagraphs","separateParagraphs","_useState","useState","_useState2","_slicedToArray2","pendingImages","setPendingImages","_useState3","_useState4","scheduled","setScheduled","toolbarOpts","removePendingImage","useCallback","imagePos","prev","next","img","pos","toolbarOptsToUse","commitEditorContent","editor","html","getHTML","markup","_props$onChange","onChange","_props$onDone","onDone","responseAreaPropsToUse","useMemo","responseAreaProps","onInlineDropdownToolbarClose","activePluginsToUse","_ref3","_ref2","customPlugins","otherPluginProps","_objectWithoutProperties2","filteredActivePlugins","activePlugins","pluginName","nameToUse","PLUGINS_MAP","pluginInfo","disabled","buildExtensions","math","textAlign","extraCSSRules","image","imageSupport","toolbar","table","responseArea","type","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextAlign","configure","types","alignments","TextStyleKit","CharacterCount","limit","charactersLimit","StarterKit","trailingNode","node","notAfter","link","autolink","linkOnPaste","ExtendedListItem","DivNode","HeadingParagraph","EnsureEmptyRootIsDiv","EnsureListItemContentIsDiv","Placeholder","placeholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","ExtendedTable","TableRow","ExtendedTableHeader","ExtendedTableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathTemplatedNode","MathNode","SubScript","SuperScript","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","_props$onDone2","onDelete","src","attrs","insertImageRequested","imageInfo","getHandler","_imageInfo","addedImage","onFinish","result","_cb","cb","callback","handler","focusHandler","debounce","detach","window","removeEventListener","_insertingImage","addEventListener","add","concat","_toConsumableArray2","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","spellCheckEnabled","spellCheck","useEditor","immediatelyRender","editorProps","attributes","handleKeyDown","view","event","onKeyDown","editable","content","normalizeInitialMarkup","onUpdate","_ref4","transaction","isDone","_props$onChange2","onBlur","_ref5","otherToolbarOpened","_toolbarOpened","isActive","schema","useEffect","editorRef","setEditable","_editor$options","_currentEditorProps$a","currentEditorProps","setOptions","nextMarkup","commands","setContent","emitUpdate","entries","_ref6","_ref7","key","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, { useCallback, 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 { ExtendedTableCell, ExtendedTableHeader } from '../extensions/extended-table-cell';\nimport { DivNode } from '../extensions/div-node';\nimport { EnsureEmptyRootIsDiv } from '../extensions/ensure-empty-root-div';\nimport { EnsureListItemContentIsDiv } from '../extensions/ensure-list-item-content-is-div';\nimport { TableRow } from '@tiptap/extension-table-row';\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';\nimport { ExtendedListItem } from '../extensions/extended-list-item';\nimport { HeadingParagraph } from '../extensions/heading-paragraph';\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\n// ProseMirror puts these on the contenteditable element. Without them the browser\n// spellchecks the editor regardless of the spellCheck prop.\nconst spellCheckAttributes = (enabled) => ({\n spellcheck: enabled ? 'true' : 'false',\n autocorrect: enabled ? 'on' : 'off',\n autocapitalize: enabled ? 'on' : 'off',\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 removePendingImage = useCallback(\n (imagePos) => {\n setPendingImages((prev) => {\n const next = prev.filter((img) => img.pos !== imagePos);\n if (next.length === 0) {\n setScheduled(false);\n }\n return next;\n });\n },\n [setPendingImages],\n );\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const commitEditorContent = useCallback(\n (editor) => {\n const html = editor.getHTML();\n\n if (props.markup !== html) {\n props.onChange?.(html);\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(html);\n }\n },\n [props.markup, props.onChange, props.onDone, toolbarOptsToUse.doneOn],\n );\n\n const responseAreaPropsToUse = useMemo(\n () => ({\n ...defaultResponseAreaProps,\n ...props.responseAreaProps,\n onInlineDropdownToolbarClose: commitEditorContent,\n }),\n [props.responseAreaProps, commitEditorContent],\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: responseAreaPropsToUse.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props, responseAreaPropsToUse.type]);\n\n const extensions = [\n TextAlign.configure({\n types: ['heading', 'paragraph', 'div', 'headingParagraph', '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 // StarterKit bundles the link extension, which turns anything that looks like a URL into\n // a hyperlink as it is typed or pasted. See PIE-980 - we don't want that in any editor.\n // The mark itself stays registered so links already in the markup keep round-tripping.\n link: {\n autolink: false,\n linkOnPaste: false,\n },\n }),\n ExtendedListItem,\n DivNode,\n HeadingParagraph,\n EnsureEmptyRootIsDiv,\n EnsureListItemContentIsDiv,\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 ExtendedTableHeader,\n ExtendedTableCell,\n ResponseAreaExtension.configure(responseAreaPropsToUse),\n ExplicitConstructedResponseNode.configure(responseAreaPropsToUse),\n DragInTheBlankNode.configure(responseAreaPropsToUse),\n InlineDropdownNode.configure(responseAreaPropsToUse),\n MathTemplatedNode.configure(responseAreaPropsToUse),\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: (editor) => 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 removePendingImage(node.pos);\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((editor, imageInfo, getHandler) => {\n const [addedImage, pos] = imageInfo;\n\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 removePendingImage(pos);\n cb?.(editor.getHTML());\n };\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\n // If the user closes the file picker without choosing a file, the window regains\n // focus while _insertingImage is still true — drop the stale pending entry.\n const focusHandler = debounce(() => {\n const detach = () => window.removeEventListener('focus', focusHandler);\n\n if (!editor._insertingImage) {\n detach();\n return;\n }\n\n removePendingImage(pos);\n editor._insertingImage = false;\n detach();\n }, 500);\n\n window.addEventListener('focus', focusHandler);\n\n props.imageSupport.add(handler);\n };\n\n editor._insertingImage = true;\n setPendingImages((prev) => [...prev, 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 // Callers that don't pass spellCheck keep the browser default (on), as they did with the\n // slate-based editor. Players that have to default to off - extended-text-entry, see\n // PIE-978 - resolve that in their controller and pass an explicit false.\n const spellCheckEnabled = props.spellCheck !== false;\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n attributes: spellCheckAttributes(spellCheckEnabled),\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: ({ editor }) => {\n const otherToolbarOpened =\n editor._insertingImage ||\n editor._toolbarOpened ||\n editor.isActive('inline_dropdown') ||\n editor.isActive('explicit_constructed_response');\n\n if (otherToolbarOpened || !editor.schema) {\n return;\n }\n\n commitEditorContent(editor);\n },\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 // useEditor only re-applies options on its own when it is called with an empty dependency\n // array, and this call site depends on charactersLimit, so a spellCheck change on a mounted\n // editor has to be pushed in. Only the attributes are replaced - the rest of editorProps\n // stays as the editor already has it.\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n const currentEditorProps = editor.options?.editorProps;\n const attributes = spellCheckAttributes(spellCheckEnabled);\n\n if (currentEditorProps?.attributes?.spellcheck === attributes.spellcheck) {\n return;\n }\n\n editor.setOptions({ editorProps: { ...currentEditorProps, attributes } });\n }, [spellCheckEnabled, 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, { emitUpdate: 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 // :only-child ensures the placeholder is hidden whenever the editor has other content (images, upload nodes, etc.)\n // and covers the type+backspace edge case where Tiptap only adds is-empty (not is-editor-empty).\n '& p[data-placeholder].is-empty:only-child, & div[data-placeholder].is-empty:only-child': {\n position: 'relative',\n },\n '& p[data-placeholder].is-empty:only-child::before, & div[data-placeholder].is-empty:only-child::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 '& > p:has(+ p)': {\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","_extendedTableCell","_divNode","_ensureEmptyRootDiv","_ensureListItemContentIsDiv","_extensionTableRow","_responseArea","_math","_image","_media","_css","_extendedListItem","_headingParagraph","_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","editorAttributes","spellCheckEnabled","role","spellcheck","autocorrect","autocapitalize","EditableHtml","exports","props","_props$pluginProps","_ref","pluginProps","showParagraphs","separateParagraphs","_useState","useState","_useState2","_slicedToArray2","pendingImages","setPendingImages","_useState3","_useState4","scheduled","setScheduled","toolbarOpts","removePendingImage","useCallback","imagePos","prev","next","img","pos","toolbarOptsToUse","commitEditorContent","editor","html","getHTML","markup","_props$onChange","onChange","_props$onDone","onDone","responseAreaPropsToUse","useMemo","responseAreaProps","onInlineDropdownToolbarClose","activePluginsToUse","_ref3","_ref2","customPlugins","otherPluginProps","_objectWithoutProperties2","filteredActivePlugins","activePlugins","pluginName","nameToUse","PLUGINS_MAP","pluginInfo","disabled","buildExtensions","math","textAlign","extraCSSRules","image","imageSupport","toolbar","table","responseArea","type","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextAlign","configure","types","alignments","TextStyleKit","CharacterCount","limit","charactersLimit","StarterKit","trailingNode","node","notAfter","link","autolink","linkOnPaste","ExtendedListItem","DivNode","HeadingParagraph","EnsureEmptyRootIsDiv","EnsureListItemContentIsDiv","Placeholder","placeholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","ExtendedTable","TableRow","ExtendedTableHeader","ExtendedTableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathTemplatedNode","MathNode","SubScript","SuperScript","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","_props$onDone2","onDelete","src","attrs","insertImageRequested","imageInfo","getHandler","_imageInfo","addedImage","onFinish","result","_cb","cb","callback","handler","focusHandler","debounce","detach","window","removeEventListener","_insertingImage","addEventListener","add","concat","_toConsumableArray2","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","spellCheck","useEditor","immediatelyRender","editorProps","attributes","handleKeyDown","view","event","onKeyDown","editable","content","normalizeInitialMarkup","onUpdate","_ref4","transaction","isDone","_props$onChange2","onBlur","_ref5","otherToolbarOpened","_toolbarOpened","isActive","schema","useEffect","editorRef","setEditable","_editor$options","_currentEditorProps$a","currentEditorProps","setOptions","nextMarkup","commands","setContent","emitUpdate","entries","_ref6","_ref7","key","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, { useCallback, 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 { ExtendedTableCell, ExtendedTableHeader } from '../extensions/extended-table-cell';\nimport { DivNode } from '../extensions/div-node';\nimport { EnsureEmptyRootIsDiv } from '../extensions/ensure-empty-root-div';\nimport { EnsureListItemContentIsDiv } from '../extensions/ensure-list-item-content-is-div';\nimport { TableRow } from '@tiptap/extension-table-row';\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';\nimport { ExtendedListItem } from '../extensions/extended-list-item';\nimport { HeadingParagraph } from '../extensions/heading-paragraph';\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\n// Attributes PIE puts on the editor's contenteditable element.\n//\n// ProseMirror rebuilds the element's attribute set from editorProps.attributes on every view\n// update and removes anything no longer listed, and Tiptap merges its own role=\"textbox\" only in\n// createView - not into editor.options, which is what setOptions re-pushes. So every attribute we\n// want to survive has to be listed here. See PIE-1015.\nconst editorAttributes = (spellCheckEnabled) => ({\n // Tiptap's own attribute, re-declared so it survives setOptions. setEditable alone re-pushes\n // editorProps on every mount, which is what removed it in 2.1.17.\n role: 'textbox',\n // PIE-owned hook for external consumers - see PIE-1016. Query [data-pie-editor], or\n // [data-pie-editor][contenteditable=\"true\"] to skip read-only renders.\n 'data-pie-editor': 'true',\n // Without these the browser spellchecks the editor regardless of the spellCheck prop.\n spellcheck: spellCheckEnabled ? 'true' : 'false',\n autocorrect: spellCheckEnabled ? 'on' : 'off',\n autocapitalize: spellCheckEnabled ? 'on' : 'off',\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 removePendingImage = useCallback(\n (imagePos) => {\n setPendingImages((prev) => {\n const next = prev.filter((img) => img.pos !== imagePos);\n if (next.length === 0) {\n setScheduled(false);\n }\n return next;\n });\n },\n [setPendingImages],\n );\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const commitEditorContent = useCallback(\n (editor) => {\n const html = editor.getHTML();\n\n if (props.markup !== html) {\n props.onChange?.(html);\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(html);\n }\n },\n [props.markup, props.onChange, props.onDone, toolbarOptsToUse.doneOn],\n );\n\n const responseAreaPropsToUse = useMemo(\n () => ({\n ...defaultResponseAreaProps,\n ...props.responseAreaProps,\n onInlineDropdownToolbarClose: commitEditorContent,\n }),\n [props.responseAreaProps, commitEditorContent],\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: responseAreaPropsToUse.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props, responseAreaPropsToUse.type]);\n\n const extensions = [\n TextAlign.configure({\n types: ['heading', 'paragraph', 'div', 'headingParagraph', '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 // StarterKit bundles the link extension, which turns anything that looks like a URL into\n // a hyperlink as it is typed or pasted. See PIE-980 - we don't want that in any editor.\n // The mark itself stays registered so links already in the markup keep round-tripping.\n link: {\n autolink: false,\n linkOnPaste: false,\n },\n }),\n ExtendedListItem,\n DivNode,\n HeadingParagraph,\n EnsureEmptyRootIsDiv,\n EnsureListItemContentIsDiv,\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 ExtendedTableHeader,\n ExtendedTableCell,\n ResponseAreaExtension.configure(responseAreaPropsToUse),\n ExplicitConstructedResponseNode.configure(responseAreaPropsToUse),\n DragInTheBlankNode.configure(responseAreaPropsToUse),\n InlineDropdownNode.configure(responseAreaPropsToUse),\n MathTemplatedNode.configure(responseAreaPropsToUse),\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: (editor) => 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 removePendingImage(node.pos);\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((editor, imageInfo, getHandler) => {\n const [addedImage, pos] = imageInfo;\n\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 removePendingImage(pos);\n cb?.(editor.getHTML());\n };\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\n // If the user closes the file picker without choosing a file, the window regains\n // focus while _insertingImage is still true — drop the stale pending entry.\n const focusHandler = debounce(() => {\n const detach = () => window.removeEventListener('focus', focusHandler);\n\n if (!editor._insertingImage) {\n detach();\n return;\n }\n\n removePendingImage(pos);\n editor._insertingImage = false;\n detach();\n }, 500);\n\n window.addEventListener('focus', focusHandler);\n\n props.imageSupport.add(handler);\n };\n\n editor._insertingImage = true;\n setPendingImages((prev) => [...prev, 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 // Callers that don't pass spellCheck keep the browser default (on), as they did with the\n // slate-based editor. Players that have to default to off - extended-text-entry, see\n // PIE-978 - resolve that in their controller and pass an explicit false.\n const spellCheckEnabled = props.spellCheck !== false;\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n attributes: editorAttributes(spellCheckEnabled),\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: ({ editor }) => {\n const otherToolbarOpened =\n editor._insertingImage ||\n editor._toolbarOpened ||\n editor.isActive('inline_dropdown') ||\n editor.isActive('explicit_constructed_response');\n\n if (otherToolbarOpened || !editor.schema) {\n return;\n }\n\n commitEditorContent(editor);\n },\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 // useEditor only re-applies options on its own when it is called with an empty dependency\n // array, and this call site depends on charactersLimit, so a spellCheck change on a mounted\n // editor has to be pushed in. The rest of editorProps stays as the editor already has it, and\n // the attributes are merged rather than replaced so an attribute contributed by Tiptap or an\n // extension can't be dropped the way role=\"textbox\" was - see PIE-1015.\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n const currentEditorProps = editor.options?.editorProps;\n const attributes = { ...currentEditorProps?.attributes, ...editorAttributes(spellCheckEnabled) };\n\n if (currentEditorProps?.attributes?.spellcheck === attributes.spellcheck) {\n return;\n }\n\n editor.setOptions({ editorProps: { ...currentEditorProps, attributes } });\n }, [spellCheckEnabled, 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, { emitUpdate: 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 // :only-child ensures the placeholder is hidden whenever the editor has other content (images, upload nodes, etc.)\n // and covers the type+backspace edge case where Tiptap only adds is-empty (not is-editor-empty).\n '& p[data-placeholder].is-empty:only-child, & div[data-placeholder].is-empty:only-child': {\n position: 'relative',\n },\n '& p[data-placeholder].is-empty:only-child::before, & div[data-placeholder].is-empty:only-child::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 '& > p:has(+ p)': {\n marginBottom: '1em',\n },\n }),\n },\n}));\n\nexport default EditableHtml;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -658,6 +658,10 @@ var StyledMenuBar = function StyledMenuBar(props) {
|
|
|
658
658
|
};
|
|
659
659
|
var StyledMenuBarRoot = (0, _styles.styled)('div')(function () {
|
|
660
660
|
return {
|
|
661
|
+
// A zero-height slot the toolbar overflows out of, so the toolbar rides normal flow while the
|
|
662
|
+
// root's geometry stays as it was.
|
|
663
|
+
height: 0,
|
|
664
|
+
overflow: 'visible',
|
|
661
665
|
'& .defaultToolbar': {
|
|
662
666
|
display: 'flex',
|
|
663
667
|
width: '100%',
|
|
@@ -708,13 +712,16 @@ var StyledMenuBarRoot = (0, _styles.styled)('div')(function () {
|
|
|
708
712
|
color: 'var(--white)'
|
|
709
713
|
},
|
|
710
714
|
'& .toolbar': {
|
|
711
|
-
position:
|
|
715
|
+
// Offset from its own in-flow position: no containing block and no static position to resolve,
|
|
716
|
+
// either of which a lockdown browser extension can get wrong as the editor grows.
|
|
717
|
+
position: 'relative',
|
|
718
|
+
top: '5px',
|
|
712
719
|
zIndex: 20,
|
|
713
720
|
cursor: 'pointer',
|
|
714
721
|
justifyContent: 'space-between',
|
|
715
722
|
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
716
723
|
minWidth: '280px',
|
|
717
|
-
margin:
|
|
724
|
+
margin: 0,
|
|
718
725
|
padding: '2px',
|
|
719
726
|
boxShadow: '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)',
|
|
720
727
|
boxSizing: 'border-box',
|
|
@@ -726,6 +733,8 @@ var StyledMenuBarRoot = (0, _styles.styled)('div')(function () {
|
|
|
726
733
|
minWidth: '265px'
|
|
727
734
|
},
|
|
728
735
|
'& .toolbarTop': {
|
|
736
|
+
// Anchored to the root's top, which never depended on the editor's height.
|
|
737
|
+
position: 'absolute',
|
|
729
738
|
top: '-45px'
|
|
730
739
|
},
|
|
731
740
|
'& .toolbarRight': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styles","_prosemirrorState","_renderUi","_FormatBold","_FormatItalic","_FormatStrikethrough","_Code","_GridOn","_FormatListBulleted","_FormatListNumbered","_FormatUnderlined","_Functions","_Image","_Redo","_Undo","_FormatQuote","_Theaters","_VolumeUp","_BorderAll","_Delete","_react2","_constants","_ToolbarIcon","_characterUtils","_TextAlign","_CssIcon","_TableIcons","_CharacterPicker","_doneButton","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","SuperscriptIcon","createElement","xmlns","height","viewBox","width","fill","focusable","d","SubscriptIcon","HeadingIcon","style","MenuBar","_ref","_editorState$currentN","editor","classes","activePlugins","toolOpts","toolbarOpts","responseAreaProps","onChange","autoWidthToolbar","_useState","useState","_useState2","_slicedToArray2","showPicker","setShowPicker","editorState","useEditorState","selector","ctx","_ctx$editor","_ctx$editor2","_ctx$editor3","_ctx$editor4","_ctx$editor5","_ctx$editor6","_ctx$editor7","_ctx$editor$_toolbarO","_ctx$editor8","_ctx$editor$isActive","_ctx$editor$can$chain","_ctx$editor$isActive2","_ref3","_ctx$editor$getAttrib","_ctx$editor$can$chain2","_ctx$editor$isActive3","_ctx$editor$can$chain3","_ctx$editor$isActive4","_ctx$editor$can$chain4","_ctx$editor$isActive5","_ctx$editor$can$chain5","_ctx$editor$can$chain6","_ctx$editor$isActive6","_ctx$editor$isActive7","_ctx$editor$isActive8","_ctx$editor$isActive9","_ctx$editor$isActive0","_ctx$editor$isActive1","_ctx$editor$isActive10","_ctx$editor$isActive11","_ctx$editor$isActive12","_ctx$editor$isActive13","_ctx$editor$isActive14","_ctx$editor$isActive15","_ctx$editor$isActive16","_ctx$editor$isActive17","_ctx$editor$isActive18","_ctx$editor$can$chain7","_ctx$editor$can$chain8","_ref2","state","selection","currentNode","commandManager","NodeSelection","node","hideDefaultToolbar","isActive","hasTextSelectionInTable","empty","isFocused","toolbarOpened","_toolbarOpened","isBold","canBold","can","chain","toggleBold","run","isTable","tableHasBorder","getAttributes","border","canTable","insertTable","isItalic","canItalic","toggleItalic","isStrike","canStrike","toggleStrike","isCode","canCode","toggleCode","canClearMarks","unsetAllMarks","isUnderline","isSubScript","isSuperScript","isParagraph","isHeading1","level","isHeading2","isHeading3","isHeadingParagraph","isHeading4","isHeading5","isHeading6","isBulletList","isOrderedList","isCodeBlock","isBlockquote","canUndo","undo","canRedo","redo","hasDoneButton","autoWidth","names","classNames","toolbar","PIE_TOOLBAR__CLASS","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","alwaysVisible","fullWidth","hidden","isHidden","customStyles","minWidth","undefined","handleMouseDown","preventDefault","toolbarButtons","useMemo","icon","label","onClick","focus","rows","cols","withHeaderRow","includes","isDisabled","AddRow","addRowAfter","RemoveRow","deleteRow","AddColumn","addColumnAfter","RemoveColumn","deleteColumn","RemoveTable","deleteTable","toggle","tableAttrs","update","commands","updateAttributes","toggleUnderline","toggleSubscript","toggleSuperscript","setImageUploadNode","insertMedia","type","tag","openCSSClassDialog","toggleBlockquote","toggleHeadingParagraph","insertMath","CharacterIcon","letter","spanishConfig","p","specialConfig","toggleBulletList","toggleOrderedList","isDragInTheBlankSelected","name","className","onMouseDown","defaultToolbar","tabIndex","buttonsContainer","button","deleteSelection","getHTML","title","btn","_btn$hidden","map","index","_btn$isDisabled","_btn$isActive","disabled","active","key","insertResponseArea","ToolbarIcon","showDone","DoneButton","blur","CharacterPicker","opts","renderPopOver","ev","ch","console","log","closePopOver","onClose","StyledMenuBar","props","theme","useTheme","iconRoot","shared","StyledMenuBarRoot","_extends2","styled","display","justifyContent","alignItems","color","padding","background","cursor","text","outline","concat","buttonFocusOutline","opacity","zIndex","margin","boxShadow","boxSizing","pointerEvents","top","right","visibility","verticalAlign","_default","exports"],"sources":["../../src/components/MenuBar.jsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { NodeSelection } from 'prosemirror-state';\nimport { color } from '@pie-lib/render-ui';\n\nimport Bold from '@mui/icons-material/FormatBold';\nimport Italic from '@mui/icons-material/FormatItalic';\nimport Strikethrough from '@mui/icons-material/FormatStrikethrough';\nimport Code from '@mui/icons-material/Code';\nimport GridOn from '@mui/icons-material/GridOn';\nimport BulletedListIcon from '@mui/icons-material/FormatListBulleted';\nimport NumberedListIcon from '@mui/icons-material/FormatListNumbered';\nimport Underline from '@mui/icons-material/FormatUnderlined';\nimport Functions from '@mui/icons-material/Functions';\nimport ImageIcon from '@mui/icons-material/Image';\nimport Redo from '@mui/icons-material/Redo';\nimport Undo from '@mui/icons-material/Undo';\nimport FormatQuote from '@mui/icons-material/FormatQuote';\nimport TheatersIcon from '@mui/icons-material/Theaters';\nimport VolumeUpIcon from '@mui/icons-material/VolumeUp';\nimport BorderAll from '@mui/icons-material/BorderAll';\nimport Delete from '@mui/icons-material/Delete';\n\nimport { useEditorState } from '@tiptap/react';\n\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { ToolbarIcon } from './respArea/ToolbarIcon';\nimport { spanishConfig, specialConfig } from './characters/characterUtils';\nimport TextAlignIcon from './icons/TextAlign';\nimport CSSIcon from './icons/CssIcon';\nimport { AddColumn, AddRow, RemoveColumn, RemoveRow, RemoveTable } from './icons/TableIcons';\n\nimport { CharacterIcon, CharacterPicker } from './CharacterPicker';\nimport { DoneButton } from './common/done-button';\n\nconst SuperscriptIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M22,7h-2v1h3v1h-4V7c0-0.55,0.45-1,1-1h2V5h-3V4h3c0.55,0,1,0.45,1,1v1C23,6.55,22.55,7,22,7z M5.88,20h2.66l3.4-5.42h0.12 l3.4,5.42h2.66l-4.65-7.27L17.81,6h-2.68l-3.07,4.99h-0.12L8.85,6H6.19l4.32,6.73L5.88,20z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SubscriptIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M22,18h-2v1h3v1h-4v-2c0-0.55,0.45-1,1-1h2v-1h-3v-1h3c0.55,0,1,0.45,1,1v1C23,17.55,22.55,18,22,18z M5.88,18h2.66 l3.4-5.42h0.12l3.4,5.42h2.66l-4.65-7.27L17.81,4h-2.68l-3.07,4.99h-0.12L8.85,4H6.19l4.32,6.73L5.88,18z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst HeadingIcon = () => (\n <svg\n width=\"30\"\n height=\"28\"\n viewBox=\"0 0 30 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width: '20px', height: '18px' }}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M27 4V24H29C29.5 24 30 24.5 30 25V27C30 27.5625 29.5 28 29 28H19C18.4375 28 18 27.5625 18 27V25C18 24.5 18.4375 24 19 24H21V16H9V24H11C11.5 24 12 24.5 12 25V27C12 27.5625 11.5 28 11 28H1C0.4375 28 0 27.5625 0 27V25C0 24.5 0.4375 24 1 24H3V4H1C0.4375 4 0 3.5625 0 3V1C0 0.5 0.4375 0 1 0H11C11.5 0 12 0.5 12 1V3C12 3.5625 11.5 4 11 4H9V12H21V4H19C18.4375 4 18 3.5625 18 3V1C18 0.5 18.4375 0 19 0H29C29.5 0 30 0.5 30 1V3C30 3.5625 29.5 4 29 4H27Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nfunction MenuBar({\n editor,\n classes,\n activePlugins,\n toolbarOpts: toolOpts,\n responseAreaProps,\n onChange,\n autoWidthToolbar,\n}) {\n const [showPicker, setShowPicker] = useState(false);\n const toolbarOpts = toolOpts ?? {};\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => {\n const { selection } = ctx.editor?.state || {};\n\n let currentNode;\n\n if (!ctx.editor?.commandManager) {\n return {};\n }\n\n if (selection instanceof NodeSelection) {\n currentNode = selection.node; // the selected node\n }\n\n const hideDefaultToolbar =\n ctx.editor?.isActive('math') ||\n ctx.editor?.isActive('explicit_constructed_response') ||\n ctx.editor?.isActive('imageUploadNode') ||\n ctx.editor?.isActive('drag_in_the_blank');\n\n const hasTextSelectionInTable = selection && selection.empty === false && ctx.editor.isActive('table');\n\n return {\n currentNode,\n hideDefaultToolbar,\n hasTextSelectionInTable,\n isFocused: ctx.editor?.isFocused,\n toolbarOpened: ctx.editor?._toolbarOpened ?? false,\n isBold: ctx.editor.isActive('bold') ?? false,\n canBold: ctx.editor.can().chain().toggleBold().run() ?? false,\n isTable: ctx.editor.isActive('table') ?? false,\n tableHasBorder: ctx.editor.getAttributes('table')?.border === '1' ?? false,\n canTable: ctx.editor.can().chain().insertTable().run() ?? false,\n isItalic: ctx.editor.isActive('italic') ?? false,\n canItalic: ctx.editor.can().chain().toggleItalic().run() ?? false,\n isStrike: ctx.editor.isActive('strike') ?? false,\n canStrike: ctx.editor.can().chain().toggleStrike().run() ?? false,\n isCode: ctx.editor.isActive('code') ?? false,\n canCode: ctx.editor.can().chain().toggleCode().run() ?? false,\n canClearMarks: ctx.editor.can().chain().unsetAllMarks().run() ?? false,\n isUnderline: ctx.editor.isActive('underline') ?? false,\n isSubScript: ctx.editor.isActive('subscript') ?? false,\n isSuperScript: ctx.editor.isActive('superscript') ?? false,\n isParagraph: ctx.editor.isActive('paragraph') ?? false,\n isHeading1: ctx.editor.isActive('heading', { level: 1 }) ?? false,\n isHeading2: ctx.editor.isActive('heading', { level: 2 }) ?? false,\n isHeading3: ctx.editor.isActive('heading', { level: 3 }) ?? false,\n isHeadingParagraph: ctx.editor.isActive('headingParagraph') ?? false,\n isHeading4: ctx.editor.isActive('heading', { level: 4 }) ?? false,\n isHeading5: ctx.editor.isActive('heading', { level: 5 }) ?? false,\n isHeading6: ctx.editor.isActive('heading', { level: 6 }) ?? false,\n isBulletList: ctx.editor.isActive('bulletList') ?? false,\n isOrderedList: ctx.editor.isActive('orderedList') ?? false,\n isCodeBlock: ctx.editor.isActive('codeBlock') ?? false,\n isBlockquote: ctx.editor.isActive('blockquote') ?? false,\n canUndo: ctx.editor.can().chain().undo().run() ?? false,\n canRedo: ctx.editor.can().chain().redo().run() ?? false,\n };\n },\n });\n\n const hasDoneButton = false;\n const autoWidth = !!autoWidthToolbar;\n\n const names = classNames(classes.toolbar, PIE_TOOLBAR__CLASS, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]:\n toolbarOpts.alwaysVisible ||\n (editorState.isFocused && !editorState.toolbarOpened && !editorState.hideDefaultToolbar),\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth,\n [classes.hidden]: toolbarOpts.isHidden === true,\n });\n\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n const handleMouseDown = (e) => {\n e.preventDefault();\n };\n\n const toolbarButtons = useMemo(\n () => [\n {\n icon: <GridOn />,\n label: 'Insert table',\n onClick: (editor) => editor.chain().focus().insertTable({ rows: 2, cols: 2, withHeaderRow: false }).run(),\n hidden: (state) => !activePlugins?.includes('table') || state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddRow />,\n label: 'Add table row',\n onClick: (editor) => editor.chain().focus().addRowAfter().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveRow />,\n label: 'Remove table row',\n onClick: (editor) => editor.chain().focus().deleteRow().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddColumn />,\n label: 'Add table column',\n onClick: (editor) => editor.chain().focus().addColumnAfter().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveColumn />,\n label: 'Remove table column',\n onClick: (editor) => editor.chain().focus().deleteColumn().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveTable />,\n label: 'Remove table',\n onClick: (editor) => editor.chain().focus().deleteTable().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <BorderAll />,\n label: 'Table borders',\n toggle: true,\n onClick: (editor) => {\n const tableAttrs = editor.getAttributes('table');\n\n const update = {\n ...tableAttrs,\n border: tableAttrs.border !== '0' ? '0' : '1',\n };\n\n editor.commands.updateAttributes('table', update);\n },\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.tableHasBorder,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <Bold />,\n label: 'Bold',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleBold().run(),\n hidden: () => !activePlugins?.includes('bold'),\n isActive: (state) => state.isBold,\n isDisabled: (state) => !state.canBold,\n },\n {\n icon: <Italic />,\n label: 'Italic',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleItalic().run(),\n hidden: () => !activePlugins?.includes('italic'),\n isActive: (state) => state.isItalic,\n isDisabled: (state) => !state.canItalic,\n },\n {\n icon: <Strikethrough />,\n label: 'Strikethrough',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleStrike().run(),\n hidden: () => !activePlugins?.includes('strikethrough'),\n isActive: (state) => state.isStrike,\n isDisabled: (state) => !state.canStrike,\n },\n {\n icon: <Code />,\n label: 'Code',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleCode().run(),\n hidden: () => !activePlugins?.includes('code'),\n isActive: (state) => state.isCode,\n isDisabled: (state) => !state.canCode,\n },\n {\n icon: <Underline />,\n label: 'Underline',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleUnderline().run(),\n hidden: () => !activePlugins?.includes('underline'),\n isActive: (state) => state.isUnderline,\n },\n {\n icon: <SubscriptIcon />,\n label: 'Subscript',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleSubscript().run(),\n hidden: () => !activePlugins?.includes('subscript'),\n isActive: (state) => state.isSubScript,\n },\n {\n icon: <SuperscriptIcon />,\n label: 'Superscript',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleSuperscript().run(),\n hidden: () => !activePlugins?.includes('superscript'),\n isActive: (state) => state.isSuperScript,\n },\n {\n icon: <ImageIcon />,\n label: 'Insert image',\n hidden: () => !activePlugins?.includes('image'),\n onClick: (editor) => editor.chain().focus().setImageUploadNode().run(),\n },\n {\n icon: <TheatersIcon />,\n label: 'Insert video',\n hidden: () => !activePlugins?.includes('video'),\n onClick: (editor) => editor.chain().focus().insertMedia({ type: 'video' }).run(),\n },\n {\n icon: <VolumeUpIcon />,\n label: 'Insert audio',\n hidden: () => !activePlugins?.includes('audio'),\n onClick: (editor) => editor.chain().focus().insertMedia({ type: 'audio', tag: 'audio' }).run(),\n },\n {\n icon: <CSSIcon />,\n label: 'CSS classes',\n hidden: () => !activePlugins?.includes('css'),\n onClick: (editor) => editor.commands.openCSSClassDialog(),\n },\n {\n icon: <FormatQuote />,\n label: 'Blockquote',\n toggle: true,\n hidden: () => !activePlugins?.includes('blockquote'),\n onClick: (editor) => editor.chain().focus().toggleBlockquote().run(),\n isActive: (state) => state.isBlockquote,\n },\n {\n icon: <HeadingIcon />,\n label: 'Heading',\n toggle: true,\n hidden: () => !activePlugins?.includes('h3'),\n onClick: (editor) => editor.chain().focus().toggleHeadingParagraph().run(),\n isActive: (state) => state.isHeadingParagraph,\n },\n {\n icon: <Functions />,\n label: 'Insert math',\n hidden: () => !activePlugins?.includes('math'),\n onClick: (editor) => editor.chain().focus().insertMath('').run(),\n },\n {\n icon: <CharacterIcon letter=\"ñ\" />,\n label: 'Spanish characters (ñ)',\n hidden: () => !activePlugins?.includes('languageCharacters'),\n onClick: () => setShowPicker(spanishConfig),\n },\n {\n icon: <CharacterIcon letter=\"€\" />,\n label: 'Special characters (€)',\n hidden: () => activePlugins?.filter((p) => p === 'languageCharacters').length !== 2,\n onClick: () => setShowPicker(specialConfig),\n },\n {\n icon: <TextAlignIcon editor={editor} />,\n label: 'Text alignment',\n hidden: () => !activePlugins?.includes('text-align'),\n onClick: () => {},\n },\n {\n icon: <BulletedListIcon />,\n label: 'Bulleted list',\n toggle: true,\n hidden: () => !activePlugins?.includes('bulleted-list'),\n onClick: (editor) => editor.chain().focus().toggleBulletList().run(),\n isActive: (state) => state.isBulletList,\n },\n {\n icon: <NumberedListIcon />,\n label: 'Numbered list',\n toggle: true,\n hidden: () => !activePlugins?.includes('numbered-list'),\n onClick: (editor) => editor.chain().focus().toggleOrderedList().run(),\n isActive: (state) => state.isOrderedList,\n },\n {\n icon: <Undo />,\n label: 'Undo',\n hidden: () => !activePlugins?.includes('undo'),\n onClick: (editor) => editor.chain().focus().undo().run(),\n isDisabled: (state) => !state.canUndo,\n },\n {\n icon: <Redo />,\n label: 'Redo',\n hidden: () => !activePlugins?.includes('redo'),\n onClick: (editor) => editor.chain().focus().redo().run(),\n isDisabled: (state) => !state.canRedo,\n },\n ],\n [activePlugins, editor],\n );\n\n const isDragInTheBlankSelected =\n editorState.hideDefaultToolbar && editorState.currentNode?.type?.name === 'drag_in_the_blank';\n\n return (\n <div className={names} style={{ ...customStyles }} onMouseDown={handleMouseDown}>\n {isDragInTheBlankSelected && (\n <div className={classes.defaultToolbar} tabIndex=\"1\">\n <div className={classes.buttonsContainer}>\n <button\n type=\"button\"\n className={classes.button}\n onClick={(e) => {\n e.preventDefault();\n editor.chain().focus().deleteSelection().run();\n onChange?.(editor.getHTML());\n }}\n aria-label=\"Delete response area\"\n title=\"Delete response area\"\n >\n <Delete />\n </button>\n </div>\n </div>\n )}\n {!editorState.hideDefaultToolbar && (\n <div className={classes.defaultToolbar} tabIndex=\"1\">\n <div className={classes.buttonsContainer}>\n {toolbarButtons\n .filter((btn) => !btn.hidden?.(editorState))\n .map((btn, index) => {\n const disabled = btn.isDisabled?.(editorState);\n const active = btn.isActive?.(editorState);\n\n return (\n <button\n key={index}\n type=\"button\"\n disabled={disabled}\n aria-label={btn.label}\n title={btn.label}\n aria-pressed={btn.toggle ? !!active : undefined}\n onClick={(e) => {\n e.preventDefault();\n btn.onClick(editor);\n }}\n className={classNames(classes.button, { [classes.active]: active })}\n >\n {btn.icon}\n </button>\n );\n })}\n </div>\n {activePlugins?.includes('responseArea') && (\n <button\n type=\"button\"\n aria-label=\"Insert response area\"\n title=\"Insert response area\"\n onClick={() => {\n editor.chain().focus().insertResponseArea(responseAreaProps.type).run();\n }}\n className={classes.button}\n >\n <ToolbarIcon />\n </button>\n )}\n\n {toolbarOpts.showDone && (\n <DoneButton\n onClick={() => {\n onChange?.(editor.getHTML());\n editor.commands.blur();\n }}\n />\n )}\n </div>\n )}\n {showPicker && (\n <CharacterPicker\n editor={editor}\n opts={{\n ...showPicker,\n renderPopOver: (ev, ch) => console.log('Show popover', ch),\n closePopOver: () => console.log('Close popover'),\n }}\n onClose={() => setShowPicker(false)}\n />\n )}\n </div>\n );\n}\n\n// Wrapper component that provides classes object using styled API\nconst StyledMenuBar = (props) => {\n const theme = useTheme();\n\n const classes = {\n defaultToolbar: 'defaultToolbar',\n buttonsContainer: 'buttonsContainer',\n button: 'toolbarButton',\n active: 'active',\n disabled: 'disabled',\n isActive: 'isActive',\n toolbar: 'toolbar',\n toolbarWithNoDone: 'toolbarWithNoDone',\n toolbarTop: 'toolbarTop',\n toolbarRight: 'toolbarRight',\n fullWidth: 'fullWidth',\n hidden: 'hidden',\n autoWidth: 'autoWidth',\n focused: 'focused',\n iconRoot: 'iconRoot',\n label: 'label',\n shared: 'shared',\n };\n\n return (\n <StyledMenuBarRoot>\n <MenuBar {...props} classes={classes} />\n </StyledMenuBarRoot>\n );\n};\n\nconst StyledMenuBarRoot = styled('div')(() => ({\n '& .defaultToolbar': {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n '& .buttonsContainer': {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n '& .toolbarButton': {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n // previously we had implicit 24×24 icon rendering for mui svg icons, but now we need to explicitly set the size to 24×24 to match the previous behavior\n '& svg': {\n width: '24px',\n height: '24px',\n },\n '&:hover': {\n color: color.text(),\n },\n '&:focus': {\n /*\n * A focus ring is the one thing a keyboard user cannot do without, so it takes\n * the registered focus token rather than a grey. `--pie-button-focus-outline`\n * measures at least 3.68:1 against every scheme's own background; MUI's\n * grey[700] fell to 1.28:1 on yellow-on-navy.\n */\n outline: `2px solid ${color.buttonFocusOutline()}`,\n },\n },\n '& .active': {\n color: color.text(),\n },\n '& .disabled': {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: color.disabled(),\n },\n },\n '& .isActive': {\n background: 'var(--purple)',\n color: 'var(--white)',\n },\n '& .toolbar': {\n position: 'absolute',\n zIndex: 20,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\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: 0,\n pointerEvents: 'none',\n },\n '& .toolbarWithNoDone': {\n minWidth: '265px',\n },\n '& .toolbarTop': {\n top: '-45px',\n },\n '& .toolbarRight': {\n right: 0,\n },\n '& .fullWidth': {\n width: '100%',\n },\n '& .hidden': {\n visibility: 'hidden',\n },\n '& .autoWidth': {\n width: 'auto',\n },\n '& .focused': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n '& .iconRoot': {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n },\n '& .label': {\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n },\n '& .shared': {\n display: 'flex',\n },\n}));\n\nexport default StyledMenuBar;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,aAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,oBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,KAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,OAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,mBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,mBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,iBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,UAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,MAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,KAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,KAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,YAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,SAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,SAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,UAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,OAAA,GAAApB,sBAAA,CAAAF,OAAA;AAEA,IAAAuB,OAAA,GAAAvB,OAAA;AAEA,IAAAwB,UAAA,GAAAxB,OAAA;AACA,IAAAyB,YAAA,GAAAzB,OAAA;AACA,IAAA0B,eAAA,GAAA1B,OAAA;AACA,IAAA2B,UAAA,GAAAzB,sBAAA,CAAAF,OAAA;AACA,IAAA4B,QAAA,GAAA1B,sBAAA,CAAAF,OAAA;AACA,IAAA6B,WAAA,GAAA7B,OAAA;AAEA,IAAA8B,gBAAA,GAAA9B,OAAA;AACA,IAAA+B,WAAA,GAAA/B,OAAA;AAAkD,SAAAD,wBAAAiC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAnC,uBAAA,YAAAA,wBAAAiC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,QAAApB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAgB,MAAA,CAAAI,IAAA,CAAArB,CAAA,OAAAiB,MAAA,CAAAK,qBAAA,QAAAhB,CAAA,GAAAW,MAAA,CAAAK,qBAAA,CAAAtB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAiB,MAAA,WAAApB,CAAA,WAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAqB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA0B,cAAA3B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAyB,SAAA,CAAAC,MAAA,EAAA1B,CAAA,UAAAF,CAAA,WAAA2B,SAAA,CAAAzB,CAAA,IAAAyB,SAAA,CAAAzB,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,OAAA6B,OAAA,WAAA3B,CAAA,QAAA4B,gBAAA,aAAA/B,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAc,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAjC,CAAA,EAAAiB,MAAA,CAAAe,yBAAA,CAAA/B,CAAA,KAAAmB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,GAAA6B,OAAA,WAAA3B,CAAA,IAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAElD,IAAMkC,eAAe,GAAG,SAAlBA,eAAeA,CAAA;EAAA,oBACnBpE,MAAA,YAAAqE,aAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC,MAAM;IACX,eAAY,MAAM;IAClBC,SAAS,EAAC;EAAO,gBAEjB3E,MAAA,YAAAqE,aAAA;IACEO,CAAC,EAAC,gNAAgN;IAClNF,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACjB7E,MAAA,YAAAqE,aAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC,MAAM;IACX,eAAY,MAAM;IAClBC,SAAS,EAAC;EAAO,gBAEjB3E,MAAA,YAAAqE,aAAA;IACEO,CAAC,EAAC,uNAAuN;IACzNF,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAA;EAAA,oBACf9E,MAAA,YAAAqE,aAAA;IACEI,KAAK,EAAC,IAAI;IACVF,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBE,IAAI,EAAC,MAAM;IACXJ,KAAK,EAAC,4BAA4B;IAClCS,KAAK,EAAE;MAAEN,KAAK,EAAE,MAAM;MAAEF,MAAM,EAAE;IAAO,CAAE;IACzC,eAAY,MAAM;IAClBI,SAAS,EAAC;EAAO,gBAEjB3E,MAAA,YAAAqE,aAAA;IACEO,CAAC,EAAC,6bAA6b;IAC/bF,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,SAASM,OAAOA,CAAAC,IAAA,EAQb;EAAA,IAAAC,qBAAA;EAAA,IAPDC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACAC,QAAQ,GAAAL,IAAA,CAArBM,WAAW;IACXC,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;IACjBC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;EAEhB,IAAAC,SAAA,GAAoC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA5CI,UAAU,GAAAF,UAAA;IAAEG,aAAa,GAAAH,UAAA;EAChC,IAAMN,WAAW,GAAGD,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,CAAC,CAAC;EAElC,IAAMW,WAAW,GAAG,IAAAC,sBAAc,EAAC;IACjCf,MAAM,EAANA,MAAM;IACNgB,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,GAAG,EAAK;MAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,qBAAA,EAAAC,YAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,KAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MACjB,IAAAC,KAAA,GAAsB,EAAAvC,WAAA,GAAAD,GAAG,CAACjB,MAAM,cAAAkB,WAAA,uBAAVA,WAAA,CAAYwC,KAAK,KAAI,CAAC,CAAC;QAArCC,SAAS,GAAAF,KAAA,CAATE,SAAS;MAEjB,IAAIC,WAAW;MAEf,IAAI,GAAAzC,YAAA,GAACF,GAAG,CAACjB,MAAM,cAAAmB,YAAA,eAAVA,YAAA,CAAY0C,cAAc,GAAE;QAC/B,OAAO,CAAC,CAAC;MACX;MAEA,IAAIF,SAAS,YAAYG,+BAAa,EAAE;QACtCF,WAAW,GAAGD,SAAS,CAACI,IAAI,CAAC,CAAC;MAChC;MAEA,IAAMC,kBAAkB,GACtB,EAAA5C,YAAA,GAAAH,GAAG,CAACjB,MAAM,cAAAoB,YAAA,uBAAVA,YAAA,CAAY6C,QAAQ,CAAC,MAAM,CAAC,OAAA5C,YAAA,GAC5BJ,GAAG,CAACjB,MAAM,cAAAqB,YAAA,uBAAVA,YAAA,CAAY4C,QAAQ,CAAC,+BAA+B,CAAC,OAAA3C,YAAA,GACrDL,GAAG,CAACjB,MAAM,cAAAsB,YAAA,uBAAVA,YAAA,CAAY2C,QAAQ,CAAC,iBAAiB,CAAC,OAAA1C,YAAA,GACvCN,GAAG,CAACjB,MAAM,cAAAuB,YAAA,uBAAVA,YAAA,CAAY0C,QAAQ,CAAC,mBAAmB,CAAC;MAE3C,IAAMC,uBAAuB,GAAGP,SAAS,IAAIA,SAAS,CAACQ,KAAK,KAAK,KAAK,IAAIlD,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,OAAO,CAAC;MAEtG,OAAO;QACLL,WAAW,EAAXA,WAAW;QACXI,kBAAkB,EAAlBA,kBAAkB;QAClBE,uBAAuB,EAAvBA,uBAAuB;QACvBE,SAAS,GAAA5C,YAAA,GAAEP,GAAG,CAACjB,MAAM,cAAAwB,YAAA,uBAAVA,YAAA,CAAY4C,SAAS;QAChCC,aAAa,GAAA5C,qBAAA,IAAAC,YAAA,GAAET,GAAG,CAACjB,MAAM,cAAA0B,YAAA,uBAAVA,YAAA,CAAY4C,cAAc,cAAA7C,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAClD8C,MAAM,GAAA5C,oBAAA,GAAEV,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,MAAM,CAAC,cAAAtC,oBAAA,cAAAA,oBAAA,GAAI,KAAK;QAC5C6C,OAAO,GAAA5C,qBAAA,GAAEX,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,cAAAhD,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAC7DiD,OAAO,GAAAhD,qBAAA,GAAEZ,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,OAAO,CAAC,cAAApC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAC9CiD,cAAc,GAAAhD,KAAA,GAAE,EAAAC,qBAAA,GAAAd,GAAG,CAACjB,MAAM,CAAC+E,aAAa,CAAC,OAAO,CAAC,cAAAhD,qBAAA,uBAAjCA,qBAAA,CAAmCiD,MAAM,MAAK,GAAG,cAAAlD,KAAA,cAAAA,KAAA,GAAI,KAAK;QAC1EmD,QAAQ,GAAAjD,sBAAA,GAAEf,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACQ,WAAW,CAAC,CAAC,CAACN,GAAG,CAAC,CAAC,cAAA5C,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QAC/DmD,QAAQ,GAAAlD,qBAAA,GAAEhB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,QAAQ,CAAC,cAAAhC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAChDmD,SAAS,GAAAlD,sBAAA,GAAEjB,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACW,YAAY,CAAC,CAAC,CAACT,GAAG,CAAC,CAAC,cAAA1C,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEoD,QAAQ,GAAAnD,qBAAA,GAAElB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,QAAQ,CAAC,cAAA9B,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAChDoD,SAAS,GAAAnD,sBAAA,GAAEnB,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACc,YAAY,CAAC,CAAC,CAACZ,GAAG,CAAC,CAAC,cAAAxC,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEqD,MAAM,GAAApD,qBAAA,GAAEpB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,MAAM,CAAC,cAAA5B,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAC5CqD,OAAO,GAAApD,sBAAA,GAAErB,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACiB,UAAU,CAAC,CAAC,CAACf,GAAG,CAAC,CAAC,cAAAtC,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QAC7DsD,aAAa,GAAArD,sBAAA,GAAEtB,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACmB,aAAa,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,cAAArC,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACtEuD,WAAW,GAAAtD,qBAAA,GAAEvB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,WAAW,CAAC,cAAAzB,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACtDuD,WAAW,GAAAtD,qBAAA,GAAExB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,WAAW,CAAC,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACtDuD,aAAa,GAAAtD,qBAAA,GAAEzB,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,aAAa,CAAC,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAC1DuD,WAAW,GAAAtD,qBAAA,GAAE1B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,WAAW,CAAC,cAAAtB,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACtDuD,UAAU,GAAAtD,qBAAA,GAAE3B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAAvD,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACjEwD,UAAU,GAAAvD,qBAAA,GAAE5B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAAtD,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACjEwD,UAAU,GAAAvD,sBAAA,GAAE7B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAArD,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEwD,kBAAkB,GAAAvD,sBAAA,GAAE9B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,kBAAkB,CAAC,cAAAlB,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACpEwD,UAAU,GAAAvD,sBAAA,GAAE/B,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAAnD,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEwD,UAAU,GAAAvD,sBAAA,GAAEhC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAAlD,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEwD,UAAU,GAAAvD,sBAAA,GAAEjC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,SAAS,EAAE;UAAEkC,KAAK,EAAE;QAAE,CAAC,CAAC,cAAAjD,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACjEwD,YAAY,GAAAvD,sBAAA,GAAElC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,YAAY,CAAC,cAAAd,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACxDwD,aAAa,GAAAvD,sBAAA,GAAEnC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,aAAa,CAAC,cAAAb,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QAC1DwD,WAAW,GAAAvD,sBAAA,GAAEpC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,WAAW,CAAC,cAAAZ,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACtDwD,YAAY,GAAAvD,sBAAA,GAAErC,GAAG,CAACjB,MAAM,CAACiE,QAAQ,CAAC,YAAY,CAAC,cAAAX,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACxDwD,OAAO,GAAAvD,sBAAA,GAAEtC,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACqC,IAAI,CAAC,CAAC,CAACnC,GAAG,CAAC,CAAC,cAAArB,sBAAA,cAAAA,sBAAA,GAAI,KAAK;QACvDyD,OAAO,GAAAxD,sBAAA,GAAEvC,GAAG,CAACjB,MAAM,CAACyE,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAACuC,IAAI,CAAC,CAAC,CAACrC,GAAG,CAAC,CAAC,cAAApB,sBAAA,cAAAA,sBAAA,GAAI;MACpD,CAAC;IACH;EACF,CAAC,CAAC;EAEF,IAAM0D,aAAa,GAAG,KAAK;EAC3B,IAAMC,SAAS,GAAG,CAAC,CAAC5G,gBAAgB;EAEpC,IAAM6G,KAAK,GAAG,IAAAC,sBAAU,EAACpH,OAAO,CAACqH,OAAO,EAAEC,6BAAkB,MAAAzI,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBACzDmB,OAAO,CAACuH,iBAAiB,EAAG,CAACN,aAAa,GAC1CjH,OAAO,CAACwH,UAAU,EAAGrH,WAAW,CAACsH,QAAQ,KAAK,KAAK,GACnDzH,OAAO,CAAC0H,YAAY,EAAGvH,WAAW,CAACwH,SAAS,KAAK,OAAO,GACxD3H,OAAO,CAAC4H,OAAO,EACdzH,WAAW,CAAC0H,aAAa,IACxBhH,WAAW,CAACsD,SAAS,IAAI,CAACtD,WAAW,CAACuD,aAAa,IAAI,CAACvD,WAAW,CAACkD,kBAAmB,GACzF/D,OAAO,CAACkH,SAAS,EAAGA,SAAS,GAC7BlH,OAAO,CAAC8H,SAAS,EAAG,CAACZ,SAAS,GAC9BlH,OAAO,CAAC+H,MAAM,EAAG5H,WAAW,CAAC6H,QAAQ,KAAK,IAAI,CAChD,CAAC;EAEF,IAAMC,YAAY,GAAG9H,WAAW,CAAC+H,QAAQ,KAAKC,SAAS,GAAG;IAAED,QAAQ,EAAE/H,WAAW,CAAC+H;EAAS,CAAC,GAAG,CAAC,CAAC;EAEjG,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAItL,CAAC,EAAK;IAC7BA,CAAC,CAACuL,cAAc,CAAC,CAAC;EACpB,CAAC;EAED,IAAMC,cAAc,GAAG,IAAAC,cAAO,EAC5B;IAAA,OAAM,CACJ;MACEC,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACzD,OAAA,WAAM,MAAE,CAAC;MAChBiN,KAAK,EAAE,cAAc;MACrBC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC1D,WAAW,CAAC;UAAE2D,IAAI,EAAE,CAAC;UAAEC,IAAI,EAAE,CAAC;UAAEC,aAAa,EAAE;QAAM,CAAC,CAAC,CAACnE,GAAG,CAAC,CAAC;MAAA;MACzGoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAACxD,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,OAAO,CAAC,KAAItF,KAAK,CAACmB,OAAO;MAAA;MACrEZ,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtC,WAAA,CAAAsM,MAAM,MAAE,CAAC;MAChBR,KAAK,EAAE,eAAe;MACtBC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACO,WAAW,CAAC,CAAC,CAACvE,GAAG,CAAC,CAAC;MAAA;MAC/DoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtC,WAAA,CAAAwM,SAAS,MAAE,CAAC;MACnBV,KAAK,EAAE,kBAAkB;MACzBC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACS,SAAS,CAAC,CAAC,CAACzE,GAAG,CAAC,CAAC;MAAA;MAC7DoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtC,WAAA,CAAA0M,SAAS,MAAE,CAAC;MACnBZ,KAAK,EAAE,kBAAkB;MACzBC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACW,cAAc,CAAC,CAAC,CAAC3E,GAAG,CAAC,CAAC;MAAA;MAClEoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtC,WAAA,CAAA4M,YAAY,MAAE,CAAC;MACtBd,KAAK,EAAE,qBAAqB;MAC5BC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACa,YAAY,CAAC,CAAC,CAAC7E,GAAG,CAAC,CAAC;MAAA;MAChEoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtC,WAAA,CAAA8M,WAAW,MAAE,CAAC;MACrBhB,KAAK,EAAE,cAAc;MACrBC,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACe,WAAW,CAAC,CAAC,CAAC/E,GAAG,CAAC,CAAC;MAAA;MAC/DoD,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmB,OAAO;MAAA;MAClCoE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC9C,UAAA,WAAS,MAAE,CAAC;MACnBsM,KAAK,EAAE,eAAe;MACtBkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM,EAAK;QACnB,IAAM6J,UAAU,GAAG7J,MAAM,CAAC+E,aAAa,CAAC,OAAO,CAAC;QAEhD,IAAM+E,MAAM,GAAApL,aAAA,CAAAA,aAAA,KACPmL,UAAU;UACb7E,MAAM,EAAE6E,UAAU,CAAC7E,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG;QAAG,EAC9C;QAEDhF,MAAM,CAAC+J,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEF,MAAM,CAAC;MACnD,CAAC;MACD9B,MAAM,EAAE,SAARA,MAAMA,CAAGtE,KAAK;QAAA,OAAK,EAAEA,KAAK,CAACmB,OAAO,IAAI,CAACnB,KAAK,CAACQ,uBAAuB,CAAC;MAAA;MACrED,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACoB,cAAc;MAAA;MACzCmE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACuB,QAAQ;MAAA;IACxC,CAAC,EACD;MACEwD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC7D,WAAA,WAAI,MAAE,CAAC;MACdqN,KAAK,EAAE,MAAM;MACbkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACjE,UAAU,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC;MAAA;MAC9DoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,MAAM,CAAC;MAAA;MAC9C/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACa,MAAM;MAAA;MACjC0E,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACc,OAAO;MAAA;IACvC,CAAC,EACD;MACEiE,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC5D,aAAA,WAAM,MAAE,CAAC;MAChBoN,KAAK,EAAE,QAAQ;MACfkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACvD,YAAY,CAAC,CAAC,CAACT,GAAG,CAAC,CAAC;MAAA;MAChEoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,QAAQ,CAAC;MAAA;MAChD/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACyB,QAAQ;MAAA;MACnC8D,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAAC0B,SAAS;MAAA;IACzC,CAAC,EACD;MACEqD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC3D,oBAAA,WAAa,MAAE,CAAC;MACvBmN,KAAK,EAAE,eAAe;MACtBkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACpD,YAAY,CAAC,CAAC,CAACZ,GAAG,CAAC,CAAC;MAAA;MAChEoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,eAAe,CAAC;MAAA;MACvD/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAAC4B,QAAQ;MAAA;MACnC2D,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAAC6B,SAAS;MAAA;IACzC,CAAC,EACD;MACEkD,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC1D,KAAA,WAAI,MAAE,CAAC;MACdkN,KAAK,EAAE,MAAM;MACbkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACjD,UAAU,CAAC,CAAC,CAACf,GAAG,CAAC,CAAC;MAAA;MAC9DoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,MAAM,CAAC;MAAA;MAC9C/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAAC+B,MAAM;MAAA;MACjCwD,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACgC,OAAO;MAAA;IACvC,CAAC,EACD;MACE+C,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACtD,iBAAA,WAAS,MAAE,CAAC;MACnB8M,KAAK,EAAE,WAAW;MAClBkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACqB,eAAe,CAAC,CAAC,CAACrF,GAAG,CAAC,CAAC;MAAA;MACnEoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,WAAW,CAAC;MAAA;MACnD/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACoC,WAAW;MAAA;IACxC,CAAC,EACD;MACE2C,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACQ,aAAa,MAAE,CAAC;MACvBgJ,KAAK,EAAE,WAAW;MAClBkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACsB,eAAe,CAAC,CAAC,CAACtF,GAAG,CAAC,CAAC;MAAA;MACnEoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,WAAW,CAAC;MAAA;MACnD/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACqC,WAAW;MAAA;IACxC,CAAC,EACD;MACE0C,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACD,eAAe,MAAE,CAAC;MACzByJ,KAAK,EAAE,aAAa;MACpBkB,MAAM,EAAE,IAAI;MACZjB,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACuB,iBAAiB,CAAC,CAAC,CAACvF,GAAG,CAAC,CAAC;MAAA;MACrEoD,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,aAAa,CAAC;MAAA;MACrD/E,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACsC,aAAa;MAAA;IAC1C,CAAC,EACD;MACEyC,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACpD,MAAA,WAAS,MAAE,CAAC;MACnB4M,KAAK,EAAE,cAAc;MACrBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,OAAO,CAAC;MAAA;MAC/CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACwB,kBAAkB,CAAC,CAAC,CAACxF,GAAG,CAAC,CAAC;MAAA;IACxE,CAAC,EACD;MACE6D,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAChD,SAAA,WAAY,MAAE,CAAC;MACtBwM,KAAK,EAAE,cAAc;MACrBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,OAAO,CAAC;MAAA;MAC/CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACyB,WAAW,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC,CAAC1F,GAAG,CAAC,CAAC;MAAA;IAClF,CAAC,EACD;MACE6D,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAC/C,SAAA,WAAY,MAAE,CAAC;MACtBuM,KAAK,EAAE,cAAc;MACrBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,OAAO,CAAC;MAAA;MAC/CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACyB,WAAW,CAAC;UAAEC,IAAI,EAAE,OAAO;UAAEC,GAAG,EAAE;QAAQ,CAAC,CAAC,CAAC3F,GAAG,CAAC,CAAC;MAAA;IAChG,CAAC,EACD;MACE6D,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACvC,QAAA,WAAO,MAAE,CAAC;MACjB+L,KAAK,EAAE,aAAa;MACpBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,KAAK,CAAC;MAAA;MAC7CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC+J,QAAQ,CAACS,kBAAkB,CAAC,CAAC;MAAA;IAC3D,CAAC,EACD;MACE/B,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACjD,YAAA,WAAW,MAAE,CAAC;MACrByM,KAAK,EAAE,YAAY;MACnBkB,MAAM,EAAE,IAAI;MACZ5B,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,YAAY,CAAC;MAAA;MACpDL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC6B,gBAAgB,CAAC,CAAC,CAAC7F,GAAG,CAAC,CAAC;MAAA;MACpEX,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACmD,YAAY;MAAA;IACzC,CAAC,EACD;MACE4B,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACS,WAAW,MAAE,CAAC;MACrB+I,KAAK,EAAE,SAAS;MAChBkB,MAAM,EAAE,IAAI;MACZ5B,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,IAAI,CAAC;MAAA;MAC5CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC8B,sBAAsB,CAAC,CAAC,CAAC9F,GAAG,CAAC,CAAC;MAAA;MAC1EX,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAAC4C,kBAAkB;MAAA;IAC/C,CAAC,EACD;MACEmC,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACrD,UAAA,WAAS,MAAE,CAAC;MACnB6M,KAAK,EAAE,aAAa;MACpBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,MAAM,CAAC;MAAA;MAC9CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC+B,UAAU,CAAC,EAAE,CAAC,CAAC/F,GAAG,CAAC,CAAC;MAAA;IAClE,CAAC,EACD;MACE6D,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACrC,gBAAA,CAAA+N,aAAa;QAACC,MAAM,EAAC;MAAG,CAAE,CAAC;MAClCnC,KAAK,EAAE,wBAAwB;MAC/BV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,oBAAoB,CAAC;MAAA;MAC5DL,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQ9H,aAAa,CAACiK,6BAAa,CAAC;MAAA;IAC7C,CAAC,EACD;MACErC,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACrC,gBAAA,CAAA+N,aAAa;QAACC,MAAM,EAAC;MAAG,CAAE,CAAC;MAClCnC,KAAK,EAAE,wBAAwB;MAC/BV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,CAAA9H,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE5B,MAAM,CAAC,UAACyM,CAAC;UAAA,OAAKA,CAAC,KAAK,oBAAoB;QAAA,EAAC,CAACnM,MAAM,MAAK,CAAC;MAAA;MACnF+J,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQ9H,aAAa,CAACmK,6BAAa,CAAC;MAAA;IAC7C,CAAC,EACD;MACEvC,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACxC,UAAA,WAAa;QAACsD,MAAM,EAAEA;MAAO,CAAE,CAAC;MACvC0I,KAAK,EAAE,gBAAgB;MACvBV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,YAAY,CAAC;MAAA;MACpDL,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ,CAAC;IAClB,CAAC,EACD;MACEF,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACxD,mBAAA,WAAgB,MAAE,CAAC;MAC1BgN,KAAK,EAAE,eAAe;MACtBkB,MAAM,EAAE,IAAI;MACZ5B,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,eAAe,CAAC;MAAA;MACvDL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACqC,gBAAgB,CAAC,CAAC,CAACrG,GAAG,CAAC,CAAC;MAAA;MACpEX,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACgD,YAAY;MAAA;IACzC,CAAC,EACD;MACE+B,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACvD,mBAAA,WAAgB,MAAE,CAAC;MAC1B+M,KAAK,EAAE,eAAe;MACtBkB,MAAM,EAAE,IAAI;MACZ5B,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,eAAe,CAAC;MAAA;MACvDL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAACsC,iBAAiB,CAAC,CAAC,CAACtG,GAAG,CAAC,CAAC;MAAA;MACrEX,QAAQ,EAAE,SAAVA,QAAQA,CAAGP,KAAK;QAAA,OAAKA,KAAK,CAACiD,aAAa;MAAA;IAC1C,CAAC,EACD;MACE8B,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAAClD,KAAA,WAAI,MAAE,CAAC;MACd0M,KAAK,EAAE,MAAM;MACbV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,MAAM,CAAC;MAAA;MAC9CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC7B,IAAI,CAAC,CAAC,CAACnC,GAAG,CAAC,CAAC;MAAA;MACxDqE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACoD,OAAO;MAAA;IACvC,CAAC,EACD;MACE2B,IAAI,eAAE5N,MAAA,YAAAqE,aAAA,CAACnD,KAAA,WAAI,MAAE,CAAC;MACd2M,KAAK,EAAE,MAAM;MACbV,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQ,EAAC9H,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE8I,QAAQ,CAAC,MAAM,CAAC;MAAA;MAC9CL,OAAO,EAAE,SAATA,OAAOA,CAAG3I,MAAM;QAAA,OAAKA,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC3B,IAAI,CAAC,CAAC,CAACrC,GAAG,CAAC,CAAC;MAAA;MACxDqE,UAAU,EAAE,SAAZA,UAAUA,CAAGvF,KAAK;QAAA,OAAK,CAACA,KAAK,CAACsD,OAAO;MAAA;IACvC,CAAC,CACF;EAAA,GACD,CAAC9G,aAAa,EAAEF,MAAM,CACxB,CAAC;EAED,IAAMmL,wBAAwB,GAC5BrK,WAAW,CAACkD,kBAAkB,IAAI,EAAAjE,qBAAA,GAAAe,WAAW,CAAC8C,WAAW,cAAA7D,qBAAA,gBAAAA,qBAAA,GAAvBA,qBAAA,CAAyBuK,IAAI,cAAAvK,qBAAA,uBAA7BA,qBAAA,CAA+BqL,IAAI,MAAK,mBAAmB;EAE/F,oBACEvQ,MAAA,YAAAqE,aAAA;IAAKmM,SAAS,EAAEjE,KAAM;IAACxH,KAAK,EAAAlB,aAAA,KAAOwJ,YAAY,CAAG;IAACoD,WAAW,EAAEjD;EAAgB,GAC7E8C,wBAAwB,iBACvBtQ,MAAA,YAAAqE,aAAA;IAAKmM,SAAS,EAAEpL,OAAO,CAACsL,cAAe;IAACC,QAAQ,EAAC;EAAG,gBAClD3Q,MAAA,YAAAqE,aAAA;IAAKmM,SAAS,EAAEpL,OAAO,CAACwL;EAAiB,gBACvC5Q,MAAA,YAAAqE,aAAA;IACEoL,IAAI,EAAC,QAAQ;IACbe,SAAS,EAAEpL,OAAO,CAACyL,MAAO;IAC1B/C,OAAO,EAAE,SAATA,OAAOA,CAAG5L,CAAC,EAAK;MACdA,CAAC,CAACuL,cAAc,CAAC,CAAC;MAClBtI,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC+C,eAAe,CAAC,CAAC,CAAC/G,GAAG,CAAC,CAAC;MAC9CtE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGN,MAAM,CAAC4L,OAAO,CAAC,CAAC,CAAC;IAC9B,CAAE;IACF,cAAW,sBAAsB;IACjCC,KAAK,EAAC;EAAsB,gBAE5BhR,MAAA,YAAAqE,aAAA,CAAC7C,OAAA,WAAM,MAAE,CACH,CACL,CACF,CACN,EACA,CAACyE,WAAW,CAACkD,kBAAkB,iBAC9BnJ,MAAA,YAAAqE,aAAA;IAAKmM,SAAS,EAAEpL,OAAO,CAACsL,cAAe;IAACC,QAAQ,EAAC;EAAG,gBAClD3Q,MAAA,YAAAqE,aAAA;IAAKmM,SAAS,EAAEpL,OAAO,CAACwL;EAAiB,GACtClD,cAAc,CACZjK,MAAM,CAAC,UAACwN,GAAG;IAAA,IAAAC,WAAA;IAAA,OAAK,GAAAA,WAAA,GAACD,GAAG,CAAC9D,MAAM,cAAA+D,WAAA,eAAVA,WAAA,CAAAhO,IAAA,CAAA+N,GAAG,EAAUhL,WAAW,CAAC;EAAA,EAAC,CAC3CkL,GAAG,CAAC,UAACF,GAAG,EAAEG,KAAK,EAAK;IAAA,IAAAC,eAAA,EAAAC,aAAA;IACnB,IAAMC,QAAQ,IAAAF,eAAA,GAAGJ,GAAG,CAAC7C,UAAU,cAAAiD,eAAA,uBAAdA,eAAA,CAAAnO,IAAA,CAAA+N,GAAG,EAAchL,WAAW,CAAC;IAC9C,IAAMuL,MAAM,IAAAF,aAAA,GAAGL,GAAG,CAAC7H,QAAQ,cAAAkI,aAAA,uBAAZA,aAAA,CAAApO,IAAA,CAAA+N,GAAG,EAAYhL,WAAW,CAAC;IAE1C,oBACEjG,MAAA,YAAAqE,aAAA;MACEoN,GAAG,EAAEL,KAAM;MACX3B,IAAI,EAAC,QAAQ;MACb8B,QAAQ,EAAEA,QAAS;MACnB,cAAYN,GAAG,CAACpD,KAAM;MACtBmD,KAAK,EAAEC,GAAG,CAACpD,KAAM;MACjB,gBAAcoD,GAAG,CAAClC,MAAM,GAAG,CAAC,CAACyC,MAAM,GAAGjE,SAAU;MAChDO,OAAO,EAAE,SAATA,OAAOA,CAAG5L,CAAC,EAAK;QACdA,CAAC,CAACuL,cAAc,CAAC,CAAC;QAClBwD,GAAG,CAACnD,OAAO,CAAC3I,MAAM,CAAC;MACrB,CAAE;MACFqL,SAAS,EAAE,IAAAhE,sBAAU,EAACpH,OAAO,CAACyL,MAAM,MAAA5M,gBAAA,iBAAKmB,OAAO,CAACoM,MAAM,EAAGA,MAAM,CAAE;IAAE,GAEnEP,GAAG,CAACrD,IACC,CAAC;EAEb,CAAC,CACA,CAAC,EACL,CAAAvI,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE8I,QAAQ,CAAC,cAAc,CAAC,kBACtCnO,MAAA,YAAAqE,aAAA;IACEoL,IAAI,EAAC,QAAQ;IACb,cAAW,sBAAsB;IACjCuB,KAAK,EAAC,sBAAsB;IAC5BlD,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;MACb3I,MAAM,CAAC0E,KAAK,CAAC,CAAC,CAACkE,KAAK,CAAC,CAAC,CAAC2D,kBAAkB,CAAClM,iBAAiB,CAACiK,IAAI,CAAC,CAAC1F,GAAG,CAAC,CAAC;IACzE,CAAE;IACFyG,SAAS,EAAEpL,OAAO,CAACyL;EAAO,gBAE1B7Q,MAAA,YAAAqE,aAAA,CAAC1C,YAAA,CAAAgQ,WAAW,MAAE,CACR,CACT,EAEApM,WAAW,CAACqM,QAAQ,iBACnB5R,MAAA,YAAAqE,aAAA,CAACpC,WAAA,CAAA4P,UAAU;IACT/D,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;MACbrI,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGN,MAAM,CAAC4L,OAAO,CAAC,CAAC,CAAC;MAC5B5L,MAAM,CAAC+J,QAAQ,CAAC4C,IAAI,CAAC,CAAC;IACxB;EAAE,CACH,CAEA,CACN,EACA/L,UAAU,iBACT/F,MAAA,YAAAqE,aAAA,CAACrC,gBAAA,CAAA+P,eAAe;IACd5M,MAAM,EAAEA,MAAO;IACf6M,IAAI,EAAAnO,aAAA,CAAAA,aAAA,KACCkC,UAAU;MACbkM,aAAa,EAAE,SAAfA,aAAaA,CAAGC,EAAE,EAAEC,EAAE;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEF,EAAE,CAAC;MAAA;MAC1DG,YAAY,EAAE,SAAdA,YAAYA,CAAA;QAAA,OAAQF,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAAA;IAAA,EAChD;IACFE,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQvM,aAAa,CAAC,KAAK,CAAC;IAAA;EAAC,CACrC,CAEA,CAAC;AAEV;;AAEA;AACA,IAAMwM,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;EAC/B,IAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EAExB,IAAMvN,OAAO,GAAG;IACdsL,cAAc,EAAE,gBAAgB;IAChCE,gBAAgB,EAAE,kBAAkB;IACpCC,MAAM,EAAE,eAAe;IACvBW,MAAM,EAAE,QAAQ;IAChBD,QAAQ,EAAE,UAAU;IACpBnI,QAAQ,EAAE,UAAU;IACpBqD,OAAO,EAAE,SAAS;IAClBE,iBAAiB,EAAE,mBAAmB;IACtCC,UAAU,EAAE,YAAY;IACxBE,YAAY,EAAE,cAAc;IAC5BI,SAAS,EAAE,WAAW;IACtBC,MAAM,EAAE,QAAQ;IAChBb,SAAS,EAAE,WAAW;IACtBU,OAAO,EAAE,SAAS;IAClB4F,QAAQ,EAAE,UAAU;IACpB/E,KAAK,EAAE,OAAO;IACdgF,MAAM,EAAE;EACV,CAAC;EAED,oBACE7S,MAAA,YAAAqE,aAAA,CAACyO,iBAAiB,qBAChB9S,MAAA,YAAAqE,aAAA,CAACW,OAAO,MAAA+N,SAAA,iBAAKN,KAAK;IAAErN,OAAO,EAAEA;EAAQ,EAAE,CACtB,CAAC;AAExB,CAAC;AAED,IAAM0N,iBAAiB,GAAG,IAAAE,cAAM,EAAC,KAAK,CAAC,CAAC;EAAA,OAAO;IAC7C,mBAAmB,EAAE;MACnBC,OAAO,EAAE,MAAM;MACfxO,KAAK,EAAE,MAAM;MACbyO,cAAc,EAAE;IAClB,CAAC;IACD,qBAAqB,EAAE;MACrBC,UAAU,EAAE,QAAQ;MACpBF,OAAO,EAAE,MAAM;MACfxO,KAAK,EAAE;IACT,CAAC;IACD,kBAAkB,EAAE;MAClB2O,KAAK,EAAE,MAAM;MACbH,OAAO,EAAE,aAAa;MACtBI,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,MAAM;MAClBnJ,MAAM,EAAE,MAAM;MACdoJ,MAAM,EAAE,SAAS;MACjB;MACA,OAAO,EAAE;QACP9O,KAAK,EAAE,MAAM;QACbF,MAAM,EAAE;MACV,CAAC;MACD,SAAS,EAAE;QACT6O,KAAK,EAAEA,eAAK,CAACI,IAAI,CAAC;MACpB,CAAC;MACD,SAAS,EAAE;QACT;AACN;AACA;AACA;AACA;AACA;QACMC,OAAO,eAAAC,MAAA,CAAeN,eAAK,CAACO,kBAAkB,CAAC,CAAC;MAClD;IACF,CAAC;IACD,WAAW,EAAE;MACXP,KAAK,EAAEA,eAAK,CAACI,IAAI,CAAC;IACpB,CAAC;IACD,aAAa,EAAE;MACbI,OAAO,EAAE,GAAG;MACZL,MAAM,EAAE,aAAa;MACrB,UAAU,EAAE;QACVH,KAAK,EAAEA,eAAK,CAAC7B,QAAQ,CAAC;MACxB;IACF,CAAC;IACD,aAAa,EAAE;MACb+B,UAAU,EAAE,eAAe;MAC3BF,KAAK,EAAE;IACT,CAAC;IACD,YAAY,EAAE;MACZvG,QAAQ,EAAE,UAAU;MACpBgH,MAAM,EAAE,EAAE;MACVN,MAAM,EAAE,SAAS;MACjBL,cAAc,EAAE,eAAe;MAC/BI,UAAU,EAAE,0CAA0C;MACtDhG,QAAQ,EAAE,OAAO;MACjBwG,MAAM,EAAE,WAAW;MACnBT,OAAO,EAAE,KAAK;MACdU,SAAS,EACP,+GAA+G;MACjHC,SAAS,EAAE,YAAY;MACvBf,OAAO,EAAE,MAAM;MACfW,OAAO,EAAE,CAAC;MACVK,aAAa,EAAE;IACjB,CAAC;IACD,sBAAsB,EAAE;MACtB3G,QAAQ,EAAE;IACZ,CAAC;IACD,eAAe,EAAE;MACf4G,GAAG,EAAE;IACP,CAAC;IACD,iBAAiB,EAAE;MACjBC,KAAK,EAAE;IACT,CAAC;IACD,cAAc,EAAE;MACd1P,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX2P,UAAU,EAAE;IACd,CAAC;IACD,cAAc,EAAE;MACd3P,KAAK,EAAE;IACT,CAAC;IACD,YAAY,EAAE;MACZmP,OAAO,EAAE,CAAC;MACVK,aAAa,EAAE;IACjB,CAAC;IACD,aAAa,EAAE;MACbxP,KAAK,EAAE,MAAM;MACbF,MAAM,EAAE,MAAM;MACd8O,OAAO,EAAE,KAAK;MACdgB,aAAa,EAAE;IACjB,CAAC;IACD,UAAU,EAAE;MACVjB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACXH,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,cAEW/B,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MenuBar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styles","_prosemirrorState","_renderUi","_FormatBold","_FormatItalic","_FormatStrikethrough","_Code","_GridOn","_FormatListBulleted","_FormatListNumbered","_FormatUnderlined","_Functions","_Image","_Redo","_Undo","_FormatQuote","_Theaters","_VolumeUp","_BorderAll","_Delete","_react2","_constants","_ToolbarIcon","_characterUtils","_TextAlign","_CssIcon","_TableIcons","_CharacterPicker","_doneButton","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","SuperscriptIcon","createElement","xmlns","height","viewBox","width","fill","focusable","d","SubscriptIcon","HeadingIcon","style","MenuBar","_ref","_editorState$currentN","editor","classes","activePlugins","toolOpts","toolbarOpts","responseAreaProps","onChange","autoWidthToolbar","_useState","useState","_useState2","_slicedToArray2","showPicker","setShowPicker","editorState","useEditorState","selector","ctx","_ctx$editor","_ctx$editor2","_ctx$editor3","_ctx$editor4","_ctx$editor5","_ctx$editor6","_ctx$editor7","_ctx$editor$_toolbarO","_ctx$editor8","_ctx$editor$isActive","_ctx$editor$can$chain","_ctx$editor$isActive2","_ref3","_ctx$editor$getAttrib","_ctx$editor$can$chain2","_ctx$editor$isActive3","_ctx$editor$can$chain3","_ctx$editor$isActive4","_ctx$editor$can$chain4","_ctx$editor$isActive5","_ctx$editor$can$chain5","_ctx$editor$can$chain6","_ctx$editor$isActive6","_ctx$editor$isActive7","_ctx$editor$isActive8","_ctx$editor$isActive9","_ctx$editor$isActive0","_ctx$editor$isActive1","_ctx$editor$isActive10","_ctx$editor$isActive11","_ctx$editor$isActive12","_ctx$editor$isActive13","_ctx$editor$isActive14","_ctx$editor$isActive15","_ctx$editor$isActive16","_ctx$editor$isActive17","_ctx$editor$isActive18","_ctx$editor$can$chain7","_ctx$editor$can$chain8","_ref2","state","selection","currentNode","commandManager","NodeSelection","node","hideDefaultToolbar","isActive","hasTextSelectionInTable","empty","isFocused","toolbarOpened","_toolbarOpened","isBold","canBold","can","chain","toggleBold","run","isTable","tableHasBorder","getAttributes","border","canTable","insertTable","isItalic","canItalic","toggleItalic","isStrike","canStrike","toggleStrike","isCode","canCode","toggleCode","canClearMarks","unsetAllMarks","isUnderline","isSubScript","isSuperScript","isParagraph","isHeading1","level","isHeading2","isHeading3","isHeadingParagraph","isHeading4","isHeading5","isHeading6","isBulletList","isOrderedList","isCodeBlock","isBlockquote","canUndo","undo","canRedo","redo","hasDoneButton","autoWidth","names","classNames","toolbar","PIE_TOOLBAR__CLASS","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","alwaysVisible","fullWidth","hidden","isHidden","customStyles","minWidth","undefined","handleMouseDown","preventDefault","toolbarButtons","useMemo","icon","label","onClick","focus","rows","cols","withHeaderRow","includes","isDisabled","AddRow","addRowAfter","RemoveRow","deleteRow","AddColumn","addColumnAfter","RemoveColumn","deleteColumn","RemoveTable","deleteTable","toggle","tableAttrs","update","commands","updateAttributes","toggleUnderline","toggleSubscript","toggleSuperscript","setImageUploadNode","insertMedia","type","tag","openCSSClassDialog","toggleBlockquote","toggleHeadingParagraph","insertMath","CharacterIcon","letter","spanishConfig","p","specialConfig","toggleBulletList","toggleOrderedList","isDragInTheBlankSelected","name","className","onMouseDown","defaultToolbar","tabIndex","buttonsContainer","button","deleteSelection","getHTML","title","btn","_btn$hidden","map","index","_btn$isDisabled","_btn$isActive","disabled","active","key","insertResponseArea","ToolbarIcon","showDone","DoneButton","blur","CharacterPicker","opts","renderPopOver","ev","ch","console","log","closePopOver","onClose","StyledMenuBar","props","theme","useTheme","iconRoot","shared","StyledMenuBarRoot","_extends2","styled","overflow","display","justifyContent","alignItems","color","padding","background","cursor","text","outline","concat","buttonFocusOutline","opacity","top","zIndex","margin","boxShadow","boxSizing","pointerEvents","right","visibility","verticalAlign","_default","exports"],"sources":["../../src/components/MenuBar.jsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { NodeSelection } from 'prosemirror-state';\nimport { color } from '@pie-lib/render-ui';\n\nimport Bold from '@mui/icons-material/FormatBold';\nimport Italic from '@mui/icons-material/FormatItalic';\nimport Strikethrough from '@mui/icons-material/FormatStrikethrough';\nimport Code from '@mui/icons-material/Code';\nimport GridOn from '@mui/icons-material/GridOn';\nimport BulletedListIcon from '@mui/icons-material/FormatListBulleted';\nimport NumberedListIcon from '@mui/icons-material/FormatListNumbered';\nimport Underline from '@mui/icons-material/FormatUnderlined';\nimport Functions from '@mui/icons-material/Functions';\nimport ImageIcon from '@mui/icons-material/Image';\nimport Redo from '@mui/icons-material/Redo';\nimport Undo from '@mui/icons-material/Undo';\nimport FormatQuote from '@mui/icons-material/FormatQuote';\nimport TheatersIcon from '@mui/icons-material/Theaters';\nimport VolumeUpIcon from '@mui/icons-material/VolumeUp';\nimport BorderAll from '@mui/icons-material/BorderAll';\nimport Delete from '@mui/icons-material/Delete';\n\nimport { useEditorState } from '@tiptap/react';\n\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { ToolbarIcon } from './respArea/ToolbarIcon';\nimport { spanishConfig, specialConfig } from './characters/characterUtils';\nimport TextAlignIcon from './icons/TextAlign';\nimport CSSIcon from './icons/CssIcon';\nimport { AddColumn, AddRow, RemoveColumn, RemoveRow, RemoveTable } from './icons/TableIcons';\n\nimport { CharacterIcon, CharacterPicker } from './CharacterPicker';\nimport { DoneButton } from './common/done-button';\n\nconst SuperscriptIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M22,7h-2v1h3v1h-4V7c0-0.55,0.45-1,1-1h2V5h-3V4h3c0.55,0,1,0.45,1,1v1C23,6.55,22.55,7,22,7z M5.88,20h2.66l3.4-5.42h0.12 l3.4,5.42h2.66l-4.65-7.27L17.81,6h-2.68l-3.07,4.99h-0.12L8.85,6H6.19l4.32,6.73L5.88,20z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SubscriptIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M22,18h-2v1h3v1h-4v-2c0-0.55,0.45-1,1-1h2v-1h-3v-1h3c0.55,0,1,0.45,1,1v1C23,17.55,22.55,18,22,18z M5.88,18h2.66 l3.4-5.42h0.12l3.4,5.42h2.66l-4.65-7.27L17.81,4h-2.68l-3.07,4.99h-0.12L8.85,4H6.19l4.32,6.73L5.88,18z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst HeadingIcon = () => (\n <svg\n width=\"30\"\n height=\"28\"\n viewBox=\"0 0 30 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width: '20px', height: '18px' }}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M27 4V24H29C29.5 24 30 24.5 30 25V27C30 27.5625 29.5 28 29 28H19C18.4375 28 18 27.5625 18 27V25C18 24.5 18.4375 24 19 24H21V16H9V24H11C11.5 24 12 24.5 12 25V27C12 27.5625 11.5 28 11 28H1C0.4375 28 0 27.5625 0 27V25C0 24.5 0.4375 24 1 24H3V4H1C0.4375 4 0 3.5625 0 3V1C0 0.5 0.4375 0 1 0H11C11.5 0 12 0.5 12 1V3C12 3.5625 11.5 4 11 4H9V12H21V4H19C18.4375 4 18 3.5625 18 3V1C18 0.5 18.4375 0 19 0H29C29.5 0 30 0.5 30 1V3C30 3.5625 29.5 4 29 4H27Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nfunction MenuBar({\n editor,\n classes,\n activePlugins,\n toolbarOpts: toolOpts,\n responseAreaProps,\n onChange,\n autoWidthToolbar,\n}) {\n const [showPicker, setShowPicker] = useState(false);\n const toolbarOpts = toolOpts ?? {};\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => {\n const { selection } = ctx.editor?.state || {};\n\n let currentNode;\n\n if (!ctx.editor?.commandManager) {\n return {};\n }\n\n if (selection instanceof NodeSelection) {\n currentNode = selection.node; // the selected node\n }\n\n const hideDefaultToolbar =\n ctx.editor?.isActive('math') ||\n ctx.editor?.isActive('explicit_constructed_response') ||\n ctx.editor?.isActive('imageUploadNode') ||\n ctx.editor?.isActive('drag_in_the_blank');\n\n const hasTextSelectionInTable = selection && selection.empty === false && ctx.editor.isActive('table');\n\n return {\n currentNode,\n hideDefaultToolbar,\n hasTextSelectionInTable,\n isFocused: ctx.editor?.isFocused,\n toolbarOpened: ctx.editor?._toolbarOpened ?? false,\n isBold: ctx.editor.isActive('bold') ?? false,\n canBold: ctx.editor.can().chain().toggleBold().run() ?? false,\n isTable: ctx.editor.isActive('table') ?? false,\n tableHasBorder: ctx.editor.getAttributes('table')?.border === '1' ?? false,\n canTable: ctx.editor.can().chain().insertTable().run() ?? false,\n isItalic: ctx.editor.isActive('italic') ?? false,\n canItalic: ctx.editor.can().chain().toggleItalic().run() ?? false,\n isStrike: ctx.editor.isActive('strike') ?? false,\n canStrike: ctx.editor.can().chain().toggleStrike().run() ?? false,\n isCode: ctx.editor.isActive('code') ?? false,\n canCode: ctx.editor.can().chain().toggleCode().run() ?? false,\n canClearMarks: ctx.editor.can().chain().unsetAllMarks().run() ?? false,\n isUnderline: ctx.editor.isActive('underline') ?? false,\n isSubScript: ctx.editor.isActive('subscript') ?? false,\n isSuperScript: ctx.editor.isActive('superscript') ?? false,\n isParagraph: ctx.editor.isActive('paragraph') ?? false,\n isHeading1: ctx.editor.isActive('heading', { level: 1 }) ?? false,\n isHeading2: ctx.editor.isActive('heading', { level: 2 }) ?? false,\n isHeading3: ctx.editor.isActive('heading', { level: 3 }) ?? false,\n isHeadingParagraph: ctx.editor.isActive('headingParagraph') ?? false,\n isHeading4: ctx.editor.isActive('heading', { level: 4 }) ?? false,\n isHeading5: ctx.editor.isActive('heading', { level: 5 }) ?? false,\n isHeading6: ctx.editor.isActive('heading', { level: 6 }) ?? false,\n isBulletList: ctx.editor.isActive('bulletList') ?? false,\n isOrderedList: ctx.editor.isActive('orderedList') ?? false,\n isCodeBlock: ctx.editor.isActive('codeBlock') ?? false,\n isBlockquote: ctx.editor.isActive('blockquote') ?? false,\n canUndo: ctx.editor.can().chain().undo().run() ?? false,\n canRedo: ctx.editor.can().chain().redo().run() ?? false,\n };\n },\n });\n\n const hasDoneButton = false;\n const autoWidth = !!autoWidthToolbar;\n\n const names = classNames(classes.toolbar, PIE_TOOLBAR__CLASS, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]:\n toolbarOpts.alwaysVisible ||\n (editorState.isFocused && !editorState.toolbarOpened && !editorState.hideDefaultToolbar),\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth,\n [classes.hidden]: toolbarOpts.isHidden === true,\n });\n\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n const handleMouseDown = (e) => {\n e.preventDefault();\n };\n\n const toolbarButtons = useMemo(\n () => [\n {\n icon: <GridOn />,\n label: 'Insert table',\n onClick: (editor) => editor.chain().focus().insertTable({ rows: 2, cols: 2, withHeaderRow: false }).run(),\n hidden: (state) => !activePlugins?.includes('table') || state.isTable,\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddRow />,\n label: 'Add table row',\n onClick: (editor) => editor.chain().focus().addRowAfter().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveRow />,\n label: 'Remove table row',\n onClick: (editor) => editor.chain().focus().deleteRow().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <AddColumn />,\n label: 'Add table column',\n onClick: (editor) => editor.chain().focus().addColumnAfter().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveColumn />,\n label: 'Remove table column',\n onClick: (editor) => editor.chain().focus().deleteColumn().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <RemoveTable />,\n label: 'Remove table',\n onClick: (editor) => editor.chain().focus().deleteTable().run(),\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.isTable,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <BorderAll />,\n label: 'Table borders',\n toggle: true,\n onClick: (editor) => {\n const tableAttrs = editor.getAttributes('table');\n\n const update = {\n ...tableAttrs,\n border: tableAttrs.border !== '0' ? '0' : '1',\n };\n\n editor.commands.updateAttributes('table', update);\n },\n hidden: (state) => !(state.isTable && !state.hasTextSelectionInTable),\n isActive: (state) => state.tableHasBorder,\n isDisabled: (state) => !state.canTable,\n },\n {\n icon: <Bold />,\n label: 'Bold',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleBold().run(),\n hidden: () => !activePlugins?.includes('bold'),\n isActive: (state) => state.isBold,\n isDisabled: (state) => !state.canBold,\n },\n {\n icon: <Italic />,\n label: 'Italic',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleItalic().run(),\n hidden: () => !activePlugins?.includes('italic'),\n isActive: (state) => state.isItalic,\n isDisabled: (state) => !state.canItalic,\n },\n {\n icon: <Strikethrough />,\n label: 'Strikethrough',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleStrike().run(),\n hidden: () => !activePlugins?.includes('strikethrough'),\n isActive: (state) => state.isStrike,\n isDisabled: (state) => !state.canStrike,\n },\n {\n icon: <Code />,\n label: 'Code',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleCode().run(),\n hidden: () => !activePlugins?.includes('code'),\n isActive: (state) => state.isCode,\n isDisabled: (state) => !state.canCode,\n },\n {\n icon: <Underline />,\n label: 'Underline',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleUnderline().run(),\n hidden: () => !activePlugins?.includes('underline'),\n isActive: (state) => state.isUnderline,\n },\n {\n icon: <SubscriptIcon />,\n label: 'Subscript',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleSubscript().run(),\n hidden: () => !activePlugins?.includes('subscript'),\n isActive: (state) => state.isSubScript,\n },\n {\n icon: <SuperscriptIcon />,\n label: 'Superscript',\n toggle: true,\n onClick: (editor) => editor.chain().focus().toggleSuperscript().run(),\n hidden: () => !activePlugins?.includes('superscript'),\n isActive: (state) => state.isSuperScript,\n },\n {\n icon: <ImageIcon />,\n label: 'Insert image',\n hidden: () => !activePlugins?.includes('image'),\n onClick: (editor) => editor.chain().focus().setImageUploadNode().run(),\n },\n {\n icon: <TheatersIcon />,\n label: 'Insert video',\n hidden: () => !activePlugins?.includes('video'),\n onClick: (editor) => editor.chain().focus().insertMedia({ type: 'video' }).run(),\n },\n {\n icon: <VolumeUpIcon />,\n label: 'Insert audio',\n hidden: () => !activePlugins?.includes('audio'),\n onClick: (editor) => editor.chain().focus().insertMedia({ type: 'audio', tag: 'audio' }).run(),\n },\n {\n icon: <CSSIcon />,\n label: 'CSS classes',\n hidden: () => !activePlugins?.includes('css'),\n onClick: (editor) => editor.commands.openCSSClassDialog(),\n },\n {\n icon: <FormatQuote />,\n label: 'Blockquote',\n toggle: true,\n hidden: () => !activePlugins?.includes('blockquote'),\n onClick: (editor) => editor.chain().focus().toggleBlockquote().run(),\n isActive: (state) => state.isBlockquote,\n },\n {\n icon: <HeadingIcon />,\n label: 'Heading',\n toggle: true,\n hidden: () => !activePlugins?.includes('h3'),\n onClick: (editor) => editor.chain().focus().toggleHeadingParagraph().run(),\n isActive: (state) => state.isHeadingParagraph,\n },\n {\n icon: <Functions />,\n label: 'Insert math',\n hidden: () => !activePlugins?.includes('math'),\n onClick: (editor) => editor.chain().focus().insertMath('').run(),\n },\n {\n icon: <CharacterIcon letter=\"ñ\" />,\n label: 'Spanish characters (ñ)',\n hidden: () => !activePlugins?.includes('languageCharacters'),\n onClick: () => setShowPicker(spanishConfig),\n },\n {\n icon: <CharacterIcon letter=\"€\" />,\n label: 'Special characters (€)',\n hidden: () => activePlugins?.filter((p) => p === 'languageCharacters').length !== 2,\n onClick: () => setShowPicker(specialConfig),\n },\n {\n icon: <TextAlignIcon editor={editor} />,\n label: 'Text alignment',\n hidden: () => !activePlugins?.includes('text-align'),\n onClick: () => {},\n },\n {\n icon: <BulletedListIcon />,\n label: 'Bulleted list',\n toggle: true,\n hidden: () => !activePlugins?.includes('bulleted-list'),\n onClick: (editor) => editor.chain().focus().toggleBulletList().run(),\n isActive: (state) => state.isBulletList,\n },\n {\n icon: <NumberedListIcon />,\n label: 'Numbered list',\n toggle: true,\n hidden: () => !activePlugins?.includes('numbered-list'),\n onClick: (editor) => editor.chain().focus().toggleOrderedList().run(),\n isActive: (state) => state.isOrderedList,\n },\n {\n icon: <Undo />,\n label: 'Undo',\n hidden: () => !activePlugins?.includes('undo'),\n onClick: (editor) => editor.chain().focus().undo().run(),\n isDisabled: (state) => !state.canUndo,\n },\n {\n icon: <Redo />,\n label: 'Redo',\n hidden: () => !activePlugins?.includes('redo'),\n onClick: (editor) => editor.chain().focus().redo().run(),\n isDisabled: (state) => !state.canRedo,\n },\n ],\n [activePlugins, editor],\n );\n\n const isDragInTheBlankSelected =\n editorState.hideDefaultToolbar && editorState.currentNode?.type?.name === 'drag_in_the_blank';\n\n return (\n <div className={names} style={{ ...customStyles }} onMouseDown={handleMouseDown}>\n {isDragInTheBlankSelected && (\n <div className={classes.defaultToolbar} tabIndex=\"1\">\n <div className={classes.buttonsContainer}>\n <button\n type=\"button\"\n className={classes.button}\n onClick={(e) => {\n e.preventDefault();\n editor.chain().focus().deleteSelection().run();\n onChange?.(editor.getHTML());\n }}\n aria-label=\"Delete response area\"\n title=\"Delete response area\"\n >\n <Delete />\n </button>\n </div>\n </div>\n )}\n {!editorState.hideDefaultToolbar && (\n <div className={classes.defaultToolbar} tabIndex=\"1\">\n <div className={classes.buttonsContainer}>\n {toolbarButtons\n .filter((btn) => !btn.hidden?.(editorState))\n .map((btn, index) => {\n const disabled = btn.isDisabled?.(editorState);\n const active = btn.isActive?.(editorState);\n\n return (\n <button\n key={index}\n type=\"button\"\n disabled={disabled}\n aria-label={btn.label}\n title={btn.label}\n aria-pressed={btn.toggle ? !!active : undefined}\n onClick={(e) => {\n e.preventDefault();\n btn.onClick(editor);\n }}\n className={classNames(classes.button, { [classes.active]: active })}\n >\n {btn.icon}\n </button>\n );\n })}\n </div>\n {activePlugins?.includes('responseArea') && (\n <button\n type=\"button\"\n aria-label=\"Insert response area\"\n title=\"Insert response area\"\n onClick={() => {\n editor.chain().focus().insertResponseArea(responseAreaProps.type).run();\n }}\n className={classes.button}\n >\n <ToolbarIcon />\n </button>\n )}\n\n {toolbarOpts.showDone && (\n <DoneButton\n onClick={() => {\n onChange?.(editor.getHTML());\n editor.commands.blur();\n }}\n />\n )}\n </div>\n )}\n {showPicker && (\n <CharacterPicker\n editor={editor}\n opts={{\n ...showPicker,\n renderPopOver: (ev, ch) => console.log('Show popover', ch),\n closePopOver: () => console.log('Close popover'),\n }}\n onClose={() => setShowPicker(false)}\n />\n )}\n </div>\n );\n}\n\n// Wrapper component that provides classes object using styled API\nconst StyledMenuBar = (props) => {\n const theme = useTheme();\n\n const classes = {\n defaultToolbar: 'defaultToolbar',\n buttonsContainer: 'buttonsContainer',\n button: 'toolbarButton',\n active: 'active',\n disabled: 'disabled',\n isActive: 'isActive',\n toolbar: 'toolbar',\n toolbarWithNoDone: 'toolbarWithNoDone',\n toolbarTop: 'toolbarTop',\n toolbarRight: 'toolbarRight',\n fullWidth: 'fullWidth',\n hidden: 'hidden',\n autoWidth: 'autoWidth',\n focused: 'focused',\n iconRoot: 'iconRoot',\n label: 'label',\n shared: 'shared',\n };\n\n return (\n <StyledMenuBarRoot>\n <MenuBar {...props} classes={classes} />\n </StyledMenuBarRoot>\n );\n};\n\nconst StyledMenuBarRoot = styled('div')(() => ({\n // A zero-height slot the toolbar overflows out of, so the toolbar rides normal flow while the\n // root's geometry stays as it was.\n height: 0,\n overflow: 'visible',\n '& .defaultToolbar': {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n '& .buttonsContainer': {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n '& .toolbarButton': {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n // previously we had implicit 24×24 icon rendering for mui svg icons, but now we need to explicitly set the size to 24×24 to match the previous behavior\n '& svg': {\n width: '24px',\n height: '24px',\n },\n '&:hover': {\n color: color.text(),\n },\n '&:focus': {\n /*\n * A focus ring is the one thing a keyboard user cannot do without, so it takes\n * the registered focus token rather than a grey. `--pie-button-focus-outline`\n * measures at least 3.68:1 against every scheme's own background; MUI's\n * grey[700] fell to 1.28:1 on yellow-on-navy.\n */\n outline: `2px solid ${color.buttonFocusOutline()}`,\n },\n },\n '& .active': {\n color: color.text(),\n },\n '& .disabled': {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: color.disabled(),\n },\n },\n '& .isActive': {\n background: 'var(--purple)',\n color: 'var(--white)',\n },\n '& .toolbar': {\n // Offset from its own in-flow position: no containing block and no static position to resolve,\n // either of which a lockdown browser extension can get wrong as the editor grows.\n position: 'relative',\n top: '5px',\n zIndex: 20,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: 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: 0,\n pointerEvents: 'none',\n },\n '& .toolbarWithNoDone': {\n minWidth: '265px',\n },\n '& .toolbarTop': {\n // Anchored to the root's top, which never depended on the editor's height.\n position: 'absolute',\n top: '-45px',\n },\n '& .toolbarRight': {\n right: 0,\n },\n '& .fullWidth': {\n width: '100%',\n },\n '& .hidden': {\n visibility: 'hidden',\n },\n '& .autoWidth': {\n width: 'auto',\n },\n '& .focused': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n '& .iconRoot': {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n },\n '& .label': {\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n },\n '& .shared': {\n display: 'flex',\n },\n}));\n\nexport default StyledMenuBar;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.1.
|
|
6
|
+
"version": "2.1.18",
|
|
7
7
|
"description": "",
|
|
8
8
|
"license": "ISC",
|
|
9
9
|
"main": "lib/index.js",
|
|
@@ -59,6 +59,6 @@
|
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"react": "^18.2.0"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "4b34d09e9d44b93b8238c1818fc6997c8fb696da",
|
|
63
63
|
"scripts": {}
|
|
64
64
|
}
|
|
@@ -602,6 +602,8 @@ describe('EditableHtml', () => {
|
|
|
602
602
|
});
|
|
603
603
|
|
|
604
604
|
expect(lastEditorAttributes()).toEqual({
|
|
605
|
+
role: 'textbox',
|
|
606
|
+
'data-pie-editor': 'true',
|
|
605
607
|
spellcheck: 'false',
|
|
606
608
|
autocorrect: 'off',
|
|
607
609
|
autocapitalize: 'off',
|
|
@@ -616,6 +618,8 @@ describe('EditableHtml', () => {
|
|
|
616
618
|
});
|
|
617
619
|
|
|
618
620
|
expect(lastEditorAttributes()).toEqual({
|
|
621
|
+
role: 'textbox',
|
|
622
|
+
'data-pie-editor': 'true',
|
|
619
623
|
spellcheck: 'true',
|
|
620
624
|
autocorrect: 'on',
|
|
621
625
|
autocapitalize: 'on',
|
|
@@ -650,7 +654,13 @@ describe('EditableHtml', () => {
|
|
|
650
654
|
|
|
651
655
|
expect(editor.setOptions).toHaveBeenCalledWith({
|
|
652
656
|
editorProps: expect.objectContaining({
|
|
653
|
-
attributes: {
|
|
657
|
+
attributes: {
|
|
658
|
+
role: 'textbox',
|
|
659
|
+
'data-pie-editor': 'true',
|
|
660
|
+
spellcheck: 'false',
|
|
661
|
+
autocorrect: 'off',
|
|
662
|
+
autocapitalize: 'off',
|
|
663
|
+
},
|
|
654
664
|
}),
|
|
655
665
|
});
|
|
656
666
|
});
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, waitFor } from '@testing-library/react';
|
|
3
|
+
import { EditableHtml } from '../components/EditableHtml';
|
|
4
|
+
|
|
5
|
+
const renderEditor = (props) =>
|
|
6
|
+
render(<EditableHtml markup="<p>hello</p>" onChange={() => {}} pluginProps={{}} {...props} />);
|
|
7
|
+
|
|
8
|
+
const prosemirror = (container) => container.querySelector('.ProseMirror');
|
|
9
|
+
|
|
10
|
+
const waitForEditor = async (container) => {
|
|
11
|
+
await waitFor(() => {
|
|
12
|
+
expect(prosemirror(container)).toBeInTheDocument();
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
describe('contenteditable attributes', () => {
|
|
17
|
+
// PIE-1015: 2.1.17 lost role="textbox" on a plain mount, because setEditable re-pushes
|
|
18
|
+
// editorProps through setOptions and ProseMirror drops any attribute no longer listed.
|
|
19
|
+
it('announces the editor as a textbox on a plain mount', async () => {
|
|
20
|
+
const { container } = renderEditor();
|
|
21
|
+
|
|
22
|
+
await waitForEditor(container);
|
|
23
|
+
|
|
24
|
+
expect(prosemirror(container).getAttribute('role')).toBe('textbox');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// PIE-1016: a PIE-owned hook external consumers can target, unlike role or .tiptap.ProseMirror.
|
|
28
|
+
it('exposes the PIE-owned editor hook on a plain mount', async () => {
|
|
29
|
+
const { container } = renderEditor();
|
|
30
|
+
|
|
31
|
+
await waitForEditor(container);
|
|
32
|
+
|
|
33
|
+
expect(prosemirror(container).getAttribute('data-pie-editor')).toBe('true');
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('keeps both attributes when spellCheck changes on a mounted editor', async () => {
|
|
37
|
+
const { container, rerender } = renderEditor({ spellCheck: true });
|
|
38
|
+
|
|
39
|
+
await waitForEditor(container);
|
|
40
|
+
|
|
41
|
+
rerender(<EditableHtml markup="<p>hello</p>" onChange={() => {}} pluginProps={{}} spellCheck={false} />);
|
|
42
|
+
|
|
43
|
+
await waitFor(() => {
|
|
44
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
expect(prosemirror(container).getAttribute('role')).toBe('textbox');
|
|
48
|
+
expect(prosemirror(container).getAttribute('data-pie-editor')).toBe('true');
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('keeps both attributes when the editor is disabled on a mounted editor', async () => {
|
|
52
|
+
const { container, rerender } = renderEditor();
|
|
53
|
+
|
|
54
|
+
await waitForEditor(container);
|
|
55
|
+
|
|
56
|
+
rerender(<EditableHtml markup="<p>hello</p>" onChange={() => {}} pluginProps={{}} disabled />);
|
|
57
|
+
|
|
58
|
+
await waitFor(() => {
|
|
59
|
+
expect(prosemirror(container).getAttribute('contenteditable')).toBe('false');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
expect(prosemirror(container).getAttribute('role')).toBe('textbox');
|
|
63
|
+
expect(prosemirror(container).getAttribute('data-pie-editor')).toBe('true');
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Online Testing queries [data-pie-editor][contenteditable="true"] to attach its answer-save
|
|
67
|
+
// listener, so a read-only render has to carry the hook but not match that selector.
|
|
68
|
+
it('marks a read-only editor as not editable so the hook can be filtered on it', async () => {
|
|
69
|
+
const { container } = renderEditor({ disabled: true });
|
|
70
|
+
|
|
71
|
+
await waitForEditor(container);
|
|
72
|
+
|
|
73
|
+
expect(prosemirror(container).getAttribute('data-pie-editor')).toBe('true');
|
|
74
|
+
expect(prosemirror(container).getAttribute('contenteditable')).toBe('false');
|
|
75
|
+
expect(container.querySelector('[data-pie-editor][contenteditable="true"]')).toBeNull();
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -96,12 +96,23 @@ const cssVariables = {
|
|
|
96
96
|
0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,
|
|
97
97
|
};
|
|
98
98
|
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
// Attributes PIE puts on the editor's contenteditable element.
|
|
100
|
+
//
|
|
101
|
+
// ProseMirror rebuilds the element's attribute set from editorProps.attributes on every view
|
|
102
|
+
// update and removes anything no longer listed, and Tiptap merges its own role="textbox" only in
|
|
103
|
+
// createView - not into editor.options, which is what setOptions re-pushes. So every attribute we
|
|
104
|
+
// want to survive has to be listed here. See PIE-1015.
|
|
105
|
+
const editorAttributes = (spellCheckEnabled) => ({
|
|
106
|
+
// Tiptap's own attribute, re-declared so it survives setOptions. setEditable alone re-pushes
|
|
107
|
+
// editorProps on every mount, which is what removed it in 2.1.17.
|
|
108
|
+
role: 'textbox',
|
|
109
|
+
// PIE-owned hook for external consumers - see PIE-1016. Query [data-pie-editor], or
|
|
110
|
+
// [data-pie-editor][contenteditable="true"] to skip read-only renders.
|
|
111
|
+
'data-pie-editor': 'true',
|
|
112
|
+
// Without these the browser spellchecks the editor regardless of the spellCheck prop.
|
|
113
|
+
spellcheck: spellCheckEnabled ? 'true' : 'false',
|
|
114
|
+
autocorrect: spellCheckEnabled ? 'on' : 'off',
|
|
115
|
+
autocapitalize: spellCheckEnabled ? 'on' : 'off',
|
|
105
116
|
});
|
|
106
117
|
|
|
107
118
|
export const EditableHtml = (props) => {
|
|
@@ -320,7 +331,7 @@ export const EditableHtml = (props) => {
|
|
|
320
331
|
extensions,
|
|
321
332
|
immediatelyRender: false,
|
|
322
333
|
editorProps: {
|
|
323
|
-
attributes:
|
|
334
|
+
attributes: editorAttributes(spellCheckEnabled),
|
|
324
335
|
handleKeyDown(view, event) {
|
|
325
336
|
if (props.onKeyDown) {
|
|
326
337
|
return props.onKeyDown(event);
|
|
@@ -366,15 +377,16 @@ export const EditableHtml = (props) => {
|
|
|
366
377
|
|
|
367
378
|
// useEditor only re-applies options on its own when it is called with an empty dependency
|
|
368
379
|
// array, and this call site depends on charactersLimit, so a spellCheck change on a mounted
|
|
369
|
-
// editor has to be pushed in.
|
|
370
|
-
//
|
|
380
|
+
// editor has to be pushed in. The rest of editorProps stays as the editor already has it, and
|
|
381
|
+
// the attributes are merged rather than replaced so an attribute contributed by Tiptap or an
|
|
382
|
+
// extension can't be dropped the way role="textbox" was - see PIE-1015.
|
|
371
383
|
useEffect(() => {
|
|
372
384
|
if (!editor) {
|
|
373
385
|
return;
|
|
374
386
|
}
|
|
375
387
|
|
|
376
388
|
const currentEditorProps = editor.options?.editorProps;
|
|
377
|
-
const attributes =
|
|
389
|
+
const attributes = { ...currentEditorProps?.attributes, ...editorAttributes(spellCheckEnabled) };
|
|
378
390
|
|
|
379
391
|
if (currentEditorProps?.attributes?.spellcheck === attributes.spellcheck) {
|
|
380
392
|
return;
|
|
@@ -530,6 +530,10 @@ const StyledMenuBar = (props) => {
|
|
|
530
530
|
};
|
|
531
531
|
|
|
532
532
|
const StyledMenuBarRoot = styled('div')(() => ({
|
|
533
|
+
// A zero-height slot the toolbar overflows out of, so the toolbar rides normal flow while the
|
|
534
|
+
// root's geometry stays as it was.
|
|
535
|
+
height: 0,
|
|
536
|
+
overflow: 'visible',
|
|
533
537
|
'& .defaultToolbar': {
|
|
534
538
|
display: 'flex',
|
|
535
539
|
width: '100%',
|
|
@@ -580,13 +584,16 @@ const StyledMenuBarRoot = styled('div')(() => ({
|
|
|
580
584
|
color: 'var(--white)',
|
|
581
585
|
},
|
|
582
586
|
'& .toolbar': {
|
|
583
|
-
position:
|
|
587
|
+
// Offset from its own in-flow position: no containing block and no static position to resolve,
|
|
588
|
+
// either of which a lockdown browser extension can get wrong as the editor grows.
|
|
589
|
+
position: 'relative',
|
|
590
|
+
top: '5px',
|
|
584
591
|
zIndex: 20,
|
|
585
592
|
cursor: 'pointer',
|
|
586
593
|
justifyContent: 'space-between',
|
|
587
594
|
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
588
595
|
minWidth: '280px',
|
|
589
|
-
margin:
|
|
596
|
+
margin: 0,
|
|
590
597
|
padding: '2px',
|
|
591
598
|
boxShadow:
|
|
592
599
|
'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)',
|
|
@@ -599,6 +606,8 @@ const StyledMenuBarRoot = styled('div')(() => ({
|
|
|
599
606
|
minWidth: '265px',
|
|
600
607
|
},
|
|
601
608
|
'& .toolbarTop': {
|
|
609
|
+
// Anchored to the root's top, which never depended on the editor's height.
|
|
610
|
+
position: 'absolute',
|
|
602
611
|
top: '-45px',
|
|
603
612
|
},
|
|
604
613
|
'& .toolbarRight': {
|