@pie-lib/config-ui 13.0.4-next.30 → 13.0.4-next.34

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 (190) hide show
  1. package/CHANGELOG.json +32 -0
  2. package/CHANGELOG.md +2419 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/alert-dialog.js +68 -0
  5. package/lib/alert-dialog.js.map +1 -0
  6. package/lib/checkbox.js +84 -0
  7. package/lib/checkbox.js.map +1 -0
  8. package/lib/choice-configuration/feedback-menu.js +129 -0
  9. package/lib/choice-configuration/feedback-menu.js.map +1 -0
  10. package/lib/choice-configuration/index.js +381 -0
  11. package/lib/choice-configuration/index.js.map +1 -0
  12. package/lib/choice-utils.js +42 -0
  13. package/lib/choice-utils.js.map +1 -0
  14. package/lib/feedback-config/feedback-selector.js +155 -0
  15. package/lib/feedback-config/feedback-selector.js.map +1 -0
  16. package/lib/feedback-config/group.js +61 -0
  17. package/lib/feedback-config/group.js.map +1 -0
  18. package/lib/feedback-config/index.js +146 -0
  19. package/lib/feedback-config/index.js.map +1 -0
  20. package/lib/form-section.js +44 -0
  21. package/lib/form-section.js.map +1 -0
  22. package/lib/help.js +106 -0
  23. package/lib/help.js.map +1 -0
  24. package/lib/index.js +186 -0
  25. package/lib/index.js.map +1 -0
  26. package/lib/input.js +106 -0
  27. package/lib/input.js.map +1 -0
  28. package/lib/inputs.js +105 -0
  29. package/lib/inputs.js.map +1 -0
  30. package/lib/langs.js +136 -0
  31. package/lib/langs.js.map +1 -0
  32. package/lib/layout/config-layout.js +137 -0
  33. package/lib/layout/config-layout.js.map +1 -0
  34. package/lib/layout/index.js +21 -0
  35. package/lib/layout/index.js.map +1 -0
  36. package/lib/layout/layout-contents.js +160 -0
  37. package/lib/layout/layout-contents.js.map +1 -0
  38. package/lib/layout/settings-box.js +57 -0
  39. package/lib/layout/settings-box.js.map +1 -0
  40. package/lib/mui-box/index.js +63 -0
  41. package/lib/mui-box/index.js.map +1 -0
  42. package/lib/number-text-field-custom.js +376 -0
  43. package/lib/number-text-field-custom.js.map +1 -0
  44. package/lib/number-text-field.js +229 -0
  45. package/lib/number-text-field.js.map +1 -0
  46. package/lib/radio-with-label.js +48 -0
  47. package/lib/radio-with-label.js.map +1 -0
  48. package/lib/settings/display-size.js +61 -0
  49. package/lib/settings/display-size.js.map +1 -0
  50. package/lib/settings/index.js +110 -0
  51. package/lib/settings/index.js.map +1 -0
  52. package/lib/settings/panel.js +392 -0
  53. package/lib/settings/panel.js.map +1 -0
  54. package/lib/settings/settings-radio-label.js +51 -0
  55. package/lib/settings/settings-radio-label.js.map +1 -0
  56. package/lib/settings/toggle.js +63 -0
  57. package/lib/settings/toggle.js.map +1 -0
  58. package/lib/tabs/index.js +75 -0
  59. package/lib/tabs/index.js.map +1 -0
  60. package/lib/tags-input/index.js +149 -0
  61. package/lib/tags-input/index.js.map +1 -0
  62. package/lib/two-choice.js +136 -0
  63. package/lib/two-choice.js.map +1 -0
  64. package/lib/with-stateful-model.js +61 -0
  65. package/lib/with-stateful-model.js.map +1 -0
  66. package/package.json +19 -33
  67. package/src/__tests__/alert-dialog.test.jsx +183 -0
  68. package/src/__tests__/checkbox.test.jsx +152 -0
  69. package/src/__tests__/choice-utils.test.js +12 -0
  70. package/src/__tests__/form-section.test.jsx +328 -0
  71. package/src/__tests__/help.test.jsx +184 -0
  72. package/src/__tests__/input.test.jsx +156 -0
  73. package/src/__tests__/langs.test.jsx +376 -0
  74. package/src/__tests__/number-text-field-custom.test.jsx +255 -0
  75. package/src/__tests__/number-text-field.test.jsx +263 -0
  76. package/src/__tests__/radio-with-label.test.jsx +155 -0
  77. package/src/__tests__/settings-panel.test.js +187 -0
  78. package/src/__tests__/settings.test.jsx +452 -0
  79. package/src/__tests__/tabs.test.jsx +188 -0
  80. package/src/__tests__/two-choice.test.js +110 -0
  81. package/src/__tests__/with-stateful-model.test.jsx +139 -0
  82. package/src/alert-dialog.jsx +75 -0
  83. package/src/checkbox.jsx +61 -0
  84. package/src/choice-configuration/__tests__/feedback-menu.test.jsx +151 -0
  85. package/src/choice-configuration/__tests__/index.test.jsx +234 -0
  86. package/src/choice-configuration/feedback-menu.jsx +96 -0
  87. package/src/choice-configuration/index.jsx +357 -0
  88. package/src/choice-utils.js +30 -0
  89. package/src/feedback-config/__tests__/feedback-config.test.jsx +141 -0
  90. package/src/feedback-config/__tests__/feedback-selector.test.jsx +97 -0
  91. package/src/feedback-config/feedback-selector.jsx +112 -0
  92. package/src/feedback-config/group.jsx +51 -0
  93. package/src/feedback-config/index.jsx +111 -0
  94. package/src/form-section.jsx +31 -0
  95. package/src/help.jsx +79 -0
  96. package/src/index.js +55 -0
  97. package/src/input.jsx +72 -0
  98. package/src/inputs.jsx +69 -0
  99. package/src/langs.jsx +111 -0
  100. package/src/layout/__tests__/config.layout.test.jsx +59 -0
  101. package/src/layout/__tests__/layout-content.test.jsx +3 -0
  102. package/src/layout/config-layout.jsx +103 -0
  103. package/src/layout/index.js +4 -0
  104. package/src/layout/layout-contents.jsx +117 -0
  105. package/src/layout/settings-box.jsx +32 -0
  106. package/src/mui-box/index.jsx +56 -0
  107. package/src/number-text-field-custom.jsx +333 -0
  108. package/src/number-text-field.jsx +215 -0
  109. package/src/radio-with-label.jsx +30 -0
  110. package/src/settings/display-size.jsx +53 -0
  111. package/src/settings/index.js +83 -0
  112. package/src/settings/panel.jsx +333 -0
  113. package/src/settings/settings-radio-label.jsx +32 -0
  114. package/src/settings/toggle.jsx +46 -0
  115. package/src/tabs/index.jsx +47 -0
  116. package/src/tags-input/__tests__/index.test.jsx +113 -0
  117. package/src/tags-input/index.jsx +116 -0
  118. package/src/two-choice.jsx +90 -0
  119. package/src/with-stateful-model.jsx +36 -0
  120. package/dist/_virtual/_rolldown/runtime.js +0 -11
  121. package/dist/alert-dialog.d.ts +0 -44
  122. package/dist/alert-dialog.js +0 -47
  123. package/dist/checkbox.d.ts +0 -34
  124. package/dist/checkbox.js +0 -57
  125. package/dist/choice-configuration/feedback-menu.d.ts +0 -32
  126. package/dist/choice-configuration/feedback-menu.js +0 -85
  127. package/dist/choice-configuration/index.d.ts +0 -62
  128. package/dist/choice-configuration/index.js +0 -240
  129. package/dist/choice-utils.d.ts +0 -21
  130. package/dist/choice-utils.js +0 -15
  131. package/dist/feedback-config/feedback-selector.d.ts +0 -33
  132. package/dist/feedback-config/feedback-selector.js +0 -92
  133. package/dist/feedback-config/group.d.ts +0 -21
  134. package/dist/feedback-config/group.js +0 -33
  135. package/dist/feedback-config/index.d.ts +0 -48
  136. package/dist/feedback-config/index.js +0 -96
  137. package/dist/form-section.d.ts +0 -25
  138. package/dist/form-section.js +0 -25
  139. package/dist/fraction-to-number.d.ts +0 -7
  140. package/dist/fraction-to-number.js +0 -9
  141. package/dist/help.d.ts +0 -41
  142. package/dist/help.js +0 -61
  143. package/dist/index.d.ts +0 -31
  144. package/dist/index.js +0 -34
  145. package/dist/input.d.ts +0 -29
  146. package/dist/input.js +0 -65
  147. package/dist/inputs.d.ts +0 -63
  148. package/dist/inputs.js +0 -70
  149. package/dist/langs.d.ts +0 -41
  150. package/dist/langs.js +0 -76
  151. package/dist/layout/config-layout.d.ts +0 -10
  152. package/dist/layout/config-layout.js +0 -75
  153. package/dist/layout/index.d.ts +0 -11
  154. package/dist/layout/index.js +0 -10
  155. package/dist/layout/layout-contents.d.ts +0 -21
  156. package/dist/layout/layout-contents.js +0 -70
  157. package/dist/layout/settings-box.d.ts +0 -19
  158. package/dist/layout/settings-box.js +0 -31
  159. package/dist/mui-box/index.d.ts +0 -21
  160. package/dist/mui-box/index.js +0 -47
  161. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +0 -12
  162. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -7
  163. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -12
  164. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -8
  165. package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +0 -122
  166. package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +0 -276
  167. package/dist/number-text-field-custom.d.ts +0 -51
  168. package/dist/number-text-field-custom.js +0 -192
  169. package/dist/number-text-field.d.ts +0 -47
  170. package/dist/number-text-field.js +0 -122
  171. package/dist/radio-with-label.d.ts +0 -25
  172. package/dist/radio-with-label.js +0 -27
  173. package/dist/settings/display-size.d.ts +0 -26
  174. package/dist/settings/display-size.js +0 -45
  175. package/dist/settings/index.d.ts +0 -45
  176. package/dist/settings/index.js +0 -63
  177. package/dist/settings/panel.d.ts +0 -27
  178. package/dist/settings/panel.js +0 -201
  179. package/dist/settings/settings-radio-label.d.ts +0 -25
  180. package/dist/settings/settings-radio-label.js +0 -29
  181. package/dist/settings/toggle.d.ts +0 -25
  182. package/dist/settings/toggle.js +0 -33
  183. package/dist/tabs/index.d.ts +0 -22
  184. package/dist/tabs/index.js +0 -39
  185. package/dist/tags-input/index.d.ts +0 -21
  186. package/dist/tags-input/index.js +0 -83
  187. package/dist/two-choice.d.ts +0 -43
  188. package/dist/two-choice.js +0 -79
  189. package/dist/with-stateful-model.d.ts +0 -42
  190. package/dist/with-stateful-model.js +0 -32
@@ -0,0 +1,392 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Panel = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _lodashEs = require("lodash-es");
20
+ var _styles = require("@mui/material/styles");
21
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
22
+ var _Input = _interopRequireDefault(require("@mui/material/Input"));
23
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
24
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
25
+ var _debug = _interopRequireDefault(require("debug"));
26
+ var _toggle = _interopRequireDefault(require("./toggle"));
27
+ var _twoChoice = require("../two-choice");
28
+ var _settingsRadioLabel = _interopRequireDefault(require("./settings-radio-label"));
29
+ var _numberTextField = _interopRequireDefault(require("../number-text-field"));
30
+ var _checkbox = _interopRequireDefault(require("../checkbox"));
31
+ var _excluded = ["isConfigProperty"];
32
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
33
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
34
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
+ var log = (0, _debug["default"])('pie-lib:config-ui:settings:panel');
37
+ var labelValue = {
38
+ label: _propTypes["default"].string,
39
+ value: _propTypes["default"].string
40
+ };
41
+ var baseTypes = {
42
+ label: _propTypes["default"].string,
43
+ value: _propTypes["default"].string,
44
+ onChange: _propTypes["default"].func
45
+ };
46
+ var CheckboxChoice = function CheckboxChoice(_ref) {
47
+ var label = _ref.label,
48
+ value = _ref.value,
49
+ _onChange = _ref.onChange;
50
+ return /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
51
+ checked: value,
52
+ label: label,
53
+ onChange: function onChange(event) {
54
+ _onChange(event.target.checked);
55
+ }
56
+ });
57
+ };
58
+ CheckboxChoice.propTypes = {
59
+ label: _propTypes["default"].string,
60
+ value: _propTypes["default"].bool,
61
+ onChange: _propTypes["default"].func
62
+ };
63
+ var StyledNChoice = (0, _styles.styled)(_twoChoice.NChoice)(function (_ref2) {
64
+ var theme = _ref2.theme;
65
+ return {
66
+ marginTop: theme.spacing(0.5),
67
+ paddingBottom: theme.spacing(0.5),
68
+ width: '100%',
69
+ '& > label': {
70
+ color: 'rgba(0, 0, 0, 0.89)',
71
+ transform: 'translate(0, 10px) scale(1)',
72
+ fontSize: '18px',
73
+ marginTop: theme.spacing(2.5)
74
+ },
75
+ '& > div': {
76
+ marginTop: theme.spacing(2.5)
77
+ }
78
+ };
79
+ });
80
+ var Radio = function Radio(_ref3) {
81
+ var label = _ref3.label,
82
+ value = _ref3.value,
83
+ onChange = _ref3.onChange,
84
+ choices = _ref3.choices;
85
+ return /*#__PURE__*/_react["default"].createElement(StyledNChoice, {
86
+ direction: "horizontal",
87
+ customLabel: _settingsRadioLabel["default"],
88
+ value: value,
89
+ header: label,
90
+ opts: choices,
91
+ onChange: onChange
92
+ });
93
+ };
94
+ Radio.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
95
+ choices: _propTypes["default"].arrayOf(_propTypes["default"].shape(labelValue))
96
+ });
97
+ var StyledRadio = Radio;
98
+ var StyledLabel = (0, _styles.styled)('p')(function (_ref4) {
99
+ var theme = _ref4.theme;
100
+ return {
101
+ margin: 0,
102
+ fontSize: theme.typography.fontSize
103
+ };
104
+ });
105
+ var StyledSelect = (0, _styles.styled)(_Select["default"])(function (_ref5) {
106
+ var theme = _ref5.theme;
107
+ return {
108
+ marginTop: theme.spacing(0.5),
109
+ border: '2px solid lightgrey',
110
+ padding: "0 ".concat(theme.spacing(1)),
111
+ borderRadius: '4px'
112
+ };
113
+ });
114
+ var Dropdown = function Dropdown(_ref6) {
115
+ var label = _ref6.label,
116
+ value = _ref6.value,
117
+ _onChange2 = _ref6.onChange,
118
+ _ref6$choices = _ref6.choices,
119
+ choices = _ref6$choices === void 0 ? [] : _ref6$choices;
120
+ var getItemLabel = function getItemLabel(l) {
121
+ return typeof l === 'string' ? l : l.label;
122
+ };
123
+ var getItemValue = function getItemValue(l) {
124
+ return typeof l === 'string' ? l : l.value;
125
+ };
126
+ return /*#__PURE__*/_react["default"].createElement("div", null, label && /*#__PURE__*/_react["default"].createElement(StyledLabel, null, label), /*#__PURE__*/_react["default"].createElement(StyledSelect, {
127
+ value: value || choices && choices[0],
128
+ onChange: function onChange(_ref7) {
129
+ var target = _ref7.target;
130
+ return _onChange2(target.value);
131
+ },
132
+ input: /*#__PURE__*/_react["default"].createElement(_Input["default"], {
133
+ id: "dropdown-".concat(label)
134
+ }),
135
+ disableUnderline: true,
136
+ MenuProps: {
137
+ transitionDuration: {
138
+ enter: 225,
139
+ exit: 195
140
+ }
141
+ }
142
+ }, choices.map(function (l, index) {
143
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
144
+ key: index,
145
+ value: getItemValue(l)
146
+ }, getItemLabel(l));
147
+ })));
148
+ };
149
+ Dropdown.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
150
+ choices: _propTypes["default"].arrayOf(_propTypes["default"].string)
151
+ });
152
+ var StyledTypography = (0, _styles.styled)(_Typography["default"])(function (_ref8) {
153
+ var theme = _ref8.theme;
154
+ return {
155
+ marginRight: theme.spacing(3),
156
+ marginTop: theme.spacing(1)
157
+ };
158
+ });
159
+ var TextField = function TextField(_ref9) {
160
+ var label = _ref9.label;
161
+ return /*#__PURE__*/_react["default"].createElement(StyledTypography, null, label);
162
+ };
163
+ var StyledNumberTextField = (0, _styles.styled)(_numberTextField["default"])(function (_ref0) {
164
+ var theme = _ref0.theme;
165
+ return {
166
+ width: '35%',
167
+ marginRight: theme.spacing(3),
168
+ marginTop: theme.spacing(1),
169
+ '& .MuiInputBase-root': {
170
+ marginTop: theme.spacing(0.5),
171
+ border: '2px solid lightgrey',
172
+ borderRadius: '4px',
173
+ padding: "0 ".concat(theme.spacing(1)),
174
+ backgroundColor: 'transparent'
175
+ }
176
+ };
177
+ });
178
+ var NumberField = function NumberField(_ref1) {
179
+ var label = _ref1.label,
180
+ value = _ref1.value,
181
+ _ref1$onChange = _ref1.onChange,
182
+ _onChange3 = _ref1$onChange === void 0 ? function () {} : _ref1$onChange,
183
+ suffix = _ref1.suffix,
184
+ min = _ref1.min,
185
+ max = _ref1.max;
186
+ return /*#__PURE__*/_react["default"].createElement(StyledNumberTextField, {
187
+ variant: 'standard',
188
+ label: label || 'Label',
189
+ value: value,
190
+ max: max,
191
+ min: min,
192
+ onChange: function onChange(ev, value) {
193
+ return _onChange3(value);
194
+ },
195
+ suffix: suffix,
196
+ showErrorWhenOutsideRange: true,
197
+ disableUnderline: true
198
+ });
199
+ };
200
+ NumberField.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
201
+ suffix: _propTypes["default"].string,
202
+ min: _propTypes["default"].number,
203
+ max: _propTypes["default"].number,
204
+ value: _propTypes["default"].number
205
+ });
206
+ TextField.propTypes = _objectSpread({}, baseTypes);
207
+ var ToggleWrapper = function ToggleWrapper(_ref10) {
208
+ var disabled = _ref10.disabled,
209
+ label = _ref10.label,
210
+ value = _ref10.value,
211
+ onChange = _ref10.onChange;
212
+ return /*#__PURE__*/_react["default"].createElement(_toggle["default"], {
213
+ label: label,
214
+ checked: !!value,
215
+ disabled: !!disabled,
216
+ toggle: onChange
217
+ });
218
+ };
219
+ ToggleWrapper.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
220
+ value: _propTypes["default"].bool
221
+ });
222
+ var tagMap = {
223
+ toggle: ToggleWrapper,
224
+ radio: StyledRadio,
225
+ dropdown: Dropdown,
226
+ numberField: NumberField,
227
+ checkbox: CheckboxChoice,
228
+ textField: TextField
229
+ };
230
+ var StyledGroup = (0, _styles.styled)('div')(function (_ref11) {
231
+ var theme = _ref11.theme;
232
+ return {
233
+ margin: "0 0 ".concat(theme.spacing(2), " 0")
234
+ };
235
+ });
236
+ var StyledGroupHeader = (0, _styles.styled)('div')(function (_ref12) {
237
+ var theme = _ref12.theme;
238
+ return {
239
+ color: '#495B8F',
240
+ fontSize: theme.typography.fontSize + 2,
241
+ fontWeight: 600,
242
+ marginBottom: theme.spacing(1)
243
+ };
244
+ });
245
+ var StyledNumberFields = (0, _styles.styled)('p')(function (_ref13) {
246
+ var theme = _ref13.theme;
247
+ return {
248
+ fontSize: theme.typography.fontSize,
249
+ marginBottom: 0
250
+ };
251
+ });
252
+ var Group = function Group(props) {
253
+ var model = props.model,
254
+ label = props.label,
255
+ group = props.group,
256
+ configuration = props.configuration,
257
+ _onChange4 = props.onChange;
258
+
259
+ /**
260
+ * @param group - the group of settings
261
+ * @param key - the key(or path) to be used to set or get from model or configuration
262
+ * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)
263
+ * @returns tag that corresponds to element type */
264
+ var getTag = function getTag(group, key, innerKey) {
265
+ var _get = (0, _lodashEs.get)(group, innerKey || key),
266
+ isConfigProperty = _get.isConfigProperty,
267
+ properties = (0, _objectWithoutProperties2["default"])(_get, _excluded);
268
+ var value = isConfigProperty ? (0, _lodashEs.get)(configuration, key) : (0, _lodashEs.get)(model, key);
269
+ var tagProps = _objectSpread(_objectSpread({}, properties), {}, {
270
+ key: key,
271
+ value: value
272
+ });
273
+ var Tag = tagMap[tagProps.type];
274
+ return /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({
275
+ key: key
276
+ }, tagProps, {
277
+ onChange: function onChange(v) {
278
+ return _onChange4(key, v, isConfigProperty);
279
+ }
280
+ }));
281
+ };
282
+ var content = function content(group, key) {
283
+ var currentGroup = group[key];
284
+ if (!currentGroup) {
285
+ return null;
286
+ }
287
+ var type = currentGroup.type,
288
+ label = currentGroup.label,
289
+ fields = currentGroup.fields,
290
+ choices = currentGroup.choices;
291
+ if (type === 'numberFields') {
292
+ return /*#__PURE__*/_react["default"].createElement("div", {
293
+ key: "numberField-".concat(label)
294
+ }, /*#__PURE__*/_react["default"].createElement(StyledNumberFields, null, label), Object.keys(fields).map(function (fieldKey) {
295
+ return getTag(group, "".concat(key, ".").concat(fieldKey), "".concat(key, ".fields.").concat(fieldKey));
296
+ }));
297
+ }
298
+ if (type === 'checkboxes') {
299
+ return /*#__PURE__*/_react["default"].createElement("div", {
300
+ key: "checkbox-".concat(label)
301
+ }, /*#__PURE__*/_react["default"].createElement("p", null, label), Object.keys(choices).map(function (choiceKey) {
302
+ return getTag(group, "".concat(key, ".").concat(choiceKey), "".concat(key, ".choices.").concat(choiceKey));
303
+ }));
304
+ }
305
+
306
+ // if type is toggle, radio, dropdown, numberField or numberText
307
+ return getTag(group, key);
308
+ };
309
+ return /*#__PURE__*/_react["default"].createElement(StyledGroup, null, /*#__PURE__*/_react["default"].createElement(StyledGroupHeader, null, label), Object.keys(group).map(function (key) {
310
+ return content(group, key);
311
+ }));
312
+ };
313
+ Group.propTypes = {
314
+ model: _propTypes["default"].object,
315
+ label: _propTypes["default"].string,
316
+ group: _propTypes["default"].object,
317
+ configuration: _propTypes["default"].object,
318
+ onChange: _propTypes["default"].func
319
+ };
320
+ var Panel = exports.Panel = /*#__PURE__*/function (_React$Component) {
321
+ function Panel() {
322
+ var _this;
323
+ (0, _classCallCheck2["default"])(this, Panel);
324
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
325
+ args[_key] = arguments[_key];
326
+ }
327
+ _this = _callSuper(this, Panel, [].concat(args));
328
+ (0, _defineProperty2["default"])(_this, "change", function (key, value) {
329
+ var isConfigProperty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
330
+ log('[changeModel]', key, value);
331
+ var _this$props = _this.props,
332
+ onChangeModel = _this$props.onChangeModel,
333
+ onChangeConfiguration = _this$props.onChangeConfiguration;
334
+ var model = _objectSpread({}, _this.props.model);
335
+ var configuration = _objectSpread({}, _this.props.configuration);
336
+ if (isConfigProperty) {
337
+ (0, _lodashEs.set)(configuration, key, value);
338
+ onChangeConfiguration(configuration, key);
339
+ } else {
340
+ (0, _lodashEs.set)(model, key, value);
341
+ onChangeModel(model, key);
342
+ }
343
+ });
344
+ return _this;
345
+ }
346
+ (0, _inherits2["default"])(Panel, _React$Component);
347
+ return (0, _createClass2["default"])(Panel, [{
348
+ key: "render",
349
+ value: function render() {
350
+ var _this2 = this;
351
+ var _this$props2 = this.props,
352
+ groups = _this$props2.groups,
353
+ model = _this$props2.model,
354
+ configuration = _this$props2.configuration,
355
+ modal = _this$props2.modal;
356
+ log('render:', model);
357
+ var renderedGroups = Object.keys(groups || {}).map(function (group) {
358
+ var showGroup = Object.entries(groups[group]).some(function (_ref14) {
359
+ var _ref15 = (0, _slicedToArray2["default"])(_ref14, 2),
360
+ propVal = _ref15[1];
361
+ return !!propVal;
362
+ });
363
+ if (showGroup) {
364
+ return /*#__PURE__*/_react["default"].createElement(Group, {
365
+ label: group,
366
+ key: group,
367
+ model: model,
368
+ configuration: configuration,
369
+ group: groups[group],
370
+ onChange: _this2.change
371
+ });
372
+ }
373
+ return null;
374
+ });
375
+ return /*#__PURE__*/_react["default"].createElement("div", null, renderedGroups, modal);
376
+ }
377
+ }]);
378
+ }(_react["default"].Component);
379
+ (0, _defineProperty2["default"])(Panel, "propTypes", {
380
+ model: _propTypes["default"].object,
381
+ configuration: _propTypes["default"].object,
382
+ groups: _propTypes["default"].object,
383
+ onChangeModel: _propTypes["default"].func,
384
+ onChangeConfiguration: _propTypes["default"].func,
385
+ modal: _propTypes["default"].object
386
+ });
387
+ (0, _defineProperty2["default"])(Panel, "defaultProps", {
388
+ onChangeModel: function onChangeModel() {},
389
+ onChangeConfiguration: function onChangeConfiguration() {}
390
+ });
391
+ var _default = exports["default"] = Panel;
392
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodashEs","_styles","_Select","_Input","_MenuItem","_Typography","_debug","_toggle","_twoChoice","_settingsRadioLabel","_numberTextField","_checkbox","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","labelValue","label","PropTypes","string","value","baseTypes","onChange","func","CheckboxChoice","_ref","createElement","checked","event","target","propTypes","bool","StyledNChoice","styled","NChoice","_ref2","theme","marginTop","spacing","paddingBottom","width","color","transform","fontSize","Radio","_ref3","choices","direction","customLabel","SettingsRadioLabel","header","opts","arrayOf","shape","StyledRadio","StyledLabel","_ref4","margin","typography","StyledSelect","Select","_ref5","border","padding","concat","borderRadius","Dropdown","_ref6","_ref6$choices","getItemLabel","l","getItemValue","_ref7","input","id","disableUnderline","MenuProps","transitionDuration","enter","exit","map","index","key","StyledTypography","Typography","_ref8","marginRight","TextField","_ref9","StyledNumberTextField","NumberTextField","_ref0","backgroundColor","NumberField","_ref1","_ref1$onChange","suffix","min","max","variant","ev","showErrorWhenOutsideRange","number","ToggleWrapper","_ref10","disabled","toggle","tagMap","radio","dropdown","numberField","checkbox","textField","StyledGroup","_ref11","StyledGroupHeader","_ref12","fontWeight","marginBottom","StyledNumberFields","_ref13","Group","props","model","group","configuration","getTag","innerKey","_get","get","isConfigProperty","properties","_objectWithoutProperties2","tagProps","Tag","type","_extends2","v","content","currentGroup","fields","fieldKey","choiceKey","object","Panel","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","undefined","_this$props","onChangeModel","onChangeConfiguration","set","_inherits2","_createClass2","render","_this2","_this$props2","groups","modal","renderedGroups","showGroup","entries","some","_ref14","_ref15","_slicedToArray2","propVal","change","React","Component","_default"],"sources":["../../src/settings/panel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { get, set } from 'lodash-es';\nimport { styled } from '@mui/material/styles';\nimport Select from '@mui/material/Select';\nimport Input from '@mui/material/Input';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\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';\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 StyledNChoice = styled(NChoice)(({ theme }) => ({\n marginTop: theme.spacing(0.5),\n paddingBottom: theme.spacing(0.5),\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '18px',\n marginTop: theme.spacing(2.5),\n },\n '& > div': {\n marginTop: theme.spacing(2.5),\n },\n}));\n\nconst Radio = ({ label, value, onChange, choices }) => {\n return (\n <StyledNChoice\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 = Radio;\n\nconst StyledLabel = styled('p')(({ theme }) => ({\n margin: 0,\n fontSize: theme.typography.fontSize,\n}));\n\nconst StyledSelect = styled(Select)(({ theme }) => ({\n marginTop: theme.spacing(0.5),\n border: '2px solid lightgrey',\n padding: `0 ${theme.spacing(1)}`,\n borderRadius: '4px',\n}));\n\nconst Dropdown = ({ 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 && <StyledLabel>{label}</StyledLabel>}\n <StyledSelect\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={getItemValue(l)}>\n {getItemLabel(l)}\n </MenuItem>\n ))}\n </StyledSelect>\n </div>\n );\n};\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst StyledTypography = styled(Typography)(({ theme }) => ({\n marginRight: theme.spacing(3),\n marginTop: theme.spacing(1),\n}));\n\nconst TextField = ({ label }) => {\n return <StyledTypography>{label}</StyledTypography>;\n};\n\nconst StyledNumberTextField = styled(NumberTextField)(({ theme }) => ({\n width: '35%',\n marginRight: theme.spacing(3),\n marginTop: theme.spacing(1),\n '& .MuiInputBase-root': {\n marginTop: theme.spacing(0.5),\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing(1)}`,\n backgroundColor: 'transparent',\n },\n}));\n\nconst NumberField = ({ label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <StyledNumberTextField\n variant={'standard'}\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n showErrorWhenOutsideRange\n disableUnderline\n />\n );\n};\n\nNumberField.propTypes = {\n ...baseTypes,\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 StyledGroup = styled('div')(({ theme }) => ({\n margin: `0 0 ${theme.spacing(2)} 0`,\n}));\n\nconst StyledGroupHeader = styled('div')(({ theme }) => ({\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledNumberFields = styled('p')(({ theme }) => ({\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n}));\n\nconst Group = (props) => {\n const { 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 <StyledNumberFields>{label}</StyledNumberFields>\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 <StyledGroup>\n <StyledGroupHeader>{label}</StyledGroupHeader>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </StyledGroup>\n );\n};\n\nGroup.propTypes = {\n model: PropTypes.object,\n label: PropTypes.string,\n group: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func,\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"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
9
+ var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _styles = require("@mui/material/styles");
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ var StyledFormControlLabel = (0, _styles.styled)(_FormControlLabel["default"])(function (_ref) {
15
+ var theme = _ref.theme;
16
+ return {
17
+ '& .MuiFormControlLabel-label': {
18
+ color: 'rgba(0, 0, 0, 0.89)',
19
+ fontSize: theme.typography.fontSize - 2,
20
+ left: '-5px',
21
+ position: 'relative'
22
+ }
23
+ };
24
+ });
25
+ var StyledRadio = (0, _styles.styled)(_Radio["default"])(function () {
26
+ return {
27
+ color: "".concat(_renderUi.color.tertiary(), " !important")
28
+ };
29
+ });
30
+ var SettingsRadioLabel = function SettingsRadioLabel(_ref2) {
31
+ var label = _ref2.label,
32
+ value = _ref2.value,
33
+ checked = _ref2.checked,
34
+ onChange = _ref2.onChange;
35
+ return /*#__PURE__*/_react["default"].createElement(StyledFormControlLabel, {
36
+ value: value,
37
+ control: /*#__PURE__*/_react["default"].createElement(StyledRadio, {
38
+ checked: checked,
39
+ onChange: onChange
40
+ }),
41
+ label: label
42
+ });
43
+ };
44
+ SettingsRadioLabel.propTypes = {
45
+ label: _propTypes["default"].string,
46
+ value: _propTypes["default"].string,
47
+ checked: _propTypes["default"].bool,
48
+ onChange: _propTypes["default"].func
49
+ };
50
+ var _default = exports["default"] = SettingsRadioLabel;
51
+ //# sourceMappingURL=settings-radio-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-radio-label.js","names":["_FormControlLabel","_interopRequireDefault","require","_Radio","_react","_propTypes","_styles","_renderUi","StyledFormControlLabel","styled","FormControlLabel","_ref","theme","color","fontSize","typography","left","position","StyledRadio","Radio","concat","tertiary","SettingsRadioLabel","_ref2","label","value","checked","onChange","createElement","control","propTypes","PropTypes","string","bool","func","_default","exports"],"sources":["../../src/settings/settings-radio-label.jsx"],"sourcesContent":["import FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledFormControlLabel = styled(FormControlLabel)(({ theme }) => ({\n '& .MuiFormControlLabel-label': {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize - 2,\n left: '-5px',\n position: 'relative',\n },\n}));\n\nconst StyledRadio = styled(Radio)(() => ({\n color: `${color.tertiary()} !important`,\n}));\n\nconst SettingsRadioLabel = ({ label, value, checked, onChange }) => (\n <StyledFormControlLabel value={value} control={<StyledRadio checked={checked} onChange={onChange} />} label={label} />\n);\n\nSettingsRadioLabel.propTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nexport default SettingsRadioLabel;\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAMM,sBAAsB,GAAG,IAAAC,cAAM,EAACC,4BAAgB,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACtE,8BAA8B,EAAE;MAC9BC,KAAK,EAAE,qBAAqB;MAC5BC,QAAQ,EAAEF,KAAK,CAACG,UAAU,CAACD,QAAQ,GAAG,CAAC;MACvCE,IAAI,EAAE,MAAM;MACZC,QAAQ,EAAE;IACZ;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,WAAW,GAAG,IAAAT,cAAM,EAACU,iBAAK,CAAC,CAAC;EAAA,OAAO;IACvCN,KAAK,KAAAO,MAAA,CAAKP,eAAK,CAACQ,QAAQ,CAAC,CAAC;EAC5B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA;EAAA,IAAMC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;IAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;EAAA,oBAC3DvB,MAAA,YAAAwB,aAAA,CAACpB,sBAAsB;IAACiB,KAAK,EAAEA,KAAM;IAACI,OAAO,eAAEzB,MAAA,YAAAwB,aAAA,CAACV,WAAW;MAACQ,OAAO,EAAEA,OAAQ;MAACC,QAAQ,EAAEA;IAAS,CAAE,CAAE;IAACH,KAAK,EAAEA;EAAM,CAAE,CAAC;AAAA,CACvH;AAEDF,kBAAkB,CAACQ,SAAS,GAAG;EAC7BN,KAAK,EAAEO,qBAAS,CAACC,MAAM;EACvBP,KAAK,EAAEM,qBAAS,CAACC,MAAM;EACvBN,OAAO,EAAEK,qBAAS,CAACE,IAAI;EACvBN,QAAQ,EAAEI,qBAAS,CAACG;AACtB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEad,kBAAkB","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ var StyledToggle = (0, _styles.styled)('div')(function () {
15
+ return {
16
+ display: 'flex',
17
+ width: '100%',
18
+ justifyContent: 'space-between'
19
+ };
20
+ });
21
+ var StyledInputLabel = (0, _styles.styled)(_InputLabel["default"])(function (_ref) {
22
+ var theme = _ref.theme;
23
+ return {
24
+ color: 'rgba(0, 0, 0, 0.89)',
25
+ fontSize: theme.typography.fontSize,
26
+ paddingTop: theme.spacing(2)
27
+ };
28
+ });
29
+ var StyledSwitch = (0, _styles.styled)(_Switch["default"])(function (_ref2) {
30
+ var checked = _ref2.checked;
31
+ return {
32
+ '&.Mui-checked .MuiSwitch-thumb': {
33
+ color: "".concat(_renderUi.color.tertiary(), " !important")
34
+ },
35
+ '&.Mui-checked .MuiSwitch-track': {
36
+ backgroundColor: "".concat(_renderUi.color.tertiaryLight(), " !important")
37
+ },
38
+ '& .MuiSwitch-track': {
39
+ backgroundColor: checked ? "".concat(_renderUi.color.tertiaryLight(), " !important") : undefined
40
+ }
41
+ };
42
+ });
43
+ var Toggle = function Toggle(_ref3) {
44
+ var checked = _ref3.checked,
45
+ disabled = _ref3.disabled,
46
+ label = _ref3.label,
47
+ toggle = _ref3.toggle;
48
+ return /*#__PURE__*/_react["default"].createElement(StyledToggle, null, /*#__PURE__*/_react["default"].createElement(StyledInputLabel, null, label), /*#__PURE__*/_react["default"].createElement(StyledSwitch, {
49
+ checked: checked,
50
+ disabled: disabled,
51
+ onChange: function onChange(e) {
52
+ return toggle(e.target.checked);
53
+ }
54
+ }));
55
+ };
56
+ Toggle.propTypes = {
57
+ checked: _propTypes["default"].bool,
58
+ disabled: _propTypes["default"].bool,
59
+ label: _propTypes["default"].string.isRequired,
60
+ toggle: _propTypes["default"].func.isRequired
61
+ };
62
+ var _default = exports["default"] = Toggle;
63
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","names":["_react","_interopRequireDefault","require","_propTypes","_InputLabel","_styles","_Switch","_renderUi","StyledToggle","styled","display","width","justifyContent","StyledInputLabel","InputLabel","_ref","theme","color","fontSize","typography","paddingTop","spacing","StyledSwitch","Switch","_ref2","checked","concat","tertiary","backgroundColor","tertiaryLight","undefined","Toggle","_ref3","disabled","label","toggle","createElement","onChange","e","target","propTypes","PropTypes","bool","string","isRequired","func","_default","exports"],"sources":["../../src/settings/toggle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport InputLabel from '@mui/material/InputLabel';\nimport { styled } from '@mui/material/styles';\nimport Switch from '@mui/material/Switch';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledToggle = styled('div')(() => ({\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n}));\n\nconst StyledInputLabel = styled(InputLabel)(({ theme }) => ({\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize,\n paddingTop: theme.spacing(2),\n}));\n\nconst StyledSwitch = styled(Switch)(({ checked }) => ({\n '&.Mui-checked .MuiSwitch-thumb': {\n color: `${color.tertiary()} !important`,\n },\n '&.Mui-checked .MuiSwitch-track': {\n backgroundColor: `${color.tertiaryLight()} !important`,\n },\n '& .MuiSwitch-track': {\n backgroundColor: checked ? `${color.tertiaryLight()} !important` : undefined,\n },\n}));\n\nconst Toggle = ({ checked, disabled, label, toggle }) => (\n <StyledToggle>\n <StyledInputLabel>{label}</StyledInputLabel>\n <StyledSwitch checked={checked} disabled={disabled} onChange={(e) => toggle(e.target.checked)} />\n </StyledToggle>\n);\n\nToggle.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nexport default Toggle;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAMM,YAAY,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC;EAAA,OAAO;IACxCC,OAAO,EAAE,MAAM;IACfC,KAAK,EAAE,MAAM;IACbC,cAAc,EAAE;EAClB,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,gBAAgB,GAAG,IAAAJ,cAAM,EAACK,sBAAU,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IAC1DC,KAAK,EAAE,qBAAqB;IAC5BC,QAAQ,EAAEF,KAAK,CAACG,UAAU,CAACD,QAAQ;IACnCE,UAAU,EAAEJ,KAAK,CAACK,OAAO,CAAC,CAAC;EAC7B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,YAAY,GAAG,IAAAb,cAAM,EAACc,kBAAM,CAAC,CAAC,UAAAC,KAAA;EAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;EAAA,OAAQ;IACpD,gCAAgC,EAAE;MAChCR,KAAK,KAAAS,MAAA,CAAKT,eAAK,CAACU,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,gCAAgC,EAAE;MAChCC,eAAe,KAAAF,MAAA,CAAKT,eAAK,CAACY,aAAa,CAAC,CAAC;IAC3C,CAAC;IACD,oBAAoB,EAAE;MACpBD,eAAe,EAAEH,OAAO,MAAAC,MAAA,CAAMT,eAAK,CAACY,aAAa,CAAC,CAAC,mBAAgBC;IACrE;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,KAAA;EAAA,IAAMP,OAAO,GAAAO,KAAA,CAAPP,OAAO;IAAEQ,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,KAAA,CAANG,MAAM;EAAA,oBAChDnC,MAAA,YAAAoC,aAAA,CAAC5B,YAAY,qBACXR,MAAA,YAAAoC,aAAA,CAACvB,gBAAgB,QAAEqB,KAAwB,CAAC,eAC5ClC,MAAA,YAAAoC,aAAA,CAACd,YAAY;IAACG,OAAO,EAAEA,OAAQ;IAACQ,QAAQ,EAAEA,QAAS;IAACI,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,CAAC;MAAA,OAAKH,MAAM,CAACG,CAAC,CAACC,MAAM,CAACd,OAAO,CAAC;IAAA;EAAC,CAAE,CACpF,CAAC;AAAA,CAChB;AAEDM,MAAM,CAACS,SAAS,GAAG;EACjBf,OAAO,EAAEgB,qBAAS,CAACC,IAAI;EACvBT,QAAQ,EAAEQ,qBAAS,CAACC,IAAI;EACxBR,KAAK,EAAEO,qBAAS,CAACE,MAAM,CAACC,UAAU;EAClCT,MAAM,EAAEM,qBAAS,CAACI,IAAI,CAACD;AACzB,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,cAEahB,MAAM","ignoreList":[]}