@pie-element/explicit-constructed-response 7.3.11-next.2 → 7.3.11-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,7 @@ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
70
70
  value = _this$props.value,
71
71
  onToolbarDone = _this$props.onToolbarDone,
72
72
  onChangeResponse = _this$props.onChangeResponse;
73
- var sanitizedMarkup = (0, _markupUtils.decodeHTML)((0, _markupUtils.stripHtmlTags)(markup));
73
+ var sanitizedMarkup = (0, _markupUtils.stripHtmlTags)(markup);
74
74
 
75
75
  _this.setState({
76
76
  markup: sanitizedMarkup
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ecr-toolbar.jsx"],"names":["findSlateNode","key","window","document","querySelector","ECRToolbar","markup","toolbarStyle","props","node","value","onToolbarDone","onChangeResponse","sanitizedMarkup","setState","updatedData","data","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","respAreaMarkup","event","clickedInside","correctChoice","choice","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","top","left","label","position","height","width","classes","maxLengthPerChoiceEnabled","pluginProps","spellCheck","state","inputProps","maxLength","preventDone","onRespAreaChange","val","onDone","e","relatedTarget","onBlur","onKeyDown","language","minWidth","isHidden","characters","disabled","React","Component","PropTypes","object","func","isRequired","shape","bool","StyledECRToolbar","theme","backgroundColor","palette","common","white","outline","lineHeight"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { stripHtmlTags, decodeHTML } from './markupUtils';\n\nconst findSlateNode = (key) => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nexport class ECRToolbar extends React.Component {\n static propTypes = {\n correctChoice: PropTypes.object,\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n onChangeResponse: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired,\n }),\n }),\n maxLengthPerChoiceEnabled: PropTypes.bool,\n pluginProps: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n state = {\n markup: '',\n toolbarStyle: {},\n };\n\n componentDidMount() {\n const { correctChoice, node } = this.props;\n const choice = correctChoice || {};\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n markup: choice.label,\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 17}px`,\n left: `${left + 20}px`,\n width: `${domNodeRect.width - 4}px`,\n },\n });\n }\n }\n\n onDone = (markup) => {\n const { node, value, onToolbarDone, onChangeResponse } = this.props;\n const sanitizedMarkup = decodeHTML(stripHtmlTags(markup));\n this.setState({ markup: sanitizedMarkup });\n\n const updatedData = { ...node.data.toJSON(), value: sanitizedMarkup };\n const change = value.change().setNodeByKey(node.key, { data: updatedData });\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n onToolbarDone(change, true);\n onChangeResponse(sanitizedMarkup);\n };\n\n onRespAreaChange = (respAreaMarkup) => {\n this.setState({ respAreaMarkup });\n };\n\n onKeyDown = (event) => {\n if (event.key === 'Enter') {\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n }\n };\n\n render() {\n const { classes, maxLengthPerChoiceEnabled, pluginProps, spellCheck } = this.props;\n const { markup, toolbarStyle } = this.state;\n const inputProps = maxLengthPerChoiceEnabled ? {} : { maxLength: 25 };\n\n return (\n <div style={toolbarStyle}>\n <EditableHtml\n autoFocus={true}\n className={classes.markup}\n disableUnderline\n onChange={(respAreaMarkup) => {\n if (this.preventDone) {\n return;\n }\n this.onRespAreaChange(respAreaMarkup);\n }}\n onDone={(val) => {\n if (this.preventDone) {\n return;\n }\n this.onDone(val);\n }}\n onBlur={(e) => {\n this.preventDone = e.relatedTarget && e.relatedTarget.closest('.insert-character-dialog');\n this.onBlur(e);\n }}\n onKeyDown={this.onKeyDown}\n markup={markup || ''}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n minHeight={'15px'}\n maxHeight={'15px'}\n spellCheck={spellCheck}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n isHidden: !!pluginProps?.characters?.disabled\n }}\n {...inputProps}\n />\n </div>\n );\n }\n}\n\nconst StyledECRToolbar = withStyles((theme) => ({\n markup: {\n backgroundColor: theme.palette.common.white,\n outline: 'none',\n lineHeight: '15px'\n },\n}))(ECRToolbar);\n\nexport default StyledECRToolbar;\n"],"file":"ecr-toolbar.js"}
1
+ {"version":3,"sources":["../src/ecr-toolbar.jsx"],"names":["findSlateNode","key","window","document","querySelector","ECRToolbar","markup","toolbarStyle","props","node","value","onToolbarDone","onChangeResponse","sanitizedMarkup","setState","updatedData","data","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","respAreaMarkup","event","clickedInside","correctChoice","choice","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","top","left","label","position","height","width","classes","maxLengthPerChoiceEnabled","pluginProps","spellCheck","state","inputProps","maxLength","preventDone","onRespAreaChange","val","onDone","e","relatedTarget","onBlur","onKeyDown","language","minWidth","isHidden","characters","disabled","React","Component","PropTypes","object","func","isRequired","shape","bool","StyledECRToolbar","theme","backgroundColor","palette","common","white","outline","lineHeight"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { stripHtmlTags, decodeHTML } from './markupUtils';\n\nconst findSlateNode = (key) => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nexport class ECRToolbar extends React.Component {\n static propTypes = {\n correctChoice: PropTypes.object,\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n onChangeResponse: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired,\n }),\n }),\n maxLengthPerChoiceEnabled: PropTypes.bool,\n pluginProps: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n state = {\n markup: '',\n toolbarStyle: {},\n };\n\n componentDidMount() {\n const { correctChoice, node } = this.props;\n const choice = correctChoice || {};\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n markup: choice.label,\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 17}px`,\n left: `${left + 20}px`,\n width: `${domNodeRect.width - 4}px`,\n },\n });\n }\n }\n\n onDone = (markup) => {\n const { node, value, onToolbarDone, onChangeResponse } = this.props;\n const sanitizedMarkup = stripHtmlTags(markup);\n this.setState({ markup: sanitizedMarkup });\n\n const updatedData = { ...node.data.toJSON(), value: sanitizedMarkup };\n const change = value.change().setNodeByKey(node.key, { data: updatedData });\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n onToolbarDone(change, true);\n onChangeResponse(sanitizedMarkup);\n };\n\n onRespAreaChange = (respAreaMarkup) => {\n this.setState({ respAreaMarkup });\n };\n\n onKeyDown = (event) => {\n if (event.key === 'Enter') {\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n }\n };\n\n render() {\n const { classes, maxLengthPerChoiceEnabled, pluginProps, spellCheck } = this.props;\n const { markup, toolbarStyle } = this.state;\n const inputProps = maxLengthPerChoiceEnabled ? {} : { maxLength: 25 };\n\n return (\n <div style={toolbarStyle}>\n <EditableHtml\n autoFocus={true}\n className={classes.markup}\n disableUnderline\n onChange={(respAreaMarkup) => {\n if (this.preventDone) {\n return;\n }\n this.onRespAreaChange(respAreaMarkup);\n }}\n onDone={(val) => {\n if (this.preventDone) {\n return;\n }\n this.onDone(val);\n }}\n onBlur={(e) => {\n this.preventDone = e.relatedTarget && e.relatedTarget.closest('.insert-character-dialog');\n this.onBlur(e);\n }}\n onKeyDown={this.onKeyDown}\n markup={markup || ''}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n minHeight={'15px'}\n maxHeight={'15px'}\n spellCheck={spellCheck}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n isHidden: !!pluginProps?.characters?.disabled\n }}\n {...inputProps}\n />\n </div>\n );\n }\n}\n\nconst StyledECRToolbar = withStyles((theme) => ({\n markup: {\n backgroundColor: theme.palette.common.white,\n outline: 'none',\n lineHeight: '15px'\n },\n}))(ECRToolbar);\n\nexport default StyledECRToolbar;\n"],"file":"ecr-toolbar.js"}
@@ -9000,7 +9000,7 @@ const require$$12$9 = _dll_pie_lib__pie_toolbox_editable_html;
9000
9000
  });
9001
9001
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (markup) {
9002
9002
  var _this$props = _this.props, node = _this$props.node, value = _this$props.value, onToolbarDone = _this$props.onToolbarDone, onChangeResponse = _this$props.onChangeResponse;
9003
- var sanitizedMarkup = (0, _markupUtils.decodeHTML)((0, _markupUtils.stripHtmlTags)(markup));
9003
+ var sanitizedMarkup = (0, _markupUtils.stripHtmlTags)(markup);
9004
9004
  _this.setState({
9005
9005
  markup: sanitizedMarkup
9006
9006
  });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "7.3.11-next.2+7a4171cd9",
7
+ "version": "7.3.11-next.4+20dee85e0",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "postpublish": "../../scripts/postpublish"
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "author": "",
24
24
  "license": "ISC",
25
- "gitHead": "7a4171cd9ace7f32c118861802bbefea00fb877e",
25
+ "gitHead": "20dee85e0e19835c548b1db0a6e26ad2cd275157",
26
26
  "main": "lib/index.js",
27
27
  "module": "src/index.js",
28
28
  "exports": {