@pie-element/inline-dropdown 4.7.1-beta.1 → 4.7.1-beta.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-dropdown-toolbar.js","names":["_react","_interopRequireDefault","require","_reactDom","_slateReact","_propTypes","_editableHtml","_interopRequireWildcard","_mathRendering","_styles","_isEqual","_isEmpty","_classnames2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","MenuItemComp","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","onRemoveChoice","props","preventDefault","stopPropagation","_createClass2","value","render","_this$props","classes","correct","onClick","createElement","className","classnames","wrapper","valueHolder","dangerouslySetInnerHTML","__html","removeIcon","onRemoveClick","React","Component","PropTypes","isRequired","bool","func","string","MenuItem","withStyles","background","borderBottom","boxSizing","display","cursor","lineHeight","padding","position","fontSize","fontStyle","transform","top","right","zIndex","wordBreak","createElementFromHTML","htmlString","div","document","innerHTML","trim","RespAreaToolbar","_React$Component2","_super2","_this2","_len2","_key2","respAreaMarkup","setState","editorRef","finishEditing","val","_this2$props","node","onAddChoice","onlyText","textContent","isEmpty","data","index","newValue","_this2$props2","nodePath","editor","onToolbarDone","onSelectChoice","update","type","path","properties","newProperties","_this2$props3","isEqual","event","clickedInside","_this2$props4","choices","onCheck","correctResponse","find","choice","slateEditorRef","rootRef","slateEditor","inputRef","element","focus","componentDidMount","_this$props2","domNode","ReactEditor","toDOMNode","domNodeRect","getBoundingClientRect","closest","editorRect","left","toolbarStyle","height","width","componentDidUpdate","ReactDOM","findDOMNode","renderMath","_this3","_this$props3","spellCheck","uploadSoundSupport","_this$state","state","filteredDefaultPlugins","DEFAULT_PLUGINS","p","labelPlugins","audio","disabled","video","style","backgroundColor","onMouseDown","onClickInside","itemBuilder","ref","autoFocus","autoSave","respArea","toolbarOpts","alwaysVisible","showDone","doneOn","markup","onKeyDown","onChange","onRespAreaChange","onDone","placeholder","activePlugins","pluginProps","onBlur","contentEditable","focusInput","choicesHolder","map","_ref2","label","exports","array","StyledRespAreaToolbar","minHeight","flexDirection","border","_default"],"sources":["../src/inline-dropdown-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ReactEditor } from 'slate-react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\nimport { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nclass MenuItemComp extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n };\n\n onRemoveClick = (e) => {\n const { onRemoveChoice } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n\n onRemoveChoice();\n };\n\n render() {\n const { classes, correct, onClick, value } = this.props;\n\n return (\n <div className={classnames(classes.wrapper, { [classes.correct]: correct })} onClick={onClick}>\n <div\n className={classes.valueHolder}\n dangerouslySetInnerHTML={{\n __html: value,\n }}\n />\n <i className={classes.removeIcon} onClick={this.onRemoveClick}>\n x\n </i>\n </div>\n );\n }\n}\n\nconst MenuItem = withStyles({\n wrapper: {\n background: '#fff',\n borderBottom: '1px solid black',\n boxSizing: 'border-box',\n display: 'block',\n cursor: 'pointer',\n lineHeight: '30px',\n padding: '10px 25px 10px 10px',\n position: 'relative',\n },\n correct: {\n background: '#C4DCFA',\n },\n removeIcon: {\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n transform: 'translate(0, -50%)',\n top: '50%',\n right: '5px',\n zIndex: 3,\n },\n valueHolder: {\n wordBreak: 'break-all',\n },\n})(MenuItemComp);\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class RespAreaToolbar extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n node: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n onDone: PropTypes.func,\n choices: PropTypes.array,\n onAddChoice: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n onSelectChoice: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n editor: PropTypes.object.isRequired,\n nodePath: PropTypes.array.isRequired,\n };\n\n state = {\n respAreaMarkup: '',\n };\n\n componentDidMount() {\n const { node, editor } = this.props;\n const domNode = ReactEditor.toDOMNode(editor, node);\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 toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 60}px`,\n left: `${left + 25}px`,\n width: domNodeRect.width,\n },\n });\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onRespAreaChange = (respAreaMarkup) => {\n this.setState({ respAreaMarkup });\n };\n\n onAddChoice = () => {\n if (this.editorRef) {\n this.editorRef.finishEditing();\n }\n };\n\n onDone = (val) => {\n const { node, onAddChoice } = this.props;\n const onlyText = createElementFromHTML(val).textContent.trim();\n\n if (!isEmpty(onlyText)) {\n onAddChoice(node.data.index, val);\n }\n };\n\n onSelectChoice = (newValue, index) => {\n const { node, nodePath, editor, onToolbarDone, onSelectChoice } = this.props;\n const update = { ...node.data, value: newValue };\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n\n onToolbarDone(false);\n onSelectChoice(index);\n };\n\n onRemoveChoice = (val, index) => {\n const { node, nodePath, editor, onToolbarDone, onRemoveChoice } = this.props;\n\n if (isEqual(val, node.data.value)) {\n const update = { ...node.data, value: null };\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n\n onToolbarDone(false);\n }\n\n onRemoveChoice(index);\n };\n\n onKeyDown = (event) => {\n if (event.key === 'Enter') {\n this.onAddChoice();\n // Cancelling event\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n return;\n }\n\n const { nodePath, choices, onCheck, onToolbarDone, editor } = this.props;\n const correctResponse = (choices || []).find((choice) => choice.correct);\n\n this.onAddChoice();\n\n if (!choices || (choices && choices.length < 2) || !correctResponse) {\n onCheck(() => {\n editor.apply({\n type: 'remove_node',\n path: nodePath\n });\n\n onToolbarDone(false);\n });\n }\n };\n\n onClickInside = () => {\n this.clickedInside = true;\n };\n\n focusInput = () => {\n // we need to focus the input so that math is saved even without pressing the green checkmark\n const slateEditorRef = this.editorRef && this.editorRef.rootRef && this.editorRef.rootRef.slateEditor;\n const inputRef = slateEditorRef && slateEditorRef.editorRef && slateEditorRef.editorRef.element;\n\n if (inputRef) {\n inputRef.focus();\n }\n };\n\n render() {\n const { classes, choices, spellCheck, uploadSoundSupport } = this.props;\n const { respAreaMarkup, toolbarStyle } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n );\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true },\n };\n\n if (!toolbarStyle) {\n return null;\n }\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6',\n }}\n onMouseDown={this.onClickInside}\n >\n <div className={classes.itemBuilder}>\n <EditableHtml\n ref={(ref) => {\n if (ref) {\n this.editorRef = ref;\n }\n }}\n autoFocus={true}\n autoSave\n className={classes.respArea}\n toolbarOpts={{\n position: 'top',\n alwaysVisible: false,\n showDone: false,\n doneOn: 'blur',\n }}\n markup={respAreaMarkup}\n onKeyDown={this.onKeyDown}\n onChange={this.onRespAreaChange}\n onDone={this.onDone}\n placeholder=\"Add Choice\"\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n onBlur={this.onBlur}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n />\n <i\n style={{\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n top: '50%',\n right: '15px',\n transform: 'translate(0, -50%)',\n }}\n contentEditable={false}\n onMouseDown={() => this.focusInput()}\n onClick={() => this.onAddChoice()}\n >\n +\n </i>\n </div>\n {choices && (\n <div className={classes.choicesHolder}>\n {choices.map(({ label, correct }, index) => (\n <MenuItem\n key={index}\n onClick={() => this.onSelectChoice(label, index)}\n onRemoveChoice={() => this.onRemoveChoice(label, index)}\n value={label}\n correct={correct}\n />\n ))}\n </div>\n )}\n </div>\n );\n }\n}\n\nconst StyledRespAreaToolbar = withStyles({\n respArea: {\n backgroundColor: '#fff',\n '& [data-slate-editor=\"true\"]': {\n minHeight: 'initial !important',\n },\n },\n choicesHolder: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:last-child': {\n border: 'none',\n },\n },\n itemBuilder: {\n padding: '8px',\n position: 'relative',\n },\n})(RespAreaToolbar);\n\nexport default StyledRespAreaToolbar;\n"],"mappings":"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"}