@pie-lib/correct-answer-toggle 2.25.3-next.2 → 2.25.4-next.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/CHANGELOG.md +6 -76
- package/lib/__tests__/index.test.js +118 -0
- package/lib/expander.js +44 -53
- package/lib/expander.js.map +1 -1
- package/lib/index.js +101 -79
- package/lib/index.js.map +1 -1
- package/package.json +16 -21
- package/src/__tests__/index.test.jsx +58 -66
- package/src/expander.jsx +45 -33
- package/src/index.jsx +98 -20
- package/esm/index.css +0 -847
- package/esm/index.js +0 -111219
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/lib/styles.js +0 -65
- package/lib/styles.js.map +0 -1
- package/src/styles.js +0 -60
package/lib/index.js
CHANGED
|
@@ -1,67 +1,97 @@
|
|
|
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
|
exports["default"] = exports.CorrectAnswerToggle = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
20
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _styles2 = require("@material-ui/core/styles");
|
|
25
|
-
|
|
26
|
-
var _CSSTransition = _interopRequireDefault(require("react-transition-group/CSSTransition"));
|
|
27
|
-
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _reactTransitionGroup = require("react-transition-group");
|
|
28
16
|
var _icons = require("@pie-lib/icons");
|
|
29
|
-
|
|
30
17
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
|
-
|
|
32
18
|
var _expander = _interopRequireDefault(require("./expander"));
|
|
33
|
-
|
|
34
19
|
var _react = _interopRequireDefault(require("react"));
|
|
35
|
-
|
|
36
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
-
|
|
38
20
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
39
|
-
|
|
40
21
|
var _translator = _interopRequireDefault(require("@pie-lib/translator"));
|
|
41
|
-
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
function _objectSpread(
|
|
45
|
-
|
|
46
|
-
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); }; }
|
|
47
|
-
|
|
48
|
-
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; } }
|
|
49
|
-
|
|
22
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
50
26
|
var translator = _translator["default"].translator;
|
|
27
|
+
var noTouch = {
|
|
28
|
+
'-webkit-touchCcallout': 'none',
|
|
29
|
+
'-webkit-user-select': 'none',
|
|
30
|
+
'-khtml-user-select': 'none',
|
|
31
|
+
'-moz-user-select': 'none',
|
|
32
|
+
'-ms-user-select': 'none',
|
|
33
|
+
'user-select': 'none'
|
|
34
|
+
};
|
|
35
|
+
var StyledRoot = (0, _styles.styled)('div')(function () {
|
|
36
|
+
return {
|
|
37
|
+
width: '100%',
|
|
38
|
+
cursor: 'pointer'
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
var StyledContent = (0, _styles.styled)('div')(function () {
|
|
42
|
+
return {
|
|
43
|
+
margin: '0 auto',
|
|
44
|
+
textAlign: 'center',
|
|
45
|
+
display: 'flex'
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
var StyledLabel = (0, _styles.styled)('div')(function () {
|
|
49
|
+
return _objectSpread({
|
|
50
|
+
width: 'fit-content',
|
|
51
|
+
minWidth: '140px',
|
|
52
|
+
alignSelf: 'center',
|
|
53
|
+
verticalAlign: 'middle',
|
|
54
|
+
color: "var(--correct-answer-toggle-label-color, ".concat(_renderUi.color.text(), ")"),
|
|
55
|
+
fontWeight: 'normal'
|
|
56
|
+
}, noTouch);
|
|
57
|
+
});
|
|
58
|
+
var StyledIcon = (0, _styles.styled)('div')(function () {
|
|
59
|
+
return {
|
|
60
|
+
position: 'absolute',
|
|
61
|
+
width: '25px',
|
|
62
|
+
'&.enter': {
|
|
63
|
+
opacity: '0'
|
|
64
|
+
},
|
|
65
|
+
'&.enter-active': {
|
|
66
|
+
opacity: '1',
|
|
67
|
+
transition: 'opacity 0.3s ease-in'
|
|
68
|
+
},
|
|
69
|
+
'&.exit': {
|
|
70
|
+
opacity: '1'
|
|
71
|
+
},
|
|
72
|
+
'&.exit-active': {
|
|
73
|
+
opacity: '0',
|
|
74
|
+
transition: 'opacity 0.3s ease-in'
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
var StyledIconHolder = (0, _styles.styled)('div')(function () {
|
|
79
|
+
return {
|
|
80
|
+
width: '25px',
|
|
81
|
+
marginRight: '5px',
|
|
82
|
+
display: 'flex',
|
|
83
|
+
alignItems: 'center'
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
|
|
51
87
|
/**
|
|
52
88
|
* We export the raw unstyled class for testability. For public use please use the default export.
|
|
53
89
|
*/
|
|
54
|
-
|
|
55
|
-
var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
|
|
56
|
-
(0, _inherits2["default"])(CorrectAnswerToggle, _React$Component);
|
|
57
|
-
|
|
58
|
-
var _super = _createSuper(CorrectAnswerToggle);
|
|
59
|
-
|
|
90
|
+
var CorrectAnswerToggle = exports.CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
|
|
60
91
|
function CorrectAnswerToggle(props) {
|
|
61
92
|
var _this;
|
|
62
|
-
|
|
63
93
|
(0, _classCallCheck2["default"])(this, CorrectAnswerToggle);
|
|
64
|
-
_this =
|
|
94
|
+
_this = _callSuper(this, CorrectAnswerToggle, [props]);
|
|
65
95
|
_this.state = {
|
|
66
96
|
show: props.show
|
|
67
97
|
};
|
|
@@ -75,8 +105,8 @@ var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
|
|
|
75
105
|
});
|
|
76
106
|
return _this;
|
|
77
107
|
}
|
|
78
|
-
|
|
79
|
-
(0, _createClass2["default"])(CorrectAnswerToggle, [{
|
|
108
|
+
(0, _inherits2["default"])(CorrectAnswerToggle, _React$Component);
|
|
109
|
+
return (0, _createClass2["default"])(CorrectAnswerToggle, [{
|
|
80
110
|
key: "onClick",
|
|
81
111
|
value: function onClick() {
|
|
82
112
|
this.props.onToggle(!this.props.toggled);
|
|
@@ -85,18 +115,15 @@ var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
|
|
|
85
115
|
key: "onTouch",
|
|
86
116
|
value: function onTouch(event) {
|
|
87
117
|
event.preventDefault(); // Prevents the default action (click event)
|
|
88
|
-
|
|
89
118
|
this.props.onToggle(!this.props.toggled);
|
|
90
119
|
}
|
|
91
120
|
}, {
|
|
92
121
|
key: "UNSAFE_componentWillReceiveProps",
|
|
93
122
|
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
94
123
|
var _this$props;
|
|
95
|
-
|
|
96
124
|
this.setState({
|
|
97
125
|
show: nextProps.show
|
|
98
126
|
});
|
|
99
|
-
|
|
100
127
|
if (nextProps.language !== ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.language)) {
|
|
101
128
|
CorrectAnswerToggle.defaultProps = _objectSpread(_objectSpread({}, CorrectAnswerToggle.defaultProps), {}, {
|
|
102
129
|
showMessage: translator.t('common:showCorrectAnswer', {
|
|
@@ -112,59 +139,57 @@ var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
|
|
|
112
139
|
key: "render",
|
|
113
140
|
value: function render() {
|
|
114
141
|
var _this$props2 = this.props,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
className: (0, _classnames["default"])(classes.root, className)
|
|
142
|
+
className = _this$props2.className,
|
|
143
|
+
toggled = _this$props2.toggled,
|
|
144
|
+
hideMessage = _this$props2.hideMessage,
|
|
145
|
+
showMessage = _this$props2.showMessage;
|
|
146
|
+
return /*#__PURE__*/_react["default"].createElement(StyledRoot, {
|
|
147
|
+
className: className
|
|
122
148
|
}, /*#__PURE__*/_react["default"].createElement(_expander["default"], {
|
|
123
|
-
show: this.state.show
|
|
124
|
-
|
|
125
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
126
|
-
className: classes.content,
|
|
149
|
+
show: this.state.show
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledContent, {
|
|
127
151
|
onClick: this.onClick.bind(this),
|
|
128
152
|
onTouchEnd: this.onTouch.bind(this)
|
|
129
|
-
}, /*#__PURE__*/_react["default"].createElement("
|
|
130
|
-
className: classes.iconHolder
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
153
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledIconHolder, null, /*#__PURE__*/_react["default"].createElement(_reactTransitionGroup.CSSTransition, {
|
|
132
154
|
timeout: 400,
|
|
133
155
|
"in": toggled,
|
|
134
156
|
exit: !toggled,
|
|
135
|
-
classNames:
|
|
136
|
-
|
|
157
|
+
classNames: {
|
|
158
|
+
enter: 'enter',
|
|
159
|
+
enterActive: 'enter-active',
|
|
160
|
+
exit: 'exit',
|
|
161
|
+
exitActive: 'exit-active'
|
|
162
|
+
}
|
|
163
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledIcon, null, /*#__PURE__*/_react["default"].createElement(_icons.CorrectResponse, {
|
|
137
164
|
open: toggled,
|
|
138
|
-
key: "correct-open"
|
|
139
|
-
|
|
140
|
-
})), /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
165
|
+
key: "correct-open"
|
|
166
|
+
}))), /*#__PURE__*/_react["default"].createElement(_reactTransitionGroup.CSSTransition, {
|
|
141
167
|
timeout: 5000,
|
|
142
168
|
"in": !toggled,
|
|
143
169
|
exit: toggled,
|
|
144
|
-
classNames:
|
|
145
|
-
|
|
170
|
+
classNames: {
|
|
171
|
+
enter: 'enter',
|
|
172
|
+
enterActive: 'enter-active',
|
|
173
|
+
exit: 'exit',
|
|
174
|
+
exitActive: 'exit-active'
|
|
175
|
+
}
|
|
176
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledIcon, null, /*#__PURE__*/_react["default"].createElement(_icons.CorrectResponse, {
|
|
146
177
|
open: toggled,
|
|
147
|
-
key: "correct-closed"
|
|
148
|
-
|
|
149
|
-
}))), /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
178
|
+
key: "correct-closed"
|
|
179
|
+
})))), /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
150
180
|
"false": true
|
|
151
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
152
|
-
className: classes.label,
|
|
181
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledLabel, {
|
|
153
182
|
"aria-hidden": !this.state.show
|
|
154
183
|
}, toggled ? hideMessage : showMessage)))));
|
|
155
184
|
}
|
|
156
185
|
}]);
|
|
157
|
-
return CorrectAnswerToggle;
|
|
158
186
|
}(_react["default"].Component);
|
|
159
|
-
|
|
160
|
-
exports.CorrectAnswerToggle = CorrectAnswerToggle;
|
|
161
187
|
(0, _defineProperty2["default"])(CorrectAnswerToggle, "propTypes", {
|
|
162
188
|
onToggle: _propTypes["default"].func,
|
|
163
189
|
toggled: _propTypes["default"].bool,
|
|
164
190
|
show: _propTypes["default"].bool,
|
|
165
191
|
hideMessage: _propTypes["default"].string,
|
|
166
192
|
showMessage: _propTypes["default"].string,
|
|
167
|
-
classes: _propTypes["default"].object.isRequired,
|
|
168
193
|
className: _propTypes["default"].string,
|
|
169
194
|
language: _propTypes["default"].string
|
|
170
195
|
});
|
|
@@ -174,8 +199,5 @@ exports.CorrectAnswerToggle = CorrectAnswerToggle;
|
|
|
174
199
|
show: false,
|
|
175
200
|
toggled: false
|
|
176
201
|
});
|
|
177
|
-
|
|
178
|
-
var _default = (0, _styles2.withStyles)(_styles["default"])(CorrectAnswerToggle);
|
|
179
|
-
|
|
180
|
-
exports["default"] = _default;
|
|
181
|
-
//# sourceMappingURL=index.js.map
|
|
202
|
+
var _default = exports["default"] = CorrectAnswerToggle;
|
|
203
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9yZWFjdFRyYW5zaXRpb25Hcm91cCIsIl9pY29ucyIsIl9yZW5kZXJVaSIsIl9leHBhbmRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfcHJvcFR5cGVzIiwiX3RyYW5zbGF0b3IiLCJfY2FsbFN1cGVyIiwidCIsIm8iLCJlIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIm93bktleXMiLCJyIiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInRyYW5zbGF0b3IiLCJUcmFuc2xhdG9yIiwibm9Ub3VjaCIsIlN0eWxlZFJvb3QiLCJzdHlsZWQiLCJ3aWR0aCIsImN1cnNvciIsIlN0eWxlZENvbnRlbnQiLCJtYXJnaW4iLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiU3R5bGVkTGFiZWwiLCJtaW5XaWR0aCIsImFsaWduU2VsZiIsInZlcnRpY2FsQWxpZ24iLCJjb2xvciIsImNvbmNhdCIsInRleHQiLCJmb250V2VpZ2h0IiwiU3R5bGVkSWNvbiIsInBvc2l0aW9uIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTdHlsZWRJY29uSG9sZGVyIiwibWFyZ2luUmlnaHQiLCJhbGlnbkl0ZW1zIiwiQ29ycmVjdEFuc3dlclRvZ2dsZSIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJzdGF0ZSIsInNob3ciLCJkZWZhdWx0UHJvcHMiLCJzaG93TWVzc2FnZSIsImxuZyIsImxhbmd1YWdlIiwiaGlkZU1lc3NhZ2UiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwib25DbGljayIsIm9uVG9nZ2xlIiwidG9nZ2xlZCIsIm9uVG91Y2giLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJuZXh0UHJvcHMiLCJfdGhpcyRwcm9wcyIsInNldFN0YXRlIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwiY3JlYXRlRWxlbWVudCIsImJpbmQiLCJvblRvdWNoRW5kIiwiQ1NTVHJhbnNpdGlvbiIsInRpbWVvdXQiLCJleGl0IiwiY2xhc3NOYW1lcyIsImVudGVyIiwiZW50ZXJBY3RpdmUiLCJleGl0QWN0aXZlIiwiQ29ycmVjdFJlc3BvbnNlIiwib3BlbiIsIlJlYWRhYmxlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiYm9vbCIsInN0cmluZyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBDU1NUcmFuc2l0aW9uIH0gZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBDb3JyZWN0UmVzcG9uc2UgfSBmcm9tICdAcGllLWxpYi9pY29ucyc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgRXhwYW5kZXIgZnJvbSAnLi9leHBhbmRlcic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IG5vVG91Y2ggPSB7XG4gICctd2Via2l0LXRvdWNoQ2NhbGxvdXQnOiAnbm9uZScsXG4gICctd2Via2l0LXVzZXItc2VsZWN0JzogJ25vbmUnLFxuICAnLWtodG1sLXVzZXItc2VsZWN0JzogJ25vbmUnLFxuICAnLW1vei11c2VyLXNlbGVjdCc6ICdub25lJyxcbiAgJy1tcy11c2VyLXNlbGVjdCc6ICdub25lJyxcbiAgJ3VzZXItc2VsZWN0JzogJ25vbmUnLFxufTtcblxuY29uc3QgU3R5bGVkUm9vdCA9IHN0eWxlZCgnZGl2JykoKCkgPT4gKHtcbiAgd2lkdGg6ICcxMDAlJyxcbiAgY3Vyc29yOiAncG9pbnRlcicsXG59KSk7XG5cbmNvbnN0IFN0eWxlZENvbnRlbnQgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIG1hcmdpbjogJzAgYXV0bycsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIGRpc3BsYXk6ICdmbGV4Jyxcbn0pKTtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICBtaW5XaWR0aDogJzE0MHB4JyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gIGNvbG9yOiBgdmFyKC0tY29ycmVjdC1hbnN3ZXItdG9nZ2xlLWxhYmVsLWNvbG9yLCAke2NvbG9yLnRleHQoKX0pYCxcbiAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gIC4uLm5vVG91Y2gsXG59KSk7XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB3aWR0aDogJzI1cHgnLFxuICAnJi5lbnRlcic6IHtcbiAgICBvcGFjaXR5OiAnMCcsXG4gIH0sXG4gICcmLmVudGVyLWFjdGl2ZSc6IHtcbiAgICBvcGFjaXR5OiAnMScsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMC4zcyBlYXNlLWluJyxcbiAgfSxcbiAgJyYuZXhpdCc6IHtcbiAgICBvcGFjaXR5OiAnMScsXG4gIH0sXG4gICcmLmV4aXQtYWN0aXZlJzoge1xuICAgIG9wYWNpdHk6ICcwJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAwLjNzIGVhc2UtaW4nLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRJY29uSG9sZGVyID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICB3aWR0aDogJzI1cHgnLFxuICBtYXJnaW5SaWdodDogJzVweCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG59KSk7XG5cbi8qKlxuICogV2UgZXhwb3J0IHRoZSByYXcgdW5zdHlsZWQgY2xhc3MgZm9yIHRlc3RhYmlsaXR5LiBGb3IgcHVibGljIHVzZSBwbGVhc2UgdXNlIHRoZSBkZWZhdWx0IGV4cG9ydC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvcnJlY3RBbnN3ZXJUb2dnbGUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB0b2dnbGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoaWRlTWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaG93TWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFuZ3VhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBzaG93TWVzc2FnZTogJ1Nob3cgY29ycmVjdCBhbnN3ZXInLFxuICAgIGhpZGVNZXNzYWdlOiAnSGlkZSBjb3JyZWN0IGFuc3dlcicsXG4gICAgc2hvdzogZmFsc2UsXG4gICAgdG9nZ2xlZDogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNob3c6IHByb3BzLnNob3csXG4gICAgfTtcblxuICAgIENvcnJlY3RBbnN3ZXJUb2dnbGUuZGVmYXVsdFByb3BzID0ge1xuICAgICAgLi4uQ29ycmVjdEFuc3dlclRvZ2dsZS5kZWZhdWx0UHJvcHMsXG4gICAgICBzaG93TWVzc2FnZTogdHJhbnNsYXRvci50KCdjb21tb246c2hvd0NvcnJlY3RBbnN3ZXInLCB7IGxuZzogcHJvcHMubGFuZ3VhZ2UgfSksXG4gICAgICBoaWRlTWVzc2FnZTogdHJhbnNsYXRvci50KCdjb21tb246aGlkZUNvcnJlY3RBbnN3ZXInLCB7IGxuZzogcHJvcHMubGFuZ3VhZ2UgfSksXG4gICAgfTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5wcm9wcy5vblRvZ2dsZSghdGhpcy5wcm9wcy50b2dnbGVkKTtcbiAgfVxuICBvblRvdWNoKGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudHMgdGhlIGRlZmF1bHQgYWN0aW9uIChjbGljayBldmVudClcbiAgICB0aGlzLnByb3BzLm9uVG9nZ2xlKCF0aGlzLnByb3BzLnRvZ2dsZWQpO1xuICB9XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzaG93OiBuZXh0UHJvcHMuc2hvdyxcbiAgICB9KTtcblxuICAgIGlmIChuZXh0UHJvcHMubGFuZ3VhZ2UgIT09IHRoaXMucHJvcHM/Lmxhbmd1YWdlKSB7XG4gICAgICBDb3JyZWN0QW5zd2VyVG9nZ2xlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICAgICAgLi4uQ29ycmVjdEFuc3dlclRvZ2dsZS5kZWZhdWx0UHJvcHMsXG4gICAgICAgIHNob3dNZXNzYWdlOiB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpzaG93Q29ycmVjdEFuc3dlcicsIHsgbG5nOiBuZXh0UHJvcHMubGFuZ3VhZ2UgfSksXG4gICAgICAgIGhpZGVNZXNzYWdlOiB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpoaWRlQ29ycmVjdEFuc3dlcicsIHsgbG5nOiBuZXh0UHJvcHMubGFuZ3VhZ2UgfSksXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgdG9nZ2xlZCwgaGlkZU1lc3NhZ2UsIHNob3dNZXNzYWdlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSb290IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPEV4cGFuZGVyIHNob3c9e3RoaXMuc3RhdGUuc2hvd30+XG4gICAgICAgICAgPFN0eWxlZENvbnRlbnQgb25DbGljaz17dGhpcy5vbkNsaWNrLmJpbmQodGhpcyl9IG9uVG91Y2hFbmQ9e3RoaXMub25Ub3VjaC5iaW5kKHRoaXMpfT5cbiAgICAgICAgICAgIDxTdHlsZWRJY29uSG9sZGVyPlxuICAgICAgICAgICAgICA8Q1NTVHJhbnNpdGlvbiBcbiAgICAgICAgICAgICAgICB0aW1lb3V0PXs0MDB9IFxuICAgICAgICAgICAgICAgIGluPXt0b2dnbGVkfSBcbiAgICAgICAgICAgICAgICBleGl0PXshdG9nZ2xlZH0gXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lcz17e1xuICAgICAgICAgICAgICAgICAgZW50ZXI6ICdlbnRlcicsXG4gICAgICAgICAgICAgICAgICBlbnRlckFjdGl2ZTogJ2VudGVyLWFjdGl2ZScsXG4gICAgICAgICAgICAgICAgICBleGl0OiAnZXhpdCcsXG4gICAgICAgICAgICAgICAgICBleGl0QWN0aXZlOiAnZXhpdC1hY3RpdmUnXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uPlxuICAgICAgICAgICAgICAgICAgPENvcnJlY3RSZXNwb25zZSBvcGVuPXt0b2dnbGVkfSBrZXk9XCJjb3JyZWN0LW9wZW5cIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgPC9DU1NUcmFuc2l0aW9uPlxuICAgICAgICAgICAgICA8Q1NTVHJhbnNpdGlvbiBcbiAgICAgICAgICAgICAgICB0aW1lb3V0PXs1MDAwfSBcbiAgICAgICAgICAgICAgICBpbj17IXRvZ2dsZWR9IFxuICAgICAgICAgICAgICAgIGV4aXQ9e3RvZ2dsZWR9IFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM9e3tcbiAgICAgICAgICAgICAgICAgIGVudGVyOiAnZW50ZXInLFxuICAgICAgICAgICAgICAgICAgZW50ZXJBY3RpdmU6ICdlbnRlci1hY3RpdmUnLFxuICAgICAgICAgICAgICAgICAgZXhpdDogJ2V4aXQnLFxuICAgICAgICAgICAgICAgICAgZXhpdEFjdGl2ZTogJ2V4aXQtYWN0aXZlJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICAgIDxDb3JyZWN0UmVzcG9uc2Ugb3Blbj17dG9nZ2xlZH0ga2V5PVwiY29ycmVjdC1jbG9zZWRcIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgPC9DU1NUcmFuc2l0aW9uPlxuICAgICAgICAgICAgPC9TdHlsZWRJY29uSG9sZGVyPlxuICAgICAgICAgICAgPFJlYWRhYmxlIGZhbHNlPlxuICAgICAgICAgICAgICA8U3R5bGVkTGFiZWwgYXJpYS1oaWRkZW49eyF0aGlzLnN0YXRlLnNob3d9PlxuICAgICAgICAgICAgICAgIHt0b2dnbGVkID8gaGlkZU1lc3NhZ2UgOiBzaG93TWVzc2FnZX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgIDwvUmVhZGFibGU+XG4gICAgICAgICAgPC9TdHlsZWRDb250ZW50PlxuICAgICAgICA8L0V4cGFuZGVyPlxuICAgICAgPC9TdHlsZWRSb290PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29ycmVjdEFuc3dlclRvZ2dsZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLHFCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFELHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFGLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFILHNCQUFBLENBQUFMLE9BQUE7QUFBNkMsU0FBQVMsV0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsV0FBQUQsQ0FBQSxPQUFBRSxnQkFBQSxhQUFBRixDQUFBLE9BQUFHLDJCQUFBLGFBQUFKLENBQUEsRUFBQUsseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFOLENBQUEsRUFBQUMsQ0FBQSxZQUFBQyxnQkFBQSxhQUFBSCxDQUFBLEVBQUFRLFdBQUEsSUFBQVAsQ0FBQSxDQUFBUSxLQUFBLENBQUFULENBQUEsRUFBQUUsQ0FBQTtBQUFBLFNBQUFHLDBCQUFBLGNBQUFMLENBQUEsSUFBQVUsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQUMsSUFBQSxDQUFBUCxPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQVYsQ0FBQSxhQUFBSyx5QkFBQSxZQUFBQSwwQkFBQSxhQUFB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RUFBQztNQUFjLENBQUUsQ0FDMUMsQ0FDQyxDQUFDLGVBQ2hCNUUsTUFBQSxZQUFBMkYsYUFBQSxDQUFDaEcscUJBQUEsQ0FBQW1HLGFBQWE7UUFDWkMsT0FBTyxFQUFFLElBQUs7UUFDZCxNQUFJLENBQUNmLE9BQVE7UUFDYmdCLElBQUksRUFBRWhCLE9BQVE7UUFDZGlCLFVBQVUsRUFBRTtVQUNWQyxLQUFLLEVBQUUsT0FBTztVQUNkQyxXQUFXLEVBQUUsY0FBYztVQUMzQkgsSUFBSSxFQUFFLE1BQU07VUFDWkksVUFBVSxFQUFFO1FBQ2Q7TUFBRSxnQkFFRnBHLE1BQUEsWUFBQTJGLGFBQUEsQ0FBQ3JDLFVBQVUscUJBQ1R0RCxNQUFBLFlBQUEyRixhQUFBLENBQUMvRixNQUFBLENBQUF5RyxlQUFlO1FBQUNDLElBQUksRUFBRXRCLE9BQVE7UUFBQ0osR0FBRyxFQUFDO01BQWdCLENBQUUsQ0FDNUMsQ0FDQyxDQUNDLENBQUMsZUFDbkI1RSxNQUFBLFlBQUEyRixhQUFBLENBQUM5RixTQUFBLENBQUEwRyxRQUFRO1FBQUM7TUFBSyxnQkFDYnZHLE1BQUEsWUFBQTJGLGFBQUEsQ0FBQzdDLFdBQVc7UUFBQyxlQUFhLENBQUMsSUFBSSxDQUFDcUIsS0FBSyxDQUFDQztNQUFLLEdBQ3hDWSxPQUFPLEdBQUdQLFdBQVcsR0FBR0gsV0FDZCxDQUNMLENBQ0csQ0FDUCxDQUNBLENBQUM7SUFFakI7RUFBQztBQUFBLEVBckdzQ2tDLGlCQUFLLENBQUNDLFNBQVM7QUFBQSxJQUFBMUUsZ0JBQUEsYUFBM0M4QixtQkFBbUIsZUFDWDtFQUNqQmtCLFFBQVEsRUFBRTJCLHFCQUFTLENBQUNDLElBQUk7RUFDeEIzQixPQUFPLEVBQUUwQixxQkFBUyxDQUFDRSxJQUFJO0VBQ3ZCeEMsSUFBSSxFQUFFc0MscUJBQVMsQ0FBQ0UsSUFBSTtFQUNwQm5DLFdBQVcsRUFBRWlDLHFCQUFTLENBQUNHLE1BQU07RUFDN0J2QyxXQUFXLEVBQUVvQyxxQkFBUyxDQUFDRyxNQUFNO0VBQzdCbkIsU0FBUyxFQUFFZ0IscUJBQVMsQ0FBQ0csTUFBTTtFQUMzQnJDLFFBQVEsRUFBRWtDLHFCQUFTLENBQUNHO0FBQ3RCLENBQUM7QUFBQSxJQUFBOUUsZ0JBQUEsYUFUVThCLG1CQUFtQixrQkFXUjtFQUNwQlMsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQ0csV0FBVyxFQUFFLHFCQUFxQjtFQUNsQ0wsSUFBSSxFQUFFLEtBQUs7RUFDWFksT0FBTyxFQUFFO0FBQ1gsQ0FBQztBQUFBLElBQUE4QixRQUFBLEdBQUFoRCxPQUFBLGNBd0ZZRCxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.jsx"],"names":["translator","Translator","CorrectAnswerToggle","props","state","show","defaultProps","showMessage","t","lng","language","hideMessage","onToggle","toggled","event","preventDefault","nextProps","setState","classes","className","root","expander","content","onClick","bind","onTouch","iconHolder","icon","label","React","Component","PropTypes","func","bool","string","object","isRequired","styles"],"mappings":"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","sourcesContent":["import styles from './styles';\nimport { withStyles } from '@material-ui/core/styles';\nimport CSSTransition from 'react-transition-group/CSSTransition';\nimport { CorrectResponse } from '@pie-lib/icons';\nimport { Readable } from '@pie-lib/render-ui';\nimport Expander from './expander';\nimport React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\n/**\n * We export the raw unstyled class for testability. For public use please use the default export.\n */\nexport class CorrectAnswerToggle extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func,\n toggled: PropTypes.bool,\n show: PropTypes.bool,\n hideMessage: PropTypes.string,\n showMessage: PropTypes.string,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n showMessage: 'Show correct answer',\n hideMessage: 'Hide correct answer',\n show: false,\n toggled: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n };\n\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: props.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: props.language }),\n };\n }\n\n onClick() {\n this.props.onToggle(!this.props.toggled);\n }\n onTouch(event) {\n event.preventDefault(); // Prevents the default action (click event)\n this.props.onToggle(!this.props.toggled);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n show: nextProps.show,\n });\n\n if (nextProps.language !== this.props?.language) {\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: nextProps.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: nextProps.language }),\n };\n }\n }\n\n render() {\n const { classes, className, toggled, hideMessage, showMessage } = this.props;\n\n return (\n <div className={classNames(classes.root, className)}>\n <Expander show={this.state.show} className={classes.expander}>\n <div className={classes.content} onClick={this.onClick.bind(this)} onTouchEnd={this.onTouch.bind(this)}>\n <div className={classes.iconHolder}>\n <CSSTransition timeout={400} in={toggled} exit={!toggled} classNames={classes}>\n <CorrectResponse open={toggled} key=\"correct-open\" className={classes.icon} />\n </CSSTransition>\n <CSSTransition timeout={5000} in={!toggled} exit={toggled} classNames={classes}>\n <CorrectResponse open={toggled} key=\"correct-closed\" className={classes.icon} />\n </CSSTransition>\n </div>\n <Readable false>\n <div className={classes.label} aria-hidden={!this.state.show}>\n {toggled ? hideMessage : showMessage}\n </div>\n </Readable>\n </div>\n </Expander>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectAnswerToggle);\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styles","require","_reactTransitionGroup","_icons","_renderUi","_expander","_interopRequireDefault","_react","_propTypes","_translator","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","translator","Translator","noTouch","StyledRoot","styled","width","cursor","StyledContent","margin","textAlign","display","StyledLabel","minWidth","alignSelf","verticalAlign","color","concat","text","fontWeight","StyledIcon","position","opacity","transition","StyledIconHolder","marginRight","alignItems","CorrectAnswerToggle","exports","_React$Component","props","_this","_classCallCheck2","state","show","defaultProps","showMessage","lng","language","hideMessage","_inherits2","_createClass2","key","value","onClick","onToggle","toggled","onTouch","event","preventDefault","UNSAFE_componentWillReceiveProps","nextProps","_this$props","setState","render","_this$props2","className","createElement","bind","onTouchEnd","CSSTransition","timeout","exit","classNames","enter","enterActive","exitActive","CorrectResponse","open","Readable","React","Component","PropTypes","func","bool","string","_default"],"sources":["../src/index.jsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport { CSSTransition } from 'react-transition-group';\nimport { CorrectResponse } from '@pie-lib/icons';\nimport { Readable } from '@pie-lib/render-ui';\nimport Expander from './expander';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Translator from '@pie-lib/translator';\nimport { color } from '@pie-lib/render-ui';\n\nconst { translator } = Translator;\n\nconst noTouch = {\n '-webkit-touchCcallout': 'none',\n '-webkit-user-select': 'none',\n '-khtml-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n 'user-select': 'none',\n};\n\nconst StyledRoot = styled('div')(() => ({\n width: '100%',\n cursor: 'pointer',\n}));\n\nconst StyledContent = styled('div')(() => ({\n margin: '0 auto',\n textAlign: 'center',\n display: 'flex',\n}));\n\nconst StyledLabel = styled('div')(() => ({\n width: 'fit-content',\n minWidth: '140px',\n alignSelf: 'center',\n verticalAlign: 'middle',\n color: `var(--correct-answer-toggle-label-color, ${color.text()})`,\n fontWeight: 'normal',\n ...noTouch,\n}));\n\nconst StyledIcon = styled('div')(() => ({\n position: 'absolute',\n width: '25px',\n '&.enter': {\n opacity: '0',\n },\n '&.enter-active': {\n opacity: '1',\n transition: 'opacity 0.3s ease-in',\n },\n '&.exit': {\n opacity: '1',\n },\n '&.exit-active': {\n opacity: '0',\n transition: 'opacity 0.3s ease-in',\n },\n}));\n\nconst StyledIconHolder = styled('div')(() => ({\n width: '25px',\n marginRight: '5px',\n display: 'flex',\n alignItems: 'center',\n}));\n\n/**\n * We export the raw unstyled class for testability. For public use please use the default export.\n */\nexport class CorrectAnswerToggle extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func,\n toggled: PropTypes.bool,\n show: PropTypes.bool,\n hideMessage: PropTypes.string,\n showMessage: PropTypes.string,\n className: PropTypes.string,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n showMessage: 'Show correct answer',\n hideMessage: 'Hide correct answer',\n show: false,\n toggled: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n };\n\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: props.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: props.language }),\n };\n }\n\n onClick() {\n this.props.onToggle(!this.props.toggled);\n }\n onTouch(event) {\n event.preventDefault(); // Prevents the default action (click event)\n this.props.onToggle(!this.props.toggled);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n show: nextProps.show,\n });\n\n if (nextProps.language !== this.props?.language) {\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: nextProps.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: nextProps.language }),\n };\n }\n }\n\n render() {\n const { className, toggled, hideMessage, showMessage } = this.props;\n\n return (\n <StyledRoot className={className}>\n <Expander show={this.state.show}>\n <StyledContent onClick={this.onClick.bind(this)} onTouchEnd={this.onTouch.bind(this)}>\n <StyledIconHolder>\n <CSSTransition \n timeout={400} \n in={toggled} \n exit={!toggled} \n classNames={{\n enter: 'enter',\n enterActive: 'enter-active',\n exit: 'exit',\n exitActive: 'exit-active'\n }}\n >\n <StyledIcon>\n <CorrectResponse open={toggled} key=\"correct-open\" />\n </StyledIcon>\n </CSSTransition>\n <CSSTransition \n timeout={5000} \n in={!toggled} \n exit={toggled} \n classNames={{\n enter: 'enter',\n enterActive: 'enter-active',\n exit: 'exit',\n exitActive: 'exit-active'\n }}\n >\n <StyledIcon>\n <CorrectResponse open={toggled} key=\"correct-closed\" />\n </StyledIcon>\n </CSSTransition>\n </StyledIconHolder>\n <Readable false>\n <StyledLabel aria-hidden={!this.state.show}>\n {toggled ? hideMessage : showMessage}\n </StyledLabel>\n </Readable>\n </StyledContent>\n </Expander>\n </StyledRoot>\n );\n }\n}\n\nexport default CorrectAnswerToggle;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -6,40 +6,35 @@
|
|
|
6
6
|
"keywords": [
|
|
7
7
|
"react",
|
|
8
8
|
"pie",
|
|
9
|
-
"
|
|
9
|
+
"mui",
|
|
10
|
+
"@mui/material"
|
|
10
11
|
],
|
|
11
12
|
"publishConfig": {
|
|
12
13
|
"access": "public"
|
|
13
14
|
},
|
|
14
|
-
"version": "2.25.
|
|
15
|
+
"version": "2.25.4-next.0",
|
|
15
16
|
"main": "lib/index.js",
|
|
16
17
|
"module": "src/index.jsx",
|
|
17
18
|
"scripts": {},
|
|
18
19
|
"dependencies": {
|
|
19
|
-
"@
|
|
20
|
-
"@
|
|
21
|
-
"@
|
|
22
|
-
"@
|
|
23
|
-
"
|
|
20
|
+
"@emotion/react": "^11.14.0",
|
|
21
|
+
"@emotion/style": "^0.8.0",
|
|
22
|
+
"@mui/icons-material": "^7.3.4",
|
|
23
|
+
"@mui/material": "^7.3.4",
|
|
24
|
+
"@pie-lib/icons": "2.24.3-next.0",
|
|
25
|
+
"@pie-lib/render-ui": "4.35.4-next.0",
|
|
26
|
+
"@pie-lib/translator": "2.23.3-next.0",
|
|
24
27
|
"lodash": "^4.17.11",
|
|
25
28
|
"prop-types": "^15.6.2",
|
|
26
|
-
"react-transition-group": "^
|
|
29
|
+
"react-transition-group": "^4.4.5"
|
|
27
30
|
},
|
|
28
31
|
"devDependencies": {
|
|
29
|
-
"react": "^
|
|
30
|
-
"react-dom": "^
|
|
32
|
+
"react": "^18.2.0",
|
|
33
|
+
"react-dom": "^18.2.0"
|
|
31
34
|
},
|
|
32
35
|
"peerDependencies": {
|
|
33
|
-
"react": "^
|
|
34
|
-
"react-dom": "^
|
|
36
|
+
"react": "^18.2.0",
|
|
37
|
+
"react-dom": "^18.2.0"
|
|
35
38
|
},
|
|
36
|
-
"gitHead": "
|
|
37
|
-
"exports": {
|
|
38
|
-
".": {
|
|
39
|
-
"require": "./lib/index.js",
|
|
40
|
-
"import": "./src/index.jsx",
|
|
41
|
-
"default": "./lib/index.js"
|
|
42
|
-
},
|
|
43
|
-
"./esm": "./esm/index.js"
|
|
44
|
-
}
|
|
39
|
+
"gitHead": "ad47e833acbaecca94eab8df2aee2a1ee9d90516"
|
|
45
40
|
}
|
|
@@ -1,99 +1,91 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import Expander from '../expander';
|
|
1
|
+
import { render, screen } from '@testing-library/react';
|
|
2
|
+
import userEvent from '@testing-library/user-event';
|
|
4
3
|
import React from 'react';
|
|
5
4
|
import { CorrectAnswerToggle } from '../index';
|
|
6
|
-
import Adapter from 'enzyme-adapter-react-16';
|
|
7
|
-
|
|
8
|
-
configure({ adapter: new Adapter() });
|
|
9
5
|
|
|
10
6
|
describe('CorrectAnswerToggle', () => {
|
|
11
7
|
let onToggle;
|
|
12
|
-
let wrapper;
|
|
13
|
-
let sheet;
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
msgs = msgs || {};
|
|
18
|
-
return shallow(
|
|
9
|
+
const renderComponent = (toggled = true, msgs = {}) => {
|
|
10
|
+
return render(
|
|
19
11
|
<CorrectAnswerToggle
|
|
12
|
+
show={true}
|
|
20
13
|
toggled={toggled}
|
|
21
|
-
classes={{
|
|
22
|
-
root: 'root',
|
|
23
|
-
label: 'label',
|
|
24
|
-
}}
|
|
25
14
|
onToggle={onToggle}
|
|
26
15
|
hideMessage={msgs.hide}
|
|
27
16
|
showMessage={msgs.show}
|
|
28
|
-
sheet={sheet}
|
|
29
17
|
/>,
|
|
30
|
-
{
|
|
31
|
-
context: {},
|
|
32
|
-
},
|
|
33
18
|
);
|
|
34
19
|
};
|
|
35
20
|
|
|
36
21
|
beforeEach(() => {
|
|
37
|
-
let iconStub = {};
|
|
38
|
-
|
|
39
|
-
sheet = {
|
|
40
|
-
classes: {
|
|
41
|
-
root: 'root',
|
|
42
|
-
label: 'label',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
22
|
onToggle = jest.fn();
|
|
46
|
-
wrapper = mkWrapper();
|
|
47
23
|
});
|
|
48
24
|
|
|
49
|
-
describe('
|
|
50
|
-
it('
|
|
51
|
-
|
|
52
|
-
expect(
|
|
25
|
+
describe('rendering', () => {
|
|
26
|
+
it('shows hide message when toggled is true', () => {
|
|
27
|
+
renderComponent(true);
|
|
28
|
+
expect(screen.getByText('Hide correct answer')).toBeInTheDocument();
|
|
53
29
|
});
|
|
54
30
|
|
|
55
|
-
it('
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
expect(holder.text()).toEqual('Show correct answer');
|
|
31
|
+
it('shows show message when toggled is false', () => {
|
|
32
|
+
renderComponent(false);
|
|
33
|
+
expect(screen.getByText('Show correct answer')).toBeInTheDocument();
|
|
59
34
|
});
|
|
60
35
|
|
|
61
|
-
it('
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
expect(holder.text()).toEqual('hide!');
|
|
36
|
+
it('displays custom hide message', () => {
|
|
37
|
+
renderComponent(true, { hide: 'hide!' });
|
|
38
|
+
expect(screen.getByText('hide!')).toBeInTheDocument();
|
|
65
39
|
});
|
|
66
40
|
|
|
67
|
-
it('
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
expect(holder.text()).toEqual('show!');
|
|
41
|
+
it('displays custom show message', () => {
|
|
42
|
+
renderComponent(false, { show: 'show!' });
|
|
43
|
+
expect(screen.getByText('show!')).toBeInTheDocument();
|
|
71
44
|
});
|
|
72
45
|
});
|
|
73
46
|
|
|
74
|
-
describe('
|
|
75
|
-
it('calls onToggle', () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
47
|
+
describe('user interactions', () => {
|
|
48
|
+
it('calls onToggle with false when clicked while toggled', async () => {
|
|
49
|
+
const user = userEvent.setup();
|
|
50
|
+
renderComponent(true);
|
|
51
|
+
|
|
52
|
+
const button = screen.getByText('Hide correct answer');
|
|
53
|
+
await user.click(button);
|
|
54
|
+
|
|
55
|
+
expect(onToggle).toHaveBeenCalledWith(false);
|
|
81
56
|
});
|
|
82
57
|
|
|
83
|
-
it('calls onToggle with
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
58
|
+
it('calls onToggle with true when clicked while not toggled', async () => {
|
|
59
|
+
const user = userEvent.setup();
|
|
60
|
+
renderComponent(false);
|
|
61
|
+
|
|
62
|
+
const button = screen.getByText('Show correct answer');
|
|
63
|
+
await user.click(button);
|
|
64
|
+
|
|
65
|
+
expect(onToggle).toHaveBeenCalledWith(true);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it('toggles correctly after prop update', async () => {
|
|
69
|
+
const user = userEvent.setup();
|
|
70
|
+
const { rerender } = renderComponent(true);
|
|
71
|
+
|
|
72
|
+
// First click - toggled is true, should call with false
|
|
73
|
+
await user.click(screen.getByText('Hide correct answer'));
|
|
74
|
+
expect(onToggle).toHaveBeenCalledWith(false);
|
|
75
|
+
|
|
76
|
+
// Simulate prop update to toggled=false
|
|
77
|
+
onToggle.mockClear();
|
|
78
|
+
rerender(
|
|
79
|
+
<CorrectAnswerToggle
|
|
80
|
+
show={true}
|
|
81
|
+
toggled={false}
|
|
82
|
+
onToggle={onToggle}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
// Second click - toggled is false, should call with true
|
|
87
|
+
await user.click(screen.getByText('Show correct answer'));
|
|
88
|
+
expect(onToggle).toHaveBeenCalledWith(true);
|
|
97
89
|
});
|
|
98
90
|
});
|
|
99
91
|
});
|