@pie-lib/config-ui 12.0.0-beta.4 → 12.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/CHANGELOG.json +8 -1653
  2. package/CHANGELOG.md +540 -58
  3. package/LICENSE.md +5 -0
  4. package/NEXT.CHANGELOG.json +1 -0
  5. package/lib/alert-dialog.js +44 -20
  6. package/lib/alert-dialog.js.map +1 -1
  7. package/lib/checkbox.js +59 -61
  8. package/lib/checkbox.js.map +1 -1
  9. package/lib/choice-configuration/feedback-menu.js +30 -65
  10. package/lib/choice-configuration/feedback-menu.js.map +1 -1
  11. package/lib/choice-configuration/index.js +231 -244
  12. package/lib/choice-configuration/index.js.map +1 -1
  13. package/lib/choice-utils.js +7 -19
  14. package/lib/choice-utils.js.map +1 -1
  15. package/lib/feedback-config/feedback-selector.js +89 -115
  16. package/lib/feedback-config/feedback-selector.js.map +1 -1
  17. package/lib/feedback-config/group.js +28 -42
  18. package/lib/feedback-config/group.js.map +1 -1
  19. package/lib/feedback-config/index.js +55 -87
  20. package/lib/feedback-config/index.js.map +1 -1
  21. package/lib/form-section.js +32 -34
  22. package/lib/form-section.js.map +1 -1
  23. package/lib/help.js +41 -80
  24. package/lib/help.js.map +1 -1
  25. package/lib/index.js +2 -32
  26. package/lib/index.js.map +1 -1
  27. package/lib/input.js +24 -57
  28. package/lib/input.js.map +1 -1
  29. package/lib/inputs.js +62 -88
  30. package/lib/inputs.js.map +1 -1
  31. package/lib/langs.js +59 -102
  32. package/lib/langs.js.map +1 -1
  33. package/lib/layout/config-layout.js +95 -67
  34. package/lib/layout/config-layout.js.map +1 -1
  35. package/lib/layout/index.js +1 -4
  36. package/lib/layout/index.js.map +1 -1
  37. package/lib/layout/layout-contents.js +130 -75
  38. package/lib/layout/layout-contents.js.map +1 -1
  39. package/lib/layout/settings-box.js +28 -58
  40. package/lib/layout/settings-box.js.map +1 -1
  41. package/lib/mui-box/index.js +42 -58
  42. package/lib/mui-box/index.js.map +1 -1
  43. package/lib/number-text-field-custom.js +164 -152
  44. package/lib/number-text-field-custom.js.map +1 -1
  45. package/lib/number-text-field.js +87 -119
  46. package/lib/number-text-field.js.map +1 -1
  47. package/lib/radio-with-label.js +33 -26
  48. package/lib/radio-with-label.js.map +1 -1
  49. package/lib/settings/display-size.js +17 -33
  50. package/lib/settings/display-size.js.map +1 -1
  51. package/lib/settings/index.js +26 -46
  52. package/lib/settings/index.js.map +1 -1
  53. package/lib/settings/panel.js +202 -221
  54. package/lib/settings/panel.js.map +1 -1
  55. package/lib/settings/settings-radio-label.js +37 -29
  56. package/lib/settings/settings-radio-label.js.map +1 -1
  57. package/lib/settings/toggle.js +40 -33
  58. package/lib/settings/toggle.js.map +1 -1
  59. package/lib/tabs/index.js +26 -57
  60. package/lib/tabs/index.js.map +1 -1
  61. package/lib/tags-input/index.js +51 -100
  62. package/lib/tags-input/index.js.map +1 -1
  63. package/lib/two-choice.js +47 -91
  64. package/lib/two-choice.js.map +1 -1
  65. package/lib/with-stateful-model.js +11 -34
  66. package/lib/with-stateful-model.js.map +1 -1
  67. package/package.json +22 -11
  68. package/src/__tests__/alert-dialog.test.jsx +283 -0
  69. package/src/__tests__/checkbox.test.jsx +249 -0
  70. package/src/__tests__/choice-utils.test.js +12 -0
  71. package/src/__tests__/form-section.test.jsx +334 -0
  72. package/src/__tests__/help.test.jsx +184 -0
  73. package/src/__tests__/input.test.jsx +192 -0
  74. package/src/__tests__/langs.test.jsx +457 -0
  75. package/src/__tests__/number-text-field-custom.test.jsx +438 -0
  76. package/src/__tests__/number-text-field.test.jsx +341 -0
  77. package/src/__tests__/radio-with-label.test.jsx +259 -0
  78. package/src/__tests__/settings-panel.test.js +187 -0
  79. package/src/__tests__/settings.test.jsx +515 -0
  80. package/src/__tests__/tabs.test.jsx +193 -0
  81. package/src/__tests__/two-choice.test.js +110 -0
  82. package/src/__tests__/with-stateful-model.test.jsx +145 -0
  83. package/src/alert-dialog.jsx +31 -16
  84. package/src/checkbox.jsx +45 -39
  85. package/src/choice-configuration/__tests__/feedback-menu.test.jsx +163 -0
  86. package/src/choice-configuration/__tests__/index.test.jsx +234 -0
  87. package/src/choice-configuration/feedback-menu.jsx +15 -28
  88. package/src/choice-configuration/index.jsx +233 -182
  89. package/src/choice-utils.js +1 -1
  90. package/src/feedback-config/__tests__/feedback-config.test.jsx +141 -0
  91. package/src/feedback-config/__tests__/feedback-selector.test.jsx +107 -0
  92. package/src/feedback-config/feedback-selector.jsx +65 -60
  93. package/src/feedback-config/group.jsx +26 -29
  94. package/src/feedback-config/index.jsx +59 -47
  95. package/src/form-section.jsx +26 -18
  96. package/src/help.jsx +27 -36
  97. package/src/index.js +2 -5
  98. package/src/input.jsx +9 -9
  99. package/src/inputs.jsx +36 -50
  100. package/src/langs.jsx +57 -73
  101. package/src/layout/__tests__/config.layout.test.jsx +59 -0
  102. package/src/layout/__tests__/layout-content.test.jsx +3 -0
  103. package/src/layout/config-layout.jsx +70 -37
  104. package/src/layout/layout-contents.jsx +96 -39
  105. package/src/layout/settings-box.jsx +22 -21
  106. package/src/mui-box/index.jsx +37 -45
  107. package/src/number-text-field-custom.jsx +136 -81
  108. package/src/number-text-field.jsx +59 -37
  109. package/src/radio-with-label.jsx +28 -12
  110. package/src/settings/display-size.jsx +14 -13
  111. package/src/settings/index.js +20 -12
  112. package/src/settings/panel.jsx +147 -110
  113. package/src/settings/settings-radio-label.jsx +29 -13
  114. package/src/settings/toggle.jsx +39 -20
  115. package/src/tabs/index.jsx +15 -19
  116. package/src/tags-input/__tests__/index.test.jsx +113 -0
  117. package/src/tags-input/index.jsx +42 -47
  118. package/src/two-choice.jsx +19 -23
  119. package/src/with-stateful-model.jsx +5 -5
  120. package/README.md +0 -12
@@ -1,92 +1,84 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.NumberTextField = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
15
  var _react = _interopRequireDefault(require("react"));
27
-
28
- var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
16
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
17
+ var _styles = require("@mui/material/styles");
34
18
  var _debug = _interopRequireDefault(require("debug"));
35
-
36
19
  var _isFinite = _interopRequireDefault(require("lodash/isFinite"));
37
-
38
- var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
39
-
40
- 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); }; }
41
-
42
- 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; } }
43
-
20
+ var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
21
+ 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)); }
22
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
44
23
  var log = (0, _debug["default"])('@pie-lib:config-ui:number-text-field');
45
-
46
- var styles = function styles(theme) {
24
+ var StyledTextField = (0, _styles.styled)(_TextField["default"])(function (_ref) {
25
+ var theme = _ref.theme;
47
26
  return {
48
- root: {
49
- marginRight: theme.spacing.unit
27
+ marginRight: theme.spacing(1),
28
+ '& .MuiInputLabel-root': {
29
+ width: 'auto',
30
+ minWidth: 'max-content',
31
+ maxWidth: 'none',
32
+ whiteSpace: 'nowrap',
33
+ overflow: 'visible',
34
+ transform: 'translate(0, 8px) scale(0.75)',
35
+ transformOrigin: 'top left',
36
+ position: 'relative'
37
+ },
38
+ '& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root': {
39
+ height: 'auto',
40
+ minHeight: 'auto'
41
+ },
42
+ '& .MuiInputBase-input': {
43
+ height: 'auto',
44
+ minHeight: 'auto',
45
+ padding: '8px 12px'
46
+ },
47
+ '& .MuiInput-root, & .MuiFilledInput-root': {
48
+ '&:before, &:after, &:hover:not(.Mui-disabled):before': {
49
+ display: 'none'
50
+ }
50
51
  }
51
52
  };
52
- };
53
-
53
+ });
54
54
  var fallbackNumber = function fallbackNumber(min, max) {
55
55
  if (!(0, _isFinite["default"])(min) && !(0, _isFinite["default"])(max)) {
56
56
  return 0;
57
57
  }
58
-
59
58
  if (!(0, _isFinite["default"])(min) && (0, _isFinite["default"])(max)) {
60
59
  return max;
61
60
  }
62
-
63
61
  if ((0, _isFinite["default"])(min)) {
64
62
  return min;
65
63
  }
66
64
  };
67
-
68
- var NumberTextField = /*#__PURE__*/function (_React$Component) {
69
- (0, _inherits2["default"])(NumberTextField, _React$Component);
70
-
71
- var _super = _createSuper(NumberTextField);
72
-
65
+ var NumberTextField = exports.NumberTextField = /*#__PURE__*/function (_React$Component) {
73
66
  function NumberTextField(props) {
74
67
  var _this;
75
-
76
68
  (0, _classCallCheck2["default"])(this, NumberTextField);
77
- _this = _super.call(this, props);
78
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBlur", function (event) {
69
+ _this = _callSuper(this, NumberTextField, [props]);
70
+ /**
71
+ * on Blur (this can be triggered by pressing Enter, see below)
72
+ * we check the entered value and reset it if needed
73
+ */
74
+ (0, _defineProperty2["default"])(_this, "onBlur", function (event) {
79
75
  var value = event.target.value;
80
76
  var rawNumber = parseFloat(value);
81
77
  log('rawNumber: ', rawNumber);
82
-
83
78
  var number = _this.clamp(rawNumber);
84
-
85
79
  log('number: ', number);
86
-
87
80
  if (number !== _this.state.value) {
88
81
  log('trigger update...');
89
-
90
82
  _this.setState({
91
83
  value: number.toString()
92
84
  }, function () {
@@ -94,53 +86,48 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
94
86
  });
95
87
  }
96
88
  });
97
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "errorMessage", function () {
89
+ (0, _defineProperty2["default"])(_this, "errorMessage", function () {
98
90
  var _this$props = _this.props,
99
- min = _this$props.min,
100
- max = _this$props.max;
101
-
91
+ min = _this$props.min,
92
+ max = _this$props.max;
102
93
  if (min && max) {
103
94
  return "The value must be between ".concat(min, " and ").concat(max);
104
95
  }
105
-
106
96
  if (min) {
107
97
  return "The value must be greater than ".concat(min);
108
98
  }
109
-
110
99
  if (max) {
111
100
  return "The value must be less than ".concat(max);
112
101
  }
113
102
  });
114
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getError", function () {
103
+ /**
104
+ * if the input has to show error when outside range,
105
+ * and the entered value is not matching the requirements
106
+ * we display error message
107
+ */
108
+ (0, _defineProperty2["default"])(_this, "getError", function () {
115
109
  var value = _this.state.value;
116
-
117
110
  var _float = parseFloat(value);
118
-
119
111
  var clamped = _this.clamp(_float);
120
-
121
112
  if (clamped !== _float) {
122
113
  return _this.errorMessage();
123
114
  }
124
115
  });
125
-
126
116
  var _value = _this.clamp(props.value);
127
-
128
117
  _this.state = {
129
118
  value: _value
130
119
  };
131
-
132
120
  if (_value !== props.value) {
133
121
  _this.props.onChange({}, _value);
134
122
  }
135
-
136
- _this.onChange = _this.onChange.bind((0, _assertThisInitialized2["default"])(_this));
123
+ _this.onChange = _this.onChange.bind(_this);
137
124
  return _this;
138
125
  }
139
-
140
- (0, _createClass2["default"])(NumberTextField, [{
126
+ (0, _inherits2["default"])(NumberTextField, _React$Component);
127
+ return (0, _createClass2["default"])(NumberTextField, [{
141
128
  key: "UNSAFE_componentWillReceiveProps",
142
129
  value: function UNSAFE_componentWillReceiveProps(props) {
143
- var value = this.clamp(props.value);
130
+ var value = this.clamp(props.value, props.min, props.max);
144
131
  this.setState({
145
132
  value: value
146
133
  });
@@ -148,29 +135,19 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
148
135
  }, {
149
136
  key: "clamp",
150
137
  value: function clamp(value) {
138
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.min;
139
+ var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.max;
151
140
  if (!(0, _isFinite["default"])(value)) {
152
- return fallbackNumber(this.props.min, this.props.max);
141
+ return fallbackNumber(min, max);
153
142
  }
154
-
155
- var _this$props2 = this.props,
156
- min = _this$props2.min,
157
- max = _this$props2.max;
158
-
159
143
  if ((0, _isFinite["default"])(max)) {
160
144
  value = Math.min(value, max);
161
145
  }
162
-
163
146
  if ((0, _isFinite["default"])(min)) {
164
147
  value = Math.max(value, min);
165
148
  }
166
-
167
149
  return value;
168
150
  }
169
- /**
170
- * on Blur (this can be triggered by pressing Enter, see below)
171
- * we check the entered value and reset it if needed
172
- */
173
-
174
151
  }, {
175
152
  key: "onChange",
176
153
  value: function onChange(event) {
@@ -183,66 +160,60 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
183
160
  key: "render",
184
161
  value: function render() {
185
162
  var _this2 = this;
186
-
187
- var _this$props3 = this.props,
188
- className = _this$props3.className,
189
- classes = _this$props3.classes,
190
- label = _this$props3.label,
191
- disabled = _this$props3.disabled,
192
- suffix = _this$props3.suffix,
193
- min = _this$props3.min,
194
- max = _this$props3.max,
195
- inputClassName = _this$props3.inputClassName,
196
- disableUnderline = _this$props3.disableUnderline,
197
- showErrorWhenOutsideRange = _this$props3.showErrorWhenOutsideRange,
198
- variant = _this$props3.variant;
199
- var names = (0, _classnames["default"])(classes.root, className);
163
+ var _this$props2 = this.props,
164
+ className = _this$props2.className,
165
+ label = _this$props2.label,
166
+ disabled = _this$props2.disabled,
167
+ suffix = _this$props2.suffix,
168
+ min = _this$props2.min,
169
+ max = _this$props2.max,
170
+ inputClassName = _this$props2.inputClassName,
171
+ disableUnderline = _this$props2.disableUnderline,
172
+ showErrorWhenOutsideRange = _this$props2.showErrorWhenOutsideRange,
173
+ variant = _this$props2.variant;
200
174
  var error = showErrorWhenOutsideRange && this.getError();
201
- return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
202
- variant: variant || 'standard',
175
+ return /*#__PURE__*/_react["default"].createElement(StyledTextField, {
176
+ variant: disableUnderline ? 'filled' : variant || 'standard',
203
177
  inputRef: function inputRef(ref) {
204
178
  _this2.inputRef = ref;
205
179
  },
206
180
  disabled: disabled,
207
181
  label: label,
182
+ InputLabelProps: {
183
+ shrink: true
184
+ },
208
185
  value: this.state.value,
209
186
  error: !!error,
210
187
  helperText: error,
211
188
  onChange: this.onChange,
212
189
  onBlur: this.onBlur,
213
- onKeyPress: function onKeyPress(e) {
190
+ onKeyDown: function onKeyDown(e) {
214
191
  // once the Enter key is pressed, we force input blur
215
192
  if (e.key === 'Enter' && _this2.inputRef) {
216
193
  _this2.inputRef.blur();
217
194
  }
218
195
  },
219
196
  type: "number",
220
- className: names,
221
- InputLabelProps: {
222
- shrink: true
223
- },
224
- InputProps: {
225
- endAdornment: suffix && /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
226
- position: "end"
227
- }, suffix),
228
- className: inputClassName,
229
- disableUnderline: disableUnderline
230
- },
231
- inputProps: {
232
- min: min,
233
- max: max
197
+ className: className,
198
+ slotProps: {
199
+ input: {
200
+ endAdornment: suffix && /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
201
+ position: "end"
202
+ }, suffix),
203
+ className: inputClassName,
204
+ inputProps: {
205
+ min: min,
206
+ max: max
207
+ }
208
+ }
234
209
  },
235
210
  margin: "normal"
236
211
  });
237
212
  }
238
213
  }]);
239
- return NumberTextField;
240
214
  }(_react["default"].Component);
241
-
242
- exports.NumberTextField = NumberTextField;
243
215
  (0, _defineProperty2["default"])(NumberTextField, "propTypes", {
244
216
  disabled: _propTypes["default"].bool,
245
- classes: _propTypes["default"].object.isRequired,
246
217
  className: _propTypes["default"].string,
247
218
  inputClassName: _propTypes["default"].string,
248
219
  onChange: _propTypes["default"].func.isRequired,
@@ -258,8 +229,5 @@ exports.NumberTextField = NumberTextField;
258
229
  (0, _defineProperty2["default"])(NumberTextField, "defaultProps", {
259
230
  showErrorWhenOutsideRange: false
260
231
  });
261
-
262
- var _default = (0, _styles.withStyles)(styles)(NumberTextField);
263
-
264
- exports["default"] = _default;
265
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInN0eWxlcyIsInRoZW1lIiwicm9vdCIsIm1hcmdpblJpZ2h0Iiwic3BhY2luZyIsInVuaXQiLCJmYWxsYmFja051bWJlciIsIm1pbiIsIm1heCIsImlzRmluaXRlIiwiTnVtYmVyVGV4dEZpZWxkIiwicHJvcHMiLCJldmVudCIsInZhbHVlIiwidGFyZ2V0IiwicmF3TnVtYmVyIiwicGFyc2VGbG9hdCIsIm51bWJlciIsImNsYW1wIiwic3RhdGUiLCJzZXRTdGF0ZSIsInRvU3RyaW5nIiwib25DaGFuZ2UiLCJmbG9hdCIsImNsYW1wZWQiLCJlcnJvck1lc3NhZ2UiLCJiaW5kIiwiTWF0aCIsImNsYXNzTmFtZSIsImNsYXNzZXMiLCJsYWJlbCIsImRpc2FibGVkIiwic3VmZml4IiwiaW5wdXRDbGFzc05hbWUiLCJkaXNhYmxlVW5kZXJsaW5lIiwic2hvd0Vycm9yV2hlbk91dHNpZGVSYW5nZSIsInZhcmlhbnQiLCJuYW1lcyIsImNsYXNzTmFtZXMiLCJlcnJvciIsImdldEVycm9yIiwicmVmIiwiaW5wdXRSZWYiLCJvbkJsdXIiLCJlIiwia2V5IiwiYmx1ciIsInNocmluayIsImVuZEFkb3JubWVudCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiYm9vbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJmdW5jIiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9udW1iZXItdGV4dC1maWVsZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1RleHRGaWVsZCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBpc0Zpbml0ZSBmcm9tICdsb2Rhc2gvaXNGaW5pdGUnO1xuaW1wb3J0IElucHV0QWRvcm5tZW50IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0lucHV0QWRvcm5tZW50JztcbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjpjb25maWctdWk6bnVtYmVyLXRleHQtZmllbGQnKTtcblxuY29uc3Qgc3R5bGVzID0gdGhlbWUgPT4gKHtcbiAgcm9vdDogeyBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZy51bml0IH1cbn0pO1xuXG5jb25zdCBmYWxsYmFja051bWJlciA9IChtaW4sIG1heCkgPT4ge1xuICBpZiAoIWlzRmluaXRlKG1pbikgJiYgIWlzRmluaXRlKG1heCkpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBpZiAoIWlzRmluaXRlKG1pbikgJiYgaXNGaW5pdGUobWF4KSkge1xuICAgIHJldHVybiBtYXg7XG4gIH1cblxuICBpZiAoaXNGaW5pdGUobWluKSkge1xuICAgIHJldHVybiBtaW47XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJUZXh0RmllbGQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIG1pbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICBtYXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3VmZml4OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNob3dFcnJvcldoZW5PdXRzaWRlUmFuZ2U6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVVbmRlcmxpbmU6IFByb3BUeXBlcy5ib29sLFxuICAgIHZhcmlhbnQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHNob3dFcnJvcldoZW5PdXRzaWRlUmFuZ2U6IGZhbHNlXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY2xhbXAocHJvcHMudmFsdWUpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHZhbHVlXG4gICAgfTtcblxuICAgIGlmICh2YWx1ZSAhPT0gcHJvcHMudmFsdWUpIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2Uoe30sIHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY2xhbXAocHJvcHMudmFsdWUpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZSB9KTtcbiAgfVxuXG4gIGNsYW1wKHZhbHVlKSB7XG4gICAgaWYgKCFpc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmYWxsYmFja051bWJlcih0aGlzLnByb3BzLm1pbiwgdGhpcy5wcm9wcy5tYXgpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbWluLCBtYXggfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaXNGaW5pdGUobWF4KSkge1xuICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgbWF4KTtcbiAgICB9XG4gICAgaWYgKGlzRmluaXRlKG1pbikpIHtcbiAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIG1pbik7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvbiBCbHVyICh0aGlzIGNhbiBiZSB0cmlnZ2VyZWQgYnkgcHJlc3NpbmcgRW50ZXIsIHNlZSBiZWxvdylcbiAgICogd2UgY2hlY2sgdGhlIGVudGVyZWQgdmFsdWUgYW5kIHJlc2V0IGl0IGlmIG5lZWRlZFxuICAgKi9cbiAgb25CbHVyID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgY29uc3QgcmF3TnVtYmVyID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgbG9nKCdyYXdOdW1iZXI6ICcsIHJhd051bWJlcik7XG5cbiAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNsYW1wKHJhd051bWJlcik7XG4gICAgbG9nKCdudW1iZXI6ICcsIG51bWJlcik7XG5cbiAgICBpZiAobnVtYmVyICE9PSB0aGlzLnN0YXRlLnZhbHVlKSB7XG4gICAgICBsb2coJ3RyaWdnZXIgdXBkYXRlLi4uJyk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG51bWJlci50b1N0cmluZygpIH0sICgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShldmVudCwgbnVtYmVyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkNoYW5nZShldmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZSB9KTtcbiAgfVxuXG4gIGVycm9yTWVzc2FnZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG1pbiwgbWF4IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChtaW4gJiYgbWF4KSB7XG4gICAgICByZXR1cm4gYFRoZSB2YWx1ZSBtdXN0IGJlIGJldHdlZW4gJHttaW59IGFuZCAke21heH1gO1xuICAgIH1cbiAgICBpZiAobWluKSB7XG4gICAgICByZXR1cm4gYFRoZSB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAke21pbn1gO1xuICAgIH1cbiAgICBpZiAobWF4KSB7XG4gICAgICByZXR1cm4gYFRoZSB2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAke21heH1gO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogaWYgdGhlIGlucHV0IGhhcyB0byBzaG93IGVycm9yIHdoZW4gb3V0c2lkZSByYW5nZSxcbiAgICogYW5kIHRoZSBlbnRlcmVkIHZhbHVlIGlzIG5vdCBtYXRjaGluZyB0aGUgcmVxdWlyZW1lbnRzXG4gICAqIHdlIGRpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgKi9cblxuICBnZXRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGZsb2F0ID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgY29uc3QgY2xhbXBlZCA9IHRoaXMuY2xhbXAoZmxvYXQpO1xuICAgIGlmIChjbGFtcGVkICE9PSBmbG9hdCkge1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlKCk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjbGFzc2VzLFxuICAgICAgbGFiZWwsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHN1ZmZpeCxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICAgIGlucHV0Q2xhc3NOYW1lLFxuICAgICAgZGlzYWJsZVVuZGVybGluZSxcbiAgICAgIHNob3dFcnJvcldoZW5PdXRzaWRlUmFuZ2UsXG4gICAgICB2YXJpYW50XG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgbmFtZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwgY2xhc3NOYW1lKTtcblxuICAgIGNvbnN0IGVycm9yID0gc2hvd0Vycm9yV2hlbk91dHNpZGVSYW5nZSAmJiB0aGlzLmdldEVycm9yKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgdmFyaWFudD17dmFyaWFudCB8fCAnc3RhbmRhcmQnfVxuICAgICAgICBpbnB1dFJlZj17cmVmID0+IHtcbiAgICAgICAgICB0aGlzLmlucHV0UmVmID0gcmVmO1xuICAgICAgICB9fVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XG4gICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICBoZWxwZXJUZXh0PXtlcnJvcn1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2V9XG4gICAgICAgIG9uQmx1cj17dGhpcy5vbkJsdXJ9XG4gICAgICAgIG9uS2V5UHJlc3M9e2UgPT4ge1xuICAgICAgICAgIC8vIG9uY2UgdGhlIEVudGVyIGtleSBpcyBwcmVzc2VkLCB3ZSBmb3JjZSBpbnB1dCBibHVyXG4gICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmIHRoaXMuaW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRSZWYuYmx1cigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIGNsYXNzTmFtZT17bmFtZXN9XG4gICAgICAgIElucHV0TGFiZWxQcm9wcz17e1xuICAgICAgICAgIHNocmluazogdHJ1ZVxuICAgICAgICB9fVxuICAgICAgICBJbnB1dFByb3BzPXt7XG4gICAgICAgICAgZW5kQWRvcm5tZW50OiBzdWZmaXggJiYgPElucHV0QWRvcm5tZW50IHBvc2l0aW9uPVwiZW5kXCI+e3N1ZmZpeH08L0lucHV0QWRvcm5tZW50PixcbiAgICAgICAgICBjbGFzc05hbWU6IGlucHV0Q2xhc3NOYW1lLFxuICAgICAgICAgIGRpc2FibGVVbmRlcmxpbmU6IGRpc2FibGVVbmRlcmxpbmVcbiAgICAgICAgfX1cbiAgICAgICAgaW5wdXRQcm9wcz17e1xuICAgICAgICAgIG1pbixcbiAgICAgICAgICBtYXhcbiAgICAgICAgfX1cbiAgICAgICAgbWFyZ2luPVwibm9ybWFsXCJcbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoTnVtYmVyVGV4dEZpZWxkKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0EsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sc0NBQU4sQ0FBWjs7QUFFQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFBQyxLQUFLO0VBQUEsT0FBSztJQUN2QkMsSUFBSSxFQUFFO01BQUVDLFdBQVcsRUFBRUYsS0FBSyxDQUFDRyxPQUFOLENBQWNDO0lBQTdCO0VBRGlCLENBQUw7QUFBQSxDQUFwQjs7QUFJQSxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLEdBQUQsRUFBTUMsR0FBTixFQUFjO0VBQ25DLElBQUksQ0FBQyxJQUFBQyxvQkFBQSxFQUFTRixHQUFULENBQUQsSUFBa0IsQ0FBQyxJQUFBRSxvQkFBQSxFQUFTRCxHQUFULENBQXZCLEVBQXNDO0lBQ3BDLE9BQU8sQ0FBUDtFQUNEOztFQUNELElBQUksQ0FBQyxJQUFBQyxvQkFBQSxFQUFTRixHQUFULENBQUQsSUFBa0IsSUFBQUUsb0JBQUEsRUFBU0QsR0FBVCxDQUF0QixFQUFxQztJQUNuQyxPQUFPQSxHQUFQO0VBQ0Q7O0VBRUQsSUFBSSxJQUFBQyxvQkFBQSxFQUFTRixHQUFULENBQUosRUFBbUI7SUFDakIsT0FBT0EsR0FBUDtFQUNEO0FBQ0YsQ0FYRDs7SUFhYUcsZTs7Ozs7RUFxQlgseUJBQVlDLEtBQVosRUFBbUI7SUFBQTs7SUFBQTtJQUNqQiwwQkFBTUEsS0FBTjtJQURpQiwyRkF5Q1YsVUFBQUMsS0FBSyxFQUFJO01BQ2hCLElBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUFDRSxNQUFOLENBQWFELEtB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
232
+ var _default = exports["default"] = NumberTextField;
233
+ //# sourceMappingURL=number-text-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-text-field.js","names":["log","debug","styles","theme","root","marginRight","spacing","unit","fallbackNumber","min","max","isFinite","NumberTextField","props","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","float","clamped","errorMessage","bind","Math","className","classes","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","names","classNames","error","getError","ref","inputRef","onBlur","e","key","blur","shrink","endAdornment","React","Component","PropTypes","bool","object","isRequired","string","func","withStyles"],"sources":["../src/number-text-field.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport isFinite from 'lodash/isFinite';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nconst log = debug('@pie-lib:config-ui:number-text-field');\n\nconst styles = theme => ({\n root: { marginRight: theme.spacing.unit }\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value);\n this.setState({ value });\n }\n\n clamp(value) {\n if (!isFinite(value)) {\n return fallbackNumber(this.props.min, this.props.max);\n }\n\n const { min, max } = this.props;\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n return value;\n }\n\n /**\n * on Blur (this can be triggered by pressing Enter, see below)\n * we check the entered value and reset it if needed\n */\n onBlur = event => {\n const value = event.target.value;\n\n const rawNumber = parseFloat(value);\n log('rawNumber: ', rawNumber);\n\n const number = this.clamp(rawNumber);\n log('number: ', number);\n\n if (number !== this.state.value) {\n log('trigger update...');\n this.setState({ value: number.toString() }, () => {\n this.props.onChange(event, number);\n });\n }\n };\n\n onChange(event) {\n const value = event.target.value;\n this.setState({ value });\n }\n\n errorMessage = () => {\n const { min, max } = this.props;\n if (min && max) {\n return `The value must be between ${min} and ${max}`;\n }\n if (min) {\n return `The value must be greater than ${min}`;\n }\n if (max) {\n return `The value must be less than ${max}`;\n }\n };\n\n /**\n * if the input has to show error when outside range,\n * and the entered value is not matching the requirements\n * we display error message\n */\n\n getError = () => {\n const { value } = this.state;\n const float = parseFloat(value);\n const clamped = this.clamp(float);\n if (clamped !== float) {\n return this.errorMessage();\n }\n };\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n suffix,\n min,\n max,\n inputClassName,\n disableUnderline,\n showErrorWhenOutsideRange,\n variant\n } = this.props;\n const names = classNames(classes.root, className);\n\n const error = showErrorWhenOutsideRange && this.getError();\n return (\n <TextField\n variant={variant || 'standard'}\n inputRef={ref => {\n this.inputRef = ref;\n }}\n disabled={disabled}\n label={label}\n value={this.state.value}\n error={!!error}\n helperText={error}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={e => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n type=\"number\"\n className={names}\n InputLabelProps={{\n shrink: true\n }}\n InputProps={{\n endAdornment: suffix && <InputAdornment position=\"end\">{suffix}</InputAdornment>,\n className: inputClassName,\n disableUnderline: disableUnderline\n }}\n inputProps={{\n min,\n max\n }}\n margin=\"normal\"\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextField);\n"],"mappings":"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"}
1
+ {"version":3,"file":"number-text-field.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_styles","_debug","_isFinite","_InputAdornment","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","log","debug","StyledTextField","styled","TextField","_ref","theme","marginRight","spacing","width","minWidth","maxWidth","whiteSpace","overflow","transform","transformOrigin","position","height","minHeight","padding","display","fallbackNumber","min","max","isFinite","NumberTextField","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","_this$props","concat","float","clamped","errorMessage","bind","_inherits2","_createClass2","key","UNSAFE_componentWillReceiveProps","arguments","length","undefined","Math","render","_this2","_this$props2","className","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","error","getError","createElement","inputRef","ref","InputLabelProps","shrink","helperText","onBlur","onKeyDown","blur","type","slotProps","input","endAdornment","inputProps","margin","React","Component","PropTypes","bool","string","func","isRequired","_default"],"sources":["../src/number-text-field.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport isFinite from 'lodash/isFinite';\nimport InputAdornment from '@mui/material/InputAdornment';\nconst log = debug('@pie-lib:config-ui:number-text-field');\n\nconst StyledTextField = styled(TextField)(({ theme }) => ({\n marginRight: theme.spacing(1),\n '& .MuiInputLabel-root': {\n width: 'auto',\n minWidth: 'max-content',\n maxWidth: 'none',\n whiteSpace: 'nowrap',\n overflow: 'visible',\n transform: 'translate(0, 8px) scale(0.75)',\n transformOrigin: 'top left',\n position: 'relative',\n },\n '& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root': {\n height: 'auto',\n minHeight: 'auto',\n },\n '& .MuiInputBase-input': {\n height: 'auto',\n minHeight: 'auto',\n padding: '8px 12px',\n },\n '& .MuiInput-root, & .MuiFilledInput-root': {\n '&:before, &:after, &:hover:not(.Mui-disabled):before': {\n display: 'none',\n },\n },\n}));\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false,\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value, props.min, props.max);\n\n this.setState({ value });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n /**\n * on Blur (this can be triggered by pressing Enter, see below)\n * we check the entered value and reset it if needed\n */\n onBlur = (event) => {\n const value = event.target.value;\n\n const rawNumber = parseFloat(value);\n log('rawNumber: ', rawNumber);\n\n const number = this.clamp(rawNumber);\n log('number: ', number);\n\n if (number !== this.state.value) {\n log('trigger update...');\n this.setState({ value: number.toString() }, () => {\n this.props.onChange(event, number);\n });\n }\n };\n\n onChange(event) {\n const value = event.target.value;\n this.setState({ value });\n }\n\n errorMessage = () => {\n const { min, max } = this.props;\n if (min && max) {\n return `The value must be between ${min} and ${max}`;\n }\n if (min) {\n return `The value must be greater than ${min}`;\n }\n if (max) {\n return `The value must be less than ${max}`;\n }\n };\n\n /**\n * if the input has to show error when outside range,\n * and the entered value is not matching the requirements\n * we display error message\n */\n\n getError = () => {\n const { value } = this.state;\n const float = parseFloat(value);\n const clamped = this.clamp(float);\n if (clamped !== float) {\n return this.errorMessage();\n }\n };\n\n render() {\n const {\n className,\n label,\n disabled,\n suffix,\n min,\n max,\n inputClassName,\n disableUnderline,\n showErrorWhenOutsideRange,\n variant,\n } = this.props;\n\n const error = showErrorWhenOutsideRange && this.getError();\n return (\n <StyledTextField\n variant={disableUnderline ? 'filled' : (variant || 'standard')}\n inputRef={(ref) => {\n this.inputRef = ref;\n }}\n disabled={disabled}\n label={label}\n InputLabelProps={{\n shrink: true,\n }}\n value={this.state.value}\n error={!!error}\n helperText={error}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyDown={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n type=\"number\"\n className={className}\n slotProps={{\n input: {\n endAdornment: suffix && <InputAdornment position=\"end\">{suffix}</InputAdornment>,\n className: inputClassName,\n inputProps: {\n min,\n max,\n },\n },\n }}\n margin=\"normal\"\n />\n );\n }\n}\n\nexport default NumberTextField;\n"],"mappings":"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","ignoreList":[]}
@@ -1,41 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  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
-
8
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
9
+ var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
- var _styles = require("@material-ui/core/styles");
17
-
18
- var _default = (0, _styles.withStyles)({
19
- label: {
20
- left: '-5px',
21
- position: 'relative'
22
- }
23
- })(function (_ref) {
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 () {
15
+ return {
16
+ '& .MuiFormControlLabel-label': {
17
+ left: '-5px',
18
+ position: 'relative'
19
+ }
20
+ };
21
+ });
22
+ var StyledRadio = (0, _styles.styled)(_Radio["default"])(function () {
23
+ return {
24
+ color: "".concat(_renderUi.color.tertiary(), " !important")
25
+ };
26
+ });
27
+ var RadioWithLabel = function RadioWithLabel(_ref) {
24
28
  var label = _ref.label,
25
- value = _ref.value,
26
- checked = _ref.checked,
27
- onChange = _ref.onChange,
28
- classes = _ref.classes;
29
- return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
29
+ value = _ref.value,
30
+ checked = _ref.checked,
31
+ onChange = _ref.onChange;
32
+ return /*#__PURE__*/_react["default"].createElement(StyledFormControlLabel, {
30
33
  value: value,
31
- classes: classes,
32
- control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
34
+ control: /*#__PURE__*/_react["default"].createElement(StyledRadio, {
33
35
  checked: checked,
34
36
  onChange: onChange
35
37
  }),
36
38
  label: label
37
39
  });
38
- });
39
-
40
- exports["default"] = _default;
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoU3R5bGVzIiwibGFiZWwiLCJsZWZ0IiwicG9zaXRpb24iLCJ2YWx1ZSIsImNoZWNrZWQiLCJvbkNoYW5nZSIsImNsYXNzZXMiXSwic291cmNlcyI6WyIuLi9zcmMvcmFkaW8td2l0aC1sYWJlbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZvcm1Db250cm9sTGFiZWwgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRm9ybUNvbnRyb2xMYWJlbCc7XG5pbXBvcnQgUmFkaW8gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvUmFkaW8nO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHtcbiAgbGFiZWw6IHtcbiAgICBsZWZ0OiAnLTVweCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgfVxufSkoKHsgbGFiZWwsIHZhbHVlLCBjaGVja2VkLCBvbkNoYW5nZSwgY2xhc3NlcyB9KSA9PiAoXG4gIDxGb3JtQ29udHJvbExhYmVsXG4gICAgdmFsdWU9e3ZhbHVlfVxuICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgY29udHJvbD17PFJhZGlvIGNoZWNrZWQ9e2NoZWNrZWR9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz59XG4gICAgbGFiZWw9e2xhYmVsfVxuICAvPlxuKSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztlQUVlLElBQUFBLGtCQUFBLEVBQVc7RUFDeEJDLEtBQUssRUFBRTtJQUNMQyxJQUFJLEVBQUUsTUFERDtJQUVMQyxRQUFRLEVBQUU7RUFGTDtBQURpQixDQUFYLEVBS1o7RUFBQSxJQUFHRixLQUFILFFBQUdBLEtBQUg7RUFBQSxJQUFVRyxLQUFWLFFBQVVBLEtBQVY7RUFBQSxJQUFpQkMsT0FBakIsUUFBaUJBLE9BQWpCO0VBQUEsSUFBMEJDLFFBQTFCLFFBQTBCQSxRQUExQjtFQUFBLElBQW9DQyxPQUFwQyxRQUFvQ0EsT0FBcEM7RUFBQSxvQkFDRCxnQ0FBQyw0QkFBRDtJQUNFLEtBQUssRUFBRUgsS0FEVDtJQUVFLE9BQU8sRUFBRUcsT0FGWDtJQUdFLE9BQU8sZUFBRSxnQ0FBQyxpQkFBRDtNQUFPLE9BQU8sRUFBRUYsT0FBaEI7TUFBeUIsUUFBUSxFQUFFQztJQUFuQyxFQUhYO0lBSUUsS0FBSyxFQUFFTDtFQUpULEVBREM7QUFBQSxDQUxZLEMifQ==
40
+ };
41
+ RadioWithLabel.propTypes = {
42
+ label: _propTypes["default"].string,
43
+ value: _propTypes["default"].string,
44
+ checked: _propTypes["default"].bool,
45
+ onChange: _propTypes["default"].func
46
+ };
47
+ var _default = exports["default"] = RadioWithLabel;
48
+ //# sourceMappingURL=radio-with-label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-with-label.js","names":["withStyles","label","left","position","value","checked","onChange","classes"],"sources":["../src/radio-with-label.jsx"],"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';\n\nexport default withStyles({\n label: {\n left: '-5px',\n position: 'relative'\n }\n})(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={classes}\n control={<Radio checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;eAEe,IAAAA,kBAAA,EAAW;EACxBC,KAAK,EAAE;IACLC,IAAI,EAAE,MADD;IAELC,QAAQ,EAAE;EAFL;AADiB,CAAX,EAKZ;EAAA,IAAGF,KAAH,QAAGA,KAAH;EAAA,IAAUG,KAAV,QAAUA,KAAV;EAAA,IAAiBC,OAAjB,QAAiBA,OAAjB;EAAA,IAA0BC,QAA1B,QAA0BA,QAA1B;EAAA,IAAoCC,OAApC,QAAoCA,OAApC;EAAA,oBACD,gCAAC,4BAAD;IACE,KAAK,EAAEH,KADT;IAEE,OAAO,EAAEG,OAFX;IAGE,OAAO,eAAE,gCAAC,iBAAD;MAAO,OAAO,EAAEF,OAAhB;MAAyB,QAAQ,EAAEC;IAAnC,EAHX;IAIE,KAAK,EAAEL;EAJT,EADC;AAAA,CALY,C"}
1
+ {"version":3,"file":"radio-with-label.js","names":["_FormControlLabel","_interopRequireDefault","require","_Radio","_react","_propTypes","_styles","_renderUi","StyledFormControlLabel","styled","FormControlLabel","left","position","StyledRadio","Radio","color","concat","tertiary","RadioWithLabel","_ref","label","value","checked","onChange","createElement","control","propTypes","PropTypes","string","bool","func","_default","exports"],"sources":["../src/radio-with-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)(() => ({\n '& .MuiFormControlLabel-label': {\n left: '-5px',\n position: 'relative',\n },\n}));\n\nconst StyledRadio = styled(Radio)(() => ({\n color: `${color.tertiary()} !important`,\n}));\n\nconst RadioWithLabel = ({ label, value, checked, onChange }) => (\n <StyledFormControlLabel\n value={value}\n control={<StyledRadio checked={checked} onChange={onChange} />}\n label={label}\n />\n);\n\nRadioWithLabel.propTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nexport default RadioWithLabel;\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;EAAA,OAAO;IAC7D,8BAA8B,EAAE;MAC9BC,IAAI,EAAE,MAAM;MACZC,QAAQ,EAAE;IACZ;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,WAAW,GAAG,IAAAJ,cAAM,EAACK,iBAAK,CAAC,CAAC;EAAA,OAAO;IACvCC,KAAK,KAAAC,MAAA,CAAKD,eAAK,CAACE,QAAQ,CAAC,CAAC;EAC5B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;EAAA,oBACvDnB,MAAA,YAAAoB,aAAA,CAAChB,sBAAsB;IACrBa,KAAK,EAAEA,KAAM;IACbI,OAAO,eAAErB,MAAA,YAAAoB,aAAA,CAACX,WAAW;MAACS,OAAO,EAAEA,OAAQ;MAACC,QAAQ,EAAEA;IAAS,CAAE,CAAE;IAC/DH,KAAK,EAAEA;EAAM,CACd,CAAC;AAAA,CACH;AAEDF,cAAc,CAACQ,SAAS,GAAG;EACzBN,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,cAAc","ignoreList":[]}
@@ -1,48 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
17
-
18
- var _styles = require("@material-ui/core/styles");
19
-
11
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
+ var _styles = require("@mui/material/styles");
20
13
  var _numberTextField = _interopRequireDefault(require("../number-text-field"));
21
-
22
- 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; }
23
-
24
- 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; }
25
-
26
- var DisplaySize = (0, _styles.withStyles)(function (theme) {
14
+ 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; }
15
+ 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; }
16
+ var StyledDisplaySize = (0, _styles.styled)('div')(function (_ref) {
17
+ var theme = _ref.theme;
27
18
  return {
28
- displaySize: {
29
- display: 'flex',
30
- paddingTop: theme.spacing.unit
31
- }
19
+ display: 'flex',
20
+ paddingTop: theme.spacing(1)
32
21
  };
33
- })(function (_ref) {
34
- var size = _ref.size,
35
- label = _ref.label,
36
- classes = _ref.classes,
37
- onChange = _ref.onChange;
38
-
22
+ });
23
+ var DisplaySize = function DisplaySize(_ref2) {
24
+ var size = _ref2.size,
25
+ label = _ref2.label,
26
+ onChange = _ref2.onChange;
39
27
  var updateSize = function updateSize(key, v) {
40
28
  onChange(_objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, v)));
41
29
  };
42
-
43
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, label), /*#__PURE__*/_react["default"].createElement("div", {
44
- className: classes.displaySize
45
- }, /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
30
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, label), /*#__PURE__*/_react["default"].createElement(StyledDisplaySize, null, /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
46
31
  label: "Width",
47
32
  type: "number",
48
33
  variant: "outlined",
@@ -63,7 +48,7 @@ var DisplaySize = (0, _styles.withStyles)(function (theme) {
63
48
  return updateSize('height', v);
64
49
  }
65
50
  })));
66
- });
51
+ };
67
52
  DisplaySize.propTypes = {
68
53
  size: _propTypes["default"].shape({
69
54
  width: _propTypes["default"].number.isRequired,
@@ -72,6 +57,5 @@ DisplaySize.propTypes = {
72
57
  label: _propTypes["default"].string.isRequired,
73
58
  onChange: _propTypes["default"].func
74
59
  };
75
- var _default = DisplaySize;
76
- exports["default"] = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXNwbGF5U2l6ZSIsIndpdGhTdHlsZXMiLCJ0aGVtZSIsImRpc3BsYXlTaXplIiwiZGlzcGxheSIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwidW5pdCIsInNpemUiLCJsYWJlbCIsImNsYXNzZXMiLCJvbkNoYW5nZSIsInVwZGF0ZVNpemUiLCJrZXkiLCJ2Iiwid2lkdGgiLCJlIiwiaGVpZ2h0IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic2hhcGUiLCJudW1iZXIiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiZnVuYyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXR0aW5ncy9kaXNwbGF5LXNpemUuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBOdW1iZXJUZXh0RmllbGQgZnJvbSAnLi4vbnVtYmVyLXRleHQtZmllbGQnO1xuXG5jb25zdCBEaXNwbGF5U2l6ZSA9IHdpdGhTdHlsZXModGhlbWUgPT4gKHtcbiAgZGlzcGxheVNpemU6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0XG4gIH1cbn0pKSgoeyBzaXplLCBsYWJlbCwgY2xhc3Nlcywgb25DaGFuZ2UgfSkgPT4ge1xuICBjb25zdCB1cGRhdGVTaXplID0gKGtleSwgdikgPT4ge1xuICAgIG9uQ2hhbmdlKHsgLi4uc2l6ZSwgW2tleV06IHYgfSk7XG4gIH07XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxUeXBvZ3JhcGh5PntsYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kaXNwbGF5U2l6ZX0+XG4gICAgICAgIDxOdW1iZXJUZXh0RmllbGRcbiAgICAgICAgICBsYWJlbD1cIldpZHRoXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICAgIHZhbHVlPXtzaXplLndpZHRofVxuICAgICAgICAgIG1pbj17MTUwfVxuICAgICAgICAgIG1heD17MTAwMH1cbiAgICAgICAgICBvbkNoYW5nZT17KGUsIHYpID0+IHVwZGF0ZVNpemUoJ3dpZHRoJywgdil9XG4gICAgICAgIC8+XG4gICAgICAgIDxOdW1iZXJUZXh0RmllbGRcbiAgICAgICAgICBsYWJlbD1cIkhlaWdodFwiXG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICBtaW49ezE1MH1cbiAgICAgICAgICBtYXg9ezEwMDB9XG4gICAgICAgICAgdmFsdWU9e3NpemUuaGVpZ2h0fVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSwgdikgPT4gdXBkYXRlU2l6ZSgnaGVpZ2h0Jywgdil9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn0pO1xuXG5EaXNwbGF5U2l6ZS5wcm9wVHlwZXMgPSB7XG4gIHNpemU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZFxuICB9KS5pc1JlcXVpcmVkLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpc3BsYXlTaXplO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxXQUFXLEdBQUcsSUFBQUMsa0JBQUEsRUFBVyxVQUFBQyxLQUFLO0VBQUEsT0FBSztJQUN2Q0MsV0FBVyxFQUFFO01BQ1hDLE9BQU8sRUFBRSxNQURFO01BRVhDLFVBQVUsRUFBRUgsS0FBSyxDQUFDSSxPQUFOLENBQWNDO0lBRmY7RUFEMEIsQ0FBTDtBQUFBLENBQWhCLEVBS2hCLGdCQUF3QztFQUFBLElBQXJDQyxJQUFxQyxRQUFyQ0EsSUFBcUM7RUFBQSxJQUEvQkMsS0FBK0IsUUFBL0JBLEtBQStCO0VBQUEsSUFBeEJDLE9BQXdCLFFBQXhCQSxPQUF3QjtFQUFBLElBQWZDLFFBQWUsUUFBZkEsUUFBZTs7RUFDMUMsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0MsR0FBRCxFQUFNQyxDQUFOLEVBQVk7SUFDN0JILFFBQVEsaUNBQU1ILElBQU4sNENBQWFLLEdBQWIsRUFBbUJDLENBQW5CLEdBQVI7RUFDRCxDQUZEOztFQUdBLG9CQUNFLDBEQUNFLGdDQUFDLHNCQUFELFFBQWFMLEtBQWIsQ0FERixlQUVFO0lBQUssU0FBUyxFQUFFQyxPQUFPLENBQUNQO0VBQXhCLGdCQUNFLGdDQUFDLDJCQUFEO0lBQ0UsS0FBSyxFQUFDLE9BRFI7SUFFRSxJQUFJLEVBQUMsUUFGUDtJQUdFLE9BQU8sRUFBQyxVQUhWO0lBSUUsS0FBSyxFQUFFSyxJQUFJLENBQUNPLEtBSmQ7SUFLRSxHQUFHLEVBQUUsR0FMUDtJQU1FLEdBQUcsRUFBRSxJQU5QO0lBT0UsUUFBUSxFQUFFLGtCQUFDQyxDQUFELEVBQUlGLENBQUo7TUFBQSxPQUFVRixVQUFVLENBQUMsT0FBRCxFQUFVRSxDQUFWLENBQXBCO0lBQUE7RUFQWixFQURGLGVBVUUsZ0NBQUMsMkJBQUQ7SUFDRSxLQUFLLEVBQUMsUUFEUjtJQUVFLElBQUksRUFBQyxRQUZQO0lBR0UsT0FBTyxFQUFDLFVBSFY7SUFJRSxHQUFHLEVBQUUsR0FKUDtJQUtFLEdBQUcsRUFBRSxJQUxQO0lBTUUsS0FBSyxFQUFFTixJQUFJLENBQUNTLE1BTmQ7SUFPRSxRQUFRLEVBQUUsa0JBQUNELENBQUQsRUFBSUYsQ0FBSjtNQUFBLE9BQVVGLFVBQVUsQ0FBQyxRQUFELEVBQVdFLENBQVgsQ0FBcEI7SUFBQTtFQVBaLEVBVkYsQ0FGRixDQURGO0FBeUJELENBbENtQixDQUFwQjtBQW9DQWQsV0FBVyxDQUFDa0IsU0FBWixHQUF3QjtFQUN0QlYsSUFBSSxFQUFFVyxxQkFBQSxDQUFVQyxLQUFWLENBQWdCO0lBQ3BCTCxLQUFLLEVBQUVJLHFCQUFBLENBQVVFLE1BQVYsQ0FBaUJDLFVBREo7SUFFcEJMLE1BQU0sRUFBRUUscUJBQUEsQ0FBVUUsTUFBVixDQUFpQkM7RUFGTCxDQUFoQixFQUdIQSxVQUptQjtFQUt0QmIsS0FBSyxFQUFFVSxxQkFBQSxDQUFVSSxNQUFWLENBQWlCRCxVQUxGO0VBTXRCWCxRQUFRLEVBQUVRLHFCQUFBLENBQVVLO0FBTkUsQ0FBeEI7ZUFTZXhCLFcifQ==
60
+ var _default = exports["default"] = DisplaySize;
61
+ //# sourceMappingURL=display-size.js.map