@pie-lib/render-ui 4.12.9 → 4.13.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 +30 -0
- package/lib/collapsible/index.js +21 -33
- package/lib/collapsible/index.js.map +1 -1
- package/lib/color.js +2 -2
- package/lib/color.js.map +1 -1
- package/lib/feedback.js +20 -29
- package/lib/feedback.js.map +1 -1
- package/lib/html-and-math.js +16 -28
- package/lib/html-and-math.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/input-container.js +2 -2
- package/lib/input-container.js.map +1 -1
- package/lib/preview-layout.js +15 -25
- package/lib/preview-layout.js.map +1 -1
- package/lib/preview-prompt.js +23 -32
- package/lib/preview-prompt.js.map +1 -1
- package/lib/purpose.js +2 -2
- package/lib/purpose.js.map +1 -1
- package/lib/readable.js +2 -2
- package/lib/readable.js.map +1 -1
- package/lib/response-indicators.js +23 -32
- package/lib/response-indicators.js.map +1 -1
- package/lib/withUndoReset.js +34 -59
- package/lib/withUndoReset.js.map +1 -1
- package/package.json +3 -3
package/lib/withUndoReset.js
CHANGED
|
@@ -1,72 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = void 0;
|
|
9
11
|
|
|
10
|
-
var
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
13
|
|
|
12
|
-
var
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
15
|
|
|
14
|
-
var
|
|
16
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
17
|
|
|
16
|
-
var
|
|
18
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
19
|
|
|
18
|
-
var
|
|
20
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
21
|
|
|
20
|
-
var
|
|
22
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
23
|
|
|
22
|
-
var
|
|
24
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
29
|
|
|
28
|
-
|
|
30
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
33
|
-
|
|
34
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
35
|
-
|
|
36
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
37
|
-
|
|
38
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
|
-
|
|
40
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
41
|
-
|
|
42
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
43
|
-
|
|
44
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
32
|
+
var React = _interopRequireWildcard(require("react"));
|
|
45
33
|
|
|
46
|
-
|
|
34
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
47
35
|
|
|
48
|
-
|
|
36
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
49
37
|
|
|
50
|
-
|
|
38
|
+
var _styles = require("@material-ui/core/styles");
|
|
51
39
|
|
|
52
|
-
|
|
40
|
+
var _Restore = _interopRequireDefault(require("@material-ui/icons/Restore"));
|
|
53
41
|
|
|
54
|
-
|
|
42
|
+
var _Undo = _interopRequireDefault(require("@material-ui/icons/Undo"));
|
|
55
43
|
|
|
56
|
-
|
|
44
|
+
var _excluded = ["classes"];
|
|
57
45
|
|
|
58
|
-
function
|
|
46
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
59
47
|
|
|
60
|
-
function
|
|
48
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
61
49
|
|
|
62
|
-
function
|
|
50
|
+
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); }; }
|
|
63
51
|
|
|
64
52
|
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; } }
|
|
65
53
|
|
|
66
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
67
|
-
|
|
68
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
69
|
-
|
|
70
54
|
var styles = function styles(theme) {
|
|
71
55
|
return {
|
|
72
56
|
wrapper: {
|
|
@@ -99,32 +83,28 @@ var styles = function styles(theme) {
|
|
|
99
83
|
|
|
100
84
|
var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
101
85
|
var WithUndoReset = /*#__PURE__*/function (_React$Component) {
|
|
102
|
-
|
|
86
|
+
(0, _inherits2["default"])(WithUndoReset, _React$Component);
|
|
103
87
|
|
|
104
88
|
var _super = _createSuper(WithUndoReset);
|
|
105
89
|
|
|
106
90
|
function WithUndoReset(props) {
|
|
107
91
|
var _this;
|
|
108
92
|
|
|
109
|
-
|
|
110
|
-
|
|
93
|
+
(0, _classCallCheck2["default"])(this, WithUndoReset);
|
|
111
94
|
_this = _super.call(this, props);
|
|
112
|
-
|
|
113
|
-
_defineProperty(_assertThisInitialized(_this), "onSessionChange", function (session) {
|
|
95
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSessionChange", function (session) {
|
|
114
96
|
_this.setState(function (state) {
|
|
115
97
|
return {
|
|
116
98
|
session: session,
|
|
117
|
-
changes: [].concat(
|
|
99
|
+
changes: [].concat((0, _toConsumableArray2["default"])(state.changes), [session])
|
|
118
100
|
};
|
|
119
101
|
}, function () {
|
|
120
102
|
return _this.props.onSessionChange(session);
|
|
121
103
|
});
|
|
122
104
|
});
|
|
123
|
-
|
|
124
|
-
_defineProperty(_assertThisInitialized(_this), "onUndo", function () {
|
|
105
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onUndo", function () {
|
|
125
106
|
_this.setState(function (state) {
|
|
126
|
-
var newChanges =
|
|
127
|
-
|
|
107
|
+
var newChanges = (0, _toConsumableArray2["default"])(state.changes);
|
|
128
108
|
newChanges.pop();
|
|
129
109
|
return {
|
|
130
110
|
changes: newChanges,
|
|
@@ -134,8 +114,7 @@ var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
|
134
114
|
return _this.props.onSessionChange(_this.state.session);
|
|
135
115
|
});
|
|
136
116
|
});
|
|
137
|
-
|
|
138
|
-
_defineProperty(_assertThisInitialized(_this), "onReset", function () {
|
|
117
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onReset", function () {
|
|
139
118
|
_this.setState(function (state) {
|
|
140
119
|
return {
|
|
141
120
|
session: state.sessionInitialValues,
|
|
@@ -145,7 +124,6 @@ var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
|
145
124
|
return _this.props.onSessionChange(_this.state.sessionInitialValues);
|
|
146
125
|
});
|
|
147
126
|
});
|
|
148
|
-
|
|
149
127
|
_this.state = {
|
|
150
128
|
sessionInitialValues: JSON.parse(JSON.stringify(props.session)),
|
|
151
129
|
session: props.session,
|
|
@@ -154,13 +132,12 @@ var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
|
154
132
|
return _this;
|
|
155
133
|
}
|
|
156
134
|
|
|
157
|
-
|
|
135
|
+
(0, _createClass2["default"])(WithUndoReset, [{
|
|
158
136
|
key: "render",
|
|
159
137
|
value: function render() {
|
|
160
138
|
var _this$props = this.props,
|
|
161
139
|
classes = _this$props.classes,
|
|
162
|
-
rest =
|
|
163
|
-
|
|
140
|
+
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
164
141
|
var _this$state = this.state,
|
|
165
142
|
changes = _this$state.changes,
|
|
166
143
|
session = _this$state.session;
|
|
@@ -182,22 +159,20 @@ var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
|
182
159
|
onClick: this.onReset
|
|
183
160
|
}, /*#__PURE__*/React.createElement(_Restore["default"], {
|
|
184
161
|
className: classes.icon
|
|
185
|
-
}), " Start Over")), /*#__PURE__*/React.createElement(WrappedComponent,
|
|
162
|
+
}), " Start Over")), /*#__PURE__*/React.createElement(WrappedComponent, (0, _extends2["default"])({}, rest, {
|
|
186
163
|
session: session,
|
|
187
164
|
onSessionChange: this.onSessionChange
|
|
188
165
|
})));
|
|
189
166
|
}
|
|
190
167
|
}]);
|
|
191
|
-
|
|
192
168
|
return WithUndoReset;
|
|
193
169
|
}(React.Component);
|
|
194
170
|
|
|
195
|
-
|
|
171
|
+
(0, _defineProperty2["default"])(WithUndoReset, "propTypes", {
|
|
196
172
|
classes: _propTypes["default"].object,
|
|
197
173
|
session: _propTypes["default"].object,
|
|
198
174
|
onSessionChange: _propTypes["default"].func
|
|
199
175
|
});
|
|
200
|
-
|
|
201
176
|
return (0, _styles.withStyles)(styles)(WithUndoReset);
|
|
202
177
|
};
|
|
203
178
|
|
package/lib/withUndoReset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/withUndoReset.jsx"],"names":["styles","theme","wrapper","display","flexDirection","resetUndoContainer","alignItems","justifyContent","icon","width","height","color","marginRight","spacing","unit","buttonContainer","marginLeft","withUndoReset","WrappedComponent","WithUndoReset","props","session","setState","state","changes","onSessionChange","newChanges","pop","length","sessionInitialValues","JSON","parse","stringify","classes","rest","onUndo","onReset","React","Component","PropTypes","object","func"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/withUndoReset.jsx"],"names":["styles","theme","wrapper","display","flexDirection","resetUndoContainer","alignItems","justifyContent","icon","width","height","color","marginRight","spacing","unit","buttonContainer","marginLeft","withUndoReset","WrappedComponent","WithUndoReset","props","session","setState","state","changes","onSessionChange","newChanges","pop","length","sessionInitialValues","JSON","parse","stringify","classes","rest","onUndo","onReset","React","Component","PropTypes","object","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nimport Restore from '@material-ui/icons/Restore';\nimport Undo from '@material-ui/icons/Undo';\n\nconst styles = theme => ({\n wrapper: {\n display: 'flex',\n flexDirection: 'column'\n },\n resetUndoContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n icon: {\n width: '24px',\n height: '24px',\n color: 'gray',\n marginRight: theme.spacing.unit\n },\n buttonContainer: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: theme.spacing.unit * 3,\n marginRight: theme.spacing.unit * 3\n }\n});\n\n/**\n * HOC that adds undo and reset functionality for session values\n */\nconst withUndoReset = WrappedComponent => {\n class WithUndoReset extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n sessionInitialValues: JSON.parse(JSON.stringify(props.session)),\n session: props.session,\n changes: []\n };\n }\n\n onSessionChange = session => {\n this.setState(\n state => ({ session, changes: [...state.changes, session] }),\n () => this.props.onSessionChange(session)\n );\n };\n\n onUndo = () => {\n this.setState(\n state => {\n const newChanges = [...state.changes];\n\n newChanges.pop();\n\n return {\n changes: newChanges,\n session: newChanges.length\n ? newChanges[newChanges.length - 1]\n : state.sessionInitialValues\n };\n },\n () => this.props.onSessionChange(this.state.session)\n );\n };\n\n onReset = () => {\n this.setState(\n state => ({ session: state.sessionInitialValues, changes: [] }),\n () => this.props.onSessionChange(this.state.sessionInitialValues)\n );\n };\n\n render() {\n const { classes, ...rest } = this.props;\n const { changes, session } = this.state;\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.resetUndoContainer}>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onUndo}\n >\n <Undo className={classes.icon} /> Undo\n </Button>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onReset}\n >\n <Restore className={classes.icon} /> Start Over\n </Button>\n </div>\n <WrappedComponent {...rest} session={session} onSessionChange={this.onSessionChange} />\n </div>\n );\n }\n }\n\n return withStyles(styles)(WithUndoReset);\n};\n\nexport default withUndoReset;\n"],"file":"withUndoReset.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/render-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.13.2",
|
|
4
4
|
"description": "Some shared ui elements when rendering - but not worthy of their own package yet.",
|
|
5
5
|
"module": "src/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"@material-ui/core": "^3.8.3",
|
|
13
13
|
"@material-ui/icons": "^3.0.2",
|
|
14
14
|
"@pie-lib/icons": "^2.4.25",
|
|
15
|
-
"@pie-lib/math-rendering": "^2.4.
|
|
15
|
+
"@pie-lib/math-rendering": "^2.4.5",
|
|
16
16
|
"classnames": "^2.2.6",
|
|
17
17
|
"debug": "^4.1.1",
|
|
18
18
|
"prop-types": "^15.7.2",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"react": "^16.8.1",
|
|
27
27
|
"react-dom": "^16.8.1"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "ed8eb5575887c3ea5fdedf0f3a3d5bc64c7890d7"
|
|
30
30
|
}
|