@pie-element/match-list 1.16.3-next.9 → 1.17.2
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 +28 -0
- package/lib/answer-area.js +1 -1
- package/lib/answer-area.js.map +1 -1
- package/lib/answer.js +34 -33
- package/lib/answer.js.map +1 -1
- package/lib/arrow.js +21 -19
- package/lib/arrow.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
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.17.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.17.0...@pie-element/match-list@1.17.2) (2023-03-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* version bump ([b3f6919](https://github.com/pie-framework/pie-elements/commit/b3f6919c3ad2078953ed5162327cf356090c9aec))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [1.17.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.16.2...@pie-element/match-list@1.17.0) (2023-03-20)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* update pie-libs ([340825a](https://github.com/pie-framework/pie-elements/commit/340825aab8c88569378eb5af6c5b9c9b99aeb285))
|
|
23
|
+
* update pie-libs ([1fe3d37](https://github.com/pie-framework/pie-elements/commit/1fe3d37d2b001f7944e4da7c895a83ccecefefcb))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* added color theming support PD-310 ([64976e0](https://github.com/pie-framework/pie-elements/commit/64976e08151b346f0760aedee2cd0e4ce6ff7f8b))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
6
34
|
## [1.16.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.16.1...@pie-element/match-list@1.16.2) (2023-02-28)
|
|
7
35
|
|
|
8
36
|
|
package/lib/answer-area.js
CHANGED
|
@@ -212,7 +212,7 @@ var styles = function styles(theme) {
|
|
|
212
212
|
marginBottom: theme.spacing.unit * 2
|
|
213
213
|
},
|
|
214
214
|
promptEntry: {
|
|
215
|
-
border:
|
|
215
|
+
border: "1px solid ".concat(theme.palette.grey[400]),
|
|
216
216
|
boxSizing: 'border-box',
|
|
217
217
|
flex: 1,
|
|
218
218
|
margin: '10px 0',
|
package/lib/answer-area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","theme","flex","alignItems","display","height","margin","flexDirection","justifyContent","marginTop","spacing","unit","marginBottom","border","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n };\n\n getAnswerFromSession = (promptId) => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find((p) => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find((answer) => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value ||\n config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(\n sessionValue,\n (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n },\n {},\n );\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = config.prompts || [];\n\n return prompts.map((prompt) => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer,\n };\n });\n };\n\n render() {\n const { classes, disabled, onPlaceAnswer, instanceId, onRemoveAnswer } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n return (\n <div className={classes.row} key={index}>\n <div className={classes.promptEntry} dangerouslySetInnerHTML={{ __html: title }} />\n\n <div className={classes.arrowEntry}>\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n answer: {\n flex: 1,\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px',\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n promptEntry: {\n border: '1px solid #c2c2c2',\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word',\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","theme","flex","alignItems","display","height","margin","flexDirection","justifyContent","marginTop","spacing","unit","marginBottom","border","palette","grey","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n };\n\n getAnswerFromSession = (promptId) => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find((p) => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find((answer) => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value ||\n config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(\n sessionValue,\n (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n },\n {},\n );\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = config.prompts || [];\n\n return prompts.map((prompt) => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer,\n };\n });\n };\n\n render() {\n const { classes, disabled, onPlaceAnswer, instanceId, onRemoveAnswer } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n return (\n <div className={classes.row} key={index}>\n <div className={classes.promptEntry} dangerouslySetInnerHTML={{ __html: title }} />\n\n <div className={classes.arrowEntry}>\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n answer: {\n flex: 1,\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px',\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n promptEntry: {\n border: `1px solid ${theme.palette.grey[400]}`,\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word',\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
package/lib/answer.js
CHANGED
|
@@ -42,13 +42,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
42
42
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
43
|
|
|
44
44
|
var log = (0, _debug["default"])('pie-elements:match-title:answer');
|
|
45
|
-
var Holder = (0, _styles.withStyles)(function () {
|
|
45
|
+
var Holder = (0, _styles.withStyles)(function (theme) {
|
|
46
46
|
return {
|
|
47
47
|
number: {
|
|
48
48
|
width: '100%',
|
|
49
49
|
fontSize: '18px',
|
|
50
50
|
textAlign: 'center',
|
|
51
|
-
color:
|
|
51
|
+
color: "rgba(".concat(theme.palette.common.black, ", 0.6)")
|
|
52
52
|
},
|
|
53
53
|
placeholder: {
|
|
54
54
|
display: 'flex',
|
|
@@ -76,37 +76,38 @@ Holder.propTypes = {
|
|
|
76
76
|
isOver: _propTypes["default"].bool,
|
|
77
77
|
disabled: _propTypes["default"].bool
|
|
78
78
|
};
|
|
79
|
-
var AnswerContent = (0, _styles.withStyles)({
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
79
|
+
var AnswerContent = (0, _styles.withStyles)(function (theme) {
|
|
80
|
+
return {
|
|
81
|
+
over: {
|
|
82
|
+
opacity: 0.2
|
|
83
|
+
},
|
|
84
|
+
answerContent: {
|
|
85
|
+
color: _renderUi.color.text(),
|
|
86
|
+
backgroundColor: _renderUi.color.background(),
|
|
87
|
+
border: "1px solid ".concat(theme.palette.grey[400]),
|
|
88
|
+
cursor: 'pointer',
|
|
89
|
+
width: '100%',
|
|
90
|
+
padding: '10px',
|
|
91
|
+
boxSizing: 'border-box',
|
|
92
|
+
overflow: 'hidden',
|
|
93
|
+
transition: 'opacity 200ms linear',
|
|
94
|
+
wordBreak: 'break-word'
|
|
95
|
+
},
|
|
96
|
+
dragging: {
|
|
97
|
+
opacity: 0.5
|
|
98
|
+
},
|
|
99
|
+
disabled: {
|
|
100
|
+
backgroundColor: _renderUi.color.background(),
|
|
101
|
+
opacity: 0.6,
|
|
102
|
+
cursor: 'not-allowed'
|
|
103
|
+
},
|
|
104
|
+
incorrect: {
|
|
105
|
+
border: "1px solid ".concat(_renderUi.color.incorrect())
|
|
106
|
+
},
|
|
107
|
+
correct: {
|
|
108
|
+
border: "1px solid ".concat(_renderUi.color.correct())
|
|
109
|
+
}
|
|
110
|
+
};
|
|
110
111
|
})(function (props) {
|
|
111
112
|
var classes = props.classes,
|
|
112
113
|
isDragging = props.isDragging,
|
package/lib/answer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer.js"],"names":["log","Holder","number","width","fontSize","textAlign","color","placeholder","display","padding","alignItems","justifyContent","height","classes","index","isOver","disabled","undefined","propTypes","PropTypes","bool","AnswerContent","over","opacity","answerContent","text","backgroundColor","background","border","cursor","boxSizing","overflow","transition","wordBreak","dragging","incorrect","correct","props","isDragging","title","empty","outcome","guideIndex","type","names","__html","Answer","id","className","connectDragSource","connectDropTarget","name","answer","content","droppable","React","Component","string","func","isRequired","any","object","StyledAnswer","minHeight","minWidth","margin","answerTarget","drop","monitor","draggedItem","getItem","instanceId","onPlaceAnswer","promptId","canDrop","DropAnswer","connect","dropTarget","answerSource","canDrag","draggable","beginDrag","endDrag","didDrop","onRemoveChoice","DragAnswer","dragSource","DragAndDropAnswer"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,iCAAN,CAAZ;AAEA,IAAMC,MAAM,GAAG,wBAAW;AAAA,SAAO;AAC/BC,IAAAA,MAAM,EAAE;AACNC,MAAAA,KAAK,EAAE,MADD;AAENC,MAAAA,QAAQ,EAAE,MAFJ;AAGNC,MAAAA,SAAS,EAAE,QAHL;AAINC,MAAAA,KAAK,EAAE;AAJD,KADuB;AAO/BC,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAE,MADE;AAEXC,MAAAA,OAAO,EAAE,GAFE;AAGXC,MAAAA,UAAU,EAAE,QAHD;AAIXC,MAAAA,cAAc,EAAE,QAJL;AAKXC,MAAAA,MAAM,EAAE;AALG;AAPkB,GAAP;AAAA,CAAX,EAcX;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,KAAZ,QAAYA,KAAZ;AAAA,MAAmBC,MAAnB,QAAmBA,MAAnB;AAAA,MAA2BC,QAA3B,QAA2BA,QAA3B;AAAA,sBACF,gCAAC,iBAAD;AAAa,IAAA,SAAS,EAAEH,OAAO,CAACN,WAAhC;AAA6C,IAAA,QAAQ,EAAES,QAAvD;AAAiE,IAAA,MAAM,EAAED;AAAzE,KACGD,KAAK,KAAKG,SAAV,iBAAuB;AAAK,IAAA,SAAS,EAAEJ,OAAO,CAACX;AAAxB,KAAiCY,KAAjC,CAD1B,CADE;AAAA,CAdW,CAAf;AAoBAb,MAAM,CAACiB,SAAP,GAAmB;AACjBJ,EAAAA,KAAK,EAAEK,sBAAUjB,MADA;AAEjBa,EAAAA,MAAM,EAAEI,sBAAUC,IAFD;AAGjBJ,EAAAA,QAAQ,EAAEG,sBAAUC;AAHH,CAAnB;AAMA,IAAMC,aAAa,GAAG,wBAAW;AAC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAE;AADL,GADyB;AAI/BC,EAAAA,aAAa,EAAE;AACblB,IAAAA,KAAK,EAAEA,gBAAMmB,IAAN,EADM;AAEbC,IAAAA,eAAe,EAAEpB,gBAAMqB,UAAN,EAFJ;AAGbC,IAAAA,MAAM,EAAE,mBAHK;AAGgB;AAC7BC,IAAAA,MAAM,EAAE,SAJK;AAKb1B,IAAAA,KAAK,EAAE,MALM;AAMbM,IAAAA,OAAO,EAAE,MANI;AAObqB,IAAAA,SAAS,EAAE,YAPE;AAQbC,IAAAA,QAAQ,EAAE,QARG;AASbC,IAAAA,UAAU,EAAE,sBATC;AAUbC,IAAAA,SAAS,EAAE;AAVE,GAJgB;AAgB/BC,EAAAA,QAAQ,EAAE;AACRX,IAAAA,OAAO,EAAE;AADD,GAhBqB;AAmB/BP,EAAAA,QAAQ,EAAE;AACRU,IAAAA,eAAe,EAAEpB,gBAAMqB,UAAN,EADT;AAERJ,IAAAA,OAAO,EAAE,GAFD;AAGRM,IAAAA,MAAM,EAAE;AAHA,GAnBqB;AAwB/BM,EAAAA,SAAS,EAAE;AACTP,IAAAA,MAAM,sBAAetB,gBAAM6B,SAAN,EAAf;AADG,GAxBoB;AA2B/BC,EAAAA,OAAO,EAAE;AACPR,IAAAA,MAAM,sBAAetB,gBAAM8B,OAAN,EAAf;AADC;AA3BsB,CAAX,EA8BnB,UAACC,KAAD,EAAW;AACZ,MAAQxB,OAAR,GAA2FwB,KAA3F,CAAQxB,OAAR;AAAA,MAAiByB,UAAjB,GAA2FD,KAA3F,CAAiBC,UAAjB;AAAA,MAA6BvB,MAA7B,GAA2FsB,KAA3F,CAA6BtB,MAA7B;AAAA,MAAqCwB,KAArC,GAA2FF,KAA3F,CAAqCE,KAArC;AAAA,MAA4CvB,QAA5C,GAA2FqB,KAA3F,CAA4CrB,QAA5C;AAAA,MAAsDwB,KAAtD,GAA2FH,KAA3F,CAAsDG,KAAtD;AAAA,MAA6DC,OAA7D,GAA2FJ,KAA3F,CAA6DI,OAA7D;AAAA,MAAsEC,UAAtE,GAA2FL,KAA3F,CAAsEK,UAAtE;AAAA,MAAkFC,IAAlF,GAA2FN,KAA3F,CAAkFM,IAAlF;;AAEA,MAAIH,KAAJ,EAAW;AACT,wBAAO,gCAAC,MAAD;AAAQ,MAAA,KAAK,EAAEE,UAAf;AAA2B,MAAA,MAAM,EAAE3B,MAAnC;AAA2C,MAAA,QAAQ,EAAEC,QAArD;AAA+D,MAAA,IAAI,EAAE2B;AAArE,MAAP;AACD,GAFD,MAEO;AACL,QAAMC,KAAK,GAAG,4BACZ/B,OAAO,CAACW,aADI,EAEZc,UAAU,IAAI,CAACtB,QAAf,IAA2BH,OAAO,CAACqB,QAFvB,EAGZnB,MAAM,IAAI,CAACC,QAAX,IAAuBH,OAAO,CAACS,IAHnB,EAIZN,QAAQ,IAAIH,OAAO,CAACG,QAJR,EAKZyB,OAAO,IAAI5B,OAAO,CAAC4B,OAAD,CALN,CAAd;AAQA,wBAAO;AAAK,MAAA,SAAS,EAAEG,KAAhB;AAAuB,MAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAEN;AAAV;AAAhD,MAAP;AACD;AACF,CA9CqB,CAAtB;;IAgDaO,M;;;;;;;;;;;;WAgBX,kBAAS;AAAA;;AACP,wBAYI,KAAKT,KAZT;AAAA,UACEU,EADF,eACEA,EADF;AAAA,UAEER,KAFF,eAEEA,KAFF;AAAA,UAGED,UAHF,eAGEA,UAHF;AAAA,UAIEU,SAJF,eAIEA,SAJF;AAAA,UAKEC,iBALF,eAKEA,iBALF;AAAA,UAMEC,iBANF,eAMEA,iBANF;AAAA,UAOElC,QAPF,eAOEA,QAPF;AAAA,UAQEH,OARF,eAQEA,OARF;AAAA,UASEE,MATF,eASEA,MATF;AAAA,UAUE4B,IAVF,eAUEA,IAVF;AAAA,UAWEP,OAXF,eAWEA,OAXF;AAcApC,MAAAA,GAAG,CAAC,mBAAD,EAAsB,KAAKqC,KAA3B,CAAH;AAEA,UAAMc,IAAI,GAAG,4BAAWH,SAAX,EAAsBnC,OAAO,CAACuC,MAA9B,mEACVvC,OAAO,CAACuB,OADE,EACQA,OAAO,KAAK,IADpB,iDAEVvB,OAAO,CAACsB,SAFE,EAEUC,OAAO,KAAK,KAFtB,gBAAb;;AAKA,UAAMiB,OAAO,gBACX;AAAK,QAAA,SAAS,EAAEF;AAAhB,sBACE,gCAAC,aAAD;AACE,QAAA,KAAK,EAAEZ,KADT;AAEE,QAAA,EAAE,EAAEQ,EAFN;AAGE,QAAA,MAAM,EAAEhC,MAHV;AAIE,QAAA,KAAK,EAAE,yBAAQwB,KAAR,CAJT;AAKE,QAAA,UAAU,EAAED,UALd;AAME,QAAA,QAAQ,EAAEtB,QANZ;AAOE,QAAA,IAAI,EAAE2B;AAPR,QADF,CADF;;AAaA,UAAMW,SAAS,GAAGJ,iBAAiB,GAAGA,iBAAiB,CAACG,OAAD,CAApB,GAAgCA,OAAnE;AAEA,aAAOJ,iBAAiB,GAAGA,iBAAiB,CAACK,SAAD,CAApB,GAAkCA,SAA1D;AACD;;;EAtDyBC,kBAAMC,S;;;iCAArBV,M,eACQ;AACjBE,EAAAA,SAAS,EAAE7B,sBAAUsC,MADJ;AAEjBR,EAAAA,iBAAiB,EAAE9B,sBAAUuC,IAFZ;AAGjBR,EAAAA,iBAAiB,EAAE/B,sBAAUuC,IAHZ;AAIjBpB,EAAAA,UAAU,EAAEnB,sBAAUC,IAAV,CAAeuC,UAJV;AAKjBZ,EAAAA,EAAE,EAAE5B,sBAAUyC,GALG;AAMjBrB,EAAAA,KAAK,EAAEpB,sBAAUsC,MANA;AAOjB1C,EAAAA,MAAM,EAAEI,sBAAUC,IAPD;AAQjBP,EAAAA,OAAO,EAAEM,sBAAU0C,MAAV,CAAiBF,UART;AASjBnB,EAAAA,KAAK,EAAErB,sBAAUC,IATA;AAUjBuB,EAAAA,IAAI,EAAExB,sBAAUsC,MAVC;AAWjBzC,EAAAA,QAAQ,EAAEG,sBAAUC,IAXH;AAYjBgB,EAAAA,OAAO,EAAEjB,sBAAUC;AAZF,C;AAwDrB,IAAM0C,YAAY,GAAG,wBAAW;AAC9BV,EAAAA,MAAM,EAAE;AACNtB,IAAAA,SAAS,EAAE,YADL;AAENiC,IAAAA,SAAS,EAAE,EAFL;AAGNC,IAAAA,QAAQ,EAAE,OAHJ;AAINjC,IAAAA,QAAQ,EAAE,QAJJ;AAKNkC,IAAAA,MAAM,EAAE,QALF;AAMNxD,IAAAA,OAAO,EAAE,KANH;AAONJ,IAAAA,SAAS,EAAE;AAPL,GADsB;AAU9B8B,EAAAA,SAAS,EAAE;AACTP,IAAAA,MAAM,yDAAkDtB,gBAAM6B,SAAN,EAAlD;AADG,GAVmB;AAa9BC,EAAAA,OAAO,EAAE;AACPR,IAAAA,MAAM,uDAAgDtB,gBAAM8B,OAAN,EAAhD;AADC;AAbqB,CAAX,EAgBlBU,MAhBkB,CAArB;AAkBA,IAAMoB,YAAY,GAAG;AACnBC,EAAAA,IADmB,gBACd9B,KADc,EACP+B,OADO,EACE;AACnB,QAAMC,WAAW,GAAGD,OAAO,CAACE,OAAR,EAApB;;AAEA,QAAID,WAAW,CAACE,UAAZ,KAA2BlC,KAAK,CAACkC,UAArC,EAAiD;AAC/ClC,MAAAA,KAAK,CAACmC,aAAN,CAAoBnC,KAAK,CAACoC,QAA1B,EAAoCJ,WAAW,CAACtB,EAAhD;AACD;AACF,GAPkB;AAQnB2B,EAAAA,OARmB,mBAQXrC,KARW,EAQJ+B,OARI,EAQK;AACtB,QAAMC,WAAW,GAAGD,OAAO,CAACE,OAAR,EAApB;AAEA,WAAOD,WAAW,CAACE,UAAZ,KAA2BlC,KAAK,CAACkC,UAAxC;AACD;AAZkB,CAArB;AAeO,IAAMI,UAAU,GAAG,0BAAW,QAAX,EAAqBT,YAArB,EAAmC,UAACU,OAAD,EAAUR,OAAV;AAAA,SAAuB;AAClFlB,IAAAA,iBAAiB,EAAE0B,OAAO,CAACC,UAAR,EAD+D;AAElF9D,IAAAA,MAAM,EAAEqD,OAAO,CAACrD,MAAR;AAF0E,GAAvB;AAAA,CAAnC,EAGtB+C,YAHsB,CAAnB;;AAKP,IAAMgB,YAAY,GAAG;AACnBC,EAAAA,OADmB,mBACX1C,KADW,EACJ;AACb,WAAOA,KAAK,CAAC2C,SAAN,IAAmB,CAAC3C,KAAK,CAACrB,QAAjC;AACD,GAHkB;AAInBiE,EAAAA,SAJmB,qBAIT5C,KAJS,EAIF;AACf,WAAO;AACLU,MAAAA,EAAE,EAAEV,KAAK,CAACU,EADL;AAELJ,MAAAA,IAAI,EAAEN,KAAK,CAACM,IAFP;AAGL4B,MAAAA,UAAU,EAAElC,KAAK,CAACkC,UAHb;AAILE,MAAAA,QAAQ,EAAEpC,KAAK,CAACoC;AAJX,KAAP;AAMD,GAXkB;AAYnBS,EAAAA,OAZmB,mBAYX7C,KAZW,EAYJ+B,OAZI,EAYK;AACtB,QAAI,CAACA,OAAO,CAACe,OAAR,EAAL,EAAwB;AACtB,UAAI9C,KAAK,CAACM,IAAN,KAAe,QAAnB,EAA6B;AAC3BN,QAAAA,KAAK,CAAC+C,cAAN,CAAqBhB,OAAO,CAACE,OAAR,EAArB;AACD;AACF;AACF;AAlBkB,CAArB;AAqBO,IAAMe,UAAU,GAAG,0BAAW,QAAX,EAAqBP,YAArB,EAAmC,UAACF,OAAD,EAAUR,OAAV;AAAA,SAAuB;AAClFnB,IAAAA,iBAAiB,EAAE2B,OAAO,CAACU,UAAR,EAD+D;AAElFhD,IAAAA,UAAU,EAAE8B,OAAO,CAAC9B,UAAR;AAFsE,GAAvB;AAAA,CAAnC,EAGtBwB,YAHsB,CAAnB;;AAKP,IAAMyB,iBAAiB,GAAG,0BAAW,QAAX,EAAqBT,YAArB,EAAmC,UAACF,OAAD,EAAUR,OAAV;AAAA,SAAuB;AAClFnB,IAAAA,iBAAiB,EAAE2B,OAAO,CAACU,UAAR,EAD+D;AAElFhD,IAAAA,UAAU,EAAE8B,OAAO,CAAC9B,UAAR;AAFsE,GAAvB;AAAA,CAAnC,EAGtBqC,UAHsB,CAA1B;eAKeY,iB","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport { PlaceHolder } from '@pie-lib/drag';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:match-title:answer');\n\nconst Holder = withStyles(() => ({\n number: {\n width: '100%',\n fontSize: '18px',\n textAlign: 'center',\n color: 'rgba(0,0,0,0.6)',\n },\n placeholder: {\n display: 'flex',\n padding: '0',\n alignItems: 'center',\n justifyContent: 'center',\n height: '40px',\n },\n}))(({ classes, index, isOver, disabled }) => (\n <PlaceHolder className={classes.placeholder} disabled={disabled} isOver={isOver}>\n {index !== undefined && <div className={classes.number}>{index}</div>}\n </PlaceHolder>\n));\n\nHolder.propTypes = {\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nconst AnswerContent = withStyles({\n over: {\n opacity: 0.2,\n },\n answerContent: {\n color: color.text(),\n backgroundColor: color.background(),\n border: '1px solid #c2c2c2', // TODO hardcoded color\n cursor: 'pointer',\n width: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n transition: 'opacity 200ms linear',\n wordBreak: 'break-word',\n },\n dragging: {\n opacity: 0.5,\n },\n disabled: {\n backgroundColor: color.background(),\n opacity: 0.6,\n cursor: 'not-allowed',\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n})((props) => {\n const { classes, isDragging, isOver, title, disabled, empty, outcome, guideIndex, type } = props;\n\n if (empty) {\n return <Holder index={guideIndex} isOver={isOver} disabled={disabled} type={type} />;\n } else {\n const names = classNames(\n classes.answerContent,\n isDragging && !disabled && classes.dragging,\n isOver && !disabled && classes.over,\n disabled && classes.disabled,\n outcome && classes[outcome],\n );\n\n return <div className={names} dangerouslySetInnerHTML={{ __html: title }} />;\n }\n});\n\nexport class Answer extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n connectDragSource: PropTypes.func,\n connectDropTarget: PropTypes.func,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n title: PropTypes.string,\n isOver: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n empty: PropTypes.bool,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n };\n\n render() {\n const {\n id,\n title,\n isDragging,\n className,\n connectDragSource,\n connectDropTarget,\n disabled,\n classes,\n isOver,\n type,\n correct,\n } = this.props;\n\n log('[render], props: ', this.props);\n\n const name = classNames(className, classes.answer, {\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n });\n\n const content = (\n <div className={name}>\n <AnswerContent\n title={title}\n id={id}\n isOver={isOver}\n empty={isEmpty(title)}\n isDragging={isDragging}\n disabled={disabled}\n type={type}\n />\n </div>\n );\n const droppable = connectDropTarget ? connectDropTarget(content) : content;\n\n return connectDragSource ? connectDragSource(droppable) : droppable;\n }\n}\n\nconst StyledAnswer = withStyles({\n answer: {\n boxSizing: 'border-box',\n minHeight: 40,\n minWidth: '100px',\n overflow: 'hidden',\n margin: '10px 0',\n padding: '0px',\n textAlign: 'center',\n },\n incorrect: {\n border: `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n correct: {\n border: `1px solid var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n})(Answer);\n\nconst answerTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.instanceId === props.instanceId) {\n props.onPlaceAnswer(props.promptId, draggedItem.id);\n }\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nexport const DropAnswer = DropTarget('Answer', answerTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(StyledAnswer);\n\nconst answerSource = {\n canDrag(props) {\n return props.draggable && !props.disabled;\n },\n beginDrag(props) {\n return {\n id: props.id,\n type: props.type,\n instanceId: props.instanceId,\n promptId: props.promptId,\n };\n },\n endDrag(props, monitor) {\n if (!monitor.didDrop()) {\n if (props.type === 'target') {\n props.onRemoveChoice(monitor.getItem());\n }\n }\n },\n};\n\nexport const DragAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledAnswer);\n\nconst DragAndDropAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropAnswer);\n\nexport default DragAndDropAnswer;\n"],"file":"answer.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer.js"],"names":["log","Holder","theme","number","width","fontSize","textAlign","color","palette","common","black","placeholder","display","padding","alignItems","justifyContent","height","classes","index","isOver","disabled","undefined","propTypes","PropTypes","bool","AnswerContent","over","opacity","answerContent","text","backgroundColor","background","border","grey","cursor","boxSizing","overflow","transition","wordBreak","dragging","incorrect","correct","props","isDragging","title","empty","outcome","guideIndex","type","names","__html","Answer","id","className","connectDragSource","connectDropTarget","name","answer","content","droppable","React","Component","string","func","isRequired","any","object","StyledAnswer","minHeight","minWidth","margin","answerTarget","drop","monitor","draggedItem","getItem","instanceId","onPlaceAnswer","promptId","canDrop","DropAnswer","connect","dropTarget","answerSource","canDrag","draggable","beginDrag","endDrag","didDrop","onRemoveChoice","DragAnswer","dragSource","DragAndDropAnswer"],"mappings":"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","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport { PlaceHolder } from '@pie-lib/drag';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:match-title:answer');\n\nconst Holder = withStyles((theme) => ({\n number: {\n width: '100%',\n fontSize: '18px',\n textAlign: 'center',\n color: `rgba(${theme.palette.common.black}, 0.6)`,\n },\n placeholder: {\n display: 'flex',\n padding: '0',\n alignItems: 'center',\n justifyContent: 'center',\n height: '40px',\n },\n}))(({ classes, index, isOver, disabled }) => (\n <PlaceHolder className={classes.placeholder} disabled={disabled} isOver={isOver}>\n {index !== undefined && <div className={classes.number}>{index}</div>}\n </PlaceHolder>\n));\n\nHolder.propTypes = {\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nconst AnswerContent = withStyles((theme) => ({\n over: {\n opacity: 0.2,\n },\n answerContent: {\n color: color.text(),\n backgroundColor: color.background(),\n border: `1px solid ${theme.palette.grey[400]}`,\n cursor: 'pointer',\n width: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n transition: 'opacity 200ms linear',\n wordBreak: 'break-word',\n },\n dragging: {\n opacity: 0.5,\n },\n disabled: {\n backgroundColor: color.background(),\n opacity: 0.6,\n cursor: 'not-allowed',\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n}))((props) => {\n const { classes, isDragging, isOver, title, disabled, empty, outcome, guideIndex, type } = props;\n\n if (empty) {\n return <Holder index={guideIndex} isOver={isOver} disabled={disabled} type={type} />;\n } else {\n const names = classNames(\n classes.answerContent,\n isDragging && !disabled && classes.dragging,\n isOver && !disabled && classes.over,\n disabled && classes.disabled,\n outcome && classes[outcome],\n );\n\n return <div className={names} dangerouslySetInnerHTML={{ __html: title }} />;\n }\n});\n\nexport class Answer extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n connectDragSource: PropTypes.func,\n connectDropTarget: PropTypes.func,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n title: PropTypes.string,\n isOver: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n empty: PropTypes.bool,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n };\n\n render() {\n const {\n id,\n title,\n isDragging,\n className,\n connectDragSource,\n connectDropTarget,\n disabled,\n classes,\n isOver,\n type,\n correct,\n } = this.props;\n\n log('[render], props: ', this.props);\n\n const name = classNames(className, classes.answer, {\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n });\n\n const content = (\n <div className={name}>\n <AnswerContent\n title={title}\n id={id}\n isOver={isOver}\n empty={isEmpty(title)}\n isDragging={isDragging}\n disabled={disabled}\n type={type}\n />\n </div>\n );\n const droppable = connectDropTarget ? connectDropTarget(content) : content;\n\n return connectDragSource ? connectDragSource(droppable) : droppable;\n }\n}\n\nconst StyledAnswer = withStyles({\n answer: {\n boxSizing: 'border-box',\n minHeight: 40,\n minWidth: '100px',\n overflow: 'hidden',\n margin: '10px 0',\n padding: '0px',\n textAlign: 'center',\n },\n incorrect: {\n border: `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n correct: {\n border: `1px solid var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n})(Answer);\n\nconst answerTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.instanceId === props.instanceId) {\n props.onPlaceAnswer(props.promptId, draggedItem.id);\n }\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nexport const DropAnswer = DropTarget('Answer', answerTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(StyledAnswer);\n\nconst answerSource = {\n canDrag(props) {\n return props.draggable && !props.disabled;\n },\n beginDrag(props) {\n return {\n id: props.id,\n type: props.type,\n instanceId: props.instanceId,\n promptId: props.promptId,\n };\n },\n endDrag(props, monitor) {\n if (!monitor.didDrop()) {\n if (props.type === 'target') {\n props.onRemoveChoice(monitor.getItem());\n }\n }\n },\n};\n\nexport const DragAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledAnswer);\n\nconst DragAndDropAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropAnswer);\n\nexport default DragAndDropAnswer;\n"],"file":"answer.js"}
|
package/lib/arrow.js
CHANGED
|
@@ -74,25 +74,27 @@ exports.Arrow = Arrow;
|
|
|
74
74
|
direction: _propTypes["default"].string,
|
|
75
75
|
classes: _propTypes["default"].object.isRequired
|
|
76
76
|
});
|
|
77
|
-
var styledArrow = (0, _styles.withStyles)({
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
77
|
+
var styledArrow = (0, _styles.withStyles)(function (theme) {
|
|
78
|
+
return {
|
|
79
|
+
arrow: {
|
|
80
|
+
display: 'inline-block',
|
|
81
|
+
position: 'relative',
|
|
82
|
+
width: '100%'
|
|
83
|
+
},
|
|
84
|
+
line: {
|
|
85
|
+
backgroundColor: theme.palette.grey[500],
|
|
86
|
+
bottom: 19,
|
|
87
|
+
content: '""',
|
|
88
|
+
display: 'block',
|
|
89
|
+
height: 1,
|
|
90
|
+
left: 20,
|
|
91
|
+
position: 'absolute',
|
|
92
|
+
width: '100%'
|
|
93
|
+
},
|
|
94
|
+
right: {
|
|
95
|
+
bottom: 20
|
|
96
|
+
}
|
|
97
|
+
};
|
|
96
98
|
})(Arrow);
|
|
97
99
|
var _default = styledArrow;
|
|
98
100
|
exports["default"] = _default;
|
package/lib/arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/arrow.js"],"names":["Arrow","props","direction","classes","extraStyle","transform","arrow","color","fontSize","line","right","React","Component","PropTypes","string","object","isRequired","styledArrow","display","position","width","backgroundColor","bottom","content","height","left"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,K;;;;;;;;;;;;WAMX,kBAAS;AACP,wBAA+B,KAAKC,KAApC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,OAAnB,eAAmBA,OAAnB;AAEA,UAAMC,UAAU,GACdF,SAAS,KAAK,MAAd,GACI,EADJ,GAEI;AACEG,QAAAA,SAAS,EAAE;AADb,OAHN;AAOA,0BACE;AAAK,QAAA,SAAS,EAAEF,OAAO,CAACG,KAAxB;AAA+B,QAAA,KAAK,EAAEF;AAAtC,sBACE,gCAAC,yBAAD;AACE,QAAA,KAAK,EAAE;AACLC,UAAAA,SAAS,EAAE,eADN;AAELE,UAAAA,KAAK,EAAE,SAFF;AAGLC,UAAAA,QAAQ,EAAE;AAHL;AADT,QADF,eAQE;AACE,QAAA,SAAS,EAAE,6BAAWL,OAAO,CAACM,IAAnB,uCACRN,OAAO,CAACO,KADA,EACQR,SAAS,KAAK,MADtB;AADb,QARF,CADF;AAgBD;;;EAhCwBS,kBAAMC,S;;;iCAApBZ,K,eACQ;AACjBE,EAAAA,SAAS,EAAEW,sBAAUC,MADJ;AAEjBX,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC;AAFT,C;AAkCrB,IAAMC,WAAW,GAAG,wBAAW;
|
|
1
|
+
{"version":3,"sources":["../src/arrow.js"],"names":["Arrow","props","direction","classes","extraStyle","transform","arrow","color","fontSize","line","right","React","Component","PropTypes","string","object","isRequired","styledArrow","theme","display","position","width","backgroundColor","palette","grey","bottom","content","height","left"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,K;;;;;;;;;;;;WAMX,kBAAS;AACP,wBAA+B,KAAKC,KAApC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,OAAnB,eAAmBA,OAAnB;AAEA,UAAMC,UAAU,GACdF,SAAS,KAAK,MAAd,GACI,EADJ,GAEI;AACEG,QAAAA,SAAS,EAAE;AADb,OAHN;AAOA,0BACE;AAAK,QAAA,SAAS,EAAEF,OAAO,CAACG,KAAxB;AAA+B,QAAA,KAAK,EAAEF;AAAtC,sBACE,gCAAC,yBAAD;AACE,QAAA,KAAK,EAAE;AACLC,UAAAA,SAAS,EAAE,eADN;AAELE,UAAAA,KAAK,EAAE,SAFF;AAGLC,UAAAA,QAAQ,EAAE;AAHL;AADT,QADF,eAQE;AACE,QAAA,SAAS,EAAE,6BAAWL,OAAO,CAACM,IAAnB,uCACRN,OAAO,CAACO,KADA,EACQR,SAAS,KAAK,MADtB;AADb,QARF,CADF;AAgBD;;;EAhCwBS,kBAAMC,S;;;iCAApBZ,K,eACQ;AACjBE,EAAAA,SAAS,EAAEW,sBAAUC,MADJ;AAEjBX,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC;AAFT,C;AAkCrB,IAAMC,WAAW,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACzCZ,IAAAA,KAAK,EAAE;AACLa,MAAAA,OAAO,EAAE,cADJ;AAELC,MAAAA,QAAQ,EAAE,UAFL;AAGLC,MAAAA,KAAK,EAAE;AAHF,KADkC;AAMzCZ,IAAAA,IAAI,EAAE;AACJa,MAAAA,eAAe,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CADb;AAEJC,MAAAA,MAAM,EAAE,EAFJ;AAGJC,MAAAA,OAAO,EAAE,IAHL;AAIJP,MAAAA,OAAO,EAAE,OAJL;AAKJQ,MAAAA,MAAM,EAAE,CALJ;AAMJC,MAAAA,IAAI,EAAE,EANF;AAOJR,MAAAA,QAAQ,EAAE,UAPN;AAQJC,MAAAA,KAAK,EAAE;AARH,KANmC;AAgBzCX,IAAAA,KAAK,EAAE;AACLe,MAAAA,MAAM,EAAE;AADH;AAhBkC,GAAZ;AAAA,CAAX,EAmBhBzB,KAnBgB,CAApB;eAqBeiB,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ArrowHead from '@material-ui/icons/ArrowDropDown';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class Arrow extends React.Component {\n static propTypes = {\n direction: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { direction, classes } = this.props;\n\n const extraStyle =\n direction === 'left'\n ? {}\n : {\n transform: 'rotate(180deg)',\n };\n\n return (\n <div className={classes.arrow} style={extraStyle}>\n <ArrowHead\n style={{\n transform: 'rotate(90deg)',\n color: '#979797',\n fontSize: 40,\n }}\n />\n <span\n className={classnames(classes.line, {\n [classes.right]: direction !== 'left',\n })}\n />\n </div>\n );\n }\n}\n\nconst styledArrow = withStyles((theme) => ({\n arrow: {\n display: 'inline-block',\n position: 'relative',\n width: '100%',\n },\n line: {\n backgroundColor: theme.palette.grey[500],\n bottom: 19,\n content: '\"\"',\n display: 'block',\n height: 1,\n left: 20,\n position: 'absolute',\n width: '100%',\n },\n right: {\n bottom: 20,\n },\n}))(Arrow);\n\nexport default styledArrow;\n"],"file":"arrow.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.17.2",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@material-ui/icons": "^3.0.2",
|
|
16
16
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
17
|
-
"@pie-lib/correct-answer-toggle": "^2.3.
|
|
17
|
+
"@pie-lib/correct-answer-toggle": "^2.3.67",
|
|
18
18
|
"@pie-lib/drag": "^2.1.15",
|
|
19
|
-
"@pie-lib/math-rendering": "^2.5.
|
|
20
|
-
"@pie-lib/render-ui": "^4.14.
|
|
19
|
+
"@pie-lib/math-rendering": "^2.5.13",
|
|
20
|
+
"@pie-lib/render-ui": "^4.14.17",
|
|
21
21
|
"classnames": "^2.2.5",
|
|
22
22
|
"debug": "^4.1.1",
|
|
23
23
|
"lodash": "^4.17.10",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"author": "",
|
|
30
30
|
"license": "ISC",
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "6e11b6009ac44f9c404de46777dd756d1ef38eed",
|
|
32
32
|
"main": "lib/index.js",
|
|
33
33
|
"module": "src/index.js"
|
|
34
34
|
}
|