@scenid/react-formulator 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -50,6 +50,9 @@ var Tooltip = require('@material-ui/core/Tooltip');
50
50
  var Tabs = require('@material-ui/core/Tabs');
51
51
  var Typography = require('@material-ui/core/Typography');
52
52
  var Collapse = require('@material-ui/core/Collapse');
53
+ var _Close = require('@material-ui/icons/esm/Close');
54
+ var _Check = require('@material-ui/icons/esm/Check');
55
+ var colorManipulator = require('@material-ui/core/styles/colorManipulator');
53
56
 
54
57
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
58
 
@@ -116,6 +119,8 @@ var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
116
119
  var Tabs__default = /*#__PURE__*/_interopDefaultLegacy(Tabs);
117
120
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
118
121
  var Collapse__default = /*#__PURE__*/_interopDefaultLegacy(Collapse);
122
+ var _Close__default = /*#__PURE__*/_interopDefaultLegacy(_Close);
123
+ var _Check__default = /*#__PURE__*/_interopDefaultLegacy(_Check);
119
124
 
120
125
  function _classCallCheck(instance, Constructor) {
121
126
  if (!(instance instanceof Constructor)) {
@@ -22050,12 +22055,12 @@ function requireIsDate () {
22050
22055
  return isDate$1.exports;
22051
22056
  }
22052
22057
 
22053
- var isBoolean$2 = {exports: {}};
22058
+ var isBoolean$3 = {exports: {}};
22054
22059
 
22055
22060
  var hasRequiredIsBoolean;
22056
22061
 
22057
22062
  function requireIsBoolean () {
22058
- if (hasRequiredIsBoolean) return isBoolean$2.exports;
22063
+ if (hasRequiredIsBoolean) return isBoolean$3.exports;
22059
22064
  hasRequiredIsBoolean = 1;
22060
22065
  (function (module, exports) {
22061
22066
 
@@ -22087,8 +22092,8 @@ function requireIsBoolean () {
22087
22092
 
22088
22093
  module.exports = exports.default;
22089
22094
  module.exports.default = exports.default;
22090
- } (isBoolean$2, isBoolean$2.exports));
22091
- return isBoolean$2.exports;
22095
+ } (isBoolean$3, isBoolean$3.exports));
22096
+ return isBoolean$3.exports;
22092
22097
  }
22093
22098
 
22094
22099
  var isLocale = {exports: {}};
@@ -29237,7 +29242,7 @@ FormSectionCard.propTypes = {
29237
29242
  children: PropTypes__default["default"].node
29238
29243
  };
29239
29244
 
29240
- var useStyles$2 = styles$n.makeStyles(function (theme) {
29245
+ var useStyles$3 = styles$n.makeStyles(function (theme) {
29241
29246
  return {
29242
29247
  formSectionBlock: {
29243
29248
  '&:not(:last-child)': {
@@ -29254,7 +29259,7 @@ var FormSectionBlock = function FormSectionBlock(_ref) {
29254
29259
  descVariant = _ref.descVariant,
29255
29260
  textAlign = _ref.textAlign,
29256
29261
  children = _ref.children;
29257
- var styles = useStyles$2();
29262
+ var styles = useStyles$3();
29258
29263
  return /*#__PURE__*/React__default["default"].createElement(_Box__default["default"], {
29259
29264
  className: styles.formSectionBlock
29260
29265
  }, /*#__PURE__*/React__default["default"].createElement(FormGroupHeader, {
@@ -29280,7 +29285,7 @@ var _excluded$6 = ["prepend", "append", "componentProps"];
29280
29285
  function ownKeys$4(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; }
29281
29286
 
29282
29287
  function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29283
- var useStyles$1 = styles$o.makeStyles(function (theme) {
29288
+ var useStyles$2 = styles$o.makeStyles(function (theme) {
29284
29289
  return {
29285
29290
  error: {
29286
29291
  color: theme.palette.error.main
@@ -29290,6 +29295,7 @@ var useStyles$1 = styles$o.makeStyles(function (theme) {
29290
29295
 
29291
29296
  var FormControlField$1 = function FormControlField(_ref) {
29292
29297
  var variant = _ref.variant,
29298
+ formVariant = _ref.formVariant,
29293
29299
  type = _ref.type,
29294
29300
  name = _ref.name,
29295
29301
  label = _ref.label,
@@ -29305,9 +29311,10 @@ var FormControlField$1 = function FormControlField(_ref) {
29305
29311
  validating = _ref.validating,
29306
29312
  dirty = _ref.dirty,
29307
29313
  onChange = _ref.onChange;
29308
- var styles = useStyles$1();
29314
+ var styles = useStyles$2();
29309
29315
 
29310
29316
  var finalProps = _objectSpread$4(_objectSpread$4({
29317
+ formVariant: formVariant,
29311
29318
  name: name,
29312
29319
  label: label,
29313
29320
  defaultValue: defaultValue,
@@ -29332,8 +29339,9 @@ var FormControlField$1 = function FormControlField(_ref) {
29332
29339
  if (isRender) {
29333
29340
  try {
29334
29341
  var oldProps = component.props || {};
29335
- control = /*#__PURE__*/React__default["default"].cloneElement(component, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, finalProps), oldProps), {}, {
29336
- variant: variant,
29342
+ control = /*#__PURE__*/React__default["default"].cloneElement(component, _objectSpread$4(_objectSpread$4(_objectSpread$4({
29343
+ variant: variant
29344
+ }, finalProps), oldProps), {}, {
29337
29345
  label: label,
29338
29346
  hasErrors: hasErrors,
29339
29347
  errors: errors,
@@ -29378,6 +29386,7 @@ var FormControlField$1 = function FormControlField(_ref) {
29378
29386
 
29379
29387
  FormControlField$1.propTypes = {
29380
29388
  variant: PropTypes__default["default"].oneOf(['standard', 'filled', 'outlined']),
29389
+ formVariant: PropTypes__default["default"].oneOf(['block', 'card']),
29381
29390
  component: PropTypes__default["default"].any.isRequired,
29382
29391
  componentProps: PropTypes__default["default"].object,
29383
29392
  type: PropTypes__default["default"].string.isRequired,
@@ -39142,12 +39151,12 @@ FormCatalogType.propTypes = {
39142
39151
  autocomplete: PropTypes__default["default"].bool
39143
39152
  };
39144
39153
 
39145
- var isBoolean$1 = function isBoolean(val) {
39154
+ var isBoolean$2 = function isBoolean(val) {
39146
39155
  return val === false || val === true;
39147
39156
  };
39148
39157
 
39149
- var isChecked$1 = function isChecked(value, defaultValue) {
39150
- return isBoolean$1(value) ? value : defaultValue || false;
39158
+ var isChecked$2 = function isChecked(value, defaultValue) {
39159
+ return isBoolean$2(value) ? value : defaultValue || false;
39151
39160
  };
39152
39161
 
39153
39162
  var FormBoolean = function FormBoolean(_ref) {
@@ -39173,7 +39182,7 @@ var FormBoolean = function FormBoolean(_ref) {
39173
39182
  return /*#__PURE__*/React__default["default"].createElement(_Checkbox__default["default"], {
39174
39183
  color: "primary",
39175
39184
  name: name,
39176
- checked: isChecked$1(value, defaultValue),
39185
+ checked: isChecked$2(value, defaultValue),
39177
39186
  onChange: handleChange
39178
39187
  });
39179
39188
  }
@@ -39181,7 +39190,7 @@ var FormBoolean = function FormBoolean(_ref) {
39181
39190
  return /*#__PURE__*/React__default["default"].createElement(_Switch__default["default"], {
39182
39191
  color: "primary",
39183
39192
  name: name,
39184
- checked: isChecked$1(value, defaultValue),
39193
+ checked: isChecked$2(value, defaultValue),
39185
39194
  onChange: handleChange
39186
39195
  });
39187
39196
  };
@@ -39387,7 +39396,8 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
39387
39396
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39388
39397
 
39389
39398
  var FormControlField = function FormControlField(_ref) {
39390
- var type = _ref.type,
39399
+ var formVariant = _ref.formVariant,
39400
+ type = _ref.type,
39391
39401
  name = _ref.name,
39392
39402
  label = _ref.label,
39393
39403
  component = _ref.component,
@@ -39397,6 +39407,7 @@ var FormControlField = function FormControlField(_ref) {
39397
39407
  required = _ref.required;
39398
39408
 
39399
39409
  var finalProps = _objectSpread$2(_objectSpread$2({}, componentProps), {}, {
39410
+ formVariant: formVariant,
39400
39411
  name: name,
39401
39412
  label: label,
39402
39413
  value: value,
@@ -39405,6 +39416,8 @@ var FormControlField = function FormControlField(_ref) {
39405
39416
  readOnly: true
39406
39417
  });
39407
39418
 
39419
+ var isSwitch = type === 'boolean';
39420
+
39408
39421
  if ((componentProps === null || componentProps === void 0 ? void 0 : componentProps.readOnlyHidden) === true) {
39409
39422
  return false;
39410
39423
  }
@@ -39416,13 +39429,14 @@ var FormControlField = function FormControlField(_ref) {
39416
39429
  display: "flex",
39417
39430
  flexDirection: "column",
39418
39431
  mb: 1.5
39419
- }, label && /*#__PURE__*/React__default["default"].createElement(_Typography__default["default"], {
39432
+ }, label && !isSwitch && /*#__PURE__*/React__default["default"].createElement(_Typography__default["default"], {
39420
39433
  variant: "caption",
39421
39434
  color: "textSecondary"
39422
39435
  }, label), control);
39423
39436
  };
39424
39437
 
39425
39438
  FormControlField.propTypes = {
39439
+ formVariant: PropTypes__default["default"].oneOf(['block', 'card']),
39426
39440
  component: PropTypes__default["default"].any.isRequired,
39427
39441
  componentProps: PropTypes__default["default"].object,
39428
39442
  name: PropTypes__default["default"].string.isRequired,
@@ -77725,32 +77739,42 @@ FormReadOnlySelect.propTypes = {
77725
77739
  })).isRequired
77726
77740
  };
77727
77741
 
77728
- var isBoolean = function isBoolean(val) {
77742
+ var isBoolean$1 = function isBoolean(val) {
77729
77743
  return val === false || val === true;
77730
77744
  };
77731
77745
 
77732
- var isChecked = function isChecked(value, defaultValue) {
77733
- return isBoolean(value) ? value : defaultValue || false;
77746
+ var isChecked$1 = function isChecked(value, defaultValue) {
77747
+ return isBoolean$1(value) ? value : defaultValue || false;
77734
77748
  };
77735
77749
 
77736
77750
  var FormReadOnlyBoolean = function FormReadOnlyBoolean(_ref) {
77737
77751
  var variant = _ref.variant,
77738
77752
  name = _ref.name,
77739
77753
  value = _ref.value,
77740
- defaultValue = _ref.defaultValue;
77754
+ defaultValue = _ref.defaultValue,
77755
+ label = _ref.label,
77756
+ labelPlacement = _ref.labelPlacement;
77741
77757
 
77742
77758
  if (variant === 'checkbox') {
77743
- return /*#__PURE__*/React__default["default"].createElement(_Checkbox__default["default"], {
77744
- name: name,
77745
- checked: isChecked(value, defaultValue),
77746
- disabled: true
77759
+ return /*#__PURE__*/React__default["default"].createElement(_FormControlLabel__default["default"], {
77760
+ label: label,
77761
+ labelPlacement: labelPlacement || 'end',
77762
+ disabled: true,
77763
+ control: /*#__PURE__*/React__default["default"].createElement(_Checkbox__default["default"], {
77764
+ name: name,
77765
+ checked: isChecked$1(value, defaultValue)
77766
+ })
77747
77767
  });
77748
77768
  }
77749
77769
 
77750
- return /*#__PURE__*/React__default["default"].createElement(_Switch__default["default"], {
77751
- name: name,
77752
- checked: isChecked(value, defaultValue),
77753
- disabled: true
77770
+ return /*#__PURE__*/React__default["default"].createElement(_FormControlLabel__default["default"], {
77771
+ label: label,
77772
+ labelPlacement: labelPlacement || 'end',
77773
+ disabled: true,
77774
+ control: /*#__PURE__*/React__default["default"].createElement(_Switch__default["default"], {
77775
+ name: name,
77776
+ checked: isChecked$1(value, defaultValue)
77777
+ })
77754
77778
  });
77755
77779
  };
77756
77780
 
@@ -77758,10 +77782,12 @@ FormReadOnlyBoolean.propTypes = {
77758
77782
  variant: PropTypes__default["default"].string,
77759
77783
  name: PropTypes__default["default"].string.isRequired,
77760
77784
  value: PropTypes__default["default"].bool,
77761
- defaultValue: PropTypes__default["default"].bool
77785
+ defaultValue: PropTypes__default["default"].bool,
77786
+ label: PropTypes__default["default"].string,
77787
+ labelPlacement: PropTypes__default["default"].string
77762
77788
  };
77763
77789
 
77764
- var useStyles = styles$n.makeStyles(function () {
77790
+ var useStyles$1 = styles$n.makeStyles(function () {
77765
77791
  return {
77766
77792
  formRepeater: {
77767
77793
  padding: 0,
@@ -77778,7 +77804,7 @@ var getValue = function getValue(value, catalog) {
77778
77804
  var FormReadOnlyRepeater = function FormReadOnlyRepeater(_ref) {
77779
77805
  var value = _ref.value,
77780
77806
  options = _ref.options;
77781
- var styles = useStyles();
77807
+ var styles = useStyles$1();
77782
77808
  return /*#__PURE__*/React__default["default"].createElement(_List__default["default"], {
77783
77809
  className: styles.formRepeater,
77784
77810
  dense: true
@@ -83328,7 +83354,7 @@ var FormulatorFormSection = /*#__PURE__*/function (_React$Component) {
83328
83354
  dirty = fieldProps.dirty;
83329
83355
 
83330
83356
  if (readOnly) {
83331
- if (!value) return false;
83357
+ if (value === '' || value === undefined || value === null) return false;
83332
83358
 
83333
83359
  if (Array.isArray(obscuredFields) && obscuredFields.includes(name)) {
83334
83360
  return /*#__PURE__*/React__default["default"].createElement(HiddenData, {
@@ -83375,6 +83401,7 @@ var FormulatorFormSection = /*#__PURE__*/function (_React$Component) {
83375
83401
  return /*#__PURE__*/React__default["default"].createElement(FormFieldComponent, {
83376
83402
  key: "form-".concat(id, "-").concat(name),
83377
83403
  variant: inputVariant,
83404
+ formVariant: variant,
83378
83405
  type: type,
83379
83406
  name: name,
83380
83407
  label: label,
@@ -84062,10 +84089,109 @@ FormulatorForm.defaultProps = {
84062
84089
  errorMessages: {}
84063
84090
  };
84064
84091
 
84092
+ var useStyles = styles$o.makeStyles(function (theme) {
84093
+ return {
84094
+ "default": {
84095
+ margin: 0
84096
+ },
84097
+ sharpEdges: {
84098
+ borderRadius: 0
84099
+ },
84100
+ spanToCard: {
84101
+ margin: theme.spacing(2) * -1
84102
+ },
84103
+ checked: {
84104
+ backgroundColor: colorManipulator.alpha(theme.palette.primary.main, 0.12)
84105
+ },
84106
+ unchecked: {
84107
+ backgroundColor: theme.palette.grey[200]
84108
+ }
84109
+ };
84110
+ });
84111
+
84112
+ var isBoolean = function isBoolean(val) {
84113
+ return val === false || val === true;
84114
+ };
84115
+
84116
+ var isChecked = function isChecked(value, defaultValue) {
84117
+ return isBoolean(value) ? value : defaultValue || false;
84118
+ };
84119
+
84120
+ var FormPrimaryToggle = function FormPrimaryToggle(_ref) {
84121
+ var _cx;
84122
+
84123
+ var formVariant = _ref.formVariant,
84124
+ solitary = _ref.solitary,
84125
+ name = _ref.name,
84126
+ value = _ref.value,
84127
+ defaultValue = _ref.defaultValue,
84128
+ onChange = _ref.onChange,
84129
+ readOnly = _ref.readOnly,
84130
+ checkedLabel = _ref.checkedLabel,
84131
+ uncheckedLabel = _ref.uncheckedLabel;
84132
+ var styles = useStyles();
84133
+ var theme = styles$o.useTheme();
84134
+
84135
+ var handleChange = function handleChange(e) {
84136
+ var newValue = e.target.checked;
84137
+ onChange({
84138
+ target: {
84139
+ name: name,
84140
+ value: newValue
84141
+ }
84142
+ });
84143
+ };
84144
+
84145
+ var checked = isChecked(value, defaultValue);
84146
+ return /*#__PURE__*/React__default["default"].createElement(_Paper__default["default"], {
84147
+ elevation: 0,
84148
+ className: cx__default["default"](styles["default"], (_cx = {}, _defineProperty(_cx, styles.spanToCard, formVariant === 'card'), _defineProperty(_cx, styles.sharpEdges, !solitary), _defineProperty(_cx, styles.checked, checked), _defineProperty(_cx, styles.unchecked, !checked), _cx))
84149
+ }, /*#__PURE__*/React__default["default"].createElement(_Box__default["default"], {
84150
+ display: "flex",
84151
+ flexDirection: "row",
84152
+ justifyContent: readOnly ? 'flex-start' : 'space-between',
84153
+ alignItems: "center",
84154
+ padding: 2
84155
+ }, readOnly && checked && /*#__PURE__*/React__default["default"].createElement(_Box__default["default"], {
84156
+ pt: 1,
84157
+ mr: 2
84158
+ }, /*#__PURE__*/React__default["default"].createElement(_Check__default["default"], {
84159
+ fontSize: solitary ? 'large' : 'medium',
84160
+ htmlColor: theme.palette.text.secondary
84161
+ })), readOnly && !checked && /*#__PURE__*/React__default["default"].createElement(_Box__default["default"], {
84162
+ pt: 1,
84163
+ mr: 2
84164
+ }, /*#__PURE__*/React__default["default"].createElement(_Close__default["default"], {
84165
+ fontSize: solitary ? 'large' : 'medium',
84166
+ htmlColor: theme.palette.text.secondary
84167
+ })), /*#__PURE__*/React__default["default"].createElement(_Typography__default["default"], {
84168
+ variant: solitary ? 'h5' : 'body1',
84169
+ color: checked && !readOnly ? 'primary' : 'textSecondary'
84170
+ }, checked ? checkedLabel : uncheckedLabel), !readOnly && /*#__PURE__*/React__default["default"].createElement(_Switch__default["default"], {
84171
+ color: "primary",
84172
+ name: name,
84173
+ checked: checked,
84174
+ onChange: handleChange
84175
+ })));
84176
+ };
84177
+
84178
+ FormPrimaryToggle.propTypes = {
84179
+ formVariant: PropTypes__default["default"].oneOf(['block', 'card']).isRequired,
84180
+ solitary: PropTypes__default["default"].bool,
84181
+ name: PropTypes__default["default"].string.isRequired,
84182
+ value: PropTypes__default["default"].bool,
84183
+ defaultValue: PropTypes__default["default"].bool,
84184
+ onChange: PropTypes__default["default"].func.isRequired,
84185
+ readOnly: PropTypes__default["default"].bool,
84186
+ checkedLabel: PropTypes__default["default"].string.isRequired,
84187
+ uncheckedLabel: PropTypes__default["default"].string.isRequired
84188
+ };
84189
+
84065
84190
  exports.FormAutocomplete = FormAutocomplete;
84066
84191
  exports.FormBoolean = FormBoolean;
84067
84192
  exports.FormField = FormField$1;
84068
84193
  exports.FormNumber = FormNumber;
84194
+ exports.FormPrimaryToggle = FormPrimaryToggle;
84069
84195
  exports.FormReadOnlyBoolean = FormReadOnlyBoolean;
84070
84196
  exports.FormReadOnlyField = FormReadOnlyField$1;
84071
84197
  exports.FormReadOnlyMarkdown = FormReadOnlyMarkdown;
package/dist/index.esm.js CHANGED
@@ -13,7 +13,7 @@ import _FormHelperText from '@material-ui/core/esm/FormHelperText';
13
13
  import _FormControlLabel from '@material-ui/core/esm/FormControlLabel';
14
14
  import _InputAdornment from '@material-ui/core/esm/InputAdornment';
15
15
  import cx from 'classnames';
16
- import { makeStyles as makeStyles$1 } from '@material-ui/styles';
16
+ import { makeStyles as makeStyles$1, useTheme as useTheme$1 } from '@material-ui/styles';
17
17
  import AutorenewIcon from '@material-ui/icons/Autorenew';
18
18
  import _TextField from '@material-ui/core/esm/TextField';
19
19
  import _CircularProgress from '@material-ui/core/esm/CircularProgress';
@@ -48,6 +48,9 @@ import Tooltip from '@material-ui/core/Tooltip';
48
48
  import Tabs from '@material-ui/core/Tabs';
49
49
  import Typography$1 from '@material-ui/core/Typography';
50
50
  import Collapse from '@material-ui/core/Collapse';
51
+ import _Close from '@material-ui/icons/esm/Close';
52
+ import _Check from '@material-ui/icons/esm/Check';
53
+ import { alpha as alpha$2 } from '@material-ui/core/styles/colorManipulator';
51
54
 
52
55
  function _classCallCheck(instance, Constructor) {
53
56
  if (!(instance instanceof Constructor)) {
@@ -21982,12 +21985,12 @@ function requireIsDate () {
21982
21985
  return isDate$1.exports;
21983
21986
  }
21984
21987
 
21985
- var isBoolean$2 = {exports: {}};
21988
+ var isBoolean$3 = {exports: {}};
21986
21989
 
21987
21990
  var hasRequiredIsBoolean;
21988
21991
 
21989
21992
  function requireIsBoolean () {
21990
- if (hasRequiredIsBoolean) return isBoolean$2.exports;
21993
+ if (hasRequiredIsBoolean) return isBoolean$3.exports;
21991
21994
  hasRequiredIsBoolean = 1;
21992
21995
  (function (module, exports) {
21993
21996
 
@@ -22019,8 +22022,8 @@ function requireIsBoolean () {
22019
22022
 
22020
22023
  module.exports = exports.default;
22021
22024
  module.exports.default = exports.default;
22022
- } (isBoolean$2, isBoolean$2.exports));
22023
- return isBoolean$2.exports;
22025
+ } (isBoolean$3, isBoolean$3.exports));
22026
+ return isBoolean$3.exports;
22024
22027
  }
22025
22028
 
22026
22029
  var isLocale = {exports: {}};
@@ -29169,7 +29172,7 @@ FormSectionCard.propTypes = {
29169
29172
  children: PropTypes__default.node
29170
29173
  };
29171
29174
 
29172
- var useStyles$2 = makeStyles(function (theme) {
29175
+ var useStyles$3 = makeStyles(function (theme) {
29173
29176
  return {
29174
29177
  formSectionBlock: {
29175
29178
  '&:not(:last-child)': {
@@ -29186,7 +29189,7 @@ var FormSectionBlock = function FormSectionBlock(_ref) {
29186
29189
  descVariant = _ref.descVariant,
29187
29190
  textAlign = _ref.textAlign,
29188
29191
  children = _ref.children;
29189
- var styles = useStyles$2();
29192
+ var styles = useStyles$3();
29190
29193
  return /*#__PURE__*/React__default.createElement(_Box, {
29191
29194
  className: styles.formSectionBlock
29192
29195
  }, /*#__PURE__*/React__default.createElement(FormGroupHeader, {
@@ -29212,7 +29215,7 @@ var _excluded$6 = ["prepend", "append", "componentProps"];
29212
29215
  function ownKeys$4(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; }
29213
29216
 
29214
29217
  function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29215
- var useStyles$1 = makeStyles$1(function (theme) {
29218
+ var useStyles$2 = makeStyles$1(function (theme) {
29216
29219
  return {
29217
29220
  error: {
29218
29221
  color: theme.palette.error.main
@@ -29222,6 +29225,7 @@ var useStyles$1 = makeStyles$1(function (theme) {
29222
29225
 
29223
29226
  var FormControlField$1 = function FormControlField(_ref) {
29224
29227
  var variant = _ref.variant,
29228
+ formVariant = _ref.formVariant,
29225
29229
  type = _ref.type,
29226
29230
  name = _ref.name,
29227
29231
  label = _ref.label,
@@ -29237,9 +29241,10 @@ var FormControlField$1 = function FormControlField(_ref) {
29237
29241
  validating = _ref.validating,
29238
29242
  dirty = _ref.dirty,
29239
29243
  onChange = _ref.onChange;
29240
- var styles = useStyles$1();
29244
+ var styles = useStyles$2();
29241
29245
 
29242
29246
  var finalProps = _objectSpread$4(_objectSpread$4({
29247
+ formVariant: formVariant,
29243
29248
  name: name,
29244
29249
  label: label,
29245
29250
  defaultValue: defaultValue,
@@ -29264,8 +29269,9 @@ var FormControlField$1 = function FormControlField(_ref) {
29264
29269
  if (isRender) {
29265
29270
  try {
29266
29271
  var oldProps = component.props || {};
29267
- control = /*#__PURE__*/React__default.cloneElement(component, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, finalProps), oldProps), {}, {
29268
- variant: variant,
29272
+ control = /*#__PURE__*/React__default.cloneElement(component, _objectSpread$4(_objectSpread$4(_objectSpread$4({
29273
+ variant: variant
29274
+ }, finalProps), oldProps), {}, {
29269
29275
  label: label,
29270
29276
  hasErrors: hasErrors,
29271
29277
  errors: errors,
@@ -29310,6 +29316,7 @@ var FormControlField$1 = function FormControlField(_ref) {
29310
29316
 
29311
29317
  FormControlField$1.propTypes = {
29312
29318
  variant: PropTypes__default.oneOf(['standard', 'filled', 'outlined']),
29319
+ formVariant: PropTypes__default.oneOf(['block', 'card']),
29313
29320
  component: PropTypes__default.any.isRequired,
29314
29321
  componentProps: PropTypes__default.object,
29315
29322
  type: PropTypes__default.string.isRequired,
@@ -39074,12 +39081,12 @@ FormCatalogType.propTypes = {
39074
39081
  autocomplete: PropTypes__default.bool
39075
39082
  };
39076
39083
 
39077
- var isBoolean$1 = function isBoolean(val) {
39084
+ var isBoolean$2 = function isBoolean(val) {
39078
39085
  return val === false || val === true;
39079
39086
  };
39080
39087
 
39081
- var isChecked$1 = function isChecked(value, defaultValue) {
39082
- return isBoolean$1(value) ? value : defaultValue || false;
39088
+ var isChecked$2 = function isChecked(value, defaultValue) {
39089
+ return isBoolean$2(value) ? value : defaultValue || false;
39083
39090
  };
39084
39091
 
39085
39092
  var FormBoolean = function FormBoolean(_ref) {
@@ -39105,7 +39112,7 @@ var FormBoolean = function FormBoolean(_ref) {
39105
39112
  return /*#__PURE__*/React__default.createElement(_Checkbox, {
39106
39113
  color: "primary",
39107
39114
  name: name,
39108
- checked: isChecked$1(value, defaultValue),
39115
+ checked: isChecked$2(value, defaultValue),
39109
39116
  onChange: handleChange
39110
39117
  });
39111
39118
  }
@@ -39113,7 +39120,7 @@ var FormBoolean = function FormBoolean(_ref) {
39113
39120
  return /*#__PURE__*/React__default.createElement(_Switch, {
39114
39121
  color: "primary",
39115
39122
  name: name,
39116
- checked: isChecked$1(value, defaultValue),
39123
+ checked: isChecked$2(value, defaultValue),
39117
39124
  onChange: handleChange
39118
39125
  });
39119
39126
  };
@@ -39319,7 +39326,8 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
39319
39326
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39320
39327
 
39321
39328
  var FormControlField = function FormControlField(_ref) {
39322
- var type = _ref.type,
39329
+ var formVariant = _ref.formVariant,
39330
+ type = _ref.type,
39323
39331
  name = _ref.name,
39324
39332
  label = _ref.label,
39325
39333
  component = _ref.component,
@@ -39329,6 +39337,7 @@ var FormControlField = function FormControlField(_ref) {
39329
39337
  required = _ref.required;
39330
39338
 
39331
39339
  var finalProps = _objectSpread$2(_objectSpread$2({}, componentProps), {}, {
39340
+ formVariant: formVariant,
39332
39341
  name: name,
39333
39342
  label: label,
39334
39343
  value: value,
@@ -39337,6 +39346,8 @@ var FormControlField = function FormControlField(_ref) {
39337
39346
  readOnly: true
39338
39347
  });
39339
39348
 
39349
+ var isSwitch = type === 'boolean';
39350
+
39340
39351
  if ((componentProps === null || componentProps === void 0 ? void 0 : componentProps.readOnlyHidden) === true) {
39341
39352
  return false;
39342
39353
  }
@@ -39348,13 +39359,14 @@ var FormControlField = function FormControlField(_ref) {
39348
39359
  display: "flex",
39349
39360
  flexDirection: "column",
39350
39361
  mb: 1.5
39351
- }, label && /*#__PURE__*/React__default.createElement(_Typography, {
39362
+ }, label && !isSwitch && /*#__PURE__*/React__default.createElement(_Typography, {
39352
39363
  variant: "caption",
39353
39364
  color: "textSecondary"
39354
39365
  }, label), control);
39355
39366
  };
39356
39367
 
39357
39368
  FormControlField.propTypes = {
39369
+ formVariant: PropTypes__default.oneOf(['block', 'card']),
39358
39370
  component: PropTypes__default.any.isRequired,
39359
39371
  componentProps: PropTypes__default.object,
39360
39372
  name: PropTypes__default.string.isRequired,
@@ -77657,32 +77669,42 @@ FormReadOnlySelect.propTypes = {
77657
77669
  })).isRequired
77658
77670
  };
77659
77671
 
77660
- var isBoolean = function isBoolean(val) {
77672
+ var isBoolean$1 = function isBoolean(val) {
77661
77673
  return val === false || val === true;
77662
77674
  };
77663
77675
 
77664
- var isChecked = function isChecked(value, defaultValue) {
77665
- return isBoolean(value) ? value : defaultValue || false;
77676
+ var isChecked$1 = function isChecked(value, defaultValue) {
77677
+ return isBoolean$1(value) ? value : defaultValue || false;
77666
77678
  };
77667
77679
 
77668
77680
  var FormReadOnlyBoolean = function FormReadOnlyBoolean(_ref) {
77669
77681
  var variant = _ref.variant,
77670
77682
  name = _ref.name,
77671
77683
  value = _ref.value,
77672
- defaultValue = _ref.defaultValue;
77684
+ defaultValue = _ref.defaultValue,
77685
+ label = _ref.label,
77686
+ labelPlacement = _ref.labelPlacement;
77673
77687
 
77674
77688
  if (variant === 'checkbox') {
77675
- return /*#__PURE__*/React__default.createElement(_Checkbox, {
77676
- name: name,
77677
- checked: isChecked(value, defaultValue),
77678
- disabled: true
77689
+ return /*#__PURE__*/React__default.createElement(_FormControlLabel, {
77690
+ label: label,
77691
+ labelPlacement: labelPlacement || 'end',
77692
+ disabled: true,
77693
+ control: /*#__PURE__*/React__default.createElement(_Checkbox, {
77694
+ name: name,
77695
+ checked: isChecked$1(value, defaultValue)
77696
+ })
77679
77697
  });
77680
77698
  }
77681
77699
 
77682
- return /*#__PURE__*/React__default.createElement(_Switch, {
77683
- name: name,
77684
- checked: isChecked(value, defaultValue),
77685
- disabled: true
77700
+ return /*#__PURE__*/React__default.createElement(_FormControlLabel, {
77701
+ label: label,
77702
+ labelPlacement: labelPlacement || 'end',
77703
+ disabled: true,
77704
+ control: /*#__PURE__*/React__default.createElement(_Switch, {
77705
+ name: name,
77706
+ checked: isChecked$1(value, defaultValue)
77707
+ })
77686
77708
  });
77687
77709
  };
77688
77710
 
@@ -77690,10 +77712,12 @@ FormReadOnlyBoolean.propTypes = {
77690
77712
  variant: PropTypes__default.string,
77691
77713
  name: PropTypes__default.string.isRequired,
77692
77714
  value: PropTypes__default.bool,
77693
- defaultValue: PropTypes__default.bool
77715
+ defaultValue: PropTypes__default.bool,
77716
+ label: PropTypes__default.string,
77717
+ labelPlacement: PropTypes__default.string
77694
77718
  };
77695
77719
 
77696
- var useStyles = makeStyles(function () {
77720
+ var useStyles$1 = makeStyles(function () {
77697
77721
  return {
77698
77722
  formRepeater: {
77699
77723
  padding: 0,
@@ -77710,7 +77734,7 @@ var getValue = function getValue(value, catalog) {
77710
77734
  var FormReadOnlyRepeater = function FormReadOnlyRepeater(_ref) {
77711
77735
  var value = _ref.value,
77712
77736
  options = _ref.options;
77713
- var styles = useStyles();
77737
+ var styles = useStyles$1();
77714
77738
  return /*#__PURE__*/React__default.createElement(_List, {
77715
77739
  className: styles.formRepeater,
77716
77740
  dense: true
@@ -83260,7 +83284,7 @@ var FormulatorFormSection = /*#__PURE__*/function (_React$Component) {
83260
83284
  dirty = fieldProps.dirty;
83261
83285
 
83262
83286
  if (readOnly) {
83263
- if (!value) return false;
83287
+ if (value === '' || value === undefined || value === null) return false;
83264
83288
 
83265
83289
  if (Array.isArray(obscuredFields) && obscuredFields.includes(name)) {
83266
83290
  return /*#__PURE__*/React__default.createElement(HiddenData, {
@@ -83307,6 +83331,7 @@ var FormulatorFormSection = /*#__PURE__*/function (_React$Component) {
83307
83331
  return /*#__PURE__*/React__default.createElement(FormFieldComponent, {
83308
83332
  key: "form-".concat(id, "-").concat(name),
83309
83333
  variant: inputVariant,
83334
+ formVariant: variant,
83310
83335
  type: type,
83311
83336
  name: name,
83312
83337
  label: label,
@@ -83994,4 +84019,102 @@ FormulatorForm.defaultProps = {
83994
84019
  errorMessages: {}
83995
84020
  };
83996
84021
 
83997
- export { FormAutocomplete, FormBoolean, FormField$1 as FormField, FormNumber, FormReadOnlyBoolean, FormReadOnlyField$1 as FormReadOnlyField, FormReadOnlyMarkdown, FormReadOnlyNumber, FormReadOnlyRepeater, FormReadOnlySelect, FormReadOnlyText, FormRepeater, FormSelect, FormText, FormulatorForm, HiddenData, SelectOrCreate };
84022
+ var useStyles = makeStyles$1(function (theme) {
84023
+ return {
84024
+ "default": {
84025
+ margin: 0
84026
+ },
84027
+ sharpEdges: {
84028
+ borderRadius: 0
84029
+ },
84030
+ spanToCard: {
84031
+ margin: theme.spacing(2) * -1
84032
+ },
84033
+ checked: {
84034
+ backgroundColor: alpha$2(theme.palette.primary.main, 0.12)
84035
+ },
84036
+ unchecked: {
84037
+ backgroundColor: theme.palette.grey[200]
84038
+ }
84039
+ };
84040
+ });
84041
+
84042
+ var isBoolean = function isBoolean(val) {
84043
+ return val === false || val === true;
84044
+ };
84045
+
84046
+ var isChecked = function isChecked(value, defaultValue) {
84047
+ return isBoolean(value) ? value : defaultValue || false;
84048
+ };
84049
+
84050
+ var FormPrimaryToggle = function FormPrimaryToggle(_ref) {
84051
+ var _cx;
84052
+
84053
+ var formVariant = _ref.formVariant,
84054
+ solitary = _ref.solitary,
84055
+ name = _ref.name,
84056
+ value = _ref.value,
84057
+ defaultValue = _ref.defaultValue,
84058
+ onChange = _ref.onChange,
84059
+ readOnly = _ref.readOnly,
84060
+ checkedLabel = _ref.checkedLabel,
84061
+ uncheckedLabel = _ref.uncheckedLabel;
84062
+ var styles = useStyles();
84063
+ var theme = useTheme$1();
84064
+
84065
+ var handleChange = function handleChange(e) {
84066
+ var newValue = e.target.checked;
84067
+ onChange({
84068
+ target: {
84069
+ name: name,
84070
+ value: newValue
84071
+ }
84072
+ });
84073
+ };
84074
+
84075
+ var checked = isChecked(value, defaultValue);
84076
+ return /*#__PURE__*/React__default.createElement(_Paper, {
84077
+ elevation: 0,
84078
+ className: cx(styles["default"], (_cx = {}, _defineProperty(_cx, styles.spanToCard, formVariant === 'card'), _defineProperty(_cx, styles.sharpEdges, !solitary), _defineProperty(_cx, styles.checked, checked), _defineProperty(_cx, styles.unchecked, !checked), _cx))
84079
+ }, /*#__PURE__*/React__default.createElement(_Box, {
84080
+ display: "flex",
84081
+ flexDirection: "row",
84082
+ justifyContent: readOnly ? 'flex-start' : 'space-between',
84083
+ alignItems: "center",
84084
+ padding: 2
84085
+ }, readOnly && checked && /*#__PURE__*/React__default.createElement(_Box, {
84086
+ pt: 1,
84087
+ mr: 2
84088
+ }, /*#__PURE__*/React__default.createElement(_Check, {
84089
+ fontSize: solitary ? 'large' : 'medium',
84090
+ htmlColor: theme.palette.text.secondary
84091
+ })), readOnly && !checked && /*#__PURE__*/React__default.createElement(_Box, {
84092
+ pt: 1,
84093
+ mr: 2
84094
+ }, /*#__PURE__*/React__default.createElement(_Close, {
84095
+ fontSize: solitary ? 'large' : 'medium',
84096
+ htmlColor: theme.palette.text.secondary
84097
+ })), /*#__PURE__*/React__default.createElement(_Typography, {
84098
+ variant: solitary ? 'h5' : 'body1',
84099
+ color: checked && !readOnly ? 'primary' : 'textSecondary'
84100
+ }, checked ? checkedLabel : uncheckedLabel), !readOnly && /*#__PURE__*/React__default.createElement(_Switch, {
84101
+ color: "primary",
84102
+ name: name,
84103
+ checked: checked,
84104
+ onChange: handleChange
84105
+ })));
84106
+ };
84107
+
84108
+ FormPrimaryToggle.propTypes = {
84109
+ formVariant: PropTypes__default.oneOf(['block', 'card']).isRequired,
84110
+ solitary: PropTypes__default.bool,
84111
+ name: PropTypes__default.string.isRequired,
84112
+ value: PropTypes__default.bool,
84113
+ defaultValue: PropTypes__default.bool,
84114
+ onChange: PropTypes__default.func.isRequired,
84115
+ readOnly: PropTypes__default.bool,
84116
+ checkedLabel: PropTypes__default.string.isRequired,
84117
+ uncheckedLabel: PropTypes__default.string.isRequired
84118
+ };
84119
+
84120
+ export { FormAutocomplete, FormBoolean, FormField$1 as FormField, FormNumber, FormPrimaryToggle, FormReadOnlyBoolean, FormReadOnlyField$1 as FormReadOnlyField, FormReadOnlyMarkdown, FormReadOnlyNumber, FormReadOnlyRepeater, FormReadOnlySelect, FormReadOnlyText, FormRepeater, FormSelect, FormText, FormulatorForm, HiddenData, SelectOrCreate };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scenid/react-formulator",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "repository": "https://dennykoch@bitbucket.org/scenid/react-formulator.git",