react-survey-builder 1.0.111 → 1.0.112

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.
@@ -15,7 +15,7 @@
15
15
  \*************************************/
16
16
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
17
 
18
- 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_icons_fa__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-icons/fa */ \"./node_modules/react-icons/fa/index.mjs\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Row.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Col.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UUID */ \"./src/UUID.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_UUID__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__ = __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); }\nvar _excluded = [\"dirty\", \"setDirty\", \"element\", \"setElement\", \"updateElement\"];\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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n\n\n\n\n\nvar DynamicOptionList = function DynamicOptionList(_ref) {\n var dirty = _ref.dirty,\n setDirty = _ref.setDirty,\n element = _ref.element,\n setElement = _ref.setElement,\n updateElement = _ref.updateElement,\n props = _objectWithoutProperties(_ref, _excluded);\n var _setValue = function _setValue(text) {\n return text.replace(/[^A-Z0-9]+/ig, '_').toUpperCase();\n };\n var editOption = function editOption(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = thisElement.options[optionIndex].value !== _setValue(thisElement.options[optionIndex].text) ? thisElement.options[optionIndex].value : _setValue(e.target.value);\n thisElement.options[optionIndex].text = e.target.value;\n thisElement.options[optionIndex].value = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editValue = function editValue(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value === '' ? _setValue(thisElement.options[optionIndex].text) : e.target.value;\n thisElement.options[optionIndex].value = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editDescription = function editDescription(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].description = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editIcon = function editIcon(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].icon = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editImage = function editImage(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].image = val;\n setElement(thisElement);\n setDirty(true);\n };\n\n // eslint-disable-next-line no-unused-vars\n var editOptionCorrect = function editOptionCorrect(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n if (thisElement.options[optionIndex].hasOwnProperty('correct')) {\n delete thisElement.options[optionIndex].correct;\n } else {\n thisElement.options[optionIndex].correct = true;\n }\n setElement(thisElement);\n updateElement(thisElement);\n };\n var updateOption = function updateOption() {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n // to prevent ajax calls with no change\n if (dirty) {\n updateElement(thisElement);\n setDirty(false);\n }\n };\n var addOption = function addOption(index) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n thisElement.options.splice(index + 1, 0, {\n value: '',\n text: '',\n icon: '',\n image: '',\n key: _UUID__WEBPACK_IMPORTED_MODULE_1___default().uuid()\n });\n updateElement(thisElement);\n };\n var removeOption = function removeOption(index) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n thisElement.options.splice(index, 1);\n updateElement(thisElement);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dynamic-option-list\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"ul\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"li\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: props.canHaveIcon && props.canHaveImage ? 4 : 6\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Options\")), props.canHaveIcon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Icon ClassName\")), props.canHaveImage && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Image URL\")), props.canHaveOptionValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: props.canHaveIcon && props.canHaveImage ? 2 : 4\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Value\")), props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Correct\")))), element.options.map(function (option, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"li\", {\n className: \"clearfix\",\n key: \"edit_\".concat(option.key)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: props.canHaveIcon && props.canHaveImage ? 3 : 4\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n tabIndex: index + 1,\n style: {\n width: '100%'\n },\n type: \"text\",\n name: \"text_\".concat(index),\n placeholder: \"Option text\",\n value: option.text,\n onBlur: updateOption,\n onChange: function onChange(e) {\n editOption(index, e);\n }\n }), props.canHaveDescription && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n style: {\n width: '100%'\n },\n type: \"text\",\n name: \"description_\".concat(index),\n value: option.description,\n onChange: function onChange(e) {\n editDescription(index, e);\n }\n })), props.canHaveIcon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"icon_\".concat(index),\n value: option.icon,\n onChange: function onChange(e) {\n editIcon(index, e);\n }\n })), props.canHaveImage && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"image_\".concat(index),\n value: option.image,\n onChange: function onChange(e) {\n editImage(index, e);\n }\n })), props.canHaveOptionValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: props.canHaveIcon && props.canHaveImage ? 3 : 4\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"value_\".concat(index),\n value: option.value,\n onChange: function onChange(e) {\n editValue(index, e);\n }\n })), props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Check, {\n type: \"checkbox\",\n value: \"1\",\n onChange: function onChange(e) {\n editOptionCorrect(index, e);\n },\n checked: option.hasOwnProperty('correct')\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 3\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dynamic-options-actions-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n variant: \"success\",\n onClick: function onClick() {\n addOption(index);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_icons_fa__WEBPACK_IMPORTED_MODULE_7__.FaPlusCircle, null)), index > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n variant: \"danger\",\n onClick: function onClick() {\n removeOption(index);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_icons_fa__WEBPACK_IMPORTED_MODULE_7__.FaMinusCircle, null))))));\n })));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DynamicOptionList);\n\n//# sourceURL=webpack://react-survey-builder/./src/dynamic-option-list.jsx?");
18
+ 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_icons_fa__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-icons/fa */ \"./node_modules/react-icons/fa/index.mjs\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Row.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Col.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UUID */ \"./src/UUID.js\");\n/* harmony import */ var _UUID__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_UUID__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__ = __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); }\nvar _excluded = [\"dirty\", \"setDirty\", \"element\", \"setElement\", \"updateElement\"];\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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n\n\n\n\n\nvar DynamicOptionList = function DynamicOptionList(_ref) {\n var dirty = _ref.dirty,\n setDirty = _ref.setDirty,\n element = _ref.element,\n setElement = _ref.setElement,\n updateElement = _ref.updateElement,\n props = _objectWithoutProperties(_ref, _excluded);\n var _setValue = function _setValue(text) {\n return text.replace(/[^A-Z0-9]+/ig, '_').toUpperCase();\n };\n var editOption = function editOption(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = thisElement.options[optionIndex].value !== _setValue(thisElement.options[optionIndex].text) ? thisElement.options[optionIndex].value : _setValue(e.target.value);\n thisElement.options[optionIndex].text = e.target.value;\n thisElement.options[optionIndex].value = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editValue = function editValue(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value === '' ? _setValue(thisElement.options[optionIndex].text) : e.target.value;\n thisElement.options[optionIndex].value = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editDescription = function editDescription(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].description = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editIcon = function editIcon(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].icon = val;\n setElement(thisElement);\n setDirty(true);\n };\n var editImage = function editImage(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n var val = e.target.value;\n thisElement.options[optionIndex].image = val;\n setElement(thisElement);\n setDirty(true);\n };\n\n // eslint-disable-next-line no-unused-vars\n var editOptionCorrect = function editOptionCorrect(optionIndex, e) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n if (thisElement.options[optionIndex].hasOwnProperty('correct')) {\n delete thisElement.options[optionIndex].correct;\n } else {\n thisElement.options[optionIndex].correct = true;\n }\n setElement(thisElement);\n updateElement(thisElement);\n };\n var updateOption = function updateOption() {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n // to prevent ajax calls with no change\n if (dirty) {\n updateElement(thisElement);\n setDirty(false);\n }\n };\n var addOption = function addOption(index) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n thisElement.options.splice(index + 1, 0, {\n value: '',\n text: '',\n icon: '',\n image: '',\n key: _UUID__WEBPACK_IMPORTED_MODULE_1___default().uuid()\n });\n updateElement(thisElement);\n };\n var removeOption = function removeOption(index) {\n var thisElement = (0,_utils_objectUtils__WEBPACK_IMPORTED_MODULE_2__.isObjectNotEmpty)(element) ? _objectSpread({}, element) : {};\n thisElement.options.splice(index, 1);\n updateElement(thisElement);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dynamic-option-list\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"ul\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"li\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 4\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Options\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Image\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 3\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Value\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, \"Correct\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }))), element.options.map(function (option, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"li\", {\n className: \"clearfix\",\n key: \"edit_\".concat(option.key)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 4\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Label/Text\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n tabIndex: index + 1,\n style: {\n width: '100%'\n },\n type: \"text\",\n name: \"text_\".concat(index),\n placeholder: \"Option text\",\n value: option.text,\n onBlur: updateOption,\n onChange: function onChange(e) {\n editOption(index, e);\n }\n }), props.canHaveDescription && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Description\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n style: {\n width: '100%'\n },\n type: \"text\",\n name: \"description_\".concat(index),\n value: option.description,\n onChange: function onChange(e) {\n editDescription(index, e);\n }\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, props.canHaveIcon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"React-Icon Module\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"icon_\".concat(index),\n value: option.icon,\n onChange: function onChange(e) {\n editIcon(index, e);\n }\n })), props.canHaveImage && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Image URL\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"image_\".concat(index),\n value: option.image,\n onChange: function onChange(e) {\n editImage(index, e);\n }\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 3\n }, props.canHaveOptionValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Control, {\n type: \"text\",\n name: \"value_\".concat(index),\n value: option.value,\n onChange: function onChange(e) {\n editValue(index, e);\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 1\n }, props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Check, {\n type: \"checkbox\",\n value: \"1\",\n onChange: function onChange(e) {\n editOptionCorrect(index, e);\n },\n checked: option.hasOwnProperty('correct')\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n sm: 2\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dynamic-options-actions-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n variant: \"success\",\n onClick: function onClick() {\n addOption(index);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_icons_fa__WEBPACK_IMPORTED_MODULE_7__.FaPlusCircle, null)), index > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n variant: \"danger\",\n onClick: function onClick() {\n removeOption(index);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_icons_fa__WEBPACK_IMPORTED_MODULE_7__.FaMinusCircle, null))))));\n })));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DynamicOptionList);\n\n//# sourceURL=webpack://react-survey-builder/./src/dynamic-option-list.jsx?");
19
19
 
20
20
  /***/ }),
21
21
 
@@ -97,22 +97,22 @@ var DynamicOptionList = function DynamicOptionList(_ref) {
97
97
  return /*#__PURE__*/React.createElement("div", {
98
98
  className: "dynamic-option-list"
99
99
  }, /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Col, {
100
- sm: props.canHaveIcon && props.canHaveImage ? 4 : 6
101
- }, /*#__PURE__*/React.createElement("b", null, "Options")), props.canHaveIcon && /*#__PURE__*/React.createElement(Col, {
100
+ sm: 4
101
+ }, /*#__PURE__*/React.createElement("b", null, "Options")), /*#__PURE__*/React.createElement(Col, {
102
102
  sm: 2
103
- }, /*#__PURE__*/React.createElement("b", null, "Icon ClassName")), props.canHaveImage && /*#__PURE__*/React.createElement(Col, {
103
+ }, /*#__PURE__*/React.createElement("b", null, "Image")), /*#__PURE__*/React.createElement(Col, {
104
+ sm: 3
105
+ }, /*#__PURE__*/React.createElement("b", null, "Value")), /*#__PURE__*/React.createElement(Col, {
106
+ sm: 1
107
+ }, /*#__PURE__*/React.createElement("b", null, "Correct")), /*#__PURE__*/React.createElement(Col, {
104
108
  sm: 2
105
- }, /*#__PURE__*/React.createElement("b", null, "Image URL")), props.canHaveOptionValue && /*#__PURE__*/React.createElement(Col, {
106
- sm: props.canHaveIcon && props.canHaveImage ? 2 : 4
107
- }, /*#__PURE__*/React.createElement("b", null, "Value")), props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/React.createElement(Col, {
108
- sm: 2
109
- }, /*#__PURE__*/React.createElement("b", null, "Correct")))), element.options.map(function (option, index) {
109
+ }))), element.options.map(function (option, index) {
110
110
  return /*#__PURE__*/React.createElement("li", {
111
111
  className: "clearfix",
112
112
  key: "edit_".concat(option.key)
113
113
  }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Col, {
114
- sm: props.canHaveIcon && props.canHaveImage ? 3 : 4
115
- }, /*#__PURE__*/React.createElement(Form.Control, {
114
+ sm: 4
115
+ }, /*#__PURE__*/React.createElement("label", null, "Label/Text"), /*#__PURE__*/React.createElement(Form.Control, {
116
116
  tabIndex: index + 1,
117
117
  style: {
118
118
  width: '100%'
@@ -125,7 +125,7 @@ var DynamicOptionList = function DynamicOptionList(_ref) {
125
125
  onChange: function onChange(e) {
126
126
  editOption(index, e);
127
127
  }
128
- }), props.canHaveDescription && /*#__PURE__*/React.createElement(Form.Control, {
128
+ }), props.canHaveDescription && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, "Description"), /*#__PURE__*/React.createElement(Form.Control, {
129
129
  style: {
130
130
  width: '100%'
131
131
  },
@@ -135,36 +135,34 @@ var DynamicOptionList = function DynamicOptionList(_ref) {
135
135
  onChange: function onChange(e) {
136
136
  editDescription(index, e);
137
137
  }
138
- })), props.canHaveIcon && /*#__PURE__*/React.createElement(Col, {
139
- sm: 1
140
- }, /*#__PURE__*/React.createElement(Form.Control, {
138
+ }))), /*#__PURE__*/React.createElement(Col, {
139
+ sm: 2
140
+ }, props.canHaveIcon && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, "React-Icon Module"), /*#__PURE__*/React.createElement(Form.Control, {
141
141
  type: "text",
142
142
  name: "icon_".concat(index),
143
143
  value: option.icon,
144
144
  onChange: function onChange(e) {
145
145
  editIcon(index, e);
146
146
  }
147
- })), props.canHaveImage && /*#__PURE__*/React.createElement(Col, {
148
- sm: 1
149
- }, /*#__PURE__*/React.createElement(Form.Control, {
147
+ })), props.canHaveImage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, "Image URL"), /*#__PURE__*/React.createElement(Form.Control, {
150
148
  type: "text",
151
149
  name: "image_".concat(index),
152
150
  value: option.image,
153
151
  onChange: function onChange(e) {
154
152
  editImage(index, e);
155
153
  }
156
- })), props.canHaveOptionValue && /*#__PURE__*/React.createElement(Col, {
157
- sm: props.canHaveIcon && props.canHaveImage ? 3 : 4
158
- }, /*#__PURE__*/React.createElement(Form.Control, {
154
+ }))), /*#__PURE__*/React.createElement(Col, {
155
+ sm: 3
156
+ }, props.canHaveOptionValue && /*#__PURE__*/React.createElement(Form.Control, {
159
157
  type: "text",
160
158
  name: "value_".concat(index),
161
159
  value: option.value,
162
160
  onChange: function onChange(e) {
163
161
  editValue(index, e);
164
162
  }
165
- })), props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/React.createElement(Col, {
163
+ })), /*#__PURE__*/React.createElement(Col, {
166
164
  sm: 1
167
- }, /*#__PURE__*/React.createElement(Form.Check, {
165
+ }, props.canHaveOptionValue && props.canHaveOptionCorrect && /*#__PURE__*/React.createElement(Form.Check, {
168
166
  type: "checkbox",
169
167
  value: "1",
170
168
  onChange: function onChange(e) {
@@ -172,7 +170,7 @@ var DynamicOptionList = function DynamicOptionList(_ref) {
172
170
  },
173
171
  checked: option.hasOwnProperty('correct')
174
172
  })), /*#__PURE__*/React.createElement(Col, {
175
- sm: 3
173
+ sm: 2
176
174
  }, /*#__PURE__*/React.createElement("div", {
177
175
  className: "dynamic-options-actions-buttons"
178
176
  }, /*#__PURE__*/React.createElement(Button, {
@@ -28,18 +28,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
28
28
  function _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; }
29
29
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
30
30
  function _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); }
31
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
- function _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."); }
33
- function _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); }
34
- function _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; }
35
- function _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; } }
36
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
31
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
38
32
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
39
33
  // eslint-disable-next-line max-classes-per-file
40
34
  import fetch from 'isomorphic-fetch';
41
35
  import { saveAs } from 'file-saver';
42
- import React from 'react';
36
+ import React, { lazy, Suspense } from 'react';
43
37
  import SignaturePad from 'react-signature-canvas';
44
38
  import RangeSlider from 'react-bootstrap-range-slider';
45
39
  import StarRating from './star-rating';
@@ -63,23 +57,34 @@ var SurveyElements = {};
63
57
  var IconComponent = function IconComponent(_ref) {
64
58
  var iconImportString = _ref.iconImportString,
65
59
  props = _objectWithoutProperties(_ref, _excluded);
66
- var _React$useState = React.useState(null),
67
- _React$useState2 = _slicedToArray(_React$useState, 2),
68
- Icon = _React$useState2[0],
69
- setIcon = _React$useState2[1];
70
- React.useEffect(function () {
71
- // iconImportString - i.e. 'react-icons/fa/FaBeer'
72
- if (isNotNullOrUndefined(iconImportString) && iconImportString !== '') {
73
- var iconStringParts = iconImportString.split('/');
74
- var iconName = iconStringParts[2];
75
- if (isNotNullOrUndefined(iconName)) {
76
- import(iconImportString).then(function (module) {
77
- return setIcon(module[iconName]);
78
- });
79
- }
80
- }
81
- }, [iconImportString]);
82
- return /*#__PURE__*/React.createElement(React.Fragment, null, Icon && /*#__PURE__*/React.createElement(Icon, props));
60
+ //const [Icon, setIcon] = React.useState(null);
61
+ if (isNotNullOrUndefined(iconImportString) && iconImportString !== '') {
62
+ var Icon = /*#__PURE__*/lazy(function () {
63
+ return import(iconImportString);
64
+ });
65
+ // let iconStringParts = iconImportString.split('/');
66
+ // let IconName = iconStringParts[2];
67
+
68
+ // React.useEffect(() => {
69
+ // try {
70
+ // // iconImportString - i.e. 'react-icons/fa/FaBeer'
71
+ // if (isNotNullOrUndefined(iconImportString) && iconImportString !== '') {
72
+ // let iconStringParts = iconImportString.split('/');
73
+ // let iconName = iconStringParts[2];
74
+ // if (isNotNullOrUndefined(iconName)) {
75
+ // import(iconImportString).then(module => setIcon(module[iconName]));
76
+ // }
77
+ // }
78
+ // } catch (err) {
79
+ // console.log(err);
80
+ // }
81
+ // }, [iconImportString]);
82
+
83
+ return /*#__PURE__*/React.createElement(Suspense, {
84
+ fallback: null
85
+ }, Icon && /*#__PURE__*/React.createElement(Icon, props));
86
+ }
87
+ return null;
83
88
  };
84
89
  export var Header = function Header(props) {
85
90
  var _props$item;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-survey-builder",
3
- "version": "1.0.111",
3
+ "version": "1.0.112",
4
4
  "description": "A complete survey builder for react.",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",