@maif/react-forms 1.0.28 → 1.0.31

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.
@@ -195,7 +195,7 @@ exports.maxSize = _maxSize;
195
195
 
196
196
  var _nullable = function nullable() {
197
197
  return function (r) {
198
- return r.nullable();
198
+ return r.nullable().optional();
199
199
  };
200
200
  };
201
201
 
package/lib/form.js CHANGED
@@ -654,6 +654,8 @@ var Step = function Step(_ref4) {
654
654
  }, inputProps)));
655
655
 
656
656
  case _format.format.code:
657
+ case _format.format.singleLineCode:
658
+ var Component = step.format === _format.format.code ? _index.CodeInput : _index.SingleLineCode;
657
659
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
658
660
  name: entry,
659
661
  control: control,
@@ -668,7 +670,7 @@ var Step = function Step(_ref4) {
668
670
  rawValues: getValues()
669
671
  }, field),
670
672
  error: error
671
- }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({
673
+ }, /*#__PURE__*/_react["default"].createElement(Component, _extends({
672
674
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
673
675
  readOnly: functionalProperty(entry, step.disabled) ? true : false,
674
676
  onChange: function onChange(e) {
@@ -1224,7 +1226,7 @@ var NestedForm = function NestedForm(_ref16) {
1224
1226
  watch = _useFormContext.watch; // retrieve all hook methods
1225
1227
 
1226
1228
 
1227
- var _useState5 = (0, _react.useState)(false),
1229
+ var _useState5 = (0, _react.useState)(!!step.collapsed),
1228
1230
  _useState6 = _slicedToArray(_useState5, 2),
1229
1231
  collapsed = _useState6[0],
1230
1232
  setCollapsed = _useState6[1];
@@ -1300,7 +1302,7 @@ var NestedForm = function NestedForm(_ref16) {
1300
1302
  top: '5px',
1301
1303
  left: '-16px'
1302
1304
  },
1303
- "stroke-width": "3",
1305
+ strokeWidth: "3",
1304
1306
  onClick: function onClick() {
1305
1307
  return setCollapsed(!collapsed);
1306
1308
  }
@@ -1312,7 +1314,7 @@ var NestedForm = function NestedForm(_ref16) {
1312
1314
  top: '5px',
1313
1315
  left: '-16px'
1314
1316
  },
1315
- "strok-width": "3",
1317
+ strokeWidth: "3",
1316
1318
  onClick: function onClick() {
1317
1319
  return setCollapsed(!collapsed);
1318
1320
  }
@@ -1327,13 +1329,9 @@ var NestedForm = function NestedForm(_ref16) {
1327
1329
  }
1328
1330
 
1329
1331
  var realError = error && error[entry];
1330
- var oneVisibleSetup = Object.values(schemaAndFlow.schema).some(function (v) {
1331
- return !!v.visibleOnCollapse;
1332
- });
1333
- var isCollapsed = collapsed && (oneVisibleSetup ? !step.visibleOnCollapse : idx > 0);
1334
1332
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
1335
1333
  key: "".concat(entry, ".").concat(idx),
1336
- className: (0, _classnames["default"])(_defineProperty({}, classes.display__none, isCollapsed || !visibleStep)),
1334
+ className: (0, _classnames["default"])(_defineProperty({}, classes.display__none, collapsed && !step.visibleOnCollapse || !visibleStep)),
1337
1335
  entry: "".concat(parent, ".").concat(entry),
1338
1336
  error: realError,
1339
1337
  label: functionalProperty(entry, (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry),
package/lib/format.d.ts CHANGED
@@ -9,4 +9,5 @@ export declare const format: {
9
9
  hidden: string;
10
10
  form: string;
11
11
  buttonsSelect: string;
12
+ singleLineCode: string;
12
13
  };
package/lib/format.js CHANGED
@@ -14,6 +14,7 @@ var format = {
14
14
  password: 'password',
15
15
  hidden: 'hidden',
16
16
  form: 'form',
17
- buttonsSelect: 'buttons'
17
+ buttonsSelect: 'buttons',
18
+ singleLineCode: 'singleLineCode'
18
19
  };
19
20
  exports.format = format;
@@ -1,4 +1,5 @@
1
- export function BooleanInput({ onChange, value }: {
1
+ export function BooleanInput({ onChange, value, readOnly }: {
2
2
  onChange: any;
3
3
  value: any;
4
+ readOnly: any;
4
5
  }): JSX.Element;
@@ -7,27 +7,41 @@ exports.BooleanInput = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+
10
12
  var _reactFeather = require("react-feather");
11
13
 
12
14
  var _styleContext = require("../styleContext");
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
16
20
  var BooleanInput = function BooleanInput(_ref) {
21
+ var _classNames;
22
+
17
23
  var onChange = _ref.onChange,
18
- value = _ref.value;
24
+ value = _ref.value,
25
+ readOnly = _ref.readOnly;
19
26
  var classes = (0, _styleContext.useCustomStyle)();
27
+
28
+ var handleClick = function handleClick(value) {
29
+ if (!readOnly) {
30
+ onChange(value);
31
+ }
32
+ };
33
+
20
34
  return /*#__PURE__*/_react["default"].createElement("div", {
21
- className: classes.cursor_pointer
35
+ className: (0, _classnames["default"])((_classNames = {}, _defineProperty(_classNames, classes.cursor_pointer, !readOnly), _defineProperty(_classNames, classes.cursor_not_allowed, readOnly), _classNames))
22
36
  }, !!value && /*#__PURE__*/_react["default"].createElement(_reactFeather.ToggleRight, {
23
- className: classes.input__boolean__on,
37
+ className: (0, _classnames["default"])(classes.input__boolean__on),
24
38
  onClick: function onClick() {
25
- return onChange(false);
39
+ return handleClick(false);
26
40
  }
27
41
  }), !value && /*#__PURE__*/_react["default"].createElement(_reactFeather.ToggleLeft, {
28
- className: classes.input__boolean__off,
42
+ className: (0, _classnames["default"])(classes.input__boolean__off),
29
43
  onClick: function onClick() {
30
- return onChange(true);
44
+ return handleClick(true);
31
45
  }
32
46
  }));
33
47
  };
@@ -54,7 +54,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
54
54
  var valueToSelectOption = function valueToSelectOption(value) {
55
55
  var possibleValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
56
56
  var isMulti = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
57
- var maybeTransformer = arguments.length > 3 ? arguments[3] : undefined;
58
57
 
59
58
  if (value === null) {
60
59
  return null;
@@ -63,7 +62,7 @@ var valueToSelectOption = function valueToSelectOption(value) {
63
62
  if (isMulti) {
64
63
  return (0, _Option.option)(value).map(function (v) {
65
64
  return v.map(function (x) {
66
- return valueToSelectOption(x, possibleValues, false, maybeTransformer);
65
+ return valueToSelectOption(x, possibleValues, false);
67
66
  });
68
67
  }).getOrElse([]);
69
68
  }
@@ -74,7 +73,7 @@ var valueToSelectOption = function valueToSelectOption(value) {
74
73
  return maybeValue.getOrElse({
75
74
  label: maybeValue.map(function (v) {
76
75
  return v.label;
77
- }).getOrElse((value === null || value === void 0 ? void 0 : value.label) || value),
76
+ }).getOrElse((value === null || value === void 0 ? void 0 : value.label) || JSON.stringify(value)),
78
77
  value: maybeValue.map(function (v) {
79
78
  return v.value;
80
79
  }).getOrElse((value === null || value === void 0 ? void 0 : value.value) || value)
@@ -84,10 +83,13 @@ var valueToSelectOption = function valueToSelectOption(value) {
84
83
  var SelectInput = function SelectInput(props) {
85
84
  var classes = (0, _styleContext.useCustomStyle)();
86
85
  var possibleValues = (props.possibleValues || []).map(function (v) {
87
- return props.transformer ? props.transformer(v) : v;
86
+ return props.transformer ? typeof props.transformer === 'function' ? props.transformer(v) : {
87
+ label: v[props.transformer.label],
88
+ value: v[props.transformer.value]
89
+ } : v;
88
90
  }).map(function (v) {
89
91
  return {
90
- label: (v === null || v === void 0 ? void 0 : v.label) || v,
92
+ label: (v === null || v === void 0 ? void 0 : v.label) || JSON.stringify(v),
91
93
  value: (v === null || v === void 0 ? void 0 : v.value) || v
92
94
  };
93
95
  });
@@ -102,13 +104,13 @@ var SelectInput = function SelectInput(props) {
102
104
  values = _useState4[0],
103
105
  setValues = _useState4[1];
104
106
 
105
- var _useState5 = (0, _react.useState)(valueToSelectOption(props.value || props.defaultValue, possibleValues, props.isMulti, props.transformer)),
107
+ var _useState5 = (0, _react.useState)(valueToSelectOption(props.value || props.defaultValue, possibleValues, props.isMulti)),
106
108
  _useState6 = _slicedToArray(_useState5, 2),
107
109
  value = _useState6[0],
108
110
  setValue = _useState6[1];
109
111
 
110
112
  (0, _react.useEffect)(function () {
111
- setValue(valueToSelectOption(props.value, values, props.isMulti, props.transformer));
113
+ setValue(valueToSelectOption(props.value, values, props.isMulti));
112
114
  }, [props.value, values]);
113
115
  (0, _react.useEffect)(function () {
114
116
  if (props.optionsFrom) {
@@ -144,7 +146,7 @@ var SelectInput = function SelectInput(props) {
144
146
  return x.value;
145
147
  }));
146
148
  } else {
147
- props.onChange(changes.value);
149
+ props.onChange(changes === null || changes === void 0 ? void 0 : changes.value);
148
150
  }
149
151
  };
150
152
 
@@ -0,0 +1,9 @@
1
+ export function SingleLineCode({ onChange, value, className, readOnly, theme, mode, ...props }: {
2
+ [x: string]: any;
3
+ onChange: any;
4
+ value: any;
5
+ className?: string | undefined;
6
+ readOnly: any;
7
+ theme?: string | undefined;
8
+ mode?: string | undefined;
9
+ }): JSX.Element;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SingleLineCode = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactAce = _interopRequireDefault(require("react-ace"));
11
+
12
+ var _beautify = _interopRequireDefault(require("brace/ext/beautify"));
13
+
14
+ require("brace/mode/html");
15
+
16
+ require("brace/mode/javascript");
17
+
18
+ require("brace/mode/json");
19
+
20
+ require("brace/mode/css");
21
+
22
+ require("brace/mode/markdown");
23
+
24
+ require("brace/theme/monokai");
25
+
26
+ require("brace/theme/tomorrow");
27
+
28
+ require("brace/ext/searchbox");
29
+
30
+ require("brace/ext/language_tools");
31
+
32
+ var _excluded = ["onChange", "value", "className", "readOnly", "theme", "mode"];
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
+
36
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
+
38
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
39
+
40
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
41
+
42
+ var SingleLineCode = function SingleLineCode(_ref) {
43
+ var onChange = _ref.onChange,
44
+ value = _ref.value,
45
+ _ref$className = _ref.className,
46
+ className = _ref$className === void 0 ? '' : _ref$className,
47
+ readOnly = _ref.readOnly,
48
+ _ref$theme = _ref.theme,
49
+ theme = _ref$theme === void 0 ? 'monokai' : _ref$theme,
50
+ _ref$mode = _ref.mode,
51
+ mode = _ref$mode === void 0 ? 'javascript' : _ref$mode,
52
+ props = _objectWithoutProperties(_ref, _excluded);
53
+
54
+ return /*#__PURE__*/_react["default"].createElement("div", {
55
+ style: {
56
+ padding: '6px',
57
+ backgroundColor: theme === 'monokai' ? "#272822" : '#fff'
58
+ }
59
+ }, /*#__PURE__*/_react["default"].createElement(_reactAce["default"], _extends({
60
+ commands: _beautify["default"].commands,
61
+ className: className,
62
+ readOnly: readOnly,
63
+ style: {
64
+ zIndex: 0,
65
+ isolation: 'isolate'
66
+ },
67
+ width: "-1",
68
+ mode: mode,
69
+ theme: theme,
70
+ onChange: onChange,
71
+ value: value,
72
+ name: "scriptParam",
73
+ setOptions: {
74
+ maxLines: 1,
75
+ fontSize: '15px'
76
+ },
77
+ editorProps: {
78
+ $blockScrolling: true
79
+ },
80
+ showGutter: false,
81
+ highlightActiveLine: false,
82
+ enableBasicAutocompletion: true,
83
+ enableLiveAutocompletion: true,
84
+ ref: props.setRef
85
+ }, props)));
86
+ };
87
+
88
+ exports.SingleLineCode = SingleLineCode;
@@ -5,3 +5,4 @@ export * from "./ArrayInput";
5
5
  export * from "./objectInput";
6
6
  export * from "./CodeInput";
7
7
  export * from "./MarkdownInput";
8
+ export * from "./SingleLineCode";
@@ -93,4 +93,17 @@ Object.keys(_MarkdownInput).forEach(function (key) {
93
93
  return _MarkdownInput[key];
94
94
  }
95
95
  });
96
+ });
97
+
98
+ var _SingleLineCode = require("./SingleLineCode");
99
+
100
+ Object.keys(_SingleLineCode).forEach(function (key) {
101
+ if (key === "default" || key === "__esModule") return;
102
+ if (key in exports && exports[key] === _SingleLineCode[key]) return;
103
+ Object.defineProperty(exports, key, {
104
+ enumerable: true,
105
+ get: function get() {
106
+ return _SingleLineCode[key];
107
+ }
108
+ });
96
109
  });
@@ -42,6 +42,9 @@ var resolvers = (_resolvers = {}, _defineProperty(_resolvers, _type.type.string,
42
42
  }), _resolvers);
43
43
 
44
44
  var buildSubResolver = function buildSubResolver(props, key, dependencies, rawData) {
45
+ var _props$constraints = props.constraints,
46
+ constraints = _props$constraints === void 0 ? [] : _props$constraints;
47
+
45
48
  if (props.array || props.isMulti) {
46
49
  var subResolver;
47
50
  var arrayResolver = yup.array();
@@ -63,7 +66,7 @@ var buildSubResolver = function buildSubResolver(props, key, dependencies, rawDa
63
66
  } else if (props.type === _type.type.object && props.schema) {
64
67
  var _subResolver = getShapeAndDependencies(props.flow || Object.keys(props.schema), props.schema, dependencies, rawData);
65
68
 
66
- return props.constraints.reduce(function (resolver, constraint) {
69
+ return constraints.reduce(function (resolver, constraint) {
67
70
  return jsonOrFunctionConstraint(constraint, resolver, key, dependencies);
68
71
  }, yup.object().shape(_subResolver.shape, dependencies));
69
72
  } else if (props.type === _type.type.object && props.conditionalSchema) {
@@ -90,11 +93,11 @@ var buildSubResolver = function buildSubResolver(props, key, dependencies, rawDa
90
93
 
91
94
  var _subResolver2 = getShapeAndDependencies(flow || Object.keys(schema), schema, dependencies, rawData);
92
95
 
93
- return props.constraints.reduce(function (resolver, constraint) {
96
+ return constraints.reduce(function (resolver, constraint) {
94
97
  return jsonOrFunctionConstraint(constraint, resolver, key, dependencies);
95
98
  }, yup.object().shape(_subResolver2.shape, dependencies));
96
99
  } else {
97
- return props.constraints.reduce(function (resolver, constraint) {
100
+ return constraints.reduce(function (resolver, constraint) {
98
101
  return jsonOrFunctionConstraint(constraint, resolver, key, dependencies);
99
102
  }, resolvers[props.type]());
100
103
  }
@@ -118,14 +121,6 @@ var getShapeAndDependencies = function getShapeAndDependencies(flow, schema) {
118
121
  return _objectSpread(_objectSpread({}, resolvers), getShapeAndDependencies(key.flow, schema, dependencies, rawData).shape);
119
122
  }
120
123
 
121
- console.group('get resolver');
122
- console.debug({
123
- schemaBykey: schema[key],
124
- key: key,
125
- dependencies: dependencies,
126
- rawData: rawData
127
- });
128
- console.groupEnd();
129
124
  var resolver = buildSubResolver(schema[key], key, dependencies, rawData);
130
125
  return _objectSpread(_objectSpread({}, resolvers), {}, _defineProperty({}, key, resolver));
131
126
  }, {});
package/lib/style.d.ts CHANGED
@@ -163,13 +163,17 @@ export namespace style {
163
163
  namespace cursor_pointer {
164
164
  const cursor: string;
165
165
  }
166
+ namespace cursor_not_allowed {
167
+ const cursor_1: string;
168
+ export { cursor_1 as cursor };
169
+ }
166
170
  namespace collapse {
167
171
  const display_2: string;
168
172
  export { display_2 as display };
169
173
  const justifyContent_2: string;
170
174
  export { justifyContent_2 as justifyContent };
171
- const cursor_1: string;
172
- export { cursor_1 as cursor };
175
+ const cursor_2: string;
176
+ export { cursor_2 as cursor };
173
177
  }
174
178
  namespace collapse_label {
175
179
  export const fontWeight: string;
package/lib/style.js CHANGED
@@ -132,6 +132,9 @@ var style = (_style = {
132
132
  cursor_pointer: {
133
133
  cursor: "pointer"
134
134
  },
135
+ cursor_not_allowed: {
136
+ cursor: "not-allowed"
137
+ },
135
138
  collapse: {
136
139
  display: "flex",
137
140
  justifyContent: "space-between",
@@ -1 +1 @@
1
- export function useCustomStyle(overrideStyle?: {}): import("jss").Classes<"code" | "flex" | "input" | "btn" | "btn_sm" | "btn_group" | "btn_red" | "btn_green" | "btn_blue" | "btn_grey" | "txt_red" | "ml_5" | "ml_10" | "mr_5" | "mr_10" | "mt_5" | "mt_10" | "mt_20" | "mb_5" | "p_15" | "pr_15" | "full_width" | "d_none" | "flexColumn" | "justifyContentBetween" | "jc_end" | "ac_center" | "ai_center" | "cursor_pointer" | "collapse" | "collapse_label" | "collapse_error" | "datepicker" | "input__boolean__on" | "input__boolean__off" | "input__invalid" | "invalid_feedback" | "display__none" | "collapse__inline" | "nestedform__border" | "border__error">;
1
+ export function useCustomStyle(overrideStyle?: {}): import("jss").Classes<"code" | "flex" | "input" | "btn" | "btn_sm" | "btn_group" | "btn_red" | "btn_green" | "btn_blue" | "btn_grey" | "txt_red" | "ml_5" | "ml_10" | "mr_5" | "mr_10" | "mt_5" | "mt_10" | "mt_20" | "mb_5" | "p_15" | "pr_15" | "full_width" | "d_none" | "flexColumn" | "justifyContentBetween" | "jc_end" | "ac_center" | "ai_center" | "cursor_pointer" | "cursor_not_allowed" | "collapse" | "collapse_label" | "collapse_error" | "datepicker" | "input__boolean__on" | "input__boolean__off" | "input__invalid" | "invalid_feedback" | "display__none" | "collapse__inline" | "nestedform__border" | "border__error">;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maif/react-forms",
3
3
  "description": "Build react safe forms as fast as possible",
4
- "version": "1.0.28",
4
+ "version": "1.0.31",
5
5
  "main": "lib/index.js",
6
6
  "author": "MAIF team",
7
7
  "keywords": [
@@ -121,6 +121,6 @@
121
121
  "showdown": "1.9.1",
122
122
  "typescript": "^4.3.5",
123
123
  "uuid": "8.3.2",
124
- "yup": "0.32.9"
124
+ "yup": "0.32.11"
125
125
  }
126
126
  }