react-survey-builder 1.0.43 → 1.0.45

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.
@@ -12,7 +12,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _fa = require("react-icons/fa");
15
- var _reactBootstrap = require("react-bootstrap");
15
+ var _esm = require("react-bootstrap/esm");
16
16
  var _functions = require("./functions");
17
17
  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); }; }
18
18
  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; } }
@@ -113,11 +113,11 @@ var DynamicOptionList = exports["default"] = /*#__PURE__*/function (_React$Compo
113
113
  }
114
114
  return /*#__PURE__*/_react["default"].createElement("div", {
115
115
  className: "dynamic-option-list"
116
- }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
116
+ }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_esm.Row, null, /*#__PURE__*/_react["default"].createElement(_esm.Col, {
117
117
  sm: 6
118
- }, /*#__PURE__*/_react["default"].createElement("b", null, "Options")), this.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
118
+ }, /*#__PURE__*/_react["default"].createElement("b", null, "Options")), this.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement(_esm.Col, {
119
119
  sm: 2
120
- }, /*#__PURE__*/_react["default"].createElement("b", null, "Value")), this.props.canHaveOptionValue && this.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
120
+ }, /*#__PURE__*/_react["default"].createElement("b", null, "Value")), this.props.canHaveOptionValue && this.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement(_esm.Col, {
121
121
  sm: 4
122
122
  }, /*#__PURE__*/_react["default"].createElement("b", null, "Correct")))), this.props.element.options.map(function (option, index) {
123
123
  var thisKey = "edit_".concat(option.key);
@@ -125,9 +125,9 @@ var DynamicOptionList = exports["default"] = /*#__PURE__*/function (_React$Compo
125
125
  return /*#__PURE__*/_react["default"].createElement("li", {
126
126
  className: "clearfix",
127
127
  key: thisKey
128
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
128
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Row, null, /*#__PURE__*/_react["default"].createElement(_esm.Col, {
129
129
  sm: 6
130
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, {
130
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Form.Control, {
131
131
  tabIndex: index + 1,
132
132
  style: {
133
133
  width: '100%'
@@ -138,28 +138,28 @@ var DynamicOptionList = exports["default"] = /*#__PURE__*/function (_React$Compo
138
138
  value: option.text,
139
139
  onBlur: _this2.updateOption.bind(_this2),
140
140
  onChange: _this2.editOption.bind(_this2, index)
141
- })), _this2.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
141
+ })), _this2.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement(_esm.Col, {
142
142
  sm: 2
143
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, {
143
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Form.Control, {
144
144
  type: "text",
145
145
  name: "value_".concat(index),
146
146
  value: val,
147
147
  onChange: _this2.editValue.bind(_this2, index)
148
- })), _this2.props.canHaveOptionValue && _this2.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
148
+ })), _this2.props.canHaveOptionValue && _this2.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement(_esm.Col, {
149
149
  sm: 1
150
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Check, {
150
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Form.Check, {
151
151
  type: "checkbox",
152
152
  value: "1",
153
153
  onChange: _this2.editOptionCorrect.bind(_this2, index),
154
154
  checked: option.hasOwnProperty('correct')
155
- })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
155
+ })), /*#__PURE__*/_react["default"].createElement(_esm.Col, {
156
156
  sm: 3
157
157
  }, /*#__PURE__*/_react["default"].createElement("div", {
158
158
  className: "dynamic-options-actions-buttons"
159
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
159
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Button, {
160
160
  variant: "success",
161
161
  onClick: _this2.addOption.bind(_this2, index)
162
- }, /*#__PURE__*/_react["default"].createElement(_fa.FaPlusCircle, null)), index > 0 && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
162
+ }, /*#__PURE__*/_react["default"].createElement(_fa.FaPlusCircle, null)), index > 0 && /*#__PURE__*/_react["default"].createElement(_esm.Button, {
163
163
  variant: "danger",
164
164
  onClick: _this2.removeOption.bind(_this2, index)
165
165
  }, /*#__PURE__*/_react["default"].createElement(_fa.FaMinusCircle, null))))));
@@ -13,7 +13,7 @@ var _react = _interopRequireDefault(require("react"));
13
13
  var _componentHeader = _interopRequireDefault(require("../survey-elements/component-header"));
14
14
  var _dustbin = _interopRequireDefault(require("../multi-column/dustbin"));
15
15
  var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
16
- var _reactBootstrap = require("react-bootstrap");
16
+ var _esm = require("react-bootstrap/esm");
17
17
  var _myxss = _interopRequireDefault(require("../survey-elements/myxss"));
18
18
  var _excluded = ["item", "className"]; // import FieldSet from './FieldSet';
19
19
  // export { FieldSet };
@@ -98,10 +98,10 @@ var FieldSet = function FieldSet(props) {
98
98
  className: baseClasses
99
99
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], (0, _extends2["default"])({}, props, {
100
100
  isFieldSet: true
101
- })), /*#__PURE__*/_react["default"].createElement("fieldset", null, /*#__PURE__*/_react["default"].createElement(ComponentLegend, props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Container, {
101
+ })), /*#__PURE__*/_react["default"].createElement("fieldset", null, /*#__PURE__*/_react["default"].createElement(ComponentLegend, props), /*#__PURE__*/_react["default"].createElement(_esm.Container, {
102
102
  fluid: true
103
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, childItems === null || childItems === void 0 ? void 0 : childItems.map(function (x, i) {
104
- return /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
103
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Row, null, childItems === null || childItems === void 0 ? void 0 : childItems.map(function (x, i) {
104
+ return /*#__PURE__*/_react["default"].createElement(_esm.Col, {
105
105
  key: "".concat(i, "_").concat(x || "_"),
106
106
  md: 12
107
107
  }, controls ? controls[i] : /*#__PURE__*/_react["default"].createElement(_dustbin["default"], {
@@ -16,11 +16,11 @@ var _multiColumn = require("./multi-column");
16
16
  var _fieldset = _interopRequireDefault(require("./fieldset"));
17
17
  var _customElement = _interopRequireDefault(require("./survey-elements/custom-element"));
18
18
  var _registry = _interopRequireDefault(require("./stores/registry"));
19
- var _reactBootstrap = require("react-bootstrap");
19
+ var _esm = require("react-bootstrap/esm");
20
20
  var _reactHookForm = require("react-hook-form");
21
21
  var _lodash = require("lodash");
22
22
  var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
23
- var _reactPhoneNumberInput = require("react-phone-number-input");
23
+ var _validators = require("./utils/validators");
24
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
26
  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; }
@@ -298,80 +298,6 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
298
298
  });
299
299
  return hasErrors;
300
300
  };
301
- var validateEmail = function validateEmail(email) {
302
- return email.match(
303
- // eslint-disable-next-line no-useless-escape
304
- /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
305
- };
306
- var toE164PhoneNumber = function toE164PhoneNumber(phoneNumberValue) {
307
- if (phoneNumberValue !== undefined && phoneNumberValue !== null) {
308
- //Filter only numbers from the input
309
- var cleaned = ('' + phoneNumberValue).replace(/\D/g, '');
310
-
311
- //Check if the input is of correct
312
- var match = cleaned.match(/^(1|)?(\d{3})(\d{3})(\d{4})$/);
313
- if (match) {
314
- //Remove the matched extension code
315
- //Change this to format for any country code.
316
- var intlCode = match[1] ? '+1' : '+1';
317
- return [intlCode, match[2], match[3], match[4]].join('');
318
- }
319
- return '';
320
- } else {
321
- return '';
322
- }
323
- };
324
- var validatePhone = function validatePhone(phone) {
325
- return (0, _reactPhoneNumberInput.isValidPhoneNumber)(toE164PhoneNumber(phone), 'US');
326
- };
327
- var validateDate = function validateDate(dateString) {
328
- if (dateString !== undefined && dateString !== null && dateString !== "") {
329
- var dateformat = /^(0?[1-9]|1[0-2])[\/](0?[1-9]|[1-2][0-9]|3[01])[\/]\d{4}$/;
330
-
331
- // Matching the date through regular expression
332
- if (dateString.match(dateformat)) {
333
- var operator = dateString.split('/');
334
-
335
- // Extract the string into month, date and year
336
- var datepart = [];
337
- if (operator.length > 1) {
338
- datepart = dateString.split('/');
339
- }
340
- var month = parseInt(datepart[0]);
341
- var day = parseInt(datepart[1]);
342
- var year = parseInt(datepart[2]);
343
- if (day > 31 || day < 1) {
344
- return false;
345
- }
346
- var currentYear = new Date().getFullYear();
347
- if (year < 1900 || year > currentYear + 5) {
348
- return false;
349
- }
350
-
351
- // Create a list of days of a month
352
- var ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
353
- if (month === 1 || month > 2) {
354
- if (day > ListofDays[month - 1]) {
355
- // to check if the date is out of range
356
- return false;
357
- }
358
- } else if (month === 2) {
359
- var leapYear = false;
360
- if (!(year % 4) && year % 100 || !(year % 400)) leapYear = true;
361
- if (leapYear === false && day >= 29) return false;else if (leapYear === true && day > 29) {
362
- // console.log('Invalid date format!');
363
- return false;
364
- }
365
- } else if (month > 12 || month < 1) {
366
- return false;
367
- }
368
- } else {
369
- // console.log("Invalid date format!");
370
- return false;
371
- }
372
- }
373
- return true;
374
- };
375
301
  var getDataItemById = function getDataItemById(id) {
376
302
  var $dataItem = items.find(function (x) {
377
303
  return x.id === id;
@@ -512,17 +438,17 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
512
438
  message: "".concat(item.label, " must be at least 4 characters long")
513
439
  };
514
440
  fieldRules.validate = function (value) {
515
- return validateEmail(value) || "".concat(item.label, " field requires valid email address");
441
+ return (0, _validators.validateEmail)(value) || "".concat(item.label, " field requires valid email address");
516
442
  };
517
443
  break;
518
444
  case 'PhoneNumber':
519
445
  fieldRules.validate = function (value) {
520
- return validatePhone(value) || "".concat(item.label, " field requires a valid phone number");
446
+ return (0, _validators.validatePhone)(value) || "".concat(item.label, " field requires a valid phone number");
521
447
  };
522
448
  break;
523
449
  case 'DatePicker':
524
450
  fieldRules.validate = function (value) {
525
- return validateDate(value) || "".concat(item.label, " field requires a valid date in the format MM/DD/YYYY");
451
+ return (0, _validators.validateDate)(value) || "".concat(item.label, " field requires a valid date in the format MM/DD/YYYY");
526
452
  };
527
453
  break;
528
454
  default:
@@ -536,14 +462,14 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
536
462
  if (formId) {
537
463
  buttonProps.form = formId;
538
464
  }
539
- return submitButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
465
+ return submitButton || /*#__PURE__*/_react["default"].createElement(_esm.Button, {
540
466
  variant: "primary",
541
467
  type: "submit"
542
468
  }, actionName);
543
469
  };
544
470
  var handleRenderBack = function handleRenderBack() {
545
471
  var backName = backName || 'Cancel';
546
- return backButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
472
+ return backButton || /*#__PURE__*/_react["default"].createElement(_esm.Button, {
547
473
  variant: "secondary",
548
474
  onClick: backAction,
549
475
  className: "btn-cancel"
@@ -576,17 +502,35 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
576
502
  switch (item.element) {
577
503
  case 'TextInput':
578
504
  case 'EmailInput':
579
- case 'PhoneNumber':
580
505
  case 'NumberInput':
581
506
  case 'TextArea':
582
507
  case 'Dropdown':
583
- case 'DatePicker':
584
508
  case 'RadioButtons':
585
509
  case 'Rating':
586
510
  case 'Tags':
587
511
  case 'Range':
588
512
  case 'Checkbox':
589
513
  return getInputElement(item);
514
+ case 'PhoneNumber':
515
+ return /*#__PURE__*/_react["default"].createElement(_surveyElements.PhoneNumber, {
516
+ name: item.fieldName,
517
+ ref: function ref(c) {
518
+ return inputs.current[item.fieldName] = c;
519
+ },
520
+ key: "form_".concat(item.id),
521
+ item: item,
522
+ value: _getDefaultValue(item)
523
+ });
524
+ case 'DatePicker':
525
+ return /*#__PURE__*/_react["default"].createElement(_surveyElements.DatePicker, {
526
+ name: item.fieldName,
527
+ ref: function ref(c) {
528
+ return inputs.current[item.fieldName] = c;
529
+ },
530
+ key: "form_".concat(item.id),
531
+ item: item,
532
+ value: _getDefaultValue(item)
533
+ });
590
534
  case 'CustomElement':
591
535
  return getCustomElement(item);
592
536
  case 'MultiColumnRow':
@@ -774,7 +718,7 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
774
718
  }
775
719
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
776
720
  className: "react-survey-builder-form"
777
- }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form, (0, _extends2["default"])({
721
+ }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement(_esm.Form, (0, _extends2["default"])({
778
722
  onSubmit: methods.handleSubmit(handleSubmit)
779
723
  }, formProps), fieldItems, /*#__PURE__*/_react["default"].createElement("div", {
780
724
  className: buttonClassName ? buttonClassName : 'btn-toolbar'
package/lib/form.js CHANGED
@@ -16,11 +16,11 @@ var _multiColumn = require("./multi-column");
16
16
  var _fieldset = _interopRequireDefault(require("./fieldset"));
17
17
  var _customElement = _interopRequireDefault(require("./survey-elements/custom-element"));
18
18
  var _registry = _interopRequireDefault(require("./stores/registry"));
19
- var _reactBootstrap = require("react-bootstrap");
19
+ var _esm = require("react-bootstrap/esm");
20
20
  var _reactHookForm = require("react-hook-form");
21
21
  var _lodash = require("lodash");
22
22
  var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
23
- var _reactPhoneNumberInput = require("react-phone-number-input");
23
+ var _validators = require("./utils/validators");
24
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
26
  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; }
@@ -306,80 +306,6 @@ var ReactSurvey = function ReactSurvey(_ref) {
306
306
  });
307
307
  return hasErrors;
308
308
  };
309
- var validateEmail = function validateEmail(email) {
310
- return email.match(
311
- // eslint-disable-next-line no-useless-escape
312
- /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
313
- };
314
- var toE164PhoneNumber = function toE164PhoneNumber(phoneNumberValue) {
315
- if (phoneNumberValue !== undefined && phoneNumberValue !== null) {
316
- //Filter only numbers from the input
317
- var cleaned = ('' + phoneNumberValue).replace(/\D/g, '');
318
-
319
- //Check if the input is of correct
320
- var match = cleaned.match(/^(1|)?(\d{3})(\d{3})(\d{4})$/);
321
- if (match) {
322
- //Remove the matched extension code
323
- //Change this to format for any country code.
324
- var intlCode = match[1] ? '+1' : '+1';
325
- return [intlCode, match[2], match[3], match[4]].join('');
326
- }
327
- return '';
328
- } else {
329
- return '';
330
- }
331
- };
332
- var validatePhone = function validatePhone(phone) {
333
- return (0, _reactPhoneNumberInput.isValidPhoneNumber)(toE164PhoneNumber(phone), 'US');
334
- };
335
- var validateDate = function validateDate(dateString) {
336
- if (dateString !== undefined && dateString !== null && dateString !== "") {
337
- var dateformat = /^(0?[1-9]|1[0-2])[\/](0?[1-9]|[1-2][0-9]|3[01])[\/]\d{4}$/;
338
-
339
- // Matching the date through regular expression
340
- if (dateString.match(dateformat)) {
341
- var operator = dateString.split('/');
342
-
343
- // Extract the string into month, date and year
344
- var datepart = [];
345
- if (operator.length > 1) {
346
- datepart = dateString.split('/');
347
- }
348
- var month = parseInt(datepart[0]);
349
- var day = parseInt(datepart[1]);
350
- var year = parseInt(datepart[2]);
351
- if (day > 31 || day < 1) {
352
- return false;
353
- }
354
- var currentYear = new Date().getFullYear();
355
- if (year < 1900 || year > currentYear + 5) {
356
- return false;
357
- }
358
-
359
- // Create a list of days of a month
360
- var ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
361
- if (month === 1 || month > 2) {
362
- if (day > ListofDays[month - 1]) {
363
- // to check if the date is out of range
364
- return false;
365
- }
366
- } else if (month === 2) {
367
- var leapYear = false;
368
- if (!(year % 4) && year % 100 || !(year % 400)) leapYear = true;
369
- if (leapYear === false && day >= 29) return false;else if (leapYear === true && day > 29) {
370
- // console.log('Invalid date format!');
371
- return false;
372
- }
373
- } else if (month > 12 || month < 1) {
374
- return false;
375
- }
376
- } else {
377
- // console.log("Invalid date format!");
378
- return false;
379
- }
380
- }
381
- return true;
382
- };
383
309
  var getDataItemById = function getDataItemById(id) {
384
310
  var $dataItem = items.find(function (x) {
385
311
  return x.id === id;
@@ -520,17 +446,17 @@ var ReactSurvey = function ReactSurvey(_ref) {
520
446
  message: "".concat(item.label, " must be at least 4 characters long")
521
447
  };
522
448
  fieldRules.validate = function (value) {
523
- return validateEmail(value) || "".concat(item.label, " field requires valid email address");
449
+ return (0, _validators.validateEmail)(value) || "".concat(item.label, " field requires valid email address");
524
450
  };
525
451
  break;
526
452
  case 'PhoneNumber':
527
453
  fieldRules.validate = function (value) {
528
- return validatePhone(value) || "".concat(item.label, " field requires a valid phone number");
454
+ return (0, _validators.validatePhone)(value) || "".concat(item.label, " field requires a valid phone number");
529
455
  };
530
456
  break;
531
457
  case 'DatePicker':
532
458
  fieldRules.validate = function (value) {
533
- return validateDate(value) || "".concat(item.label, " field requires a valid date in the format MM/DD/YYYY");
459
+ return (0, _validators.validateDate)(value) || "".concat(item.label, " field requires a valid date in the format MM/DD/YYYY");
534
460
  };
535
461
  break;
536
462
  default:
@@ -544,14 +470,14 @@ var ReactSurvey = function ReactSurvey(_ref) {
544
470
  if (formId) {
545
471
  buttonProps.form = formId;
546
472
  }
547
- return submitButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
473
+ return submitButton || /*#__PURE__*/_react["default"].createElement(_esm.Button, {
548
474
  variant: "primary",
549
475
  type: "submit"
550
476
  }, actionName);
551
477
  };
552
478
  var handleRenderBack = function handleRenderBack() {
553
479
  var backName = backName || 'Cancel';
554
- return backButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
480
+ return backButton || /*#__PURE__*/_react["default"].createElement(_esm.Button, {
555
481
  variant: "secondary",
556
482
  onClick: backAction,
557
483
  className: "btn-cancel"
@@ -584,17 +510,35 @@ var ReactSurvey = function ReactSurvey(_ref) {
584
510
  switch (item.element) {
585
511
  case 'TextInput':
586
512
  case 'EmailInput':
587
- case 'PhoneNumber':
588
513
  case 'NumberInput':
589
514
  case 'TextArea':
590
515
  case 'Dropdown':
591
- case 'DatePicker':
592
516
  case 'RadioButtons':
593
517
  case 'Rating':
594
518
  case 'Tags':
595
519
  case 'Range':
596
520
  case 'Checkbox':
597
521
  return getInputElement(item);
522
+ case 'PhoneNumber':
523
+ return /*#__PURE__*/_react["default"].createElement(_surveyElements.PhoneNumber, {
524
+ name: item.fieldName,
525
+ ref: function ref(c) {
526
+ return inputs.current[item.fieldName] = c;
527
+ },
528
+ key: "form_".concat(item.id),
529
+ item: item,
530
+ value: _getDefaultValue(item)
531
+ });
532
+ case 'DatePicker':
533
+ return /*#__PURE__*/_react["default"].createElement(_surveyElements.DatePicker, {
534
+ name: item.fieldName,
535
+ ref: function ref(c) {
536
+ return inputs.current[item.fieldName] = c;
537
+ },
538
+ key: "form_".concat(item.id),
539
+ item: item,
540
+ value: _getDefaultValue(item)
541
+ });
598
542
  case 'CustomElement':
599
543
  return getCustomElement(item);
600
544
  case 'MultiColumnRow':
@@ -782,7 +726,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
782
726
  }
783
727
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
784
728
  className: "react-survey-builder-form"
785
- }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form, (0, _extends2["default"])({
729
+ }, /*#__PURE__*/_react["default"].createElement(_reactHookForm.FormProvider, methods, /*#__PURE__*/_react["default"].createElement(_esm.Form, (0, _extends2["default"])({
786
730
  onSubmit: methods.handleSubmit(handleSubmit)
787
731
  }, formProps), fieldItems, /*#__PURE__*/_react["default"].createElement("div", {
788
732
  className: buttonClassName ? buttonClassName : 'btn-toolbar'
package/lib/index.js CHANGED
@@ -36,11 +36,9 @@ var _form = _interopRequireDefault(require("./form"));
36
36
  var _formFields = _interopRequireDefault(require("./form-fields"));
37
37
  var _store = _interopRequireDefault(require("./stores/store"));
38
38
  var _registry = _interopRequireDefault(require("./stores/registry"));
39
- var _reactBootstrap = require("react-bootstrap");
39
+ var _esm = require("react-bootstrap/esm");
40
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
- 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; } } /**
42
- * <ReactSurveyBuilder />
43
- */
41
+ 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; } }
44
42
  var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_React$Component) {
45
43
  (0, _inherits2["default"])(ReactSurveyBuilder, _React$Component);
46
44
  var _super = _createSuper(ReactSurveyBuilder);
@@ -101,10 +99,10 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
101
99
  }
102
100
  return /*#__PURE__*/_react["default"].createElement(_reactDnd.DndProvider, {
103
101
  backend: _reactDndHtml5Backend.HTML5Backend
104
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Container, {
102
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_esm.Container, {
105
103
  fluid: true,
106
104
  className: "react-survey-builder"
107
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
105
+ }, /*#__PURE__*/_react["default"].createElement(_esm.Row, null, /*#__PURE__*/_react["default"].createElement(_esm.Col, {
108
106
  md: 9
109
107
  }, /*#__PURE__*/_react["default"].createElement(_preview["default"], {
110
108
  files: this.props.files,
@@ -123,13 +121,13 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
123
121
  editElement: this.state.editElement,
124
122
  renderEditForm: this.props.renderEditForm,
125
123
  saveAlways: this.props.saveAlways
126
- })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
124
+ })), /*#__PURE__*/_react["default"].createElement(_esm.Col, {
127
125
  md: 3
128
126
  }, (!!!this.props.saveAlways || this.props.editSurveyBlock || this.props.previewSurveyBlock || this.props.surveyName) && /*#__PURE__*/_react["default"].createElement("div", {
129
127
  className: this.props.surveyToolbarClassName
130
128
  }, (!!!this.props.saveAlways || this.props.editSurveyBlock || this.props.surveyName) && /*#__PURE__*/_react["default"].createElement("div", {
131
129
  className: "border border-light border-3 p-3 d-grid gap-1 mb-3"
132
- }, (_this$props$editSurve = this.props.editSurveyBlock) !== null && _this$props$editSurve !== void 0 ? _this$props$editSurve : this.props.surveyName ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", null, this.props.surveyName)) : null, !!!this.props.saveAlways && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
130
+ }, (_this$props$editSurve = this.props.editSurveyBlock) !== null && _this$props$editSurve !== void 0 ? _this$props$editSurve : this.props.surveyName ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", null, this.props.surveyName)) : null, !!!this.props.saveAlways && /*#__PURE__*/_react["default"].createElement(_esm.Button, {
133
131
  variant: "primary",
134
132
  onClick: function onClick() {
135
133
  _this2.saveFormData();
@@ -18,7 +18,7 @@ var _componentHeader = _interopRequireDefault(require("../survey-elements/compon
18
18
  var _componentLabel = _interopRequireDefault(require("../survey-elements/component-label"));
19
19
  var _dustbin = _interopRequireDefault(require("./dustbin"));
20
20
  var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
21
- var _reactBootstrap = require("react-bootstrap");
21
+ var _esm = require("react-bootstrap/esm");
22
22
  var _excluded = ["item", "className"],
23
23
  _excluded2 = ["item", "className"],
24
24
  _excluded3 = ["item"];
@@ -56,7 +56,7 @@ var MultiColumnRowBase = /*#__PURE__*/function (_React$Component) {
56
56
  return /*#__PURE__*/_react["default"].createElement("div", {
57
57
  style: _objectSpread({}, this.props.style),
58
58
  className: baseClasses
59
- }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, childItems.map(function (x, i) {
59
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement(_esm.Row, null, childItems.map(function (x, i) {
60
60
  return /*#__PURE__*/_react["default"].createElement("div", {
61
61
  key: "".concat(i, "_").concat(x || '_'),
62
62
  className: className
@@ -9,7 +9,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _reactHookForm = require("react-hook-form");
11
11
  var _errorMessage = require("@hookform/error-message");
12
- var _reactBootstrap = require("react-bootstrap");
12
+ var _esm = require("react-bootstrap/esm");
13
13
  var getError = exports.getError = function getError(errors, name) {
14
14
  if (name !== undefined && errors !== undefined) {
15
15
  var obj = errors;
@@ -42,14 +42,14 @@ var ComponentErrorMessage = function ComponentErrorMessage(_ref) {
42
42
  var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
43
43
  type = _ref4[0],
44
44
  message = _ref4[1];
45
- return /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Alert, {
45
+ return /*#__PURE__*/_react["default"].createElement(_esm.Alert, {
46
46
  key: "".concat(name, "-").concat(type),
47
47
  variant: "danger",
48
48
  className: "form-error"
49
49
  }, message);
50
50
  });
51
51
  } else if (message !== undefined && message !== null && message !== '') {
52
- return /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Alert, {
52
+ return /*#__PURE__*/_react["default"].createElement(_esm.Alert, {
53
53
  variant: "danger",
54
54
  className: "form-error"
55
55
  }, message);
@@ -5,25 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
  var _headerBar = _interopRequireDefault(require("./header-bar"));
10
- var ComponentHeader = function ComponentHeader(props) {
11
- if (props.item.mutable) {
11
+ var _excluded = ["item"];
12
+ var ComponentHeader = function ComponentHeader(_ref) {
13
+ var item = _ref.item,
14
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
15
+ if (item !== null && item !== void 0 && item.mutable) {
12
16
  return null;
13
17
  }
14
- return /*#__PURE__*/_react["default"].createElement("div", null, props.item.pageBreakBefore && /*#__PURE__*/_react["default"].createElement("div", {
18
+ return /*#__PURE__*/_react["default"].createElement("div", null, (item === null || item === void 0 ? void 0 : item.pageBreakBefore) && /*#__PURE__*/_react["default"].createElement("div", {
15
19
  className: "preview-page-break"
16
20
  }, "Page Break"), /*#__PURE__*/_react["default"].createElement(_headerBar["default"], {
17
21
  isFieldSet: props.isFieldSet,
18
22
  parent: props.parent,
19
23
  editModeOn: props.editModeOn,
20
- item: props.item,
24
+ item: item,
21
25
  index: props.index,
22
26
  setAsChild: props.setAsChild,
23
27
  onDestroy: props._onDestroy,
24
28
  onEdit: props.onEdit,
25
- "static": props.item["static"],
26
- required: props.item.required
29
+ "static": item === null || item === void 0 ? void 0 : item["static"],
30
+ required: item === null || item === void 0 ? void 0 : item.required
27
31
  }));
28
32
  };
29
33
  var _default = exports["default"] = ComponentHeader;
@@ -15,7 +15,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _componentHeader = _interopRequireDefault(require("./component-header"));
17
17
  var _componentLabel = _interopRequireDefault(require("./component-label"));
18
- var _reactBootstrap = require("react-bootstrap");
18
+ var _esm = require("react-bootstrap/esm");
19
19
  var _componentErrorMessage = _interopRequireDefault(require("./component-error-message"));
20
20
  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; }
21
21
  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; }
@@ -58,7 +58,7 @@ var CustomElement = /*#__PURE__*/function (_React$Component) {
58
58
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), bare ? /*#__PURE__*/_react["default"].createElement(Element, (0, _extends2["default"])({
59
59
  id: props.name,
60
60
  item: this.props.item
61
- }, this.props.item.props, props)) : /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
61
+ }, this.props.item.props, props)) : /*#__PURE__*/_react["default"].createElement(_esm.Form.Group, {
62
62
  className: "form-group mb-3"
63
63
  }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({
64
64
  className: "form-label"
@@ -67,7 +67,7 @@ var CustomElement = /*#__PURE__*/function (_React$Component) {
67
67
  })), /*#__PURE__*/_react["default"].createElement(Element, (0, _extends2["default"])({
68
68
  id: props.name,
69
69
  item: this.props.item
70
- }, this.props.item.props, props)), this.props.item.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
70
+ }, this.props.item.props, props)), this.props.item.help ? /*#__PURE__*/_react["default"].createElement(_esm.Form.Text, {
71
71
  muted: true
72
72
  }, this.props.item.help) : null, /*#__PURE__*/_react["default"].createElement(_componentErrorMessage["default"], {
73
73
  name: props.name