@pie-element/match-list 5.3.4-next.0 → 6.0.0-beta.0

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/lib/arrow.js CHANGED
@@ -1,101 +1,57 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.Arrow = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
7
+ exports.default = exports.Arrow = void 0;
20
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
9
  var _react = _interopRequireDefault(require("react"));
23
-
24
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _classnames2 = _interopRequireDefault(require("classnames"));
27
-
28
- var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
-
34
- 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; } }
35
-
36
- var Arrow = /*#__PURE__*/function (_React$Component) {
37
- (0, _inherits2["default"])(Arrow, _React$Component);
38
-
39
- var _super = _createSuper(Arrow);
40
-
41
- function Arrow() {
42
- (0, _classCallCheck2["default"])(this, Arrow);
43
- return _super.apply(this, arguments);
11
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
12
+ var _styles = require("@mui/material/styles");
13
+ const ArrowContainer = (0, _styles.styled)('div')({
14
+ display: 'inline-block',
15
+ position: 'relative',
16
+ width: '100%'
17
+ });
18
+ const Line = (0, _styles.styled)('span')(({
19
+ theme,
20
+ isRight
21
+ }) => ({
22
+ backgroundColor: theme.palette.grey[500],
23
+ bottom: isRight ? 20 : 19,
24
+ content: '""',
25
+ display: 'block',
26
+ height: 1,
27
+ left: 20,
28
+ position: 'absolute',
29
+ width: '100%'
30
+ }));
31
+ class Arrow extends _react.default.Component {
32
+ render() {
33
+ const {
34
+ direction
35
+ } = this.props;
36
+ const extraStyle = direction === 'left' ? {} : {
37
+ transform: 'rotate(180deg)'
38
+ };
39
+ return /*#__PURE__*/_react.default.createElement(ArrowContainer, {
40
+ style: extraStyle
41
+ }, /*#__PURE__*/_react.default.createElement(_ArrowDropDown.default, {
42
+ style: {
43
+ transform: 'rotate(90deg)',
44
+ color: '#979797',
45
+ fontSize: 40
46
+ }
47
+ }), /*#__PURE__*/_react.default.createElement(Line, {
48
+ isRight: direction !== 'left'
49
+ }));
44
50
  }
45
-
46
- (0, _createClass2["default"])(Arrow, [{
47
- key: "render",
48
- value: function render() {
49
- var _this$props = this.props,
50
- direction = _this$props.direction,
51
- classes = _this$props.classes;
52
- var extraStyle = direction === 'left' ? {} : {
53
- transform: 'rotate(180deg)'
54
- };
55
- return /*#__PURE__*/_react["default"].createElement("div", {
56
- className: classes.arrow,
57
- style: extraStyle
58
- }, /*#__PURE__*/_react["default"].createElement(_ArrowDropDown["default"], {
59
- style: {
60
- transform: 'rotate(90deg)',
61
- color: '#979797',
62
- fontSize: 40
63
- }
64
- }), /*#__PURE__*/_react["default"].createElement("span", {
65
- className: (0, _classnames2["default"])(classes.line, (0, _defineProperty2["default"])({}, classes.right, direction !== 'left'))
66
- }));
67
- }
68
- }]);
69
- return Arrow;
70
- }(_react["default"].Component);
71
-
51
+ }
72
52
  exports.Arrow = Arrow;
73
- (0, _defineProperty2["default"])(Arrow, "propTypes", {
74
- direction: _propTypes["default"].string,
75
- classes: _propTypes["default"].object.isRequired
53
+ (0, _defineProperty2.default)(Arrow, "propTypes", {
54
+ direction: _propTypes.default.string
76
55
  });
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
- };
98
- })(Arrow);
99
- var _default = styledArrow;
100
- exports["default"] = _default;
56
+ var _default = exports.default = Arrow;
101
57
  //# sourceMappingURL=arrow.js.map
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","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"}
1
+ {"version":3,"file":"arrow.js","names":["_react","_interopRequireDefault","require","_propTypes","_ArrowDropDown","_styles","ArrowContainer","styled","display","position","width","Line","theme","isRight","backgroundColor","palette","grey","bottom","content","height","left","Arrow","React","Component","render","direction","props","extraStyle","transform","default","createElement","style","color","fontSize","exports","_defineProperty2","PropTypes","string","_default"],"sources":["../src/arrow.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ArrowHead from '@mui/icons-material/ArrowDropDown';\nimport { styled } from '@mui/material/styles';\n\nconst ArrowContainer = styled('div')({\n display: 'inline-block',\n position: 'relative',\n width: '100%',\n});\n\nconst Line = styled('span')(({ theme, isRight }) => ({\n backgroundColor: theme.palette.grey[500],\n bottom: isRight ? 20 : 19,\n content: '\"\"',\n display: 'block',\n height: 1,\n left: 20,\n position: 'absolute',\n width: '100%',\n}));\n\nexport class Arrow extends React.Component {\n static propTypes = {\n direction: PropTypes.string,\n };\n\n render() {\n const { direction } = this.props;\n\n const extraStyle =\n direction === 'left'\n ? {}\n : {\n transform: 'rotate(180deg)',\n };\n\n return (\n <ArrowContainer style={extraStyle}>\n <ArrowHead\n style={{\n transform: 'rotate(90deg)',\n color: '#979797',\n fontSize: 40,\n }}\n />\n <Line isRight={direction !== 'left'} />\n </ArrowContainer>\n );\n }\n}\n\nexport default Arrow;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,MAAMI,cAAc,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCC,OAAO,EAAE,cAAc;EACvBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,MAAMC,IAAI,GAAG,IAAAJ,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC;EAAEK,KAAK;EAAEC;AAAQ,CAAC,MAAM;EACnDC,eAAe,EAAEF,KAAK,CAACG,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;EACxCC,MAAM,EAAEJ,OAAO,GAAG,EAAE,GAAG,EAAE;EACzBK,OAAO,EAAE,IAAI;EACbV,OAAO,EAAE,OAAO;EAChBW,MAAM,EAAE,CAAC;EACTC,IAAI,EAAE,EAAE;EACRX,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEI,MAAMW,KAAK,SAASC,cAAK,CAACC,SAAS,CAAC;EAKzCC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAEhC,MAAMC,UAAU,GACdF,SAAS,KAAK,MAAM,GAChB,CAAC,CAAC,GACF;MACEG,SAAS,EAAE;IACb,CAAC;IAEP,oBACE5B,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACxB,cAAc;MAACyB,KAAK,EAAEJ;IAAW,gBAChC3B,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC1B,cAAA,CAAAyB,OAAS;MACRE,KAAK,EAAE;QACLH,SAAS,EAAE,eAAe;QAC1BI,KAAK,EAAE,SAAS;QAChBC,QAAQ,EAAE;MACZ;IAAE,CACH,CAAC,eACFjC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACnB,IAAI;MAACE,OAAO,EAAEY,SAAS,KAAK;IAAO,CAAE,CACxB,CAAC;EAErB;AACF;AAACS,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAAA,IAAAc,gBAAA,CAAAN,OAAA,EA5BYR,KAAK,eACG;EACjBI,SAAS,EAAEW,kBAAS,CAACC;AACvB,CAAC;AAAA,IAAAC,QAAA,GAAAJ,OAAA,CAAAL,OAAA,GA2BYR,KAAK","ignoreList":[]}
@@ -1,130 +1,72 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.ChoicesList = void 0;
9
-
7
+ exports.default = exports.ChoicesList = void 0;
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
10
  var _react = _interopRequireDefault(require("react"));
25
-
26
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
12
+ var _styles = require("@mui/material/styles");
30
13
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
31
-
32
14
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
33
-
34
15
  var _find = _interopRequireDefault(require("lodash/find"));
35
-
36
- var _answer = require("./answer");
37
-
16
+ var _answer = _interopRequireDefault(require("./answer"));
38
17
  var _drag = require("@pie-lib/drag");
39
-
40
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
-
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
-
44
- var ChoicesList = /*#__PURE__*/function (_React$Component) {
45
- (0, _inherits2["default"])(ChoicesList, _React$Component);
46
-
47
- var _super = _createSuper(ChoicesList);
48
-
49
- function ChoicesList() {
50
- (0, _classCallCheck2["default"])(this, ChoicesList);
51
- return _super.apply(this, arguments);
18
+ const ChoicesContainer = (0, _styles.styled)('div')(({
19
+ theme
20
+ }) => ({
21
+ marginBottom: theme.spacing(2)
22
+ }));
23
+ const AnswersContainer = (0, _styles.styled)('div')(({
24
+ theme
25
+ }) => ({
26
+ alignItems: 'center',
27
+ display: 'flex',
28
+ flexDirection: 'row',
29
+ flexWrap: 'wrap',
30
+ justifyContent: 'space-between',
31
+ marginTop: theme.spacing(1),
32
+ marginBottom: theme.spacing(1)
33
+ }));
34
+ class ChoicesList extends _react.default.Component {
35
+ render() {
36
+ const {
37
+ model,
38
+ disabled,
39
+ session,
40
+ instanceId,
41
+ onRemoveAnswer
42
+ } = this.props;
43
+ const {
44
+ config
45
+ } = model;
46
+ const {
47
+ duplicates
48
+ } = config;
49
+ const filteredAnswers = config.answers.filter(answer => duplicates || (0, _isEmpty.default)(session) || !session.value || (0, _isUndefined.default)((0, _find.default)(session.value, val => val === answer.id))).map(answer => /*#__PURE__*/_react.default.createElement(_answer.default, (0, _extends2.default)({
50
+ key: answer.id,
51
+ instanceId: instanceId,
52
+ draggable: true,
53
+ disabled: disabled,
54
+ session: session,
55
+ type: "choice"
56
+ }, answer)));
57
+ return /*#__PURE__*/_react.default.createElement(ChoicesContainer, null, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react.default.createElement(_drag.MatchDroppablePlaceholder, {
58
+ disabled: disabled,
59
+ onRemoveAnswer: onRemoveAnswer
60
+ }, filteredAnswers) : /*#__PURE__*/_react.default.createElement(AnswersContainer, null, filteredAnswers));
52
61
  }
53
-
54
- (0, _createClass2["default"])(ChoicesList, [{
55
- key: "render",
56
- value: function render() {
57
- var _this$props = this.props,
58
- model = _this$props.model,
59
- classes = _this$props.classes,
60
- disabled = _this$props.disabled,
61
- session = _this$props.session,
62
- instanceId = _this$props.instanceId,
63
- onRemoveAnswer = _this$props.onRemoveAnswer;
64
- var config = model.config;
65
- var duplicates = config.duplicates;
66
- var filteredAnswers = config.answers.filter(function (answer) {
67
- return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
68
- return val === answer.id;
69
- }));
70
- }).map(function (answer) {
71
- return /*#__PURE__*/_react["default"].createElement(_answer.DragAnswer, (0, _extends2["default"])({
72
- key: answer.id,
73
- instanceId: instanceId,
74
- className: classes.choice,
75
- draggable: true,
76
- disabled: disabled,
77
- session: session,
78
- type: "choice"
79
- }, answer));
80
- });
81
- return /*#__PURE__*/_react["default"].createElement("div", {
82
- className: classes.choicesContainer
83
- }, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react["default"].createElement(_drag.MatchDroppablePlaceholder, {
84
- disabled: disabled,
85
- onRemoveAnswer: onRemoveAnswer
86
- }, filteredAnswers) : /*#__PURE__*/_react["default"].createElement("div", {
87
- className: classes.answersContainer
88
- }, filteredAnswers));
89
- }
90
- }]);
91
- return ChoicesList;
92
- }(_react["default"].Component);
93
-
62
+ }
94
63
  exports.ChoicesList = ChoicesList;
95
- (0, _defineProperty2["default"])(ChoicesList, "propTypes", {
96
- classes: _propTypes["default"].object,
97
- session: _propTypes["default"].object.isRequired,
98
- instanceId: _propTypes["default"].string.isRequired,
99
- model: _propTypes["default"].object.isRequired,
100
- disabled: _propTypes["default"].bool.isRequired,
101
- onRemoveAnswer: _propTypes["default"].func
64
+ (0, _defineProperty2.default)(ChoicesList, "propTypes", {
65
+ session: _propTypes.default.object.isRequired,
66
+ instanceId: _propTypes.default.string.isRequired,
67
+ model: _propTypes.default.object.isRequired,
68
+ disabled: _propTypes.default.bool.isRequired,
69
+ onRemoveAnswer: _propTypes.default.func
102
70
  });
103
-
104
- var styles = function styles(theme) {
105
- return {
106
- choicesContainer: {
107
- marginBottom: theme.spacing.unit * 2
108
- },
109
- answersContainer: {
110
- alignItems: 'center',
111
- display: 'flex',
112
- flexDirection: 'row',
113
- flexWrap: 'wrap',
114
- justifyContent: 'space-between',
115
- marginTop: theme.spacing.unit,
116
- marginBottom: theme.spacing.unit
117
- },
118
- choice: {
119
- minHeight: '40px',
120
- minWidth: '200px',
121
- height: 'initial',
122
- margin: theme.spacing.unit / 2
123
- }
124
- };
125
- };
126
-
127
- var _default = (0, _styles.withStyles)(styles)(ChoicesList);
128
-
129
- exports["default"] = _default;
71
+ var _default = exports.default = ChoicesList;
130
72
  //# sourceMappingURL=choices-list.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","onRemoveAnswer","config","duplicates","filteredAnswers","answers","filter","answer","value","val","id","map","choice","choicesContainer","MatchDroppablePlaceholder","answersContainer","React","Component","PropTypes","object","isRequired","string","bool","func","styles","theme","marginBottom","spacing","unit","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","minHeight","minWidth","height","margin"],"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 find from 'lodash/find';\nimport { DragAnswer } from './answer';\nimport { MatchDroppablePlaceholder } from '@pie-lib/drag';\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n onRemoveAnswer: PropTypes.func,\n };\n\n render() {\n const { model, classes, disabled, session, instanceId, onRemoveAnswer } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n const filteredAnswers = config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id)),\n )\n .map((answer) => (\n <DragAnswer\n key={answer.id}\n instanceId={instanceId}\n className={classes.choice}\n draggable={true}\n disabled={disabled}\n session={session}\n type=\"choice\"\n {...answer}\n />\n ));\n\n return (\n <div className={classes.choicesContainer}>\n {MatchDroppablePlaceholder ? (\n <MatchDroppablePlaceholder disabled={disabled} onRemoveAnswer={onRemoveAnswer}>\n {filteredAnswers}\n </MatchDroppablePlaceholder>\n ) : (\n <div className={classes.answersContainer}>{filteredAnswers}</div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n choicesContainer: {\n marginBottom: theme.spacing.unit * 2,\n },\n answersContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit,\n },\n choice: {\n minHeight: '40px',\n minWidth: '200px',\n height: 'initial',\n margin: theme.spacing.unit / 2,\n },\n});\n\nexport default withStyles(styles)(ChoicesList);\n"],"file":"choices-list.js"}
1
+ {"version":3,"file":"choices-list.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_isEmpty","_isUndefined","_find","_answer","_drag","ChoicesContainer","styled","theme","marginBottom","spacing","AnswersContainer","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","ChoicesList","React","Component","render","model","disabled","session","instanceId","onRemoveAnswer","props","config","duplicates","filteredAnswers","answers","filter","answer","isEmpty","value","isUndefined","find","val","id","map","default","createElement","_extends2","key","draggable","type","MatchDroppablePlaceholder","exports","_defineProperty2","PropTypes","object","isRequired","string","bool","func","_default"],"sources":["../src/choices-list.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport find from 'lodash/find';\nimport DragAndDropAnswer from './answer';\nimport { MatchDroppablePlaceholder } from '@pie-lib/drag';\n\nconst ChoicesContainer = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst AnswersContainer = styled('div')(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}));\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n onRemoveAnswer: PropTypes.func,\n };\n\n render() {\n const { model, disabled, session, instanceId, onRemoveAnswer } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n const filteredAnswers = config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id)),\n )\n .map((answer) => (\n <DragAndDropAnswer\n key={answer.id}\n instanceId={instanceId}\n draggable={true}\n disabled={disabled}\n session={session}\n type=\"choice\"\n {...answer}\n />\n ));\n\n return (\n <ChoicesContainer>\n {MatchDroppablePlaceholder ? (\n <MatchDroppablePlaceholder disabled={disabled} onRemoveAnswer={onRemoveAnswer}>\n {filteredAnswers}\n </MatchDroppablePlaceholder>\n ) : (\n <AnswersContainer>{filteredAnswers}</AnswersContainer>\n )}\n </ChoicesContainer>\n );\n }\n}\n\nexport default ChoicesList;\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -1,132 +1,86 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  Object.defineProperty(exports, "Component", {
9
8
  enumerable: true,
10
- get: function get() {
11
- return _main["default"];
9
+ get: function () {
10
+ return _main.default;
12
11
  }
13
12
  });
14
- exports.isComplete = exports["default"] = void 0;
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
27
-
13
+ exports.isComplete = exports.default = void 0;
28
14
  var _react = _interopRequireDefault(require("react"));
29
-
30
- var _reactDom = _interopRequireDefault(require("react-dom"));
31
-
15
+ var _client = require("react-dom/client");
32
16
  var _debug = _interopRequireDefault(require("debug"));
33
-
34
17
  var _main = _interopRequireDefault(require("./main"));
35
-
36
18
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
37
-
38
19
  var _mathRendering = require("@pie-lib/math-rendering");
39
-
40
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
-
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
-
44
- var log = (0, _debug["default"])('pie-ui:graph-lines');
45
-
46
- var isComplete = function isComplete(session, model) {
20
+ const log = (0, _debug.default)('pie-ui:graph-lines');
21
+ const isComplete = (session, model) => {
47
22
  if (!session) {
48
23
  return false;
49
24
  }
50
-
51
- var value = session.value;
52
- var complete = true;
53
-
25
+ const value = session.value;
26
+ let complete = true;
54
27
  if (value) {
55
- (model.config.prompts || []).forEach(function (prompt) {
28
+ (model.config.prompts || []).forEach(prompt => {
56
29
  if (!Number.isFinite(value[prompt.id])) {
57
30
  complete = false;
58
31
  }
59
32
  });
60
33
  }
61
-
62
34
  return complete;
63
35
  };
64
-
65
36
  exports.isComplete = isComplete;
66
-
67
- var MatchList = /*#__PURE__*/function (_HTMLElement) {
68
- (0, _inherits2["default"])(MatchList, _HTMLElement);
69
-
70
- var _super = _createSuper(MatchList);
71
-
72
- function MatchList() {
73
- (0, _classCallCheck2["default"])(this, MatchList);
74
- return _super.call(this);
37
+ class MatchList extends HTMLElement {
38
+ constructor() {
39
+ super();
40
+ this._root = null;
75
41
  }
76
-
77
- (0, _createClass2["default"])(MatchList, [{
78
- key: "model",
79
- set: function set(m) {
80
- this._model = m;
81
-
82
- this._render();
83
- }
84
- }, {
85
- key: "session",
86
- get: function get() {
87
- return this._session;
88
- },
89
- set: function set(s) {
90
- this._session = s;
91
-
92
- this._render();
93
- }
94
- }, {
95
- key: "sessionChanged",
96
- value: function sessionChanged(s) {
97
- this._session.value = s.value;
98
- this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));
99
- log('session: ', this._session);
100
-
101
- this._render();
42
+ set model(m) {
43
+ this._model = m;
44
+ this._render();
45
+ }
46
+ set session(s) {
47
+ this._session = s;
48
+ this._render();
49
+ }
50
+ get session() {
51
+ return this._session;
52
+ }
53
+ sessionChanged(s) {
54
+ this._session.value = s.value;
55
+ this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));
56
+ log('session: ', this._session);
57
+ this._render();
58
+ }
59
+ connectedCallback() {
60
+ this._render();
61
+ }
62
+ _render() {
63
+ if (!this._model || !this._session) {
64
+ return;
102
65
  }
103
- }, {
104
- key: "connectedCallback",
105
- value: function connectedCallback() {
106
- this._render();
66
+ const el = /*#__PURE__*/_react.default.createElement(_main.default, {
67
+ model: this._model,
68
+ session: this._session,
69
+ onSessionChange: this.sessionChanged.bind(this)
70
+ });
71
+ if (!this._root) {
72
+ this._root = (0, _client.createRoot)(this);
107
73
  }
108
- }, {
109
- key: "_render",
110
- value: function _render() {
111
- var _this = this;
112
-
113
- if (!this._model || !this._session) {
114
- return;
115
- }
116
-
117
- var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
118
- model: this._model,
119
- session: this._session,
120
- onSessionChange: this.sessionChanged.bind(this)
121
- });
122
-
123
- _reactDom["default"].render(el, this, function () {
124
- (0, _mathRendering.renderMath)(_this);
125
- });
74
+ this._root.render(el);
75
+ queueMicrotask(() => {
76
+ (0, _mathRendering.renderMath)(this);
77
+ });
78
+ }
79
+ disconnectedCallback() {
80
+ if (this._root) {
81
+ this._root.unmount();
126
82
  }
127
- }]);
128
- return MatchList;
129
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
130
-
131
- exports["default"] = MatchList;
83
+ }
84
+ }
85
+ exports.default = MatchList;
132
86
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","complete","config","prompts","forEach","prompt","Number","isFinite","id","MatchList","m","_model","_render","_session","s","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oBAAN,CAAZ;;AAIO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAUC,KAAV,EAAoB;AAC5C,MAAI,CAACD,OAAL,EAAc;AACZ,WAAO,KAAP;AACD;;AAED,MAAME,KAAK,GAAGF,OAAO,CAACE,KAAtB;AACA,MAAIC,QAAQ,GAAG,IAAf;;AAEA,MAAID,KAAJ,EAAW;AACT,KAACD,KAAK,CAACG,MAAN,CAAaC,OAAb,IAAwB,EAAzB,EAA6BC,OAA7B,CAAqC,UAACC,MAAD,EAAY;AAC/C,UAAI,CAACC,MAAM,CAACC,QAAP,CAAgBP,KAAK,CAACK,MAAM,CAACG,EAAR,CAArB,CAAL,EAAwC;AACtCP,QAAAA,QAAQ,GAAG,KAAX;AACD;AACF,KAJD;AAKD;;AAED,SAAOA,QAAP;AACD,CAjBM;;;;IAmBcQ,S;;;;;AACnB,uBAAc;AAAA;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SAPD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;;AACA,WAAKF,OAAL;AACD;;;WAMD,wBAAeE,CAAf,EAAkB;AAChB,WAAKD,QAAL,CAAcb,KAAd,GAAsBc,CAAC,CAACd,KAAxB;AAEA,WAAKe,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,KAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoDrB,UAAU,CAAC,KAAKgB,QAAN,EAAgB,KAAKF,MAArB,CAA9D,CAAnB;AAEAf,MAAAA,GAAG,CAAC,WAAD,EAAc,KAAKiB,QAAnB,CAAH;;AACA,WAAKD,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKD,MAAN,IAAgB,CAAC,KAAKE,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMM,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCvB,QAAAA,KAAK,EAAE,KAAKY,MADuB;AAEnCb,QAAAA,OAAO,EAAE,KAAKe,QAFqB;AAGnCU,QAAAA,eAAe,EAAE,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB;AAHkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBR,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,KAAX;AACD,OAFD;AAGD;;;kDA9CoCS,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport Main from './main';\n\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-ui:graph-lines');\n\nexport { Main as Component };\n\nexport const isComplete = (session, model) => {\n if (!session) {\n return false;\n }\n\n const value = session.value;\n let complete = true;\n\n if (value) {\n (model.config.prompts || []).forEach((prompt) => {\n if (!Number.isFinite(value[prompt.id])) {\n complete = false;\n }\n });\n }\n\n return complete;\n};\n\nexport default class MatchList extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));\n\n log('session: ', this._session);\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_debug","_main","_piePlayerEvents","_mathRendering","log","debug","isComplete","session","model","value","complete","config","prompts","forEach","prompt","Number","isFinite","id","exports","MatchList","HTMLElement","constructor","_root","m","_model","_render","s","_session","sessionChanged","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","React","createElement","Main","onSessionChange","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport Main from './main';\n\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-ui:graph-lines');\n\nexport { Main as Component };\n\nexport const isComplete = (session, model) => {\n if (!session) {\n return false;\n }\n\n const value = session.value;\n let complete = true;\n\n if (value) {\n (model.config.prompts || []).forEach((prompt) => {\n if (!Number.isFinite(value[prompt.id])) {\n complete = false;\n }\n });\n }\n\n return complete;\n};\n\nexport default class MatchList extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));\n\n log('session: ', this._session);\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}