@pie-lib/editable-html 12.1.1-next.0 → 12.1.1-next.1
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/lib/block-tags.js +0 -1
- package/lib/block-tags.js.map +1 -1
- package/lib/constants.js +0 -1
- package/lib/constants.js.map +1 -1
- package/lib/editor.js +6 -37
- package/lib/editor.js.map +1 -1
- package/lib/index.js +0 -16
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js +0 -3
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +0 -1
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +6 -21
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +0 -2
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/css/icons/index.js +0 -1
- package/lib/plugins/css/icons/index.js.map +1 -1
- package/lib/plugins/css/index.js +0 -12
- package/lib/plugins/css/index.js.map +1 -1
- package/lib/plugins/customPlugin/index.js +0 -11
- package/lib/plugins/customPlugin/index.js.map +1 -1
- package/lib/plugins/html/icons/index.js +0 -1
- package/lib/plugins/html/icons/index.js.map +1 -1
- package/lib/plugins/html/index.js +0 -1
- package/lib/plugins/html/index.js.map +1 -1
- package/lib/plugins/image/alt-dialog.js +0 -5
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +0 -14
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +0 -3
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +0 -14
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +0 -1
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +4 -22
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +0 -12
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +3 -18
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +0 -13
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +0 -18
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +0 -2
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +0 -2
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/rendering/index.js +0 -10
- package/lib/plugins/rendering/index.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -17
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/utils.js +0 -10
- package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +0 -10
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +2 -13
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -1
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/math-templated/index.js +0 -1
- package/lib/plugins/respArea/math-templated/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +0 -6
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/CustomTablePlugin.js +0 -7
- package/lib/plugins/table/CustomTablePlugin.js.map +1 -1
- package/lib/plugins/table/icons/index.js +0 -2
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +0 -18
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +0 -15
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/textAlign/icons/index.js +0 -15
- package/lib/plugins/textAlign/icons/index.js.map +1 -1
- package/lib/plugins/textAlign/index.js +0 -1
- package/lib/plugins/textAlign/index.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +0 -14
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +0 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -12
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +0 -1
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -12
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +2 -16
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +0 -3
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +5 -29
- package/lib/serialization.js.map +1 -1
- package/lib/shared/alert-dialog.js +0 -1
- package/lib/theme.js +0 -1
- package/lib/theme.js.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/editor-utils.test.js +1 -1
- package/src/editor.jsx +18 -22
- package/src/index.jsx +2 -2
- package/src/plugins/characters/index.jsx +2 -2
- package/src/plugins/html/icons/index.jsx +1 -3
- package/src/plugins/html/index.jsx +2 -10
- package/src/plugins/image/__tests__/component.test.jsx +1 -1
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +1 -5
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -1
- package/src/plugins/image/__tests__/index.test.js +0 -3
- package/src/plugins/image/alt-dialog.jsx +4 -3
- package/src/plugins/index.jsx +1 -2
- package/src/plugins/list/__tests__/index.test.js +0 -2
- package/src/plugins/list/index.jsx +6 -6
- package/src/plugins/math/__tests__/index.test.jsx +1 -1
- package/src/plugins/math/index.jsx +2 -2
- package/src/plugins/media/media-dialog.js +6 -23
- package/src/plugins/media/media-toolbar.jsx +2 -8
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +11 -33
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +26 -26
- package/src/plugins/respArea/index.jsx +1 -1
- package/src/plugins/table/__tests__/index.test.jsx +5 -5
- package/src/plugins/table/index.jsx +1 -6
- package/src/plugins/table/table-toolbar.jsx +1 -1
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +2 -6
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +2 -2
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +1 -1
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +1 -1
- package/src/plugins/toolbar/done-button.jsx +1 -6
- package/src/plugins/toolbar/editor-and-toolbar.jsx +2 -7
- package/src/plugins/toolbar/toolbar.jsx +4 -3
- package/src/serialization.jsx +6 -6
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_editor","_interopRequireWildcard","_serialization","_parseHtml","_constants","_slate","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","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","EditableHtml","exports","_React$Component","props","_this","_classCallCheck2","markup","v","htmlToValue","reduceMultipleBrs","setState","value","done","html","valueToHtml","htmlParsed","parseDegrees","onChange","onDone","position","node","select","undefined","editorRef","change","c","lastText","document","getNextText","key","getLastText","editorDOM","querySelector","concat","activeElement","blur","focus","_lastText$text","_lastText$text2","moveFocusTo","text","moveAnchorTo","_lastText$text3","range","Range","fromJSON","anchorKey","anchorOffset","focusKey","focusOffset","isFocused","isBackward","onEditingDone","extraCSSRules","assign","extraCSSRulesOpts","state","_inherits2","_createClass2","componentWillReceiveProps","allowValidation","current","equals","render","_this2","_this$props","toolbarOpts","error","runSerializationOnMarkup","createElement","_extends2","onRef","ref","rootRef","React","Component","PropTypes","any","func","isRequired","string","bool","object","shape","names","arrayOf","rules"],"sources":["../src/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Editor, { DEFAULT_PLUGINS, ALL_PLUGINS } from './editor';\nimport { extraCSSRulesOpts, htmlToValue, valueToHtml, reduceMultipleBrs } from './serialization';\nimport { parseDegrees } from './parse-html';\nimport constants from './constants';\nimport { Range } from 'slate';\n\n/**\n * Wrapper around the editor that exposes a `markup` and `onChange(markup:string)` api.\n * Because of the mismatch between the markup and the `Value` we need to convert the incoming markup to a value and\n * compare it. TODO: This is an interim fix, we'll need to strip back `Editor` and look how best to maintain the\n * `markup` api whilst avoiding the serialization mismatch. We should be making better use of schemas w/ normalize.\n */\nexport default class EditableHtml extends React.Component {\n static propTypes = {\n error: PropTypes.any,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func,\n markup: PropTypes.string.isRequired,\n allowValidation: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n };\n\n static defaultProps = {\n onDone: () => {},\n allowValidation: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.extraCSSRules) {\n Object.assign(extraCSSRulesOpts, this.props.extraCSSRules);\n }\n\n const v = htmlToValue(props.markup);\n this.state = {\n value: v,\n };\n }\n\n // eslint-disable-next-line react/no-deprecated\n componentWillReceiveProps(props) {\n if (!props.allowValidation && props.markup === this.props.markup) {\n return;\n }\n\n const v = htmlToValue(props.markup);\n const current = htmlToValue(this.props.markup);\n\n if (v.equals && !v.equals(current)) {\n this.setState({ value: v });\n }\n }\n\n runSerializationOnMarkup = () => {\n if (!this.props.markup) {\n return;\n }\n\n const v = htmlToValue(reduceMultipleBrs(this.props.markup));\n\n this.setState({ value: v });\n };\n\n onChange = (value, done) => {\n const html = valueToHtml(value);\n const htmlParsed = parseDegrees(html);\n\n if (htmlParsed !== this.props.markup && this.props.onChange) {\n this.props.onChange(htmlParsed);\n }\n\n if (done && this.props.onDone) {\n this.props.onDone(htmlParsed);\n }\n };\n\n focus = (position, node, select = false) => {\n if (this.editorRef) {\n this.editorRef.change((c) => {\n const lastText = node ? c.value.document.getNextText(node.key) : c.value.document.getLastText();\n const editorDOM = document.querySelector(`[data-key=\"${this.editorRef.value.document.key}\"]`);\n\n if (editorDOM !== document.activeElement) {\n document.activeElement.blur();\n }\n\n c.focus();\n\n if (position === 'end' && lastText) {\n c.moveFocusTo(lastText.key, lastText.text?.length).moveAnchorTo(lastText.key, lastText.text?.length);\n if (select) {\n const range = Range.fromJSON({\n anchorKey: lastText.key,\n anchorOffset: 0,\n focusKey: lastText.key,\n focusOffset: lastText.text?.length,\n isFocused: true,\n isBackward: false,\n });\n c.select(range);\n }\n }\n\n if (position === 'beginning' && lastText) {\n c.moveFocusTo(lastText.key, 0).moveAnchorTo(lastText.key, 0);\n }\n editorDOM.focus();\n });\n }\n };\n\n finishEditing = () => {\n if (this.editorRef) {\n this.editorRef.props.onEditingDone();\n }\n };\n\n render() {\n const { value } = this.state;\n const { toolbarOpts, error } = this.props;\n\n if (toolbarOpts) {\n toolbarOpts.error = error;\n }\n\n const props = {\n ...this.props,\n markup: null,\n value,\n onChange: this.onChange,\n focus: this.focus,\n runSerializationOnMarkup: this.runSerializationOnMarkup,\n };\n\n return (\n <Editor\n onRef={(ref) => {\n if (ref) {\n this.rootRef = ref;\n }\n }}\n editorRef={(ref) => ref && (this.editorRef = ref)}\n {...props}\n />\n );\n }\n}\n\n/**\n * Export lower level Editor and serialization functions.\n */\nexport { htmlToValue, valueToHtml, Editor, DEFAULT_PLUGINS, ALL_PLUGINS, constants };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_editor","_interopRequireWildcard","_serialization","_parseHtml","_constants","_slate","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","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","EditableHtml","exports","_React$Component","props","_this","_classCallCheck2","markup","v","htmlToValue","reduceMultipleBrs","setState","value","done","html","valueToHtml","htmlParsed","parseDegrees","onChange","onDone","position","node","select","undefined","editorRef","change","c","lastText","document","getNextText","key","getLastText","editorDOM","querySelector","concat","activeElement","blur","focus","_lastText$text","_lastText$text2","moveFocusTo","text","moveAnchorTo","_lastText$text3","range","Range","fromJSON","anchorKey","anchorOffset","focusKey","focusOffset","isFocused","isBackward","onEditingDone","extraCSSRules","assign","extraCSSRulesOpts","state","_inherits2","_createClass2","componentWillReceiveProps","allowValidation","current","equals","render","_this2","_this$props","toolbarOpts","error","runSerializationOnMarkup","createElement","_extends2","onRef","ref","rootRef","React","Component","PropTypes","any","func","isRequired","string","bool","object","shape","names","arrayOf","rules"],"sources":["../src/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Editor, { ALL_PLUGINS, DEFAULT_PLUGINS } from './editor';\nimport { extraCSSRulesOpts, htmlToValue, reduceMultipleBrs, valueToHtml } from './serialization';\nimport { parseDegrees } from './parse-html';\nimport constants from './constants';\nimport { Range } from 'slate';\n\n/**\n * Wrapper around the editor that exposes a `markup` and `onChange(markup:string)` api.\n * Because of the mismatch between the markup and the `Value` we need to convert the incoming markup to a value and\n * compare it. TODO: This is an interim fix, we'll need to strip back `Editor` and look how best to maintain the\n * `markup` api whilst avoiding the serialization mismatch. We should be making better use of schemas w/ normalize.\n */\nexport default class EditableHtml extends React.Component {\n static propTypes = {\n error: PropTypes.any,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func,\n markup: PropTypes.string.isRequired,\n allowValidation: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n };\n\n static defaultProps = {\n onDone: () => {},\n allowValidation: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.extraCSSRules) {\n Object.assign(extraCSSRulesOpts, this.props.extraCSSRules);\n }\n\n const v = htmlToValue(props.markup);\n this.state = {\n value: v,\n };\n }\n\n // eslint-disable-next-line react/no-deprecated\n componentWillReceiveProps(props) {\n if (!props.allowValidation && props.markup === this.props.markup) {\n return;\n }\n\n const v = htmlToValue(props.markup);\n const current = htmlToValue(this.props.markup);\n\n if (v.equals && !v.equals(current)) {\n this.setState({ value: v });\n }\n }\n\n runSerializationOnMarkup = () => {\n if (!this.props.markup) {\n return;\n }\n\n const v = htmlToValue(reduceMultipleBrs(this.props.markup));\n\n this.setState({ value: v });\n };\n\n onChange = (value, done) => {\n const html = valueToHtml(value);\n const htmlParsed = parseDegrees(html);\n\n if (htmlParsed !== this.props.markup && this.props.onChange) {\n this.props.onChange(htmlParsed);\n }\n\n if (done && this.props.onDone) {\n this.props.onDone(htmlParsed);\n }\n };\n\n focus = (position, node, select = false) => {\n if (this.editorRef) {\n this.editorRef.change((c) => {\n const lastText = node ? c.value.document.getNextText(node.key) : c.value.document.getLastText();\n const editorDOM = document.querySelector(`[data-key=\"${this.editorRef.value.document.key}\"]`);\n\n if (editorDOM !== document.activeElement) {\n document.activeElement.blur();\n }\n\n c.focus();\n\n if (position === 'end' && lastText) {\n c.moveFocusTo(lastText.key, lastText.text?.length).moveAnchorTo(lastText.key, lastText.text?.length);\n if (select) {\n const range = Range.fromJSON({\n anchorKey: lastText.key,\n anchorOffset: 0,\n focusKey: lastText.key,\n focusOffset: lastText.text?.length,\n isFocused: true,\n isBackward: false,\n });\n c.select(range);\n }\n }\n\n if (position === 'beginning' && lastText) {\n c.moveFocusTo(lastText.key, 0).moveAnchorTo(lastText.key, 0);\n }\n editorDOM.focus();\n });\n }\n };\n\n finishEditing = () => {\n if (this.editorRef) {\n this.editorRef.props.onEditingDone();\n }\n };\n\n render() {\n const { value } = this.state;\n const { toolbarOpts, error } = this.props;\n\n if (toolbarOpts) {\n toolbarOpts.error = error;\n }\n\n const props = {\n ...this.props,\n markup: null,\n value,\n onChange: this.onChange,\n focus: this.focus,\n runSerializationOnMarkup: this.runSerializationOnMarkup,\n };\n\n return (\n <Editor\n onRef={(ref) => {\n if (ref) {\n this.rootRef = ref;\n }\n }}\n editorRef={(ref) => ref && (this.editorRef = ref)}\n {...props}\n />\n );\n }\n}\n\n/**\n * Export lower level Editor and serialization functions.\n */\nexport { htmlToValue, valueToHtml, Editor, DEFAULT_PLUGINS, ALL_PLUGINS, constants };\n"],"mappings":"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","ignoreList":[]}
|
package/lib/parse-html.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.parseDegrees = void 0;
|
|
8
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
9
|
-
require("core-js/modules/es.string.replace.js");
|
|
10
7
|
var parseDegrees = exports.parseDegrees = function parseDegrees(html) {
|
|
11
8
|
return html
|
|
12
9
|
// removes \( use case: 50°
|
package/lib/parse-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-html.js","names":["parseDegrees","exports","html","replace"],"sources":["../src/parse-html.js"],"sourcesContent":["export const parseDegrees = (html) =>\n html\n // removes \\( use case: 50°\n .replace(/\\\\[(]/g, '')\n // removes \\) use case: 50°+m<1\n .replace(/\\\\[)]/g, '')\n // removes \\degree use case: 50°\n .replace(/\\\\degree/g, '°');\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-html.js","names":["parseDegrees","exports","html","replace"],"sources":["../src/parse-html.js"],"sourcesContent":["export const parseDegrees = (html) =>\n html\n // removes \\( use case: 50°\n .replace(/\\\\[(]/g, '')\n // removes \\) use case: 50°+m<1\n .replace(/\\\\[)]/g, '')\n // removes \\degree use case: 50°\n .replace(/\\\\degree/g, '°');\n"],"mappings":";;;;;;AAAO,IAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAIE,IAAI;EAAA,OAC/BA;EACE;EAAA,CACCC,OAAO,CAAC,QAAQ,EAAE,EAAE;EACrB;EAAA,CACCA,OAAO,CAAC,QAAQ,EAAE,EAAE;EACrB;EAAA,CACCA,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-popper.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Popper","_Typography","_excluded","StyledPopper","styled","Popper","background","padding","pointerEvents","zIndex","height","width","StyledTypography","Typography","fontSize","textAlign","CustomPopper","_ref","children","props","_objectWithoutProperties2","createElement","_extends2","id","open","anchorOrigin","vertical","horizontal","transformOrigin","disableRestoreFocus","disableAutoFocus","propTypes","PropTypes","node","isRequired","_default","exports"],"sources":["../../../src/plugins/characters/custom-popper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Popper from '@mui/material/Popper';\nimport Typography from '@mui/material/Typography';\n\nconst StyledPopper = styled(Popper)(() => ({\n background: '#fff',\n padding: '10px',\n pointerEvents: 'none',\n zIndex: 99999,\n '& .MuiPaper-root': {\n padding: 20,\n height: 'auto',\n width: 'auto',\n },\n}));\n\nconst StyledTypography = styled(Typography)(() => ({\n fontSize: 50,\n textAlign: 'center',\n}));\n\nconst CustomPopper = ({ children, ...props }) => (\n <StyledPopper\n id=\"mouse-over-popover\"\n open\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n disableRestoreFocus\n disableAutoFocus\n {...props}\n >\n <StyledTypography>{children}</StyledTypography>\n </StyledPopper>\n);\n\nCustomPopper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default CustomPopper;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"custom-popper.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Popper","_Typography","_excluded","StyledPopper","styled","Popper","background","padding","pointerEvents","zIndex","height","width","StyledTypography","Typography","fontSize","textAlign","CustomPopper","_ref","children","props","_objectWithoutProperties2","createElement","_extends2","id","open","anchorOrigin","vertical","horizontal","transformOrigin","disableRestoreFocus","disableAutoFocus","propTypes","PropTypes","node","isRequired","_default","exports"],"sources":["../../../src/plugins/characters/custom-popper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Popper from '@mui/material/Popper';\nimport Typography from '@mui/material/Typography';\n\nconst StyledPopper = styled(Popper)(() => ({\n background: '#fff',\n padding: '10px',\n pointerEvents: 'none',\n zIndex: 99999,\n '& .MuiPaper-root': {\n padding: 20,\n height: 'auto',\n width: 'auto',\n },\n}));\n\nconst StyledTypography = styled(Typography)(() => ({\n fontSize: 50,\n textAlign: 'center',\n}));\n\nconst CustomPopper = ({ children, ...props }) => (\n <StyledPopper\n id=\"mouse-over-popover\"\n open\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n disableRestoreFocus\n disableAutoFocus\n {...props}\n >\n <StyledTypography>{children}</StyledTypography>\n </StyledPopper>\n);\n\nCustomPopper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default CustomPopper;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAkD,IAAAK,SAAA;AAElD,IAAMC,YAAY,GAAG,IAAAC,cAAM,EAACC,kBAAM,CAAC,CAAC;EAAA,OAAO;IACzCC,UAAU,EAAE,MAAM;IAClBC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,MAAM;IACrBC,MAAM,EAAE,KAAK;IACb,kBAAkB,EAAE;MAClBF,OAAO,EAAE,EAAE;MACXG,MAAM,EAAE,MAAM;MACdC,KAAK,EAAE;IACT;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,gBAAgB,GAAG,IAAAR,cAAM,EAACS,sBAAU,CAAC,CAAC;EAAA,OAAO;IACjDC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE;EACb,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,aAAAH,IAAA,EAAAf,SAAA;EAAA,oBACxCP,MAAA,YAAA0B,aAAA,CAAClB,YAAY,MAAAmB,SAAA;IACXC,EAAE,EAAC,oBAAoB;IACvBC,IAAI;IACJC,YAAY,EAAE;MACZC,QAAQ,EAAE,QAAQ;MAClBC,UAAU,EAAE;IACd,CAAE;IACFC,eAAe,EAAE;MACfF,QAAQ,EAAE,KAAK;MACfC,UAAU,EAAE;IACd,CAAE;IACFE,mBAAmB;IACnBC,gBAAgB;EAAA,GACZX,KAAK,gBAETxB,MAAA,YAAA0B,aAAA,CAACT,gBAAgB,QAAEM,QAA2B,CAClC,CAAC;AAAA,CAChB;AAEDF,YAAY,CAACe,SAAS,GAAG;EACvBb,QAAQ,EAAEc,qBAAS,CAACC,IAAI,CAACC;AAC3B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEapB,YAAY","ignoreList":[]}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.filter.js");
|
|
4
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
5
|
-
require("core-js/modules/es.object.define-property.js");
|
|
6
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
7
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
8
|
-
require("core-js/modules/es.object.keys.js");
|
|
9
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
10
4
|
Object.defineProperty(exports, "__esModule", {
|
|
11
5
|
value: true
|
|
@@ -14,19 +8,10 @@ exports["default"] = CharactersPlugin;
|
|
|
14
8
|
exports.removeDialogs = void 0;
|
|
15
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
require("core-js/modules/es.symbol.js");
|
|
18
|
-
require("core-js/modules/es.symbol.description.js");
|
|
19
|
-
require("core-js/modules/es.array.concat.js");
|
|
20
|
-
require("core-js/modules/es.array.for-each.js");
|
|
21
|
-
require("core-js/modules/es.array.map.js");
|
|
22
|
-
require("core-js/modules/es.array.reduce.js");
|
|
23
|
-
require("core-js/modules/es.object.to-string.js");
|
|
24
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
25
|
-
require("core-js/modules/web.timers.js");
|
|
26
11
|
var _react = _interopRequireDefault(require("react"));
|
|
27
12
|
var _client = require("react-dom/client");
|
|
28
|
-
var _debug =
|
|
29
|
-
var
|
|
13
|
+
var _debug = require("debug");
|
|
14
|
+
var _lodashEs = require("lodash-es");
|
|
30
15
|
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
31
16
|
var _customPopper = _interopRequireDefault(require("./custom-popper"));
|
|
32
17
|
var _utils = require("../respArea/utils");
|
|
@@ -34,7 +19,7 @@ var _utils2 = require("./utils");
|
|
|
34
19
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
20
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
36
21
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
37
|
-
var log = (0, _debug
|
|
22
|
+
var log = (0, _debug.debug)('@pie-lib:editable-html:plugins:characters');
|
|
38
23
|
var removePopOvers = function removePopOvers() {
|
|
39
24
|
var prevPopOvers = document.querySelectorAll('#mouse-over-popover');
|
|
40
25
|
log('[characters:removePopOvers]');
|
|
@@ -155,9 +140,9 @@ var insertDialog = function insertDialog(_ref) {
|
|
|
155
140
|
additionalKeys: configToUse.characters.reduce(function (arr, n) {
|
|
156
141
|
arr = [].concat((0, _toConsumableArray2["default"])(arr), (0, _toConsumableArray2["default"])(n.map(function (k) {
|
|
157
142
|
return _objectSpread({
|
|
158
|
-
name: (0,
|
|
159
|
-
write: (0,
|
|
160
|
-
label: (0,
|
|
143
|
+
name: (0, _lodashEs.get)(k, 'name') || k,
|
|
144
|
+
write: (0, _lodashEs.get)(k, 'write') || k,
|
|
145
|
+
label: (0, _lodashEs.get)(k, 'label') || k,
|
|
161
146
|
category: 'character',
|
|
162
147
|
extraClass: 'character',
|
|
163
148
|
extraProps: _objectSpread(_objectSpread({}, k.extraProps || {}), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_debug","_get","_mathToolbar","_customPopper","_utils","_utils2","_propTypes","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","removePopOvers","prevPopOvers","document","querySelectorAll","s","remove","removeDialogs","exports","prevDialogs","insertDialog","_ref","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","insertSnackBar","layoutForCharacters","reduce","obj","arr","columns","rows","popoverEl","popoverRoot","closePopOver","unmount","renderPopOver","event","el","infoStyle","fontSize","lineHeight","createRoot","render","onClose","anchorEl","currentTarget","label","style","description","unicode","body","appendChild","firstCallMade","listener","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","PureToolbar","keyPadCharacterRef","setKeypadInteraction","autoFocus","noDecimal","hideInput","noLatexHandling","hideDoneButtonBackground","layoutForKeyPad","additionalKeys","n","concat","_toConsumableArray2","map","k","name","get","write","category","extraClass","extraProps","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","keypadMode","onChange","onDone","dialogRoot","setTimeout","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","additionalTopOffset","y","offsetHeight","maxWidth","position","top","Math","abs","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","_ref2","letter","propTypes","PropTypes","string","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","ariaLabel","onClick","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"sources":["../../../src/plugins/characters/index.jsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nimport PropTypes from 'prop-types';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n let popoverRoot;\n\n const closePopOver = () => {\n if (popoverRoot) {\n popoverRoot.unmount();\n popoverRoot = null;\n }\n if (popoverEl) {\n popoverEl.remove();\n popoverEl = null;\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n popoverRoot = createRoot(popoverEl);\n popoverRoot.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n keyPadCharacterRef={opts.keyPadCharacterRef}\n setKeypadInteraction={opts.setKeypadInteraction}\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n hideDoneButtonBackground\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n const dialogRoot = createRoot(newEl);\n dialogRoot.render(el);\n\n // Use setTimeout to ensure the element is rendered before positioning\n setTimeout(() => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n }, 0);\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '24px',\n lineHeight: '24px',\n }}\n >\n {letter}\n </div>\n);\n\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\n};\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n ariaLabel: `${opts.language} characters Toolbar`,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (char, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_debug","_lodashEs","_mathToolbar","_customPopper","_utils","_utils2","_propTypes","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","removePopOvers","prevPopOvers","document","querySelectorAll","s","remove","removeDialogs","exports","prevDialogs","insertDialog","_ref","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","insertSnackBar","layoutForCharacters","reduce","obj","arr","columns","rows","popoverEl","popoverRoot","closePopOver","unmount","renderPopOver","event","el","infoStyle","fontSize","lineHeight","createRoot","render","onClose","anchorEl","currentTarget","label","style","description","unicode","body","appendChild","firstCallMade","listener","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","PureToolbar","keyPadCharacterRef","setKeypadInteraction","autoFocus","noDecimal","hideInput","noLatexHandling","hideDoneButtonBackground","layoutForKeyPad","additionalKeys","n","concat","_toConsumableArray2","map","k","name","get","write","category","extraClass","extraProps","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","keypadMode","onChange","onDone","dialogRoot","setTimeout","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","additionalTopOffset","y","offsetHeight","maxWidth","position","top","Math","abs","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","_ref2","letter","propTypes","PropTypes","string","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","ariaLabel","onClick","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"sources":["../../../src/plugins/characters/index.jsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { debug } from 'debug';\nimport { get } from 'lodash-es';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nimport PropTypes from 'prop-types';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n let popoverRoot;\n\n const closePopOver = () => {\n if (popoverRoot) {\n popoverRoot.unmount();\n popoverRoot = null;\n }\n if (popoverEl) {\n popoverEl.remove();\n popoverEl = null;\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n popoverRoot = createRoot(popoverEl);\n popoverRoot.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n keyPadCharacterRef={opts.keyPadCharacterRef}\n setKeypadInteraction={opts.setKeypadInteraction}\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n hideDoneButtonBackground\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n const dialogRoot = createRoot(newEl);\n dialogRoot.render(el);\n\n // Use setTimeout to ensure the element is rendered before positioning\n setTimeout(() => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n }, 0);\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '24px',\n lineHeight: '24px',\n }}\n >\n {letter}\n </div>\n);\n\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\n};\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n ariaLabel: `${opts.language} characters Toolbar`,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (char, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.specialConfig = exports.spanishConfig = exports.characterIcons = void 0;
|
|
8
|
-
require("core-js/modules/es.string.from-code-point.js");
|
|
9
7
|
var spanishConfig = exports.spanishConfig = {
|
|
10
8
|
characters: [['á', 'é', 'í', 'ó', 'ú'], ['Á', 'É', 'Í', 'Ó', 'Ú'], ['—', '«', '»', 'ñ', 'ü'], ['-', '¿', '¡', 'Ñ', 'Ü']]
|
|
11
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["spanishConfig","exports","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"sources":["../../../src/plugins/characters/utils.js"],"sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: ' ',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: ' ',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: ' ',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+2003',\n description: 'EM SPACE',\n write: String.fromCodePoint('0x2003'),\n label: ' ',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["spanishConfig","exports","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"sources":["../../../src/plugins/characters/utils.js"],"sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: ' ',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: ' ',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: ' ',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+2003',\n description: 'EM SPACE',\n write: String.fromCodePoint('0x2003'),\n label: ' ',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_styles","StyledCssIcon","styled","_ref","theme","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","CssIcon","createElement","_default","exports"],"sources":["../../../../src/plugins/css/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledCssIcon = styled('div')(({ theme }) => ({\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n}));\n\nconst CssIcon = () => <StyledCssIcon>CSS</StyledCssIcon>;\n\nexport default CssIcon;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_styles","StyledCssIcon","styled","_ref","theme","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","CssIcon","createElement","_default","exports"],"sources":["../../../../src/plugins/css/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledCssIcon = styled('div')(({ theme }) => ({\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n}));\n\nconst CssIcon = () => <StyledCssIcon>CSS</StyledCssIcon>;\n\nexport default CssIcon;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAME,aAAa,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IAClDC,UAAU,EAAE,iCAAiC;IAC7CC,QAAQ,EAAEF,KAAK,CAACG,UAAU,CAACD,QAAQ;IACnCE,UAAU,EAAE,MAAM;IAClBC,UAAU,EAAE,MAAM;IAClBC,QAAQ,EAAE,UAAU;IACpBC,UAAU,EAAE;EACd,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA;EAAA,oBAASf,MAAA,YAAAgB,aAAA,CAACZ,aAAa,QAAC,KAAkB,CAAC;AAAA;AAAC,IAAAa,QAAA,GAAAC,OAAA,cAE1CH,OAAO","ignoreList":[]}
|
package/lib/plugins/css/index.js
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = CSSPlugin;
|
|
9
8
|
exports.removeDialogs = void 0;
|
|
10
|
-
require("core-js/modules/es.array.concat.js");
|
|
11
|
-
require("core-js/modules/es.array.find.js");
|
|
12
|
-
require("core-js/modules/es.array.for-each.js");
|
|
13
|
-
require("core-js/modules/es.array.includes.js");
|
|
14
|
-
require("core-js/modules/es.array.map.js");
|
|
15
|
-
require("core-js/modules/es.array.slice.js");
|
|
16
|
-
require("core-js/modules/es.date.to-json.js");
|
|
17
|
-
require("core-js/modules/es.object.to-string.js");
|
|
18
|
-
require("core-js/modules/es.string.includes.js");
|
|
19
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
20
|
-
require("core-js/modules/web.timers.js");
|
|
21
9
|
var _react = _interopRequireDefault(require("react"));
|
|
22
10
|
var _client = require("react-dom/client");
|
|
23
11
|
var _List = _interopRequireDefault(require("@mui/material/List"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_List","_slate","_ListItem","_debug","_icons","log","debug","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","_parentNode$data","editorDOM","value","callback","opts","textNode","parentNode","newEl","createElement","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","selectedText","text","slice","selection","anchorOffset","focusOffset","parentNodeClass","data","get","createHTML","html","concat","tag","object","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","dialogRoot","createRoot","render","setTimeout","cursorItem","querySelector","anchorKey","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","y","offsetHeight","additionalTopOffset","top","maxWidth","position","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","findParentNodeInfo","_closestInline$nodes","_closestBlock$nodes","closestInline","getClosestInline","endKey","closestBlock","getClosestBlock","nodeToUse","nodes","find","n","getNodeWithClass","_blocksAtRange$","_inlinesAtRange$","_blockData$attributes","_inlineData$attribute","blocksAtRange","getBlocksAtRangeAsArray","inlinesAtRange","getInlinesAtRangeAsArray","blockData","toJSON","inlineData","attributes","_ref2","blockClass","_ref3","inlineClass","inlineHasClass","includes","blockHasClass","CSSPlugin","plugin","toolbar","isMark","icon","ariaLabel","type","onToggle","change","hasMark","activeMarks","entry","removeMark","newMark","Mark","create","addMark","onChange","getFocusedValue","valueToUse","focus","getTextsAtRangeAsArray","renderMark","props","mark","_ref4","jsonData","children"],"sources":["../../../src/plugins/css/index.jsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport List from '@mui/material/List';\nimport { Mark } from 'slate';\nimport ListItem from '@mui/material/ListItem';\nimport debug from 'debug';\nimport CssIcon from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts, textNode, parentNode }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const selectedText = textNode.text.slice(value.selection.anchorOffset, value.selection.focusOffset);\n const parentNodeClass = parentNode?.data?.get('attributes')?.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag;\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n value.selection.anchorOffset,\n )}${html}${parentNode.text.slice(value.selection.focusOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n const dialogRoot = createRoot(newEl);\n dialogRoot.render(el);\n\n // Use setTimeout to ensure the element is rendered before positioning\n setTimeout(() => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n if (boundRect.y < newEl.offsetHeight) {\n const additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n newEl.style.top = `${additionalTopOffset}px`;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n if (!newEl.style.top) {\n newEl.style.top = '0';\n }\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n }, 0);\n};\n\nconst findParentNodeInfo = (value, textNode) => {\n const closestInline = value.document.getClosestInline(value.selection.endKey);\n const closestBlock = value.document.getClosestBlock(value.selection.endKey);\n let nodeToUse = null;\n\n if (closestInline?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestInline;\n }\n\n if (closestBlock?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestBlock;\n }\n\n return nodeToUse;\n};\n\n/**\n * Find the node that has a class attribute and return it.\n * Keeping this in case the implementation of classes needs to be changed\n * @param value\n * @param opts\n * @returns {*}\n */\n// eslint-disable-next-line no-unused-vars\nconst getNodeWithClass = (value, opts) => {\n const blocksAtRange = value.document.getBlocksAtRangeAsArray(value.selection);\n const inlinesAtRange = value.document.getInlinesAtRangeAsArray(value.selection);\n const blockData = blocksAtRange[0]?.data.toJSON() || {};\n const inlineData = inlinesAtRange[0]?.data.toJSON() || {};\n\n if (!blockData.attributes?.class && !inlineData.attributes?.class) {\n return null;\n }\n\n const { class: blockClass } = blockData.attributes || {};\n const { class: inlineClass } = inlineData.attributes || {};\n const inlineHasClass = opts.names.find((name) => inlineClass.includes(name));\n\n if (inlineHasClass) {\n return inlinesAtRange[0];\n }\n\n const blockHasClass = opts.names.find((name) => blockClass.includes(name));\n\n if (blockHasClass) {\n return blocksAtRange[0];\n }\n\n return null;\n};\n\n/**\n * Plugin in order to be able to add a css clas that is provided through the model\n * on a text element. Works like a mark (bold, italic etc.).\n * @param opts\n * @constructor\n */\nexport default function CSSPlugin(opts) {\n const plugin = {\n name: 'extraCSSRules',\n toolbar: {\n isMark: true,\n icon: <CssIcon />,\n ariaLabel: 'CSS editor',\n type: 'css',\n onToggle: (change) => {\n const type = 'css';\n const hasMark = change.value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n if (hasMark) {\n change.removeMark(hasMark);\n } else {\n const newMark = Mark.create(type);\n\n change.addMark(newMark);\n }\n\n return change;\n },\n onClick: (value, onChange, getFocusedValue) => {\n const type = 'css';\n const hasMark = value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n let change = value.change();\n\n if (hasMark) {\n change.removeMark(hasMark);\n onChange(change);\n return;\n }\n\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // let nodeWithClass = getNodeWithClass(value, opts);\n //\n // if (nodeWithClass) {\n // const nodeAttributes = nodeWithClass.data.get('attributes');\n //\n // opts.names.forEach((name) => {\n // if (nodeAttributes.class.includes(name)) {\n // nodeAttributes.class = nodeAttributes.class.replace(name, '');\n // }\n // });\n //\n // // keeping only one space between classes\n // nodeAttributes.class = nodeAttributes.class.replace(/ +/g, ' ');\n //\n // nodeWithClass.data.set('attributes', nodeAttributes);\n //\n // let change = value.change();\n // change.replaceNodeByKey(nodeWithClass.key, nodeWithClass);\n //\n // onChange(change);\n // return;\n // }\n\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (className, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (className) {\n let change = valueToUse.change();\n\n const newMark = Mark.create({\n object: 'mark',\n type: 'css',\n data: {\n attributes: {\n class: className,\n },\n },\n });\n\n change.addMark(newMark);\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // change = change.wrapInline({ type: 'span', data: { attributes: { class: className } } });\n //\n // // change = change.splitBlockAtRange(adaptedRange);\n // //\n // // const newBlock = change.value.document.getFurthestBlock(change.value.selection.endKey);\n // //\n // // change = change.setNodeByKey(newBlock.key, { data: { attributes: { class: className } } });\n //\n // valueToUse = change.value;\n // log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n setTimeout(() => {\n if (editorDOM) {\n editorDOM.focus();\n }\n }, 0);\n }\n };\n const textNode = value.document.getTextsAtRangeAsArray(value.selection)[0];\n\n if (textNode) {\n const parentNode = findParentNodeInfo(value, textNode, opts);\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts, textNode, parentNode });\n }\n },\n },\n renderMark(props) {\n if (props.mark.type === 'css') {\n const { data } = props.mark || {};\n const jsonData = data?.toJSON() || {};\n\n return <span {...jsonData.attributes}>{props.children}</span>;\n }\n },\n };\n\n return plugin;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_List","_slate","_ListItem","_debug","_icons","log","debug","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","_parentNode$data","editorDOM","value","callback","opts","textNode","parentNode","newEl","createElement","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","selectedText","text","slice","selection","anchorOffset","focusOffset","parentNodeClass","data","get","createHTML","html","concat","tag","object","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","dialogRoot","createRoot","render","setTimeout","cursorItem","querySelector","anchorKey","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","y","offsetHeight","additionalTopOffset","top","maxWidth","position","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","findParentNodeInfo","_closestInline$nodes","_closestBlock$nodes","closestInline","getClosestInline","endKey","closestBlock","getClosestBlock","nodeToUse","nodes","find","n","getNodeWithClass","_blocksAtRange$","_inlinesAtRange$","_blockData$attributes","_inlineData$attribute","blocksAtRange","getBlocksAtRangeAsArray","inlinesAtRange","getInlinesAtRangeAsArray","blockData","toJSON","inlineData","attributes","_ref2","blockClass","_ref3","inlineClass","inlineHasClass","includes","blockHasClass","CSSPlugin","plugin","toolbar","isMark","icon","ariaLabel","type","onToggle","change","hasMark","activeMarks","entry","removeMark","newMark","Mark","create","addMark","onChange","getFocusedValue","valueToUse","focus","getTextsAtRangeAsArray","renderMark","props","mark","_ref4","jsonData","children"],"sources":["../../../src/plugins/css/index.jsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport List from '@mui/material/List';\nimport { Mark } from 'slate';\nimport ListItem from '@mui/material/ListItem';\nimport debug from 'debug';\nimport CssIcon from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts, textNode, parentNode }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const selectedText = textNode.text.slice(value.selection.anchorOffset, value.selection.focusOffset);\n const parentNodeClass = parentNode?.data?.get('attributes')?.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag;\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n value.selection.anchorOffset,\n )}${html}${parentNode.text.slice(value.selection.focusOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n const dialogRoot = createRoot(newEl);\n dialogRoot.render(el);\n\n // Use setTimeout to ensure the element is rendered before positioning\n setTimeout(() => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n if (boundRect.y < newEl.offsetHeight) {\n const additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n newEl.style.top = `${additionalTopOffset}px`;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n if (!newEl.style.top) {\n newEl.style.top = '0';\n }\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n }, 0);\n};\n\nconst findParentNodeInfo = (value, textNode) => {\n const closestInline = value.document.getClosestInline(value.selection.endKey);\n const closestBlock = value.document.getClosestBlock(value.selection.endKey);\n let nodeToUse = null;\n\n if (closestInline?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestInline;\n }\n\n if (closestBlock?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestBlock;\n }\n\n return nodeToUse;\n};\n\n/**\n * Find the node that has a class attribute and return it.\n * Keeping this in case the implementation of classes needs to be changed\n * @param value\n * @param opts\n * @returns {*}\n */\n// eslint-disable-next-line no-unused-vars\nconst getNodeWithClass = (value, opts) => {\n const blocksAtRange = value.document.getBlocksAtRangeAsArray(value.selection);\n const inlinesAtRange = value.document.getInlinesAtRangeAsArray(value.selection);\n const blockData = blocksAtRange[0]?.data.toJSON() || {};\n const inlineData = inlinesAtRange[0]?.data.toJSON() || {};\n\n if (!blockData.attributes?.class && !inlineData.attributes?.class) {\n return null;\n }\n\n const { class: blockClass } = blockData.attributes || {};\n const { class: inlineClass } = inlineData.attributes || {};\n const inlineHasClass = opts.names.find((name) => inlineClass.includes(name));\n\n if (inlineHasClass) {\n return inlinesAtRange[0];\n }\n\n const blockHasClass = opts.names.find((name) => blockClass.includes(name));\n\n if (blockHasClass) {\n return blocksAtRange[0];\n }\n\n return null;\n};\n\n/**\n * Plugin in order to be able to add a css clas that is provided through the model\n * on a text element. Works like a mark (bold, italic etc.).\n * @param opts\n * @constructor\n */\nexport default function CSSPlugin(opts) {\n const plugin = {\n name: 'extraCSSRules',\n toolbar: {\n isMark: true,\n icon: <CssIcon />,\n ariaLabel: 'CSS editor',\n type: 'css',\n onToggle: (change) => {\n const type = 'css';\n const hasMark = change.value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n if (hasMark) {\n change.removeMark(hasMark);\n } else {\n const newMark = Mark.create(type);\n\n change.addMark(newMark);\n }\n\n return change;\n },\n onClick: (value, onChange, getFocusedValue) => {\n const type = 'css';\n const hasMark = value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n let change = value.change();\n\n if (hasMark) {\n change.removeMark(hasMark);\n onChange(change);\n return;\n }\n\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // let nodeWithClass = getNodeWithClass(value, opts);\n //\n // if (nodeWithClass) {\n // const nodeAttributes = nodeWithClass.data.get('attributes');\n //\n // opts.names.forEach((name) => {\n // if (nodeAttributes.class.includes(name)) {\n // nodeAttributes.class = nodeAttributes.class.replace(name, '');\n // }\n // });\n //\n // // keeping only one space between classes\n // nodeAttributes.class = nodeAttributes.class.replace(/ +/g, ' ');\n //\n // nodeWithClass.data.set('attributes', nodeAttributes);\n //\n // let change = value.change();\n // change.replaceNodeByKey(nodeWithClass.key, nodeWithClass);\n //\n // onChange(change);\n // return;\n // }\n\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (className, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (className) {\n let change = valueToUse.change();\n\n const newMark = Mark.create({\n object: 'mark',\n type: 'css',\n data: {\n attributes: {\n class: className,\n },\n },\n });\n\n change.addMark(newMark);\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // change = change.wrapInline({ type: 'span', data: { attributes: { class: className } } });\n //\n // // change = change.splitBlockAtRange(adaptedRange);\n // //\n // // const newBlock = change.value.document.getFurthestBlock(change.value.selection.endKey);\n // //\n // // change = change.setNodeByKey(newBlock.key, { data: { attributes: { class: className } } });\n //\n // valueToUse = change.value;\n // log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n setTimeout(() => {\n if (editorDOM) {\n editorDOM.focus();\n }\n }, 0);\n }\n };\n const textNode = value.document.getTextsAtRangeAsArray(value.selection)[0];\n\n if (textNode) {\n const parentNode = findParentNodeInfo(value, textNode, opts);\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts, textNode, parentNode });\n }\n },\n },\n renderMark(props) {\n if (props.mark.type === 'css') {\n const { data } = props.mark || {};\n const jsonData = data?.toJSON() || {};\n\n return <span {...jsonData.attributes}>{props.children}</span>;\n }\n },\n };\n\n return plugin;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.array.for-each.js");
|
|
6
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
7
|
-
require("core-js/modules/es.object.define-property.js");
|
|
8
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
10
|
-
require("core-js/modules/es.object.keys.js");
|
|
11
|
-
require("core-js/modules/es.object.to-string.js");
|
|
12
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
13
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
4
|
Object.defineProperty(exports, "__esModule", {
|
|
15
5
|
value: true
|
|
16
6
|
});
|
|
17
7
|
exports.ICON_TYPE = exports.CONTENT_TYPE = void 0;
|
|
18
8
|
exports["default"] = CustomPlugin;
|
|
19
|
-
require("core-js/modules/es.date.to-json.js");
|
|
20
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
10
|
var _react = _interopRequireDefault(require("react"));
|
|
22
11
|
var _serialization = require("../../serialization");
|