@pie-lib/config-ui 11.10.1-beta.0 → 11.12.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.json +8 -1653
- package/CHANGELOG.md +145 -1
- package/lib/alert-dialog.js +75 -0
- package/lib/alert-dialog.js.map +1 -0
- package/lib/checkbox.js +99 -0
- package/lib/checkbox.js.map +1 -0
- package/lib/choice-configuration/feedback-menu.js +164 -0
- package/lib/choice-configuration/feedback-menu.js.map +1 -0
- package/lib/choice-configuration/index.js +445 -0
- package/lib/choice-configuration/index.js.map +1 -0
- package/lib/choice-utils.js +54 -0
- package/lib/choice-utils.js.map +1 -0
- package/lib/feedback-config/feedback-selector.js +195 -0
- package/lib/feedback-config/feedback-selector.js.map +1 -0
- package/lib/feedback-config/group.js +75 -0
- package/lib/feedback-config/group.js.map +1 -0
- package/lib/feedback-config/index.js +189 -0
- package/lib/feedback-config/index.js.map +1 -0
- package/lib/form-section.js +46 -0
- package/lib/form-section.js.map +1 -0
- package/lib/help.js +147 -0
- package/lib/help.js.map +1 -0
- package/lib/index.js +216 -0
- package/lib/index.js.map +1 -0
- package/lib/input.js +139 -0
- package/lib/input.js.map +1 -0
- package/lib/inputs.js +139 -0
- package/lib/inputs.js.map +1 -0
- package/lib/langs.js +179 -0
- package/lib/langs.js.map +1 -0
- package/lib/layout/config-layout.js +143 -0
- package/lib/layout/config-layout.js.map +1 -0
- package/lib/layout/index.js +24 -0
- package/lib/layout/index.js.map +1 -0
- package/lib/layout/layout-contents.js +191 -0
- package/lib/layout/layout-contents.js.map +1 -0
- package/lib/layout/settings-box.js +86 -0
- package/lib/layout/settings-box.js.map +1 -0
- package/lib/mui-box/index.js +79 -0
- package/lib/mui-box/index.js.map +1 -0
- package/lib/number-text-field-custom.js +458 -0
- package/lib/number-text-field-custom.js.map +1 -0
- package/lib/number-text-field.js +267 -0
- package/lib/number-text-field.js.map +1 -0
- package/lib/radio-with-label.js +49 -0
- package/lib/radio-with-label.js.map +1 -0
- package/lib/settings/display-size.js +77 -0
- package/lib/settings/display-size.js.map +1 -0
- package/lib/settings/index.js +143 -0
- package/lib/settings/index.js.map +1 -0
- package/lib/settings/panel.js +463 -0
- package/lib/settings/panel.js.map +1 -0
- package/lib/settings/settings-radio-label.js +53 -0
- package/lib/settings/settings-radio-label.js.map +1 -0
- package/lib/settings/toggle.js +74 -0
- package/lib/settings/toggle.js.map +1 -0
- package/lib/tabs/index.js +110 -0
- package/lib/tabs/index.js.map +1 -0
- package/lib/tags-input/index.js +198 -0
- package/lib/tags-input/index.js.map +1 -0
- package/lib/two-choice.js +180 -0
- package/lib/two-choice.js.map +1 -0
- package/lib/with-stateful-model.js +84 -0
- package/lib/with-stateful-model.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.FeedbackType = exports.FeedbackSelector = 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
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
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
25
|
+
|
|
26
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
27
|
+
|
|
28
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _react = _interopRequireDefault(require("react"));
|
|
31
|
+
|
|
32
|
+
var _styles = require("@material-ui/core/styles");
|
|
33
|
+
|
|
34
|
+
var _group = _interopRequireDefault(require("./group"));
|
|
35
|
+
|
|
36
|
+
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); }; }
|
|
37
|
+
|
|
38
|
+
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; } }
|
|
39
|
+
|
|
40
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
|
+
|
|
42
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
43
|
+
|
|
44
|
+
var feedbackLabels = {
|
|
45
|
+
"default": 'Simple Feedback',
|
|
46
|
+
none: 'No Feedback',
|
|
47
|
+
custom: 'Customized Feedback'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var holder = function holder(theme, extras) {
|
|
51
|
+
return _objectSpread({
|
|
52
|
+
marginTop: '0px',
|
|
53
|
+
background: theme.palette.grey[300],
|
|
54
|
+
padding: theme.spacing.unit,
|
|
55
|
+
marginBottom: theme.spacing.unit * 2,
|
|
56
|
+
borderRadius: '4px'
|
|
57
|
+
}, extras);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var style = function style(theme) {
|
|
61
|
+
return {
|
|
62
|
+
feedbackSelector: {
|
|
63
|
+
marginBottom: theme.spacing.unit
|
|
64
|
+
},
|
|
65
|
+
label: {
|
|
66
|
+
cursor: 'pointer'
|
|
67
|
+
},
|
|
68
|
+
inputContainerLabel: {
|
|
69
|
+
transform: 'translateY(-20%)'
|
|
70
|
+
},
|
|
71
|
+
feedbackInputContainer: {
|
|
72
|
+
paddingBottom: 0
|
|
73
|
+
},
|
|
74
|
+
customHolder: holder(theme, {
|
|
75
|
+
background: theme.palette.grey[300],
|
|
76
|
+
padding: 0
|
|
77
|
+
}),
|
|
78
|
+
defaultHolder: holder(theme, {
|
|
79
|
+
fontFamily: theme.typography.fontFamily,
|
|
80
|
+
padding: theme.spacing.unit * 2,
|
|
81
|
+
cursor: 'default'
|
|
82
|
+
}),
|
|
83
|
+
editor: {
|
|
84
|
+
fontFamily: theme.typography.fontFamily
|
|
85
|
+
},
|
|
86
|
+
group: {
|
|
87
|
+
paddingTop: theme.spacing.unit
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var FeedbackType = {
|
|
93
|
+
type: _propTypes["default"].oneOf(['default', 'custom', 'none']),
|
|
94
|
+
"default": _propTypes["default"].string,
|
|
95
|
+
custom: _propTypes["default"].string
|
|
96
|
+
};
|
|
97
|
+
exports.FeedbackType = FeedbackType;
|
|
98
|
+
|
|
99
|
+
var FeedbackSelector = /*#__PURE__*/function (_React$Component) {
|
|
100
|
+
(0, _inherits2["default"])(FeedbackSelector, _React$Component);
|
|
101
|
+
|
|
102
|
+
var _super = _createSuper(FeedbackSelector);
|
|
103
|
+
|
|
104
|
+
function FeedbackSelector() {
|
|
105
|
+
var _this;
|
|
106
|
+
|
|
107
|
+
(0, _classCallCheck2["default"])(this, FeedbackSelector);
|
|
108
|
+
|
|
109
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
110
|
+
args[_key] = arguments[_key];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
114
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeType", function (type) {
|
|
115
|
+
var _this$props = _this.props,
|
|
116
|
+
onChange = _this$props.onChange,
|
|
117
|
+
feedback = _this$props.feedback;
|
|
118
|
+
onChange(_objectSpread(_objectSpread({}, feedback), {}, {
|
|
119
|
+
type: type
|
|
120
|
+
}));
|
|
121
|
+
});
|
|
122
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCustom", function (custom) {
|
|
123
|
+
var _this$props2 = _this.props,
|
|
124
|
+
onChange = _this$props2.onChange,
|
|
125
|
+
feedback = _this$props2.feedback;
|
|
126
|
+
onChange(_objectSpread(_objectSpread({}, feedback), {}, {
|
|
127
|
+
type: 'custom',
|
|
128
|
+
custom: custom
|
|
129
|
+
}));
|
|
130
|
+
});
|
|
131
|
+
return _this;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
(0, _createClass2["default"])(FeedbackSelector, [{
|
|
135
|
+
key: "render",
|
|
136
|
+
value: function render() {
|
|
137
|
+
var _this$props3 = this.props,
|
|
138
|
+
keys = _this$props3.keys,
|
|
139
|
+
classes = _this$props3.classes,
|
|
140
|
+
label = _this$props3.label,
|
|
141
|
+
feedback = _this$props3.feedback,
|
|
142
|
+
toolbarOpts = _this$props3.toolbarOpts,
|
|
143
|
+
_this$props3$mathMlOp = _this$props3.mathMlOptions,
|
|
144
|
+
mathMlOptions = _this$props3$mathMlOp === void 0 ? {} : _this$props3$mathMlOp;
|
|
145
|
+
var feedbackKeys = keys || Object.keys(feedbackLabels);
|
|
146
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
147
|
+
className: classes.feedbackSelector
|
|
148
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
|
|
149
|
+
label: label,
|
|
150
|
+
className: classes.feedbackInputContainer,
|
|
151
|
+
extraClasses: {
|
|
152
|
+
label: classes.inputContainerLabel
|
|
153
|
+
}
|
|
154
|
+
}, /*#__PURE__*/_react["default"].createElement(_group["default"], {
|
|
155
|
+
className: classes.group,
|
|
156
|
+
keys: feedbackKeys,
|
|
157
|
+
label: label,
|
|
158
|
+
value: feedback.type,
|
|
159
|
+
onChange: this.changeType,
|
|
160
|
+
feedbackLabels: feedbackLabels
|
|
161
|
+
})), feedback.type === 'custom' && /*#__PURE__*/_react["default"].createElement("div", {
|
|
162
|
+
className: classes.customHolder
|
|
163
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
164
|
+
className: classes.editor,
|
|
165
|
+
onChange: this.changeCustom,
|
|
166
|
+
markup: feedback.custom || '',
|
|
167
|
+
toolbarOpts: toolbarOpts,
|
|
168
|
+
languageCharactersProps: [{
|
|
169
|
+
language: 'spanish'
|
|
170
|
+
}, {
|
|
171
|
+
language: 'special'
|
|
172
|
+
}],
|
|
173
|
+
mathMlOptions: mathMlOptions
|
|
174
|
+
})), feedback.type === 'default' && /*#__PURE__*/_react["default"].createElement("div", {
|
|
175
|
+
className: classes.defaultHolder
|
|
176
|
+
}, " ", feedback["default"]));
|
|
177
|
+
}
|
|
178
|
+
}]);
|
|
179
|
+
return FeedbackSelector;
|
|
180
|
+
}(_react["default"].Component);
|
|
181
|
+
|
|
182
|
+
exports.FeedbackSelector = FeedbackSelector;
|
|
183
|
+
(0, _defineProperty2["default"])(FeedbackSelector, "propTypes", {
|
|
184
|
+
keys: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
185
|
+
classes: _propTypes["default"].object.isRequired,
|
|
186
|
+
label: _propTypes["default"].string.isRequired,
|
|
187
|
+
feedback: _propTypes["default"].shape(FeedbackType).isRequired,
|
|
188
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
189
|
+
toolbarOpts: _propTypes["default"].object
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
var _default = (0, _styles.withStyles)(style)(FeedbackSelector);
|
|
193
|
+
|
|
194
|
+
exports["default"] = _default;
|
|
195
|
+
//# sourceMappingURL=feedback-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/feedback-config/feedback-selector.jsx"],"names":["feedbackLabels","none","custom","holder","theme","extras","marginTop","background","palette","grey","padding","spacing","unit","marginBottom","borderRadius","style","feedbackSelector","label","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","typography","editor","group","paddingTop","FeedbackType","type","PropTypes","oneOf","string","FeedbackSelector","props","onChange","feedback","keys","classes","toolbarOpts","mathMlOptions","feedbackKeys","Object","changeType","changeCustom","language","React","Component","arrayOf","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import EditableHTML from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Group from './group';\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst holder = (theme, extras) => ({\n marginTop: '0px',\n background: theme.palette.grey[300],\n padding: theme.spacing.unit,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n ...extras,\n});\n\nconst style = (theme) => ({\n feedbackSelector: {\n marginBottom: theme.spacing.unit,\n },\n label: {\n cursor: 'pointer',\n },\n inputContainerLabel: {\n transform: 'translateY(-20%)',\n },\n feedbackInputContainer: {\n paddingBottom: 0,\n },\n customHolder: holder(theme, {\n background: theme.palette.grey[300],\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\n padding: theme.spacing.unit * 2,\n cursor: 'default',\n }),\n editor: {\n fontFamily: theme.typography.fontFamily,\n },\n group: {\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, classes, label, feedback, toolbarOpts, mathMlOptions = {} } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <div className={classes.feedbackSelector}>\n <InputContainer\n label={label}\n className={classes.feedbackInputContainer}\n extraClasses={{ label: classes.inputContainerLabel }}\n >\n <Group\n className={classes.group}\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </InputContainer>\n\n {feedback.type === 'custom' && (\n <div className={classes.customHolder}>\n <EditableHTML\n className={classes.editor}\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n\n {feedback.type === 'default' && <div className={classes.defaultHolder}> {feedback.default}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackSelector);\n"],"file":"feedback-selector.js"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _radioWithLabel = _interopRequireDefault(require("../radio-with-label"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styles = require("@material-ui/core/styles");
|
|
17
|
+
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var styles = function styles(theme) {
|
|
21
|
+
return {
|
|
22
|
+
radioLabel: {
|
|
23
|
+
fontSize: theme.typography.fontSize - 2
|
|
24
|
+
},
|
|
25
|
+
choice: {
|
|
26
|
+
display: 'flex',
|
|
27
|
+
alignItems: 'center'
|
|
28
|
+
},
|
|
29
|
+
choiceHolder: {
|
|
30
|
+
display: 'flex',
|
|
31
|
+
alignItems: 'center'
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var Group = function Group(props) {
|
|
37
|
+
var feedbackLabels = props.feedbackLabels,
|
|
38
|
+
value = props.value,
|
|
39
|
+
classes = props.classes,
|
|
40
|
+
className = props.className,
|
|
41
|
+
_onChange = props.onChange,
|
|
42
|
+
keys = props.keys;
|
|
43
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
44
|
+
className: (0, _classnames["default"])(classes.choiceHolder, className)
|
|
45
|
+
}, keys.map(function (key) {
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
47
|
+
className: classes.choice,
|
|
48
|
+
key: key
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(_radioWithLabel["default"], {
|
|
50
|
+
value: key,
|
|
51
|
+
checked: value === key,
|
|
52
|
+
classes: {
|
|
53
|
+
label: classes.radioLabel
|
|
54
|
+
},
|
|
55
|
+
onChange: function onChange(e) {
|
|
56
|
+
return _onChange(e.currentTarget.value);
|
|
57
|
+
},
|
|
58
|
+
label: feedbackLabels[key]
|
|
59
|
+
}));
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Group.propTypes = {
|
|
64
|
+
className: _propTypes["default"].string,
|
|
65
|
+
feedbackLabels: _propTypes["default"].object.isRequired,
|
|
66
|
+
value: _propTypes["default"].string.isRequired,
|
|
67
|
+
classes: _propTypes["default"].object.isRequired,
|
|
68
|
+
keys: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
69
|
+
onChange: _propTypes["default"].func
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var _default = (0, _styles.withStyles)(styles)(Group);
|
|
73
|
+
|
|
74
|
+
exports["default"] = _default;
|
|
75
|
+
//# sourceMappingURL=group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/feedback-config/group.jsx"],"names":["styles","theme","radioLabel","fontSize","typography","choice","display","alignItems","choiceHolder","Group","props","feedbackLabels","value","classes","className","onChange","keys","map","key","label","e","currentTarget","propTypes","PropTypes","string","object","isRequired","arrayOf","func"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,UAAU,EAAE;AACVC,MAAAA,QAAQ,EAAEF,KAAK,CAACG,UAAN,CAAiBD,QAAjB,GAA4B;AAD5B,KADa;AAIzBE,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,MADH;AAENC,MAAAA,UAAU,EAAE;AAFN,KAJiB;AAQzBC,IAAAA,YAAY,EAAE;AACZF,MAAAA,OAAO,EAAE,MADG;AAEZC,MAAAA,UAAU,EAAE;AAFA;AARW,GAAZ;AAAA,CAAf;;AAcA,IAAME,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAW;AACvB,MAAQC,cAAR,GAAsED,KAAtE,CAAQC,cAAR;AAAA,MAAwBC,KAAxB,GAAsEF,KAAtE,CAAwBE,KAAxB;AAAA,MAA+BC,OAA/B,GAAsEH,KAAtE,CAA+BG,OAA/B;AAAA,MAAwCC,SAAxC,GAAsEJ,KAAtE,CAAwCI,SAAxC;AAAA,MAAmDC,SAAnD,GAAsEL,KAAtE,CAAmDK,QAAnD;AAAA,MAA6DC,IAA7D,GAAsEN,KAAtE,CAA6DM,IAA7D;AAEA,sBACE;AAAK,IAAA,SAAS,EAAE,4BAAWH,OAAO,CAACL,YAAnB,EAAiCM,SAAjC;AAAhB,KACGE,IAAI,CAACC,GAAL,CAAS,UAACC,GAAD,EAAS;AACjB,wBACE;AAAK,MAAA,SAAS,EAAEL,OAAO,CAACR,MAAxB;AAAgC,MAAA,GAAG,EAAEa;AAArC,oBACE,gCAAC,0BAAD;AACE,MAAA,KAAK,EAAEA,GADT;AAEE,MAAA,OAAO,EAAEN,KAAK,KAAKM,GAFrB;AAGE,MAAA,OAAO,EAAE;AAAEC,QAAAA,KAAK,EAAEN,OAAO,CAACX;AAAjB,OAHX;AAIE,MAAA,QAAQ,EAAE,kBAACkB,CAAD;AAAA,eAAOL,SAAQ,CAACK,CAAC,CAACC,aAAF,CAAgBT,KAAjB,CAAf;AAAA,OAJZ;AAKE,MAAA,KAAK,EAAED,cAAc,CAACO,GAAD;AALvB,MADF,CADF;AAWD,GAZA,CADH,CADF;AAiBD,CApBD;;AAsBAT,KAAK,CAACa,SAAN,GAAkB;AAChBR,EAAAA,SAAS,EAAES,sBAAUC,MADL;AAEhBb,EAAAA,cAAc,EAAEY,sBAAUE,MAAV,CAAiBC,UAFjB;AAGhBd,EAAAA,KAAK,EAAEW,sBAAUC,MAAV,CAAiBE,UAHR;AAIhBb,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC,UAJV;AAKhBV,EAAAA,IAAI,EAAEO,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B,CALU;AAMhBT,EAAAA,QAAQ,EAAEQ,sBAAUK;AANJ,CAAlB;;eASe,wBAAW5B,MAAX,EAAmBS,KAAnB,C","sourcesContent":["import PropTypes from 'prop-types';\nimport RadioWithLabel from '../radio-with-label';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst styles = (theme) => ({\n radioLabel: {\n fontSize: theme.typography.fontSize - 2,\n },\n choice: {\n display: 'flex',\n alignItems: 'center',\n },\n choiceHolder: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nconst Group = (props) => {\n const { feedbackLabels, value, classes, className, onChange, keys } = props;\n\n return (\n <div className={classNames(classes.choiceHolder, className)}>\n {keys.map((key) => {\n return (\n <div className={classes.choice} key={key}>\n <RadioWithLabel\n value={key}\n checked={value === key}\n classes={{ label: classes.radioLabel }}\n onChange={(e) => onChange(e.currentTarget.value)}\n label={feedbackLabels[key]}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nGroup.propTypes = {\n className: PropTypes.string,\n feedbackLabels: PropTypes.object.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n keys: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(Group);\n"],"file":"group.js"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.FeedbackConfig = void 0;
|
|
11
|
+
Object.defineProperty(exports, "FeedbackSelector", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return _feedbackSelector["default"];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
exports["default"] = exports.buildDefaults = void 0;
|
|
18
|
+
|
|
19
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
20
|
+
|
|
21
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
22
|
+
|
|
23
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
24
|
+
|
|
25
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
26
|
+
|
|
27
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
28
|
+
|
|
29
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
30
|
+
|
|
31
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
|
+
|
|
33
|
+
var _feedbackSelector = _interopRequireWildcard(require("./feedback-selector"));
|
|
34
|
+
|
|
35
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
36
|
+
|
|
37
|
+
var _react = _interopRequireDefault(require("react"));
|
|
38
|
+
|
|
39
|
+
var _styles = require("@material-ui/core/styles");
|
|
40
|
+
|
|
41
|
+
var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
|
|
42
|
+
|
|
43
|
+
var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
|
|
44
|
+
|
|
45
|
+
var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
|
|
46
|
+
|
|
47
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
48
|
+
|
|
49
|
+
var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
|
|
50
|
+
|
|
51
|
+
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
52
|
+
|
|
53
|
+
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); }
|
|
54
|
+
|
|
55
|
+
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; }
|
|
56
|
+
|
|
57
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
58
|
+
|
|
59
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
60
|
+
|
|
61
|
+
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); }; }
|
|
62
|
+
|
|
63
|
+
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; } }
|
|
64
|
+
|
|
65
|
+
var style = {
|
|
66
|
+
feedbackContainer: {
|
|
67
|
+
display: 'flex',
|
|
68
|
+
flex: 1,
|
|
69
|
+
flexDirection: 'column'
|
|
70
|
+
},
|
|
71
|
+
panelDetails: {
|
|
72
|
+
paddingTop: 0,
|
|
73
|
+
paddingBottom: 0
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var buildDefaults = function buildDefaults(input) {
|
|
78
|
+
return (0, _merge["default"])({}, {
|
|
79
|
+
correct: {
|
|
80
|
+
type: 'default',
|
|
81
|
+
"default": 'Correct'
|
|
82
|
+
},
|
|
83
|
+
incorrect: {
|
|
84
|
+
type: 'default',
|
|
85
|
+
"default": 'Incorrect'
|
|
86
|
+
},
|
|
87
|
+
partial: {
|
|
88
|
+
type: 'default',
|
|
89
|
+
"default": 'Nearly'
|
|
90
|
+
}
|
|
91
|
+
}, input);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
exports.buildDefaults = buildDefaults;
|
|
95
|
+
|
|
96
|
+
var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
|
|
97
|
+
(0, _inherits2["default"])(FeedbackConfig, _React$Component);
|
|
98
|
+
|
|
99
|
+
var _super = _createSuper(FeedbackConfig);
|
|
100
|
+
|
|
101
|
+
function FeedbackConfig() {
|
|
102
|
+
var _this;
|
|
103
|
+
|
|
104
|
+
(0, _classCallCheck2["default"])(this, FeedbackConfig);
|
|
105
|
+
|
|
106
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
107
|
+
args[_key] = arguments[_key];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
111
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCorrectChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'correct'));
|
|
112
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onIncorrectChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'incorrect'));
|
|
113
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPartialChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'partial'));
|
|
114
|
+
return _this;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
(0, _createClass2["default"])(FeedbackConfig, [{
|
|
118
|
+
key: "onChange",
|
|
119
|
+
value: function onChange(key, config) {
|
|
120
|
+
var _this$props = this.props,
|
|
121
|
+
feedback = _this$props.feedback,
|
|
122
|
+
onChange = _this$props.onChange;
|
|
123
|
+
|
|
124
|
+
var update = _objectSpread(_objectSpread({}, feedback), {}, (0, _defineProperty2["default"])({}, key, config));
|
|
125
|
+
|
|
126
|
+
onChange(update);
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "render",
|
|
130
|
+
value: function render() {
|
|
131
|
+
var _this$props2 = this.props,
|
|
132
|
+
classes = _this$props2.classes,
|
|
133
|
+
className = _this$props2.className,
|
|
134
|
+
allowPartial = _this$props2.allowPartial,
|
|
135
|
+
feedback = _this$props2.feedback,
|
|
136
|
+
toolbarOpts = _this$props2.toolbarOpts;
|
|
137
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
138
|
+
className: className
|
|
139
|
+
}, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
|
|
140
|
+
expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
142
|
+
className: classes.heading
|
|
143
|
+
}, "Feedback")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], {
|
|
144
|
+
className: classes.panelDetails
|
|
145
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
146
|
+
className: classes.feedbackContainer
|
|
147
|
+
}, /*#__PURE__*/_react["default"].createElement(_feedbackSelector["default"], {
|
|
148
|
+
label: "If correct, show",
|
|
149
|
+
feedback: feedback.correct,
|
|
150
|
+
onChange: this.onCorrectChange,
|
|
151
|
+
toolbarOpts: toolbarOpts
|
|
152
|
+
}), allowPartial && /*#__PURE__*/_react["default"].createElement(_feedbackSelector["default"], {
|
|
153
|
+
label: "If partially correct, show",
|
|
154
|
+
feedback: feedback.partial,
|
|
155
|
+
onChange: this.onPartialChange,
|
|
156
|
+
toolbarOpts: toolbarOpts
|
|
157
|
+
}), /*#__PURE__*/_react["default"].createElement(_feedbackSelector["default"], {
|
|
158
|
+
label: "If incorrect, show",
|
|
159
|
+
feedback: feedback.incorrect,
|
|
160
|
+
onChange: this.onIncorrectChange,
|
|
161
|
+
toolbarOpts: toolbarOpts
|
|
162
|
+
})))));
|
|
163
|
+
}
|
|
164
|
+
}]);
|
|
165
|
+
return FeedbackConfig;
|
|
166
|
+
}(_react["default"].Component);
|
|
167
|
+
|
|
168
|
+
exports.FeedbackConfig = FeedbackConfig;
|
|
169
|
+
(0, _defineProperty2["default"])(FeedbackConfig, "propTypes", {
|
|
170
|
+
allowPartial: _propTypes["default"].bool,
|
|
171
|
+
className: _propTypes["default"].string,
|
|
172
|
+
feedback: _propTypes["default"].shape({
|
|
173
|
+
correct: _propTypes["default"].shape(_feedbackSelector.FeedbackType),
|
|
174
|
+
incorrect: _propTypes["default"].shape(_feedbackSelector.FeedbackType),
|
|
175
|
+
partial: _propTypes["default"].shape(_feedbackSelector.FeedbackType)
|
|
176
|
+
}),
|
|
177
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
178
|
+
classes: _propTypes["default"].object.isRequired,
|
|
179
|
+
toolbarOpts: _propTypes["default"].object
|
|
180
|
+
});
|
|
181
|
+
(0, _defineProperty2["default"])(FeedbackConfig, "defaultProps", {
|
|
182
|
+
allowPartial: true,
|
|
183
|
+
feedback: buildDefaults()
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
var _default = (0, _styles.withStyles)(style)(FeedbackConfig);
|
|
187
|
+
|
|
188
|
+
exports["default"] = _default;
|
|
189
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flex","flexDirection","panelDetails","paddingTop","paddingBottom","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","className","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","string","shape","FeedbackType","func","isRequired","object"],"mappings":"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","sourcesContent":["import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n panelDetails: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n className: PropTypes.string,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, className, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <div className={className}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n"],"file":"index.js"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _styles = require("@material-ui/core/styles");
|
|
17
|
+
|
|
18
|
+
var styles = function styles(theme) {
|
|
19
|
+
return {
|
|
20
|
+
formSection: {
|
|
21
|
+
marginTop: theme.spacing.unit * 2,
|
|
22
|
+
marginBottom: theme.spacing.unit * 2
|
|
23
|
+
},
|
|
24
|
+
label: {
|
|
25
|
+
marginBottom: theme.spacing.unit
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var _default = (0, _styles.withStyles)(styles)(function (_ref) {
|
|
31
|
+
var className = _ref.className,
|
|
32
|
+
classes = _ref.classes,
|
|
33
|
+
label = _ref.label,
|
|
34
|
+
children = _ref.children,
|
|
35
|
+
labelExtraStyle = _ref.labelExtraStyle;
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
37
|
+
className: (0, _classnames["default"])(classes.formSection, className)
|
|
38
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
39
|
+
className: classes.label,
|
|
40
|
+
type: "subheading",
|
|
41
|
+
style: labelExtraStyle
|
|
42
|
+
}, label), children);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
exports["default"] = _default;
|
|
46
|
+
//# sourceMappingURL=form-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/form-section.jsx"],"names":["styles","theme","formSection","marginTop","spacing","unit","marginBottom","label","className","classes","children","labelExtraStyle"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,WAAW,EAAE;AACXC,MAAAA,SAAS,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CADrB;AAEXC,MAAAA,YAAY,EAAEL,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AAFxB,KADY;AAKzBE,IAAAA,KAAK,EAAE;AACLD,MAAAA,YAAY,EAAEL,KAAK,CAACG,OAAN,CAAcC;AADvB;AALkB,GAAZ;AAAA,CAAf;;eAUe,wBAAWL,MAAX,EAAmB;AAAA,MAAGQ,SAAH,QAAGA,SAAH;AAAA,MAAcC,OAAd,QAAcA,OAAd;AAAA,MAAuBF,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BG,QAA9B,QAA8BA,QAA9B;AAAA,MAAwCC,eAAxC,QAAwCA,eAAxC;AAAA,sBAChC;AAAK,IAAA,SAAS,EAAE,4BAAWF,OAAO,CAACP,WAAnB,EAAgCM,SAAhC;AAAhB,kBACE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEC,OAAO,CAACF,KAA/B;AAAsC,IAAA,IAAI,EAAC,YAA3C;AAAwD,IAAA,KAAK,EAAEI;AAA/D,KACGJ,KADH,CADF,EAIGG,QAJH,CADgC;AAAA,CAAnB,C","sourcesContent":["import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n formSection: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n label: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nexport default withStyles(styles)(({ className, classes, label, children, labelExtraStyle }) => (\n <div className={classNames(classes.formSection, className)}>\n <Typography className={classes.label} type=\"subheading\" style={labelExtraStyle}>\n {label}\n </Typography>\n {children}\n </div>\n));\n"],"file":"form-section.js"}
|