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