@pie-lib/mask-markup 1.29.1-next.0 → 1.30.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/serialization.js","../src/mask.jsx","../src/componentize.js","../src/with-mask.jsx","../src/choices/choice.jsx","../src/choices/index.jsx","../src/components/blank.jsx","../src/drag-in-the-blank.jsx","../src/constructed-response.jsx","../src/customizable.jsx","../src/components/dropdown.jsx","../src/inline-dropdown.jsx"],"sourcesContent":["import Html from 'slate-html-serializer';\nimport { object as toStyleObject } from 'to-style';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:mask-markup:serialization');\n\nconst INLINE = ['span'];\nconst MARK = ['em', 'strong', 'u'];\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\n\nconst attr = (el) => {\n if (!el.attributes || el.attributes.length <= 0) {\n return undefined;\n }\n\n const out = {};\n let i;\n\n for (i = 0; i < el.attributes.length; i++) {\n const a = el.attributes[i];\n\n out[a.name] = a.value;\n }\n\n return out;\n};\n\nconst getObject = (type) => {\n if (INLINE.includes(type)) {\n return 'inline';\n } else if (MARK.includes(type)) {\n return 'mark';\n }\n return 'block';\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst handleStyles = (el, attribute) => {\n const styleString = el.getAttribute(attribute);\n\n return reactAttributes(parseStyleString(styleString));\n};\n\nconst handleClass = (el, acc, attribute) => {\n const classNames = el.getAttribute(attribute);\n\n delete acc.class;\n\n return classNames;\n};\n\nconst attributesToMap = (el) => (acc, attribute) => {\n if (!el.getAttribute) {\n return acc;\n }\n\n const value = el.getAttribute(attribute);\n\n if (value) {\n switch (attribute) {\n case 'style':\n acc.style = handleStyles(el, attribute);\n break;\n case 'class':\n acc.className = handleClass(el, acc, attribute);\n break;\n default:\n acc[attribute] = el.getAttribute(attribute);\n break;\n }\n }\n\n return acc;\n};\n\nconst attributes = ['border', 'class', 'style'];\n\n/**\n * Tags to marks.\n *\n * @type {Object}\n */\n\nexport const MARK_TAGS = {\n b: 'bold',\n em: 'italic',\n u: 'underline',\n s: 'strikethrough',\n code: 'code',\n strong: 'strong',\n};\n\nconst marks = {\n deserialize(el, next) {\n const mark = MARK_TAGS[el.tagName.toLowerCase()];\n if (!mark) return;\n log('[deserialize] mark: ', mark);\n return {\n object: 'mark',\n type: mark,\n nodes: next(el.childNodes),\n };\n },\n};\n\nconst rules = [\n marks,\n {\n /**\n * deserialize everything, we're not fussy about the dom structure for now.\n */\n deserialize: (el, next) => {\n if (el.nodeType === COMMENT_NODE) {\n return undefined;\n }\n\n if (el.nodeType === TEXT_NODE) {\n return {\n object: 'text',\n leaves: [{ text: el.textContent }],\n };\n }\n\n const type = el.tagName.toLowerCase();\n\n const normalAttrs = attr(el) || {};\n\n if (type == 'audio' && normalAttrs.controls == '') {\n normalAttrs.controls = true;\n }\n\n const allAttrs = attributes.reduce(attributesToMap(el), { ...normalAttrs });\n const object = getObject(type);\n\n if (el.tagName.toLowerCase() === 'math') {\n return {\n isMath: true,\n nodes: [el],\n };\n }\n\n return {\n object,\n type,\n data: { dataset: { ...el.dataset }, attributes: { ...allAttrs } },\n nodes: next(el.childNodes),\n };\n },\n },\n];\n\n/**\n * Create a new serializer instance with our `rules` from above.\n * Having a default div block will just put every div on it's own line, which is not ideal.\n */\nconst html = new Html({ rules, defaultBlock: 'span' });\n\nexport const deserialize = (s) => html.deserialize(s, { toJSON: true });\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\nimport cx from 'classnames';\n\nconst Paragraph = withStyles((theme) => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit,\n },\n}))((props) => <div className={props.classes.para}>{props.children}</div>);\n\nconst Spacer = withStyles(() => ({\n spacer: {\n display: 'inline-block',\n width: '.75em',\n },\n}))((props) => <span className={props.classes.spacer} />);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const mark = n.leaves.find((leave) => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial',\n },\n tableStyle: {\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n },\n}))((props) => <div className={cx(props.classes.main, props.classes.tableStyle)}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout, elementType } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n","const REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport default (s, t) => {\n if (!s) {\n return { markup: '' };\n }\n\n const markup = s.replace(REGEX, (match, g) => {\n return `<span data-component=\"${t}\" data-id=\"${g}\"></span>`;\n });\n\n return { markup };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport Mask from './mask';\nimport componentize from './componentize';\nimport { deserialize } from './serialization';\n\nexport const buildLayoutFromMarkup = (markup, type) => {\n const { markup: processed } = componentize(markup, type);\n const value = deserialize(processed);\n return value.document;\n};\n\nexport const withMask = (type, renderChildren) => {\n return class WithMask extends React.Component {\n static propTypes = {\n /**\n * At the start we'll probably work with markup\n */\n markup: PropTypes.string,\n /**\n * Once we start authoring, it may make sense for use to us layout, which will be a simple js object that maps to `slate.Value`.\n */\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n customMarkMarkupComponent: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n componentDidUpdate(prevProps) {\n if (this.props.markup !== prevProps.markup) {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n // Query all elements that may contain outdated MathJax renderings\n const mathElements = domNode && domNode.querySelectorAll('[data-latex][data-math-handled=\"true\"]');\n\n // Clean up for fresh MathJax processing\n (mathElements || []).forEach((el) => {\n // Remove the MathJax container to allow for clean updates\n const mjxContainer = el.querySelector('mjx-container');\n\n if (mjxContainer) {\n el.removeChild(mjxContainer);\n }\n\n // Update the innerHTML to match the raw LaTeX data, ensuring it is reprocessed correctly\n const latexCode = el.getAttribute('data-raw');\n el.innerHTML = latexCode;\n\n // Remove the attribute to signal that MathJax should reprocess this element\n el.removeAttribute('data-math-handled');\n });\n }\n }\n\n render() {\n const { markup, layout, value, onChange, elementType } = this.props;\n\n const maskLayout = layout ? layout : buildLayoutFromMarkup(markup, type);\n return (\n <Mask\n elementType={elementType}\n layout={maskLayout}\n value={value}\n onChange={onChange}\n renderChildren={renderChildren(this.props)}\n />\n );\n }\n };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\n\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport { DragSource } from '@pie-lib/drag';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nclass BlankContentComp extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n connectDragSource: PropTypes.func,\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.dragContainerRef);\n }\n };\n\n // start drag after 500ms (touch and hold duration) for chromebooks and other touch devices PD-4888\n handleTouchStart = (e) => {\n e.preventDefault();\n this.longPressTimer = setTimeout(() => {\n this.startDrag(e);\n }, 500);\n };\n\n handleTouchEnd = () => {\n clearTimeout(this.longPressTimer);\n };\n\n handleTouchMove = () => {\n clearTimeout(this.longPressTimer);\n };\n\n componentDidMount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n this.dragContainerRef.addEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentWillUnmount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.removeEventListener('touchstart', this.handleTouchStart);\n this.dragContainerRef.removeEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n\n return connectDragSource(\n <span\n className={classnames(classes.choice, disabled && classes.disabled)}\n ref={(ref) => {\n //eslint-disable-next-line\n this.dragContainerRef = ReactDOM.findDOMNode(ref);\n }}\n >\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n className={classes.chip}\n label={\n <span\n className={classes.chipLabel}\n ref={(ref) => {\n if (ref) {\n ref.innerHTML = choice.value || ' ';\n }\n }}\n >\n {' '}\n </span>\n }\n variant={disabled ? 'outlined' : undefined}\n />\n </span>,\n {},\n );\n }\n}\n\nexport const BlankContent = withStyles((theme) => ({\n choice: {\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing.unit * 2,\n margin: theme.spacing.unit / 2,\n transform: 'translate(0, 0)',\n },\n chip: {\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n disabled: {\n opacity: 0.6,\n },\n}))(BlankContentComp);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled;\n },\n beginDrag(props) {\n return {\n choice: props.choice,\n instanceId: props.instanceId,\n };\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(BlankContent);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\nimport { DragDroppablePlaceholder } from '@pie-lib/drag';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n choicePosition: PropTypes.string.isRequired,\n };\n\n getStyleForWrapper = () => {\n const { choicePosition } = this.props;\n\n switch (choicePosition) {\n case 'above':\n return {\n margin: '0 0 40px 0',\n };\n\n case 'below':\n return {\n margin: '40px 0 0 0',\n };\n\n case 'right':\n return {\n margin: '0 0 0 40px',\n };\n\n default:\n return {\n margin: '0 40px 0 0',\n };\n }\n };\n\n render() {\n const { disabled, duplicates, choices, value } = this.props;\n const filteredChoices = choices.filter((c) => {\n if (duplicates === true) {\n return true;\n }\n const foundChoice = findKey(value, (v) => v === c.id);\n return foundChoice === undefined;\n });\n const elementStyle = { ...this.getStyleForWrapper(), minWidth: '100px' };\n\n return (\n <div style={elementStyle}>\n <DragDroppablePlaceholder disabled={disabled}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </DragDroppablePlaceholder>\n </div>\n );\n }\n}\n","import grey from '@material-ui/core/colors/grey';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\nimport { DragSource, DropTarget } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-lib:mask-markup:blank');\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst useStyles = withStyles(() => ({\n content: {\n border: `solid 0px ${color.primary()}`,\n minWidth: '200px',\n touchAction: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap', // Prevent line wrapping\n },\n chip: {\n backgroundColor: color.background(),\n border: `2px dashed ${color.text()}`,\n color: color.text(),\n fontSize: 'inherit',\n maxWidth: '374px',\n position: 'relative',\n borderRadius: '3px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n // Remove default <p> margins to ensure consistent spacing across all wrapped content (p, span, div, math)\n // Padding for top and bottom will instead be controlled by the container for consistent layout\n // Ensures consistent behavior with pie-api-browser, where marginTop is already removed by a Bootstrap stylesheet\n '& p': {\n marginTop: '0',\n marginBottom: '0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n hidden: {\n color: 'transparent',\n opacity: 0,\n },\n dragged: {\n position: 'absolute',\n left: 16,\n maxWidth: '60px',\n },\n correct: {\n border: `solid 1px ${color.correct()}`,\n },\n incorrect: {\n border: `solid 1px ${color.incorrect()}`,\n },\n over: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n parentOver: {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n}));\n\nexport class BlankContent extends React.Component {\n constructor() {\n super();\n this.state = {\n height: 0,\n width: 0,\n };\n }\n\n handleImageLoad = () => {\n this.updateDimensions();\n };\n\n handleElements() {\n const imageElement = this.spanRef?.querySelector('img');\n\n if (imageElement) {\n imageElement.onload = this.handleImageLoad;\n } else {\n setTimeout(() => {\n this.updateDimensions();\n }, 300);\n }\n }\n\n componentDidMount() {\n this.handleElements();\n if (this.rootRef) {\n this.rootRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n }\n }\n\n componentDidUpdate(prevProps) {\n renderMath(this.rootRef);\n const { choice: currentChoice } = this.props;\n const { choice: prevChoice } = prevProps;\n\n if (JSON.stringify(currentChoice) !== JSON.stringify(prevChoice)) {\n if (!currentChoice) {\n this.setState({\n height: 0,\n width: 0,\n });\n return;\n }\n this.handleElements();\n }\n }\n\n componentWillUnmount() {\n if (this.rootRef) {\n this.rootRef.removeEventListener('touchstart', this.handleTouchStart);\n }\n }\n\n handleTouchStart = (e) => {\n e.preventDefault();\n this.touchStartTimer = setTimeout(() => {\n this.startDrag();\n }, 300); // Start drag after 300ms (touch and hold duration)\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.rootRef);\n }\n };\n\n updateDimensions() {\n if (this.spanRef && this.rootRef) {\n // Temporarily set rootRef width to 'auto' for natural measurement\n this.rootRef.style.width = 'auto';\n\n // Get the natural dimensions of the content\n const width = this.spanRef.offsetWidth || 0;\n const height = this.spanRef.offsetHeight || 0;\n\n const widthWithPadding = width + 24; // 12px padding on each side\n const heightWithPadding = height + 24; // 12px padding on top and bottom\n\n const responseAreaWidth = parseFloat(this.props.emptyResponseAreaWidth) || 0;\n const responseAreaHeight = parseFloat(this.props.emptyResponseAreaHeight) || 0;\n\n const adjustedWidth = widthWithPadding <= responseAreaWidth ? responseAreaWidth : widthWithPadding;\n const adjustedHeight = heightWithPadding <= responseAreaHeight ? responseAreaHeight : heightWithPadding;\n\n this.setState((prevState) => ({\n width: adjustedWidth > responseAreaWidth ? adjustedWidth : prevState.width,\n height: adjustedHeight > responseAreaHeight ? adjustedHeight : prevState.height,\n }));\n\n this.rootRef.style.width = `${adjustedWidth}px`;\n this.rootRef.style.height = `${adjustedHeight}px`;\n }\n }\n\n addDraggableFalseAttributes(parent) {\n parent.childNodes.forEach((elem) => {\n if (elem instanceof Element || elem instanceof HTMLDocument) {\n elem.setAttribute('draggable', false);\n }\n });\n }\n\n getRootDimensions() {\n // Handle potential non-numeric values\n const responseAreaWidth = !isNaN(parseFloat(this.props.emptyResponseAreaWidth))\n ? parseFloat(this.props.emptyResponseAreaWidth)\n : 0;\n const responseAreaHeight = !isNaN(parseFloat(this.props.emptyResponseAreaHeight))\n ? parseFloat(this.props.emptyResponseAreaHeight)\n : 0;\n\n const rootStyle = {\n height: this.state.height || responseAreaHeight,\n width: this.state.width || responseAreaWidth,\n };\n\n // add minWidth, minHeight if width and height are not defined\n // minWidth, minHeight will be also in model in the future\n return {\n ...rootStyle,\n ...(responseAreaWidth ? {} : { minWidth: 90 }),\n ...(responseAreaHeight ? {} : { minHeight: 32 }),\n };\n }\n\n render() {\n const { disabled, choice, classes, isOver, dragItem, correct } = this.props;\n const draggedLabel = dragItem && isOver && dragItem.choice.value;\n const label = choice && choice.value;\n\n return (\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n component=\"span\"\n label={\n <React.Fragment>\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, {\n [classes.hidden]: draggedLabel,\n })}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = label || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n {draggedLabel && (\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, classes.dragged)}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = draggedLabel || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n )}\n </React.Fragment>\n }\n className={classnames(classes.chip, isOver && classes.over, isOver && classes.parentOver, {\n [classes.correct]: correct !== undefined && correct,\n [classes.incorrect]: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={{\n ...this.getRootDimensions(),\n }}\n />\n );\n }\n}\n\nBlankContent.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nBlankContent.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nconst StyledBlankContent = useStyles(BlankContent);\n\nconst connectedBlankContent = useStyles(({ connectDragSource, connectDropTarget, ...props }) => {\n const { classes, isOver } = props;\n\n return connectDropTarget(\n connectDragSource(\n <span className={classnames(classes.content, isOver && classes.over)}>\n <StyledBlankContent {...props} />\n </span>,\n ),\n );\n});\n\nconst tileTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n log('props.instanceId', props.instanceId, 'draggedItem.instanceId:', draggedItem.instanceId);\n\n if (draggedItem.id !== props.id) {\n props.onChange(props.id, draggedItem.choice.id);\n }\n\n return {\n dropped: draggedItem.id !== props.id,\n };\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nconst DropTile = DropTarget(DRAG_TYPE, tileTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n dragItem: monitor.getItem(),\n}))(connectedBlankContent);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled && !!props.choice;\n },\n beginDrag(props) {\n return {\n id: props.id,\n choice: props.choice,\n instanceId: props.instanceId,\n fromChoice: true,\n };\n },\n endDrag(props, monitor) {\n // this will be null if it did not drop\n const dropResult = monitor.getDropResult();\n\n if (!dropResult || dropResult.dropped) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.fromChoice) {\n props.onChange(props.id, undefined);\n }\n }\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropTile);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Choices from './choices';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={onChange}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n\n UNSAFE_componentWillReceiveProps() {\n if (this.rootRef) {\n renderMath(this.rootRef);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n layout,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n minWidth: '100px',\n ...this.getPositionDirection(choicePosition),\n };\n\n return (\n <div ref={(ref) => ref && (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n duplicates={duplicates}\n choices={choices}\n value={value}\n disabled={disabled}\n />\n <Masked\n elementType={'drag-in-the-blank'}\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n />\n </div>\n );\n }\n}\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withMask } from './with-mask';\n\nconst styles = () => ({\n editableHtmlCustom: {\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n});\n\nconst MaskedInput = (props) => (node, data) => {\n const {\n adjustedLimit,\n disabled,\n feedback,\n showCorrectAnswer,\n maxLength,\n spellCheck,\n classes,\n pluginProps,\n onChange,\n } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return false;\n }\n };\n\n return (\n <EditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n width={`calc(${width}em + 42px)`} // added 42px for left and right padding of editable-html\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames(classes.editableHtmlCustom, {\n [classes.correct]: isCorrect,\n [classes.incorrect]: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withStyles(styles)(withMask('input', MaskedInput));\n","import React from 'react';\n// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';\nimport Close from '@material-ui/icons/Close';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nclass Dropdown extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n classes: PropTypes.object,\n correct: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n showCorrectAnswer: PropTypes.bool,\n singleQuery: PropTypes.bool,\n correctValue: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n anchorEl: null,\n highlightedOptionId: null,\n menuWidth: null,\n previewValue: null,\n };\n this.hiddenRef = React.createRef();\n this.buttonRef = React.createRef();\n this.previewRef = React.createRef();\n this.elementRefs = [];\n }\n\n componentDidMount() {\n // measure hidden menu width once\n if (this.hiddenRef.current && this.state.menuWidth === null) {\n this.setState({ menuWidth: this.hiddenRef.current.clientWidth });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const hiddenEl = this.hiddenRef.current;\n\n const dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;\n if (dropdownJustOpened) {\n this.elementRefs.forEach((ref) => {\n if (!ref) return;\n\n const containsLatex = ref.querySelector('[data-latex], [data-raw]');\n const hasMathJax = ref.querySelector('mjx-container');\n const mathHandled = ref.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(ref);\n }\n });\n }\n\n if (hiddenEl) {\n const newWidth = hiddenEl.clientWidth;\n if (newWidth !== this.state.menuWidth) {\n this.elementRefs.forEach((ref) => {\n if (ref) renderMath(ref);\n });\n\n renderMath(hiddenEl);\n this.setState({ menuWidth: newWidth });\n }\n }\n }\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => {\n const { value } = this.props;\n this.setState({ anchorEl: null, previewValue: null, highlightedOptionId: null });\n // clear displayed preview if no selection\n if (!value && this.previewRef.current) {\n this.previewRef.current.innerHTML = '';\n }\n };\n\n handleHighlight = (index) => {\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n\n // preview on hover if nothing selected\n const stateUpdate = { highlightedOptionId };\n if (!this.props.value) {\n stateUpdate.previewValue = this.props.choices[index].value;\n }\n this.setState(stateUpdate);\n };\n\n handleSelect = (value, index) => {\n this.props.onChange(this.props.id, value);\n this.handleHighlight(index);\n this.handleClose();\n };\n\n handleHover = (index) => {\n const selectedValue = this.props.value;\n\n if (selectedValue) return;\n\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n const previewValue = this.state.previewValue;\n\n this.setState({ highlightedOptionId, previewValue }, () => {\n // On hover, preview the math-rendered content inside the button if no value is selected.\n const ref = this.elementRefs[index];\n const preview = this.previewRef.current;\n\n if (ref && preview) {\n preview.innerHTML = ref.innerHTML;\n }\n });\n };\n\n getLabel(choices, value) {\n const found = (choices || []).find((choice) => choice.value === value);\n\n return found ? found.label.trim() : undefined;\n }\n\n render() {\n const { classes, id, correct, disabled, value, choices, showCorrectAnswer, singleQuery, correctValue } = this.props;\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n const buttonId = `dropdown-button-${id}`;\n const menuId = `dropdown-menu-${id}`;\n const valueDisplayId = `dropdown-value-${id}`;\n\n // Determine the class for disabled state, view mode and evaluate mode\n let disabledClass;\n // Reset elementRefs before each render to avoid stale references\n this.elementRefs = [];\n\n if (disabled && correct !== undefined) {\n disabledClass = correct || showCorrectAnswer ? classes.disabledCorrect : classes.disabledIncorrect;\n }\n\n // Create distinct, visually hidden labels for each dropdown\n const incrementedId = parseInt(id, 10) + 1;\n const labelId = singleQuery ? 'Query-label' : `Query-label-${incrementedId}`;\n const labelText = singleQuery ? 'Query' : `Query ${incrementedId}`;\n\n // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.\n let correctnessIcon = null;\n if (disabled && correct !== undefined) {\n correctnessIcon =\n correct || showCorrectAnswer ? (\n <Check className={classNames(classes.correctnessIndicatorIcon, classes.correctIcon)} />\n ) : (\n <Close className={classNames(classes.correctnessIndicatorIcon, classes.incorrectIcon)} />\n );\n }\n\n return (\n <>\n <div\n ref={this.hiddenRef}\n style={{ position: 'absolute', visibility: 'hidden', top: 0, left: 0 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {(choices || []).map((c, index) => (\n <MenuItem\n key={index}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n <span className={classes.label} dangerouslySetInnerHTML={{ __html: c.label }} />\n </MenuItem>\n ))}\n </div>\n <InputLabel className={classes.srOnly} id={labelId} tabIndex={-1} aria-hidden=\"true\">\n {labelText}\n </InputLabel>\n <Button\n ref={this.buttonRef}\n style={{\n ...(this.state.menuWidth && { minWidth: `calc(${this.state.menuWidth}px + 8px)` }),\n borderWidth: open ? '2px' : '1px',\n transition: 'border-width 0.2s ease-in-out',\n }}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? 'true' : undefined}\n aria-activedescendant={this.state.highlightedOptionId}\n onClick={this.handleClick}\n classes={{\n root: classes.root,\n disabled: disabledClass,\n }}\n disabled={disabled}\n id={buttonId}\n role=\"combobox\"\n aria-label={`Select an option for ${labelText}`}\n aria-labelledby={valueDisplayId}\n >\n {correctnessIcon}\n <span\n id={valueDisplayId}\n ref={this.previewRef}\n className={classes.label}\n dangerouslySetInnerHTML={{\n __html: correctValue\n ? correctValue\n : open && this.state.previewValue\n ? this.getLabel(choices, this.state.previewValue)\n : this.getLabel(choices, value) || '',\n }}\n />\n {open ? <ArrowDropUpIcon /> : <ArrowDropDownIcon />}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchorEl}\n className={classes.selectMenu}\n keepMounted\n open={open}\n onClose={this.handleClose}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n PaperProps={this.state.menuWidth ? { style: { minWidth: this.state.menuWidth, padding: '4px' } } : undefined}\n MenuListProps={{\n 'aria-labelledby': buttonId,\n role: 'listbox',\n disablePadding: true,\n }}\n >\n {(choices || []).map((c, index) => {\n const optionId = `dropdown-option-${id}-${index}`;\n\n return (\n <MenuItem\n id={optionId}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n key={`${c.label}-${index}`}\n value={c.value}\n onClick={() => this.handleSelect(c.value, index)}\n role=\"option\"\n aria-selected={this.state.highlightedOptionId === optionId ? 'true' : undefined}\n onMouseOver={() => this.handleHover(index)}\n >\n <span\n ref={(ref) => (this.elementRefs[index] = ref)}\n className={classes.label}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n <span\n className={classes.selectedIndicator}\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n </MenuItem>\n );\n })}\n </Menu>\n </>\n );\n }\n}\n\nconst styles = () => ({\n root: {\n color: color.text(),\n border: `1px solid ${color.borderGray()}`,\n borderRadius: '4px',\n justifyContent: 'space-between',\n backgroundColor: color.background(),\n position: 'relative',\n height: '45px',\n width: 'fit-content',\n margin: '2px',\n textTransform: 'none',\n '& span': {\n paddingRight: '5px',\n },\n '& svg': {\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n pointerEvents: 'none',\n color: color.text(),\n marginLeft: '5px',\n },\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '2px',\n borderWidth: '3px',\n },\n },\n disabledCorrect: {\n borderWidth: '2px',\n borderColor: color.correct(),\n color: `${color.text()} !important`,\n },\n disabledIncorrect: {\n borderWidth: '2px',\n borderColor: color.incorrectWithIcon(),\n color: `${color.text()} !important`,\n },\n selectMenu: {\n backgroundColor: color.background(),\n border: `1px solid ${color.correct()} !important`,\n '&:hover': {\n border: `1px solid ${color.text()} `,\n borderColor: 'initial',\n },\n '&:focus': {\n border: `1px solid ${color.text()}`,\n borderColor: 'initial',\n },\n // remove default padding on the inner list\n '& .MuiList-root': {\n padding: 0,\n },\n },\n selected: {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.dropdownBackground()} !important`,\n },\n },\n menuRoot: {\n color: color.text(),\n backgroundColor: color.background(),\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '-1px', // keeps it inside the item\n },\n '&:focus': {\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.dropdownBackground(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n borderRadius: '4px',\n },\n label: {\n fontSize: 'max(1rem, 14px)',\n },\n selectedIndicator: {\n fontSize: 'max(1rem, 14px)',\n position: 'absolute',\n right: '10px',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n correctnessIndicatorIcon: {\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n});\n\nexport default withStyles(styles)(Dropdown);\n","import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"names":["log","debug","INLINE","MARK","TEXT_NODE","COMMENT_NODE","attr","el","attributes","length","undefined","out","i","a","name","value","getObject","type","includes","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","class","attributesToMap","style","className","MARK_TAGS","b","em","u","code","strong","marks","deserialize","next","mark","tagName","toLowerCase","object","nodes","childNodes","rules","nodeType","leaves","text","textContent","normalAttrs","controls","allAttrs","reduce","isMath","data","dataset","html","Html","defaultBlock","toJSON","Paragraph","withStyles","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","Spacer","spacer","display","width","restrictWhitespaceTypes","addText","parentNode","isWhitespace","parentType","getMark","n","find","leave","get","renderChildren","layout","onChange","rootRenderChildren","elementType","forEach","index","key","push","__html","innerHTML","c","content","l","t","extraText","markKey","Tag","subNodes","MaskContainer","main","tableStyle","borderCollapse","padding","textAlign","cx","Mask","React","Component","handleChange","id","render","propTypes","PropTypes","func","string","REGEX","markup","replace","g","buildLayoutFromMarkup","processed","componentize","document","withMask","WithMask","componentDidUpdate","prevProps","domNode","ReactDOM","findDOMNode","mathElements","querySelectorAll","mjxContainer","querySelector","removeChild","latexCode","removeAttribute","maskLayout","customMarkMarkupComponent","DRAG_TYPE","BlankContentComp","startDrag","connectDragSource","disabled","dragContainerRef","handleTouchStart","e","preventDefault","longPressTimer","setTimeout","handleTouchEnd","clearTimeout","handleTouchMove","componentDidMount","addEventListener","passive","componentWillUnmount","removeEventListener","renderMath","rootRef","choice","classnames","ref","chip","chipLabel","bool","BlankContent","border","palette","primary","borderRadius","margin","transform","backgroundColor","color","white","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","opacity","tileSource","canDrag","beginDrag","instanceId","DragDropTile","DragSource","connect","monitor","dragSource","isDragging","Choices","getStyleForWrapper","choicePosition","duplicates","choices","filteredChoices","filter","foundChoice","findKey","v","elementStyle","minWidth","map","Choice","arrayOf","shape","label","isRequired","useStyles","touchAction","overflow","background","position","marginTop","marginBottom","hidden","dragged","left","correct","incorrect","over","parentOver","grey","constructor","handleImageLoad","updateDimensions","touchStartTimer","state","handleElements","imageElement","spanRef","onload","currentChoice","prevChoice","JSON","stringify","setState","offsetWidth","offsetHeight","widthWithPadding","heightWithPadding","responseAreaWidth","parseFloat","emptyResponseAreaWidth","responseAreaHeight","emptyResponseAreaHeight","adjustedWidth","adjustedHeight","prevState","addDraggableFalseAttributes","parent","elem","Element","HTMLDocument","setAttribute","getRootDimensions","isNaN","rootStyle","isOver","dragItem","draggedLabel","defaultProps","oneOfType","number","StyledBlankContent","connectedBlankContent","connectDropTarget","tileTarget","drop","draggedItem","getItem","dropped","canDrop","DropTile","DropTarget","dropTarget","fromChoice","endDrag","dropResult","getDropResult","Masked","node","component","correctResponse","feedback","showCorrectAnswer","choiceId","Blank","DragInTheBlank","getPositionDirection","flexDirection","justifyContent","UNSAFE_componentWillReceiveProps","choicesPosition","styles","editableHtmlCustom","verticalAlign","black","MaskedInput","adjustedLimit","maxLength","spellCheck","pluginProps","correctAnswer","finalValue","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","keyCode","language","noBorder","isHidden","characters","Dropdown","handleClick","anchorEl","currentTarget","handleClose","previewValue","highlightedOptionId","previewRef","current","handleHighlight","stateUpdate","handleSelect","handleHover","selectedValue","elementRefs","preview","menuWidth","hiddenRef","createRef","buttonRef","clientWidth","hiddenEl","dropdownJustOpened","containsLatex","hasMathJax","mathHandled","newWidth","getLabel","found","singleQuery","correctValue","open","Boolean","buttonId","menuId","valueDisplayId","disabledClass","disabledCorrect","disabledIncorrect","incrementedId","parseInt","labelId","labelText","correctnessIcon","correctnessIndicatorIcon","correctIcon","incorrectIcon","visibility","top","root","menuRoot","selected","srOnly","borderWidth","transition","selectMenu","vertical","horizontal","role","disablePadding","optionId","selectedIndicator","borderGray","textTransform","paddingRight","right","marginLeft","outline","tertiary","outlineOffset","borderColor","incorrectWithIcon","dropdownBackground","boxSizing","finalChoice","Object","keys"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/mask-markup",
3
- "version": "1.29.1-next.0+a5d1550f",
3
+ "version": "1.30.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -10,10 +10,10 @@
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.3",
12
12
  "@material-ui/icons": "^3.0.2",
13
- "@pie-lib/drag": "^2.18.1-next.0+a5d1550f",
14
- "@pie-lib/editable-html": "^11.17.1-next.0+a5d1550f",
15
- "@pie-lib/math-rendering": "^3.18.1-next.0+a5d1550f",
16
- "@pie-lib/render-ui": "^4.31.1-next.0+a5d1550f",
13
+ "@pie-lib/drag": "^2.19.1",
14
+ "@pie-lib/editable-html": "^11.18.1",
15
+ "@pie-lib/math-rendering": "^3.19.0",
16
+ "@pie-lib/render-ui": "^4.32.1",
17
17
  "classnames": "^2.2.6",
18
18
  "debug": "^4.1.1",
19
19
  "immutable": "^4.0.0-rc.12",
@@ -31,5 +31,12 @@
31
31
  "keywords": [],
32
32
  "author": "",
33
33
  "license": "ISC",
34
- "gitHead": "a5d1550faec7e27c8824e5aa4b4ef29ad4ee525a"
34
+ "gitHead": "be0b7951407a81d53b8b8b4861b8407b31728809",
35
+ "exports": {
36
+ ".": {
37
+ "import": "./esm/index.js",
38
+ "require": "./lib/index.js",
39
+ "default": "./esm/index.js"
40
+ }
41
+ }
35
42
  }