@pie-lib/config-ui 11.10.0-beta.1 → 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 (64) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +4 -4
  3. package/lib/alert-dialog.js +0 -75
  4. package/lib/alert-dialog.js.map +0 -1
  5. package/lib/checkbox.js +0 -99
  6. package/lib/checkbox.js.map +0 -1
  7. package/lib/choice-configuration/feedback-menu.js +0 -164
  8. package/lib/choice-configuration/feedback-menu.js.map +0 -1
  9. package/lib/choice-configuration/index.js +0 -445
  10. package/lib/choice-configuration/index.js.map +0 -1
  11. package/lib/choice-utils.js +0 -54
  12. package/lib/choice-utils.js.map +0 -1
  13. package/lib/feedback-config/feedback-selector.js +0 -195
  14. package/lib/feedback-config/feedback-selector.js.map +0 -1
  15. package/lib/feedback-config/group.js +0 -75
  16. package/lib/feedback-config/group.js.map +0 -1
  17. package/lib/feedback-config/index.js +0 -189
  18. package/lib/feedback-config/index.js.map +0 -1
  19. package/lib/form-section.js +0 -46
  20. package/lib/form-section.js.map +0 -1
  21. package/lib/help.js +0 -147
  22. package/lib/help.js.map +0 -1
  23. package/lib/index.js +0 -216
  24. package/lib/index.js.map +0 -1
  25. package/lib/input.js +0 -139
  26. package/lib/input.js.map +0 -1
  27. package/lib/inputs.js +0 -139
  28. package/lib/inputs.js.map +0 -1
  29. package/lib/langs.js +0 -179
  30. package/lib/langs.js.map +0 -1
  31. package/lib/layout/config-layout.js +0 -143
  32. package/lib/layout/config-layout.js.map +0 -1
  33. package/lib/layout/index.js +0 -24
  34. package/lib/layout/index.js.map +0 -1
  35. package/lib/layout/layout-contents.js +0 -191
  36. package/lib/layout/layout-contents.js.map +0 -1
  37. package/lib/layout/settings-box.js +0 -86
  38. package/lib/layout/settings-box.js.map +0 -1
  39. package/lib/mui-box/index.js +0 -79
  40. package/lib/mui-box/index.js.map +0 -1
  41. package/lib/number-text-field-custom.js +0 -458
  42. package/lib/number-text-field-custom.js.map +0 -1
  43. package/lib/number-text-field.js +0 -267
  44. package/lib/number-text-field.js.map +0 -1
  45. package/lib/radio-with-label.js +0 -49
  46. package/lib/radio-with-label.js.map +0 -1
  47. package/lib/settings/display-size.js +0 -77
  48. package/lib/settings/display-size.js.map +0 -1
  49. package/lib/settings/index.js +0 -143
  50. package/lib/settings/index.js.map +0 -1
  51. package/lib/settings/panel.js +0 -463
  52. package/lib/settings/panel.js.map +0 -1
  53. package/lib/settings/settings-radio-label.js +0 -53
  54. package/lib/settings/settings-radio-label.js.map +0 -1
  55. package/lib/settings/toggle.js +0 -74
  56. package/lib/settings/toggle.js.map +0 -1
  57. package/lib/tabs/index.js +0 -110
  58. package/lib/tabs/index.js.map +0 -1
  59. package/lib/tags-input/index.js +0 -198
  60. package/lib/tags-input/index.js.map +0 -1
  61. package/lib/two-choice.js +0 -180
  62. package/lib/two-choice.js.map +0 -1
  63. package/lib/with-stateful-model.js +0 -84
  64. package/lib/with-stateful-model.js.map +0 -1
@@ -1,463 +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.Panel = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
-
26
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
27
-
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
- var _react = _interopRequireDefault(require("react"));
31
-
32
- var _propTypes = _interopRequireDefault(require("prop-types"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
36
- var _get2 = _interopRequireDefault(require("lodash/get"));
37
-
38
- var _set = _interopRequireDefault(require("lodash/set"));
39
-
40
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
41
-
42
- var _Input = _interopRequireDefault(require("@material-ui/core/Input"));
43
-
44
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
45
-
46
- var _debug = _interopRequireDefault(require("debug"));
47
-
48
- var _toggle = _interopRequireDefault(require("./toggle"));
49
-
50
- var _twoChoice = require("../two-choice");
51
-
52
- var _settingsRadioLabel = _interopRequireDefault(require("./settings-radio-label"));
53
-
54
- var _numberTextField = _interopRequireDefault(require("../number-text-field"));
55
-
56
- var _checkbox = _interopRequireDefault(require("../checkbox"));
57
-
58
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
59
-
60
- var _excluded = ["isConfigProperty"];
61
-
62
- 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
-
64
- 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
-
66
- 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; }
67
-
68
- 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; }
69
-
70
- var log = (0, _debug["default"])('pie-lib:config-ui:settings:panel');
71
- var labelValue = {
72
- label: _propTypes["default"].string,
73
- value: _propTypes["default"].string
74
- };
75
- var baseTypes = {
76
- label: _propTypes["default"].string,
77
- value: _propTypes["default"].string,
78
- onChange: _propTypes["default"].func
79
- };
80
-
81
- var CheckboxChoice = function CheckboxChoice(_ref) {
82
- var label = _ref.label,
83
- value = _ref.value,
84
- _onChange = _ref.onChange;
85
- return /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
86
- checked: value,
87
- label: label,
88
- onChange: function onChange(event) {
89
- _onChange(event.target.checked);
90
- }
91
- });
92
- };
93
-
94
- CheckboxChoice.propTypes = {
95
- label: _propTypes["default"].string,
96
- value: _propTypes["default"].bool,
97
- onChange: _propTypes["default"].func
98
- };
99
-
100
- var Radio = function Radio(_ref2) {
101
- var classes = _ref2.classes,
102
- label = _ref2.label,
103
- value = _ref2.value,
104
- onChange = _ref2.onChange,
105
- choices = _ref2.choices;
106
- return /*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
107
- className: classes.radioSettings,
108
- direction: "horizontal",
109
- customLabel: _settingsRadioLabel["default"],
110
- value: value,
111
- header: label,
112
- opts: choices,
113
- onChange: onChange
114
- });
115
- };
116
-
117
- Radio.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
118
- choices: _propTypes["default"].arrayOf(_propTypes["default"].shape(labelValue))
119
- });
120
- var StyledRadio = (0, _styles.withStyles)(function (theme) {
121
- return {
122
- radioSettings: {
123
- marginTop: theme.spacing.unit / 2,
124
- paddingBottom: theme.spacing.unit / 2,
125
- width: '100%',
126
- '& > label': {
127
- color: 'rgba(0, 0, 0, 0.89)',
128
- transform: 'translate(0, 10px) scale(1)',
129
- fontSize: '14px'
130
- },
131
- '& > div': {
132
- marginTop: theme.spacing.unit * 2.5
133
- }
134
- },
135
- label: {
136
- display: 'none'
137
- }
138
- };
139
- })(Radio);
140
- var Dropdown = (0, _styles.withStyles)(function (theme) {
141
- return {
142
- label: {
143
- margin: 0,
144
- fontSize: theme.typography.fontSize
145
- },
146
- wrapper: {
147
- marginTop: theme.spacing.unit / 2,
148
- border: '2px solid lightgrey',
149
- borderRadius: '4px',
150
- padding: "0 ".concat(theme.spacing.unit, "px")
151
- }
152
- };
153
- })(function (_ref3) {
154
- var classes = _ref3.classes,
155
- label = _ref3.label,
156
- value = _ref3.value,
157
- _onChange2 = _ref3.onChange,
158
- _ref3$choices = _ref3.choices,
159
- choices = _ref3$choices === void 0 ? [] : _ref3$choices;
160
-
161
- var getItemLabel = function getItemLabel(l) {
162
- return typeof l === 'string' ? l : l.label;
163
- };
164
-
165
- var getItemValue = function getItemValue(l) {
166
- return typeof l === 'string' ? l : l.value;
167
- };
168
-
169
- return /*#__PURE__*/_react["default"].createElement("div", null, label && /*#__PURE__*/_react["default"].createElement("p", {
170
- className: classes.label
171
- }, label), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
172
- className: classes.wrapper,
173
- value: value || choices && choices[0],
174
- onChange: function onChange(_ref4) {
175
- var target = _ref4.target;
176
- return _onChange2(target.value);
177
- },
178
- input: /*#__PURE__*/_react["default"].createElement(_Input["default"], {
179
- id: "dropdown-".concat(label)
180
- }),
181
- disableUnderline: true
182
- }, choices.map(function (l, index) {
183
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
184
- key: index,
185
- value: getItemValue(l)
186
- }, getItemLabel(l));
187
- })));
188
- });
189
- Dropdown.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
190
- choices: _propTypes["default"].arrayOf(_propTypes["default"].string)
191
- });
192
- var TextField = (0, _styles.withStyles)(function (theme) {
193
- return {
194
- field: {
195
- marginRight: theme.spacing.unit * 3,
196
- marginTop: theme.spacing.unit
197
- }
198
- };
199
- })(function (_ref5) {
200
- var classes = _ref5.classes,
201
- label = _ref5.label;
202
- return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
203
- className: classes.field
204
- }, label);
205
- });
206
- var NumberField = (0, _styles.withStyles)(function (theme) {
207
- return {
208
- field: {
209
- width: '35%',
210
- marginRight: theme.spacing.unit * 3,
211
- marginTop: theme.spacing.unit
212
- },
213
- wrapper: {
214
- marginTop: theme.spacing.unit / 2,
215
- border: '2px solid lightgrey',
216
- borderRadius: '4px',
217
- padding: "0 ".concat(theme.spacing.unit, "px")
218
- }
219
- };
220
- })(function (_ref6) {
221
- var classes = _ref6.classes,
222
- label = _ref6.label,
223
- value = _ref6.value,
224
- _ref6$onChange = _ref6.onChange,
225
- _onChange3 = _ref6$onChange === void 0 ? function () {} : _ref6$onChange,
226
- suffix = _ref6.suffix,
227
- min = _ref6.min,
228
- max = _ref6.max;
229
-
230
- return /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
231
- label: label || 'Label',
232
- value: value,
233
- max: max,
234
- min: min,
235
- onChange: function onChange(ev, value) {
236
- return _onChange3(value);
237
- },
238
- suffix: suffix,
239
- className: classes.field,
240
- showErrorWhenOutsideRange: true,
241
- inputClassName: classes.wrapper,
242
- disableUnderline: true,
243
- classes: classes
244
- });
245
- });
246
- NumberField.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
247
- classes: _propTypes["default"].object,
248
- suffix: _propTypes["default"].string,
249
- min: _propTypes["default"].number,
250
- max: _propTypes["default"].number,
251
- value: _propTypes["default"].number
252
- });
253
- TextField.propTypes = _objectSpread({}, baseTypes);
254
-
255
- var ToggleWrapper = function ToggleWrapper(_ref7) {
256
- var disabled = _ref7.disabled,
257
- label = _ref7.label,
258
- value = _ref7.value,
259
- onChange = _ref7.onChange;
260
- return /*#__PURE__*/_react["default"].createElement(_toggle["default"], {
261
- label: label,
262
- checked: !!value,
263
- disabled: !!disabled,
264
- toggle: onChange
265
- });
266
- };
267
-
268
- ToggleWrapper.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
269
- value: _propTypes["default"].bool
270
- });
271
- var tagMap = {
272
- toggle: ToggleWrapper,
273
- radio: StyledRadio,
274
- dropdown: Dropdown,
275
- numberField: NumberField,
276
- checkbox: CheckboxChoice,
277
- textField: TextField
278
- };
279
- var Group = (0, _styles.withStyles)(function (theme) {
280
- return {
281
- group: {
282
- margin: "0 0 ".concat(theme.spacing.unit * 2, "px 0")
283
- },
284
- groupHeader: {
285
- color: '#495B8F',
286
- fontSize: theme.typography.fontSize + 2,
287
- fontWeight: 600,
288
- marginBottom: theme.spacing.unit
289
- },
290
- numberFields: {
291
- fontSize: theme.typography.fontSize,
292
- marginBottom: 0
293
- }
294
- };
295
- })(function (props) {
296
- var classes = props.classes,
297
- model = props.model,
298
- label = props.label,
299
- group = props.group,
300
- configuration = props.configuration,
301
- _onChange4 = props.onChange;
302
- /**
303
- * @param group - the group of settings
304
- * @param key - the key(or path) to be used to set or get from model or configuration
305
- * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)
306
- * @returns tag that corresponds to element type */
307
-
308
- var getTag = function getTag(group, key, innerKey) {
309
- var _get = (0, _get2["default"])(group, innerKey || key),
310
- isConfigProperty = _get.isConfigProperty,
311
- properties = (0, _objectWithoutProperties2["default"])(_get, _excluded);
312
-
313
- var value = isConfigProperty ? (0, _get2["default"])(configuration, key) : (0, _get2["default"])(model, key);
314
-
315
- var tagProps = _objectSpread(_objectSpread({}, properties), {}, {
316
- key: key,
317
- value: value
318
- });
319
-
320
- var Tag = tagMap[tagProps.type];
321
- return /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({
322
- key: key
323
- }, tagProps, {
324
- onChange: function onChange(v) {
325
- return _onChange4(key, v, isConfigProperty);
326
- }
327
- }));
328
- };
329
-
330
- var content = function content(group, key) {
331
- var currentGroup = group[key];
332
-
333
- if (!currentGroup) {
334
- return null;
335
- }
336
-
337
- var type = currentGroup.type,
338
- label = currentGroup.label,
339
- fields = currentGroup.fields,
340
- choices = currentGroup.choices;
341
-
342
- if (type === 'numberFields') {
343
- return /*#__PURE__*/_react["default"].createElement("div", {
344
- key: "numberField-".concat(label)
345
- }, /*#__PURE__*/_react["default"].createElement("p", {
346
- className: classes.numberFields
347
- }, label), Object.keys(fields).map(function (fieldKey) {
348
- return getTag(group, "".concat(key, ".").concat(fieldKey), "".concat(key, ".fields.").concat(fieldKey));
349
- }));
350
- }
351
-
352
- if (type === 'checkboxes') {
353
- return /*#__PURE__*/_react["default"].createElement("div", {
354
- key: "checkbox-".concat(label)
355
- }, /*#__PURE__*/_react["default"].createElement("p", null, label), Object.keys(choices).map(function (choiceKey) {
356
- return getTag(group, "".concat(key, ".").concat(choiceKey), "".concat(key, ".choices.").concat(choiceKey));
357
- }));
358
- } // if type is toggle, radio, dropdown, numberField or numberText
359
-
360
-
361
- return getTag(group, key);
362
- };
363
-
364
- return /*#__PURE__*/_react["default"].createElement("div", {
365
- className: classes.group
366
- }, /*#__PURE__*/_react["default"].createElement("div", {
367
- className: classes.groupHeader
368
- }, label), Object.keys(group).map(function (key) {
369
- return content(group, key);
370
- }));
371
- });
372
-
373
- var Panel = /*#__PURE__*/function (_React$Component) {
374
- (0, _inherits2["default"])(Panel, _React$Component);
375
-
376
- var _super = _createSuper(Panel);
377
-
378
- function Panel() {
379
- var _this;
380
-
381
- (0, _classCallCheck2["default"])(this, Panel);
382
-
383
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
384
- args[_key] = arguments[_key];
385
- }
386
-
387
- _this = _super.call.apply(_super, [this].concat(args));
388
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "change", function (key, value) {
389
- var isConfigProperty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
390
- log('[changeModel]', key, value);
391
- var _this$props = _this.props,
392
- onChangeModel = _this$props.onChangeModel,
393
- onChangeConfiguration = _this$props.onChangeConfiguration;
394
-
395
- var model = _objectSpread({}, _this.props.model);
396
-
397
- var configuration = _objectSpread({}, _this.props.configuration);
398
-
399
- if (isConfigProperty) {
400
- (0, _set["default"])(configuration, key, value);
401
- onChangeConfiguration(configuration, key);
402
- } else {
403
- (0, _set["default"])(model, key, value);
404
- onChangeModel(model, key);
405
- }
406
- });
407
- return _this;
408
- }
409
-
410
- (0, _createClass2["default"])(Panel, [{
411
- key: "render",
412
- value: function render() {
413
- var _this2 = this;
414
-
415
- var _this$props2 = this.props,
416
- groups = _this$props2.groups,
417
- model = _this$props2.model,
418
- configuration = _this$props2.configuration,
419
- modal = _this$props2.modal;
420
- log('render:', model);
421
- var renderedGroups = Object.keys(groups || {}).map(function (group) {
422
- var showGroup = Object.entries(groups[group]).some(function (_ref8) {
423
- var _ref9 = (0, _slicedToArray2["default"])(_ref8, 2),
424
- propVal = _ref9[1];
425
-
426
- return !!propVal;
427
- });
428
-
429
- if (showGroup) {
430
- return /*#__PURE__*/_react["default"].createElement(Group, {
431
- label: group,
432
- key: group,
433
- model: model,
434
- configuration: configuration,
435
- group: groups[group],
436
- onChange: _this2.change
437
- });
438
- }
439
-
440
- return null;
441
- });
442
- return /*#__PURE__*/_react["default"].createElement("div", null, renderedGroups, modal);
443
- }
444
- }]);
445
- return Panel;
446
- }(_react["default"].Component);
447
-
448
- exports.Panel = Panel;
449
- (0, _defineProperty2["default"])(Panel, "propTypes", {
450
- model: _propTypes["default"].object,
451
- configuration: _propTypes["default"].object,
452
- groups: _propTypes["default"].object,
453
- onChangeModel: _propTypes["default"].func,
454
- onChangeConfiguration: _propTypes["default"].func,
455
- modal: _propTypes["default"].object
456
- });
457
- (0, _defineProperty2["default"])(Panel, "defaultProps", {
458
- onChangeModel: function onChangeModel() {},
459
- onChangeConfiguration: function onChangeConfiguration() {}
460
- });
461
- var _default = Panel;
462
- exports["default"] = _default;
463
- //# sourceMappingURL=panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/settings/panel.jsx"],"names":["log","labelValue","label","PropTypes","string","value","baseTypes","onChange","func","CheckboxChoice","event","target","checked","propTypes","bool","Radio","classes","choices","radioSettings","SettingsRadioLabel","arrayOf","shape","StyledRadio","theme","marginTop","spacing","unit","paddingBottom","width","color","transform","fontSize","display","Dropdown","margin","typography","wrapper","border","borderRadius","padding","getItemLabel","l","getItemValue","map","index","TextField","field","marginRight","NumberField","suffix","min","max","ev","object","number","ToggleWrapper","disabled","tagMap","toggle","radio","dropdown","numberField","checkbox","textField","Group","group","groupHeader","fontWeight","marginBottom","numberFields","props","model","configuration","getTag","key","innerKey","isConfigProperty","properties","tagProps","Tag","type","v","content","currentGroup","fields","Object","keys","fieldKey","choiceKey","Panel","onChangeModel","onChangeConfiguration","groups","modal","renderedGroups","showGroup","entries","some","propVal","change","React","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,kCAAN,CAAZ;AAEA,IAAMC,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEC,sBAAUC,MADA;AAEjBC,EAAAA,KAAK,EAAEF,sBAAUC;AAFA,CAAnB;AAKA,IAAME,SAAS,GAAG;AAChBJ,EAAAA,KAAK,EAAEC,sBAAUC,MADD;AAEhBC,EAAAA,KAAK,EAAEF,sBAAUC,MAFD;AAGhBG,EAAAA,QAAQ,EAAEJ,sBAAUK;AAHJ,CAAlB;;AAMA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAAgC;AAAA,MAA7BP,KAA6B,QAA7BA,KAA6B;AAAA,MAAtBG,KAAsB,QAAtBA,KAAsB;AAAA,MAAfE,SAAe,QAAfA,QAAe;AACrD,sBACE,gCAAC,oBAAD;AACE,IAAA,OAAO,EAAEF,KADX;AAEE,IAAA,KAAK,EAAEH,KAFT;AAGE,IAAA,QAAQ,EAAE,kBAACQ,KAAD,EAAW;AACnBH,MAAAA,SAAQ,CAACG,KAAK,CAACC,MAAN,CAAaC,OAAd,CAAR;AACD;AALH,IADF;AASD,CAVD;;AAYAH,cAAc,CAACI,SAAf,GAA2B;AACzBX,EAAAA,KAAK,EAAEC,sBAAUC,MADQ;AAEzBC,EAAAA,KAAK,EAAEF,sBAAUW,IAFQ;AAGzBP,EAAAA,QAAQ,EAAEJ,sBAAUK;AAHK,CAA3B;;AAMA,IAAMO,KAAK,GAAG,SAARA,KAAQ,QAAkD;AAAA,MAA/CC,OAA+C,SAA/CA,OAA+C;AAAA,MAAtCd,KAAsC,SAAtCA,KAAsC;AAAA,MAA/BG,KAA+B,SAA/BA,KAA+B;AAAA,MAAxBE,QAAwB,SAAxBA,QAAwB;AAAA,MAAdU,OAAc,SAAdA,OAAc;AAC9D,sBACE,gCAAC,kBAAD;AACE,IAAA,SAAS,EAAED,OAAO,CAACE,aADrB;AAEE,IAAA,SAAS,EAAC,YAFZ;AAGE,IAAA,WAAW,EAAEC,8BAHf;AAIE,IAAA,KAAK,EAAEd,KAJT;AAKE,IAAA,MAAM,EAAEH,KALV;AAME,IAAA,IAAI,EAAEe,OANR;AAOE,IAAA,QAAQ,EAAEV;AAPZ,IADF;AAWD,CAZD;;AAcAQ,KAAK,CAACF,SAAN,mCAAuBP,SAAvB;AAAkCW,EAAAA,OAAO,EAAEd,sBAAUiB,OAAV,CAAkBjB,sBAAUkB,KAAV,CAAgBpB,UAAhB,CAAlB;AAA3C;AAEA,IAAMqB,WAAW,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACzCL,IAAAA,aAAa,EAAE;AACbM,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADnB;AAEbC,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFvB;AAGbE,MAAAA,KAAK,EAAE,MAHM;AAIb,mBAAa;AACXC,QAAAA,KAAK,EAAE,qBADI;AAEXC,QAAAA,SAAS,EAAE,6BAFA;AAGXC,QAAAA,QAAQ,EAAE;AAHC,OAJA;AASb,iBAAW;AACTP,QAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AADvB;AATE,KAD0B;AAczCxB,IAAAA,KAAK,EAAE;AACL8B,MAAAA,OAAO,EAAE;AADJ;AAdkC,GAAZ;AAAA,CAAX,EAiBhBjB,KAjBgB,CAApB;AAmBA,IAAMkB,QAAQ,GAAG,wBAAW,UAACV,KAAD;AAAA,SAAY;AACtCrB,IAAAA,KAAK,EAAE;AACLgC,MAAAA,MAAM,EAAE,CADH;AAELH,MAAAA,QAAQ,EAAER,KAAK,CAACY,UAAN,CAAiBJ;AAFtB,KAD+B;AAKtCK,IAAAA,OAAO,EAAE;AACPZ,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADzB;AAEPW,MAAAA,MAAM,EAAE,qBAFD;AAGPC,MAAAA,YAAY,EAAE,KAHP;AAIPC,MAAAA,OAAO,cAAOhB,KAAK,CAACE,OAAN,CAAcC,IAArB;AAJA;AAL6B,GAAZ;AAAA,CAAX,EAWb,iBAAuD;AAAA,MAApDV,OAAoD,SAApDA,OAAoD;AAAA,MAA3Cd,KAA2C,SAA3CA,KAA2C;AAAA,MAApCG,KAAoC,SAApCA,KAAoC;AAAA,MAA7BE,UAA6B,SAA7BA,QAA6B;AAAA,4BAAnBU,OAAmB;AAAA,MAAnBA,OAAmB,8BAAT,EAAS;;AACzD,MAAMuB,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD;AAAA,WAAQ,OAAOA,CAAP,KAAa,QAAb,GAAwBA,CAAxB,GAA4BA,CAAC,CAACvC,KAAtC;AAAA,GAArB;;AACA,MAAMwC,YAAY,GAAG,SAAfA,YAAe,CAACD,CAAD;AAAA,WAAQ,OAAOA,CAAP,KAAa,QAAb,GAAwBA,CAAxB,GAA4BA,CAAC,CAACpC,KAAtC;AAAA,GAArB;;AACA,sBACE,6CACGH,KAAK,iBAAI;AAAG,IAAA,SAAS,EAAEc,OAAO,CAACd;AAAtB,KAA8BA,KAA9B,CADZ,eAEE,gCAAC,kBAAD;AACE,IAAA,SAAS,EAAEc,OAAO,CAACoB,OADrB;AAEE,IAAA,KAAK,EAAE/B,KAAK,IAAKY,OAAO,IAAIA,OAAO,CAAC,CAAD,CAFrC;AAGE,IAAA,QAAQ,EAAE;AAAA,UAAGN,MAAH,SAAGA,MAAH;AAAA,aAAgBJ,UAAQ,CAACI,MAAM,CAACN,KAAR,CAAxB;AAAA,KAHZ;AAIE,IAAA,KAAK,eAAE,gCAAC,iBAAD;AAAO,MAAA,EAAE,qBAAcH,KAAd;AAAT,MAJT;AAKE,IAAA,gBAAgB;AALlB,KAOGe,OAAO,CAAC0B,GAAR,CAAY,UAACF,CAAD,EAAIG,KAAJ;AAAA,wBACX,gCAAC,oBAAD;AAAU,MAAA,GAAG,EAAEA,KAAf;AAAsB,MAAA,KAAK,EAAEF,YAAY,CAACD,CAAD;AAAzC,OACGD,YAAY,CAACC,CAAD,CADf,CADW;AAAA,GAAZ,CAPH,CAFF,CADF;AAkBD,CAhCgB,CAAjB;AAkCAR,QAAQ,CAACpB,SAAT,mCAA0BP,SAA1B;AAAqCW,EAAAA,OAAO,EAAEd,sBAAUiB,OAAV,CAAkBjB,sBAAUC,MAA5B;AAA9C;AAEA,IAAMyC,SAAS,GAAG,wBAAW,UAACtB,KAAD;AAAA,SAAY;AACvCuB,IAAAA,KAAK,EAAE;AACLC,MAAAA,WAAW,EAAExB,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAD7B;AAELF,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC;AAFpB;AADgC,GAAZ;AAAA,CAAX,EAKd,iBAAwB;AAAA,MAArBV,OAAqB,SAArBA,OAAqB;AAAA,MAAZd,KAAY,SAAZA,KAAY;AAC1B,sBAAO,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEc,OAAO,CAAC8B;AAA/B,KAAuC5C,KAAvC,CAAP;AACD,CAPiB,CAAlB;AASA,IAAM8C,WAAW,GAAG,wBAAW,UAACzB,KAAD;AAAA,SAAY;AACzCuB,IAAAA,KAAK,EAAE;AACLlB,MAAAA,KAAK,EAAE,KADF;AAELmB,MAAAA,WAAW,EAAExB,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAF7B;AAGLF,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC;AAHpB,KADkC;AAMzCU,IAAAA,OAAO,EAAE;AACPZ,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADzB;AAEPW,MAAAA,MAAM,EAAE,qBAFD;AAGPC,MAAAA,YAAY,EAAE,KAHP;AAIPC,MAAAA,OAAO,cAAOhB,KAAK,CAACE,OAAN,CAAcC,IAArB;AAJA;AANgC,GAAZ;AAAA,CAAX,EAYhB,iBAAsE;AAAA,MAAnEV,OAAmE,SAAnEA,OAAmE;AAAA,MAA1Dd,KAA0D,SAA1DA,KAA0D;AAAA,MAAnDG,KAAmD,SAAnDA,KAAmD;AAAA,6BAA5CE,QAA4C;AAAA,MAA5CA,UAA4C,+BAAjC,YAAM,CAAE,CAAyB;AAAA,MAAvB0C,MAAuB,SAAvBA,MAAuB;AAAA,MAAfC,GAAe,SAAfA,GAAe;AAAA,MAAVC,GAAU,SAAVA,GAAU;;AACxE,sBACE,gCAAC,2BAAD;AACE,IAAA,KAAK,EAAEjD,KAAK,IAAI,OADlB;AAEE,IAAA,KAAK,EAAEG,KAFT;AAGE,IAAA,GAAG,EAAE8C,GAHP;AAIE,IAAA,GAAG,EAAED,GAJP;AAKE,IAAA,QAAQ,EAAE,kBAACE,EAAD,EAAK/C,KAAL;AAAA,aAAeE,UAAQ,CAACF,KAAD,CAAvB;AAAA,KALZ;AAME,IAAA,MAAM,EAAE4C,MANV;AAOE,IAAA,SAAS,EAAEjC,OAAO,CAAC8B,KAPrB;AAQE,IAAA,yBAAyB,MAR3B;AASE,IAAA,cAAc,EAAE9B,OAAO,CAACoB,OAT1B;AAUE,IAAA,gBAAgB,MAVlB;AAWE,IAAA,OAAO,EAAEpB;AAXX,IADF;AAeD,CA5BmB,CAApB;AA8BAgC,WAAW,CAACnC,SAAZ,mCACKP,SADL;AAEEU,EAAAA,OAAO,EAAEb,sBAAUkD,MAFrB;AAGEJ,EAAAA,MAAM,EAAE9C,sBAAUC,MAHpB;AAIE8C,EAAAA,GAAG,EAAE/C,sBAAUmD,MAJjB;AAKEH,EAAAA,GAAG,EAAEhD,sBAAUmD,MALjB;AAMEjD,EAAAA,KAAK,EAAEF,sBAAUmD;AANnB;AASAT,SAAS,CAAChC,SAAV,qBACKP,SADL;;AAIA,IAAMiD,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,QAAH,SAAGA,QAAH;AAAA,MAAatD,KAAb,SAAaA,KAAb;AAAA,MAAoBG,KAApB,SAAoBA,KAApB;AAAA,MAA2BE,QAA3B,SAA2BA,QAA3B;AAAA,sBACpB,gCAAC,kBAAD;AAAQ,IAAA,KAAK,EAAEL,KAAf;AAAsB,IAAA,OAAO,EAAE,CAAC,CAACG,KAAjC;AAAwC,IAAA,QAAQ,EAAE,CAAC,CAACmD,QAApD;AAA8D,IAAA,MAAM,EAAEjD;AAAtE,IADoB;AAAA,CAAtB;;AAIAgD,aAAa,CAAC1C,SAAd,mCAA+BP,SAA/B;AAA0CD,EAAAA,KAAK,EAAEF,sBAAUW;AAA3D;AAEA,IAAM2C,MAAM,GAAG;AACbC,EAAAA,MAAM,EAAEH,aADK;AAEbI,EAAAA,KAAK,EAAErC,WAFM;AAGbsC,EAAAA,QAAQ,EAAE3B,QAHG;AAIb4B,EAAAA,WAAW,EAAEb,WAJA;AAKbc,EAAAA,QAAQ,EAAErD,cALG;AAMbsD,EAAAA,SAAS,EAAElB;AANE,CAAf;AASA,IAAMmB,KAAK,GAAG,wBAAW,UAACzC,KAAD;AAAA,SAAY;AACnC0C,IAAAA,KAAK,EAAE;AACL/B,MAAAA,MAAM,gBAASX,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAA9B;AADD,KAD4B;AAInCwC,IAAAA,WAAW,EAAE;AACXrC,MAAAA,KAAK,EAAE,SADI;AAEXE,MAAAA,QAAQ,EAAER,KAAK,CAACY,UAAN,CAAiBJ,QAAjB,GAA4B,CAF3B;AAGXoC,MAAAA,UAAU,EAAE,GAHD;AAIXC,MAAAA,YAAY,EAAE7C,KAAK,CAACE,OAAN,CAAcC;AAJjB,KAJsB;AAUnC2C,IAAAA,YAAY,EAAE;AACZtC,MAAAA,QAAQ,EAAER,KAAK,CAACY,UAAN,CAAiBJ,QADf;AAEZqC,MAAAA,YAAY,EAAE;AAFF;AAVqB,GAAZ;AAAA,CAAX,EAcV,UAACE,KAAD,EAAW;AACb,MAAQtD,OAAR,GAAkEsD,KAAlE,CAAQtD,OAAR;AAAA,MAAiBuD,KAAjB,GAAkED,KAAlE,CAAiBC,KAAjB;AAAA,MAAwBrE,KAAxB,GAAkEoE,KAAlE,CAAwBpE,KAAxB;AAAA,MAA+B+D,KAA/B,GAAkEK,KAAlE,CAA+BL,KAA/B;AAAA,MAAsCO,aAAtC,GAAkEF,KAAlE,CAAsCE,aAAtC;AAAA,MAAqDjE,UAArD,GAAkE+D,KAAlE,CAAqD/D,QAArD;AAEA;AACF;AACA;AACA;AACA;;AACE,MAAMkE,MAAM,GAAG,SAATA,MAAS,CAACR,KAAD,EAAQS,GAAR,EAAaC,QAAb,EAA0B;AACvC,eAA4C,sBAAIV,KAAJ,EAAWU,QAAQ,IAAID,GAAvB,CAA5C;AAAA,QAAQE,gBAAR,QAAQA,gBAAR;AAAA,QAA6BC,UAA7B;;AACA,QAAMxE,KAAK,GAAGuE,gBAAgB,GAAG,sBAAIJ,aAAJ,EAAmBE,GAAnB,CAAH,GAA6B,sBAAIH,KAAJ,EAAWG,GAAX,CAA3D;;AACA,QAAMI,QAAQ,mCAAQD,UAAR;AAAoBH,MAAAA,GAAG,EAAHA,GAApB;AAAyBrE,MAAAA,KAAK,EAALA;AAAzB,MAAd;;AACA,QAAM0E,GAAG,GAAGtB,MAAM,CAACqB,QAAQ,CAACE,IAAV,CAAlB;AAEA,wBAAO,gCAAC,GAAD;AAAK,MAAA,GAAG,EAAEN;AAAV,OAAmBI,QAAnB;AAA6B,MAAA,QAAQ,EAAE,kBAACG,CAAD;AAAA,eAAO1E,UAAQ,CAACmE,GAAD,EAAMO,CAAN,EAASL,gBAAT,CAAf;AAAA;AAAvC,OAAP;AACD,GAPD;;AASA,MAAMM,OAAO,GAAG,SAAVA,OAAU,CAACjB,KAAD,EAAQS,GAAR,EAAgB;AAC9B,QAAMS,YAAY,GAAGlB,KAAK,CAACS,GAAD,CAA1B;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB,aAAO,IAAP;AACD;;AAED,QAAQH,IAAR,GAAyCG,YAAzC,CAAQH,IAAR;AAAA,QAAc9E,KAAd,GAAyCiF,YAAzC,CAAcjF,KAAd;AAAA,QAAqBkF,MAArB,GAAyCD,YAAzC,CAAqBC,MAArB;AAAA,QAA6BnE,OAA7B,GAAyCkE,YAAzC,CAA6BlE,OAA7B;;AAEA,QAAI+D,IAAI,KAAK,cAAb,EAA6B;AAC3B,0BACE;AAAK,QAAA,GAAG,wBAAiB9E,KAAjB;AAAR,sBACE;AAAG,QAAA,SAAS,EAAEc,OAAO,CAACqD;AAAtB,SAAqCnE,KAArC,CADF,EAEGmF,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBzC,GAApB,CAAwB,UAAC4C,QAAD,EAAc;AACrC,eAAOd,MAAM,CAACR,KAAD,YAAWS,GAAX,cAAkBa,QAAlB,aAAiCb,GAAjC,qBAA+Ca,QAA/C,EAAb;AACD,OAFA,CAFH,CADF;AAQD;;AAED,QAAIP,IAAI,KAAK,YAAb,EAA2B;AACzB,0BACE;AAAK,QAAA,GAAG,qBAAc9E,KAAd;AAAR,sBACE,2CAAIA,KAAJ,CADF,EAEGmF,MAAM,CAACC,IAAP,CAAYrE,OAAZ,EAAqB0B,GAArB,CAAyB,UAAC6C,SAAD,EAAe;AACvC,eAAOf,MAAM,CAACR,KAAD,YAAWS,GAAX,cAAkBc,SAAlB,aAAkCd,GAAlC,sBAAiDc,SAAjD,EAAb;AACD,OAFA,CAFH,CADF;AAQD,KA7B6B,CA+B9B;;;AACA,WAAOf,MAAM,CAACR,KAAD,EAAQS,GAAR,CAAb;AACD,GAjCD;;AAmCA,sBACE;AAAK,IAAA,SAAS,EAAE1D,OAAO,CAACiD;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAEjD,OAAO,CAACkD;AAAxB,KAAsChE,KAAtC,CADF,EAGGmF,MAAM,CAACC,IAAP,CAAYrB,KAAZ,EAAmBtB,GAAnB,CAAuB,UAAC+B,GAAD,EAAS;AAC/B,WAAOQ,OAAO,CAACjB,KAAD,EAAQS,GAAR,CAAd;AACD,GAFA,CAHH,CADF;AASD,CA3Ea,CAAd;;IA6Eae,K;;;;;;;;;;;;;;;+FAeF,UAACf,GAAD,EAAMrE,KAAN,EAA0C;AAAA,UAA7BuE,gBAA6B,uEAAV,KAAU;AACjD5E,MAAAA,GAAG,CAAC,eAAD,EAAkB0E,GAAlB,EAAuBrE,KAAvB,CAAH;AAEA,wBAAiD,MAAKiE,KAAtD;AAAA,UAAQoB,aAAR,eAAQA,aAAR;AAAA,UAAuBC,qBAAvB,eAAuBA,qBAAvB;;AACA,UAAMpB,KAAK,qBAAQ,MAAKD,KAAL,CAAWC,KAAnB,CAAX;;AACA,UAAMC,aAAa,qBAAQ,MAAKF,KAAL,CAAWE,aAAnB,CAAnB;;AAEA,UAAII,gBAAJ,EAAsB;AACpB,6BAAIJ,aAAJ,EAAmBE,GAAnB,EAAwBrE,KAAxB;AACAsF,QAAAA,qBAAqB,CAACnB,aAAD,EAAgBE,GAAhB,CAArB;AACD,OAHD,MAGO;AACL,6BAAIH,KAAJ,EAAWG,GAAX,EAAgBrE,KAAhB;AACAqF,QAAAA,aAAa,CAACnB,KAAD,EAAQG,GAAR,CAAb;AACD;AACF,K;;;;;;WAED,kBAAS;AAAA;;AACP,yBAAgD,KAAKJ,KAArD;AAAA,UAAQsB,MAAR,gBAAQA,MAAR;AAAA,UAAgBrB,KAAhB,gBAAgBA,KAAhB;AAAA,UAAuBC,aAAvB,gBAAuBA,aAAvB;AAAA,UAAsCqB,KAAtC,gBAAsCA,KAAtC;AAEA7F,MAAAA,GAAG,CAAC,SAAD,EAAYuE,KAAZ,CAAH;AAEA,UAAMuB,cAAc,GAAGT,MAAM,CAACC,IAAP,CAAYM,MAAM,IAAI,EAAtB,EAA0BjD,GAA1B,CAA8B,UAACsB,KAAD,EAAW;AAC9D,YAAM8B,SAAS,GAAGV,MAAM,CAACW,OAAP,CAAeJ,MAAM,CAAC3B,KAAD,CAArB,EAA8BgC,IAA9B,CAAmC;AAAA;AAAA,cAAIC,OAAJ;;AAAA,iBAAiB,CAAC,CAACA,OAAnB;AAAA,SAAnC,CAAlB;;AAEA,YAAIH,SAAJ,EAAe;AACb,8BACE,gCAAC,KAAD;AACE,YAAA,KAAK,EAAE9B,KADT;AAEE,YAAA,GAAG,EAAEA,KAFP;AAGE,YAAA,KAAK,EAAEM,KAHT;AAIE,YAAA,aAAa,EAAEC,aAJjB;AAKE,YAAA,KAAK,EAAEoB,MAAM,CAAC3B,KAAD,CALf;AAME,YAAA,QAAQ,EAAE,MAAI,CAACkC;AANjB,YADF;AAUD;;AAED,eAAO,IAAP;AACD,OAjBsB,CAAvB;AAmBA,0BACE,6CACGL,cADH,EAEGD,KAFH,CADF;AAMD;;;EA7DwBO,kBAAMC,S;;;iCAApBZ,K,eACQ;AACjBlB,EAAAA,KAAK,EAAEpE,sBAAUkD,MADA;AAEjBmB,EAAAA,aAAa,EAAErE,sBAAUkD,MAFR;AAGjBuC,EAAAA,MAAM,EAAEzF,sBAAUkD,MAHD;AAIjBqC,EAAAA,aAAa,EAAEvF,sBAAUK,IAJR;AAKjBmF,EAAAA,qBAAqB,EAAExF,sBAAUK,IALhB;AAMjBqF,EAAAA,KAAK,EAAE1F,sBAAUkD;AANA,C;iCADRoC,K,kBAUW;AACpBC,EAAAA,aAAa,EAAE,yBAAM,CAAE,CADH;AAEpBC,EAAAA,qBAAqB,EAAE,iCAAM,CAAE;AAFX,C;eAsDTF,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport Select from '@material-ui/core/Select';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport debug from 'debug';\n\nimport Toggle from './toggle';\nimport { NChoice } from '../two-choice';\nimport SettingsRadioLabel from './settings-radio-label';\nimport NumberTextField from '../number-text-field';\nimport Checkbox from '../checkbox';\nimport Typography from '@material-ui/core/Typography';\n\nconst log = debug('pie-lib:config-ui:settings:panel');\n\nconst labelValue = {\n label: PropTypes.string,\n value: PropTypes.string,\n};\n\nconst baseTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nconst CheckboxChoice = ({ label, value, onChange }) => {\n return (\n <Checkbox\n checked={value}\n label={label}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n />\n );\n};\n\nCheckboxChoice.propTypes = {\n label: PropTypes.string,\n value: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nconst Radio = ({ classes, label, value, onChange, choices }) => {\n return (\n <NChoice\n className={classes.radioSettings}\n direction=\"horizontal\"\n customLabel={SettingsRadioLabel}\n value={value}\n header={label}\n opts={choices}\n onChange={onChange}\n />\n );\n};\n\nRadio.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.shape(labelValue)) };\n\nconst StyledRadio = withStyles((theme) => ({\n radioSettings: {\n marginTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2,\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '14px',\n },\n '& > div': {\n marginTop: theme.spacing.unit * 2.5,\n },\n },\n label: {\n display: 'none',\n },\n}))(Radio);\n\nconst Dropdown = withStyles((theme) => ({\n label: {\n margin: 0,\n fontSize: theme.typography.fontSize,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange, choices = [] }) => {\n const getItemLabel = (l) => (typeof l === 'string' ? l : l.label);\n const getItemValue = (l) => (typeof l === 'string' ? l : l.value);\n return (\n <div>\n {label && <p className={classes.label}>{label}</p>}\n <Select\n className={classes.wrapper}\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={getItemValue(l)}>\n {getItemLabel(l)}\n </MenuItem>\n ))}\n </Select>\n </div>\n );\n});\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst TextField = withStyles((theme) => ({\n field: {\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n}))(({ classes, label }) => {\n return <Typography className={classes.field}>{label}</Typography>;\n});\n\nconst NumberField = withStyles((theme) => ({\n field: {\n width: '35%',\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <NumberTextField\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n className={classes.field}\n showErrorWhenOutsideRange\n inputClassName={classes.wrapper}\n disableUnderline\n classes={classes}\n />\n );\n});\n\nNumberField.propTypes = {\n ...baseTypes,\n classes: PropTypes.object,\n suffix: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n};\n\nTextField.propTypes = {\n ...baseTypes,\n};\n\nconst ToggleWrapper = ({ disabled, label, value, onChange }) => (\n <Toggle label={label} checked={!!value} disabled={!!disabled} toggle={onChange} />\n);\n\nToggleWrapper.propTypes = { ...baseTypes, value: PropTypes.bool };\n\nconst tagMap = {\n toggle: ToggleWrapper,\n radio: StyledRadio,\n dropdown: Dropdown,\n numberField: NumberField,\n checkbox: CheckboxChoice,\n textField: TextField,\n};\n\nconst Group = withStyles((theme) => ({\n group: {\n margin: `0 0 ${theme.spacing.unit * 2}px 0`,\n },\n groupHeader: {\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing.unit,\n },\n numberFields: {\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n },\n}))((props) => {\n const { classes, model, label, group, configuration, onChange } = props;\n\n /**\n * @param group - the group of settings\n * @param key - the key(or path) to be used to set or get from model or configuration\n * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)\n * @returns tag that corresponds to element type */\n const getTag = (group, key, innerKey) => {\n const { isConfigProperty, ...properties } = get(group, innerKey || key);\n const value = isConfigProperty ? get(configuration, key) : get(model, key);\n const tagProps = { ...properties, key, value };\n const Tag = tagMap[tagProps.type];\n\n return <Tag key={key} {...tagProps} onChange={(v) => onChange(key, v, isConfigProperty)} />;\n };\n\n const content = (group, key) => {\n const currentGroup = group[key];\n\n if (!currentGroup) {\n return null;\n }\n\n const { type, label, fields, choices } = currentGroup;\n\n if (type === 'numberFields') {\n return (\n <div key={`numberField-${label}`}>\n <p className={classes.numberFields}>{label}</p>\n {Object.keys(fields).map((fieldKey) => {\n return getTag(group, `${key}.${fieldKey}`, `${key}.fields.${fieldKey}`);\n })}\n </div>\n );\n }\n\n if (type === 'checkboxes') {\n return (\n <div key={`checkbox-${label}`}>\n <p>{label}</p>\n {Object.keys(choices).map((choiceKey) => {\n return getTag(group, `${key}.${choiceKey}`, `${key}.choices.${choiceKey}`);\n })}\n </div>\n );\n }\n\n // if type is toggle, radio, dropdown, numberField or numberText\n return getTag(group, key);\n };\n\n return (\n <div className={classes.group}>\n <div className={classes.groupHeader}>{label}</div>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </div>\n );\n});\n\nexport class Panel extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n configuration: PropTypes.object,\n groups: PropTypes.object,\n onChangeModel: PropTypes.func,\n onChangeConfiguration: PropTypes.func,\n modal: PropTypes.object,\n };\n\n static defaultProps = {\n onChangeModel: () => {},\n onChangeConfiguration: () => {},\n };\n\n change = (key, value, isConfigProperty = false) => {\n log('[changeModel]', key, value);\n\n const { onChangeModel, onChangeConfiguration } = this.props;\n const model = { ...this.props.model };\n const configuration = { ...this.props.configuration };\n\n if (isConfigProperty) {\n set(configuration, key, value);\n onChangeConfiguration(configuration, key);\n } else {\n set(model, key, value);\n onChangeModel(model, key);\n }\n };\n\n render() {\n const { groups, model, configuration, modal } = this.props;\n\n log('render:', model);\n\n const renderedGroups = Object.keys(groups || {}).map((group) => {\n const showGroup = Object.entries(groups[group]).some(([, propVal]) => !!propVal);\n\n if (showGroup) {\n return (\n <Group\n label={group}\n key={group}\n model={model}\n configuration={configuration}\n group={groups[group]}\n onChange={this.change}\n />\n );\n }\n\n return null;\n });\n\n return (\n <div>\n {renderedGroups}\n {modal}\n </div>\n );\n }\n}\n\nexport default Panel;\n"],"file":"panel.js"}
@@ -1,53 +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 _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
11
-
12
- var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _styles = require("@material-ui/core/styles");
17
-
18
- var _renderUi = require("@pie-lib/render-ui");
19
-
20
- var _default = (0, _styles.withStyles)(function (theme) {
21
- return {
22
- label: {
23
- color: 'rgba(0, 0, 0, 0.89)',
24
- fontSize: theme.typography.fontSize - 2,
25
- left: '-5px',
26
- position: 'relative'
27
- },
28
- customColor: {
29
- color: "".concat(_renderUi.color.tertiary(), " !important")
30
- }
31
- };
32
- })(function (_ref) {
33
- var label = _ref.label,
34
- value = _ref.value,
35
- checked = _ref.checked,
36
- onChange = _ref.onChange,
37
- classes = _ref.classes;
38
- return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
39
- value: value,
40
- classes: {
41
- label: classes.label
42
- },
43
- control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
44
- className: classes.customColor,
45
- checked: checked,
46
- onChange: onChange
47
- }),
48
- label: label
49
- });
50
- });
51
-
52
- exports["default"] = _default;
53
- //# sourceMappingURL=settings-radio-label.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/settings/settings-radio-label.jsx"],"names":["theme","label","color","fontSize","typography","left","position","customColor","tertiary","value","checked","onChange","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;eAEe,wBAAW,UAACA,KAAD;AAAA,SAAY;AACpCC,IAAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAE,qBADF;AAELC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAAjB,GAA4B,CAFjC;AAGLE,MAAAA,IAAI,EAAE,MAHD;AAILC,MAAAA,QAAQ,EAAE;AAJL,KAD6B;AAOpCC,IAAAA,WAAW,EAAE;AACXL,MAAAA,KAAK,YAAKA,gBAAMM,QAAN,EAAL;AADM;AAPuB,GAAZ;AAAA,CAAX,EAUX;AAAA,MAAGP,KAAH,QAAGA,KAAH;AAAA,MAAUQ,KAAV,QAAUA,KAAV;AAAA,MAAiBC,OAAjB,QAAiBA,OAAjB;AAAA,MAA0BC,QAA1B,QAA0BA,QAA1B;AAAA,MAAoCC,OAApC,QAAoCA,OAApC;AAAA,sBACF,gCAAC,4BAAD;AACE,IAAA,KAAK,EAAEH,KADT;AAEE,IAAA,OAAO,EAAE;AAAER,MAAAA,KAAK,EAAEW,OAAO,CAACX;AAAjB,KAFX;AAGE,IAAA,OAAO,eAAE,gCAAC,iBAAD;AAAO,MAAA,SAAS,EAAEW,OAAO,CAACL,WAA1B;AAAuC,MAAA,OAAO,EAAEG,OAAhD;AAAyD,MAAA,QAAQ,EAAEC;AAAnE,MAHX;AAIE,IAAA,KAAK,EAAEV;AAJT,IADE;AAAA,CAVW,C","sourcesContent":["import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nexport default withStyles((theme) => ({\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize - 2,\n left: '-5px',\n position: 'relative',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={{ label: classes.label }}\n control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n"],"file":"settings-radio-label.js"}
@@ -1,74 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
- var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
17
-
18
- var _styles = require("@material-ui/core/styles");
19
-
20
- var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
21
-
22
- var _classnames = _interopRequireDefault(require("classnames"));
23
-
24
- var _renderUi = require("@pie-lib/render-ui");
25
-
26
- var Toggle = (0, _styles.withStyles)(function (theme) {
27
- return {
28
- toggle: {
29
- display: 'flex',
30
- width: '100%',
31
- justifyContent: 'space-between'
32
- },
33
- label: {
34
- color: 'rgba(0, 0, 0, 0.89)',
35
- fontSize: theme.typography.fontSize,
36
- paddingTop: theme.spacing.unit * 2
37
- },
38
- checkedThumb: {
39
- color: "".concat(_renderUi.color.tertiary(), " !important")
40
- },
41
- checkedBar: {
42
- backgroundColor: "".concat(_renderUi.color.tertiaryLight(), " !important")
43
- }
44
- };
45
- })(function (_ref) {
46
- var checked = _ref.checked,
47
- disabled = _ref.disabled,
48
- label = _ref.label,
49
- toggle = _ref.toggle,
50
- classes = _ref.classes;
51
- return /*#__PURE__*/_react["default"].createElement("div", {
52
- className: classes.toggle
53
- }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
54
- className: classes.label
55
- }, label), /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
56
- classes: {
57
- checked: (0, _classnames["default"])(classes.checkedThumb),
58
- bar: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.checkedBar, checked))
59
- },
60
- checked: checked,
61
- disabled: disabled,
62
- onChange: function onChange(e) {
63
- return toggle(e.target.checked);
64
- }
65
- }));
66
- });
67
- Toggle.propTypes = {
68
- checked: _propTypes["default"].bool,
69
- label: _propTypes["default"].string.isRequired,
70
- toggle: _propTypes["default"].func.isRequired
71
- };
72
- var _default = Toggle;
73
- exports["default"] = _default;
74
- //# sourceMappingURL=toggle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/settings/toggle.jsx"],"names":["Toggle","theme","toggle","display","width","justifyContent","label","color","fontSize","typography","paddingTop","spacing","unit","checkedThumb","tertiary","checkedBar","backgroundColor","tertiaryLight","checked","disabled","classes","bar","e","target","propTypes","PropTypes","bool","string","isRequired","func"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACpCC,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,MADH;AAENC,MAAAA,KAAK,EAAE,MAFD;AAGNC,MAAAA,cAAc,EAAE;AAHV,KAD4B;AAMpCC,IAAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAE,qBADF;AAELC,MAAAA,QAAQ,EAAEP,KAAK,CAACQ,UAAN,CAAiBD,QAFtB;AAGLE,MAAAA,UAAU,EAAET,KAAK,CAACU,OAAN,CAAcC,IAAd,GAAqB;AAH5B,KAN6B;AAWpCC,IAAAA,YAAY,EAAE;AACZN,MAAAA,KAAK,YAAKA,gBAAMO,QAAN,EAAL;AADO,KAXsB;AAcpCC,IAAAA,UAAU,EAAE;AACVC,MAAAA,eAAe,YAAKT,gBAAMU,aAAN,EAAL;AADL;AAdwB,GAAZ;AAAA,CAAX,EAiBX;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,QAAZ,QAAYA,QAAZ;AAAA,MAAsBb,KAAtB,QAAsBA,KAAtB;AAAA,MAA6BJ,MAA7B,QAA6BA,MAA7B;AAAA,MAAqCkB,OAArC,QAAqCA,OAArC;AAAA,sBACF;AAAK,IAAA,SAAS,EAAEA,OAAO,CAAClB;AAAxB,kBACE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEkB,OAAO,CAACd;AAA/B,KAAuCA,KAAvC,CADF,eAEE,gCAAC,kBAAD;AACE,IAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,4BAAWE,OAAO,CAACP,YAAnB,CADF;AAEPQ,MAAAA,GAAG,EAAE,iEACFD,OAAO,CAACL,UADN,EACmBG,OADnB;AAFE,KADX;AAOE,IAAA,OAAO,EAAEA,OAPX;AAQE,IAAA,QAAQ,EAAEC,QARZ;AASE,IAAA,QAAQ,EAAE,kBAACG,CAAD;AAAA,aAAOpB,MAAM,CAACoB,CAAC,CAACC,MAAF,CAASL,OAAV,CAAb;AAAA;AATZ,IAFF,CADE;AAAA,CAjBW,CAAf;AAkCAlB,MAAM,CAACwB,SAAP,GAAmB;AACjBN,EAAAA,OAAO,EAAEO,sBAAUC,IADF;AAEjBpB,EAAAA,KAAK,EAAEmB,sBAAUE,MAAV,CAAiBC,UAFP;AAGjB1B,EAAAA,MAAM,EAAEuB,sBAAUI,IAAV,CAAeD;AAHN,CAAnB;eAMe5B,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport { withStyles } from '@material-ui/core/styles';\nimport Switch from '@material-ui/core/Switch';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst Toggle = withStyles((theme) => ({\n toggle: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize,\n paddingTop: theme.spacing.unit * 2,\n },\n checkedThumb: {\n color: `${color.tertiary()} !important`,\n },\n checkedBar: {\n backgroundColor: `${color.tertiaryLight()} !important`,\n },\n}))(({ checked, disabled, label, toggle, classes }) => (\n <div className={classes.toggle}>\n <InputLabel className={classes.label}>{label}</InputLabel>\n <Switch\n classes={{\n checked: classNames(classes.checkedThumb),\n bar: classNames({\n [classes.checkedBar]: checked,\n }),\n }}\n checked={checked}\n disabled={disabled}\n onChange={(e) => toggle(e.target.checked)}\n />\n </div>\n));\n\nToggle.propTypes = {\n checked: PropTypes.bool,\n label: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nexport default Toggle;\n"],"file":"toggle.js"}