react-survey-builder 1.0.125 → 1.0.126
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/app.css +1 -1
- package/dist/app.css.map +1 -1
- package/dist/bundle.js +215 -830
- package/dist/vendors-node_modules_draft-js_lib_Draft_js-node_modules_draftjs-to-html_lib_draftjs-to-html_j-809d22.bundle.js +4 -4
- package/lib/form-fields.js +5 -4
- package/lib/form-steps.js +5 -4
- package/lib/form.js +5 -4
- package/lib/sortable-element.js +22 -11
- package/package.json +7 -12
@@ -1883,7 +1883,7 @@ eval("/**\n * Copyright (c) 2014-2015, Facebook, Inc.\n * All rights reserved.
|
|
1883
1883
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1884
1884
|
|
1885
1885
|
"use strict";
|
1886
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ index)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var use_latest__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! use-latest */ \"./node_modules/use-latest/dist/use-latest.esm.js\");\n/* harmony import */ var use_composed_ref__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! use-composed-ref */ \"./node_modules/use-composed-ref/dist/use-composed-ref.esm.js\");\n\n\n\n\n\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\nvar forceHiddenStyles$1 = forceHiddenStyles;\n\
|
1886
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ index)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var use_latest__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! use-latest */ \"./node_modules/use-latest/dist/use-latest.esm.js\");\n/* harmony import */ var use_composed_ref__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! use-composed-ref */ \"./node_modules/use-composed-ref/dist/use-composed-ref.esm.js\");\n\n\n\n\n\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0',\n display: 'block'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\nvar forceHiddenStyles$1 = forceHiddenStyles;\n\nvar hiddenTextarea = null;\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n }\n\n // remove padding, since height = content\n return height - sizingData.paddingSize;\n};\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles$1(hiddenTextarea);\n }\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles$1(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData);\n // Double set and calc due to Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1795904\n hiddenTextarea.value = value;\n height = getHeight(hiddenTextarea, sizingData);\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop',\n// non-standard\n'tabSize', 'textIndent',\n// non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter'];\nvar isIE = !!document.documentElement.currentStyle ;\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n if (style === null) {\n return null;\n }\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing;\n\n // probably node is detached from DOM, can't read computed dimensions\n if (boxSizing === '') {\n return null;\n }\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\nvar getSizingData$1 = getSizingData;\n\nfunction useListener(target, type, listener) {\n var latestListener = (0,use_latest__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(listener);\n react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect(function () {\n var handler = function handler(ev) {\n return latestListener.current(ev);\n };\n // might happen if document.fonts is not defined, for instance\n if (!target) {\n return;\n }\n target.addEventListener(type, handler);\n return function () {\n return target.removeEventListener(type, handler);\n };\n }, []);\n}\nvar useFormResetListener = function useFormResetListener(libRef, listener) {\n useListener(document.body, 'reset', function (ev) {\n if (libRef.current.form === ev.target) {\n listener(ev);\n }\n });\n};\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n useListener(window, 'resize', listener);\n};\nvar useFontsLoadedListener = function useFontsLoadedListener(listener) {\n useListener(document.fonts, 'loadingdone', listener);\n};\n\nvar _excluded = [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"];\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ref, _excluded);\n if (props.style) {\n if ('maxHeight' in props.style) {\n throw new Error('Using `style.maxHeight` for <TextareaAutosize/> is not supported. Please use `maxRows`.');\n }\n if ('minHeight' in props.style) {\n throw new Error('Using `style.minHeight` for <TextareaAutosize/> is not supported. Please use `minRows`.');\n }\n }\n var isControlled = props.value !== undefined;\n var libRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n var ref = (0,use_composed_ref__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(libRef, userRef);\n var heightRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(0);\n var measurementsCacheRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef();\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node);\n if (!nodeSizingData) {\n return;\n }\n measurementsCacheRef.current = nodeSizingData;\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n onChange(event);\n };\n {\n react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect(resizeTextarea);\n useFormResetListener(libRef, function () {\n if (!isControlled) {\n var node = libRef.current;\n var currentValue = node.value;\n requestAnimationFrame(function () {\n if (currentValue !== node.value) {\n resizeTextarea();\n }\n });\n }\n });\n useWindowResizeListener(resizeTextarea);\n useFontsLoadedListener(resizeTextarea);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"textarea\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n }\n};\nvar index = /* #__PURE__ */react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(TextareaAutosize);\n\n\n\n\n//# sourceURL=webpack://react-survey-builder/./node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js?");
|
1887
1887
|
|
1888
1888
|
/***/ }),
|
1889
1889
|
|
@@ -1914,7 +1914,7 @@ eval("var __WEBPACK_AMD_DEFINE_RESULT__;////////////////////////////////////////
|
|
1914
1914
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1915
1915
|
|
1916
1916
|
"use strict";
|
1917
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (
|
1917
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useComposedRef)\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\n\n// basically Exclude<React.ClassAttributes<T>[\"ref\"], string>\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = react__WEBPACK_IMPORTED_MODULE_0___default().useRef();\n return react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(function (instance) {\n libRef.current = instance;\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n prevUserRef.current = userRef;\n if (!userRef) {\n return;\n }\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\n\n\n\n//# sourceURL=webpack://react-survey-builder/./node_modules/use-composed-ref/dist/use-composed-ref.esm.js?");
|
1918
1918
|
|
1919
1919
|
/***/ }),
|
1920
1920
|
|
@@ -1925,7 +1925,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
1925
1925
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1926
1926
|
|
1927
1927
|
"use strict";
|
1928
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (
|
1928
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ index)\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\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect ;\n\n\n\n\n//# sourceURL=webpack://react-survey-builder/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js?");
|
1929
1929
|
|
1930
1930
|
/***/ }),
|
1931
1931
|
|
@@ -1936,7 +1936,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
1936
1936
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1937
1937
|
|
1938
1938
|
"use strict";
|
1939
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useLatest)\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 use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-isomorphic-layout-effect */ \"./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js\");\n\n\n\nvar useLatest = function useLatest(value) {\n var ref =
|
1939
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useLatest)\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 use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-isomorphic-layout-effect */ \"./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js\");\n\n\n\nvar useLatest = function useLatest(value) {\n var ref = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(value);\n (0,use_isomorphic_layout_effect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function () {\n ref.current = value;\n });\n return ref;\n};\n\n\n\n\n//# sourceURL=webpack://react-survey-builder/./node_modules/use-latest/dist/use-latest.esm.js?");
|
1940
1940
|
|
1941
1941
|
/***/ }),
|
1942
1942
|
|
package/lib/form-fields.js
CHANGED
@@ -16,7 +16,6 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
16
16
|
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; } }
|
17
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
18
18
|
import React from 'react';
|
19
|
-
import ReactDOM from 'react-dom';
|
20
19
|
import SurveyElements, { Image, Checkboxes, Signature, Download, Camera, FileUpload, PhoneNumber, DatePicker, TextInput, EmailInput, NumberInput, TextArea, Dropdown, Tags } from './survey-elements';
|
21
20
|
import { TwoColumnRow, ThreeColumnRow, MultiColumnRow } from './multi-column';
|
22
21
|
import { Fieldset } from './fieldset';
|
@@ -152,7 +151,9 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
|
|
152
151
|
} else if ($dataItem.element === 'Signature') {
|
153
152
|
$item.value = ref.state.value;
|
154
153
|
} 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) {
|
155
|
-
$
|
154
|
+
var _ref$inputField2;
|
155
|
+
console.log('ref?.inputField?.current', ref === null || ref === void 0 || (_ref$inputField2 = ref.inputField) === null || _ref$inputField2 === void 0 ? void 0 : _ref$inputField2.current);
|
156
|
+
$item = ref.inputField.current;
|
156
157
|
if ($item && typeof $item.value === 'string') {
|
157
158
|
$item.value = $item.value.trim();
|
158
159
|
}
|
@@ -168,7 +169,7 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
|
|
168
169
|
var ref = inputs.current[$dataItem.fieldName];
|
169
170
|
if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {
|
170
171
|
$dataItem.options.forEach(function (option) {
|
171
|
-
var $option =
|
172
|
+
var $option = ref.options["child_ref_".concat(option.key)];
|
172
173
|
if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {
|
173
174
|
incorrect = true;
|
174
175
|
}
|
@@ -238,7 +239,7 @@ var ReactSurveyFormFields = function ReactSurveyFormFields(_ref) {
|
|
238
239
|
});
|
239
240
|
setFormAnswers($data);
|
240
241
|
} else {
|
241
|
-
var $form =
|
242
|
+
var $form = form.current;
|
242
243
|
$form.submit();
|
243
244
|
}
|
244
245
|
}
|
package/lib/form-steps.js
CHANGED
@@ -16,7 +16,6 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
16
16
|
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; } }
|
17
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
18
18
|
import React from 'react';
|
19
|
-
import ReactDOM from 'react-dom';
|
20
19
|
import SurveyElements, { Image, Checkboxes, Signature, Download, Camera, FileUpload, PhoneNumber, DatePicker, TextInput, EmailInput, NumberInput, TextArea, Dropdown, Tags } from './survey-elements';
|
21
20
|
import { TwoColumnRow, ThreeColumnRow, MultiColumnRow } from './multi-column';
|
22
21
|
import { Fieldset } from './fieldset';
|
@@ -154,7 +153,9 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
154
153
|
} else if ($dataItem.element === 'Signature') {
|
155
154
|
$item.value = ref.state.value;
|
156
155
|
} 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) {
|
157
|
-
$
|
156
|
+
var _ref$inputField2;
|
157
|
+
console.log('ref?.inputField?.current', ref === null || ref === void 0 || (_ref$inputField2 = ref.inputField) === null || _ref$inputField2 === void 0 ? void 0 : _ref$inputField2.current);
|
158
|
+
$item = ref.inputField.current;
|
158
159
|
if ($item && typeof $item.value === 'string') {
|
159
160
|
$item.value = $item.value.trim();
|
160
161
|
}
|
@@ -170,7 +171,7 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
170
171
|
var ref = inputs.current[$dataItem.fieldName];
|
171
172
|
if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {
|
172
173
|
$dataItem.options.forEach(function (option) {
|
173
|
-
var $option =
|
174
|
+
var $option = ref.options["child_ref_".concat(option.key)];
|
174
175
|
if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {
|
175
176
|
incorrect = true;
|
176
177
|
}
|
@@ -240,7 +241,7 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
|
|
240
241
|
});
|
241
242
|
setFormAnswers($data);
|
242
243
|
} else {
|
243
|
-
var $form =
|
244
|
+
var $form = form.current;
|
244
245
|
$form.submit();
|
245
246
|
}
|
246
247
|
}
|
package/lib/form.js
CHANGED
@@ -16,7 +16,6 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
16
16
|
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; } }
|
17
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
18
18
|
import React from 'react';
|
19
|
-
import ReactDOM from 'react-dom';
|
20
19
|
import SurveyElements, { Image, Checkboxes, Signature, Download, Camera, FileUpload, PhoneNumber, DatePicker, TextInput, EmailInput, NumberInput, TextArea } from './survey-elements';
|
21
20
|
import { TwoColumnRow, ThreeColumnRow, MultiColumnRow } from './multi-column';
|
22
21
|
import { Fieldset } from './fieldset';
|
@@ -162,7 +161,9 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
162
161
|
} else if ($dataItem.element === 'Signature') {
|
163
162
|
$item.value = ref.state.value;
|
164
163
|
} 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) {
|
165
|
-
$
|
164
|
+
var _ref$inputField2;
|
165
|
+
console.log('ref?.inputField?.current', ref === null || ref === void 0 || (_ref$inputField2 = ref.inputField) === null || _ref$inputField2 === void 0 ? void 0 : _ref$inputField2.current);
|
166
|
+
$item = ref.inputField.current;
|
166
167
|
if ($item && typeof $item.value === 'string') {
|
167
168
|
$item.value = $item.value.trim();
|
168
169
|
}
|
@@ -178,7 +179,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
178
179
|
var ref = inputs.current[$dataItem.fieldName];
|
179
180
|
if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {
|
180
181
|
$dataItem.options.forEach(function (option) {
|
181
|
-
var $option =
|
182
|
+
var $option = ref.options["child_ref_".concat(option.key)];
|
182
183
|
if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {
|
183
184
|
incorrect = true;
|
184
185
|
}
|
@@ -248,7 +249,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
248
249
|
});
|
249
250
|
setFormAnswers($data);
|
250
251
|
} else {
|
251
|
-
var $form =
|
252
|
+
var $form = form.current;
|
252
253
|
$form.submit();
|
253
254
|
}
|
254
255
|
}
|
package/lib/sortable-element.js
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
var _excluded = ["isDragging", "connectDragSource", "connectDragPreview", "connectDropTarget"];
|
1
2
|
function _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); }
|
2
3
|
function _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); }
|
3
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
4
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _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; }
|
6
|
+
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; }
|
7
|
+
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; }
|
5
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
6
9
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
7
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -17,7 +20,6 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
17
20
|
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); }
|
18
21
|
import React, { Component } from 'react';
|
19
22
|
import PropTypes from 'prop-types';
|
20
|
-
import { findDOMNode } from 'react-dom';
|
21
23
|
import { DragSource, DropTarget } from 'react-dnd';
|
22
24
|
import ItemTypes from './ItemTypes';
|
23
25
|
var style = {
|
@@ -75,6 +77,8 @@ var cardTarget = {
|
|
75
77
|
if (dragIndex === hoverIndex) {
|
76
78
|
return;
|
77
79
|
}
|
80
|
+
|
81
|
+
// If we’re inserting a brand-new card
|
78
82
|
if (dragIndex === -1) {
|
79
83
|
if (props.item && props.item.isContainer) {
|
80
84
|
// console.log('hover over container');
|
@@ -86,15 +90,13 @@ var cardTarget = {
|
|
86
90
|
return; // fixed bug where cards were getting wiped out when you dragged another card over a card to insert it. card should be inserted, not replacing existing cards. If an existing card should be removed, the remove button should be used
|
87
91
|
}
|
88
92
|
|
93
|
+
// ***** Replaced findDOMNode usage with a ref *****
|
89
94
|
// Determine rectangle on screen
|
90
|
-
var hoverBoundingRect =
|
91
|
-
|
95
|
+
var hoverBoundingRect = component.cardRef.current.getBoundingClientRect();
|
92
96
|
// Get vertical middle
|
93
97
|
var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
|
94
|
-
|
95
98
|
// Determine mouse position
|
96
99
|
var clientOffset = monitor.getClientOffset();
|
97
|
-
|
98
100
|
// Get pixels to the top
|
99
101
|
var hoverClientY = clientOffset.y - hoverBoundingRect.top;
|
100
102
|
|
@@ -122,6 +124,8 @@ var cardTarget = {
|
|
122
124
|
|
123
125
|
// if (item.itemType == ItemTypes.BOX) item.cardIndex = hoverIndex;
|
124
126
|
// else
|
127
|
+
|
128
|
+
// Mutate the monitor item’s index for performance
|
125
129
|
item.index = hoverIndex;
|
126
130
|
}
|
127
131
|
};
|
@@ -129,9 +133,13 @@ var cardTarget = {
|
|
129
133
|
// eslint-disable-next-line no-unused-vars
|
130
134
|
export default function (ComposedComponent) {
|
131
135
|
var Card = /*#__PURE__*/function (_Component) {
|
132
|
-
function Card() {
|
136
|
+
function Card(props) {
|
137
|
+
var _this;
|
133
138
|
_classCallCheck(this, Card);
|
134
|
-
|
139
|
+
_this = _callSuper(this, Card, [props]);
|
140
|
+
// Create a ref to attach to the DOM node
|
141
|
+
_this.cardRef = /*#__PURE__*/React.createRef();
|
142
|
+
return _this;
|
135
143
|
}
|
136
144
|
_inherits(Card, _Component);
|
137
145
|
return _createClass(Card, [{
|
@@ -141,9 +149,12 @@ export default function (ComposedComponent) {
|
|
141
149
|
isDragging = _this$props.isDragging,
|
142
150
|
connectDragSource = _this$props.connectDragSource,
|
143
151
|
connectDragPreview = _this$props.connectDragPreview,
|
144
|
-
connectDropTarget = _this$props.connectDropTarget
|
152
|
+
connectDropTarget = _this$props.connectDropTarget,
|
153
|
+
restProps = _objectWithoutProperties(_this$props, _excluded);
|
145
154
|
var opacity = isDragging ? 0 : 1;
|
146
|
-
return connectDragPreview(connectDropTarget( /*#__PURE__*/React.createElement("div",
|
155
|
+
return connectDragPreview(connectDropTarget( /*#__PURE__*/React.createElement("div", {
|
156
|
+
ref: this.cardRef
|
157
|
+
}, /*#__PURE__*/React.createElement(ComposedComponent, _extends({}, restProps, {
|
147
158
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
148
159
|
opacity: opacity
|
149
160
|
})
|
@@ -165,7 +176,7 @@ export default function (ComposedComponent) {
|
|
165
176
|
_defineProperty(Card, "defaultProps", {
|
166
177
|
seq: -1
|
167
178
|
});
|
168
|
-
var
|
179
|
+
var WrappedCard = DropTarget([ItemTypes.CARD, ItemTypes.BOX], cardTarget, function (connect) {
|
169
180
|
return {
|
170
181
|
connectDropTarget: connect.dropTarget()
|
171
182
|
};
|
@@ -176,5 +187,5 @@ export default function (ComposedComponent) {
|
|
176
187
|
connectDragPreview: connect.dragPreview(),
|
177
188
|
isDragging: monitor.isDragging()
|
178
189
|
};
|
179
|
-
})(
|
190
|
+
})(WrappedCard);
|
180
191
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-survey-builder",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.126",
|
4
4
|
"description": "A complete survey builder for react.",
|
5
5
|
"main": "lib/index.js",
|
6
6
|
"types": "types/index.d.ts",
|
@@ -42,26 +42,21 @@
|
|
42
42
|
"moment": "^2.30.1",
|
43
43
|
"moment-timezone": "^0.5.44",
|
44
44
|
"prop-types": "^15.7.2",
|
45
|
-
"react": "
|
45
|
+
"react": "19.0.0",
|
46
46
|
"react-bootstrap": "^2.10.2",
|
47
47
|
"react-bootstrap-range-slider": "^3.0.8",
|
48
|
-
"react-bootstrap-typeahead": "^6.
|
48
|
+
"react-bootstrap-typeahead": "^6.4.0",
|
49
49
|
"react-dnd": "^11.1.3",
|
50
50
|
"react-dnd-html5-backend": "^11.1.3",
|
51
|
-
"react-dom": "
|
52
|
-
"react-
|
53
|
-
"react-hook-form": "^7.51.1",
|
51
|
+
"react-dom": "19.0.0",
|
52
|
+
"react-hook-form": "^7.54.2",
|
54
53
|
"react-icons": "^5.4.0",
|
55
54
|
"react-imask": "^7.6.0",
|
56
|
-
"react-signature-canvas": "^1.0.
|
55
|
+
"react-signature-canvas": "^1.0.7",
|
57
56
|
"react-simple-wysiwyg": "^3.0.2",
|
58
|
-
"react-textarea-autosize": "^8.5.
|
57
|
+
"react-textarea-autosize": "^8.5.7",
|
59
58
|
"xss": "^1.0.8"
|
60
59
|
},
|
61
|
-
"peerDependencies": {
|
62
|
-
"react": ">=18.2.0",
|
63
|
-
"react-dom": ">=18.2.0"
|
64
|
-
},
|
65
60
|
"devDependencies": {
|
66
61
|
"@babel/cli": "^7.24.5",
|
67
62
|
"@babel/core": "^7.24.5",
|