@pie-lib/config-ui 11.9.25-next.0 → 11.10.0-beta.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.
Files changed (100) hide show
  1. package/CHANGELOG.md +21 -107
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/package.json +8 -5
  4. package/src/__tests__/__snapshots__/langs.test.jsx.snap +32 -0
  5. package/src/__tests__/__snapshots__/settings-panel.test.js.snap +115 -0
  6. package/src/__tests__/__snapshots__/two-choice.test.js.snap +171 -0
  7. package/src/__tests__/choice-utils.test.js +12 -0
  8. package/src/__tests__/langs.test.jsx +37 -0
  9. package/src/__tests__/number-text-field.test.jsx +148 -0
  10. package/src/__tests__/settings-panel.test.js +204 -0
  11. package/src/__tests__/two-choice.test.js +24 -0
  12. package/src/alert-dialog.jsx +27 -7
  13. package/src/checkbox.jsx +8 -1
  14. package/src/choice-configuration/__tests__/__snapshots__/feedback-menu.test.jsx.snap +51 -0
  15. package/src/choice-configuration/__tests__/__snapshots__/index.test.jsx.snap +519 -0
  16. package/src/choice-configuration/__tests__/feedback-menu.test.jsx +10 -0
  17. package/src/choice-configuration/__tests__/index.test.jsx +92 -0
  18. package/src/choice-configuration/index.jsx +14 -3
  19. package/src/feedback-config/__tests__/__snapshots__/feedback-config.test.jsx.snap +27 -0
  20. package/src/feedback-config/__tests__/__snapshots__/feedback-selector.test.jsx.snap +38 -0
  21. package/src/feedback-config/__tests__/feedback-config.test.jsx +71 -0
  22. package/src/feedback-config/__tests__/feedback-selector.test.jsx +60 -0
  23. package/src/feedback-config/feedback-selector.jsx +0 -0
  24. package/src/inputs.jsx +9 -2
  25. package/src/layout/__tests__/__snapshots__/config.layout.test.jsx.snap +59 -0
  26. package/src/layout/__tests__/config.layout.test.jsx +42 -0
  27. package/src/layout/__tests__/layout-content.test.jsx +3 -0
  28. package/src/layout/config-layout.jsx +16 -8
  29. package/src/number-text-field-custom.jsx +86 -28
  30. package/src/number-text-field.jsx +6 -5
  31. package/src/radio-with-label.jsx +6 -2
  32. package/src/settings/index.js +2 -1
  33. package/src/settings/panel.jsx +5 -2
  34. package/src/settings/settings-radio-label.jsx +6 -2
  35. package/src/settings/toggle.jsx +20 -2
  36. package/src/tags-input/__tests__/__snapshots__/index.test.jsx.snap +170 -0
  37. package/src/tags-input/__tests__/index.test.jsx +62 -0
  38. package/README.md +0 -12
  39. package/lib/alert-dialog.js +0 -44
  40. package/lib/alert-dialog.js.map +0 -1
  41. package/lib/checkbox.js +0 -94
  42. package/lib/checkbox.js.map +0 -1
  43. package/lib/choice-configuration/feedback-menu.js +0 -164
  44. package/lib/choice-configuration/feedback-menu.js.map +0 -1
  45. package/lib/choice-configuration/index.js +0 -434
  46. package/lib/choice-configuration/index.js.map +0 -1
  47. package/lib/choice-utils.js +0 -54
  48. package/lib/choice-utils.js.map +0 -1
  49. package/lib/feedback-config/feedback-selector.js +0 -195
  50. package/lib/feedback-config/feedback-selector.js.map +0 -1
  51. package/lib/feedback-config/group.js +0 -75
  52. package/lib/feedback-config/group.js.map +0 -1
  53. package/lib/feedback-config/index.js +0 -189
  54. package/lib/feedback-config/index.js.map +0 -1
  55. package/lib/form-section.js +0 -46
  56. package/lib/form-section.js.map +0 -1
  57. package/lib/help.js +0 -147
  58. package/lib/help.js.map +0 -1
  59. package/lib/index.js +0 -216
  60. package/lib/index.js.map +0 -1
  61. package/lib/input.js +0 -139
  62. package/lib/input.js.map +0 -1
  63. package/lib/inputs.js +0 -133
  64. package/lib/inputs.js.map +0 -1
  65. package/lib/langs.js +0 -179
  66. package/lib/langs.js.map +0 -1
  67. package/lib/layout/config-layout.js +0 -126
  68. package/lib/layout/config-layout.js.map +0 -1
  69. package/lib/layout/index.js +0 -24
  70. package/lib/layout/index.js.map +0 -1
  71. package/lib/layout/layout-contents.js +0 -191
  72. package/lib/layout/layout-contents.js.map +0 -1
  73. package/lib/layout/settings-box.js +0 -86
  74. package/lib/layout/settings-box.js.map +0 -1
  75. package/lib/mui-box/index.js +0 -79
  76. package/lib/mui-box/index.js.map +0 -1
  77. package/lib/number-text-field-custom.js +0 -367
  78. package/lib/number-text-field-custom.js.map +0 -1
  79. package/lib/number-text-field.js +0 -268
  80. package/lib/number-text-field.js.map +0 -1
  81. package/lib/radio-with-label.js +0 -41
  82. package/lib/radio-with-label.js.map +0 -1
  83. package/lib/settings/display-size.js +0 -77
  84. package/lib/settings/display-size.js.map +0 -1
  85. package/lib/settings/index.js +0 -141
  86. package/lib/settings/index.js.map +0 -1
  87. package/lib/settings/panel.js +0 -460
  88. package/lib/settings/panel.js.map +0 -1
  89. package/lib/settings/settings-radio-label.js +0 -45
  90. package/lib/settings/settings-radio-label.js.map +0 -1
  91. package/lib/settings/toggle.js +0 -56
  92. package/lib/settings/toggle.js.map +0 -1
  93. package/lib/tabs/index.js +0 -110
  94. package/lib/tabs/index.js.map +0 -1
  95. package/lib/tags-input/index.js +0 -198
  96. package/lib/tags-input/index.js.map +0 -1
  97. package/lib/two-choice.js +0 -180
  98. package/lib/two-choice.js.map +0 -1
  99. package/lib/with-stateful-model.js +0 -84
  100. package/lib/with-stateful-model.js.map +0 -1
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.normalizeChoices = exports.firstAvailableIndex = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _includes = _interopRequireDefault(require("lodash/includes"));
13
-
14
- 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; }
15
-
16
- 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; }
17
-
18
- /**
19
- * Add value to every model.choices.
20
- * @param {Object} model the model to normalize
21
- * @return {Object} the updated model
22
- */
23
- var normalizeChoices = function normalizeChoices(model) {
24
- var choices = model.choices.map(function (c, index) {
25
- if (!c.value) {
26
- c.value = "".concat(index);
27
- }
28
-
29
- return c;
30
- });
31
- return _objectSpread(_objectSpread({}, model), {}, {
32
- choices: choices
33
- });
34
- };
35
- /**
36
- * Find the first available index.
37
- * @param {string[]} values
38
- * @param {number} index
39
- * @return {string}
40
- */
41
-
42
-
43
- exports.normalizeChoices = normalizeChoices;
44
-
45
- var firstAvailableIndex = function firstAvailableIndex(values, index) {
46
- if ((0, _includes["default"])(values, "".concat(index))) {
47
- return firstAvailableIndex(values, index + 1);
48
- } else {
49
- return "".concat(index);
50
- }
51
- };
52
-
53
- exports.firstAvailableIndex = firstAvailableIndex;
54
- //# sourceMappingURL=choice-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/choice-utils.js"],"names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;AACzC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC9C,QAAI,CAACD,CAAC,CAACE,KAAP,EAAc;AACZF,MAAAA,CAAC,CAACE,KAAF,aAAaD,KAAb;AACD;;AACD,WAAOD,CAAP;AACD,GALe,CAAhB;AAMA,yCAAYH,KAAZ;AAAmBC,IAAAA,OAAO,EAAPA;AAAnB;AACD,CARM;AAUP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASH,KAAT,EAAmB;AACpD,MAAI,0BAASG,MAAT,YAAoBH,KAApB,EAAJ,EAAkC;AAChC,WAAOE,mBAAmB,CAACC,MAAD,EAASH,KAAK,GAAG,CAAjB,CAA1B;AACD,GAFD,MAEO;AACL,qBAAUA,KAAV;AACD;AACF,CANM","sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"file":"choice-utils.js"}
@@ -1,195 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,75 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,189 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,46 +0,0 @@
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
@@ -1 +0,0 @@
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"}