@maif/react-forms 1.0.13 → 1.0.17

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.
@@ -3,13 +3,11 @@ import { Form } from '@maif/react-forms'
3
3
  import Select from 'react-select';
4
4
  import AceEditor from 'react-ace';
5
5
 
6
- import 'ace-builds/src-noconflict/mode-html'
7
- import 'ace-builds/src-noconflict/mode-json'
8
- import 'ace-builds/src-noconflict/mode-javascript'
9
- import 'ace-builds/src-noconflict/mode-markdown'
10
- import 'ace-builds/src-noconflict/theme-monokai'
11
- import 'ace-builds/src-noconflict/ext-searchbox'
12
- import 'ace-builds/src-noconflict/ext-language_tools'
6
+ import Beautify from 'brace/ext/beautify'
7
+ import 'brace/mode/json'
8
+ import 'brace/theme/monokai'
9
+ import 'brace/ext/searchbox'
10
+ import 'brace/ext/language_tools';
13
11
 
14
12
  import './App.css';
15
13
  import 'bootstrap/dist/css/bootstrap.min.css'
@@ -77,6 +75,7 @@ export const Playground = () => {
77
75
  defaultValue={{ value: basic, label: "basic" }}
78
76
  onChange={e => setSchema(JSON.stringify(examples[e.value], null, 4))} />
79
77
  <AceEditor
78
+ commands={Beautify.commands}
80
79
  style={{ marginTop: '15px', zIndex: 0, isolation: 'isolate', width: '100%' }}
81
80
  mode="json"
82
81
  theme="monokai"
package/lib/form.js CHANGED
@@ -69,7 +69,7 @@ var usePrevious = function usePrevious(value) {
69
69
  var ref = (0, _react.useRef)(); // Store current value in ref
70
70
 
71
71
  (0, _react.useEffect)(function () {
72
- ref.current = value;
72
+ ref.current = JSON.parse(JSON.stringify(value));
73
73
  }, [value]); // Only re-run if value changes
74
74
  // Return previous value (happens before update in useEffect above)
75
75
 
@@ -102,7 +102,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
102
102
 
103
103
  return /*#__PURE__*/_react["default"].createElement("div", {
104
104
  className: "form-group mt-3"
105
- }, /*#__PURE__*/_react["default"].createElement("label", {
105
+ }, label && /*#__PURE__*/_react["default"].createElement("label", {
106
106
  className: "form-label d-flex align-content-center",
107
107
  htmlFor: entry
108
108
  }, /*#__PURE__*/_react["default"].createElement("span", {
@@ -282,7 +282,8 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
282
282
  resolver: function resolver(data, context, options) {
283
283
  return (0, _yup.yupResolver)(_resolver(data))(data, context, options);
284
284
  },
285
- defaultValues: cleanInputArray(value || defaultValues)
285
+ defaultValues: cleanInputArray(value || defaultValues),
286
+ shouldFocusError: !options.autosubmit
286
287
  });
287
288
  var register = methods.register,
288
289
  _handleSubmit = methods.handleSubmit,
@@ -314,7 +315,9 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
314
315
  }, [data]);
315
316
 
316
317
  if (options.watch) {
318
+ console.group('react-form watch');
317
319
  console.log(watch());
320
+ console.groupEnd();
318
321
  }
319
322
 
320
323
  (0, _react.useImperativeHandle)(ref, function () {
@@ -328,7 +331,7 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
328
331
  };
329
332
  });
330
333
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement("form", {
331
- className: className || classes.pr_15,
334
+ className: className || "".concat(classes.pr_15, " ").concat(classes.full_width),
332
335
  onSubmit: _handleSubmit(function (data) {
333
336
  var clean = cleanOutputArray(data);
334
337
  onSubmit(clean);
@@ -345,10 +348,6 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
345
348
  case 'object':
346
349
  var _value = watch(step.visible.ref);
347
350
 
348
- console.log({
349
- value: _value,
350
- step: step
351
- });
352
351
  return (0, _Option.option)(step.visible.test).map(function (test) {
353
352
  return test(_value);
354
353
  }).getOrElse(_value);
@@ -369,7 +368,7 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
369
368
  key: "".concat(entry, "-").concat(idx),
370
369
  entry: entry,
371
370
  error: error,
372
- label: (step === null || step === void 0 ? void 0 : step.label) || entry,
371
+ label: (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry,
373
372
  help: step === null || step === void 0 ? void 0 : step.help,
374
373
  render: inputWrapper
375
374
  }, /*#__PURE__*/_react["default"].createElement(Step, {
@@ -458,11 +457,33 @@ var Step = function Step(_ref4) {
458
457
  var err = _typeof(en) === 'object' ? undefined : en.split('.').reduce(function (object, key) {
459
458
  return object && object[key];
460
459
  }, errors);
460
+ var visibleStep = (0, _Option.option)(stp).map(function (s) {
461
+ return s.visible;
462
+ }).map(function (visible) {
463
+ switch (_typeof(visible)) {
464
+ case 'object':
465
+ var value = watch(visible.ref);
466
+ return (0, _Option.option)(visible.test).map(function (test) {
467
+ return test(value);
468
+ }).getOrElse(value);
469
+
470
+ case 'boolean':
471
+ return visible;
472
+
473
+ default:
474
+ return true;
475
+ }
476
+ }).getOrElse(true);
477
+
478
+ if (!visibleStep) {
479
+ return null;
480
+ }
481
+
461
482
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
462
483
  key: "collapse-".concat(en, "-").concat(entryIdx),
463
484
  entry: en,
464
485
  error: err,
465
- label: (stp === null || stp === void 0 ? void 0 : stp.label) || en,
486
+ label: (stp === null || stp === void 0 ? void 0 : stp.label) === null ? null : (stp === null || stp === void 0 ? void 0 : stp.label) || en,
466
487
  help: stp === null || stp === void 0 ? void 0 : stp.help,
467
488
  render: inputWrapper
468
489
  }, /*#__PURE__*/_react["default"].createElement(Step, {
@@ -477,37 +498,13 @@ var Step = function Step(_ref4) {
477
498
  getValues: getValues,
478
499
  setValue: _setValue,
479
500
  watch: watch,
480
- inputWrapper: inputWrapper
501
+ inputWrapper: inputWrapper,
502
+ httpClient: httpClient,
503
+ defaultValue: stp.defaultValue
481
504
  }));
482
505
  }));
483
506
  }
484
507
 
485
- var visibleStep = (0, _Option.option)(step).map(function (s) {
486
- return s.visible;
487
- }).map(function (visible) {
488
- switch (_typeof(visible)) {
489
- case 'object':
490
- var value = watch(step.visible.ref);
491
- console.log({
492
- value: value,
493
- step: step
494
- });
495
- return (0, _Option.option)(step.visible.test).map(function (test) {
496
- return test(value);
497
- }).getOrElse(value);
498
-
499
- case 'boolean':
500
- return visible;
501
-
502
- default:
503
- return true;
504
- }
505
- }).getOrElse(true);
506
-
507
- if (!visibleStep) {
508
- return null;
509
- }
510
-
511
508
  if (step.array) {
512
509
  return /*#__PURE__*/_react["default"].createElement(ArrayStep, {
513
510
  entry: entry,
@@ -588,13 +585,13 @@ var Step = function Step(_ref4) {
588
585
  rawValues: getValues()
589
586
  }, field),
590
587
  error: error
591
- }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({}, step.props, {
588
+ }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({
592
589
  className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
593
- readOnly: step.disabled ? 'readOnly' : null,
590
+ readOnly: step.disabled ? true : false,
594
591
  onChange: field.onChange,
595
592
  value: field.value,
596
593
  defaultValue: defaultValue
597
- }, step)));
594
+ }, step.props)));
598
595
  }
599
596
  });
600
597
 
@@ -1093,7 +1090,7 @@ var NestedForm = function NestedForm(_ref16) {
1093
1090
  key: "".concat(entry, ".").concat(idx),
1094
1091
  entry: "".concat(parent, ".").concat(entry),
1095
1092
  error: realError,
1096
- label: step.label || entry,
1093
+ label: (step === null || step === void 0 ? void 0 : step.label) === null ? null : (step === null || step === void 0 ? void 0 : step.label) || entry,
1097
1094
  help: step.help,
1098
1095
  render: inputWrapper
1099
1096
  }, /*#__PURE__*/_react["default"].createElement(Step, {
@@ -9,30 +9,32 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _reactAce = _interopRequireDefault(require("react-ace"));
11
11
 
12
- var _extBeautify = _interopRequireDefault(require("ace-builds/src-noconflict/ext-beautify"));
12
+ var _beautify = _interopRequireDefault(require("brace/ext/beautify"));
13
13
 
14
- require("ace-builds/src-noconflict/mode-html");
14
+ require("brace/mode/html");
15
15
 
16
- require("ace-builds/src-noconflict/mode-json");
16
+ require("brace/mode/javascript");
17
17
 
18
- require("ace-builds/src-noconflict/mode-javascript");
18
+ require("brace/mode/json");
19
19
 
20
- require("ace-builds/src-noconflict/mode-css");
20
+ require("brace/mode/css");
21
21
 
22
- require("ace-builds/src-noconflict/mode-markdown");
22
+ require("brace/mode/markdown");
23
23
 
24
- require("ace-builds/src-noconflict/theme-monokai");
24
+ require("brace/theme/monokai");
25
25
 
26
- require("ace-builds/src-noconflict/theme-tomorrow");
26
+ require("brace/theme/tomorrow");
27
27
 
28
- require("ace-builds/src-noconflict/ext-searchbox");
28
+ require("brace/ext/searchbox");
29
29
 
30
- require("ace-builds/src-noconflict/ext-language_tools");
30
+ require("brace/ext/language_tools");
31
31
 
32
32
  var _excluded = ["onChange", "value", "className", "readOnly", "theme", "mode"];
33
33
 
34
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
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
+
36
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; }
37
39
 
38
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; }
@@ -49,8 +51,8 @@ var CodeInput = function CodeInput(_ref) {
49
51
  mode = _ref$mode === void 0 ? 'javascript' : _ref$mode,
50
52
  props = _objectWithoutProperties(_ref, _excluded);
51
53
 
52
- return /*#__PURE__*/_react["default"].createElement(_reactAce["default"], {
53
- commands: _extBeautify["default"].commands,
54
+ return /*#__PURE__*/_react["default"].createElement(_reactAce["default"], _extends({
55
+ commands: _beautify["default"].commands,
54
56
  className: className,
55
57
  readOnly: readOnly,
56
58
  style: {
@@ -79,7 +81,9 @@ var CodeInput = function CodeInput(_ref) {
79
81
  highlightActiveLine: true,
80
82
  enableBasicAutocompletion: true,
81
83
  enableLiveAutocompletion: true
82
- });
84
+ }, props, {
85
+ ref: props.setRef
86
+ }));
83
87
  };
84
88
 
85
89
  exports.CodeInput = CodeInput;
@@ -19,19 +19,25 @@ require("@fortawesome/fontawesome-free/css/all.css");
19
19
 
20
20
  require("highlight.js/styles/monokai.css");
21
21
 
22
- require("ace-builds/src-noconflict/mode-html");
22
+ var _beautify = _interopRequireDefault(require("brace/ext/beautify"));
23
23
 
24
- require("ace-builds/src-noconflict/mode-json");
24
+ require("brace/mode/html");
25
25
 
26
- require("ace-builds/src-noconflict/mode-javascript");
26
+ require("brace/mode/javascript");
27
27
 
28
- require("ace-builds/src-noconflict/mode-markdown");
28
+ require("brace/mode/json");
29
29
 
30
- require("ace-builds/src-noconflict/theme-monokai");
30
+ require("brace/mode/css");
31
31
 
32
- require("ace-builds/src-noconflict/ext-searchbox");
32
+ require("brace/mode/markdown");
33
33
 
34
- require("ace-builds/src-noconflict/ext-language_tools");
34
+ require("brace/theme/monokai");
35
+
36
+ require("brace/theme/tomorrow");
37
+
38
+ require("brace/ext/searchbox");
39
+
40
+ require("brace/ext/language_tools");
35
41
 
36
42
  var _highlight = _interopRequireDefault(require("highlight.js"));
37
43
 
@@ -316,6 +322,17 @@ var MarkdownInput = function MarkdownInput(props) {
316
322
  return /*#__PURE__*/_react["default"].createElement("button", {
317
323
  type: "button",
318
324
  className: "btn-for-descriptionToolbar",
325
+ style: {
326
+ textAlign: "left",
327
+ cursor: "pointer",
328
+ height: "22px",
329
+ padding: "4px",
330
+ border: "none",
331
+ background: "none",
332
+ color: "#242729",
333
+ marginRight: "5px",
334
+ marginLeft: "5px"
335
+ },
319
336
  "aria-label": command.name,
320
337
  title: command.name,
321
338
  key: "toolbar-btn-".concat(idx),
@@ -373,18 +390,26 @@ var MarkdownInput = function MarkdownInput(props) {
373
390
  }, "Preview"))), /*#__PURE__*/_react["default"].createElement("div", {
374
391
  className: "d-flex flex-row"
375
392
  }, injectButtons())), !preview && /*#__PURE__*/_react["default"].createElement(_reactAce["default"], {
393
+ commands: _beautify["default"].commands,
376
394
  ref: function ref(r) {
377
395
  if (r && r.editor) {
378
396
  setEditor(r.editor);
379
397
  }
380
398
  },
381
399
  mode: "markdown",
382
- theme: "monokai",
400
+ theme: props.theme | 'monokai',
383
401
  style: {
384
402
  zIndex: 0,
385
403
  isolation: 'isolate'
386
404
  },
387
405
  onChange: props.onChange,
406
+ onLoad: function onLoad(editorInstance) {
407
+ editorInstance.container.style.resize = "both"; // mouseup = css resize end
408
+
409
+ document.addEventListener("mouseup", function (e) {
410
+ return editorInstance.resize();
411
+ });
412
+ },
388
413
  value: props.value,
389
414
  name: "scriptParam",
390
415
  editorProps: {
@@ -74,10 +74,10 @@ var valueToSelectOption = function valueToSelectOption(value) {
74
74
  return maybeValue.getOrElse({
75
75
  label: maybeValue.map(function (v) {
76
76
  return v.label;
77
- }).getOrElse(value),
77
+ }).getOrElse((value === null || value === void 0 ? void 0 : value.label) || value),
78
78
  value: maybeValue.map(function (v) {
79
79
  return v.value;
80
- }).getOrElse(value)
80
+ }).getOrElse((value === null || value === void 0 ? void 0 : value.value) || value)
81
81
  });
82
82
  };
83
83
 
package/lib/style.d.ts CHANGED
@@ -123,6 +123,9 @@ export namespace style {
123
123
  namespace pr_15 {
124
124
  const paddingRight: number;
125
125
  }
126
+ namespace full_width {
127
+ const width: string;
128
+ }
126
129
  namespace d_none {
127
130
  const display: string;
128
131
  }
@@ -185,7 +188,8 @@ export namespace style {
185
188
  const borderColor: string;
186
189
  }
187
190
  namespace invalid_feedback {
188
- export const width: string;
191
+ const width_1: string;
192
+ export { width_1 as width };
189
193
  const marginTop_4: string;
190
194
  export { marginTop_4 as marginTop };
191
195
  const fontSize_2: string;
package/lib/style.js CHANGED
@@ -93,6 +93,9 @@ var style = (_style = {
93
93
  pr_15: {
94
94
  paddingRight: 15
95
95
  },
96
+ full_width: {
97
+ width: '100%'
98
+ },
96
99
  d_none: {
97
100
  display: "none"
98
101
  },
@@ -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" | "mt_5" | "mt_10" | "mt_20" | "mb_5" | "p_15" | "pr_15" | "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">;
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" | "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">;
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.13",
4
+ "version": "1.0.17",
5
5
  "main": "lib/index.js",
6
6
  "author": "MAIF team",
7
7
  "keywords": [
@@ -105,13 +105,13 @@
105
105
  "@types/node": "^16.3.0",
106
106
  "@types/react": "^17.0.14",
107
107
  "@types/react-dom": "^17.0.9",
108
- "ace-builds": "1.4.12",
109
108
  "antd": "4.15.4",
110
109
  "bootstrap": "5.0.0",
110
+ "brace": "^0.11.1",
111
111
  "classnames": "2.3.0",
112
112
  "highlight.js": "11.2.0",
113
113
  "moment": "2.29.1",
114
- "react-ace": "9.4.3",
114
+ "react-ace": "9.5.0",
115
115
  "react-feather": "2.0.9",
116
116
  "react-hook-form": "7.17.1",
117
117
  "react-jss": "10.8.2",