react-survey-builder 1.0.102 → 1.0.103
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/bundle.js +3 -3
- package/lib/form-fields.js +2 -4
- package/lib/form-steps.js +5 -5
- package/lib/form.js +5 -5
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
@@ -917,7 +917,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
917
917
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
918
918
|
|
919
919
|
"use strict";
|
920
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n methods = _ref.methods,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect({\n answers: $data\n });\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var dataItems = items;\n if (displayShort) {\n dataItems = items.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: item.fieldName,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n if (item.element !== 'ButtonList') {\n handleChange(e);\n }\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n paragraphClassName: paragraphClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = items ? _toConsumableArray(items) : [];\n if (displayShort) {\n dataItems = items ? _toConsumableArray(items).filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var fieldItems = dataItems.filter(function (x) {\n return !x.parentId;\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), fieldItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurveyFormFields);\n\n//# sourceURL=webpack://react-survey-builder/./src/form-fields.jsx?");
|
920
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n methods = _ref.methods,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect({\n answers: $data\n });\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var dataItems = items;\n if (displayShort) {\n dataItems = items.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: item.fieldName,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n paragraphClassName: paragraphClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = items ? _toConsumableArray(items) : [];\n if (displayShort) {\n dataItems = items ? _toConsumableArray(items).filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var fieldItems = dataItems.filter(function (x) {\n return !x.parentId;\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), fieldItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurveyFormFields);\n\n//# sourceURL=webpack://react-survey-builder/./src/form-fields.jsx?");
|
921
921
|
|
922
922
|
/***/ }),
|
923
923
|
|
@@ -928,7 +928,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
928
928
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
929
929
|
|
930
930
|
"use strict";
|
931
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n activeStep = _ref.activeStep,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n methods = _ref.methods,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n // console.log(\"_getDefaultValue\", $dataItem);\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect($data);\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var $dataItems = _toConsumableArray(items);\n if (displayShort) {\n $dataItems = $dataItems.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n $dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: item.fieldName,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n if (item.element !== 'ButtonList') {\n handleChange(e);\n }\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n paragraphClassName: paragraphClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = activeStep ? [activeStep] : [];\n if (displayShort) {\n dataItems = activeStep ? [activeStep].filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var stepItems = dataItems.filter(function (x) {\n return !x.parentId && x.element === 'Step';\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n\n // React.useEffect(() => {\n // \tanswerData.current = _convert(answers);\n // }, [answers]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), stepItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurveyFormSteps);\n\n//# sourceURL=webpack://react-survey-builder/./src/form-steps.jsx?");
|
931
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n activeStep = _ref.activeStep,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n methods = _ref.methods,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n // console.log(\"_getDefaultValue\", $dataItem);\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect({\n answers: $data\n });\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var $dataItems = _toConsumableArray(items);\n if (displayShort) {\n $dataItems = $dataItems.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n $dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: item.fieldName,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n paragraphClassName: paragraphClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = activeStep ? [activeStep] : [];\n if (displayShort) {\n dataItems = activeStep ? [activeStep].filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var stepItems = dataItems.filter(function (x) {\n return !x.parentId && x.element === 'Step';\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n\n // React.useEffect(() => {\n // \tanswerData.current = _convert(answers);\n // }, [answers]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), stepItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurveyFormSteps);\n\n//# sourceURL=webpack://react-survey-builder/./src/form-steps.jsx?");
|
932
932
|
|
933
933
|
/***/ }),
|
934
934
|
|
@@ -939,7 +939,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
939
939
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
940
940
|
|
941
941
|
"use strict";
|
942
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurvey = function ReactSurvey(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region useForms\n\n var methods = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_9__.useForm)({\n mode: 'all',\n reValidateMode: 'onChange',\n criteriaMode: 'all',\n shouldFocusError: true,\n shouldUnregister: true\n });\n\n //#endregion\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect($data);\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var dataItems = items;\n if (displayShort) {\n dataItems = items.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n var _item$fieldName;\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: (_item$fieldName = item.fieldName) !== null && _item$fieldName !== void 0 ? _item$fieldName : item.name,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n if (item.element !== 'ButtonList') {\n handleChange(e);\n }\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n paragraphClassName: paragraphClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = items ? _toConsumableArray(items) : [];\n if (displayShort) {\n dataItems = items ? _toConsumableArray(items).filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var fieldItems = dataItems.filter(function (x) {\n return !x.parentId;\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), fieldItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurvey);\n\n//# sourceURL=webpack://react-survey-builder/./src/form.jsx?");
|
942
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _survey_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-elements */ \"./src/survey-elements/index.jsx\");\n/* harmony import */ var _multi_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multi-column */ \"./src/multi-column/index.js\");\n/* harmony import */ var _fieldset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fieldset */ \"./src/fieldset/index.js\");\n/* harmony import */ var _step__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./step */ \"./src/step/index.js\");\n/* harmony import */ var _survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./survey-elements/custom-element */ \"./src/survey-elements/custom-element.jsx\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stores/registry */ \"./src/stores/registry.js\");\n/* harmony import */ var _stores_registry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_stores_registry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction 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; }\nfunction _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) { _defineProperty(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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar ReactSurvey = function ReactSurvey(_ref) {\n var _ref$validateForCorre = _ref.validateForCorrectness,\n validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,\n _ref$displayShort = _ref.displayShort,\n displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n downloadPath = _ref.downloadPath,\n answers = _ref.answers,\n onSubmit = _ref.onSubmit,\n onChange = _ref.onChange,\n onSelect = _ref.onSelect,\n items = _ref.items,\n _ref$submitButton = _ref.submitButton,\n submitButton = _ref$submitButton === void 0 ? false : _ref$submitButton,\n _ref$backButton = _ref.backButton,\n backButton = _ref$backButton === void 0 ? false : _ref$backButton,\n _ref$backAction = _ref.backAction,\n backAction = _ref$backAction === void 0 ? null : _ref$backAction,\n _ref$hideActions = _ref.hideActions,\n hideActions = _ref$hideActions === void 0 ? false : _ref$hideActions,\n _ref$hideLabels = _ref.hideLabels,\n hideLabels = _ref$hideLabels === void 0 ? false : _ref$hideLabels,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n buttonClassName = _ref.buttonClassName,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n formId = _ref.formId,\n _ref$print = _ref.print,\n print = _ref$print === void 0 ? false : _ref$print;\n //#region useForms\n\n var methods = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_9__.useForm)({\n mode: 'all',\n reValidateMode: 'onChange',\n criteriaMode: 'all',\n shouldFocusError: true,\n shouldUnregister: true\n });\n\n //#endregion\n //#region helper functions\n\n var _convert = function _convert($dataAnswers) {\n if (Array.isArray($dataAnswers)) {\n var result = {};\n $dataAnswers.forEach(function (answer) {\n result[answer.name] = answer.value;\n });\n return result;\n }\n return $dataAnswers || {};\n };\n var form = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n var inputs = react__WEBPACK_IMPORTED_MODULE_0___default().useRef({});\n var answerData = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(_convert(answers));\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n formAnswers = _React$useState2[0],\n setFormAnswers = _React$useState2[1];\n var _getDefaultValue = function _getDefaultValue($dataItem) {\n var defaultValue = answerData.current[$dataItem.fieldName];\n if ($dataItem.element === 'DatePicker') {\n var _$dataItem$defaultTod;\n var defaultToday = (_$dataItem$defaultTod = $dataItem.defaultToday) !== null && _$dataItem$defaultTod !== void 0 ? _$dataItem$defaultTod : false;\n if (defaultToday && (defaultValue === '' || defaultValue === undefined)) {\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n today = mm + '/' + dd + '/' + yyyy;\n defaultValue = today;\n }\n }\n if ($dataItem.element === 'Checkbox') {\n var _$dataItem$defaultChe;\n var defaultChecked = (_$dataItem$defaultChe = $dataItem.defaultChecked) !== null && _$dataItem$defaultChe !== void 0 ? _$dataItem$defaultChe : false;\n if (defaultChecked === true) {\n defaultValue = true;\n }\n }\n if (defaultValue === undefined) {\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {\n defaultValue = [];\n } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {\n var _$dataItem$minValue;\n defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;\n } else {\n defaultValue = '';\n }\n }\n return defaultValue;\n };\n var _optionsDefaultValue = function _optionsDefaultValue($dataItem) {\n var defaultValue = _getDefaultValue($dataItem);\n if (defaultValue) {\n return defaultValue;\n }\n var defaultChecked = [];\n $dataItem.options.forEach(function (option) {\n if (answerData.current[\"option_\".concat(option.key)]) {\n defaultChecked.push(option.key);\n }\n });\n return defaultChecked;\n };\n var _getItemValue = function _getItemValue($dataItem, ref) {\n var _ref$inputField;\n var $item = {\n element: $dataItem.element,\n value: ''\n };\n var $formData = methods === null || methods === void 0 ? void 0 : methods.getValues();\n if ($dataItem.element === 'Rating') {\n $item.value = ref.inputField.current.state.rating;\n } else if ($dataItem.element === 'Tags') {\n $item.value = $formData[$dataItem.fieldName];\n // } else if (item.element === 'DatePicker') {\n // \t$item.value = ref.state.value;\n } else if ($dataItem.element === 'Camera') {\n $item.value = ref.state.img;\n } else if ($dataItem.element === 'FileUpload') {\n $item.value = ref.state.fileUpload;\n } else if ($dataItem.element === 'Signature') {\n $item.value = ref.state.value;\n } else if (ref && ref !== null && ref !== void 0 && ref.inputField && ref !== null && ref !== void 0 && (_ref$inputField = ref.inputField) !== null && _ref$inputField !== void 0 && _ref$inputField.current) {\n $item = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.inputField.current);\n if ($item && typeof $item.value === 'string') {\n $item.value = $item.value.trim();\n }\n } else {\n $item.value = $formData[$dataItem.fieldName];\n }\n return $item;\n };\n var _isIncorrect = function _isIncorrect($dataItem) {\n var incorrect = false;\n var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;\n if (canHaveAnswer) {\n var ref = inputs.current[$dataItem.fieldName];\n if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {\n $dataItem.options.forEach(function (option) {\n var $option = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(ref.options[\"child_ref_\".concat(option.key)]);\n if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {\n incorrect = true;\n }\n });\n } else {\n var $item = _getItemValue($dataItem, ref);\n if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {\n // number to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($dataItem.element === 'Checkbox') {\n // boolean to string\n if ($item.value.toString() !== $dataItem.correct) {\n incorrect = true;\n }\n } else if ($item.value.toLowerCase() !== $dataItem.correct.trim().toLowerCase()) {\n incorrect = true;\n }\n }\n }\n return incorrect;\n };\n var _collectFormData = function _collectFormData($dataItems, $formData) {\n var formData = [];\n $dataItems.filter(function (i) {\n return i[\"static\"] !== true;\n }).forEach(function (item) {\n var itemData = {\n id: item.id,\n name: item.fieldName,\n customName: item.customName || item.fieldName,\n label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : '',\n value: $formData[item.fieldName],\n required: item.required || false\n };\n if ((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item === null || item === void 0 ? void 0 : item.options)) {\n itemData.options = item === null || item === void 0 ? void 0 : item.options.map(function (i) {\n return i.value;\n });\n }\n if (itemData) {\n formData.push(itemData);\n }\n });\n return formData;\n };\n\n //#endregion\n //#region form methods\n\n var handleSubmit = function handleSubmit($formData, event) {\n event.preventDefault();\n var hasErrors = false;\n if (validateForCorrectness) {\n hasErrors = validateForm();\n }\n\n // Only submit if there are no errors.\n if (hasErrors === false) {\n if (onSubmit) {\n var $data = _collectFormData(items, $formData);\n onSubmit({\n formData: $formData,\n answers: $data\n });\n setFormAnswers($data);\n } else {\n var $form = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(form.current);\n $form.submit();\n }\n }\n };\n var handleChange = function handleChange(event) {\n // Call submit function on change\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleChange', $data);\n\n if (onChange) {\n onChange($data);\n }\n setFormAnswers($data);\n };\n var handleSelect = function handleSelect(event) {\n // Call submit function on select\n var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);\n // console.log('handleSelect', $data);\n\n if (onSelect) {\n onSelect({\n answers: $data\n });\n }\n setFormAnswers($data);\n };\n var validateForm = function validateForm() {\n var hasErrors = false;\n var dataItems = items;\n if (displayShort) {\n dataItems = items.filter(function (i) {\n return i.alternateForm === true;\n });\n }\n dataItems.forEach(function (item) {\n if (_isIncorrect(item)) {\n if (methods) {\n methods.setError(item.fieldName, {\n type: 'incorrect',\n message: \"\".concat(item.label, \" was answered incorrectly\")\n });\n }\n hasErrors = true;\n }\n });\n return hasErrors;\n };\n var getDataItemById = function getDataItemById(id) {\n var $dataItem = items.find(function (x) {\n return x.id === id;\n });\n if ($dataItem !== undefined) {\n var _ref2, _ref3, _ref4, _$dataItem$fieldName;\n return _objectSpread(_objectSpread({}, $dataItem), {}, {\n fieldRules: getFieldRules($dataItem),\n print: print !== null && print !== void 0 ? print : false,\n readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,\n hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,\n disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,\n mutable: true,\n name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,\n key: \"form_\".concat($dataItem.id),\n item: $dataItem,\n defaultValue: _getDefaultValue($dataItem),\n staticVariables: staticVariables,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n return null;\n };\n var getStandardElement = function getStandardElement(item) {\n var _item$fieldName;\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n name: (_item$fieldName = item.fieldName) !== null && _item$fieldName !== void 0 ? _item$fieldName : item.name,\n key: \"form_\".concat(item.id),\n item: item,\n defaultValue: _getDefaultValue(item),\n onChange: handleChange,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getInputElement = function getInputElement(item) {\n if (!item) return null;\n if (item.custom) {\n return getCustomElement(item);\n }\n var Input = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref5) {\n var _ref5$field = _ref5.field,\n _onChange = _ref5$field.onChange,\n onBlur = _ref5$field.onBlur,\n value = _ref5$field.value,\n name = _ref5$field.name,\n ref = _ref5$field.ref,\n _ref5$fieldState = _ref5.fieldState,\n invalid = _ref5$fieldState.invalid,\n isTouched = _ref5$fieldState.isTouched,\n isDirty = _ref5$fieldState.isDirty,\n error = _ref5$fieldState.error,\n formState = _ref5.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Input, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName,\n onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined\n });\n }\n });\n };\n var getContainerElement = function getContainerElement(item, Element) {\n var _item$childItems;\n var controls = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isObjectNotEmpty)(item) && (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_8__.isListNotEmpty)(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {\n return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"\\xA0\");\n }) : [];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n controls: controls,\n items: items,\n answers: formAnswers\n });\n };\n var getSimpleElement = function getSimpleElement(item) {\n var Element = _survey_elements__WEBPACK_IMPORTED_MODULE_2__[\"default\"][item.element];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Element, {\n mutable: true,\n key: \"form_\".concat(item.id),\n item: item,\n headerClassName: headerClassName,\n paragraphClassName: paragraphClassName,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n };\n var getCustomElement = function getCustomElement(item) {\n if (!item.component || typeof item.component !== 'function') {\n item.component = _stores_registry__WEBPACK_IMPORTED_MODULE_7___default().get(item.key);\n if (!item.component) {\n console.error(\"\".concat(item.element, \" was not registered\"));\n }\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref6) {\n var _ref6$field = _ref6.field,\n _onChange2 = _ref6$field.onChange,\n onBlur = _ref6$field.onBlur,\n value = _ref6$field.value,\n name = _ref6$field.name,\n ref = _ref6$field.ref,\n _ref6$fieldState = _ref6.fieldState,\n invalid = _ref6$fieldState.invalid,\n isTouched = _ref6$fieldState.isTouched,\n isDirty = _ref6$fieldState.isDirty,\n error = _ref6$fieldState.error,\n formState = _ref6.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements_custom_element__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange2(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item\n });\n }\n });\n };\n var getFieldRules = function getFieldRules(item) {\n var fieldRules = {};\n if (item.fieldRules !== undefined && item.fieldRules !== null) {\n fieldRules = _objectSpread({}, item.fieldRules);\n }\n if (item.required) {\n fieldRules.required = \"Required Field\";\n }\n return fieldRules;\n };\n var handleRenderSubmit = function handleRenderSubmit() {\n var actionName = actionName || 'Submit';\n var buttonProps = {};\n if (formId) {\n buttonProps.form = formId;\n }\n return submitButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"primary\",\n type: \"submit\"\n }, actionName);\n };\n var handleRenderBack = function handleRenderBack() {\n var backName = backName || 'Cancel';\n return backButton || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n variant: \"secondary\",\n onClick: backAction,\n className: \"btn-cancel\"\n }, backName);\n };\n var getFieldElement = function getFieldElement(item) {\n var _ref7, _ref8, _ref9;\n if (!item) return null;\n item.fieldRules = getFieldRules(item);\n item.print = print !== null && print !== void 0 ? print : false;\n item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;\n item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;\n item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;\n item.mutable = true;\n item.staticVariables = staticVariables;\n item.labelClassName = labelClassName;\n item.helpClassName = helpClassName;\n switch (item.element) {\n case 'RadioButtons':\n case 'ButtonList':\n case 'Range':\n case 'Checkbox':\n return getInputElement(item);\n case 'Rating':\n case 'Tags':\n case 'Dropdown':\n case 'TextInput':\n case 'EmailInput':\n case 'NumberInput':\n case 'TextArea':\n case 'PhoneNumber':\n case 'DatePicker':\n return getStandardElement(item);\n case 'CustomElement':\n return getCustomElement(item);\n case 'MultiColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.MultiColumnRow);\n case 'ThreeColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.ThreeColumnRow);\n case 'TwoColumnRow':\n return getContainerElement(item, _multi_column__WEBPACK_IMPORTED_MODULE_3__.TwoColumnRow);\n case 'Step':\n return getContainerElement(item, _step__WEBPACK_IMPORTED_MODULE_5__.Step);\n case 'Fieldset':\n return getContainerElement(item, _fieldset__WEBPACK_IMPORTED_MODULE_4__.Fieldset);\n case 'Signature':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref10) {\n var _ref10$field = _ref10.field,\n _onChange3 = _ref10$field.onChange,\n onBlur = _ref10$field.onBlur,\n value = _ref10$field.value,\n name = _ref10$field.name,\n ref = _ref10$field.ref,\n _ref10$fieldState = _ref10.fieldState,\n invalid = _ref10$fieldState.invalid,\n isTouched = _ref10$fieldState.isTouched,\n isDirty = _ref10$fieldState.isDirty,\n error = _ref10$fieldState.error,\n formState = _ref10.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Signature, {\n methods: methods,\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange3(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Checkboxes':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _optionsDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref11) {\n var _ref11$field = _ref11.field,\n _onChange4 = _ref11$field.onChange,\n onBlur = _ref11$field.onBlur,\n value = _ref11$field.value,\n name = _ref11$field.name,\n ref = _ref11$field.ref,\n _ref11$fieldState = _ref11.fieldState,\n invalid = _ref11$fieldState.invalid,\n isTouched = _ref11$fieldState.isTouched,\n isDirty = _ref11$fieldState.isDirty,\n error = _ref11$fieldState.error,\n formState = _ref11.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Checkboxes, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange4(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'Image':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Image, {\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Download':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Download, {\n downloadPath: downloadPath,\n key: \"form_\".concat(item.id),\n item: item\n });\n case 'Camera':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref12) {\n var _ref12$field = _ref12.field,\n _onChange5 = _ref12$field.onChange,\n onBlur = _ref12$field.onBlur,\n value = _ref12$field.value,\n name = _ref12$field.name,\n ref = _ref12$field.ref,\n _ref12$fieldState = _ref12.fieldState,\n invalid = _ref12$fieldState.invalid,\n isTouched = _ref12$fieldState.isTouched,\n isDirty = _ref12$fieldState.isDirty,\n error = _ref12$fieldState.error,\n formState = _ref12.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.Camera, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange5(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n case 'FileUpload':\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.Controller, {\n key: \"form_\".concat(item.id),\n control: methods.control,\n name: item.fieldName,\n rules: item.fieldRules,\n defaultValue: _getDefaultValue(item),\n disabled: item.disabled,\n required: item.required,\n render: function render(_ref13) {\n var _ref13$field = _ref13.field,\n _onChange6 = _ref13$field.onChange,\n onBlur = _ref13$field.onBlur,\n value = _ref13$field.value,\n name = _ref13$field.name,\n ref = _ref13$field.ref,\n _ref13$fieldState = _ref13.fieldState,\n invalid = _ref13$fieldState.invalid,\n isTouched = _ref13$fieldState.isTouched,\n isDirty = _ref13$fieldState.isDirty,\n error = _ref13$fieldState.error,\n formState = _ref13.formState;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_survey_elements__WEBPACK_IMPORTED_MODULE_2__.FileUpload, {\n onBlur: onBlur,\n onChange: function onChange(e) {\n _onChange6(e);\n handleChange(e);\n },\n value: value,\n name: name,\n ref: function ref(c) {\n return inputs.current[item.fieldName] = c;\n },\n isInvalid: invalid,\n item: item,\n labelClassName: labelClassName,\n helpClassName: helpClassName\n });\n }\n });\n default:\n return getSimpleElement(item);\n }\n };\n\n //#endregion\n\n var dataItems = items ? _toConsumableArray(items) : [];\n if (displayShort) {\n dataItems = items ? _toConsumableArray(items).filter(function (i) {\n return i.alternateForm === true;\n }) : [];\n }\n dataItems.forEach(function (item) {\n if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {\n answerData.current[item.fieldName] = variables[item.variableKey];\n }\n });\n var fieldItems = dataItems.filter(function (x) {\n return !x.parentId;\n }).map(function (item) {\n return getFieldElement(item);\n });\n var formProps = {};\n if (formId) {\n formProps.id = formId;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-form\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_hook_form__WEBPACK_IMPORTED_MODULE_9__.FormProvider, methods, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n onSubmit: methods.handleSubmit(handleSubmit)\n }, formProps), fieldItems, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: buttonClassName ? buttonClassName : 'btn-toolbar'\n }, !hideActions && handleRenderSubmit(), !hideActions && backAction && handleRenderBack())))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSurvey);\n\n//# sourceURL=webpack://react-survey-builder/./src/form.jsx?");
|
943
943
|
|
944
944
|
/***/ }),
|
945
945
|
|
package/lib/form-fields.js
CHANGED
@@ -356,9 +356,7 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
|
|
356
356
|
onBlur: onBlur,
|
357
357
|
onChange: function onChange(e) {
|
358
358
|
_onChange(e);
|
359
|
-
|
360
|
-
handleChange(e);
|
361
|
-
}
|
359
|
+
handleChange(e);
|
362
360
|
},
|
363
361
|
value: value,
|
364
362
|
name: name,
|
@@ -371,7 +369,7 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
|
|
371
369
|
checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,
|
372
370
|
labelClassName: labelClassName,
|
373
371
|
helpClassName: helpClassName,
|
374
|
-
onSelect: item.element === 'ButtonList' ? handleSelect : undefined
|
372
|
+
onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined
|
375
373
|
});
|
376
374
|
}
|
377
375
|
});
|
package/lib/form-steps.js
CHANGED
@@ -260,7 +260,9 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
260
260
|
// console.log('handleSelect', $data);
|
261
261
|
|
262
262
|
if (onSelect) {
|
263
|
-
onSelect(
|
263
|
+
onSelect({
|
264
|
+
answers: $data
|
265
|
+
});
|
264
266
|
}
|
265
267
|
setFormAnswers($data);
|
266
268
|
};
|
@@ -356,9 +358,7 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
356
358
|
onBlur: onBlur,
|
357
359
|
onChange: function onChange(e) {
|
358
360
|
_onChange(e);
|
359
|
-
|
360
|
-
handleChange(e);
|
361
|
-
}
|
361
|
+
handleChange(e);
|
362
362
|
},
|
363
363
|
value: value,
|
364
364
|
name: name,
|
@@ -371,7 +371,7 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
371
371
|
checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,
|
372
372
|
labelClassName: labelClassName,
|
373
373
|
helpClassName: helpClassName,
|
374
|
-
onSelect: item.element === 'ButtonList' ? handleSelect : undefined
|
374
|
+
onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined
|
375
375
|
});
|
376
376
|
}
|
377
377
|
});
|
package/lib/form.js
CHANGED
@@ -268,7 +268,9 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
268
268
|
// console.log('handleSelect', $data);
|
269
269
|
|
270
270
|
if (onSelect) {
|
271
|
-
onSelect(
|
271
|
+
onSelect({
|
272
|
+
answers: $data
|
273
|
+
});
|
272
274
|
}
|
273
275
|
setFormAnswers($data);
|
274
276
|
};
|
@@ -365,9 +367,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
365
367
|
onBlur: onBlur,
|
366
368
|
onChange: function onChange(e) {
|
367
369
|
_onChange(e);
|
368
|
-
|
369
|
-
handleChange(e);
|
370
|
-
}
|
370
|
+
handleChange(e);
|
371
371
|
},
|
372
372
|
value: value,
|
373
373
|
name: name,
|
@@ -380,7 +380,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
380
380
|
checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'ButtonList' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,
|
381
381
|
labelClassName: labelClassName,
|
382
382
|
helpClassName: helpClassName,
|
383
|
-
onSelect: item.element === 'ButtonList' ? handleSelect : undefined
|
383
|
+
onSelect: item.element === 'ButtonList' || item.element === 'RadioButtons' ? handleSelect : undefined
|
384
384
|
});
|
385
385
|
}
|
386
386
|
});
|