@bigbinary/neeto-form-frontend 3.3.1 → 3.4.0

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.
Files changed (63) hide show
  1. package/README.md +11 -11
  2. package/app/javascript/src/translations/en.json +3 -3
  3. package/dist/BuildForm.js +2358 -0
  4. package/dist/BuildForm.js.map +1 -0
  5. package/dist/ExternalForm.js +657 -0
  6. package/dist/ExternalForm.js.map +1 -0
  7. package/dist/NeetoFormProvider.js +11 -0
  8. package/dist/NeetoFormProvider.js.map +1 -0
  9. package/dist/Submission.js +2700 -0
  10. package/dist/Submission.js.map +1 -0
  11. package/dist/UrlBuilder.js +297 -0
  12. package/dist/UrlBuilder.js.map +1 -0
  13. package/dist/buildForm-4a5a5251.js +35 -0
  14. package/dist/buildForm-4a5a5251.js.map +1 -0
  15. package/dist/buildForm-77b32f08.js +42 -0
  16. package/dist/buildForm-77b32f08.js.map +1 -0
  17. package/dist/cjs/BuildForm.js +2416 -0
  18. package/dist/cjs/BuildForm.js.map +1 -0
  19. package/dist/cjs/ExternalForm.js +697 -0
  20. package/dist/cjs/ExternalForm.js.map +1 -0
  21. package/dist/cjs/NeetoFormProvider.js +13 -0
  22. package/dist/cjs/NeetoFormProvider.js.map +1 -0
  23. package/dist/cjs/Submission.js +2711 -0
  24. package/dist/cjs/Submission.js.map +1 -0
  25. package/dist/cjs/UrlBuilder.js +308 -0
  26. package/dist/cjs/UrlBuilder.js.map +1 -0
  27. package/dist/cjs/hooks.js +34 -0
  28. package/dist/cjs/hooks.js.map +1 -0
  29. package/dist/cjs/index.js +115 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/constants-9310a7c2.js +342 -0
  32. package/dist/constants-9310a7c2.js.map +1 -0
  33. package/dist/constants-f0f38e6f.js +378 -0
  34. package/dist/constants-f0f38e6f.js.map +1 -0
  35. package/dist/hooks.js +20 -0
  36. package/dist/hooks.js.map +1 -0
  37. package/dist/index-2664c3e7.js +39 -0
  38. package/dist/index-2664c3e7.js.map +1 -0
  39. package/dist/index-b6bb805c.js +46 -0
  40. package/dist/index-b6bb805c.js.map +1 -0
  41. package/dist/index.js +94 -9311
  42. package/dist/index.js.map +1 -1
  43. package/dist/main.css +12 -1
  44. package/dist/main.css.map +1 -1
  45. package/dist/no-questions-832318c3.js +487 -0
  46. package/dist/no-questions-832318c3.js.map +1 -0
  47. package/dist/no-questions-995fd77e.js +538 -0
  48. package/dist/no-questions-995fd77e.js.map +1 -0
  49. package/dist/useFormApi-ca36173e.js +492 -0
  50. package/dist/useFormApi-ca36173e.js.map +1 -0
  51. package/dist/useFormApi-d733cb8d.js +467 -0
  52. package/dist/useFormApi-d733cb8d.js.map +1 -0
  53. package/dist/useFormSubmission-866195bb.js +24 -0
  54. package/dist/useFormSubmission-866195bb.js.map +1 -0
  55. package/dist/useFormSubmission-f8866b84.js +22 -0
  56. package/dist/useFormSubmission-f8866b84.js.map +1 -0
  57. package/dist/utils-7000103c.js +2157 -0
  58. package/dist/utils-7000103c.js.map +1 -0
  59. package/dist/utils-a487b8ff.js +2221 -0
  60. package/dist/utils-a487b8ff.js.map +1 -0
  61. package/package.json +23 -11
  62. package/dist/index.cjs.js +0 -9410
  63. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,657 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
5
+ import * as React from 'react';
6
+ import { memo, useRef, useEffect, useState, Fragment as Fragment$1 } from 'react';
7
+ import { useQueryClient } from '@tanstack/react-query';
8
+ import classnames from 'classnames';
9
+ import { Formik, Form } from 'formik';
10
+ import i18next from 'i18next';
11
+ import { isPresent, noop } from '@bigbinary/neeto-cist';
12
+ import { getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
13
+ import useHotkeys from '@bigbinary/neeto-hotkeys';
14
+ import Warning from '@bigbinary/neeto-icons/Warning';
15
+ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
16
+ import Toastr from '@bigbinary/neetoui/Toastr';
17
+ import Typography from '@bigbinary/neetoui/Typography';
18
+ import Button$1 from '@bigbinary/neetoui/Button';
19
+ import Spinner$2 from '@bigbinary/neetoui/Spinner';
20
+ import NeetoUICallout from '@bigbinary/neetoui/Callout';
21
+ import { not, equals, isEmpty } from 'ramda';
22
+ import { I18nextProvider, useTranslation } from 'react-i18next';
23
+ import { j as useCreateSubmission, k as useUpdateSubmission, l as useSubmission, a as useForm, Q as QUERY_KEYS } from './useFormApi-d733cb8d.js';
24
+ import Close from '@bigbinary/neeto-icons/Close';
25
+ import { a as isBlank, g as getComponentDisplayName, p as parseServerError } from './index-2664c3e7.js';
26
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
27
+ import Check from '@bigbinary/neeto-icons/Check';
28
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
29
+ import { c as clientI18nInstance, g as getWithExpiry, a as generateInitValues, F as FormikWrap, b as getFieldComponent, d as buildAutoCompleteAttribute, r as renderButtonsInOrder, m as mergeRefs, e as generateFormResponse, f as clearLocalStorageValues } from './utils-7000103c.js';
30
+ import { b as SvgNoQuestions } from './no-questions-832318c3.js';
31
+ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
32
+ import '@babel/runtime/helpers/toConsumableArray';
33
+ import '@bigbinary/neeto-commons-frontend/constants';
34
+ import 'axios';
35
+ import '@babel/runtime/helpers/typeof';
36
+ import '@bigbinary/neeto-editor/utils';
37
+ import 'dayjs';
38
+ import 'libphonenumber-js';
39
+ import '@bigbinary/neeto-editor/EditorContent';
40
+ import '@bigbinary/neetoui/MultiEmailInput';
41
+ import '@bigbinary/neeto-molecules/PhoneNumber';
42
+ import 'yup';
43
+ import './constants-9310a7c2.js';
44
+ import 'path';
45
+ import '@bigbinary/neeto-icons/Refresh';
46
+ import '@bigbinary/neetoui/Input';
47
+ import '@bigbinary/neeto-commons-frontend/initializers';
48
+ import 'react-google-recaptcha';
49
+ import '@bigbinary/neetoui/Checkbox';
50
+ import 'dayjs/plugin/localeData';
51
+ import 'dayjs/plugin/utc';
52
+ import 'dayjs/plugin/weekday';
53
+ import 'dayjs/plugin/weekOfYear';
54
+ import '@bigbinary/neetoui/DatePicker';
55
+ import '@bigbinary/neetoui/Label';
56
+ import '@rails/activestorage';
57
+ import 'react-dropzone';
58
+ import '@bigbinary/neeto-icons/FileGeneric';
59
+ import 'framer-motion';
60
+ import '@bigbinary/neetoui/Select';
61
+ import '@bigbinary/neetoui/Radio';
62
+ import '@bigbinary/neeto-editor/Editor';
63
+ import '@bigbinary/neetoui/Textarea';
64
+ import 'dompurify';
65
+
66
+ var Spinner = function Spinner(_ref) {
67
+ var _ref$size = _ref.size,
68
+ size = _ref$size === void 0 ? 24 : _ref$size;
69
+ return /*#__PURE__*/jsx("div", {
70
+ className: "neeto-form-engine-spinner",
71
+ children: /*#__PURE__*/jsx("svg", {
72
+ fill: "none",
73
+ height: size,
74
+ viewBox: "0 0 25 24",
75
+ width: size,
76
+ xmlns: "http://www.w3.org/2000/svg",
77
+ children: /*#__PURE__*/jsx("path", {
78
+ d: "M12.5 5.00098V8.75M17.4401 7.04867L14.9888 9.5M19.5008 11.9994H15.5M17.4401 16.9372L14.9888 14.4859M12.5023 18.9979V15M7.5516 16.9372L10.4888 14M5.50391 11.9994H9.5M7.5516 7.04867L10.0029 9.5",
79
+ stroke: "#87929D",
80
+ strokeLinecap: "round",
81
+ strokeLinejoin: "round",
82
+ strokeWidth: "1.5"
83
+ })
84
+ })
85
+ });
86
+ };
87
+ var Spinner$1 = /*#__PURE__*/memo(Spinner);
88
+
89
+ var _excluded = ["label", "loading", "success", "className"];
90
+ function ownKeys$2(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; }
91
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
92
+ var Button = function Button(_ref) {
93
+ var label = _ref.label,
94
+ _ref$loading = _ref.loading,
95
+ loading = _ref$loading === void 0 ? false : _ref$loading,
96
+ _ref$success = _ref.success,
97
+ success = _ref$success === void 0 ? false : _ref$success,
98
+ _ref$className = _ref.className,
99
+ className = _ref$className === void 0 ? "" : _ref$className,
100
+ otherProps = _objectWithoutProperties(_ref, _excluded);
101
+ return /*#__PURE__*/jsxs("button", _objectSpread$2(_objectSpread$2({
102
+ className: classnames("neeto-form-engine-button", className)
103
+ }, otherProps), {}, {
104
+ children: [loading && /*#__PURE__*/jsx(ButtonLoader, {}), success && /*#__PURE__*/jsx(Success$2, {}), label]
105
+ }));
106
+ };
107
+ var ButtonLoader = function ButtonLoader() {
108
+ return /*#__PURE__*/jsx("div", {
109
+ className: "neeto-form-engine-button__loader",
110
+ children: /*#__PURE__*/jsx(Spinner$1, {})
111
+ });
112
+ };
113
+ var Success$2 = function Success() {
114
+ return /*#__PURE__*/jsx("div", {
115
+ className: "neeto-form-engine-button__success",
116
+ children: /*#__PURE__*/jsx(Check, {})
117
+ });
118
+ };
119
+
120
+ var CALLOUT_STYLES = {
121
+ ERROR: "error",
122
+ INFO: "info"
123
+ };
124
+ var CALLOUT_POSITIONS = {
125
+ ABSOLUTE: "absolute",
126
+ STATIC: "static"
127
+ };
128
+
129
+ var Callout = function Callout(_ref) {
130
+ var _ref$style = _ref.style,
131
+ style = _ref$style === void 0 ? CALLOUT_STYLES.ERROR : _ref$style,
132
+ _ref$position = _ref.position,
133
+ position = _ref$position === void 0 ? CALLOUT_POSITIONS.ABSOLUTE : _ref$position,
134
+ _ref$callout = _ref.callout,
135
+ callout = _ref$callout === void 0 ? {} : _ref$callout,
136
+ children = _ref.children,
137
+ className = _ref.className,
138
+ onClose = _ref.onClose;
139
+ var isVisible = callout.isVisible,
140
+ title = callout.title,
141
+ message = callout.message,
142
+ primaryButton = callout.primaryButton,
143
+ secondaryButton = callout.secondaryButton;
144
+ if (!isVisible) return null;
145
+ return /*#__PURE__*/jsxs("div", {
146
+ className: classnames("neeto-form-engine-callout", _defineProperty({
147
+ "neeto-form-engine-callout--error": style === CALLOUT_STYLES.ERROR,
148
+ "neeto-form-engine-callout--info": style === CALLOUT_STYLES.INFO,
149
+ "neeto-form-engine-callout--static": position === CALLOUT_POSITIONS.STATIC,
150
+ "neeto-form-engine-callout--absolute": position === CALLOUT_POSITIONS.ABSOLUTE
151
+ }, className, className)),
152
+ children: [isPresent(onClose) && /*#__PURE__*/jsx("button", {
153
+ className: "neeto-form-engine-callout__close",
154
+ onClick: onClose,
155
+ children: /*#__PURE__*/jsx(Close, {
156
+ size: 16
157
+ })
158
+ }), /*#__PURE__*/jsxs("div", {
159
+ className: "neeto-form-engine-callout__content",
160
+ children: [not(isBlank(title)) && /*#__PURE__*/jsx("h5", {
161
+ children: title
162
+ }), /*#__PURE__*/jsx("p", {
163
+ children: message
164
+ })]
165
+ }), primaryButton && /*#__PURE__*/jsx(Button, {
166
+ label: primaryButton.label,
167
+ size: "small",
168
+ onClick: primaryButton.onClick
169
+ }), secondaryButton && /*#__PURE__*/jsx(Button, {
170
+ label: secondaryButton.label,
171
+ size: "small",
172
+ onClick: secondaryButton.onClick
173
+ }), children]
174
+ });
175
+ };
176
+
177
+ function ownKeys$1(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; }
178
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
179
+ var withI18nInstance = function withI18nInstance(Component, i18n) {
180
+ var I18nWrapper = function I18nWrapper(props) {
181
+ return /*#__PURE__*/jsx(I18nextProvider, {
182
+ i18n: i18n,
183
+ children: /*#__PURE__*/jsx(Component, _objectSpread$1({}, props))
184
+ });
185
+ };
186
+ I18nWrapper.displayName = "I18nWrapper(".concat(getComponentDisplayName(Component), ")");
187
+ return I18nWrapper;
188
+ };
189
+
190
+ var useIsMounted = function useIsMounted() {
191
+ var isMounted = useRef(true);
192
+ useEffect(function () {
193
+ return function () {
194
+ isMounted.current = false;
195
+ };
196
+ }, []);
197
+ return function () {
198
+ return isMounted.current;
199
+ };
200
+ };
201
+
202
+ var _path, _defs;
203
+ 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); }
204
+ const SvgSuccess = props => /*#__PURE__*/React.createElement("svg", _extends({
205
+ xmlns: "http://www.w3.org/2000/svg",
206
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
207
+ width: 80,
208
+ height: 80,
209
+ fill: "none"
210
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
211
+ fill: "url(#Success_svg__a)",
212
+ d: "M0 0h80v80H0z"
213
+ })), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("pattern", {
214
+ id: "Success_svg__a",
215
+ width: 1,
216
+ height: 1,
217
+ patternContentUnits: "objectBoundingBox"
218
+ }, /*#__PURE__*/React.createElement("use", {
219
+ xlinkHref: "#Success_svg__b",
220
+ transform: "scale(.0029)"
221
+ })), /*#__PURE__*/React.createElement("image", {
222
+ xlinkHref: "data:image/png;base64,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",
223
+ id: "Success_svg__b",
224
+ width: 344,
225
+ height: 344
226
+ }))));
227
+
228
+ var Success = withT(function (_ref) {
229
+ var t = _ref.t;
230
+ return /*#__PURE__*/jsxs("div", {
231
+ className: "flex h-full w-full flex-col items-center justify-center space-y-4",
232
+ children: [/*#__PURE__*/jsx(SvgSuccess, {}), /*#__PURE__*/jsx(Typography, {
233
+ style: "h1",
234
+ children: t("neetoForm.successPage.title1")
235
+ }), /*#__PURE__*/jsx(Typography, {
236
+ style: "h1",
237
+ children: t("neetoForm.successPage.title2")
238
+ })]
239
+ });
240
+ });
241
+ var Success$1 = /*#__PURE__*/memo(Success);
242
+
243
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
244
+ 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); }
245
+ 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; }
246
+ 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; }
247
+ 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; }
248
+ var ExternalForm = function ExternalForm(_ref) {
249
+ var _formikInnerRef$curre;
250
+ var _ref$preview = _ref.preview,
251
+ preview = _ref$preview === void 0 ? false : _ref$preview,
252
+ formId = _ref.formId,
253
+ submissionId = _ref.submissionId,
254
+ customSubmitHandler = _ref.customSubmitHandler,
255
+ onBeforeSubmit = _ref.onBeforeSubmit,
256
+ onSubmitSuccess = _ref.onSubmitSuccess,
257
+ _ref$showTitle = _ref.showTitle,
258
+ showTitle = _ref$showTitle === void 0 ? true : _ref$showTitle,
259
+ formTitle = _ref.formTitle,
260
+ titleProps = _ref.titleProps,
261
+ submitRequestArgs = _ref.submitRequestArgs,
262
+ footer = _ref.footer,
263
+ submitButtonProps = _ref.submitButtonProps,
264
+ cancelButtonProps = _ref.cancelButtonProps,
265
+ resetButtonProps = _ref.resetButtonProps,
266
+ _ref$displayThankYou = _ref.displayThankYou,
267
+ displayThankYou = _ref$displayThankYou === void 0 ? true : _ref$displayThankYou,
268
+ _ref$showSuccessToast = _ref.showSuccessToastr,
269
+ showSuccessToastr = _ref$showSuccessToast === void 0 ? false : _ref$showSuccessToast,
270
+ _ref$showEmptyState = _ref.showEmptyState,
271
+ showEmptyState = _ref$showEmptyState === void 0 ? true : _ref$showEmptyState,
272
+ className = _ref.className,
273
+ _ref$preserveValues = _ref.preserveValues,
274
+ preserveValues = _ref$preserveValues === void 0 ? false : _ref$preserveValues,
275
+ _ref$clearValuesOnRes = _ref.clearValuesOnReset,
276
+ clearValuesOnReset = _ref$clearValuesOnRes === void 0 ? false : _ref$clearValuesOnRes,
277
+ _ref$clearValuesOnSub = _ref.clearValuesOnSubmit,
278
+ clearValuesOnSubmit = _ref$clearValuesOnSub === void 0 ? false : _ref$clearValuesOnSub,
279
+ _ref$initialValues = _ref.initialValues,
280
+ initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
281
+ onChange = _ref.onChange,
282
+ formDomProps = _ref.formDomProps,
283
+ _ref$editorProps = _ref.editorProps,
284
+ editorProps = _ref$editorProps === void 0 ? {} : _ref$editorProps,
285
+ customValidator = _ref.customValidator,
286
+ _ref$autoCompleteKind = _ref.autoCompleteKinds,
287
+ autoCompleteKinds = _ref$autoCompleteKind === void 0 ? [] : _ref$autoCompleteKind,
288
+ _ref$enablePreFilling = _ref.enablePreFilling,
289
+ enablePreFilling = _ref$enablePreFilling === void 0 ? false : _ref$enablePreFilling,
290
+ _ref$language = _ref.language,
291
+ language = _ref$language === void 0 ? i18next.resolvedLanguage : _ref$language;
292
+ var _useState = useState(false),
293
+ _useState2 = _slicedToArray(_useState, 2),
294
+ isSubmitted = _useState2[0],
295
+ setIsSubmitted = _useState2[1];
296
+ var _useState3 = useState(false),
297
+ _useState4 = _slicedToArray(_useState3, 2),
298
+ showSuccess = _useState4[0],
299
+ setShowSuccess = _useState4[1];
300
+ var _useState5 = useState(getWithExpiry("".concat(formId, "/values"))),
301
+ _useState6 = _slicedToArray(_useState5, 2),
302
+ localValues = _useState6[0],
303
+ setLocalValues = _useState6[1];
304
+ var isMounted = useIsMounted();
305
+ var _useState7 = useState(null),
306
+ _useState8 = _slicedToArray(_useState7, 2),
307
+ error = _useState8[0],
308
+ setError = _useState8[1];
309
+ var formRef = useRef();
310
+ var formikInnerRef = useRef();
311
+ var editorRef = useRef();
312
+ var captchaRef = useRef(null);
313
+ var queryClient = useQueryClient();
314
+ useEffect(function () {
315
+ if (equals(language, clientI18nInstance.resolvedLanguage)) return;
316
+ clientI18nInstance.changeLanguage(language);
317
+ }, [language]);
318
+ var _useTranslation = useTranslation(),
319
+ t = _useTranslation.t;
320
+ useEffect(function () {
321
+ setLocalValues(getWithExpiry("".concat(formId, "/values")));
322
+ }, [formId]);
323
+ var _useCreateSubmission = useCreateSubmission({
324
+ enabled: !submissionId
325
+ }),
326
+ createSubmission = _useCreateSubmission.mutateAsync;
327
+ var _useUpdateSubmission = useUpdateSubmission({
328
+ enabled: !!submissionId
329
+ }),
330
+ updateSubmission = _useUpdateSubmission.mutateAsync;
331
+ var _useSubmission = useSubmission({
332
+ formId: formId,
333
+ submissionId: submissionId,
334
+ placeholderData: submissionId ? {
335
+ responses: [],
336
+ isLoading: true
337
+ } : {},
338
+ enabled: !!submissionId
339
+ }),
340
+ submission = _useSubmission.data;
341
+ var clearLocalFormValues = function clearLocalFormValues() {
342
+ return clearLocalStorageValues("".concat(formId, "/values"));
343
+ };
344
+ var onSubmit = /*#__PURE__*/function () {
345
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(values, _ref2) {
346
+ var setSubmitting, responses, newResponses, data;
347
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
348
+ while (1) switch (_context.prev = _context.next) {
349
+ case 0:
350
+ setSubmitting = _ref2.setSubmitting;
351
+ setError(null);
352
+ responses = generateFormResponse(values, questions);
353
+ _context.prev = 3;
354
+ if (!preview) {
355
+ _context.next = 9;
356
+ break;
357
+ }
358
+ _context.next = 7;
359
+ return new Promise(function (resolve) {
360
+ return setTimeout(function () {
361
+ resolve();
362
+ setIsSubmitted(true);
363
+ setTimeout(function () {
364
+ return setShowSuccess(true);
365
+ }, 1000);
366
+ }, 1500);
367
+ });
368
+ case 7:
369
+ _context.next = 34;
370
+ break;
371
+ case 9:
372
+ if (!onBeforeSubmit) {
373
+ _context.next = 14;
374
+ break;
375
+ }
376
+ _context.next = 12;
377
+ return onBeforeSubmit(responses, values);
378
+ case 12:
379
+ newResponses = _context.sent;
380
+ if (newResponses) {
381
+ responses = newResponses;
382
+ }
383
+ case 14:
384
+ if (!customSubmitHandler) {
385
+ _context.next = 21;
386
+ break;
387
+ }
388
+ _context.next = 17;
389
+ return customSubmitHandler({
390
+ responses: responses,
391
+ values: values
392
+ }, clearLocalFormValues);
393
+ case 17:
394
+ data = _context.sent;
395
+ queryClient.invalidateQueries({
396
+ queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId]
397
+ });
398
+ _context.next = 30;
399
+ break;
400
+ case 21:
401
+ if (!submissionId) {
402
+ _context.next = 27;
403
+ break;
404
+ }
405
+ _context.next = 24;
406
+ return updateSubmission({
407
+ formId: formId,
408
+ values: {
409
+ neetoFormResponse: {
410
+ submissionId: submissionId,
411
+ responses: responses
412
+ }
413
+ }
414
+ });
415
+ case 24:
416
+ data = _context.sent;
417
+ _context.next = 30;
418
+ break;
419
+ case 27:
420
+ _context.next = 29;
421
+ return createSubmission({
422
+ formId: formId,
423
+ values: _objectSpread({
424
+ neetoFormResponse: {
425
+ responses: responses
426
+ }
427
+ }, submitRequestArgs)
428
+ });
429
+ case 29:
430
+ data = _context.sent;
431
+ case 30:
432
+ showSuccessToastr && Toastr.success(t("neetoForm.toasts.formSubmitted"));
433
+ clearValuesOnSubmit && clearLocalFormValues();
434
+ onSubmitSuccess === null || onSubmitSuccess === void 0 || onSubmitSuccess({
435
+ values: values,
436
+ responses: responses,
437
+ data: data
438
+ }, clearLocalFormValues);
439
+ if (isMounted()) {
440
+ setIsSubmitted(true);
441
+ setTimeout(function () {
442
+ return setShowSuccess(true);
443
+ }, 1000);
444
+ }
445
+ case 34:
446
+ _context.next = 39;
447
+ break;
448
+ case 36:
449
+ _context.prev = 36;
450
+ _context.t0 = _context["catch"](3);
451
+ setError(parseServerError(_context.t0));
452
+ case 39:
453
+ _context.prev = 39;
454
+ if (isMounted()) {
455
+ setSubmitting(false);
456
+ }
457
+ return _context.finish(39);
458
+ case 42:
459
+ case "end":
460
+ return _context.stop();
461
+ }
462
+ }, _callee, null, [[3, 36, 39, 42]]);
463
+ }));
464
+ return function onSubmit(_x, _x2) {
465
+ return _ref3.apply(this, arguments);
466
+ };
467
+ }();
468
+ var _onReset = function onReset(e, handleReset) {
469
+ var _editorRef$current, _captchaRef$current, _formDomProps$onReset;
470
+ if (clearValuesOnReset) {
471
+ clearLocalStorageValues("".concat(formId, "/values"));
472
+ setLocalValues(generateInitValues({
473
+ questions: questions
474
+ }));
475
+ submissionId && queryClient.setQueryData([QUERY_KEYS.SUBMISSION, formId, submissionId], {
476
+ responses: []
477
+ });
478
+ }
479
+ editorRef === null || editorRef === void 0 || (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.commands) === null || _editorRef$current === void 0 || _editorRef$current.setContent("");
480
+ (_captchaRef$current = captchaRef.current) === null || _captchaRef$current === void 0 || _captchaRef$current.reset();
481
+ handleReset(e);
482
+ formDomProps === null || formDomProps === void 0 || (_formDomProps$onReset = formDomProps.onReset) === null || _formDomProps$onReset === void 0 || _formDomProps$onReset.call(formDomProps, e);
483
+ };
484
+ var handleScrollToError = function handleScrollToError(errors) {
485
+ if (!formRef.current) return;
486
+ var errorKeys = Object.keys(errors);
487
+ if (isEmpty(errorKeys)) return;
488
+ var _iterator = _createForOfIteratorHelper(formRef.current),
489
+ _step;
490
+ try {
491
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
492
+ var formElement = _step.value;
493
+ if (errorKeys.includes(formElement.name)) {
494
+ formElement.scrollIntoView({
495
+ behavior: "smooth",
496
+ block: "center"
497
+ });
498
+ break;
499
+ }
500
+ }
501
+ } catch (err) {
502
+ _iterator.e(err);
503
+ } finally {
504
+ _iterator.f();
505
+ }
506
+ };
507
+ var _useForm = useForm({
508
+ formId: formId,
509
+ language: language,
510
+ preview: preview,
511
+ enabled: !preview
512
+ }),
513
+ _useForm$data = _useForm.data,
514
+ form = _useForm$data === void 0 ? {
515
+ title: "",
516
+ questions: [],
517
+ isQuestionsLoading: true
518
+ } : _useForm$data,
519
+ isLoading = _useForm.isLoading;
520
+ var _queryClient$getQuery = queryClient.getQueryState([QUERY_KEYS.QUESTIONS, formId, language]),
521
+ dataUpdateCount = _queryClient$getQuery.dataUpdateCount;
522
+ var keyPressRef = useHotkeys("command+enter", ((_formikInnerRef$curre = formikInnerRef.current) === null || _formikInnerRef$curre === void 0 ? void 0 : _formikInnerRef$curre.handleSubmit) || noop, {
523
+ mode: "scoped"
524
+ });
525
+ if (isLoading || form.isQuestionsLoading || !!submissionId && submission !== null && submission !== void 0 && submission.isLoading) {
526
+ return /*#__PURE__*/jsx("div", {
527
+ className: "loader flex h-full w-full items-center justify-center",
528
+ children: /*#__PURE__*/jsx(PageLoader, {})
529
+ });
530
+ }
531
+ var title = form.title,
532
+ _form$questions = form.questions,
533
+ questions = _form$questions === void 0 ? [] : _form$questions;
534
+ var renderedQuestions = preview ? questions.filter(function (_ref4) {
535
+ var _destroy = _ref4._destroy;
536
+ return !_destroy;
537
+ }) : questions.filter(function (_ref5) {
538
+ var isHidden = _ref5.isHidden;
539
+ return !isHidden;
540
+ });
541
+ if (displayThankYou && showSuccess) {
542
+ return /*#__PURE__*/jsx(Success$1, {});
543
+ }
544
+ return /*#__PURE__*/jsxs(Fragment, {
545
+ children: [showTitle && /*#__PURE__*/jsx("div", {
546
+ className: "py-6 text-center",
547
+ children: /*#__PURE__*/jsx(Typography, _objectSpread(_objectSpread({
548
+ className: "neeto-ui-text-gray-800",
549
+ style: "h4",
550
+ weight: "semibold"
551
+ }, titleProps), {}, {
552
+ children: formTitle || title
553
+ }))
554
+ }), /*#__PURE__*/jsx(Formik, {
555
+ onSubmit: onSubmit,
556
+ enableReinitialize: true,
557
+ innerRef: formikInnerRef,
558
+ initialValues: generateInitValues({
559
+ questions: questions,
560
+ initialValues: submission === null || submission === void 0 ? void 0 : submission.responses,
561
+ localValues: preserveValues ? localValues : initialValues,
562
+ fieldCodes: enablePreFilling ? getQueryParams({
563
+ toCamelCase: false
564
+ }) : {}
565
+ }),
566
+ children: function children(_ref6) {
567
+ var isSubmitting = _ref6.isSubmitting,
568
+ errors = _ref6.errors,
569
+ setFieldError = _ref6.setFieldError,
570
+ handleReset = _ref6.handleReset;
571
+ return /*#__PURE__*/jsxs(FormikWrap, {
572
+ dataUpdateCount: dataUpdateCount,
573
+ formId: formId,
574
+ preserveValues: preserveValues,
575
+ onError: handleScrollToError,
576
+ onValuesChange: onChange,
577
+ children: [/*#__PURE__*/jsxs(Form, _objectSpread(_objectSpread({
578
+ noValidate: true,
579
+ ref: mergeRefs(formRef, keyPressRef),
580
+ className: classnames("neeto-form-engine-form relative space-y-4", _defineProperty({}, className, className)),
581
+ onChange: function onChange(event) {
582
+ if (isEmpty(errors)) return;
583
+ setFieldError(event.target.name, "");
584
+ }
585
+ }, formDomProps), {}, {
586
+ onReset: function onReset(e) {
587
+ return _onReset(e, handleReset);
588
+ },
589
+ children: [(submission === null || submission === void 0 ? void 0 : submission.isLoading) && /*#__PURE__*/jsx("div", {
590
+ className: "neeto-ui-bg-gray-100 absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center opacity-75",
591
+ children: /*#__PURE__*/jsx(Spinner$2, {})
592
+ }), renderedQuestions.map(function (question) {
593
+ var _question$id;
594
+ var FieldComponent = getFieldComponent(question);
595
+ return /*#__PURE__*/jsxs(Fragment$1, {
596
+ children: [/*#__PURE__*/jsx(FieldComponent, {
597
+ captchaRef: captchaRef,
598
+ editorProps: editorProps,
599
+ editorRef: editorRef,
600
+ preview: preview,
601
+ question: question,
602
+ customValidator: customValidator === null || customValidator === void 0 ? void 0 : customValidator(question),
603
+ autoComplete: buildAutoCompleteAttribute(question.kind, autoCompleteKinds, formDomProps)
604
+ }), question.isHidden && /*#__PURE__*/jsx(NeetoUICallout, {
605
+ icon: Warning,
606
+ style: "warning",
607
+ children: /*#__PURE__*/jsx(Typography, {
608
+ style: "body2",
609
+ children: t("neetoForm.callouts.hiddenQuestion")
610
+ })
611
+ })]
612
+ }, (_question$id = question.id) !== null && _question$id !== void 0 ? _question$id : question.nodeId);
613
+ }), showEmptyState && isEmpty(renderedQuestions) && /*#__PURE__*/jsxs("div", {
614
+ className: "flex flex-col items-center justify-center gap-y-4 py-8",
615
+ children: [/*#__PURE__*/jsx(SvgNoQuestions, {}), /*#__PURE__*/jsx(Typography, {
616
+ style: "h3",
617
+ weight: "semibold",
618
+ children: t("neetoForm.questions.common.notFound")
619
+ })]
620
+ }), footer, !isEmpty(renderedQuestions) && /*#__PURE__*/jsxs("div", {
621
+ className: "mt-8 flex items-center justify-between",
622
+ children: [cancelButtonProps && /*#__PURE__*/jsx(Button$1, _objectSpread({
623
+ label: t("neetoForm.common.cancel"),
624
+ style: "secondary"
625
+ }, cancelButtonProps)), /*#__PURE__*/jsx("div", {
626
+ className: "flex gap-x-2",
627
+ children: renderButtonsInOrder([/*#__PURE__*/jsx(Button$1, _objectSpread({
628
+ disabled: isSubmitting || isSubmitted,
629
+ label: t("neetoForm.common.submit"),
630
+ loading: isSubmitting,
631
+ type: "submit"
632
+ }, submitButtonProps), "submit"), /*#__PURE__*/jsx(Button$1, _objectSpread({
633
+ label: t("neetoForm.common.reset"),
634
+ style: "secondary",
635
+ type: "reset"
636
+ }, resetButtonProps), "reset")], isPresent(cancelButtonProps))
637
+ })]
638
+ })]
639
+ })), !customSubmitHandler && /*#__PURE__*/jsx(Callout, {
640
+ callout: {
641
+ isVisible: isPresent(error),
642
+ title: t("neetoForm.callouts.submitError"),
643
+ message: error
644
+ },
645
+ onClose: function onClose() {
646
+ return setError(null);
647
+ }
648
+ })]
649
+ });
650
+ }
651
+ })]
652
+ });
653
+ };
654
+ var index = withI18nInstance(ExternalForm, clientI18nInstance);
655
+
656
+ export { index as default };
657
+ //# sourceMappingURL=ExternalForm.js.map