@pie-lib/mask-markup 1.12.16-next.30 → 1.12.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.12.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.12.16...@pie-lib/mask-markup@1.12.17) (2022-11-23)
7
+
8
+ **Note:** Version bump only for package @pie-lib/mask-markup
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.12.16](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.12.15...@pie-lib/mask-markup@1.12.16) (2022-11-23)
15
+
16
+ **Note:** Version bump only for package @pie-lib/mask-markup
17
+
18
+
19
+
20
+
21
+
6
22
  ## [1.12.15](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.12.14...@pie-lib/mask-markup@1.12.15) (2022-10-31)
7
23
 
8
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choices/choice.jsx"],"names":["DRAG_TYPE","BlankContentComp","rootRef","props","connectDragSource","choice","classes","disabled","ref","ReactDOM","findDOMNode","chip","chipLabel","innerHTML","value","undefined","React","Component","PropTypes","bool","object","func","BlankContent","theme","border","palette","primary","main","alignItems","display","height","minHeight","fontSize","whiteSpace","maxWidth","margin","padding","tileSource","canDrag","beginDrag","instanceId","DragDropTile","connect","monitor","dragSource","isDragging"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragSource } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\nimport ReactDOM from 'react-dom';\nimport { renderMath } from '@pie-lib/math-rendering';\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 componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n return connectDragSource(\n <span className={classnames(classes.choice, disabled && classes.disabled)}>\n <Chip\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 },\n chip: {\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n margin: '4px'\n },\n chipLabel: {\n whiteSpace: 'pre-wrap',\n '& img': {\n display: 'block',\n padding: '2px 0'\n }\n },\n disabled: {}\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"],"file":"choice.js"}
1
+ {"version":3,"sources":["../../src/choices/choice.jsx"],"names":["DRAG_TYPE","BlankContentComp","rootRef","props","connectDragSource","choice","classes","disabled","ref","ReactDOM","findDOMNode","chip","chipLabel","innerHTML","value","undefined","React","Component","PropTypes","bool","object","func","BlankContent","theme","border","palette","primary","main","alignItems","display","height","minHeight","fontSize","whiteSpace","maxWidth","margin","padding","tileSource","canDrag","beginDrag","instanceId","DragDropTile","connect","monitor","dragSource","isDragging"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragSource } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\nimport ReactDOM from 'react-dom';\nimport { renderMath } from '@pie-lib/math-rendering';\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 componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n return connectDragSource(\n <span className={classnames(classes.choice, disabled && classes.disabled)}>\n <Chip\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 },\n chip: {\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n margin: '4px',\n },\n chipLabel: {\n whiteSpace: 'pre-wrap',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n },\n disabled: {},\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"],"file":"choice.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choices/index.jsx"],"names":["Choices","choicePosition","props","margin","disabled","duplicates","choices","value","filteredChoices","filter","c","foundChoice","v","id","undefined","elementStyle","getStyleForWrapper","map","index","React","Component","PropTypes","bool","arrayOf","shape","label","string","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,O;;;;;;;;;;;;;;;2GAWE,YAAM;AACzB,UAAQC,cAAR,GAA2B,MAAKC,KAAhC,CAAQD,cAAR;;AAEA,cAAQA,cAAR;AACE,aAAK,OAAL;AACE,iBAAO;AACLE,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;AAdJ;AAkBD,K;;;;;;WAED,kBAAS;AACP,wBAAiD,KAAKD,KAAtD;AAAA,UAAQE,QAAR,eAAQA,QAAR;AAAA,UAAkBC,UAAlB,eAAkBA,UAAlB;AAAA,UAA8BC,OAA9B,eAA8BA,OAA9B;AAAA,UAAuCC,KAAvC,eAAuCA,KAAvC;AACA,UAAMC,eAAe,GAAGF,OAAO,CAACG,MAAR,CAAe,UAAAC,CAAC,EAAI;AAC1C,YAAIL,UAAU,KAAK,IAAnB,EAAyB;AACvB,iBAAO,IAAP;AACD;;AACD,YAAMM,WAAW,GAAG,yBAAQJ,KAAR,EAAe,UAAAK,CAAC;AAAA,iBAAIA,CAAC,KAAKF,CAAC,CAACG,EAAZ;AAAA,SAAhB,CAApB;AACA,eAAOF,WAAW,KAAKG,SAAvB;AACD,OANuB,CAAxB;AAOA,UAAMC,YAAY,GAAG,KAAKC,kBAAL,EAArB;AAEA,0BACE;AAAK,QAAA,KAAK,EAAED;AAAZ,SACGP,eAAe,CAACS,GAAhB,CAAoB,UAACP,CAAD,EAAIQ,KAAJ;AAAA,4BACnB,gCAAC,kBAAD;AAAQ,UAAA,GAAG,YAAKR,CAAC,CAACH,KAAP,cAAgBW,KAAhB,CAAX;AAAoC,UAAA,QAAQ,EAAEd,QAA9C;AAAwD,UAAA,MAAM,EAAEM;AAAhE,UADmB;AAAA,OAApB,CADH,CADF;AAOD;;;EApDkCS,kBAAMC,S;;;iCAAtBpB,O,eACA;AACjBI,EAAAA,QAAQ,EAAEiB,sBAAUC,IADH;AAEjBjB,EAAAA,UAAU,EAAEgB,sBAAUC,IAFL;AAGjBhB,EAAAA,OAAO,EAAEe,sBAAUE,OAAV,CACPF,sBAAUG,KAAV,CAAgB;AAAEC,IAAAA,KAAK,EAAEJ,sBAAUK,MAAnB;AAA2BnB,IAAAA,KAAK,EAAEc,sBAAUK;AAA5C,GAAhB,CADO,CAHQ;AAMjBnB,EAAAA,KAAK,EAAEc,sBAAUM,MANA;AAOjB1B,EAAAA,cAAc,EAAEoB,sBAAUK,MAAV,CAAiBE;AAPhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })\n ),\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 case 'below':\n return {\n margin: '40px 0 0 0'\n };\n case 'right':\n return {\n margin: '0 0 0 40px'\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();\n\n return (\n <div style={elementStyle}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </div>\n );\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/choices/index.jsx"],"names":["Choices","choicePosition","props","margin","disabled","duplicates","choices","value","filteredChoices","filter","c","foundChoice","v","id","undefined","elementStyle","getStyleForWrapper","map","index","React","Component","PropTypes","bool","arrayOf","shape","label","string","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,O;;;;;;;;;;;;;;;2GASE,YAAM;AACzB,UAAQC,cAAR,GAA2B,MAAKC,KAAhC,CAAQD,cAAR;;AAEA,cAAQA,cAAR;AACE,aAAK,OAAL;AACE,iBAAO;AACLE,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF,aAAK,OAAL;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAGF;AACE,iBAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;AAdJ;AAkBD,K;;;;;;WAED,kBAAS;AACP,wBAAiD,KAAKD,KAAtD;AAAA,UAAQE,QAAR,eAAQA,QAAR;AAAA,UAAkBC,UAAlB,eAAkBA,UAAlB;AAAA,UAA8BC,OAA9B,eAA8BA,OAA9B;AAAA,UAAuCC,KAAvC,eAAuCA,KAAvC;AACA,UAAMC,eAAe,GAAGF,OAAO,CAACG,MAAR,CAAe,UAACC,CAAD,EAAO;AAC5C,YAAIL,UAAU,KAAK,IAAnB,EAAyB;AACvB,iBAAO,IAAP;AACD;;AACD,YAAMM,WAAW,GAAG,yBAAQJ,KAAR,EAAe,UAACK,CAAD;AAAA,iBAAOA,CAAC,KAAKF,CAAC,CAACG,EAAf;AAAA,SAAf,CAApB;AACA,eAAOF,WAAW,KAAKG,SAAvB;AACD,OANuB,CAAxB;AAOA,UAAMC,YAAY,GAAG,KAAKC,kBAAL,EAArB;AAEA,0BACE;AAAK,QAAA,KAAK,EAAED;AAAZ,SACGP,eAAe,CAACS,GAAhB,CAAoB,UAACP,CAAD,EAAIQ,KAAJ;AAAA,4BACnB,gCAAC,kBAAD;AAAQ,UAAA,GAAG,YAAKR,CAAC,CAACH,KAAP,cAAgBW,KAAhB,CAAX;AAAoC,UAAA,QAAQ,EAAEd,QAA9C;AAAwD,UAAA,MAAM,EAAEM;AAAhE,UADmB;AAAA,OAApB,CADH,CADF;AAOD;;;EAlDkCS,kBAAMC,S;;;iCAAtBpB,O,eACA;AACjBI,EAAAA,QAAQ,EAAEiB,sBAAUC,IADH;AAEjBjB,EAAAA,UAAU,EAAEgB,sBAAUC,IAFL;AAGjBhB,EAAAA,OAAO,EAAEe,sBAAUE,OAAV,CAAkBF,sBAAUG,KAAV,CAAgB;AAAEC,IAAAA,KAAK,EAAEJ,sBAAUK,MAAnB;AAA2BnB,IAAAA,KAAK,EAAEc,sBAAUK;AAA5C,GAAhB,CAAlB,CAHQ;AAIjBnB,EAAAA,KAAK,EAAEc,sBAAUM,MAJA;AAKjB1B,EAAAA,cAAc,EAAEoB,sBAAUK,MAAV,CAAiBE;AALhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\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 case 'below':\n return {\n margin: '40px 0 0 0',\n };\n case 'right':\n return {\n margin: '0 0 0 40px',\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();\n\n return (\n <div style={elementStyle}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </div>\n );\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/blank.jsx"],"names":["log","DRAG_TYPE","useStyles","content","border","color","primary","minWidth","chip","fontSize","minHeight","height","maxWidth","position","chipLabel","whiteSpace","display","padding","hidden","opacity","dragged","left","correct","incorrect","over","overflow","BlankContent","state","prevProps","rootRef","currentChoice","props","choice","prevChoice","JSON","stringify","setState","setTimeout","spanRef","offsetHeight","parent","childNodes","forEach","elem","Element","HTMLDocument","setAttribute","disabled","classes","isOver","dragItem","draggedLabel","value","label","ref","ReactDOM","findDOMNode","innerHTML","addDraggableFalseAttributes","undefined","React","Component","id","PropTypes","oneOfType","string","number","bool","duplicates","object","onChange","func","StyledBlankContent","connectedBlankContent","connectDragSource","connectDropTarget","tileTarget","drop","monitor","draggedItem","getItem","instanceId","dropped","canDrop","DropTile","connect","dropTarget","tileSource","canDrag","beginDrag","fromChoice","endDrag","dropResult","getDropResult","DragDropTile","dragSource","isDragging"],"mappings":"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","sourcesContent":["import 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';\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 },\n chip: {\n minWidth: '90px',\n fontSize: 'inherit',\n minHeight: '32px',\n height: 'auto',\n maxWidth: '374px',\n position: 'relative'\n },\n chipLabel: {\n whiteSpace: 'pre-wrap',\n '& img': {\n display: 'block',\n padding: '2px 0'\n }\n },\n hidden: {\n color: 'transparent',\n opacity: 0\n },\n dragged: {\n position: 'absolute',\n left: 14,\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}));\n\nexport class BlankContent extends React.Component {\n static 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 };\n\n constructor() {\n super();\n this.state = {\n height: 0\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 });\n return;\n }\n setTimeout(() => {\n this.setState({\n height: this.spanRef.offsetHeight\n });\n }, 300);\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 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 <Chip\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, {\n [classes.correct]: correct !== undefined && correct,\n [classes.incorrect]: correct !== undefined && !correct\n })}\n variant={disabled ? 'outlined' : undefined}\n style={{\n ...(this.state.height ? { height: this.state.height } : {})\n }}\n classes={{\n label: isOver && classes.over\n }}\n />\n );\n }\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 && !props.duplicates)) {\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"],"file":"blank.js"}
1
+ {"version":3,"sources":["../../src/components/blank.jsx"],"names":["log","DRAG_TYPE","useStyles","content","border","color","primary","minWidth","chip","fontSize","minHeight","height","maxWidth","position","chipLabel","whiteSpace","display","padding","hidden","opacity","dragged","left","correct","incorrect","over","overflow","BlankContent","state","prevProps","rootRef","currentChoice","props","choice","prevChoice","JSON","stringify","setState","setTimeout","spanRef","offsetHeight","parent","childNodes","forEach","elem","Element","HTMLDocument","setAttribute","disabled","classes","isOver","dragItem","draggedLabel","value","label","ref","ReactDOM","findDOMNode","innerHTML","addDraggableFalseAttributes","undefined","React","Component","id","PropTypes","oneOfType","string","number","bool","duplicates","object","onChange","func","StyledBlankContent","connectedBlankContent","connectDragSource","connectDropTarget","tileTarget","drop","monitor","draggedItem","getItem","instanceId","dropped","canDrop","DropTile","connect","dropTarget","tileSource","canDrag","beginDrag","fromChoice","endDrag","dropResult","getDropResult","DragDropTile","dragSource","isDragging"],"mappings":"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","sourcesContent":["import 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';\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 },\n chip: {\n minWidth: '90px',\n fontSize: 'inherit',\n minHeight: '32px',\n height: 'auto',\n maxWidth: '374px',\n position: 'relative',\n },\n chipLabel: {\n whiteSpace: 'pre-wrap',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n },\n hidden: {\n color: 'transparent',\n opacity: 0,\n },\n dragged: {\n position: 'absolute',\n left: 14,\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}));\n\nexport class BlankContent extends React.Component {\n static 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 };\n\n constructor() {\n super();\n this.state = {\n height: 0,\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 });\n return;\n }\n setTimeout(() => {\n this.setState({\n height: this.spanRef.offsetHeight,\n });\n }, 300);\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 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 <Chip\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, {\n [classes.correct]: correct !== undefined && correct,\n [classes.incorrect]: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={{\n ...(this.state.height ? { height: this.state.height } : {}),\n }}\n classes={{\n label: isOver && classes.over,\n }}\n />\n );\n }\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 && !props.duplicates)) {\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"],"file":"blank.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/correct-input.jsx"],"names":["correctStyle","color","borderColor","input","text","backgroundColor","background","borderRadius","borderWidth","borderStyle","padding","opacity","cursor","primary","primaryDark","crInput","correct","incorrect","box","fontSize","outlinedInput","border","notchedOutline","props","charactersLimit","classes","disabled","isBox","isConstructedResponse","width","spellCheck","rest","label","undefined","inputProps","maxLength","style","Math","round","disabledInput"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAAAC,KAAK;AAAA,SAAK;AAC7BC,IAAAA,WAAW,YAAKD,KAAL;AADkB,GAAL;AAAA,CAA1B;;eAIe,wBAAW;AAAA,SAAO;AAC/BE,IAAAA,KAAK,EAAE;AACLF,MAAAA,KAAK,EAAEA,gBAAMG,IAAN,EADF;AAELC,MAAAA,eAAe,EAAEJ,gBAAMK,UAAN,EAFZ;AAGLC,MAAAA,YAAY,EAAE,gBAHT;AAILC,MAAAA,WAAW,EAAE,KAJR;AAKLC,MAAAA,WAAW,EAAE,OALR;AAMLC,MAAAA,OAAO,EAAE,qBANJ;AAOL,oBAAc;AACZC,QAAAA,OAAO,EAAE,GADG;AAEZC,QAAAA,MAAM,EAAE;AAFI,OAPT;AAWL,iBAAW;AACTV,QAAAA,WAAW,EAAED,gBAAMY,OAAN,EADJ;AAET,sBAAc;AACZX,UAAAA,WAAW,EAAE;AADD;AAFL,OAXN;AAiBL,iBAAW;AACTA,QAAAA,WAAW,EAAED,gBAAMa,WAAN;AADJ;AAjBN,KADwB;AAsB/BC,IAAAA,OAAO,EAAE;AACPL,MAAAA,OAAO,EAAE;AADF,KAtBsB;AAyB/BM,IAAAA,OAAO,EAAEhB,YAAY,CAACC,gBAAMe,OAAN,EAAD,CAzBU;AA0B/BC,IAAAA,SAAS,EAAEjB,YAAY,CAACC,gBAAMgB,SAAN,EAAD,CA1BQ;AA2B/BC,IAAAA,GAAG,EAAE;AACHC,MAAAA,QAAQ,EAAE;AADP,KA3B0B;AA8B/BC,IAAAA,aAAa,EAAE;AACbV,MAAAA,OAAO,EAAE,KADI;AAEbH,MAAAA,YAAY,EAAE,KAFD;AAGb,oBAAc;AACZc,QAAAA,MAAM,EAAE;AADI;AAHD,KA9BgB;AAqC/BC,IAAAA,cAAc,EAAE;AACdpB,MAAAA,WAAW,EAAED,gBAAMe,OAAN;AADC;AArCe,GAAP;AAAA,CAAX,EAwCX,UAAAO,KAAK,EAAI;AAAA;;AACX,MACEP,OADF,GAUIO,KAVJ,CACEP,OADF;AAAA,MAEEQ,eAFF,GAUID,KAVJ,CAEEC,eAFF;AAAA,MAGEC,OAHF,GAUIF,KAVJ,CAGEE,OAHF;AAAA,MAIEC,QAJF,GAUIH,KAVJ,CAIEG,QAJF;AAAA,MAKEC,KALF,GAUIJ,KAVJ,CAKEI,KALF;AAAA,MAMEC,qBANF,GAUIL,KAVJ,CAMEK,qBANF;AAAA,MAOEC,KAPF,GAUIN,KAVJ,CAOEM,KAPF;AAAA,MAQEC,UARF,GAUIP,KAVJ,CAQEO,UARF;AAAA,MASKC,IATL,6CAUIR,KAVJ;AAWA,MAAMS,KAAK,GAAG,OAAOhB,OAAP,KAAmB,SAAnB,GAAgCA,OAAO,GAAG,SAAH,GAAe,WAAtD,GAAqEiB,SAAnF;AACA,MAAMC,UAAU,GAAGV,eAAe,GAAG;AAAEW,IAAAA,SAAS,EAAEX;AAAb,GAAH,GAAoC,EAAtE;;AAEA,MAAIK,KAAJ,EAAW;AACTK,IAAAA,UAAU,CAACE,KAAX,GAAmB;AACjBP,MAAAA,KAAK,YAAKA,KAAK,GAAGQ,IAAI,CAACC,KAAL,CAAWT,KAAK,GAAG,EAAnB,CAAR,GAAiC,CAAtC,OADY,CACgC;;AADhC,KAAnB;AAGD;;AAED,sBACE,gCAAC,yBAAD;AACE,IAAA,SAAS,EAAE,8FACRJ,OAAO,CAACc,aADA,EACgBb,QADhB,iDAERD,OAAO,CAACP,GAFA,EAEMS,KAFN,iDAGRF,OAAO,CAACL,aAHA,EAGgB,IAHhB,gBADb;AAME,IAAA,OAAO,EAAE;AACPjB,MAAAA,KAAK,EAAE,gGACJsB,OAAO,CAACtB,KADJ,EACY,IADZ,kDAEJsB,OAAO,CAACO,KAAD,CAFH,EAEaA,KAFb,kDAGJP,OAAO,CAACV,OAHJ,EAGca,qBAHd;AADA,KANX;AAaE,IAAA,UAAU,EAAEM,UAbd;AAcE,IAAA,UAAU,EAAE,CAdd;AAeE,IAAA,QAAQ,EAAER,QAfZ;AAgBE,IAAA,UAAU,EAAEI;AAhBd,KAiBMC,IAjBN,EADF;AAqBD,CAlFc,C","sourcesContent":["import React from 'react';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport classnames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst correctStyle = color => ({\n borderColor: `${color} !important`\n});\n\nexport default withStyles(() => ({\n input: {\n color: color.text(),\n backgroundColor: color.background(),\n borderRadius: '4px !important',\n borderWidth: '1px',\n borderStyle: 'solid',\n padding: '10px 20px 10px 10px',\n '&:disabled': {\n opacity: 0.8,\n cursor: 'not-allowed !important'\n },\n '&:hover': {\n borderColor: color.primary(),\n '&:disabled': {\n borderColor: 'initial'\n }\n },\n '&:focus': {\n borderColor: color.primaryDark()\n }\n },\n crInput: {\n padding: '8px !important'\n },\n correct: correctStyle(color.correct()),\n incorrect: correctStyle(color.incorrect()),\n box: {\n fontSize: 'inherit'\n },\n outlinedInput: {\n padding: '2px',\n borderRadius: '4px',\n '& fieldset': {\n border: 0\n }\n },\n notchedOutline: {\n borderColor: color.correct()\n }\n}))(props => {\n const {\n correct,\n charactersLimit,\n classes,\n disabled,\n isBox,\n isConstructedResponse,\n width,\n spellCheck,\n ...rest\n } = props;\n const label = typeof correct === 'boolean' ? (correct ? 'correct' : 'incorrect') : undefined;\n const inputProps = charactersLimit ? { maxLength: charactersLimit } : {};\n\n if (width) {\n inputProps.style = {\n width: `${width + Math.round(width / 10) + 1}ch` // added some extra space for capital letters\n };\n }\n\n return (\n <OutlinedInput\n className={classnames({\n [classes.disabledInput]: disabled,\n [classes.box]: isBox,\n [classes.outlinedInput]: true\n })}\n classes={{\n input: classnames({\n [classes.input]: true,\n [classes[label]]: label,\n [classes.crInput]: isConstructedResponse\n })\n }}\n inputProps={inputProps}\n labelWidth={0}\n disabled={disabled}\n spellCheck={spellCheck}\n {...rest}\n />\n );\n});\n"],"file":"correct-input.js"}
1
+ {"version":3,"sources":["../../src/components/correct-input.jsx"],"names":["correctStyle","color","borderColor","input","text","backgroundColor","background","borderRadius","borderWidth","borderStyle","padding","opacity","cursor","primary","primaryDark","crInput","correct","incorrect","box","fontSize","outlinedInput","border","notchedOutline","props","charactersLimit","classes","disabled","isBox","isConstructedResponse","width","spellCheck","rest","label","undefined","inputProps","maxLength","style","Math","round","disabledInput"],"mappings":"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","sourcesContent":["import React from 'react';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport classnames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst correctStyle = (color) => ({\n borderColor: `${color} !important`,\n});\n\nexport default withStyles(() => ({\n input: {\n color: color.text(),\n backgroundColor: color.background(),\n borderRadius: '4px !important',\n borderWidth: '1px',\n borderStyle: 'solid',\n padding: '10px 20px 10px 10px',\n '&:disabled': {\n opacity: 0.8,\n cursor: 'not-allowed !important',\n },\n '&:hover': {\n borderColor: color.primary(),\n '&:disabled': {\n borderColor: 'initial',\n },\n },\n '&:focus': {\n borderColor: color.primaryDark(),\n },\n },\n crInput: {\n padding: '8px !important',\n },\n correct: correctStyle(color.correct()),\n incorrect: correctStyle(color.incorrect()),\n box: {\n fontSize: 'inherit',\n },\n outlinedInput: {\n padding: '2px',\n borderRadius: '4px',\n '& fieldset': {\n border: 0,\n },\n },\n notchedOutline: {\n borderColor: color.correct(),\n },\n}))((props) => {\n const {\n correct,\n charactersLimit,\n classes,\n disabled,\n isBox,\n isConstructedResponse,\n width,\n spellCheck,\n ...rest\n } = props;\n const label = typeof correct === 'boolean' ? (correct ? 'correct' : 'incorrect') : undefined;\n const inputProps = charactersLimit ? { maxLength: charactersLimit } : {};\n\n if (width) {\n inputProps.style = {\n width: `${width + Math.round(width / 10) + 1}ch`, // added some extra space for capital letters\n };\n }\n\n return (\n <OutlinedInput\n className={classnames({\n [classes.disabledInput]: disabled,\n [classes.box]: isBox,\n [classes.outlinedInput]: true,\n })}\n classes={{\n input: classnames({\n [classes.input]: true,\n [classes[label]]: label,\n [classes.crInput]: isConstructedResponse,\n }),\n }}\n inputProps={inputProps}\n labelWidth={0}\n disabled={disabled}\n spellCheck={spellCheck}\n {...rest}\n />\n );\n});\n"],"file":"correct-input.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/dropdown.jsx"],"names":["Dropdown","props","setState","showCheckmark","open","state","classes","id","correct","disabled","value","onChange","choices","showCorrectAnswer","root","icon","selectMenu","select","showCheckmarkAndOpen","hideCheckmarkAndClose","keepMounted","disablePortal","e","target","map","c","index","menuRoot","selected","label","__html","React","Component","PropTypes","string","bool","func","object","arrayOf","shape","styles","color","text","backgroundColor","background","borderColor","secondaryLight","paddingTop","paddingBottom","border","borderRadius","boxSizing","padding","fontSize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport CorrectInput from './correct-input';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\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(\n PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })\n ),\n showCorrectAnswer: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCheckmark: false,\n open: false\n };\n }\n\n showCheckmarkAndOpen = () => {\n this.setState({\n showCheckmark: true,\n open: true\n });\n };\n\n hideCheckmarkAndClose = () => {\n this.setState({\n showCheckmark: false,\n open: false\n });\n };\n\n render() {\n const {\n classes,\n id,\n correct,\n disabled,\n value,\n onChange,\n choices,\n showCorrectAnswer\n } = this.props;\n\n const { showCheckmark, open } = this.state;\n\n return (\n <Select\n classes={{\n root: classes.root,\n icon: classes.icon,\n selectMenu: classes.selectMenu,\n select: classes.select\n }}\n disabled={disabled}\n value={value || ''}\n onOpen={this.showCheckmarkAndOpen}\n onClose={this.hideCheckmarkAndClose}\n open={open}\n input={<CorrectInput correct={showCorrectAnswer || correct} />}\n MenuProps={{\n keepMounted: true,\n disablePortal: true\n }}\n onChange={e => {\n onChange(id, e.target.value);\n }}\n >\n {(choices || []).map((c, index) => (\n <MenuItem\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n key={`${c.label}-${index}`}\n value={c.value}\n >\n <span\n className={classes.label}\n dangerouslySetInnerHTML={{\n __html: c.label\n }}\n />\n {showCheckmark && (\n <span\n className={classes.label}\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n )}\n </MenuItem>\n ))}\n </Select>\n );\n }\n}\n\nconst styles = () => ({\n root: {\n color: color.text(),\n backgroundColor: color.background(),\n borderColor: color.secondaryLight(),\n '& ul': {\n paddingTop: 0,\n paddingBottom: 0,\n border: `1px solid ${color.text()}`,\n borderRadius: '5px',\n color: color.text(),\n backgroundColor: color.background()\n }\n },\n select: {\n '&:focus': {\n borderRadius: '4px'\n }\n },\n selectMenu: {\n backgroundColor: color.background(),\n '&:hover': {\n borderColor: 'initial'\n },\n '&:focus': {\n borderColor: 'initial'\n }\n },\n icon: {\n color: color.text()\n },\n selected: {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.secondaryLight()} !important`\n }\n },\n menuRoot: {\n color: color.text(),\n backgroundColor: color.background(),\n '&:focus': {\n color: color.text(),\n backgroundColor: color.background()\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.secondaryLight()\n },\n boxSizing: 'border-box',\n padding: '25px',\n '&:first-of-type': {\n borderRadius: '3px 3px 0 0'\n },\n '&:last-of-type': {\n borderRadius: '0 0 3px 3px'\n }\n },\n label: {\n fontSize: 'max(1rem, 14px)'\n }\n});\n\nexport default withStyles(styles)(Dropdown);\n"],"file":"dropdown.js"}
1
+ {"version":3,"sources":["../../src/components/dropdown.jsx"],"names":["Dropdown","props","setState","showCheckmark","open","state","classes","id","correct","disabled","value","onChange","choices","showCorrectAnswer","root","icon","selectMenu","select","showCheckmarkAndOpen","hideCheckmarkAndClose","keepMounted","disablePortal","e","target","map","c","index","menuRoot","selected","label","__html","React","Component","PropTypes","string","bool","func","object","arrayOf","shape","styles","color","text","backgroundColor","background","borderColor","secondaryLight","paddingTop","paddingBottom","border","borderRadius","boxSizing","padding","fontSize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport CorrectInput from './correct-input';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\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 };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCheckmark: false,\n open: false,\n };\n }\n\n showCheckmarkAndOpen = () => {\n this.setState({\n showCheckmark: true,\n open: true,\n });\n };\n\n hideCheckmarkAndClose = () => {\n this.setState({\n showCheckmark: false,\n open: false,\n });\n };\n\n render() {\n const { classes, id, correct, disabled, value, onChange, choices, showCorrectAnswer } = this.props;\n\n const { showCheckmark, open } = this.state;\n\n return (\n <Select\n classes={{\n root: classes.root,\n icon: classes.icon,\n selectMenu: classes.selectMenu,\n select: classes.select,\n }}\n disabled={disabled}\n value={value || ''}\n onOpen={this.showCheckmarkAndOpen}\n onClose={this.hideCheckmarkAndClose}\n open={open}\n input={<CorrectInput correct={showCorrectAnswer || correct} />}\n MenuProps={{\n keepMounted: true,\n disablePortal: true,\n }}\n onChange={(e) => {\n onChange(id, e.target.value);\n }}\n >\n {(choices || []).map((c, index) => (\n <MenuItem\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n key={`${c.label}-${index}`}\n value={c.value}\n >\n <span\n className={classes.label}\n dangerouslySetInnerHTML={{\n __html: c.label,\n }}\n />\n {showCheckmark && (\n <span\n className={classes.label}\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n )}\n </MenuItem>\n ))}\n </Select>\n );\n }\n}\n\nconst styles = () => ({\n root: {\n color: color.text(),\n backgroundColor: color.background(),\n borderColor: color.secondaryLight(),\n '& ul': {\n paddingTop: 0,\n paddingBottom: 0,\n border: `1px solid ${color.text()}`,\n borderRadius: '5px',\n color: color.text(),\n backgroundColor: color.background(),\n },\n },\n select: {\n '&:focus': {\n borderRadius: '4px',\n },\n },\n selectMenu: {\n backgroundColor: color.background(),\n '&:hover': {\n borderColor: 'initial',\n },\n '&:focus': {\n borderColor: 'initial',\n },\n },\n icon: {\n color: color.text(),\n },\n selected: {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.secondaryLight()} !important`,\n },\n },\n menuRoot: {\n color: color.text(),\n backgroundColor: color.background(),\n '&:focus': {\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.secondaryLight(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n '&:first-of-type': {\n borderRadius: '3px 3px 0 0',\n },\n '&:last-of-type': {\n borderRadius: '0 0 3px 3px',\n },\n },\n label: {\n fontSize: 'max(1rem, 14px)',\n },\n});\n\nexport default withStyles(styles)(Dropdown);\n"],"file":"dropdown.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/input.jsx"],"names":["Input","disabled","correct","charactersLimit","id","isConstructedResponse","value","onChange","showCorrectAnswer","spellCheck","width","e","target","propTypes","PropTypes","string","func","bool"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAWR;AAAA,MAVJC,QAUI,QAVJA,QAUI;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,eAQI,QARJA,eAQI;AAAA,MAPJC,EAOI,QAPJA,EAOI;AAAA,MANJC,qBAMI,QANJA,qBAMI;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,SAII,QAJJA,QAII;AAAA,MAHJC,iBAGI,QAHJA,iBAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,sBACE,gCAAC,wBAAD;AACE,IAAA,QAAQ,EAAET,QADZ;AAEE,IAAA,OAAO,EAAEO,iBAAiB,IAAIN,OAFhC;AAGE,IAAA,eAAe,EAAEC,eAHnB;AAIE,IAAA,OAAO,EAAC,UAJV;AAKE,IAAA,KAAK,EAAEG,KALT;AAME,IAAA,qBAAqB,EAAED,qBANzB;AAOE,IAAA,UAAU,EAAEI,UAPd;AAQE,IAAA,KAAK,EAAE,IART;AASE,IAAA,KAAK,EAAEC,KATT;AAUE,IAAA,QAAQ,EAAE,kBAAAC,CAAC,EAAI;AACbJ,MAAAA,SAAQ,CAACH,EAAD,EAAKO,CAAC,CAACC,MAAF,CAASN,KAAd,CAAR;AACD;AAZH,IADF;AAgBD,CA5BD;;AA8BAN,KAAK,CAACa,SAAN,GAAkB;AAChBT,EAAAA,EAAE,EAAEU,sBAAUC,MADE;AAEhBT,EAAAA,KAAK,EAAEQ,sBAAUC,MAFD;AAGhBR,EAAAA,QAAQ,EAAEO,sBAAUE,IAHJ;AAIhBf,EAAAA,QAAQ,EAAEa,sBAAUG,IAJJ;AAKhBR,EAAAA,UAAU,EAAEK,sBAAUG,IALN;AAMhBf,EAAAA,OAAO,EAAEY,sBAAUG,IANH;AAOhBT,EAAAA,iBAAiB,EAAEM,sBAAUG;AAPb,CAAlB;eAUejB,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectInput from './correct-input';\n\nconst Input = ({\n disabled,\n correct,\n charactersLimit,\n id,\n isConstructedResponse,\n value,\n onChange,\n showCorrectAnswer,\n spellCheck,\n width\n}) => {\n return (\n <CorrectInput\n disabled={disabled}\n correct={showCorrectAnswer || correct}\n charactersLimit={charactersLimit}\n variant=\"outlined\"\n value={value}\n isConstructedResponse={isConstructedResponse}\n spellCheck={spellCheck}\n isBox={true}\n width={width}\n onChange={e => {\n onChange(id, e.target.value);\n }}\n />\n );\n};\n\nInput.propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n correct: PropTypes.bool,\n showCorrectAnswer: PropTypes.bool\n};\n\nexport default Input;\n"],"file":"input.js"}
1
+ {"version":3,"sources":["../../src/components/input.jsx"],"names":["Input","disabled","correct","charactersLimit","id","isConstructedResponse","value","onChange","showCorrectAnswer","spellCheck","width","e","target","propTypes","PropTypes","string","func","bool"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAWR;AAAA,MAVJC,QAUI,QAVJA,QAUI;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,eAQI,QARJA,eAQI;AAAA,MAPJC,EAOI,QAPJA,EAOI;AAAA,MANJC,qBAMI,QANJA,qBAMI;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,SAII,QAJJA,QAII;AAAA,MAHJC,iBAGI,QAHJA,iBAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,sBACE,gCAAC,wBAAD;AACE,IAAA,QAAQ,EAAET,QADZ;AAEE,IAAA,OAAO,EAAEO,iBAAiB,IAAIN,OAFhC;AAGE,IAAA,eAAe,EAAEC,eAHnB;AAIE,IAAA,OAAO,EAAC,UAJV;AAKE,IAAA,KAAK,EAAEG,KALT;AAME,IAAA,qBAAqB,EAAED,qBANzB;AAOE,IAAA,UAAU,EAAEI,UAPd;AAQE,IAAA,KAAK,EAAE,IART;AASE,IAAA,KAAK,EAAEC,KATT;AAUE,IAAA,QAAQ,EAAE,kBAACC,CAAD,EAAO;AACfJ,MAAAA,SAAQ,CAACH,EAAD,EAAKO,CAAC,CAACC,MAAF,CAASN,KAAd,CAAR;AACD;AAZH,IADF;AAgBD,CA5BD;;AA8BAN,KAAK,CAACa,SAAN,GAAkB;AAChBT,EAAAA,EAAE,EAAEU,sBAAUC,MADE;AAEhBT,EAAAA,KAAK,EAAEQ,sBAAUC,MAFD;AAGhBR,EAAAA,QAAQ,EAAEO,sBAAUE,IAHJ;AAIhBf,EAAAA,QAAQ,EAAEa,sBAAUG,IAJJ;AAKhBR,EAAAA,UAAU,EAAEK,sBAAUG,IALN;AAMhBf,EAAAA,OAAO,EAAEY,sBAAUG,IANH;AAOhBT,EAAAA,iBAAiB,EAAEM,sBAAUG;AAPb,CAAlB;eAUejB,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectInput from './correct-input';\n\nconst Input = ({\n disabled,\n correct,\n charactersLimit,\n id,\n isConstructedResponse,\n value,\n onChange,\n showCorrectAnswer,\n spellCheck,\n width,\n}) => {\n return (\n <CorrectInput\n disabled={disabled}\n correct={showCorrectAnswer || correct}\n charactersLimit={charactersLimit}\n variant=\"outlined\"\n value={value}\n isConstructedResponse={isConstructedResponse}\n spellCheck={spellCheck}\n isBox={true}\n width={width}\n onChange={(e) => {\n onChange(id, e.target.value);\n }}\n />\n );\n};\n\nInput.propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n correct: PropTypes.bool,\n showCorrectAnswer: PropTypes.bool,\n};\n\nexport default Input;\n"],"file":"input.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constructed-response.jsx"],"names":["props","node","data","onChange","dataset","component","adjustedLimit","disabled","feedback","showCorrectAnswer","maxLength","spellCheck","correctAnswer","choices","id","finalValue","label","width","type"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe,wBAAS,OAAT,EAAkB,UAAAA,KAAK;AAAA,SAAI,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;AAClE,QAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,QAAIA,OAAO,CAACC,SAAR,KAAsB,OAA1B,EAAmC;AACjC,UAAQC,aAAR,GAAwFN,KAAxF,CAAQM,aAAR;AAAA,UAAuBC,QAAvB,GAAwFP,KAAxF,CAAuBO,QAAvB;AAAA,UAAiCC,QAAjC,GAAwFR,KAAxF,CAAiCQ,QAAjC;AAAA,UAA2CC,iBAA3C,GAAwFT,KAAxF,CAA2CS,iBAA3C;AAAA,UAA8DC,SAA9D,GAAwFV,KAAxF,CAA8DU,SAA9D;AAAA,UAAyEC,UAAzE,GAAwFX,KAAxF,CAAyEW,UAAzE,CADiC,CAGjC;;AACA,UAAMC,aAAa,GAAG,CAAEZ,KAAK,CAACa,OAAN,IAAiBT,OAAjB,IAA4BJ,KAAK,CAACa,OAAN,CAAcT,OAAO,CAACU,EAAtB,CAA7B,IAA2D,EAA5D,EAAgE,CAAhE,CAAtB;AACA,UAAMC,UAAU,GAAGN,iBAAiB,GAChCG,aAAa,IAAIA,aAAa,CAACI,KADC,GAEhCd,IAAI,CAACE,OAAO,CAACU,EAAT,CAAJ,IAAoB,EAFxB;AAGA,UAAMG,KAAK,GAAGP,SAAS,IAAIA,SAAS,CAACN,OAAO,CAACU,EAAT,CAApC;AAEA,0BACE,gCAAC,iBAAD;AACE,QAAA,GAAG,YAAKb,IAAI,CAACiB,IAAV,oBAAwBd,OAAO,CAACU,EAAhC,CADL;AAEE,QAAA,OAAO,EAAEN,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACU,EAAT,CAApB,IAAoCN,QAAQ,CAACJ,OAAO,CAACU,EAAT,CAAR,KAAyB,SAFxE;AAGE,QAAA,QAAQ,EAAEL,iBAAiB,IAAIF,QAHjC;AAIE,QAAA,KAAK,EAAEQ,UAJT;AAKE,QAAA,EAAE,EAAEX,OAAO,CAACU,EALd;AAME,QAAA,QAAQ,EAAEX,QANZ;AAOE,QAAA,iBAAiB,EAAEM,iBAPrB;AAQE,QAAA,KAAK,EAAEQ,KART;AASE,QAAA,eAAe,EAAEX,aAAa,GAAGW,KAAH,GAAW,EAT3C;AAUE,QAAA,qBAAqB,EAAE,IAVzB;AAWE,QAAA,UAAU,EAAEN;AAXd,QADF;AAeD;AACF,GA5BqC;AAAA,CAAvB,C","sourcesContent":["import React from 'react';\nimport Input from './components/input';\nimport { withMask } from './with-mask';\n\nexport default withMask('input', props => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer\n ? correctAnswer && correctAnswer.label\n : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n\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"],"file":"constructed-response.js"}
1
+ {"version":3,"sources":["../src/constructed-response.jsx"],"names":["props","node","data","onChange","dataset","component","adjustedLimit","disabled","feedback","showCorrectAnswer","maxLength","spellCheck","correctAnswer","choices","id","finalValue","label","width","type"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe,wBAAS,OAAT,EAAkB,UAACA,KAAD;AAAA,SAAW,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;AACpE,QAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,QAAIA,OAAO,CAACC,SAAR,KAAsB,OAA1B,EAAmC;AACjC,UAAQC,aAAR,GAAwFN,KAAxF,CAAQM,aAAR;AAAA,UAAuBC,QAAvB,GAAwFP,KAAxF,CAAuBO,QAAvB;AAAA,UAAiCC,QAAjC,GAAwFR,KAAxF,CAAiCQ,QAAjC;AAAA,UAA2CC,iBAA3C,GAAwFT,KAAxF,CAA2CS,iBAA3C;AAAA,UAA8DC,SAA9D,GAAwFV,KAAxF,CAA8DU,SAA9D;AAAA,UAAyEC,UAAzE,GAAwFX,KAAxF,CAAyEW,UAAzE,CADiC,CAGjC;;AACA,UAAMC,aAAa,GAAG,CAAEZ,KAAK,CAACa,OAAN,IAAiBT,OAAjB,IAA4BJ,KAAK,CAACa,OAAN,CAAcT,OAAO,CAACU,EAAtB,CAA7B,IAA2D,EAA5D,EAAgE,CAAhE,CAAtB;AACA,UAAMC,UAAU,GAAGN,iBAAiB,GAAGG,aAAa,IAAIA,aAAa,CAACI,KAAlC,GAA0Cd,IAAI,CAACE,OAAO,CAACU,EAAT,CAAJ,IAAoB,EAAlG;AACA,UAAMG,KAAK,GAAGP,SAAS,IAAIA,SAAS,CAACN,OAAO,CAACU,EAAT,CAApC;AAEA,0BACE,gCAAC,iBAAD;AACE,QAAA,GAAG,YAAKb,IAAI,CAACiB,IAAV,oBAAwBd,OAAO,CAACU,EAAhC,CADL;AAEE,QAAA,OAAO,EAAEN,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACU,EAAT,CAApB,IAAoCN,QAAQ,CAACJ,OAAO,CAACU,EAAT,CAAR,KAAyB,SAFxE;AAGE,QAAA,QAAQ,EAAEL,iBAAiB,IAAIF,QAHjC;AAIE,QAAA,KAAK,EAAEQ,UAJT;AAKE,QAAA,EAAE,EAAEX,OAAO,CAACU,EALd;AAME,QAAA,QAAQ,EAAEX,QANZ;AAOE,QAAA,iBAAiB,EAAEM,iBAPrB;AAQE,QAAA,KAAK,EAAEQ,KART;AASE,QAAA,eAAe,EAAEX,aAAa,GAAGW,KAAH,GAAW,EAT3C;AAUE,QAAA,qBAAqB,EAAE,IAVzB;AAWE,QAAA,UAAU,EAAEN;AAXd,QADF;AAeD;AACF,GA1BgC;AAAA,CAAlB,C","sourcesContent":["import React from 'react';\nimport Input from './components/input';\nimport { withMask } from './with-mask';\n\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\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 (\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"],"file":"constructed-response.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drag-in-the-blank.jsx"],"names":["Masked","props","node","data","onChange","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","choiceId","id","choice","choices","find","c","type","DragInTheBlank","choicePosition","flexDirection","rootRef","markup","layout","value","choicesPosition","style","display","getPositionDirection","ref","React","Component","PropTypes","string","object","arrayOf","shape","label","func","bool"],"mappings":"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","sourcesContent":["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\nconst Masked = withMask('blank', props => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n const { disabled, duplicates, correctResponse, feedback, showCorrectAnswer } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\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 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(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })\n ),\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 };\n\n 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\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n break;\n case 'right':\n flexDirection = 'row-reverse';\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;\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 } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n flexDirection: 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 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 />\n </div>\n );\n }\n}\n"],"file":"drag-in-the-blank.js"}
1
+ {"version":3,"sources":["../src/drag-in-the-blank.jsx"],"names":["Masked","props","node","data","onChange","dataset","component","disabled","duplicates","correctResponse","feedback","showCorrectAnswer","choiceId","id","choice","choices","find","c","type","DragInTheBlank","choicePosition","flexDirection","rootRef","markup","layout","value","choicesPosition","style","display","getPositionDirection","ref","React","Component","PropTypes","string","object","arrayOf","shape","label","func","bool"],"mappings":"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","sourcesContent":["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\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n const { disabled, duplicates, correctResponse, feedback, showCorrectAnswer } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\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 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 };\n\n 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\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n break;\n case 'right':\n flexDirection = 'row-reverse';\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;\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 } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n flexDirection: 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 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 />\n </div>\n );\n }\n}\n"],"file":"drag-in-the-blank.js"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import { withMask, buildLayoutFromMarkup } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport {\n withMask,\n buildLayoutFromMarkup,\n DragInTheBlank,\n ConstructedResponse,\n InlineDropdown,\n componentize\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import { withMask, buildLayoutFromMarkup } from './with-mask';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ConstructedResponse from './constructed-response';\nimport InlineDropdown from './inline-dropdown';\nimport componentize from './componentize';\n\nexport { withMask, buildLayoutFromMarkup, DragInTheBlank, ConstructedResponse, InlineDropdown, componentize };\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","type"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe,wBAAS,UAAT,EAAqB,UAAAA,KAAK;AAAA,SAAI,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;AACrE,QAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,QAAIA,OAAO,CAACC,SAAR,KAAsB,UAA1B,EAAsC;AACpC,UAAQC,OAAR,GAA2DN,KAA3D,CAAQM,OAAR;AAAA,UAAiBC,QAAjB,GAA2DP,KAA3D,CAAiBO,QAAjB;AAAA,UAA2BC,QAA3B,GAA2DR,KAA3D,CAA2BQ,QAA3B;AAAA,UAAqCC,iBAArC,GAA2DT,KAA3D,CAAqCS,iBAArC;AACA,UAAMC,aAAa,GACjBJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAT,CAAlB,IAAkCL,OAAO,CAACF,OAAO,CAACO,EAAT,CAAP,CAAoBC,IAApB,CAAyB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,OAAN;AAAA,OAA1B,CADpC;AAEA,UAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAlC,GAA0Cd,IAAI,CAACE,OAAO,CAACO,EAAT,CAAnF;AAEA,0BACE,gCAAC,oBAAD;AACE,QAAA,GAAG,YAAKV,IAAI,CAACgB,IAAV,uBAA2Bb,OAAO,CAACO,EAAnC,CADL;AAEE,QAAA,OAAO,EAAEH,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAApB,IAAoCH,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAAR,KAAyB,SAFxE;AAGE,QAAA,QAAQ,EAAEJ,QAAQ,IAAIE,iBAHxB;AAIE,QAAA,KAAK,EAAEM,WAJT;AAKE,QAAA,EAAE,EAAEX,OAAO,CAACO,EALd;AAME,QAAA,QAAQ,EAAER,QANZ;AAOE,QAAA,OAAO,EAAEG,OAAO,CAACF,OAAO,CAACO,EAAT,CAPlB;AAQE,QAAA,iBAAiB,EAAEF;AARrB,QADF;AAYD;AACF,GArBwC;AAAA,CAA1B,C","sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\nexport default withMask('dropdown', props => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer =\n 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 id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n />\n );\n }\n});\n"],"file":"inline-dropdown.js"}
1
+ {"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["props","node","data","onChange","dataset","component","choices","disabled","feedback","showCorrectAnswer","correctAnswer","id","find","c","correct","finalChoice","value","type"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe,wBAAS,UAAT,EAAqB,UAACA,KAAD;AAAA,SAAW,UAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,EAA0B;AACvE,QAAMC,OAAO,GAAGH,IAAI,CAACC,IAAL,GAAYD,IAAI,CAACC,IAAL,CAAUE,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,QAAIA,OAAO,CAACC,SAAR,KAAsB,UAA1B,EAAsC;AACpC,UAAQC,OAAR,GAA2DN,KAA3D,CAAQM,OAAR;AAAA,UAAiBC,QAAjB,GAA2DP,KAA3D,CAAiBO,QAAjB;AAAA,UAA2BC,QAA3B,GAA2DR,KAA3D,CAA2BQ,QAA3B;AAAA,UAAqCC,iBAArC,GAA2DT,KAA3D,CAAqCS,iBAArC;AACA,UAAMC,aAAa,GAAGJ,OAAO,IAAIA,OAAO,CAACF,OAAO,CAACO,EAAT,CAAlB,IAAkCL,OAAO,CAACF,OAAO,CAACO,EAAT,CAAP,CAAoBC,IAApB,CAAyB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,OAAT;AAAA,OAAzB,CAAxD;AACA,UAAMC,WAAW,GAAGN,iBAAiB,GAAGC,aAAa,IAAIA,aAAa,CAACM,KAAlC,GAA0Cd,IAAI,CAACE,OAAO,CAACO,EAAT,CAAnF;AAEA,0BACE,gCAAC,oBAAD;AACE,QAAA,GAAG,YAAKV,IAAI,CAACgB,IAAV,uBAA2Bb,OAAO,CAACO,EAAnC,CADL;AAEE,QAAA,OAAO,EAAEH,QAAQ,IAAIA,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAApB,IAAoCH,QAAQ,CAACJ,OAAO,CAACO,EAAT,CAAR,KAAyB,SAFxE;AAGE,QAAA,QAAQ,EAAEJ,QAAQ,IAAIE,iBAHxB;AAIE,QAAA,KAAK,EAAEM,WAJT;AAKE,QAAA,EAAE,EAAEX,OAAO,CAACO,EALd;AAME,QAAA,QAAQ,EAAER,QANZ;AAOE,QAAA,OAAO,EAAEG,OAAO,CAACF,OAAO,CAACO,EAAT,CAPlB;AAQE,QAAA,iBAAiB,EAAEF;AARrB,QADF;AAYD;AACF,GApBmC;AAAA,CAArB,C","sourcesContent":["import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\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 id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n />\n );\n }\n});\n"],"file":"inline-dropdown.js"}
package/lib/mask.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mask.jsx"],"names":["Paragraph","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","length","marks","renderChildren","layout","value","onChange","rootRenderChildren","nodes","forEach","index","key","isMath","push","__html","innerHTML","c","object","content","reduce","acc","l","t","extraText","markKey","MARK_TAGS","Tag","subNodes","data","attributes","MaskContainer","main","display","Mask","id","handleChange","React","Component","PropTypes","func"],"mappings":"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","sourcesContent":["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';\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 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) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = `${n.type}-${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 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>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n);\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}))(props => <div className={props.classes.main}>{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 };\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 } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n"],"file":"mask.js"}
1
+ {"version":3,"sources":["../src/mask.jsx"],"names":["Paragraph","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","restrictWhitespaceTypes","addText","parentNode","text","isWhitespace","trim","parentType","type","includes","undefined","getMark","n","mark","leaves","find","leave","length","marks","renderChildren","layout","value","onChange","rootRenderChildren","nodes","forEach","index","key","isMath","push","__html","innerHTML","c","object","content","reduce","acc","l","t","extraText","markKey","MARK_TAGS","Tag","subNodes","data","attributes","MaskContainer","main","display","Mask","id","handleChange","React","Component","PropTypes","func"],"mappings":"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","sourcesContent":["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';\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 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) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = `${n.type}-${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 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>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n);\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}))((props) => <div className={props.classes.main}>{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 };\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 } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n"],"file":"mask.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/serialization.js"],"names":["log","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","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","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"],"mappings":"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","sourcesContent":["import React from 'react';\nimport 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"],"file":"serialization.js"}
1
+ {"version":3,"sources":["../src/serialization.js"],"names":["log","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","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","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"],"mappings":"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","sourcesContent":["import React from 'react';\nimport 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"],"file":"serialization.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/with-mask.jsx"],"names":["buildLayoutFromMarkup","markup","type","processed","value","document","withMask","renderChildren","props","layout","onChange","maskLayout","React","Component","PropTypes","string","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,MAAD,EAASC,IAAT,EAAkB;AACrD,sBAA8B,+BAAaD,MAAb,EAAqBC,IAArB,CAA9B;AAAA,MAAgBC,SAAhB,iBAAQF,MAAR;;AACA,MAAMG,KAAK,GAAG,gCAAYD,SAAZ,CAAd;AACA,SAAOC,KAAK,CAACC,QAAb;AACD,CAJM;;;;AAMA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACJ,IAAD,EAAOK,cAAP,EAA0B;AAAA;;AAChD;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,aAcE,kBAAS;AACP,0BAA4C,KAAKC,KAAjD;AAAA,YAAQP,MAAR,eAAQA,MAAR;AAAA,YAAgBQ,MAAhB,eAAgBA,MAAhB;AAAA,YAAwBL,KAAxB,eAAwBA,KAAxB;AAAA,YAA+BM,QAA/B,eAA+BA,QAA/B;AAEA,YAAMC,UAAU,GAAGF,MAAM,GAAGA,MAAH,GAAYT,qBAAqB,CAACC,MAAD,EAASC,IAAT,CAA1D;AACA,4BACE,gCAAC,gBAAD;AACE,UAAA,MAAM,EAAES,UADV;AAEE,UAAA,KAAK,EAAEP,KAFT;AAGE,UAAA,QAAQ,EAAEM,QAHZ;AAIE,UAAA,cAAc,EAAEH,cAAc,CAAC,KAAKC,KAAN;AAJhC,UADF;AAQD;AA1BH;AAAA;AAAA,IAA8BI,kBAAMC,SAApC,yDACqB;AACjB;AACN;AACA;AACMZ,IAAAA,MAAM,EAAEa,sBAAUC,MAJD;;AAKjB;AACN;AACA;AACMN,IAAAA,MAAM,EAAEK,sBAAUE,MARD;AASjBZ,IAAAA,KAAK,EAAEU,sBAAUE,MATA;AAUjBN,IAAAA,QAAQ,EAAEI,sBAAUG;AAVH,GADrB;AA4BD,CA7BM","sourcesContent":["import React from 'react';\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 };\n\n render() {\n const { markup, layout, value, onChange } = this.props;\n\n const maskLayout = layout ? layout : buildLayoutFromMarkup(markup, type);\n return (\n <Mask\n layout={maskLayout}\n value={value}\n onChange={onChange}\n renderChildren={renderChildren(this.props)}\n />\n );\n }\n };\n};\n"],"file":"with-mask.js"}
1
+ {"version":3,"sources":["../src/with-mask.jsx"],"names":["buildLayoutFromMarkup","markup","type","processed","value","document","withMask","renderChildren","props","layout","onChange","maskLayout","React","Component","PropTypes","string","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,MAAD,EAASC,IAAT,EAAkB;AACrD,sBAA8B,+BAAaD,MAAb,EAAqBC,IAArB,CAA9B;AAAA,MAAgBC,SAAhB,iBAAQF,MAAR;;AACA,MAAMG,KAAK,GAAG,gCAAYD,SAAZ,CAAd;AACA,SAAOC,KAAK,CAACC,QAAb;AACD,CAJM;;;;AAMA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACJ,IAAD,EAAOK,cAAP,EAA0B;AAAA;;AAChD;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,aAcE,kBAAS;AACP,0BAA4C,KAAKC,KAAjD;AAAA,YAAQP,MAAR,eAAQA,MAAR;AAAA,YAAgBQ,MAAhB,eAAgBA,MAAhB;AAAA,YAAwBL,KAAxB,eAAwBA,KAAxB;AAAA,YAA+BM,QAA/B,eAA+BA,QAA/B;AAEA,YAAMC,UAAU,GAAGF,MAAM,GAAGA,MAAH,GAAYT,qBAAqB,CAACC,MAAD,EAASC,IAAT,CAA1D;AACA,4BAAO,gCAAC,gBAAD;AAAM,UAAA,MAAM,EAAES,UAAd;AAA0B,UAAA,KAAK,EAAEP,KAAjC;AAAwC,UAAA,QAAQ,EAAEM,QAAlD;AAA4D,UAAA,cAAc,EAAEH,cAAc,CAAC,KAAKC,KAAN;AAA1F,UAAP;AACD;AAnBH;AAAA;AAAA,IAA8BI,kBAAMC,SAApC,yDACqB;AACjB;AACN;AACA;AACMZ,IAAAA,MAAM,EAAEa,sBAAUC,MAJD;;AAKjB;AACN;AACA;AACMN,IAAAA,MAAM,EAAEK,sBAAUE,MARD;AASjBZ,IAAAA,KAAK,EAAEU,sBAAUE,MATA;AAUjBN,IAAAA,QAAQ,EAAEI,sBAAUG;AAVH,GADrB;AAqBD,CAtBM","sourcesContent":["import React from 'react';\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 };\n\n render() {\n const { markup, layout, value, onChange } = this.props;\n\n const maskLayout = layout ? layout : buildLayoutFromMarkup(markup, type);\n return <Mask layout={maskLayout} value={value} onChange={onChange} renderChildren={renderChildren(this.props)} />;\n }\n };\n};\n"],"file":"with-mask.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/mask-markup",
3
- "version": "1.12.16-next.30+67ed9334",
3
+ "version": "1.12.17",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -9,9 +9,9 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.3",
12
- "@pie-lib/drag": "^1.1.53-next.950+67ed9334",
13
- "@pie-lib/math-rendering": "^2.5.0",
14
- "@pie-lib/render-ui": "^4.13.6",
12
+ "@pie-lib/drag": "^2.0.1",
13
+ "@pie-lib/math-rendering": "^2.5.1",
14
+ "@pie-lib/render-ui": "^4.13.7",
15
15
  "classnames": "^2.2.6",
16
16
  "debug": "^4.1.1",
17
17
  "immutable": ">=3.8.1",
@@ -27,5 +27,5 @@
27
27
  "keywords": [],
28
28
  "author": "",
29
29
  "license": "ISC",
30
- "gitHead": "67ed9334c986af832b0a9058b696bc803acd3d74"
30
+ "gitHead": "f81076118e63884db5f5d65a41cff9aad111137e"
31
31
  }
@@ -14,7 +14,7 @@ class BlankContentComp extends React.Component {
14
14
  disabled: PropTypes.bool,
15
15
  choice: PropTypes.object,
16
16
  classes: PropTypes.object,
17
- connectDragSource: PropTypes.func
17
+ connectDragSource: PropTypes.func,
18
18
  };
19
19
 
20
20
  componentDidUpdate() {
@@ -27,7 +27,7 @@ class BlankContentComp extends React.Component {
27
27
  return connectDragSource(
28
28
  <span className={classnames(classes.choice, disabled && classes.disabled)}>
29
29
  <Chip
30
- ref={ref => {
30
+ ref={(ref) => {
31
31
  //eslint-disable-next-line
32
32
  this.rootRef = ReactDOM.findDOMNode(ref);
33
33
  }}
@@ -35,7 +35,7 @@ class BlankContentComp extends React.Component {
35
35
  label={
36
36
  <span
37
37
  className={classes.chipLabel}
38
- ref={ref => {
38
+ ref={(ref) => {
39
39
  if (ref) {
40
40
  ref.innerHTML = choice.value || ' ';
41
41
  }
@@ -47,14 +47,14 @@ class BlankContentComp extends React.Component {
47
47
  variant={disabled ? 'outlined' : undefined}
48
48
  />
49
49
  </span>,
50
- {}
50
+ {},
51
51
  );
52
52
  }
53
53
  }
54
54
 
55
- export const BlankContent = withStyles(theme => ({
55
+ export const BlankContent = withStyles((theme) => ({
56
56
  choice: {
57
- border: `solid 0px ${theme.palette.primary.main}`
57
+ border: `solid 0px ${theme.palette.primary.main}`,
58
58
  },
59
59
  chip: {
60
60
  alignItems: 'center',
@@ -64,16 +64,16 @@ export const BlankContent = withStyles(theme => ({
64
64
  fontSize: 'inherit',
65
65
  whiteSpace: 'pre-wrap',
66
66
  maxWidth: '374px',
67
- margin: '4px'
67
+ margin: '4px',
68
68
  },
69
69
  chipLabel: {
70
70
  whiteSpace: 'pre-wrap',
71
71
  '& img': {
72
72
  display: 'block',
73
- padding: '2px 0'
74
- }
73
+ padding: '2px 0',
74
+ },
75
75
  },
76
- disabled: {}
76
+ disabled: {},
77
77
  }))(BlankContentComp);
78
78
 
79
79
  const tileSource = {
@@ -83,14 +83,14 @@ const tileSource = {
83
83
  beginDrag(props) {
84
84
  return {
85
85
  choice: props.choice,
86
- instanceId: props.instanceId
86
+ instanceId: props.instanceId,
87
87
  };
88
- }
88
+ },
89
89
  };
90
90
 
91
91
  const DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({
92
92
  connectDragSource: connect.dragSource(),
93
- isDragging: monitor.isDragging()
93
+ isDragging: monitor.isDragging(),
94
94
  }))(BlankContent);
95
95
 
96
96
  export default DragDropTile;