@goldenpine/react-form-builder2 0.20.3-build.30 → 0.20.3-build.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.
@@ -1,22 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
8
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
20
  var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
18
21
  var _fileSaver = require("file-saver");
19
- var _react = _interopRequireDefault(require("react"));
22
+ var _react = _interopRequireWildcard(require("react"));
20
23
  var _reactSelect = _interopRequireDefault(require("react-select"));
21
24
  var _reactSignatureCanvas = _interopRequireDefault(require("react-signature-canvas"));
22
25
  var _reactBootstrapSlider = _interopRequireDefault(require("@goldenpine/react-bootstrap-slider"));
@@ -25,10 +28,85 @@ var _datePicker = _interopRequireDefault(require("./date-picker"));
25
28
  var _componentHeader = _interopRequireDefault(require("./component-header"));
26
29
  var _componentLabel = _interopRequireDefault(require("./component-label"));
27
30
  var _myxss = _interopRequireDefault(require("./myxss"));
31
+ var _excluded = ["placeholder"];
32
+ /* eslint-disable quote-props */
33
+ // eslint-disable-next-line max-classes-per-file
34
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
35
  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; }
29
36
  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; }
30
37
  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)); }
31
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable quote-props */ // eslint-disable-next-line max-classes-per-file
38
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
39
+ // This component is used for text inputs (text, email, tel, number) and textarea
40
+ // to provide a floating placeholder that moves above the input
41
+ // when the user focuses on the input or when there is a value in the input.
42
+ // It accepts the following props:
43
+ // - Tag: the HTML tag to use for the input (default is 'input', can be 'textarea' for multiline input)
44
+ var FloatingPlaceholderInput = function FloatingPlaceholderInput(_ref) {
45
+ var _ref$Tag = _ref.Tag,
46
+ Tag = _ref$Tag === void 0 ? 'input' : _ref$Tag,
47
+ _ref$inputProps = _ref.inputProps,
48
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
49
+ _ref$placeholder = _ref.placeholder,
50
+ placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
51
+ _ref$defaultValue = _ref.defaultValue,
52
+ defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
53
+ _ref$mutable = _ref.mutable,
54
+ mutable = _ref$mutable === void 0 ? false : _ref$mutable;
55
+ var _useState = (0, _react.useState)(!!(defaultValue && String(defaultValue).length > 0)),
56
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
57
+ hasValue = _useState2[0],
58
+ setHasValue = _useState2[1];
59
+ var _useState3 = (0, _react.useState)(false),
60
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
61
+ focused = _useState4[0],
62
+ setFocused = _useState4[1];
63
+ var ref = (0, _react.useRef)(null);
64
+ (0, _react.useEffect)(function () {
65
+ setHasValue(!!(defaultValue && String(defaultValue).length > 0));
66
+ }, [defaultValue]);
67
+ var handleChange = function handleChange(e) {
68
+ var val = e.target.value;
69
+ setHasValue(val !== '' && val !== undefined && val !== null);
70
+ if (typeof inputProps.onChange === 'function') {
71
+ inputProps.onChange(e);
72
+ }
73
+ };
74
+ var handleFocus = function handleFocus(e) {
75
+ setFocused(true);
76
+ if (typeof inputProps.onFocus === 'function') {
77
+ inputProps.onFocus(e);
78
+ }
79
+ };
80
+ var handleBlur = function handleBlur(e) {
81
+ setFocused(false);
82
+ // If no value, ensure placeholder returns to original position
83
+ if (!ref.current || !ref.current.value) {
84
+ setHasValue(false);
85
+ }
86
+ if (typeof inputProps.onBlur === 'function') {
87
+ inputProps.onBlur(e);
88
+ }
89
+ };
90
+
91
+ // remove placeholder attribute from actual input to avoid duplicate text
92
+ var _ph = inputProps.placeholder,
93
+ restProps = (0, _objectWithoutProperties2["default"])(inputProps, _excluded);
94
+ var shrunken = hasValue || focused;
95
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
+ className: "floating-input-wrapper".concat(placeholder ? ' has-placeholder' : ''),
97
+ onClick: function onClick() {
98
+ if (ref.current) ref.current.focus();
99
+ }
100
+ }, /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({}, restProps, {
101
+ ref: ref,
102
+ onChange: handleChange,
103
+ onFocus: handleFocus,
104
+ onBlur: handleBlur,
105
+ defaultValue: mutable ? defaultValue : undefined
106
+ })), placeholder && /*#__PURE__*/_react["default"].createElement("span", {
107
+ className: "fb-placeholder ".concat(shrunken ? 'shrunken' : '')
108
+ }, placeholder));
109
+ };
32
110
  var FormElements = {};
33
111
 
34
112
  // Helper function to format placeholder with asterisk if the field is required and label is hidden.
@@ -197,7 +275,12 @@ var TextInput = /*#__PURE__*/function (_React$Component5) {
197
275
  className: ["form-label",
198
276
  // In app, it's leveraged to identify element labels. Additionally removed !important of its specificity in scss to make it work with labelHidden.
199
277
  this.props.className, labelHidden ? "d-none" : ""].filter(Boolean).join(" ")
200
- })), /*#__PURE__*/_react["default"].createElement("input", props)));
278
+ })), /*#__PURE__*/_react["default"].createElement(FloatingPlaceholderInput, {
279
+ inputProps: props,
280
+ placeholder: props.placeholder,
281
+ defaultValue: props.defaultValue,
282
+ mutable: this.props.mutable
283
+ })));
201
284
  }
202
285
  }]);
203
286
  }(_react["default"].Component);
@@ -238,7 +321,12 @@ var EmailInput = /*#__PURE__*/function (_React$Component6) {
238
321
  className: "mb-3"
239
322
  }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
240
323
  className: ["form-label", this.props.className, labelHidden ? "d-none" : ""].filter(Boolean).join(" ")
241
- })), /*#__PURE__*/_react["default"].createElement("input", props)));
324
+ })), /*#__PURE__*/_react["default"].createElement(FloatingPlaceholderInput, {
325
+ inputProps: props,
326
+ placeholder: props.placeholder,
327
+ defaultValue: props.defaultValue,
328
+ mutable: this.props.mutable
329
+ })));
242
330
  }
243
331
  }]);
244
332
  }(_react["default"].Component);
@@ -285,7 +373,12 @@ var PhoneNumber = /*#__PURE__*/function (_React$Component7) {
285
373
  className: "mb-3"
286
374
  }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
287
375
  className: ["form-label", this.props.className, labelHidden ? "d-none" : ""].filter(Boolean).join(" ")
288
- })), /*#__PURE__*/_react["default"].createElement("input", props)));
376
+ })), /*#__PURE__*/_react["default"].createElement(FloatingPlaceholderInput, {
377
+ inputProps: props,
378
+ placeholder: props.placeholder,
379
+ defaultValue: props.defaultValue,
380
+ mutable: this.props.mutable
381
+ })));
289
382
  }
290
383
  }]);
291
384
  }(_react["default"].Component);
@@ -326,7 +419,12 @@ var NumberInput = /*#__PURE__*/function (_React$Component8) {
326
419
  className: "mb-3"
327
420
  }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
328
421
  className: ["form-label", this.props.className, labelHidden ? "d-none" : ""].filter(Boolean).join(" ")
329
- })), /*#__PURE__*/_react["default"].createElement("input", props)));
422
+ })), /*#__PURE__*/_react["default"].createElement(FloatingPlaceholderInput, {
423
+ inputProps: props,
424
+ placeholder: props.placeholder,
425
+ defaultValue: props.defaultValue,
426
+ mutable: this.props.mutable
427
+ })));
330
428
  }
331
429
  }]);
332
430
  }(_react["default"].Component);
@@ -366,7 +464,13 @@ var TextArea = /*#__PURE__*/function (_React$Component9) {
366
464
  className: "mb-3"
367
465
  }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
368
466
  className: ["form-label", this.props.className, labelHidden ? "d-none" : ""].filter(Boolean).join(" ")
369
- })), /*#__PURE__*/_react["default"].createElement("textarea", props)));
467
+ })), /*#__PURE__*/_react["default"].createElement(FloatingPlaceholderInput, {
468
+ Tag: "textarea",
469
+ inputProps: props,
470
+ placeholder: props.placeholder,
471
+ defaultValue: props.defaultValue,
472
+ mutable: this.props.mutable
473
+ })));
370
474
  }
371
475
  }]);
372
476
  }(_react["default"].Component);
@@ -832,9 +936,9 @@ var Camera = /*#__PURE__*/function (_React$Component17) {
832
936
  (0, _inherits2["default"])(Camera, _React$Component17);
833
937
  return (0, _createClass2["default"])(Camera, [{
834
938
  key: "getImageSizeProps",
835
- value: function getImageSizeProps(_ref) {
836
- var width = _ref.width,
837
- height = _ref.height;
939
+ value: function getImageSizeProps(_ref2) {
940
+ var width = _ref2.width,
941
+ height = _ref2.height;
838
942
  var imgProps = {
839
943
  width: '100%'
840
944
  };
@@ -1011,7 +1115,7 @@ var FileUpload = /*#__PURE__*/function (_React$Component18) {
1011
1115
  });
1012
1116
  });
1013
1117
  (0, _defineProperty2["default"])(_this14, "saveFile", /*#__PURE__*/function () {
1014
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
1118
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
1015
1119
  var sourceUrl, response, dispositionHeader, resBlob, blob, fileName, _fileName;
1016
1120
  return _regenerator["default"].wrap(function (_context) {
1017
1121
  while (1) switch (_context.prev = _context.next) {
@@ -1052,7 +1156,7 @@ var FileUpload = /*#__PURE__*/function (_React$Component18) {
1052
1156
  }, _callee);
1053
1157
  }));
1054
1158
  return function (_x) {
1055
- return _ref2.apply(this, arguments);
1159
+ return _ref3.apply(this, arguments);
1056
1160
  };
1057
1161
  }());
1058
1162
  _this14.state = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldenpine/react-form-builder2",
3
- "version": "0.20.3-build.30",
3
+ "version": "0.20.3-build.31",
4
4
  "description": "A complete form builder for react.",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",