react-survey-builder 1.0.121 → 1.0.122

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 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 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?");
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 reportForm: item.reportForm || 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({\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?");
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 reportForm: item.reportForm || 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({\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?");
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 reportForm: item.reportForm || 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
 
@@ -950,7 +950,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
950
950
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
951
951
 
952
952
  "use strict";
953
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ElementStore: () => (/* reexport safe */ _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */ ReactSurveyBuilder: () => (/* binding */ ReactSurveyBuilder),\n/* harmony export */ ReactSurveyFieldGenerator: () => (/* binding */ ReactSurveyFieldGenerator),\n/* harmony export */ ReactSurveyGenerator: () => (/* binding */ ReactSurveyGenerator),\n/* harmony export */ ReactSurveyStepGenerator: () => (/* binding */ ReactSurveyStepGenerator),\n/* harmony export */ Registry: () => (/* reexport default from dynamic */ _stores_registry__WEBPACK_IMPORTED_MODULE_7___default.a),\n/* harmony export */ cleanUpSurveyItems: () => (/* binding */ cleanUpSurveyItems),\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_dnd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-dnd */ \"./node_modules/react-dnd/dist/esm/common/DndProvider.js\");\n/* harmony import */ var react_dnd_html5_backend__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-dnd-html5-backend */ \"./node_modules/react-dnd-html5-backend/dist/esm/index.js\");\n/* harmony import */ var _preview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preview */ \"./src/preview.jsx\");\n/* harmony import */ var _toolbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbar */ \"./src/toolbar.jsx\");\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./form */ \"./src/form.jsx\");\n/* harmony import */ var _form_fields__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form-fields */ \"./src/form-fields.jsx\");\n/* harmony import */ var _form_steps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./form-steps */ \"./src/form-steps.jsx\");\n/* harmony import */ var _stores_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./stores/store */ \"./src/stores/store.js\");\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/Container.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Row.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Col.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\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 ReactSurveyBuilder = function ReactSurveyBuilder(_ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$showCorrectColum = _ref.showCorrectColumn,\n showCorrectColumn = _ref$showCorrectColum === void 0 ? false : _ref$showCorrectColum,\n _ref$files = _ref.files,\n files = _ref$files === void 0 ? [] : _ref$files,\n _ref$saveAlways = _ref.saveAlways,\n saveAlways = _ref$saveAlways === void 0 ? false : _ref$saveAlways,\n _ref$toolbarItems = _ref.toolbarItems,\n toolbarItems = _ref$toolbarItems === void 0 ? [] : _ref$toolbarItems,\n _ref$customToolbarIte = _ref.customToolbarItems,\n customToolbarItems = _ref$customToolbarIte === void 0 ? [] : _ref$customToolbarIte,\n _ref$showDescription = _ref.showDescription,\n showDescription = _ref$showDescription === void 0 ? false : _ref$showDescription,\n _ref$surveyName = _ref.surveyName,\n surveyName = _ref$surveyName === void 0 ? null : _ref$surveyName,\n _ref$saveSurveyName = _ref.saveSurveyName,\n saveSurveyName = _ref$saveSurveyName === void 0 ? null : _ref$saveSurveyName,\n _ref$previewSurveyBlo = _ref.previewSurveyBlock,\n previewSurveyBlock = _ref$previewSurveyBlo === void 0 ? null : _ref$previewSurveyBlo,\n renderEditForm = _ref.renderEditForm,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n onPost = _ref.onPost,\n onLoad = _ref.onLoad,\n url = _ref.url,\n saveUrl = _ref.saveUrl;\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n editMode = _React$useState2[0],\n setEditMode = _React$useState2[1];\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n editElement = _React$useState4[0],\n setEditElement = _React$useState4[1];\n var saveFormData = function saveFormData() {\n _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"].dispatch('post');\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_dnd__WEBPACK_IMPORTED_MODULE_8__.DndProvider, {\n backend: react_dnd_html5_backend__WEBPACK_IMPORTED_MODULE_9__.HTML5Backend\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n fluid: true,\n className: \"react-survey-builder position-absolute overflow-hidden\",\n style: {\n height: '100%'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n xs: 9,\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_preview__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n files: files,\n showCorrectColumn: showCorrectColumn,\n showDescription: showDescription,\n items: items,\n url: url,\n saveUrl: saveUrl,\n onLoad: onLoad,\n onPost: onPost,\n editMode: editMode,\n setEditMode: setEditMode,\n variables: variables,\n staticVariables: staticVariables,\n registry: (_stores_registry__WEBPACK_IMPORTED_MODULE_7___default()),\n editElement: editElement,\n setEditElement: setEditElement,\n renderEditForm: renderEditForm,\n saveAlways: saveAlways,\n checkboxButtonClassName: checkboxButtonClassName,\n headerClassName: headerClassName,\n labelClassName: labelClassName,\n paragraphClassName: paragraphClassName,\n helpClassName: helpClassName\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n xs: 3,\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n toolbarTop: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, surveyName !== null && surveyName !== void 0 ? surveyName : 'Preview')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"d-grid gap-3 mb-3\"\n }, !!!saveAlways ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n onClick: function onClick() {\n saveFormData();\n }\n }, saveSurveyName || 'Save Survey') : null, previewSurveyBlock ? previewSurveyBlock : null)),\n showDescription: showDescription,\n items: toolbarItems,\n customItems: customToolbarItems\n })))));\n};\nvar ReactSurveyGenerator = function ReactSurveyGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form__WEBPACK_IMPORTED_MODULE_3__[\"default\"], props);\n};\nvar ReactSurveyFieldGenerator = function ReactSurveyFieldGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form_fields__WEBPACK_IMPORTED_MODULE_4__[\"default\"], props);\n};\nvar ReactSurveyStepGenerator = function ReactSurveyStepGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form_steps__WEBPACK_IMPORTED_MODULE_5__[\"default\"], props);\n};\nvar cleanUpSurveyItems = function cleanUpSurveyItems() {\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return items.map(function (item) {\n var _item$element, _item$key;\n var dataItem = {\n id: item.id,\n element: (_item$element = item.element) !== null && _item$element !== void 0 ? _item$element : (_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : '',\n text: item.text,\n \"static\": item[\"static\"]\n };\n if (item.childItems !== undefined && item.childItems !== null) {\n dataItem.childItems = item.childItems;\n }\n if (item.name !== undefined && item.name !== null) {\n dataItem.name = item.name;\n }\n if (item.conditional !== undefined && item.conditional !== null) {\n dataItem.conditional = item.conditional;\n }\n if (item.conditionalFieldName !== undefined && item.conditionalFieldName !== null) {\n dataItem.conditionalFieldName = item.conditionalFieldName;\n }\n if (item.conditionalFieldValue !== undefined && item.conditionalFieldValue !== null) {\n dataItem.conditionalFieldValue = item.conditionalFieldValue;\n }\n if (item.hideNextStepButton !== undefined && item.hideNextStepButton !== null) {\n dataItem.hideNextStepButton = item.hideNextStepButton;\n }\n if (item.submitOnSelection !== undefined && item.submitOnSelection !== null) {\n dataItem.submitOnSelection = item.submitOnSelection;\n }\n if (item.showRadio !== undefined && item.showRadio !== null) {\n dataItem.showRadio = item.showRadio;\n }\n if (item.bgColor !== undefined && item.bgColor !== null) {\n dataItem.bgColor = item.bgColor;\n }\n if (item.textColor !== undefined && item.textColor !== null) {\n dataItem.textColor = item.textColor;\n }\n if (item.className !== undefined && item.className !== null) {\n dataItem.className = item.className;\n }\n if (item.fieldLabelClassName !== undefined && item.fieldLabelClassName !== null) {\n dataItem.fieldLabelClassName = item.fieldLabelClassName;\n }\n if (item.fieldDescriptionClassName !== undefined && item.fieldDescriptionClassName !== null) {\n dataItem.fieldDescriptionClassName = item.fieldDescriptionClassName;\n }\n if (item.selectedClassName !== undefined && item.selectedClassName !== null) {\n dataItem.selectedClassName = item.selectedClassName;\n }\n if (item.unselectedClassName !== undefined && item.unselectedClassName !== null) {\n dataItem.unselectedClassName = item.unselectedClassName;\n }\n if (item.selectedColor !== undefined && item.selectedColor !== null) {\n dataItem.selectedColor = item.selectedColor;\n }\n if (item.unselectedColor !== undefined && item.unselectedColor !== null) {\n dataItem.unselectedColor = item.unselectedColor;\n }\n if (item.groupName !== undefined && item.groupName !== null) {\n dataItem.groupName = item.groupName;\n }\n if (item.required !== undefined && item.required !== null) {\n dataItem.required = item.required;\n }\n if (item.description !== undefined && item.description !== null) {\n dataItem.description = item.description;\n }\n if (item.placeholder !== undefined && item.placeholder !== null) {\n dataItem.placeholder = item.placeholder;\n }\n if (item.bold !== undefined && item.bold !== null) {\n dataItem.bold = item.bold;\n }\n if (item.italic !== undefined && item.italic !== null) {\n dataItem.italic = item.italic;\n }\n if (item.labelLocation !== undefined && item.labelLocation !== null) {\n dataItem.labelLocation = item.labelLocation;\n }\n if (item.help !== undefined && item.help !== null) {\n dataItem.help = item.help;\n }\n if (item.hideLabel !== undefined && item.hideLabel !== null) {\n dataItem.hideLabel = item.hideLabel;\n }\n if (item.readOnly !== undefined && item.readOnly !== null) {\n dataItem.readOnly = item.readOnly;\n }\n if (item.defaultToday !== undefined && item.defaultToday !== null) {\n dataItem.defaultToday = item.defaultToday;\n }\n if (item.content !== undefined && item.content !== null) {\n dataItem.content = item.content;\n }\n if (item.href !== undefined && item.href !== null) {\n dataItem.href = item.href;\n }\n if (item.inherited !== undefined && item.inherited !== null) {\n dataItem.inherited = item.inherited;\n }\n if (item.isContainer !== undefined && item.isContainer !== null) {\n dataItem.isContainer = item.isContainer;\n }\n if (item.type === 'custom') {\n elementOptions.key = item.key;\n elementOptions.custom = true;\n elementOptions.forwardRef = item.forwardRef;\n elementOptions.bare = item.bare;\n elementOptions.props = item.props;\n elementOptions.component = item.component || null;\n elementOptions.customOptions = item.customOptions || [];\n }\n if (item.pageBreakBefore !== undefined && item.pageBreakBefore !== null) {\n dataItem.pageBreakBefore = item.pageBreakBefore;\n }\n if (item.alternateForm !== undefined && item.alternateForm !== null) {\n dataItem.alternateForm = item.alternateForm;\n }\n if (item.inline !== undefined && item.inline !== null) {\n dataItem.inline = item.inline;\n }\n if (item.className !== undefined && item.className !== null) {\n dataItem.className = item.className;\n }\n if (item.src !== undefined && item.src !== null) {\n dataItem.src = item.src;\n }\n if (item.dateFormat !== undefined && item.dateFormat !== null) {\n dataItem.dateFormat = item.dateFormat;\n }\n if (item.filePath !== undefined && item.filePath !== null) {\n dataItem.filePath = item.filePath;\n }\n if (item.step !== undefined && item.step !== null) {\n dataItem.step = item.step;\n }\n if (item.minValue !== undefined && item.minValue !== null) {\n dataItem.minValue = item.minValue;\n }\n if (item.maxValue !== undefined && item.maxValue !== null) {\n dataItem.maxValue = item.maxValue;\n }\n if (item.minLabel !== undefined && item.minLabel !== null) {\n dataItem.minLabel = item.minLabel;\n }\n if (item.maxLabel !== undefined && item.maxLabel !== null) {\n dataItem.maxLabel = item.maxLabel;\n }\n if (item.defaultValue !== undefined && item.defaultValue !== null) {\n dataItem.defaultValue = item.defaultValue;\n }\n if (item.colCount !== undefined && item.colCount !== null) {\n dataItem.colCount = item.colCount;\n }\n if (item.fieldName !== undefined && item.fieldName !== null) {\n dataItem.fieldName = item.fieldName;\n }\n if (item.label !== undefined && item.label !== null) {\n dataItem.label = item.label;\n }\n if (item.options !== undefined && item.options !== null) {\n dataItem.options = item.options;\n }\n return dataItem;\n });\n};\nvar SurveyBuilders = {};\nSurveyBuilders.ReactSurveyBuilder = ReactSurveyBuilder;\nSurveyBuilders.ReactSurveyGenerator = ReactSurveyGenerator;\nSurveyBuilders.ReactSurveyFieldGenerator = ReactSurveyFieldGenerator;\nSurveyBuilders.ReactSurveyStepGenerator = ReactSurveyStepGenerator;\nSurveyBuilders.ElementStore = _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\nSurveyBuilders.Registry = (_stores_registry__WEBPACK_IMPORTED_MODULE_7___default());\nSurveyBuilders.cleanUpSurveyItems = cleanUpSurveyItems;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurveyBuilders);\n\n\n//# sourceURL=webpack://react-survey-builder/./src/index.jsx?");
953
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ElementStore: () => (/* reexport safe */ _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */ ReactSurveyBuilder: () => (/* binding */ ReactSurveyBuilder),\n/* harmony export */ ReactSurveyFieldGenerator: () => (/* binding */ ReactSurveyFieldGenerator),\n/* harmony export */ ReactSurveyGenerator: () => (/* binding */ ReactSurveyGenerator),\n/* harmony export */ ReactSurveyStepGenerator: () => (/* binding */ ReactSurveyStepGenerator),\n/* harmony export */ Registry: () => (/* reexport default from dynamic */ _stores_registry__WEBPACK_IMPORTED_MODULE_7___default.a),\n/* harmony export */ cleanUpSurveyItems: () => (/* binding */ cleanUpSurveyItems),\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_dnd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-dnd */ \"./node_modules/react-dnd/dist/esm/common/DndProvider.js\");\n/* harmony import */ var react_dnd_html5_backend__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-dnd-html5-backend */ \"./node_modules/react-dnd-html5-backend/dist/esm/index.js\");\n/* harmony import */ var _preview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preview */ \"./src/preview.jsx\");\n/* harmony import */ var _toolbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbar */ \"./src/toolbar.jsx\");\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./form */ \"./src/form.jsx\");\n/* harmony import */ var _form_fields__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form-fields */ \"./src/form-fields.jsx\");\n/* harmony import */ var _form_steps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./form-steps */ \"./src/form-steps.jsx\");\n/* harmony import */ var _stores_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./stores/store */ \"./src/stores/store.js\");\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/Container.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Row.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Col.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\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 ReactSurveyBuilder = function ReactSurveyBuilder(_ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$showCorrectColum = _ref.showCorrectColumn,\n showCorrectColumn = _ref$showCorrectColum === void 0 ? false : _ref$showCorrectColum,\n _ref$files = _ref.files,\n files = _ref$files === void 0 ? [] : _ref$files,\n _ref$saveAlways = _ref.saveAlways,\n saveAlways = _ref$saveAlways === void 0 ? false : _ref$saveAlways,\n _ref$toolbarItems = _ref.toolbarItems,\n toolbarItems = _ref$toolbarItems === void 0 ? [] : _ref$toolbarItems,\n _ref$customToolbarIte = _ref.customToolbarItems,\n customToolbarItems = _ref$customToolbarIte === void 0 ? [] : _ref$customToolbarIte,\n _ref$showDescription = _ref.showDescription,\n showDescription = _ref$showDescription === void 0 ? false : _ref$showDescription,\n _ref$surveyName = _ref.surveyName,\n surveyName = _ref$surveyName === void 0 ? null : _ref$surveyName,\n _ref$saveSurveyName = _ref.saveSurveyName,\n saveSurveyName = _ref$saveSurveyName === void 0 ? null : _ref$saveSurveyName,\n _ref$previewSurveyBlo = _ref.previewSurveyBlock,\n previewSurveyBlock = _ref$previewSurveyBlo === void 0 ? null : _ref$previewSurveyBlo,\n renderEditForm = _ref.renderEditForm,\n variables = _ref.variables,\n staticVariables = _ref.staticVariables,\n checkboxButtonClassName = _ref.checkboxButtonClassName,\n headerClassName = _ref.headerClassName,\n labelClassName = _ref.labelClassName,\n paragraphClassName = _ref.paragraphClassName,\n helpClassName = _ref.helpClassName,\n onPost = _ref.onPost,\n onLoad = _ref.onLoad,\n url = _ref.url,\n saveUrl = _ref.saveUrl;\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n editMode = _React$useState2[0],\n setEditMode = _React$useState2[1];\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n editElement = _React$useState4[0],\n setEditElement = _React$useState4[1];\n var saveFormData = function saveFormData() {\n _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"].dispatch('post');\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_dnd__WEBPACK_IMPORTED_MODULE_8__.DndProvider, {\n backend: react_dnd_html5_backend__WEBPACK_IMPORTED_MODULE_9__.HTML5Backend\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n fluid: true,\n className: \"react-survey-builder position-absolute overflow-hidden\",\n style: {\n height: '100%'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n xs: 9,\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_preview__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n files: files,\n showCorrectColumn: showCorrectColumn,\n showDescription: showDescription,\n items: items,\n url: url,\n saveUrl: saveUrl,\n onLoad: onLoad,\n onPost: onPost,\n editMode: editMode,\n setEditMode: setEditMode,\n variables: variables,\n staticVariables: staticVariables,\n registry: (_stores_registry__WEBPACK_IMPORTED_MODULE_7___default()),\n editElement: editElement,\n setEditElement: setEditElement,\n renderEditForm: renderEditForm,\n saveAlways: saveAlways,\n checkboxButtonClassName: checkboxButtonClassName,\n headerClassName: headerClassName,\n labelClassName: labelClassName,\n paragraphClassName: paragraphClassName,\n helpClassName: helpClassName\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n xs: 3,\n className: \"overflow-hidden h-100\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n toolbarTop: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, surveyName !== null && surveyName !== void 0 ? surveyName : 'Preview')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"d-grid gap-3 mb-3\"\n }, !!!saveAlways ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n onClick: function onClick() {\n saveFormData();\n }\n }, saveSurveyName || 'Save Survey') : null, previewSurveyBlock ? previewSurveyBlock : null)),\n showDescription: showDescription,\n items: toolbarItems,\n customItems: customToolbarItems\n })))));\n};\nvar ReactSurveyGenerator = function ReactSurveyGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form__WEBPACK_IMPORTED_MODULE_3__[\"default\"], props);\n};\nvar ReactSurveyFieldGenerator = function ReactSurveyFieldGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form_fields__WEBPACK_IMPORTED_MODULE_4__[\"default\"], props);\n};\nvar ReactSurveyStepGenerator = function ReactSurveyStepGenerator(props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_form_steps__WEBPACK_IMPORTED_MODULE_5__[\"default\"], props);\n};\nvar cleanUpSurveyItems = function cleanUpSurveyItems() {\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return items.map(function (item) {\n var _item$element, _item$key;\n var dataItem = {\n id: item.id,\n element: (_item$element = item.element) !== null && _item$element !== void 0 ? _item$element : (_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : '',\n text: item.text,\n \"static\": item[\"static\"]\n };\n if (item.childItems !== undefined && item.childItems !== null) {\n dataItem.childItems = item.childItems;\n }\n if (item.name !== undefined && item.name !== null) {\n dataItem.name = item.name;\n }\n if (item.conditional !== undefined && item.conditional !== null) {\n dataItem.conditional = item.conditional;\n }\n if (item.conditionalFieldName !== undefined && item.conditionalFieldName !== null) {\n dataItem.conditionalFieldName = item.conditionalFieldName;\n }\n if (item.conditionalFieldValue !== undefined && item.conditionalFieldValue !== null) {\n dataItem.conditionalFieldValue = item.conditionalFieldValue;\n }\n if (item.hideNextStepButton !== undefined && item.hideNextStepButton !== null) {\n dataItem.hideNextStepButton = item.hideNextStepButton;\n }\n if (item.submitOnSelection !== undefined && item.submitOnSelection !== null) {\n dataItem.submitOnSelection = item.submitOnSelection;\n }\n if (item.showRadio !== undefined && item.showRadio !== null) {\n dataItem.showRadio = item.showRadio;\n }\n if (item.bgColor !== undefined && item.bgColor !== null) {\n dataItem.bgColor = item.bgColor;\n }\n if (item.textColor !== undefined && item.textColor !== null) {\n dataItem.textColor = item.textColor;\n }\n if (item.className !== undefined && item.className !== null) {\n dataItem.className = item.className;\n }\n if (item.fieldLabelClassName !== undefined && item.fieldLabelClassName !== null) {\n dataItem.fieldLabelClassName = item.fieldLabelClassName;\n }\n if (item.fieldDescriptionClassName !== undefined && item.fieldDescriptionClassName !== null) {\n dataItem.fieldDescriptionClassName = item.fieldDescriptionClassName;\n }\n if (item.selectedClassName !== undefined && item.selectedClassName !== null) {\n dataItem.selectedClassName = item.selectedClassName;\n }\n if (item.unselectedClassName !== undefined && item.unselectedClassName !== null) {\n dataItem.unselectedClassName = item.unselectedClassName;\n }\n if (item.selectedColor !== undefined && item.selectedColor !== null) {\n dataItem.selectedColor = item.selectedColor;\n }\n if (item.unselectedColor !== undefined && item.unselectedColor !== null) {\n dataItem.unselectedColor = item.unselectedColor;\n }\n if (item.groupName !== undefined && item.groupName !== null) {\n dataItem.groupName = item.groupName;\n }\n if (item.required !== undefined && item.required !== null) {\n dataItem.required = item.required;\n }\n if (item.description !== undefined && item.description !== null) {\n dataItem.description = item.description;\n }\n if (item.placeholder !== undefined && item.placeholder !== null) {\n dataItem.placeholder = item.placeholder;\n }\n if (item.bold !== undefined && item.bold !== null) {\n dataItem.bold = item.bold;\n }\n if (item.italic !== undefined && item.italic !== null) {\n dataItem.italic = item.italic;\n }\n if (item.labelLocation !== undefined && item.labelLocation !== null) {\n dataItem.labelLocation = item.labelLocation;\n }\n if (item.help !== undefined && item.help !== null) {\n dataItem.help = item.help;\n }\n if (item.hideLabel !== undefined && item.hideLabel !== null) {\n dataItem.hideLabel = item.hideLabel;\n }\n if (item.readOnly !== undefined && item.readOnly !== null) {\n dataItem.readOnly = item.readOnly;\n }\n if (item.reportForm !== undefined && item.reportForm !== null) {\n dataItem.reportForm = item.reportForm;\n }\n if (item.defaultToday !== undefined && item.defaultToday !== null) {\n dataItem.defaultToday = item.defaultToday;\n }\n if (item.content !== undefined && item.content !== null) {\n dataItem.content = item.content;\n }\n if (item.href !== undefined && item.href !== null) {\n dataItem.href = item.href;\n }\n if (item.inherited !== undefined && item.inherited !== null) {\n dataItem.inherited = item.inherited;\n }\n if (item.isContainer !== undefined && item.isContainer !== null) {\n dataItem.isContainer = item.isContainer;\n }\n if (item.type === 'custom') {\n elementOptions.key = item.key;\n elementOptions.custom = true;\n elementOptions.forwardRef = item.forwardRef;\n elementOptions.bare = item.bare;\n elementOptions.props = item.props;\n elementOptions.component = item.component || null;\n elementOptions.customOptions = item.customOptions || [];\n }\n if (item.pageBreakBefore !== undefined && item.pageBreakBefore !== null) {\n dataItem.pageBreakBefore = item.pageBreakBefore;\n }\n if (item.alternateForm !== undefined && item.alternateForm !== null) {\n dataItem.alternateForm = item.alternateForm;\n }\n if (item.inline !== undefined && item.inline !== null) {\n dataItem.inline = item.inline;\n }\n if (item.className !== undefined && item.className !== null) {\n dataItem.className = item.className;\n }\n if (item.src !== undefined && item.src !== null) {\n dataItem.src = item.src;\n }\n if (item.dateFormat !== undefined && item.dateFormat !== null) {\n dataItem.dateFormat = item.dateFormat;\n }\n if (item.filePath !== undefined && item.filePath !== null) {\n dataItem.filePath = item.filePath;\n }\n if (item.step !== undefined && item.step !== null) {\n dataItem.step = item.step;\n }\n if (item.minValue !== undefined && item.minValue !== null) {\n dataItem.minValue = item.minValue;\n }\n if (item.maxValue !== undefined && item.maxValue !== null) {\n dataItem.maxValue = item.maxValue;\n }\n if (item.minLabel !== undefined && item.minLabel !== null) {\n dataItem.minLabel = item.minLabel;\n }\n if (item.maxLabel !== undefined && item.maxLabel !== null) {\n dataItem.maxLabel = item.maxLabel;\n }\n if (item.defaultValue !== undefined && item.defaultValue !== null) {\n dataItem.defaultValue = item.defaultValue;\n }\n if (item.colCount !== undefined && item.colCount !== null) {\n dataItem.colCount = item.colCount;\n }\n if (item.fieldName !== undefined && item.fieldName !== null) {\n dataItem.fieldName = item.fieldName;\n }\n if (item.label !== undefined && item.label !== null) {\n dataItem.label = item.label;\n }\n if (item.options !== undefined && item.options !== null) {\n dataItem.options = item.options;\n }\n return dataItem;\n });\n};\nvar SurveyBuilders = {};\nSurveyBuilders.ReactSurveyBuilder = ReactSurveyBuilder;\nSurveyBuilders.ReactSurveyGenerator = ReactSurveyGenerator;\nSurveyBuilders.ReactSurveyFieldGenerator = ReactSurveyFieldGenerator;\nSurveyBuilders.ReactSurveyStepGenerator = ReactSurveyStepGenerator;\nSurveyBuilders.ElementStore = _stores_store__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\nSurveyBuilders.Registry = (_stores_registry__WEBPACK_IMPORTED_MODULE_7___default());\nSurveyBuilders.cleanUpSurveyItems = cleanUpSurveyItems;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurveyBuilders);\n\n\n//# sourceURL=webpack://react-survey-builder/./src/index.jsx?");
954
954
 
955
955
  /***/ }),
956
956
 
@@ -1246,7 +1246,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1246
1246
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1247
1247
 
1248
1248
  "use strict";
1249
- 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 _toolbar_draggable_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toolbar-draggable-item */ \"./src/toolbar-draggable-item.jsx\");\n/* harmony import */ var _toolbar_group_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbar-group-item */ \"./src/toolbar-group-item.jsx\");\n/* harmony import */ var _stores_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stores/store */ \"./src/stores/store.js\");\n/* harmony import */ var react_icons_fa__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-icons/fa */ \"./node_modules/react-icons/fa/index.mjs\");\n/* harmony import */ var react_icons_pi__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-icons/pi */ \"./node_modules/react-icons/pi/index.mjs\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UUID */ \"./src/UUID.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_UUID__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_icons_gr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-icons/gr */ \"./node_modules/react-icons/gr/index.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\n/* harmony import */ var react_icons_io5__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-icons/io5 */ \"./node_modules/react-icons/io5/index.mjs\");\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 _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 _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; }\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 _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 _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 _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; }\n\n\n\n\n\n\n\n\n\n\nvar _defaultItems = [{\n key: 'Header',\n name: \"Header Text\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaHeading,\n \"static\": true,\n content: \"Text...\"\n}, {\n key: 'Label',\n name: \"Label\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFont,\n content: \"Text...\"\n}, {\n key: 'Paragraph',\n name: \"Paragraph\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaParagraph,\n content: \"Text...\"\n}, {\n key: 'ContentBody',\n name: \"Static Content\",\n \"static\": true,\n icon: react_icons_pi__WEBPACK_IMPORTED_MODULE_7__.PiFileHtml,\n content: \"Text...\"\n}, {\n key: 'LineBreak',\n name: \"Line Break\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaArrowsAltH\n}, {\n key: 'Dropdown',\n name: \"Dropdown\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCaretSquareDown,\n label: \"Label\",\n fieldName: 'dropdown_',\n canHaveHelp: true,\n options: [],\n placeholder: 'Select One',\n canHaveLabelLocation: true,\n answerType: 'ARRAY',\n hideLabel: false\n}, {\n key: 'Tags',\n name: \"Tags\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaTags,\n label: \"Label\",\n fieldName: 'tags_',\n canHaveHelp: true,\n options: [],\n placeholder: 'Select...',\n canHaveLabelLocation: true,\n answerType: 'ARRAY',\n hideLabel: false\n}, {\n key: 'Checkboxes',\n name: \"Checkboxes\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCheckSquare,\n label: \"Label\",\n fieldName: 'checkboxes_',\n canHaveHelp: true,\n options: [],\n answerType: 'ARRAY',\n hideLabel: false,\n canHaveDisplayHorizontal: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n inline: false\n}, {\n key: 'Checkbox',\n name: \"Checkbox\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCheckSquare,\n label: \"Label\",\n fieldName: 'checkbox_',\n canHaveHelp: true,\n boxLabel: 'Pick me',\n answerType: 'BOOLEAN',\n canHideLabel: true,\n hideLabel: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\"\n}, {\n key: 'RadioButtons',\n name: \"Radio Buttons\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegDotCircle,\n label: \"Label\",\n fieldName: 'radiobuttons_',\n canHaveHelp: true,\n options: [],\n answerType: 'STRING',\n hideLabel: false,\n submitOnSelection: false,\n canHaveDisplayHorizontal: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n showRadio: true,\n inline: false\n}, {\n key: 'ButtonList',\n name: \"Button List\",\n icon: react_icons_io5__WEBPACK_IMPORTED_MODULE_8__.IoReorderTwo,\n label: \"Label\",\n fieldName: 'buttonlist_',\n canHaveHelp: true,\n options: [],\n answerType: 'STRING',\n hideLabel: false,\n submitOnSelection: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n showRadio: false,\n inline: false\n}, {\n key: 'TextInput',\n name: \"Text Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFont,\n fieldName: 'text_input_',\n canHaveHelp: true,\n placeholder: \"Label\",\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'EmailInput',\n name: \"Email Input\",\n label: \"Email Address\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaEnvelope,\n fieldName: 'email_input_',\n canHaveHelp: true,\n placeholder: \"Email Address\",\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'PhoneNumber',\n name: \"Phone Number\",\n label: \"Phone Number\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPhone,\n fieldName: 'phone_input_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'DatePicker',\n canDefaultToday: true,\n canReadOnly: true,\n dateFormat: 'MM/DD/YYYY',\n name: \"Date\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegCalendarAlt,\n label: \"Label\",\n fieldName: 'date_picker_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'TextArea',\n name: \"Multi-line Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaTextHeight,\n fieldName: 'text_area_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false,\n rows: 5\n}, {\n key: 'NumberInput',\n name: \"Numerical Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPlus,\n fieldName: 'number_input_',\n canHaveHelp: true,\n step: 1,\n minValue: 0,\n maxValue: 5,\n canHaveLabelLocation: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Rating',\n name: \"Rating\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaStar,\n fieldName: 'rating_',\n canHaveHelp: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Range',\n name: \"Range\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaSlidersH,\n label: \"Label\",\n fieldName: 'range_',\n step: 1,\n defaultValue: 3,\n minValue: 1,\n maxValue: 5,\n minLabel: \"Easy\",\n maxLabel: \"Difficult\",\n canHaveHelp: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Signature',\n canReadOnly: true,\n name: \"Signature\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPenSquare,\n label: \"Signature\",\n fieldName: 'signature_',\n canHaveHelp: true,\n answerType: 'IMAGE',\n hideLabel: false\n}, {\n key: 'Camera',\n name: \"Camera\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCamera,\n label: \"Label\",\n fieldName: 'camera_',\n answerType: 'IMAGE',\n hideLabel: false\n}, {\n key: 'FileUpload',\n name: \"File Upload\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFile,\n label: \"Label\",\n fieldName: 'file_upload_',\n answerType: 'FILE',\n hideLabel: false\n}, {\n key: 'Fieldset',\n name: \"Fieldset\",\n label: \"Fieldset\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaBars,\n fieldName: 'fieldset-element',\n \"static\": true,\n isContainer: true\n}, {\n key: 'Image',\n name: \"Image\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegImage,\n fieldName: 'image_',\n src: '',\n \"static\": true\n}, {\n key: 'HyperLink',\n name: \"Hyperlink\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaLink,\n content: \"Website Link...\",\n href: 'http://www.example.com',\n \"static\": true\n}, {\n key: 'Download',\n name: \"File Attachment\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFile,\n content: \"File name...\",\n fieldName: 'download_',\n filePath: '',\n href: '',\n \"static\": true\n}, {\n key: 'TwoColumnRow',\n name: \"Two Column Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'two_col_row_',\n \"static\": true,\n isContainer: true\n}, {\n key: 'ThreeColumnRow',\n name: \"Three Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'three_col_row_',\n \"static\": true,\n isContainer: true\n}, {\n key: 'FourColumnRow',\n element: 'MultiColumnRow',\n name: \"Four Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'four_col_row_',\n colCount: 4,\n className: 'col-md-3',\n \"static\": true,\n isContainer: true\n}, {\n key: 'FiveColumnRow',\n element: 'MultiColumnRow',\n name: \"Five Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'five_col_row_',\n colCount: 5,\n className: 'col',\n \"static\": true,\n isContainer: true\n}, {\n key: 'SixColumnRow',\n element: 'MultiColumnRow',\n name: \"Six Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'six_col_row_',\n colCount: 6,\n className: 'col-md-2',\n \"static\": true,\n isContainer: true\n}, {\n key: 'Step',\n name: \"Step\",\n label: \"Step\",\n icon: react_icons_gr__WEBPACK_IMPORTED_MODULE_9__.GrSteps,\n fieldName: 'step_',\n \"static\": true,\n conditional: false,\n conditionalFieldName: '',\n conditionalFieldValue: '',\n isContainer: true,\n hideNextStepButton: false\n}];\nvar groupBy = function groupBy(list, keyGetter) {\n var map = new Map();\n list.forEach(function (item) {\n var key = keyGetter(item);\n var collection = map.get(key);\n if (!collection) {\n map.set(key, [item]);\n } else {\n collection.push(item);\n }\n });\n return map;\n};\nvar buildItems = function buildItems() {\n var dataItems = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultDataItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var customItems = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var allItems = [].concat(_toConsumableArray(defaultDataItems), _toConsumableArray(customItems));\n if (!(0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__.isListNotEmpty)(dataItems)) {\n return allItems;\n }\n return dataItems.map(function (x) {\n var found = allItems.find(function (y) {\n return x.element === y.element && y.key === x.key;\n });\n if (!found) {\n found = allItems.find(function (y) {\n return (x.element || x.key) === (y.element || y.key);\n });\n }\n if (found) {\n if (x.inherited !== false) {\n found = _objectSpread(_objectSpread({}, found), x);\n } else if (x.groupName) {\n found.groupName = x.groupName;\n }\n }\n return found || x;\n });\n};\nvar buildGroupItems = function buildGroupItems() {\n var allItems = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var ungroupedItems = allItems.filter(function (x) {\n return !x.groupName;\n });\n var gItems = allItems.filter(function (x) {\n return !!x.groupName;\n });\n var grouped = groupBy(gItems, function (x) {\n return x.groupName;\n });\n var groupKeys = gItems.map(function (x) {\n return x.groupName;\n }).filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n return {\n ungroupedItems: ungroupedItems,\n grouped: grouped,\n groupKeys: groupKeys\n };\n};\nvar Toolbar = function Toolbar(_ref) {\n var toolbarTop = _ref.toolbarTop,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$customItems = _ref.customItems,\n customItems = _ref$customItems === void 0 ? [] : _ref$customItems;\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__.isListNotEmpty)(items) ? _toConsumableArray(items) : []),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dataItems = _React$useState2[0],\n setDataItems = _React$useState2[1];\n var _defaultItemOptions = function _defaultItemOptions(element) {\n switch (element) {\n case 'Dropdown':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'Tags':\n return [{\n value: 'PLACE_HOLDER_TAG_1',\n text: \"Place holder option 1\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_TAG_2',\n text: \"Place holder option 2\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_TAG_3',\n text: \"Place holder option 3\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'Checkboxes':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'RadioButtons':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'ButtonList':\n return [{\n value: 'YES',\n text: \"Yes\",\n key: \"buttonlist_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'NO',\n text: \"No\",\n key: \"buttonlist_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n default:\n return [];\n }\n };\n var addCustomOptions = function addCustomOptions(item, elementOptions) {\n if (item.type === 'custom') {\n var customOptions = _objectSpread(_objectSpread({}, item), elementOptions);\n customOptions.custom = true;\n customOptions.component = item.component || null;\n customOptions.customOptions = item.customOptions || [];\n return customOptions;\n }\n return elementOptions;\n };\n var create = function create(item) {\n var _item$static;\n var element = item.element || item.key;\n var elementOptions = addCustomOptions(item, {\n id: _UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid(),\n element: element,\n text: item.name,\n \"static\": (_item$static = item[\"static\"]) !== null && _item$static !== void 0 ? _item$static : false\n });\n if (item.groupName) {\n var _item$groupName;\n elementOptions.groupName = (_item$groupName = item.groupName) !== null && _item$groupName !== void 0 ? _item$groupName : null;\n }\n if (!item[\"static\"]) {\n elementOptions.required = false;\n }\n if (item.isContainer) {\n elementOptions.isContainer = true;\n }\n\n // add placeholder to form input\n if (['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags'].indexOf(element) !== -1) {\n var _item$placeholder;\n elementOptions.placeholder = (_item$placeholder = item.placeholder) !== null && _item$placeholder !== void 0 ? _item$placeholder : '';\n }\n if (item.type === 'custom') {\n elementOptions.key = item.key;\n elementOptions.custom = true;\n elementOptions.forwardRef = item.forwardRef;\n elementOptions.bare = item.bare;\n elementOptions.props = item.props;\n elementOptions.component = item.component || null;\n elementOptions.customOptions = item.customOptions || [];\n }\n if (item[\"static\"] && ['Header', 'Paragraph', 'Label'].indexOf(element) !== -1) {\n elementOptions.bold = false;\n elementOptions.italic = false;\n }\n if (item.canHaveLabelLocation || item.labelLocation !== undefined) {\n var _item$labelLocation;\n elementOptions.labelLocation = (_item$labelLocation = item.labelLocation) !== null && _item$labelLocation !== void 0 ? _item$labelLocation : 'ABOVE';\n }\n if (item.canHaveHelp || item.help !== undefined) {\n var _item$help;\n elementOptions.help = (_item$help = item.help) !== null && _item$help !== void 0 ? _item$help : '';\n }\n if (item.canHideLabel || item.hideLabel !== undefined) {\n var _item$hideLabel;\n elementOptions.hideLabel = (_item$hideLabel = item.hideLabel) !== null && _item$hideLabel !== void 0 ? _item$hideLabel : false;\n }\n if (item.canReadOnly || item.readOnly !== undefined) {\n var _item$readOnly;\n elementOptions.readOnly = (_item$readOnly = item.readOnly) !== null && _item$readOnly !== void 0 ? _item$readOnly : false;\n }\n if (item.canDefaultToday || item.defaultToday !== undefined) {\n var _item$defaultToday;\n elementOptions.defaultToday = (_item$defaultToday = item.defaultToday) !== null && _item$defaultToday !== void 0 ? _item$defaultToday : false;\n }\n if (item.content) {\n elementOptions.content = item.content;\n }\n if (item.href) {\n elementOptions.href = item.href;\n }\n if (item.inherited !== undefined) {\n elementOptions.inherited = item.inherited;\n }\n if (item.canHavePageBreakBefore || item.pageBreakBefore !== undefined) {\n var _item$pageBreakBefore;\n elementOptions.pageBreakBefore = (_item$pageBreakBefore = item.pageBreakBefore) !== null && _item$pageBreakBefore !== void 0 ? _item$pageBreakBefore : false;\n }\n if (item.canHaveAlternateForm || item.alternateForm !== undefined) {\n var _item$alternateForm;\n elementOptions.alternateForm = (_item$alternateForm = item.alternateForm) !== null && _item$alternateForm !== void 0 ? _item$alternateForm : false;\n }\n if (item.canHaveDisplayHorizontal || item.inline !== undefined) {\n var _item$inline;\n elementOptions.inline = (_item$inline = item.inline) !== null && _item$inline !== void 0 ? _item$inline : false;\n }\n if (item.canHaveOptionCorrect) {\n var _item$canHaveOptionCo;\n elementOptions.canHaveOptionCorrect = (_item$canHaveOptionCo = item.canHaveOptionCorrect) !== null && _item$canHaveOptionCo !== void 0 ? _item$canHaveOptionCo : false;\n }\n if (item.canHaveOptionValue) {\n var _item$canHaveOptionVa;\n elementOptions.canHaveOptionValue = (_item$canHaveOptionVa = item.canHaveOptionValue) !== null && _item$canHaveOptionVa !== void 0 ? _item$canHaveOptionVa : false;\n }\n if (item.canPopulateFromApi) {\n var _item$canPopulateFrom;\n elementOptions.canPopulateFromApi = (_item$canPopulateFrom = item.canPopulateFromApi) !== null && _item$canPopulateFrom !== void 0 ? _item$canPopulateFrom : false;\n }\n if (item.rows) {\n elementOptions.rows = item.rows;\n }\n if (item.className) {\n elementOptions.className = item.className;\n }\n if (element === 'Step') {\n elementOptions.conditional = item.conditional;\n elementOptions.conditionalFieldName = item.conditionalFieldName;\n elementOptions.conditionalFieldValue = item.conditionalFieldValue;\n elementOptions.hideNextStepButton = item.hideNextStepButton;\n }\n if (element === 'Image') {\n elementOptions.src = item.src;\n }\n if (element === 'DatePicker') {\n elementOptions.dateFormat = item.dateFormat;\n }\n if (element === 'Download') {\n elementOptions.href = item.href;\n elementOptions.filePath = item.filePath;\n }\n if (element === 'NumberInput') {\n elementOptions.step = item.step;\n elementOptions.minValue = item.minValue;\n elementOptions.maxValue = item.maxValue;\n }\n if (element === 'Range') {\n elementOptions.step = item.step;\n elementOptions.defaultValue = item.defaultValue;\n elementOptions.minValue = item.minValue;\n elementOptions.maxValue = item.maxValue;\n elementOptions.minLabel = item.minLabel;\n elementOptions.maxLabel = item.maxLabel;\n }\n if (element === 'MultiColumnRow') {\n elementOptions.colCount = item.colCount;\n }\n if (element === 'ButtonList' || element === 'RadioButtons') {\n var _item$submitOnSelecti;\n elementOptions.submitOnSelection = (_item$submitOnSelecti = item.submitOnSelection) !== null && _item$submitOnSelecti !== void 0 ? _item$submitOnSelecti : false;\n }\n if (element === 'RadioButtons') {\n var _item$showRadio;\n elementOptions.showRadio = (_item$showRadio = item.showRadio) !== null && _item$showRadio !== void 0 ? _item$showRadio : true;\n }\n if (item.bgColor) {\n elementOptions.bgColor = item.bgColor;\n }\n if (item.textColor) {\n elementOptions.textColor = item.textColor;\n }\n if (item.className) {\n elementOptions.className = item.className;\n }\n if (item.fieldLabelClassName) {\n elementOptions.fieldLabelClassName = item.fieldLabelClassName;\n }\n if (item.fieldDescriptionClassName) {\n elementOptions.fieldDescriptionClassName = item.fieldDescriptionClassName;\n }\n if (item.selectedClassName) {\n elementOptions.selectedClassName = item.selectedClassName;\n }\n if (item.unselectedClassName) {\n elementOptions.unselectedClassName = item.unselectedClassName;\n }\n if (item.selectedColor) {\n elementOptions.selectedColor = item.selectedColor;\n }\n if (item.unselectedColor) {\n elementOptions.unselectedColor = item.unselectedColor;\n }\n if (item.defaultValue) {\n elementOptions.defaultValue = item.defaultValue;\n }\n if (item.fieldName) {\n elementOptions.fieldName = item.fieldName + _UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid();\n }\n if (!item[\"static\"]) {\n var _item$customName;\n elementOptions.customName = (_item$customName = item.customName) !== null && _item$customName !== void 0 ? _item$customName : elementOptions.fieldName;\n }\n if (item.label) {\n elementOptions.label = item.label.trim();\n }\n if (item.options) {\n if (item.options.length > 0) {\n elementOptions.options = item.options.map(function (x) {\n return _objectSpread(_objectSpread({}, x), {}, {\n key: \"custom_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n });\n });\n } else {\n elementOptions.options = _defaultItemOptions(elementOptions.element);\n }\n }\n return elementOptions;\n };\n var _onClick = function _onClick(item) {\n // ElementActions.createElement(create(item));\n _stores_store__WEBPACK_IMPORTED_MODULE_3__[\"default\"].dispatch('create', create(item));\n };\n var renderItem = function renderItem(item) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar_draggable_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n item: item,\n key: item.key,\n onClick: function onClick() {\n _onClick(item);\n },\n onCreate: create\n });\n };\n react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(function () {\n setDataItems(buildItems(dataItems, _defaultItems, customItems));\n }, []);\n var _buildGroupItems = buildGroupItems(dataItems),\n ungroupedItems = _buildGroupItems.ungroupedItems,\n grouped = _buildGroupItems.grouped,\n groupKeys = _buildGroupItems.groupKeys;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-toolbar\"\n }, toolbarTop, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"Survey Blocks Toolbox\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"ul\", null, ungroupedItems.map(renderItem), groupKeys.map(function (k) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar_group_item__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: k,\n name: k,\n group: grouped.get(k),\n renderItem: renderItem\n });\n })));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Toolbar);\n\n//# sourceURL=webpack://react-survey-builder/./src/toolbar.jsx?");
1249
+ 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 _toolbar_draggable_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toolbar-draggable-item */ \"./src/toolbar-draggable-item.jsx\");\n/* harmony import */ var _toolbar_group_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbar-group-item */ \"./src/toolbar-group-item.jsx\");\n/* harmony import */ var _stores_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stores/store */ \"./src/stores/store.js\");\n/* harmony import */ var react_icons_fa__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-icons/fa */ \"./node_modules/react-icons/fa/index.mjs\");\n/* harmony import */ var react_icons_pi__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-icons/pi */ \"./node_modules/react-icons/pi/index.mjs\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UUID */ \"./src/UUID.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_UUID__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_icons_gr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-icons/gr */ \"./node_modules/react-icons/gr/index.mjs\");\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/objectUtils */ \"./src/utils/objectUtils.js\");\n/* harmony import */ var react_icons_io5__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-icons/io5 */ \"./node_modules/react-icons/io5/index.mjs\");\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 _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 _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; }\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 _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 _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 _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; }\n\n\n\n\n\n\n\n\n\n\nvar _defaultItems = [{\n key: 'Header',\n name: \"Header Text\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaHeading,\n \"static\": true,\n content: \"Text...\"\n}, {\n key: 'Label',\n name: \"Label\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFont,\n content: \"Text...\"\n}, {\n key: 'Paragraph',\n name: \"Paragraph\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaParagraph,\n content: \"Text...\"\n}, {\n key: 'ContentBody',\n name: \"Static Content\",\n \"static\": true,\n icon: react_icons_pi__WEBPACK_IMPORTED_MODULE_7__.PiFileHtml,\n content: \"Text...\"\n}, {\n key: 'LineBreak',\n name: \"Line Break\",\n \"static\": true,\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaArrowsAltH\n}, {\n key: 'Dropdown',\n name: \"Dropdown\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCaretSquareDown,\n label: \"Label\",\n fieldName: 'dropdown_',\n canHaveHelp: true,\n options: [],\n placeholder: 'Select One',\n canHaveLabelLocation: true,\n answerType: 'ARRAY',\n hideLabel: false\n}, {\n key: 'Tags',\n name: \"Tags\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaTags,\n label: \"Label\",\n fieldName: 'tags_',\n canHaveHelp: true,\n options: [],\n placeholder: 'Select...',\n canHaveLabelLocation: true,\n answerType: 'ARRAY',\n hideLabel: false\n}, {\n key: 'Checkboxes',\n name: \"Checkboxes\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCheckSquare,\n label: \"Label\",\n fieldName: 'checkboxes_',\n canHaveHelp: true,\n options: [],\n answerType: 'ARRAY',\n hideLabel: false,\n canHaveDisplayHorizontal: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n inline: false\n}, {\n key: 'Checkbox',\n name: \"Checkbox\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCheckSquare,\n label: \"Label\",\n fieldName: 'checkbox_',\n canHaveHelp: true,\n boxLabel: 'Pick me',\n answerType: 'BOOLEAN',\n canHideLabel: true,\n hideLabel: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\"\n}, {\n key: 'RadioButtons',\n name: \"Radio Buttons\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegDotCircle,\n label: \"Label\",\n fieldName: 'radiobuttons_',\n canHaveHelp: true,\n options: [],\n answerType: 'STRING',\n hideLabel: false,\n submitOnSelection: false,\n canHaveDisplayHorizontal: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n showRadio: true,\n inline: false\n}, {\n key: 'ButtonList',\n name: \"Button List\",\n icon: react_icons_io5__WEBPACK_IMPORTED_MODULE_8__.IoReorderTwo,\n label: \"Label\",\n fieldName: 'buttonlist_',\n canHaveHelp: true,\n options: [],\n answerType: 'STRING',\n hideLabel: false,\n submitOnSelection: true,\n bgColor: 'light',\n textColor: 'black',\n className: \"p-2 shadow-none rounded-3 text-black border border-2 w-100\",\n fieldLabelClassName: \"text-start text-black fs-3\",\n fieldDescriptionClassName: \"text-start text-muted fs-6\",\n selectedClassName: \"border-black\",\n unselectedClassName: \"border-light\",\n unselectedColor: \"black\",\n selectedColor: \"black\",\n showRadio: false,\n inline: false\n}, {\n key: 'TextInput',\n name: \"Text Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFont,\n fieldName: 'text_input_',\n canHaveHelp: true,\n placeholder: \"Label\",\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'EmailInput',\n name: \"Email Input\",\n label: \"Email Address\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaEnvelope,\n fieldName: 'email_input_',\n canHaveHelp: true,\n placeholder: \"Email Address\",\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'PhoneNumber',\n name: \"Phone Number\",\n label: \"Phone Number\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPhone,\n fieldName: 'phone_input_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'DatePicker',\n canDefaultToday: true,\n canReadOnly: true,\n dateFormat: 'MM/DD/YYYY',\n name: \"Date\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegCalendarAlt,\n label: \"Label\",\n fieldName: 'date_picker_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false\n}, {\n key: 'TextArea',\n name: \"Multi-line Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaTextHeight,\n fieldName: 'text_area_',\n canHaveHelp: true,\n canHaveLabelLocation: true,\n answerType: 'STRING',\n hideLabel: false,\n rows: 5\n}, {\n key: 'NumberInput',\n name: \"Numerical Input\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPlus,\n fieldName: 'number_input_',\n canHaveHelp: true,\n step: 1,\n minValue: 0,\n maxValue: 5,\n canHaveLabelLocation: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Rating',\n name: \"Rating\",\n label: \"Label\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaStar,\n fieldName: 'rating_',\n canHaveHelp: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Range',\n name: \"Range\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaSlidersH,\n label: \"Label\",\n fieldName: 'range_',\n step: 1,\n defaultValue: 3,\n minValue: 1,\n maxValue: 5,\n minLabel: \"Easy\",\n maxLabel: \"Difficult\",\n canHaveHelp: true,\n answerType: 'NUMBER',\n hideLabel: false\n}, {\n key: 'Signature',\n canReadOnly: true,\n name: \"Signature\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaPenSquare,\n label: \"Signature\",\n fieldName: 'signature_',\n canHaveHelp: true,\n answerType: 'IMAGE',\n hideLabel: false\n}, {\n key: 'Camera',\n name: \"Camera\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaCamera,\n label: \"Label\",\n fieldName: 'camera_',\n answerType: 'IMAGE',\n hideLabel: false\n}, {\n key: 'FileUpload',\n name: \"File Upload\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFile,\n label: \"Label\",\n fieldName: 'file_upload_',\n answerType: 'FILE',\n hideLabel: false\n}, {\n key: 'Fieldset',\n name: \"Fieldset\",\n label: \"Fieldset\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaBars,\n fieldName: 'fieldset-element',\n \"static\": true,\n isContainer: true\n}, {\n key: 'Image',\n name: \"Image\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaRegImage,\n fieldName: 'image_',\n src: '',\n \"static\": true\n}, {\n key: 'HyperLink',\n name: \"Hyperlink\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaLink,\n content: \"Website Link...\",\n href: 'http://www.example.com',\n \"static\": true\n}, {\n key: 'Download',\n name: \"File Attachment\",\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaFile,\n content: \"File name...\",\n fieldName: 'download_',\n filePath: '',\n href: '',\n \"static\": true\n}, {\n key: 'TwoColumnRow',\n name: \"Two Column Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'two_col_row_',\n \"static\": true,\n isContainer: true\n}, {\n key: 'ThreeColumnRow',\n name: \"Three Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'three_col_row_',\n \"static\": true,\n isContainer: true\n}, {\n key: 'FourColumnRow',\n element: 'MultiColumnRow',\n name: \"Four Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'four_col_row_',\n colCount: 4,\n className: 'col-md-3',\n \"static\": true,\n isContainer: true\n}, {\n key: 'FiveColumnRow',\n element: 'MultiColumnRow',\n name: \"Five Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'five_col_row_',\n colCount: 5,\n className: 'col',\n \"static\": true,\n isContainer: true\n}, {\n key: 'SixColumnRow',\n element: 'MultiColumnRow',\n name: \"Six Columns Row\",\n label: '',\n icon: react_icons_fa__WEBPACK_IMPORTED_MODULE_6__.FaColumns,\n fieldName: 'six_col_row_',\n colCount: 6,\n className: 'col-md-2',\n \"static\": true,\n isContainer: true\n}, {\n key: 'Step',\n name: \"Step\",\n label: \"Step\",\n icon: react_icons_gr__WEBPACK_IMPORTED_MODULE_9__.GrSteps,\n fieldName: 'step_',\n \"static\": true,\n conditional: false,\n conditionalFieldName: '',\n conditionalFieldValue: '',\n isContainer: true,\n hideNextStepButton: false\n}];\nvar groupBy = function groupBy(list, keyGetter) {\n var map = new Map();\n list.forEach(function (item) {\n var key = keyGetter(item);\n var collection = map.get(key);\n if (!collection) {\n map.set(key, [item]);\n } else {\n collection.push(item);\n }\n });\n return map;\n};\nvar buildItems = function buildItems() {\n var dataItems = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultDataItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var customItems = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var allItems = [].concat(_toConsumableArray(defaultDataItems), _toConsumableArray(customItems));\n if (!(0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__.isListNotEmpty)(dataItems)) {\n return allItems;\n }\n return dataItems.map(function (x) {\n var found = allItems.find(function (y) {\n return x.element === y.element && y.key === x.key;\n });\n if (!found) {\n found = allItems.find(function (y) {\n return (x.element || x.key) === (y.element || y.key);\n });\n }\n if (found) {\n if (x.inherited !== false) {\n found = _objectSpread(_objectSpread({}, found), x);\n } else if (x.groupName) {\n found.groupName = x.groupName;\n }\n }\n return found || x;\n });\n};\nvar buildGroupItems = function buildGroupItems() {\n var allItems = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var ungroupedItems = allItems.filter(function (x) {\n return !x.groupName;\n });\n var gItems = allItems.filter(function (x) {\n return !!x.groupName;\n });\n var grouped = groupBy(gItems, function (x) {\n return x.groupName;\n });\n var groupKeys = gItems.map(function (x) {\n return x.groupName;\n }).filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n return {\n ungroupedItems: ungroupedItems,\n grouped: grouped,\n groupKeys: groupKeys\n };\n};\nvar Toolbar = function Toolbar(_ref) {\n var toolbarTop = _ref.toolbarTop,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$customItems = _ref.customItems,\n customItems = _ref$customItems === void 0 ? [] : _ref$customItems;\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState((0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_5__.isListNotEmpty)(items) ? _toConsumableArray(items) : []),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dataItems = _React$useState2[0],\n setDataItems = _React$useState2[1];\n var _defaultItemOptions = function _defaultItemOptions(element) {\n switch (element) {\n case 'Dropdown':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"dropdown_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'Tags':\n return [{\n value: 'PLACE_HOLDER_TAG_1',\n text: \"Place holder option 1\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_TAG_2',\n text: \"Place holder option 2\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_TAG_3',\n text: \"Place holder option 3\",\n key: \"tags_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'Checkboxes':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"checkboxes_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'RadioButtons':\n return [{\n value: 'PLACE_HOLDER_OPTION_1',\n text: \"Place holder option 1\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_2',\n text: \"Place holder option 2\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'PLACE_HOLDER_OPTION_3',\n text: \"Place holder option 3\",\n key: \"radiobuttons_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n case 'ButtonList':\n return [{\n value: 'YES',\n text: \"Yes\",\n key: \"buttonlist_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }, {\n value: 'NO',\n text: \"No\",\n key: \"buttonlist_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n }];\n default:\n return [];\n }\n };\n var addCustomOptions = function addCustomOptions(item, elementOptions) {\n if (item.type === 'custom') {\n var customOptions = _objectSpread(_objectSpread({}, item), elementOptions);\n customOptions.custom = true;\n customOptions.component = item.component || null;\n customOptions.customOptions = item.customOptions || [];\n return customOptions;\n }\n return elementOptions;\n };\n var create = function create(item) {\n var _item$static;\n var element = item.element || item.key;\n var elementOptions = addCustomOptions(item, {\n id: _UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid(),\n element: element,\n text: item.name,\n \"static\": (_item$static = item[\"static\"]) !== null && _item$static !== void 0 ? _item$static : false\n });\n if (item.groupName) {\n var _item$groupName;\n elementOptions.groupName = (_item$groupName = item.groupName) !== null && _item$groupName !== void 0 ? _item$groupName : null;\n }\n if (!item[\"static\"]) {\n elementOptions.required = false;\n }\n if (item.isContainer) {\n elementOptions.isContainer = true;\n }\n\n // add placeholder to form input\n if (['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags'].indexOf(element) !== -1) {\n var _item$placeholder;\n elementOptions.placeholder = (_item$placeholder = item.placeholder) !== null && _item$placeholder !== void 0 ? _item$placeholder : '';\n }\n if (item.type === 'custom') {\n elementOptions.key = item.key;\n elementOptions.custom = true;\n elementOptions.forwardRef = item.forwardRef;\n elementOptions.bare = item.bare;\n elementOptions.props = item.props;\n elementOptions.component = item.component || null;\n elementOptions.customOptions = item.customOptions || [];\n }\n if (item[\"static\"] && ['Header', 'Paragraph', 'Label'].indexOf(element) !== -1) {\n elementOptions.bold = false;\n elementOptions.italic = false;\n }\n if (item.canHaveLabelLocation || item.labelLocation !== undefined) {\n var _item$labelLocation;\n elementOptions.labelLocation = (_item$labelLocation = item.labelLocation) !== null && _item$labelLocation !== void 0 ? _item$labelLocation : 'ABOVE';\n }\n if (item.canHaveHelp || item.help !== undefined) {\n var _item$help;\n elementOptions.help = (_item$help = item.help) !== null && _item$help !== void 0 ? _item$help : '';\n }\n if (item.canHideLabel || item.hideLabel !== undefined) {\n var _item$hideLabel;\n elementOptions.hideLabel = (_item$hideLabel = item.hideLabel) !== null && _item$hideLabel !== void 0 ? _item$hideLabel : false;\n }\n if (item.canReadOnly || item.readOnly !== undefined) {\n var _item$readOnly;\n elementOptions.readOnly = (_item$readOnly = item.readOnly) !== null && _item$readOnly !== void 0 ? _item$readOnly : false;\n }\n if (item.canDefaultToday || item.defaultToday !== undefined) {\n var _item$defaultToday;\n elementOptions.defaultToday = (_item$defaultToday = item.defaultToday) !== null && _item$defaultToday !== void 0 ? _item$defaultToday : false;\n }\n if (item.content) {\n elementOptions.content = item.content;\n }\n if (item.href) {\n elementOptions.href = item.href;\n }\n if (item.inherited !== undefined) {\n elementOptions.inherited = item.inherited;\n }\n if (item.canHavePageBreakBefore || item.pageBreakBefore !== undefined) {\n var _item$pageBreakBefore;\n elementOptions.pageBreakBefore = (_item$pageBreakBefore = item.pageBreakBefore) !== null && _item$pageBreakBefore !== void 0 ? _item$pageBreakBefore : false;\n }\n if (item.canHaveAlternateForm || item.alternateForm !== undefined) {\n var _item$alternateForm;\n elementOptions.alternateForm = (_item$alternateForm = item.alternateForm) !== null && _item$alternateForm !== void 0 ? _item$alternateForm : false;\n }\n if (item.canHaveDisplayHorizontal || item.inline !== undefined) {\n var _item$inline;\n elementOptions.inline = (_item$inline = item.inline) !== null && _item$inline !== void 0 ? _item$inline : false;\n }\n if (item.canHaveOptionCorrect) {\n var _item$canHaveOptionCo;\n elementOptions.canHaveOptionCorrect = (_item$canHaveOptionCo = item.canHaveOptionCorrect) !== null && _item$canHaveOptionCo !== void 0 ? _item$canHaveOptionCo : false;\n }\n if (item.canHaveOptionValue) {\n var _item$canHaveOptionVa;\n elementOptions.canHaveOptionValue = (_item$canHaveOptionVa = item.canHaveOptionValue) !== null && _item$canHaveOptionVa !== void 0 ? _item$canHaveOptionVa : false;\n }\n if (item.canPopulateFromApi) {\n var _item$canPopulateFrom;\n elementOptions.canPopulateFromApi = (_item$canPopulateFrom = item.canPopulateFromApi) !== null && _item$canPopulateFrom !== void 0 ? _item$canPopulateFrom : false;\n }\n if (item.rows) {\n elementOptions.rows = item.rows;\n }\n if (item.className) {\n elementOptions.className = item.className;\n }\n if (item.reportForm) {\n var _item$reportForm;\n elementOptions.reportForm = (_item$reportForm = item.reportForm) !== null && _item$reportForm !== void 0 ? _item$reportForm : false;\n }\n if (element === 'Step') {\n elementOptions.conditional = item.conditional;\n elementOptions.conditionalFieldName = item.conditionalFieldName;\n elementOptions.conditionalFieldValue = item.conditionalFieldValue;\n elementOptions.hideNextStepButton = item.hideNextStepButton;\n }\n if (element === 'Image') {\n elementOptions.src = item.src;\n }\n if (element === 'DatePicker') {\n elementOptions.dateFormat = item.dateFormat;\n }\n if (element === 'Download') {\n elementOptions.href = item.href;\n elementOptions.filePath = item.filePath;\n }\n if (element === 'NumberInput') {\n elementOptions.step = item.step;\n elementOptions.minValue = item.minValue;\n elementOptions.maxValue = item.maxValue;\n }\n if (element === 'Range') {\n elementOptions.step = item.step;\n elementOptions.defaultValue = item.defaultValue;\n elementOptions.minValue = item.minValue;\n elementOptions.maxValue = item.maxValue;\n elementOptions.minLabel = item.minLabel;\n elementOptions.maxLabel = item.maxLabel;\n }\n if (element === 'MultiColumnRow') {\n elementOptions.colCount = item.colCount;\n }\n if (element === 'ButtonList' || element === 'RadioButtons') {\n var _item$submitOnSelecti;\n elementOptions.submitOnSelection = (_item$submitOnSelecti = item.submitOnSelection) !== null && _item$submitOnSelecti !== void 0 ? _item$submitOnSelecti : false;\n }\n if (element === 'RadioButtons') {\n var _item$showRadio;\n elementOptions.showRadio = (_item$showRadio = item.showRadio) !== null && _item$showRadio !== void 0 ? _item$showRadio : true;\n }\n if (item.bgColor) {\n elementOptions.bgColor = item.bgColor;\n }\n if (item.textColor) {\n elementOptions.textColor = item.textColor;\n }\n if (item.className) {\n elementOptions.className = item.className;\n }\n if (item.fieldLabelClassName) {\n elementOptions.fieldLabelClassName = item.fieldLabelClassName;\n }\n if (item.fieldDescriptionClassName) {\n elementOptions.fieldDescriptionClassName = item.fieldDescriptionClassName;\n }\n if (item.selectedClassName) {\n elementOptions.selectedClassName = item.selectedClassName;\n }\n if (item.unselectedClassName) {\n elementOptions.unselectedClassName = item.unselectedClassName;\n }\n if (item.selectedColor) {\n elementOptions.selectedColor = item.selectedColor;\n }\n if (item.unselectedColor) {\n elementOptions.unselectedColor = item.unselectedColor;\n }\n if (item.defaultValue) {\n elementOptions.defaultValue = item.defaultValue;\n }\n if (item.fieldName) {\n elementOptions.fieldName = item.fieldName + _UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid();\n }\n if (!item[\"static\"]) {\n var _item$customName;\n elementOptions.customName = (_item$customName = item.customName) !== null && _item$customName !== void 0 ? _item$customName : elementOptions.fieldName;\n }\n if (item.label) {\n elementOptions.label = item.label.trim();\n }\n if (item.options) {\n if (item.options.length > 0) {\n elementOptions.options = item.options.map(function (x) {\n return _objectSpread(_objectSpread({}, x), {}, {\n key: \"custom_option_\".concat(_UUID__WEBPACK_IMPORTED_MODULE_4___default().uuid())\n });\n });\n } else {\n elementOptions.options = _defaultItemOptions(elementOptions.element);\n }\n }\n return elementOptions;\n };\n var _onClick = function _onClick(item) {\n // ElementActions.createElement(create(item));\n _stores_store__WEBPACK_IMPORTED_MODULE_3__[\"default\"].dispatch('create', create(item));\n };\n var renderItem = function renderItem(item) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar_draggable_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n item: item,\n key: item.key,\n onClick: function onClick() {\n _onClick(item);\n },\n onCreate: create\n });\n };\n react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(function () {\n setDataItems(buildItems(dataItems, _defaultItems, customItems));\n }, []);\n var _buildGroupItems = buildGroupItems(dataItems),\n ungroupedItems = _buildGroupItems.ungroupedItems,\n grouped = _buildGroupItems.grouped,\n groupKeys = _buildGroupItems.groupKeys;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"react-survey-builder-toolbar\"\n }, toolbarTop, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"Survey Blocks Toolbox\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"ul\", null, ungroupedItems.map(renderItem), groupKeys.map(function (k) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toolbar_group_item__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: k,\n name: k,\n group: grouped.get(k),\n renderItem: renderItem\n });\n })));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Toolbar);\n\n//# sourceURL=webpack://react-survey-builder/./src/toolbar.jsx?");
1250
1250
 
1251
1251
  /***/ }),
1252
1252