@bigbinary/neeto-form-frontend 3.12.6 → 3.13.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 (35) hide show
  1. package/app/javascript/src/translations/en.json +3 -8
  2. package/app/javascript/src/translations/it.json +0 -5
  3. package/app/javascript/src/translations/ru.json +0 -5
  4. package/dist/BuildForm.js +347 -470
  5. package/dist/BuildForm.js.map +1 -1
  6. package/dist/ExternalForm.js +11 -15
  7. package/dist/ExternalForm.js.map +1 -1
  8. package/dist/UrlBuilder.js +2 -2
  9. package/dist/{buildForm-nI7TrULn.js → buildForm-DQ2wgwuW.js} +5 -14
  10. package/dist/buildForm-DQ2wgwuW.js.map +1 -0
  11. package/dist/{buildForm-CkodU5Ns.js → buildForm-miMj_S28.js} +5 -14
  12. package/dist/buildForm-miMj_S28.js.map +1 -0
  13. package/dist/cjs/BuildForm.js +344 -467
  14. package/dist/cjs/BuildForm.js.map +1 -1
  15. package/dist/cjs/ExternalForm.js +10 -14
  16. package/dist/cjs/ExternalForm.js.map +1 -1
  17. package/dist/cjs/UrlBuilder.js +2 -2
  18. package/dist/cjs/hooks.js +1 -1
  19. package/dist/cjs/index.js +10 -10
  20. package/dist/{constants-B33YjyaT.js → constants-Bx5mJ_UK.js} +19 -5
  21. package/dist/constants-Bx5mJ_UK.js.map +1 -0
  22. package/dist/{constants-DyjXQHMR.js → constants-T3w90EO4.js} +18 -5
  23. package/dist/constants-T3w90EO4.js.map +1 -0
  24. package/dist/hooks.js +1 -1
  25. package/dist/index.js +10 -10
  26. package/dist/{utils-O5jbq3ZQ.js → utils-CtH5-JaK.js} +2 -2
  27. package/dist/{utils-O5jbq3ZQ.js.map → utils-CtH5-JaK.js.map} +1 -1
  28. package/dist/{utils-vq3PBRhD.js → utils-Dgp-XRJx.js} +2 -2
  29. package/dist/{utils-vq3PBRhD.js.map → utils-Dgp-XRJx.js.map} +1 -1
  30. package/package.json +15 -15
  31. package/types.d.ts +12 -18
  32. package/dist/buildForm-CkodU5Ns.js.map +0 -1
  33. package/dist/buildForm-nI7TrULn.js.map +0 -1
  34. package/dist/constants-B33YjyaT.js.map +0 -1
  35. package/dist/constants-DyjXQHMR.js.map +0 -1
package/dist/BuildForm.js CHANGED
@@ -1,37 +1,36 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { useState, useRef, useEffect, createElement } from 'react';
3
1
  import { useQueryClient } from '@tanstack/react-query';
4
2
  import classnames from 'classnames';
5
- import { useFormikContext, useField, Form as Form$3, Formik } from 'formik';
6
- import { isPresent, truncate, findBy, isNotPresent, slugify, hyphenate, noop, nullSafe, filterBy, removeBy } from '@bigbinary/neeto-cist';
7
- import { showThumbsUpToastr, withEventTargetValue, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
3
+ import { isPresent, truncate, findBy, isNotPresent, slugify, existsBy, hyphenate, noop, nullSafe, removeBy } from '@bigbinary/neeto-cist';
8
4
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
9
- import { equals, path, curry, assoc, prop, dissoc, when, includes, isEmpty, reject, keys, pick, omit, evolve, map, modify, without, mergeLeft, isNil, pipe, filter, isNotNil, uniq, join, pluck, test, paths, difference, split, last, __, concat, F } from 'ramda';
5
+ import { equals, path, curry, assoc, prop, dissoc, when, includes, isEmpty, reject, keys, pick, omit, evolve, map, mergeLeft, isNil, pipe, filter, isNotNil, uniq, join, pluck, test, paths, difference, split, last, either, T, F } from 'ramda';
10
6
  import { j as useDeleteQuestion, Q as QUESTION_TYPES, a as useForm, k as useCreateQuestion, l as useUpdateQuestion, C as CAPTCHA_TYPES, m as useReorderQuestions, i as QUERY_KEYS } from './constants-DBuFEVFA.js';
11
- import { d as buildDisplayLabel, e as INDEPENDENT_LABELS_MAP, i as isElementOverflowing, D as Drag, f as SELECTABLE_KINDS, h as isAutoGeneratedQuestion, j as isRichTextQuestion, N as NON_BASIC_LATIN_CHARACTERS_REGEX, k as RESERVED_FIELD_CODES, L as LABEL_FIELDS, l as isDefaultLanguage, m as buildDisabledAddButtonTooltipProps, n as buildAddQuestionButtonProps, v as validateEditorContent, F as FIELD_CODES_REJECT_CHARS_REGEX, o as isImmutableField, Q as QUESTIONS_WITHOUT_FIELD_CODE, p as NON_HIDEABLE_FIELDS, q as NON_READ_ONLY_FIELDS, r as RICH_TEXT_QUESTIONS, s as FILE_TYPES_MAP, t as FILE_GROUPS, M as MINIMUM_OPTIONS, u as RATING_OPTIONS, w as STAR_RATING_MIN_VALUE_OPTIONS, x as STAR_RATING_MAX_VALUE_OPTIONS, y as STAR_RATING_ICONS_MAP, z as QUESTION_ACTIONS, A as QUESTION_KINDS, a as QUESTION_KIND, B as getActiveQuestionKindDetails, G as DEFAULT_AVAILABLE_LANGUAGES, H as QUESTIONS_INITIAL_VALUE, J as buildReorderPayload, K as MANDATORY_KINDS } from './constants-DyjXQHMR.js';
7
+ import { d as buildDisplayLabel, e as INDEPENDENT_LABELS_MAP, f as QUESTION_ACTIONS, i as isElementOverflowing, D as Drag, h as SELECTABLE_KINDS, j as isAutoGeneratedQuestion, k as isRichTextQuestion, N as NON_BASIC_LATIN_CHARACTERS_REGEX, l as RESERVED_FIELD_CODES, L as LABEL_FIELDS, m as isDefaultLanguage, n as buildDisabledAddButtonTooltipProps, o as buildAddQuestionButtonProps, v as validateEditorContent, F as FIELD_CODES_REJECT_CHARS_REGEX, p as isImmutableField, Q as QUESTIONS_WITHOUT_FIELD_CODE, q as NON_HIDEABLE_FIELDS, r as NON_READ_ONLY_FIELDS, s as RICH_TEXT_QUESTIONS, t as FILE_TYPES_MAP, u as FILE_GROUPS, M as MINIMUM_OPTIONS, w as RATING_OPTIONS, x as STAR_RATING_MIN_VALUE_OPTIONS, y as STAR_RATING_MAX_VALUE_OPTIONS, z as STAR_RATING_ICONS_MAP, A as buildReorderPayload, B as isMandatoryField, G as QUESTION_KINDS, a as QUESTION_KIND, H as getActiveQuestionKindDetails, J as DEFAULT_AVAILABLE_LANGUAGES, K as DEFAULT_ADVANCED_FEATURES, O as QUESTIONS_INITIAL_VALUE } from './constants-T3w90EO4.js';
12
8
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
13
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
+ import { useState, useRef, useEffect, createElement } from 'react';
14
10
  import { Droppable, Draggable, DragDropContext } from '@hello-pangea/dnd';
15
- import { isMetaKeyPressed, withT, useStateWithDependency, useOnClickOutside } from '@bigbinary/neeto-commons-frontend/react-utils';
16
- import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
17
- import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
18
- import { useTranslation, Trans } from 'react-i18next';
19
- import { a as useBuildFormStore } from './buildForm-nI7TrULn.js';
11
+ import { isMetaKeyPressed, withT, useStateWithDependency, useFuncDebounce, useOnClickOutside } from '@bigbinary/neeto-commons-frontend/react-utils';
12
+ import { showThumbsUpToastr, withEventTargetValue, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
13
+ import { a as useBuildFormStore } from './buildForm-DQ2wgwuW.js';
20
14
  import { shallow } from 'zustand/shallow';
21
15
  import Alert from '@bigbinary/neetoui/Alert';
16
+ import { useTranslation, Trans } from 'react-i18next';
22
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
23
18
  import Typography from '@bigbinary/neetoui/Typography';
24
19
  import Modal from '@bigbinary/neetoui/Modal';
25
20
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
26
21
  import Dropdown from '@bigbinary/neetoui/Dropdown';
27
22
  import Tooltip from '@bigbinary/neetoui/Tooltip';
23
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
28
24
  import { i as isFunction, f as fieldWithFallback, c as isNameQuestion } from './index-BGEdOqsc.js';
29
25
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
30
26
  import { t } from 'i18next';
31
27
  import { v4 } from 'uuid';
32
28
  import NoData from '@bigbinary/neetoui/NoData';
29
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
33
30
  import Pane from '@bigbinary/neetoui/Pane';
31
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
34
32
  import Form$2 from '@bigbinary/neetoui/formik/Form';
33
+ import { useFormikContext, useField } from 'formik';
35
34
  import Accordion from '@bigbinary/neetoui/Accordion';
36
35
  import Select from '@bigbinary/neetoui/formik/Select';
37
36
  import Switch from '@bigbinary/neetoui/formik/Switch';
@@ -43,6 +42,7 @@ import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
43
42
  import * as yup from 'yup';
44
43
  import Radio from '@bigbinary/neetoui/formik/Radio';
45
44
  import Label from '@bigbinary/neetoui/Label';
45
+ import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
46
46
  import CreatableSelect from 'react-select/creatable';
47
47
  import _toArray from '@babel/runtime/helpers/toArray';
48
48
  import Close from '@bigbinary/neeto-icons/Close';
@@ -69,12 +69,14 @@ var DeleteAlert = function DeleteAlert(_ref) {
69
69
  var _useTranslation = useTranslation(),
70
70
  t = _useTranslation.t;
71
71
  var _useBuildFormStore = useBuildFormStore(function (store) {
72
- var _store$formState;
72
+ var _store$formState, _store$formState2;
73
73
  return {
74
- selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"]
74
+ selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"],
75
+ onMutateSuccess: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["onMutateSuccess"]
75
76
  };
76
77
  }, shallow),
77
- selectedLanguage = _useBuildFormStore.selectedLanguage;
78
+ selectedLanguage = _useBuildFormStore.selectedLanguage,
79
+ onMutateSuccess = _useBuildFormStore.onMutateSuccess;
78
80
  var renderQuestionLabel = function renderQuestionLabel() {
79
81
  var questionKind = selectedQuestion.kind;
80
82
  var independentLabel = INDEPENDENT_LABELS_MAP[questionKind];
@@ -85,6 +87,10 @@ var DeleteAlert = function DeleteAlert(_ref) {
85
87
  var _useDeleteQuestion = useDeleteQuestion(selectedQuestion === null || selectedQuestion === void 0 ? void 0 : selectedQuestion.formId, selectedLanguage, {
86
88
  onSuccess: function onSuccess() {
87
89
  showThumbsUpToastr();
90
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
91
+ args[_key] = arguments[_key];
92
+ }
93
+ onMutateSuccess === null || onMutateSuccess === void 0 || onMutateSuccess.apply(void 0, [QUESTION_ACTIONS.DELETE].concat(args));
88
94
  onClose();
89
95
  }
90
96
  }),
@@ -151,67 +157,45 @@ var DeleteSmsReminderModal = function DeleteSmsReminderModal(_ref) {
151
157
 
152
158
  var ChangeLanguageDropdown = function ChangeLanguageDropdown(_ref) {
153
159
  var _findBy;
154
- var currentLanguage = _ref.currentLanguage,
155
- languages = _ref.languages,
156
- onChange = _ref.onChange;
157
- var _useState = useState(false),
158
- _useState2 = _slicedToArray(_useState, 2),
159
- isUnsavedChangesAlertOpen = _useState2[0],
160
- setIsUnsavedChangesAlertOpen = _useState2[1];
161
- var _useState3 = useState(currentLanguage),
162
- _useState4 = _slicedToArray(_useState3, 2),
163
- selectedLanguage = _useState4[0],
164
- setSelectedLanguage = _useState4[1];
160
+ var availableLanguages = _ref.availableLanguages;
165
161
  var _useTranslation = useTranslation(),
166
162
  t = _useTranslation.t;
167
- var _useFormikContext = useFormikContext(),
168
- dirty = _useFormikContext.dirty;
169
- var languageChangeHandler = function languageChangeHandler(code) {
170
- if (!dirty) {
171
- onChange(code);
172
- return;
173
- }
174
- setSelectedLanguage(code);
175
- setIsUnsavedChangesAlertOpen(true);
176
- };
163
+ var _useBuildFormStore = useBuildFormStore(function (store) {
164
+ var _store$formState, _store$formState2, _store$formState3;
165
+ return {
166
+ selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"],
167
+ onLanguageChange: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["onLanguageChange"],
168
+ isReorderingQuestions: (_store$formState3 = store["formState"]) === null || _store$formState3 === void 0 ? void 0 : _store$formState3["isReorderingQuestions"]
169
+ };
170
+ }, shallow),
171
+ selectedLanguage = _useBuildFormStore.selectedLanguage,
172
+ onLanguageChange = _useBuildFormStore.onLanguageChange,
173
+ isReorderingQuestions = _useBuildFormStore.isReorderingQuestions;
177
174
  var selectedLanguageName = (_findBy = findBy({
178
- code: currentLanguage
179
- }, languages)) === null || _findBy === void 0 ? void 0 : _findBy.name;
180
- return /*#__PURE__*/jsxs(Fragment, {
181
- children: [/*#__PURE__*/jsx(Tooltip, {
182
- content: t("neetoForm.questions.changeLanguage"),
183
- children: /*#__PURE__*/jsx("div", {
184
- children: /*#__PURE__*/jsx(Dropdown, {
185
- buttonStyle: "secondary",
186
- label: selectedLanguageName,
187
- children: /*#__PURE__*/jsx(Dropdown.Menu, {
188
- children: languages.map(function (_ref2) {
189
- var code = _ref2.code,
190
- name = _ref2.name;
191
- return /*#__PURE__*/jsx(Dropdown.MenuItem.Button, {
192
- isActive: currentLanguage === code,
193
- onClick: function onClick() {
194
- return languageChangeHandler(code);
195
- },
196
- children: name
197
- }, code);
198
- })
175
+ code: selectedLanguage
176
+ }, availableLanguages)) === null || _findBy === void 0 ? void 0 : _findBy.name;
177
+ return /*#__PURE__*/jsx(Tooltip, {
178
+ content: t("neetoForm.questions.changeLanguage"),
179
+ children: /*#__PURE__*/jsx("div", {
180
+ children: /*#__PURE__*/jsx(Dropdown, {
181
+ buttonStyle: "secondary",
182
+ disabled: isReorderingQuestions,
183
+ label: selectedLanguageName,
184
+ children: /*#__PURE__*/jsx(Dropdown.Menu, {
185
+ children: availableLanguages.map(function (_ref2) {
186
+ var code = _ref2.code,
187
+ name = _ref2.name;
188
+ return /*#__PURE__*/jsx(Dropdown.MenuItem.Button, {
189
+ isActive: selectedLanguage === code,
190
+ onClick: function onClick() {
191
+ return onLanguageChange(code);
192
+ },
193
+ children: name
194
+ }, code);
199
195
  })
200
196
  })
201
197
  })
202
- }), /*#__PURE__*/jsx(Alert, {
203
- isOpen: isUnsavedChangesAlertOpen,
204
- message: t("neetoForm.questions.unsavedChangesAlert.message"),
205
- submitButtonLabel: t("neetoForm.questions.unsavedChangesAlert.discard"),
206
- title: t("neetoForm.questions.unsavedChangesAlert.title"),
207
- onClose: function onClose() {
208
- return setIsUnsavedChangesAlertOpen(false);
209
- },
210
- onSubmit: function onSubmit() {
211
- onChange(selectedLanguage);
212
- setIsUnsavedChangesAlertOpen(false);
213
- }
214
- })]
198
+ })
215
199
  });
216
200
  };
217
201
 
@@ -219,8 +203,6 @@ var Overview = function Overview(_ref) {
219
203
  var title = _ref.title,
220
204
  description = _ref.description,
221
205
  availableLanguages = _ref.availableLanguages,
222
- selectedLanguage = _ref.selectedLanguage,
223
- onLanguageChange = _ref.onLanguageChange,
224
206
  additionalActionOptions = _ref.additionalActionOptions;
225
207
  return /*#__PURE__*/jsxs("div", {
226
208
  className: "neeto-form-nano-form-wrapper__overview mb-4 w-full flex-shrink-0 space-y-4 pt-6",
@@ -235,9 +217,7 @@ var Overview = function Overview(_ref) {
235
217
  }), /*#__PURE__*/jsxs("div", {
236
218
  className: "flex flex-shrink-0 items-center justify-between space-x-1",
237
219
  children: [availableLanguages.length > 1 && /*#__PURE__*/jsx(ChangeLanguageDropdown, {
238
- currentLanguage: selectedLanguage,
239
- languages: availableLanguages,
240
- onChange: onLanguageChange
220
+ availableLanguages: availableLanguages
241
221
  }), isPresent(additionalActionOptions) && /*#__PURE__*/jsx(MoreDropdown, {
242
222
  dropdownButtonProps: {
243
223
  isRounded: true,
@@ -343,8 +323,8 @@ var Card = function Card(_ref) {
343
323
  });
344
324
  };
345
325
 
346
- function ownKeys$g(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; }
347
- function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
326
+ function ownKeys$e(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; }
327
+ function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
348
328
  var Questions = function Questions(_ref) {
349
329
  var questions = _ref.questions,
350
330
  isDeletable = _ref.isDeletable,
@@ -361,7 +341,7 @@ var Questions = function Questions(_ref) {
361
341
  var droppableProps = _ref2.droppableProps,
362
342
  placeholder = _ref2.placeholder,
363
343
  innerRef = _ref2.innerRef;
364
- return /*#__PURE__*/jsxs("div", _objectSpread$g(_objectSpread$g({}, droppableProps), {}, {
344
+ return /*#__PURE__*/jsxs("div", _objectSpread$e(_objectSpread$e({}, droppableProps), {}, {
365
345
  className: "space-y-2",
366
346
  ref: innerRef,
367
347
  children: [questions.map(function (question, index) {
@@ -374,7 +354,7 @@ var Questions = function Questions(_ref) {
374
354
  var draggableProps = _ref3.draggableProps,
375
355
  dragHandleProps = _ref3.dragHandleProps,
376
356
  innerRef = _ref3.innerRef;
377
- return /*#__PURE__*/jsx("div", _objectSpread$g(_objectSpread$g(_objectSpread$g({}, draggableProps), dragHandleProps), {}, {
357
+ return /*#__PURE__*/jsx("div", _objectSpread$e(_objectSpread$e(_objectSpread$e({}, draggableProps), dragHandleProps), {}, {
378
358
  ref: innerRef,
379
359
  children: /*#__PURE__*/jsx(Card, {
380
360
  allQuestionKinds: allQuestionKinds,
@@ -406,8 +386,8 @@ var arrayHelpers = {
406
386
  moveItem: moveItem
407
387
  };
408
388
 
409
- function ownKeys$f(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; }
410
- function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
389
+ function ownKeys$d(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; }
390
+ function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
411
391
  var isChoiceQuestion = function isChoiceQuestion(question) {
412
392
  return includes(question === null || question === void 0 ? void 0 : question.kind, SELECTABLE_KINDS);
413
393
  };
@@ -463,7 +443,7 @@ var generateUniqueFieldCode = function generateUniqueFieldCode(_ref2) {
463
443
  var candidateFieldCode = "";
464
444
 
465
445
  //We need to continue this while loop until we can generate a unique fieldCode
466
- // eslint-disable-next-line no-constant-condition
446
+
467
447
  while (true) {
468
448
  candidateFieldCode = "".concat(prefix).concat(uniqueNumber === 0 ? "" : uniqueNumber);
469
449
  if (!findBy({
@@ -476,9 +456,9 @@ var generateUniqueFieldCode = function generateUniqueFieldCode(_ref2) {
476
456
  var isQuestionKindAlreadyActive = function isQuestionKindAlreadyActive(_ref3) {
477
457
  var activeQuestions = _ref3.activeQuestions,
478
458
  kind = _ref3.kind;
479
- return activeQuestions.some(function (activeQuestion) {
480
- return activeQuestion.kind === kind.type && activeQuestion._destroy !== true;
481
- });
459
+ return existsBy({
460
+ kind: kind.type
461
+ }, activeQuestions);
482
462
  };
483
463
  var handleFieldDragEnd = function handleFieldDragEnd(_ref4) {
484
464
  var items = _ref4.items,
@@ -489,11 +469,11 @@ var handleFieldDragEnd = function handleFieldDragEnd(_ref4) {
489
469
  var nextItems = _toConsumableArray(items);
490
470
  arrayHelpers.moveItem(nextItems, source.index, destination.index);
491
471
  var orderedItems = nextItems.map(function (item, index) {
492
- return _objectSpread$f(_objectSpread$f({}, item), {}, {
472
+ return _objectSpread$d(_objectSpread$d({}, item), {}, {
493
473
  displayOrder: index
494
474
  });
495
475
  });
496
- setValue("questions", orderedItems);
476
+ setValue(orderedItems);
497
477
  };
498
478
  var createFieldData = function createFieldData(_ref5) {
499
479
  var _ref5$kind = _ref5.kind,
@@ -511,7 +491,7 @@ var createFieldData = function createFieldData(_ref5) {
511
491
  selectedLanguage: selectedLanguage,
512
492
  isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds
513
493
  });
514
- return _objectSpread$f(_objectSpread$f({}, modifiedDefaultValues), {}, {
494
+ return _objectSpread$d(_objectSpread$d({}, modifiedDefaultValues), {}, {
515
495
  metadata: metadata,
516
496
  isRequired: isRequired,
517
497
  kind: type,
@@ -539,7 +519,7 @@ var duplicateFieldData = function duplicateFieldData(_ref6) {
539
519
  var newQuestionLabel = isRichTextQuestion(kind) ? label : t("neetoForm.common.clonedElementLabel", {
540
520
  label: label
541
521
  });
542
- return _objectSpread$f(_objectSpread$f({}, defaultAttributes), {}, {
522
+ return _objectSpread$d(_objectSpread$d({}, defaultAttributes), {}, {
543
523
  isRequired: isRequired,
544
524
  kind: kind,
545
525
  label: newQuestionLabel,
@@ -623,13 +603,17 @@ var INITIAL_VALUES = {
623
603
  };
624
604
  var VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;
625
605
 
626
- var _excluded$8 = ["label", "name"];
627
- function ownKeys$e(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; }
628
- function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
606
+ var useHelpDoc = function useHelpDoc(key) {
607
+ return useBuildFormStore(path(["formState", "helpDocUrls", key]));
608
+ };
609
+
610
+ var _excluded$7 = ["label", "name"];
611
+ function ownKeys$c(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; }
612
+ function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
629
613
  var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
630
614
  var label = _ref.label,
631
615
  name = _ref.name,
632
- otherProps = _objectWithoutProperties(_ref, _excluded$8);
616
+ otherProps = _objectWithoutProperties(_ref, _excluded$7);
633
617
  var _useFormikContext = useFormikContext(),
634
618
  dirty = _useFormikContext.dirty,
635
619
  isValid = _useFormikContext.isValid,
@@ -644,7 +628,7 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
644
628
  var end = element.value.length;
645
629
  element.setSelectionRange(end, end);
646
630
  };
647
- return /*#__PURE__*/jsx(Textarea, _objectSpread$e({
631
+ return /*#__PURE__*/jsx(Textarea, _objectSpread$c({
648
632
  label: label,
649
633
  name: name,
650
634
  className: "neeto-form-nano-adaptive-input",
@@ -658,8 +642,8 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
658
642
  }, otherProps));
659
643
  };
660
644
 
661
- function ownKeys$d(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; }
662
- function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
645
+ function ownKeys$b(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; }
646
+ function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
663
647
  var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
664
648
  var kind = _ref.kind,
665
649
  isLabelDisabled = _ref.isLabelDisabled,
@@ -673,14 +657,14 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
673
657
  var shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);
674
658
  return /*#__PURE__*/jsxs("div", {
675
659
  className: "space-y-4",
676
- children: [/*#__PURE__*/jsx(FormikAdaptiveInput, _objectSpread$d({
660
+ children: [/*#__PURE__*/jsx(FormikAdaptiveInput, _objectSpread$b({
677
661
  required: true,
678
662
  disabled: isLabelDisabled,
679
663
  label: t("neetoForm.questions.common.questionFields.field.question"),
680
664
  name: "label",
681
665
  placeholder: DEFAULT_PLACEHOLDERS[kind],
682
666
  onChange: withEventTargetValue(handleLabelChange)
683
- }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsx(FormikAdaptiveInput, _objectSpread$d({
667
+ }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsx(FormikAdaptiveInput, _objectSpread$b({
684
668
  className: "neeto-form-nano-placeholder-input neeto-form-nano-placeholder-input-".concat(kind),
685
669
  name: "placeholder",
686
670
  label: t("neetoForm.questions.common.questionFields.field.placeholder")
@@ -688,8 +672,8 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
688
672
  });
689
673
  };
690
674
 
691
- function ownKeys$c(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; }
692
- function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
675
+ function ownKeys$a(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; }
676
+ function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
693
677
  var Name = function Name(_ref) {
694
678
  var isLabelDisabled = _ref.isLabelDisabled,
695
679
  _handleLabelChange = _ref.handleLabelChange;
@@ -709,7 +693,7 @@ var Name = function Name(_ref) {
709
693
  label: t("neetoForm.common.splitAsFirstAndLastNames"),
710
694
  name: "isSplitMode"
711
695
  }), isSplitMode && !usesCustomSubmissionComponent ? /*#__PURE__*/jsxs(Fragment, {
712
- children: [/*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$c(_objectSpread$c({}, commonProps), {}, {
696
+ children: [/*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$a(_objectSpread$a({}, commonProps), {}, {
713
697
  handleLabelChange: function handleLabelChange(value) {
714
698
  return _handleLabelChange(value, LABEL_FIELDS.FIRST_NAME);
715
699
  },
@@ -721,7 +705,7 @@ var Name = function Name(_ref) {
721
705
  label: t("neetoForm.questions.common.questionFields.field.firstNamePlaceholder"),
722
706
  name: "firstNamePlaceholder"
723
707
  }
724
- })), /*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$c(_objectSpread$c({}, commonProps), {}, {
708
+ })), /*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$a(_objectSpread$a({}, commonProps), {}, {
725
709
  handleLabelChange: function handleLabelChange(value) {
726
710
  return _handleLabelChange(value, LABEL_FIELDS.LAST_NAME);
727
711
  },
@@ -734,7 +718,7 @@ var Name = function Name(_ref) {
734
718
  name: "lastNamePlaceholder"
735
719
  }
736
720
  }))]
737
- }) : /*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$c(_objectSpread$c({}, commonProps), {}, {
721
+ }) : /*#__PURE__*/jsx(LabelWithPlaceholder, _objectSpread$a(_objectSpread$a({}, commonProps), {}, {
738
722
  labelProps: {
739
723
  name: LABEL_FIELDS.FULL_NAME
740
724
  },
@@ -754,14 +738,12 @@ var Properties = function Properties(_ref) {
754
738
  handleLabelChange = _ref.handleLabelChange,
755
739
  questionProps = _ref.questionProps;
756
740
  var _useBuildFormStore = useBuildFormStore(function (store) {
757
- var _store$formState, _store$formState2;
741
+ var _store$formState;
758
742
  return {
759
- enableDomainWhitelisting: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["enableDomainWhitelisting"],
760
- enableDomainBlacklisting: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["enableDomainBlacklisting"]
743
+ usesCustomSubmissionComponent: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["usesCustomSubmissionComponent"]
761
744
  };
762
745
  }, shallow),
763
- enableDomainWhitelisting = _useBuildFormStore.enableDomainWhitelisting,
764
- enableDomainBlacklisting = _useBuildFormStore.enableDomainBlacklisting;
746
+ usesCustomSubmissionComponent = _useBuildFormStore.usesCustomSubmissionComponent;
765
747
  var hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);
766
748
  if (isNameQuestion(kind)) {
767
749
  return /*#__PURE__*/jsx(Name, {
@@ -778,8 +760,7 @@ var Properties = function Properties(_ref) {
778
760
  }), hasAdditionalData && renderAdditionalData({
779
761
  kind: kind,
780
762
  questionProps: questionProps,
781
- enableDomainWhitelisting: enableDomainWhitelisting,
782
- enableDomainBlacklisting: enableDomainBlacklisting
763
+ usesCustomSubmissionComponent: usesCustomSubmissionComponent
783
764
  })]
784
765
  });
785
766
  };
@@ -810,39 +791,24 @@ var Block = function Block(_ref) {
810
791
  var useUpdateEditorContent = function useUpdateEditorContent(_ref) {
811
792
  var editorRef = _ref.editorRef,
812
793
  fieldName = _ref.fieldName,
813
- value = _ref.value,
814
- initialValue = _ref.initialValue,
815
- fieldCode = _ref.fieldCode;
794
+ value = _ref.value;
816
795
  var initialStateRef = useRef({
817
796
  language: "",
818
797
  value: null
819
798
  });
820
799
  var _useBuildFormStore = useBuildFormStore(function (store) {
821
- return {
822
- setFormData: store["setFormData"]
823
- };
824
- }, shallow),
825
- setFormData = _useBuildFormStore.setFormData;
826
- var _useBuildFormStore2 = useBuildFormStore(function (store) {
827
800
  var _store$formState, _store$formState2;
828
801
  return {
829
802
  formId: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["formId"],
830
803
  selectedLanguage: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["selectedLanguage"]
831
804
  };
832
805
  }, shallow),
833
- formId = _useBuildFormStore2.formId,
834
- language = _useBuildFormStore2.selectedLanguage;
835
- var shouldReset = useBuildFormStore(function (store) {
836
- return store.formState.richTextFieldsToReset.includes(fieldCode);
837
- });
806
+ formId = _useBuildFormStore.formId,
807
+ language = _useBuildFormStore.selectedLanguage;
838
808
  var setEditorContent = function setEditorContent(content) {
839
809
  var _editorRef$current$ed;
840
810
  return (_editorRef$current$ed = editorRef.current.editor) === null || _editorRef$current$ed === void 0 || (_editorRef$current$ed = _editorRef$current$ed.commands) === null || _editorRef$current$ed === void 0 ? void 0 : _editorRef$current$ed.setContent(content);
841
811
  };
842
- if (shouldReset) {
843
- setEditorContent(initialValue);
844
- setFormData(modify("richTextFieldsToReset", without([fieldCode])));
845
- }
846
812
  var _useForm = useForm({
847
813
  formId: formId,
848
814
  language: language
@@ -873,8 +839,6 @@ var Editor = function Editor() {
873
839
  var editorRef = useRef({
874
840
  editor: {}
875
841
  });
876
- var _useFormikContext = useFormikContext(),
877
- fieldCode = _useFormikContext.values.fieldCode;
878
842
  var fieldName = "label";
879
843
  var _useField = useField({
880
844
  name: fieldName,
@@ -885,16 +849,13 @@ var Editor = function Editor() {
885
849
  _useField2$ = _useField2[1],
886
850
  touched = _useField2$.touched,
887
851
  error = _useField2$.error,
888
- initialValue = _useField2$.initialValue,
889
852
  _useField2$2 = _useField2[2],
890
853
  setTouched = _useField2$2.setTouched,
891
854
  setValue = _useField2$2.setValue;
892
855
  useUpdateEditorContent({
893
856
  editorRef: editorRef,
894
857
  fieldName: fieldName,
895
- value: value,
896
- initialValue: initialValue,
897
- fieldCode: fieldCode
858
+ value: value
898
859
  });
899
860
  return /*#__PURE__*/jsx("div", {
900
861
  className: "w-full cursor-auto",
@@ -924,12 +885,12 @@ var RequiredSwitch = withT(function (_ref) {
924
885
  });
925
886
  });
926
887
 
927
- var _excluded$7 = ["maxLength"];
928
- function ownKeys$b(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; }
929
- function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
888
+ var _excluded$6 = ["maxLength"];
889
+ function ownKeys$9(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; }
890
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
930
891
  var InputWithMaxLength = function InputWithMaxLength(_ref) {
931
892
  var maxLength = _ref.maxLength,
932
- props = _objectWithoutProperties(_ref, _excluded$7);
893
+ props = _objectWithoutProperties(_ref, _excluded$6);
933
894
  var _useField = useField(props),
934
895
  _useField2 = _slicedToArray(_useField, 3),
935
896
  value = _useField2[0].value,
@@ -940,13 +901,13 @@ var InputWithMaxLength = function InputWithMaxLength(_ref) {
940
901
  }
941
902
  }, [value, maxLength, setValue]);
942
903
  var shouldShowMaxLength = value && value.length > maxLength - 10;
943
- return /*#__PURE__*/jsx(Input, _objectSpread$b(_objectSpread$b({}, props), shouldShowMaxLength && {
904
+ return /*#__PURE__*/jsx(Input, _objectSpread$9(_objectSpread$9({}, props), shouldShowMaxLength && {
944
905
  maxLength: maxLength
945
906
  }));
946
907
  };
947
908
 
948
909
  var FieldCode = function FieldCode() {
949
- var helpDocUrl = useBuildFormStore(path(["formState", "helpDocUrls", "fieldCode"]));
910
+ var helpDocUrl = useHelpDoc("fieldCode");
950
911
  var _useTranslation = useTranslation(),
951
912
  t = _useTranslation.t;
952
913
  return /*#__PURE__*/jsx(InputWithMaxLength, {
@@ -973,11 +934,10 @@ var Form$1 = function Form(_ref) {
973
934
  initialFocusRef = _ref.initialFocusRef,
974
935
  isRequiredField = _ref.isRequiredField,
975
936
  isDisabledFieldLabel = _ref.isDisabledFieldLabel,
976
- enableFieldCode = _ref.enableFieldCode,
977
937
  allQuestionKinds = _ref.allQuestionKinds,
978
938
  availableQuestionKinds = _ref.availableQuestionKinds,
979
939
  getActiveKindDetails = _ref.getActiveKindDetails,
980
- additionalQuestionKindPattern = _ref.additionalQuestionKindPattern,
940
+ kindUniqueOn = _ref.kindUniqueOn,
981
941
  _ref$isEdit = _ref.isEdit,
982
942
  isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit;
983
943
  var _useState = useState(false),
@@ -994,25 +954,28 @@ var Form$1 = function Form(_ref) {
994
954
  setFieldValue = _useFormikContext.setFieldValue,
995
955
  errors = _useFormikContext.errors,
996
956
  submitCount = _useFormikContext.submitCount;
997
- var hideQuestionHelpDoc = useBuildFormStore(path(["formState", "helpDocUrls", "hideQuestion"]));
998
- var readOnlyHelpDoc = useBuildFormStore(path(["formState", "helpDocUrls", "readOnly"]));
999
- var responseVisibleOnlyToHostHelpDoc = useBuildFormStore(path(["formState", "helpDocUrls", "responseVisibleOnlyToHost"]));
957
+ var hideQuestionHelpDocUrl = useHelpDoc("hideQuestion");
958
+ var readOnlyHelpDocUrl = useHelpDoc("readOnly");
959
+ var responseVisibleOnlyToHostHelpDocUrl = useHelpDoc("responseVisibleOnlyToHost");
1000
960
  var _useBuildFormStore = useBuildFormStore(function (store) {
1001
961
  var _store$formState, _store$formState2, _store$formState3, _store$formState4;
1002
962
  return {
1003
- showReadOnlySwitch: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["showReadOnlySwitch"],
1004
- showResponseVisibleOnlyToHostSwitch: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["showResponseVisibleOnlyToHostSwitch"],
1005
- selectedLanguage: (_store$formState3 = store["formState"]) === null || _store$formState3 === void 0 ? void 0 : _store$formState3["selectedLanguage"],
1006
- isUsingDefaultQuestionKinds: (_store$formState4 = store["formState"]) === null || _store$formState4 === void 0 ? void 0 : _store$formState4["isUsingDefaultQuestionKinds"]
963
+ advancedFeatures: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["advancedFeatures"],
964
+ selectedLanguage: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["selectedLanguage"],
965
+ isUsingDefaultQuestionKinds: (_store$formState3 = store["formState"]) === null || _store$formState3 === void 0 ? void 0 : _store$formState3["isUsingDefaultQuestionKinds"],
966
+ usesCustomSubmissionComponent: (_store$formState4 = store["formState"]) === null || _store$formState4 === void 0 ? void 0 : _store$formState4["usesCustomSubmissionComponent"]
1007
967
  };
1008
968
  }, shallow),
1009
- showReadOnlySwitch = _useBuildFormStore.showReadOnlySwitch,
1010
- showResponseVisibleOnlyToHostSwitch = _useBuildFormStore.showResponseVisibleOnlyToHostSwitch,
969
+ advancedFeatures = _useBuildFormStore.advancedFeatures,
1011
970
  selectedLanguage = _useBuildFormStore.selectedLanguage,
1012
- isUsingDefaultQuestionKinds = _useBuildFormStore.isUsingDefaultQuestionKinds;
971
+ isUsingDefaultQuestionKinds = _useBuildFormStore.isUsingDefaultQuestionKinds,
972
+ usesCustomSubmissionComponent = _useBuildFormStore.usesCustomSubmissionComponent;
973
+ var isFieldCodeEnabled = advancedFeatures.fieldCode,
974
+ markResponsesAsReadOnly = advancedFeatures.markResponsesAsReadOnly,
975
+ restrictResponseVisibilityToHost = advancedFeatures.restrictResponseVisibilityToHost;
1013
976
  var kind = values.kind;
1014
977
  var questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;
1015
- var questionKindUniquenessPattern = mergeLeft(isEdit && additionalQuestionKindPattern ? additionalQuestionKindPattern(values) : {}, {
978
+ var questionKindUniquenessPattern = mergeLeft(isEdit && kindUniqueOn ? kindUniqueOn(values) : {}, {
1016
979
  type: kind
1017
980
  });
1018
981
  var _useStateWithDependen = useStateWithDependency(getQuestionKind(questionKinds, questionKindUniquenessPattern), [kind]),
@@ -1032,10 +995,10 @@ var Form$1 = function Form(_ref) {
1032
995
  var isRequired = questionKind && isRequiredField(questionKind);
1033
996
  var isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);
1034
997
  var isImmutable = questionKind && isImmutableField(questionKind);
1035
- var shouldShowFieldCode = enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);
1036
- var shouldShowHideSwitch = !includes(kind, NON_HIDEABLE_FIELDS);
1037
- var shouldShowResponseVisibleOnlyToHostSwitch = showResponseVisibleOnlyToHostSwitch && !includes(kind, NON_HIDEABLE_FIELDS);
1038
- var shouldShowReadOnlySwitch = showReadOnlySwitch && !includes(kind, NON_READ_ONLY_FIELDS);
998
+ var shouldShowFieldCode = isFieldCodeEnabled && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);
999
+ var shouldShowHideSwitch = isFieldCodeEnabled && !usesCustomSubmissionComponent && !includes(kind, NON_HIDEABLE_FIELDS);
1000
+ var canRestrictResponseVisibilityToHost = restrictResponseVisibilityToHost && !includes(kind, NON_HIDEABLE_FIELDS);
1001
+ var canMarkResponsesAsReadOnly = markResponsesAsReadOnly && !includes(kind, NON_READ_ONLY_FIELDS);
1039
1002
  var isSettingsBlockVisible = !isRequired && (!isImmutable || shouldShowHideSwitch);
1040
1003
  var handleKindChange = function handleKindChange(option) {
1041
1004
  var data = buildQuestionData(option);
@@ -1103,26 +1066,26 @@ var Form$1 = function Form(_ref) {
1103
1066
  title: t("neetoForm.common.settings"),
1104
1067
  children: [!isImmutable && /*#__PURE__*/jsx(RequiredSwitch, {}), shouldShowHideSwitch && /*#__PURE__*/jsx(Switch, {
1105
1068
  label: t("neetoForm.common.hideQuestion"),
1106
- labelProps: hideSwitchLabelProps(hideQuestionHelpDoc),
1069
+ labelProps: hideSwitchLabelProps(hideQuestionHelpDocUrl),
1107
1070
  name: "isHidden"
1108
- }), shouldShowResponseVisibleOnlyToHostSwitch && /*#__PURE__*/jsx(Switch, {
1071
+ }), canRestrictResponseVisibilityToHost && /*#__PURE__*/jsx(Switch, {
1109
1072
  label: t("neetoForm.common.responseVisibleOnlyToHost"),
1110
1073
  name: "isResponseVisibleOnlyToHost",
1111
- labelProps: responseVisibleOnlyToHostSwitchLabelProps(responseVisibleOnlyToHostHelpDoc)
1074
+ labelProps: responseVisibleOnlyToHostSwitchLabelProps(responseVisibleOnlyToHostHelpDocUrl)
1112
1075
  })]
1113
- }), (shouldShowFieldCode || shouldShowReadOnlySwitch) && /*#__PURE__*/jsx(Accordion, {
1114
- defaultActiveKey: isFieldCodeInvalid ? 0 : null // This is to open the accordion when field code is invalid
1115
- ,
1076
+ }), (shouldShowFieldCode || canMarkResponsesAsReadOnly) && /*#__PURE__*/jsx(Accordion, {
1116
1077
  className: "neeto-form-nano-advanced-properties-accordion",
1117
1078
  "data-cy": "advanced-properties-card",
1079
+ defaultActiveKey: isFieldCodeInvalid ? 0 : null // This is to open the accordion when field code is invalid
1080
+ ,
1118
1081
  children: /*#__PURE__*/jsx(Accordion.Item, {
1119
1082
  title: t("neetoForm.common.advancedProperties"),
1120
1083
  children: /*#__PURE__*/jsxs("div", {
1121
1084
  className: "flex flex-col space-y-4",
1122
- children: [shouldShowFieldCode && /*#__PURE__*/jsx(FieldCode, {}), shouldShowReadOnlySwitch && /*#__PURE__*/jsx(Switch, {
1085
+ children: [shouldShowFieldCode && /*#__PURE__*/jsx(FieldCode, {}), canMarkResponsesAsReadOnly && /*#__PURE__*/jsx(Switch, {
1123
1086
  label: t("neetoForm.common.readOnly"),
1124
- labelProps: readOnlySwitchLabelProps(readOnlyHelpDoc),
1125
- name: "isReadOnly"
1087
+ name: "isReadOnly",
1088
+ labelProps: readOnlySwitchLabelProps(readOnlyHelpDocUrl)
1126
1089
  })]
1127
1090
  })
1128
1091
  })
@@ -1166,7 +1129,7 @@ var buildNameLabelValidationSchema = function buildNameLabelValidationSchema(que
1166
1129
  };
1167
1130
  var stringSchema = yup.string();
1168
1131
  var formValidationSchema = function formValidationSchema(question) {
1169
- var enableFieldCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1132
+ var isFieldCodeEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1170
1133
  return yup.object().shape({
1171
1134
  kind: yup.string().trim().required(t("neetoForm.common.fieldReq", {
1172
1135
  field: t("neetoForm.questions.common.questionFields.field.questionType")
@@ -1176,7 +1139,7 @@ var formValidationSchema = function formValidationSchema(question) {
1176
1139
  firstNameLabel: buildNameLabelValidationSchema(question, stringSchema),
1177
1140
  lastNameLabel: buildNameLabelValidationSchema(question, stringSchema),
1178
1141
  fieldCode: yup.string().trim().notOneOf(RESERVED_FIELD_CODES, t("neetoForm.error.invalidFieldCode")).when("kind", function (kind, schema) {
1179
- return enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE) ? fieldCodeValidation(schema, t("neetoForm.questions.common.questionFields.field.fieldCode")) : schema.notRequired();
1142
+ return isFieldCodeEnabled && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE) ? fieldCodeValidation(schema, t("neetoForm.questions.common.questionFields.field.fieldCode")) : schema.notRequired();
1180
1143
  }),
1181
1144
  optionsAttributes: yup.array().when("kind", function (kind, schema) {
1182
1145
  return includes(kind, SELECTABLE_KINDS) ? schema.of(yup.object().shape({
@@ -1192,30 +1155,36 @@ var formValidationSchema = function formValidationSchema(question) {
1192
1155
  });
1193
1156
  };
1194
1157
 
1195
- var _excluded$6 = ["question", "onClose", "questions", "handleSelect", "buildRequestArgs", "isOpen"];
1196
- function ownKeys$a(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; }
1197
- function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1158
+ var _excluded$5 = ["question", "onClose", "questions", "handleSelect", "isOpen"];
1159
+ function ownKeys$8(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; }
1160
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1198
1161
  var Add = function Add(_ref) {
1199
1162
  var question = _ref.question,
1200
1163
  onClose = _ref.onClose,
1201
1164
  questions = _ref.questions,
1202
1165
  handleSelect = _ref.handleSelect,
1203
- buildRequestArgs = _ref.buildRequestArgs,
1204
1166
  isOpen = _ref.isOpen,
1205
- props = _objectWithoutProperties(_ref, _excluded$6);
1167
+ props = _objectWithoutProperties(_ref, _excluded$5);
1206
1168
  var _useBuildFormStore = useBuildFormStore(function (store) {
1207
- var _store$formState, _store$formState2;
1169
+ var _store$formState, _store$formState2, _store$formState3;
1208
1170
  return {
1209
1171
  formId: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["formId"],
1210
- selectedLanguage: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["selectedLanguage"]
1172
+ selectedLanguage: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["selectedLanguage"],
1173
+ onMutateSuccess: (_store$formState3 = store["formState"]) === null || _store$formState3 === void 0 ? void 0 : _store$formState3["onMutateSuccess"]
1211
1174
  };
1212
1175
  }, shallow),
1213
1176
  formId = _useBuildFormStore.formId,
1214
- language = _useBuildFormStore.selectedLanguage;
1177
+ language = _useBuildFormStore.selectedLanguage,
1178
+ onMutateSuccess = _useBuildFormStore.onMutateSuccess;
1179
+ var isFieldCodeEnabled = useBuildFormStore(path(["advancedFeatures", "fieldCode"]));
1215
1180
  var _useTranslation = useTranslation(),
1216
1181
  t = _useTranslation.t;
1217
1182
  var _useCreateQuestion = useCreateQuestion(formId, language, {
1218
1183
  onSuccess: function onSuccess() {
1184
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1185
+ args[_key] = arguments[_key];
1186
+ }
1187
+ onMutateSuccess === null || onMutateSuccess === void 0 || onMutateSuccess.apply(void 0, [QUESTION_ACTIONS.ADD].concat(args));
1219
1188
  showThumbsUpToastr();
1220
1189
  onClose();
1221
1190
  }
@@ -1225,12 +1194,12 @@ var Add = function Add(_ref) {
1225
1194
  var handleSubmit = function handleSubmit(values) {
1226
1195
  if (isCreating || !isOpen) return;
1227
1196
  var displayOrder = question ? question.displayOrder + 1 : questions.length;
1228
- createQuestion(_objectSpread$a({
1197
+ createQuestion({
1229
1198
  language: language,
1230
1199
  neetoFormQuestion: mergeLeft({
1231
1200
  displayOrder: displayOrder
1232
1201
  }, values)
1233
- }, buildRequestArgs), {
1202
+ }, {
1234
1203
  onSuccess: function onSuccess(_ref2) {
1235
1204
  var questions = _ref2.questions;
1236
1205
  var newQuestion = findBy({
@@ -1250,11 +1219,11 @@ var Add = function Add(_ref) {
1250
1219
  }), /*#__PURE__*/jsx(Form$2, {
1251
1220
  formikProps: {
1252
1221
  initialValues: INITIAL_VALUES,
1253
- validationSchema: formValidationSchema(INITIAL_VALUES, props["enableFieldCode"]),
1222
+ validationSchema: formValidationSchema(INITIAL_VALUES, isFieldCodeEnabled),
1254
1223
  onSubmit: handleSubmit
1255
1224
  },
1256
1225
  children: /*#__PURE__*/jsxs(Fragment, {
1257
- children: [/*#__PURE__*/jsx(Form$1, _objectSpread$a({}, _objectSpread$a(_objectSpread$a({}, props), {}, {
1226
+ children: [/*#__PURE__*/jsx(Form$1, _objectSpread$8({}, _objectSpread$8(_objectSpread$8({}, props), {}, {
1258
1227
  question: question,
1259
1228
  questions: questions
1260
1229
  }))), /*#__PURE__*/jsx(Pane.Footer, {
@@ -1270,23 +1239,26 @@ var Add = function Add(_ref) {
1270
1239
  });
1271
1240
  };
1272
1241
 
1273
- var _excluded$5 = ["question", "isOpen", "onClose"];
1274
- function ownKeys$9(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; }
1275
- function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1242
+ var _excluded$4 = ["question", "isOpen", "onClose"];
1243
+ function ownKeys$7(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; }
1244
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1276
1245
  var Edit = function Edit(_ref) {
1277
1246
  var question = _ref.question,
1278
1247
  isOpen = _ref.isOpen,
1279
1248
  onClose = _ref.onClose,
1280
- props = _objectWithoutProperties(_ref, _excluded$5);
1249
+ props = _objectWithoutProperties(_ref, _excluded$4);
1281
1250
  var _useTranslation = useTranslation(),
1282
1251
  t = _useTranslation.t;
1283
1252
  var _useBuildFormStore = useBuildFormStore(function (store) {
1284
- var _store$formState;
1253
+ var _store$formState, _store$formState2;
1285
1254
  return {
1286
- selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"]
1255
+ selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"],
1256
+ onMutateSuccess: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["onMutateSuccess"]
1287
1257
  };
1288
1258
  }, shallow),
1289
- language = _useBuildFormStore.selectedLanguage;
1259
+ language = _useBuildFormStore.selectedLanguage,
1260
+ onMutateSuccess = _useBuildFormStore.onMutateSuccess;
1261
+ var isFieldCodeEnabled = useBuildFormStore(path(["advancedFeatures", "fieldCode"]));
1290
1262
  var _useUpdateQuestion = useUpdateQuestion(question === null || question === void 0 ? void 0 : question.formId, language),
1291
1263
  updateQuestion = _useUpdateQuestion.mutate,
1292
1264
  isUpdating = _useUpdateQuestion.isPending;
@@ -1302,6 +1274,10 @@ var Edit = function Edit(_ref) {
1302
1274
  payload: payload
1303
1275
  }, {
1304
1276
  onSuccess: function onSuccess() {
1277
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1278
+ args[_key] = arguments[_key];
1279
+ }
1280
+ onMutateSuccess === null || onMutateSuccess === void 0 || onMutateSuccess.apply(void 0, [QUESTION_ACTIONS.EDIT].concat(args));
1305
1281
  showThumbsUpToastr();
1306
1282
  onClose();
1307
1283
  },
@@ -1320,11 +1296,11 @@ var Edit = function Edit(_ref) {
1320
1296
  }), /*#__PURE__*/jsx(Form$2, {
1321
1297
  formikProps: {
1322
1298
  initialValues: question,
1323
- validationSchema: formValidationSchema(question, props["enableFieldCode"]),
1299
+ validationSchema: formValidationSchema(question, isFieldCodeEnabled),
1324
1300
  onSubmit: handleSubmit
1325
1301
  },
1326
1302
  children: /*#__PURE__*/jsxs(Fragment, {
1327
- children: [/*#__PURE__*/jsx(Form$1, _objectSpread$9(_objectSpread$9({}, _objectSpread$9({
1303
+ children: [/*#__PURE__*/jsx(Form$1, _objectSpread$7(_objectSpread$7({}, _objectSpread$7({
1328
1304
  question: question
1329
1305
  }, props)), {}, {
1330
1306
  isEdit: true
@@ -1359,19 +1335,19 @@ var Captcha = withT(function (_ref) {
1359
1335
  });
1360
1336
  });
1361
1337
 
1362
- var _excluded$4 = ["name", "title", "className"];
1363
- function ownKeys$8(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; }
1364
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1338
+ var _excluded$3 = ["name", "title", "className"];
1339
+ function ownKeys$6(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; }
1340
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1365
1341
  var SwitchBlock = function SwitchBlock(_ref) {
1366
1342
  var name = _ref.name,
1367
1343
  title = _ref.title,
1368
1344
  _ref$className = _ref.className,
1369
1345
  className = _ref$className === void 0 ? "" : _ref$className,
1370
- otherProps = _objectWithoutProperties(_ref, _excluded$4);
1346
+ otherProps = _objectWithoutProperties(_ref, _excluded$3);
1371
1347
  return /*#__PURE__*/jsxs(Label, {
1372
1348
  className: classnames("flex items-center justify-start gap-2 ", className),
1373
1349
  "data-cy": "neeto-form-engine-".concat(hyphenate(title && name), "-toggle-label"),
1374
- children: [/*#__PURE__*/jsx(Switch, _objectSpread$8(_objectSpread$8({}, _objectSpread$8(_objectSpread$8({}, otherProps), {}, {
1350
+ children: [/*#__PURE__*/jsx(Switch, _objectSpread$6(_objectSpread$6({}, _objectSpread$6(_objectSpread$6({}, otherProps), {}, {
1375
1351
  name: name
1376
1352
  })), {}, {
1377
1353
  "data-cy": "neeto-form-engine-".concat(hyphenate(title && name), "-switch")
@@ -1383,15 +1359,15 @@ var SwitchBlock = function SwitchBlock(_ref) {
1383
1359
  });
1384
1360
  };
1385
1361
 
1386
- function ownKeys$7(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; }
1387
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1362
+ function ownKeys$5(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; }
1363
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1388
1364
  var TitleWithHelpPopover = function TitleWithHelpPopover(_ref) {
1389
1365
  var title = _ref.title,
1390
1366
  description = _ref.description,
1391
1367
  helpLink = _ref.helpLink;
1392
1368
  return /*#__PURE__*/jsxs("div", {
1393
1369
  className: "flex gap-2",
1394
- children: [title, /*#__PURE__*/jsx(HelpPopover, _objectSpread$7({
1370
+ children: [title, /*#__PURE__*/jsx(HelpPopover, _objectSpread$5({
1395
1371
  description: description,
1396
1372
  popoverProps: {
1397
1373
  position: "top"
@@ -1417,9 +1393,9 @@ var DOMAIN_RESTRICTION_TRANSLATIONS = {
1417
1393
  }
1418
1394
  };
1419
1395
 
1420
- var _excluded$3 = ["children"];
1421
- function ownKeys$6(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; }
1422
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1396
+ var _excluded$2 = ["children"];
1397
+ function ownKeys$4(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; }
1398
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1423
1399
  var STYLES = {
1424
1400
  border: {
1425
1401
  "default": "1px solid rgb(var(--neeto-ui-gray-400))",
@@ -1431,8 +1407,8 @@ var STYLES = {
1431
1407
  }
1432
1408
  };
1433
1409
  var MultiValueRemove = function MultiValueRemove(props) {
1434
- return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$6(_objectSpread$6({}, props), {}, {
1435
- innerProps: _objectSpread$6(_objectSpread$6({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon"))),
1410
+ return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$4(_objectSpread$4({}, props), {}, {
1411
+ innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon"))),
1436
1412
  children: /*#__PURE__*/jsx(Close, {
1437
1413
  size: 16
1438
1414
  })
@@ -1440,7 +1416,7 @@ var MultiValueRemove = function MultiValueRemove(props) {
1440
1416
  };
1441
1417
  var ValueContainer = function ValueContainer(_ref) {
1442
1418
  var children = _ref.children,
1443
- props = _objectWithoutProperties(_ref, _excluded$3);
1419
+ props = _objectWithoutProperties(_ref, _excluded$2);
1444
1420
  var _useTranslation = useTranslation(),
1445
1421
  t = _useTranslation.t;
1446
1422
  var getValue = props.getValue,
@@ -1452,8 +1428,8 @@ var ValueContainer = function ValueContainer(_ref) {
1452
1428
  firstChild = _children[0],
1453
1429
  rest = _children.slice(1);
1454
1430
  var shouldCollapse = !isFocused && value.length > visibleDomainsCount;
1455
- return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$6(_objectSpread$6({}, props), {}, {
1456
- innerProps: _objectSpread$6(_objectSpread$6({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-domain-input-container")),
1431
+ return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$4(_objectSpread$4({}, props), {}, {
1432
+ innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-domain-input-container")),
1457
1433
  children: [shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild, shouldCollapse && /*#__PURE__*/jsx(Tag, {
1458
1434
  style: "secondary",
1459
1435
  label: t("neetoForm.common.remainingItemsCount", {
@@ -1463,8 +1439,8 @@ var ValueContainer = function ValueContainer(_ref) {
1463
1439
  }));
1464
1440
  };
1465
1441
  var ClearIndicator = function ClearIndicator(props) {
1466
- return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$6(_objectSpread$6({}, props), {}, {
1467
- innerProps: _objectSpread$6(_objectSpread$6({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
1442
+ return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$4(_objectSpread$4({}, props), {}, {
1443
+ innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
1468
1444
  children: /*#__PURE__*/jsx(Close, {
1469
1445
  className: "cursor-pointer",
1470
1446
  size: 16
@@ -1485,7 +1461,7 @@ var CUSTOM_STYLES = {
1485
1461
  input: assoc("overflow", "hidden"),
1486
1462
  multiValue: function multiValue(styles, _ref2) {
1487
1463
  var valid = _ref2.data.valid;
1488
- return _objectSpread$6(_objectSpread$6({}, styles), {}, {
1464
+ return _objectSpread$4(_objectSpread$4({}, styles), {}, {
1489
1465
  border: valid ? STYLES.border["default"] : STYLES.border.error,
1490
1466
  color: valid ? STYLES.color["default"] : STYLES.color.error
1491
1467
  });
@@ -1527,9 +1503,9 @@ var formatErrorMessage = function formatErrorMessage(error) {
1527
1503
  return removeDuplicateErrorMessages(error);
1528
1504
  };
1529
1505
 
1530
- var _excluded$2 = ["label", "value", "onChange", "error", "onBlur"];
1531
- function ownKeys$5(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; }
1532
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1506
+ var _excluded$1 = ["label", "value", "onChange", "error", "onBlur"];
1507
+ function ownKeys$3(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; }
1508
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1533
1509
  var MultiDomainInput = function MultiDomainInput(_ref) {
1534
1510
  var _ref$label = _ref.label,
1535
1511
  label = _ref$label === void 0 ? "" : _ref$label,
@@ -1541,7 +1517,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1541
1517
  error = _ref$error === void 0 ? "" : _ref$error,
1542
1518
  _ref$onBlur = _ref.onBlur,
1543
1519
  onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
1544
- otherProps = _objectWithoutProperties(_ref, _excluded$2);
1520
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
1545
1521
  var _useState = useState(""),
1546
1522
  _useState2 = _slicedToArray(_useState, 2),
1547
1523
  inputValue = _useState2[0],
@@ -1588,7 +1564,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1588
1564
  "data-cy": "".concat(hyphenize(label), "-input-label"),
1589
1565
  children: label
1590
1566
  })
1591
- }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$5({
1567
+ }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$3({
1592
1568
  isMulti: true,
1593
1569
  required: true,
1594
1570
  classNamePrefix: "neeto-ui-react-select",
@@ -1598,7 +1574,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1598
1574
  className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
1599
1575
  "neeto-ui-react-select__container--error": !!error
1600
1576
  }),
1601
- styles: _objectSpread$5(_objectSpread$5({}, CUSTOM_STYLES), {}, {
1577
+ styles: _objectSpread$3(_objectSpread$3({}, CUSTOM_STYLES), {}, {
1602
1578
  control: mergeLeft({
1603
1579
  maxHeight: "200px",
1604
1580
  overflowY: "auto"
@@ -1610,7 +1586,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1610
1586
  },
1611
1587
  onInputChange: setInputValue,
1612
1588
  onKeyDown: handleKeyDown
1613
- }, _objectSpread$5({
1589
+ }, _objectSpread$3({
1614
1590
  inputValue: inputValue,
1615
1591
  isFocused: isFocused,
1616
1592
  onChange: onChange,
@@ -1734,25 +1710,26 @@ var RestrictDomainsBlock = function RestrictDomainsBlock(_ref) {
1734
1710
  };
1735
1711
 
1736
1712
  var Email = function Email(_ref) {
1737
- var enableDomainWhitelisting = _ref.enableDomainWhitelisting,
1738
- enableDomainBlacklisting = _ref.enableDomainBlacklisting;
1713
+ var usesCustomSubmissionComponent = _ref.usesCustomSubmissionComponent;
1739
1714
  var _useFormikContext = useFormikContext(),
1740
1715
  _useFormikContext$val = _useFormikContext.values,
1741
1716
  _useFormikContext$val2 = _useFormikContext$val.isDomainWhitelistingEnabled,
1742
1717
  isDomainWhitelistingEnabled = _useFormikContext$val2 === void 0 ? false : _useFormikContext$val2,
1743
1718
  _useFormikContext$val3 = _useFormikContext$val.isDomainBlacklistingEnabled,
1744
1719
  isDomainBlacklistingEnabled = _useFormikContext$val3 === void 0 ? false : _useFormikContext$val3;
1745
- return /*#__PURE__*/jsxs("div", {
1746
- className: "flex flex-col space-y-4",
1747
- children: [enableDomainWhitelisting && /*#__PURE__*/jsx(RestrictDomainsBlock, {
1748
- domainName: "whitelistedDomains",
1749
- isDomainRestrictionEnabled: isDomainWhitelistingEnabled,
1750
- switchName: "isDomainWhitelistingEnabled"
1751
- }), enableDomainBlacklisting && /*#__PURE__*/jsx(RestrictDomainsBlock, {
1752
- domainName: "blacklistedDomains",
1753
- isDomainRestrictionEnabled: isDomainBlacklistingEnabled,
1754
- switchName: "isDomainBlacklistingEnabled"
1755
- })]
1720
+ return /*#__PURE__*/jsx("div", {
1721
+ className: "flex flex-col",
1722
+ children: !usesCustomSubmissionComponent && /*#__PURE__*/jsxs(Fragment, {
1723
+ children: [/*#__PURE__*/jsx(RestrictDomainsBlock, {
1724
+ domainName: "whitelistedDomains",
1725
+ isDomainRestrictionEnabled: isDomainWhitelistingEnabled,
1726
+ switchName: "isDomainWhitelistingEnabled"
1727
+ }), /*#__PURE__*/jsx(RestrictDomainsBlock, {
1728
+ domainName: "blacklistedDomains",
1729
+ isDomainRestrictionEnabled: isDomainBlacklistingEnabled,
1730
+ switchName: "isDomainBlacklistingEnabled"
1731
+ })]
1732
+ })
1756
1733
  });
1757
1734
  };
1758
1735
 
@@ -1840,8 +1817,8 @@ var FileUpload = function FileUpload() {
1840
1817
  });
1841
1818
  };
1842
1819
 
1843
- function ownKeys$4(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; }
1844
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1820
+ 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; }
1821
+ 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; }
1845
1822
  var Options = function Options(_ref) {
1846
1823
  var questionProps = _ref.questionProps;
1847
1824
  var _useTranslation = useTranslation(),
@@ -1873,7 +1850,7 @@ var Options = function Options(_ref) {
1873
1850
  var isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;
1874
1851
  return /*#__PURE__*/jsxs("div", {
1875
1852
  className: "w-full",
1876
- children: [/*#__PURE__*/jsx(Label, _objectSpread$4(_objectSpread$4({
1853
+ children: [/*#__PURE__*/jsx(Label, _objectSpread$2(_objectSpread$2({
1877
1854
  className: "mb-2 block"
1878
1855
  }, optionLabelProps), {}, {
1879
1856
  children: t("neetoForm.questions.common.questionFields.field.options")
@@ -1999,8 +1976,7 @@ var transformValueForOption = function transformValueForOption(_ref) {
1999
1976
  var renderAdditionalData = function renderAdditionalData(_ref2) {
2000
1977
  var kind = _ref2.kind,
2001
1978
  questionProps = _ref2.questionProps,
2002
- enableDomainWhitelisting = _ref2.enableDomainWhitelisting,
2003
- enableDomainBlacklisting = _ref2.enableDomainBlacklisting;
1979
+ usesCustomSubmissionComponent = _ref2.usesCustomSubmissionComponent;
2004
1980
  switch (kind) {
2005
1981
  case CHECKBOX:
2006
1982
  case RADIO:
@@ -2017,10 +1993,9 @@ var renderAdditionalData = function renderAdditionalData(_ref2) {
2017
1993
  case CAPTCHA:
2018
1994
  return /*#__PURE__*/jsx(Captcha, {});
2019
1995
  case EMAIL:
2020
- return enableDomainWhitelisting || enableDomainBlacklisting ? /*#__PURE__*/jsx(Email, {
2021
- enableDomainBlacklisting: enableDomainBlacklisting,
2022
- enableDomainWhitelisting: enableDomainWhitelisting
2023
- }) : null;
1996
+ return !usesCustomSubmissionComponent && /*#__PURE__*/jsx(Email, {
1997
+ usesCustomSubmissionComponent: usesCustomSubmissionComponent
1998
+ });
2024
1999
  default:
2025
2000
  return null;
2026
2001
  }
@@ -2091,23 +2066,23 @@ var readOnlySwitchLabelProps = function readOnlySwitchLabelProps(helpUrl) {
2091
2066
  };
2092
2067
  };
2093
2068
 
2094
- var _excluded$1 = ["isOpen", "onClose", "action", "question", "availableQuestionKinds"];
2095
- function ownKeys$3(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; }
2096
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2069
+ var _excluded = ["isOpen", "onClose", "action", "question", "availableQuestionKinds"];
2070
+ 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; }
2071
+ 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; }
2097
2072
  var ManageQuestionPane = function ManageQuestionPane(_ref) {
2098
2073
  var isOpen = _ref.isOpen,
2099
2074
  onClose = _ref.onClose,
2100
2075
  action = _ref.action,
2101
2076
  question = _ref.question,
2102
2077
  availableQuestionKinds = _ref.availableQuestionKinds,
2103
- props = _objectWithoutProperties(_ref, _excluded$1);
2078
+ props = _objectWithoutProperties(_ref, _excluded);
2104
2079
  var initialFocusRef = useRef(null);
2105
2080
  var Component = resolveActionComponent(action);
2106
2081
  return /*#__PURE__*/jsx(Pane, {
2107
2082
  initialFocusRef: initialFocusRef,
2108
2083
  isOpen: isOpen,
2109
2084
  onClose: onClose,
2110
- children: /*#__PURE__*/jsx(Component, _objectSpread$3({}, _objectSpread$3({
2085
+ children: /*#__PURE__*/jsx(Component, _objectSpread$1({}, _objectSpread$1({
2111
2086
  availableQuestionKinds: availableQuestionKinds,
2112
2087
  initialFocusRef: initialFocusRef,
2113
2088
  isOpen: isOpen,
@@ -2117,36 +2092,36 @@ var ManageQuestionPane = function ManageQuestionPane(_ref) {
2117
2092
  });
2118
2093
  };
2119
2094
 
2120
- 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; }
2121
- 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; }
2095
+ 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; }
2096
+ 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; }
2122
2097
  var AddQuestion = function AddQuestion(_ref) {
2123
2098
  var onAdd = _ref.onAdd,
2124
2099
  disabledAddButtonTooltipProps = _ref.disabledAddButtonTooltipProps,
2125
- isDisabled = _ref.isDisabled;
2100
+ isDisabled = _ref.isDisabled,
2101
+ addQuestionHelpProps = _ref.addQuestionHelpProps;
2126
2102
  var tooltipProps = buildDisabledAddButtonTooltipProps(isDisabled, disabledAddButtonTooltipProps);
2127
- return /*#__PURE__*/jsx(Tooltip, _objectSpread$2(_objectSpread$2({}, tooltipProps), {}, {
2128
- children: /*#__PURE__*/jsx("span", {
2129
- children: /*#__PURE__*/jsx(Button, _objectSpread$2({}, buildAddQuestionButtonProps(onAdd, isDisabled)))
2130
- })
2131
- }));
2103
+ return /*#__PURE__*/jsxs("div", {
2104
+ className: "mb-8 flex w-full items-center gap-x-1",
2105
+ children: [/*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({}, tooltipProps), {}, {
2106
+ children: /*#__PURE__*/jsx("span", {
2107
+ children: /*#__PURE__*/jsx(Button, _objectSpread({}, buildAddQuestionButtonProps(onAdd, isDisabled)))
2108
+ })
2109
+ })), isPresent(addQuestionHelpProps) && /*#__PURE__*/jsx("span", {
2110
+ children: /*#__PURE__*/jsx(HelpPopover, _objectSpread({}, addQuestionHelpProps))
2111
+ })]
2112
+ });
2132
2113
  };
2133
2114
 
2134
- var _excluded = ["questionKinds", "onValueChange", "formId", "isDeletable", "isRequiredField", "submitButtonProps", "cancelButtonProps", "isKindAlreadyActive", "getActiveKindDetails", "isDisabledFieldLabel", "disabledAddButtonTooltipProps", "enableFieldCode", "isFormEnabled", "savedTitle", "formTitle", "formDescription", "selectedLanguage", "availableLanguages", "onLanguageChange", "additionalActionOptions", "isReordering", "additionalQuestionKindPattern", "showActionBlock", "showReadOnlySwitch", "showResponseVisibleOnlyToHostSwitch", "buildRequestArgs", "enableDomainBlacklisting", "enableDomainWhitelisting", "helpDocUrls", "hostSpecificData", "questionsHelpProps", "isUsingDefaultQuestionKinds", "usesCustomSubmissionComponent"];
2135
- 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; }
2136
- 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; }
2137
2115
  var Form = function Form(_ref) {
2138
2116
  var questionKinds = _ref.questionKinds,
2139
2117
  onValueChange = _ref.onValueChange,
2140
2118
  formId = _ref.formId,
2141
2119
  isDeletable = _ref.isDeletable,
2142
2120
  isRequiredField = _ref.isRequiredField,
2143
- submitButtonProps = _ref.submitButtonProps,
2144
- cancelButtonProps = _ref.cancelButtonProps,
2145
2121
  isKindAlreadyActive = _ref.isKindAlreadyActive,
2146
2122
  getActiveKindDetails = _ref.getActiveKindDetails,
2147
2123
  isDisabledFieldLabel = _ref.isDisabledFieldLabel,
2148
2124
  disabledAddButtonTooltipProps = _ref.disabledAddButtonTooltipProps,
2149
- enableFieldCode = _ref.enableFieldCode,
2150
2125
  isFormEnabled = _ref.isFormEnabled,
2151
2126
  savedTitle = _ref.savedTitle,
2152
2127
  formTitle = _ref.formTitle,
@@ -2155,25 +2130,21 @@ var Form = function Form(_ref) {
2155
2130
  availableLanguages = _ref.availableLanguages,
2156
2131
  onLanguageChange = _ref.onLanguageChange,
2157
2132
  additionalActionOptions = _ref.additionalActionOptions,
2158
- isReordering = _ref.isReordering,
2159
- additionalQuestionKindPattern = _ref.additionalQuestionKindPattern,
2160
- showActionBlock = _ref.showActionBlock,
2161
- showReadOnlySwitch = _ref.showReadOnlySwitch,
2162
- showResponseVisibleOnlyToHostSwitch = _ref.showResponseVisibleOnlyToHostSwitch,
2163
- buildRequestArgs = _ref.buildRequestArgs,
2164
- enableDomainBlacklisting = _ref.enableDomainBlacklisting,
2165
- enableDomainWhitelisting = _ref.enableDomainWhitelisting,
2133
+ kindUniqueOn = _ref.kindUniqueOn,
2166
2134
  helpDocUrls = _ref.helpDocUrls,
2167
2135
  hostSpecificData = _ref.hostSpecificData,
2168
- questionsHelpProps = _ref.questionsHelpProps,
2136
+ addQuestionHelpProps = _ref.addQuestionHelpProps,
2169
2137
  isUsingDefaultQuestionKinds = _ref.isUsingDefaultQuestionKinds,
2170
2138
  usesCustomSubmissionComponent = _ref.usesCustomSubmissionComponent,
2171
- formDomProps = _objectWithoutProperties(_ref, _excluded);
2139
+ questionsFromCache = _ref.questionsFromCache,
2140
+ onMutateSuccess = _ref.onMutateSuccess,
2141
+ advancedFeatures = _ref.advancedFeatures;
2172
2142
  var containerRef = useRef();
2173
- var _useTranslation = useTranslation(),
2174
- t = _useTranslation.t;
2175
- var formikContext = useFormikContext();
2176
- var _useState = useState(null),
2143
+ var _useStateWithDependen = useStateWithDependency(questionsFromCache),
2144
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
2145
+ questions = _useStateWithDependen2[0],
2146
+ setQuestions = _useStateWithDependen2[1];
2147
+ var _useState = useState({}),
2177
2148
  _useState2 = _slicedToArray(_useState, 2),
2178
2149
  selectedQuestion = _useState2[0],
2179
2150
  setSelectedQuestion = _useState2[1];
@@ -2193,43 +2164,57 @@ var Form = function Form(_ref) {
2193
2164
  _useState10 = _slicedToArray(_useState9, 2),
2194
2165
  isManageQuestionPaneOpen = _useState10[0],
2195
2166
  setIsManageQuestionPaneOpen = _useState10[1];
2196
- var values = formikContext.values,
2197
- setFieldValue = formikContext.setFieldValue,
2198
- dirty = formikContext.dirty,
2199
- isSubmitting = formikContext.isSubmitting,
2200
- isValid = formikContext.isValid,
2201
- errors = formikContext.errors,
2202
- submitForm = formikContext.submitForm,
2203
- resetForm = formikContext.resetForm;
2204
2167
  var setFormData = useBuildFormStore(prop("setFormData"));
2205
2168
  var _useCreateQuestion = useCreateQuestion(formId, selectedLanguage, {
2206
- onSuccess: showThumbsUpToastr
2169
+ onSuccess: function onSuccess() {
2170
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2171
+ args[_key] = arguments[_key];
2172
+ }
2173
+ onMutateSuccess === null || onMutateSuccess === void 0 || onMutateSuccess.apply(void 0, [QUESTION_ACTIONS.CLONE].concat(args));
2174
+ showThumbsUpToastr();
2175
+ }
2207
2176
  }),
2208
2177
  createQuestion = _useCreateQuestion.mutate;
2178
+ var _useReorderQuestions = useReorderQuestions(formId, selectedLanguage, {
2179
+ onSuccess: function onSuccess() {
2180
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2181
+ args[_key2] = arguments[_key2];
2182
+ }
2183
+ onMutateSuccess === null || onMutateSuccess === void 0 || onMutateSuccess.apply(void 0, [QUESTION_ACTIONS.REORDER].concat(args));
2184
+ setFormData({
2185
+ isReorderingQuestions: false
2186
+ });
2187
+ }
2188
+ }),
2189
+ reorderQuestions = _useReorderQuestions.mutate;
2190
+ var debouncedReorderQuestions = useFuncDebounce(reorderQuestions, 1000);
2191
+ var handleReorder = function handleReorder(questions) {
2192
+ var payload = {
2193
+ neetoFormQuestions: {
2194
+ questions: buildReorderPayload(questions)
2195
+ },
2196
+ language: selectedLanguage
2197
+ };
2198
+ setFormData({
2199
+ isReorderingQuestions: true
2200
+ });
2201
+ debouncedReorderQuestions(payload);
2202
+ };
2209
2203
  useEffect(function () {
2210
2204
  setFormData({
2211
2205
  formId: formId,
2212
2206
  enabled: isFormEnabled,
2213
2207
  title: savedTitle,
2214
- values: values,
2215
- dirty: dirty,
2216
- isSubmitting: isSubmitting,
2217
- isValid: isValid,
2218
- errors: errors,
2219
- submitForm: submitForm,
2220
- resetForm: resetForm,
2221
2208
  selectedLanguage: selectedLanguage,
2222
2209
  helpDocUrls: helpDocUrls,
2223
- enableDomainBlacklisting: enableDomainBlacklisting,
2224
- enableDomainWhitelisting: enableDomainWhitelisting,
2225
2210
  isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds,
2226
- showReadOnlySwitch: showReadOnlySwitch,
2227
- showResponseVisibleOnlyToHostSwitch: showResponseVisibleOnlyToHostSwitch,
2228
2211
  usesCustomSubmissionComponent: usesCustomSubmissionComponent,
2229
- hostSpecificData: hostSpecificData
2212
+ hostSpecificData: hostSpecificData,
2213
+ onMutateSuccess: onMutateSuccess,
2214
+ advancedFeatures: advancedFeatures,
2215
+ onLanguageChange: onLanguageChange
2230
2216
  });
2231
- }, [formId, isFormEnabled, savedTitle, setFormData, values, dirty, isSubmitting, isValid, errors, submitForm, resetForm, selectedLanguage, helpDocUrls, enableDomainBlacklisting, enableDomainWhitelisting, isUsingDefaultQuestionKinds, showReadOnlySwitch, showResponseVisibleOnlyToHostSwitch, usesCustomSubmissionComponent, hostSpecificData]);
2232
- var questions = values.questions;
2217
+ }, [formId, isFormEnabled, savedTitle, setFormData, selectedLanguage, helpDocUrls, isUsingDefaultQuestionKinds, usesCustomSubmissionComponent, hostSpecificData, onMutateSuccess, advancedFeatures, onLanguageChange]);
2233
2218
  var handleSelect = function handleSelect(question) {
2234
2219
  setSelectedQuestion(question);
2235
2220
  };
@@ -2251,10 +2236,10 @@ var Form = function Form(_ref) {
2251
2236
  var attributes = mergeLeft({
2252
2237
  displayOrder: displayOrder
2253
2238
  }, values);
2254
- var payload = _objectSpread$1({
2239
+ var payload = {
2255
2240
  language: selectedLanguage,
2256
2241
  neetoFormQuestion: formatQuestionAttributesForClone(attributes)
2257
- }, buildRequestArgs);
2242
+ };
2258
2243
  createQuestion(payload, {
2259
2244
  onSuccess: function onSuccess(_ref2) {
2260
2245
  var questions = _ref2.questions;
@@ -2273,7 +2258,7 @@ var Form = function Form(_ref) {
2273
2258
  }
2274
2259
  };
2275
2260
  useOnClickOutside(containerRef, function () {
2276
- return handleSelect(null);
2261
+ return handleSelect({});
2277
2262
  }, {
2278
2263
  enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen)
2279
2264
  });
@@ -2285,22 +2270,6 @@ var Form = function Form(_ref) {
2285
2270
  activeQuestions: questions,
2286
2271
  isKindAlreadyActive: isKindAlreadyActive
2287
2272
  });
2288
- var hasActiveQuestions = questions && questions.length && questions.some(function (question) {
2289
- return question._destroy !== true;
2290
- });
2291
- var handleLanguageChange = function handleLanguageChange(code) {
2292
- resetForm();
2293
- onLanguageChange(code);
2294
- };
2295
- var richTextQuestions = filterBy({
2296
- kind: includes(__, RICH_TEXT_QUESTIONS)
2297
- }, questions);
2298
- var resetFormData = function resetFormData() {
2299
- resetForm();
2300
- setFormData({
2301
- richTextFieldsToReset: pluck("fieldCode", richTextQuestions)
2302
- });
2303
- };
2304
2273
  return /*#__PURE__*/jsxs(Fragment, {
2305
2274
  children: [/*#__PURE__*/jsx(DeleteAlert, {
2306
2275
  handleSelect: handleSelect,
@@ -2316,20 +2285,16 @@ var Form = function Form(_ref) {
2316
2285
  onClose: function onClose() {
2317
2286
  return setIsDeleteSmsReminderModalOpen(false);
2318
2287
  }
2319
- }), /*#__PURE__*/jsxs(Form$3, _objectSpread$1(_objectSpread$1({
2320
- className: "neeto-form-nano-form-wrapper flex h-full flex-col"
2321
- }, formDomProps), {}, {
2322
- noValidate: true,
2288
+ }), /*#__PURE__*/jsxs("div", {
2289
+ className: "neeto-form-nano-form-wrapper flex h-full flex-col",
2323
2290
  children: [formTitle && /*#__PURE__*/jsx(Overview, {
2324
2291
  additionalActionOptions: additionalActionOptions,
2325
2292
  availableLanguages: availableLanguages,
2326
- selectedLanguage: selectedLanguage,
2327
2293
  description: formDescription,
2328
- title: formTitle,
2329
- onLanguageChange: handleLanguageChange
2294
+ title: formTitle
2330
2295
  }), /*#__PURE__*/jsx("div", {
2331
2296
  className: "neeto-form-nano-form-wrapper__body min-h-0 w-full flex-grow space-y-6 overflow-y-auto pb-6",
2332
- children: hasActiveQuestions ? /*#__PURE__*/jsxs("div", {
2297
+ children: isPresent(questions) ? /*#__PURE__*/jsxs("div", {
2333
2298
  className: "space-y-6",
2334
2299
  ref: containerRef,
2335
2300
  children: [/*#__PURE__*/jsx(DragDropContext, {
@@ -2340,7 +2305,10 @@ var Form = function Form(_ref) {
2340
2305
  source: source,
2341
2306
  destination: destination,
2342
2307
  items: questions,
2343
- setValue: setFieldValue
2308
+ setValue: function setValue(orderedQuestions) {
2309
+ setQuestions(orderedQuestions);
2310
+ handleReorder(orderedQuestions);
2311
+ }
2344
2312
  });
2345
2313
  },
2346
2314
  children: /*#__PURE__*/jsx(Questions, {
@@ -2354,40 +2322,27 @@ var Form = function Form(_ref) {
2354
2322
  onEdit: handleEdit,
2355
2323
  onSelect: handleSelect
2356
2324
  })
2357
- }), /*#__PURE__*/jsxs("div", {
2325
+ }), /*#__PURE__*/jsx("div", {
2358
2326
  className: "mb-8 flex w-full items-center gap-x-1",
2359
- children: [/*#__PURE__*/jsx(AddQuestion, {
2327
+ children: /*#__PURE__*/jsx(AddQuestion, {
2328
+ addQuestionHelpProps: addQuestionHelpProps,
2360
2329
  disabledAddButtonTooltipProps: disabledAddButtonTooltipProps,
2361
2330
  isDisabled: isEmpty(availableQuestionKinds),
2362
2331
  onAdd: handleAdd
2363
- }), isPresent(questionsHelpProps) && /*#__PURE__*/jsx("span", {
2364
- children: /*#__PURE__*/jsx(HelpPopover, _objectSpread$1({}, questionsHelpProps))
2365
- })]
2332
+ })
2366
2333
  })]
2367
2334
  }) : /*#__PURE__*/jsx(AddFirstQuestion, {
2368
2335
  disabledAddButtonTooltipProps: disabledAddButtonTooltipProps,
2369
2336
  isDisabled: isEmpty(availableQuestionKinds),
2370
2337
  onAdd: handleAdd
2371
2338
  })
2372
- }), (showActionBlock || dirty) && /*#__PURE__*/jsx("div", {
2373
- className: "neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer neeto-ui-bg-white sticky bottom-0 flex flex-shrink-0 justify-end border-t px-6 py-4",
2374
- children: /*#__PURE__*/jsx(ActionBlock, {
2375
- submitButtonProps: submitButtonProps,
2376
- isSubmitting: isReordering,
2377
- cancelButtonProps: _objectSpread$1({
2378
- label: t("neetoForm.common.reset"),
2379
- onClick: resetFormData
2380
- }, cancelButtonProps)
2381
- })
2382
2339
  }), /*#__PURE__*/jsx(ManageQuestionPane, {
2383
- additionalQuestionKindPattern: additionalQuestionKindPattern,
2384
2340
  availableQuestionKinds: availableQuestionKinds,
2385
- buildRequestArgs: buildRequestArgs,
2386
- enableFieldCode: enableFieldCode,
2387
2341
  getActiveKindDetails: getActiveKindDetails,
2388
2342
  handleSelect: handleSelect,
2389
2343
  isDisabledFieldLabel: isDisabledFieldLabel,
2390
2344
  isRequiredField: isRequiredField,
2345
+ kindUniqueOn: kindUniqueOn,
2391
2346
  questions: questions,
2392
2347
  action: selectedAction,
2393
2348
  allQuestionKinds: questionKinds,
@@ -2397,75 +2352,49 @@ var Form = function Form(_ref) {
2397
2352
  return setIsManageQuestionPaneOpen(false);
2398
2353
  }
2399
2354
  })]
2400
- }))]
2355
+ })]
2401
2356
  });
2402
2357
  };
2403
2358
 
2404
- 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; }
2405
- 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; }
2406
2359
  var BuildForm = function BuildForm(_ref) {
2407
2360
  var id = _ref.id,
2408
- onUpdate = _ref.onUpdate,
2409
- buildRequestArgs = _ref.buildRequestArgs,
2410
- _ref$nonRemovableFiel = _ref.nonRemovableFields,
2411
- nonRemovableFields = _ref$nonRemovableFiel === void 0 ? [] : _ref$nonRemovableFiel,
2412
- _ref$requiredFields = _ref.requiredFields,
2413
- requiredFields = _ref$requiredFields === void 0 ? [] : _ref$requiredFields,
2414
- formDomProps = _ref.formDomProps,
2415
- _ref$showActionBlock = _ref.showActionBlock,
2416
- showActionBlock = _ref$showActionBlock === void 0 ? false : _ref$showActionBlock,
2417
- submitButtonProps = _ref.submitButtonProps,
2418
- cancelButtonProps = _ref.cancelButtonProps,
2419
2361
  questionKinds = _ref.questionKinds,
2420
2362
  _ref$isKindAlreadyAct = _ref.isKindAlreadyActive,
2421
2363
  isKindAlreadyActive = _ref$isKindAlreadyAct === void 0 ? isQuestionKindAlreadyActive : _ref$isKindAlreadyAct,
2422
2364
  _ref$getActiveKindDet = _ref.getActiveKindDetails,
2423
2365
  getActiveKindDetails = _ref$getActiveKindDet === void 0 ? getActiveQuestionKindDetails : _ref$getActiveKindDet,
2424
- isQuestionDeletable = _ref.isQuestionDeletable,
2425
- isFieldRequired = _ref.isFieldRequired,
2366
+ kindUniqueOn = _ref.kindUniqueOn,
2367
+ _ref$isQuestionDeleta = _ref.isQuestionDeletable,
2368
+ isQuestionDeletable = _ref$isQuestionDeleta === void 0 ? T : _ref$isQuestionDeleta,
2369
+ _ref$isFieldRequired = _ref.isFieldRequired,
2370
+ isFieldRequired = _ref$isFieldRequired === void 0 ? F : _ref$isFieldRequired,
2426
2371
  isFieldLabelDisabled = _ref.isFieldLabelDisabled,
2427
- _ref$showLoader = _ref.showLoader,
2428
- showLoader = _ref$showLoader === void 0 ? false : _ref$showLoader,
2429
- _ref$kindUniqueOn = _ref.kindUniqueOn,
2430
- kindUniqueOn = _ref$kindUniqueOn === void 0 ? ["type"] : _ref$kindUniqueOn,
2431
- _ref$allowAdditionalG = _ref.allowAdditionalGuests,
2432
- allowAdditionalGuests = _ref$allowAdditionalG === void 0 ? false : _ref$allowAdditionalG,
2433
- disabledAddButtonTooltipProps = _ref.disabledAddButtonTooltipProps,
2434
- _ref$enableFieldCode = _ref.enableFieldCode,
2435
- enableFieldCode = _ref$enableFieldCode === void 0 ? false : _ref$enableFieldCode,
2436
- _ref$availableLanguag = _ref.availableLanguages,
2437
- availableLanguages = _ref$availableLanguag === void 0 ? DEFAULT_AVAILABLE_LANGUAGES : _ref$availableLanguag,
2438
- formDescription = _ref.formDescription,
2439
2372
  _ref$formTitle = _ref.formTitle,
2440
2373
  formTitle = _ref$formTitle === void 0 ? "" : _ref$formTitle,
2374
+ formDescription = _ref.formDescription,
2375
+ _ref$availableLanguag = _ref.availableLanguages,
2376
+ availableLanguages = _ref$availableLanguag === void 0 ? DEFAULT_AVAILABLE_LANGUAGES : _ref$availableLanguag,
2441
2377
  _ref$selectedLanguage = _ref.selectedLanguage,
2442
2378
  selectedLanguage = _ref$selectedLanguage === void 0 ? "en" : _ref$selectedLanguage,
2443
2379
  _ref$onLanguageChange = _ref.onLanguageChange,
2444
2380
  onLanguageChange = _ref$onLanguageChange === void 0 ? noop : _ref$onLanguageChange,
2381
+ _ref$addQuestionHelpP = _ref.addQuestionHelpProps,
2382
+ addQuestionHelpProps = _ref$addQuestionHelpP === void 0 ? {} : _ref$addQuestionHelpP,
2383
+ disabledAddButtonTooltipProps = _ref.disabledAddButtonTooltipProps,
2445
2384
  _ref$additionalAction = _ref.additionalActionOptions,
2446
2385
  additionalActionOptions = _ref$additionalAction === void 0 ? [] : _ref$additionalAction,
2447
- additionalQuestionKindPattern = _ref.additionalQuestionKindPattern,
2448
- _ref$enableDomainBlac = _ref.enableDomainBlacklisting,
2449
- enableDomainBlacklisting = _ref$enableDomainBlac === void 0 ? true : _ref$enableDomainBlac,
2450
- _ref$enableDomainWhit = _ref.enableDomainWhitelisting,
2451
- enableDomainWhitelisting = _ref$enableDomainWhit === void 0 ? true : _ref$enableDomainWhit,
2386
+ _ref$allowAdditionalG = _ref.allowAdditionalGuests,
2387
+ allowAdditionalGuests = _ref$allowAdditionalG === void 0 ? false : _ref$allowAdditionalG,
2388
+ _ref$advancedFeatures = _ref.advancedFeatures,
2389
+ advancedFeatures = _ref$advancedFeatures === void 0 ? DEFAULT_ADVANCED_FEATURES : _ref$advancedFeatures,
2452
2390
  helpDocUrls = _ref.helpDocUrls,
2453
2391
  className = _ref.className,
2454
- _ref$questionsHelpPro = _ref.questionsHelpProps,
2455
- questionsHelpProps = _ref$questionsHelpPro === void 0 ? {} : _ref$questionsHelpPro,
2456
- hostSpecificData = _ref.hostSpecificData,
2457
- _ref$showReadOnlySwit = _ref.showReadOnlySwitch,
2458
- showReadOnlySwitch = _ref$showReadOnlySwit === void 0 ? false : _ref$showReadOnlySwit,
2459
- _ref$showResponseVisi = _ref.showResponseVisibleOnlyToHostSwitch,
2460
- showResponseVisibleOnlyToHostSwitch = _ref$showResponseVisi === void 0 ? false : _ref$showResponseVisi,
2461
2392
  _ref$usesCustomSubmis = _ref.usesCustomSubmissionComponent,
2462
- usesCustomSubmissionComponent = _ref$usesCustomSubmis === void 0 ? false : _ref$usesCustomSubmis;
2393
+ usesCustomSubmissionComponent = _ref$usesCustomSubmis === void 0 ? false : _ref$usesCustomSubmis,
2394
+ _ref$onMutateSuccess = _ref.onMutateSuccess,
2395
+ onMutateSuccess = _ref$onMutateSuccess === void 0 ? noop : _ref$onMutateSuccess,
2396
+ hostSpecificData = _ref.hostSpecificData;
2463
2397
  var queryClient = useQueryClient();
2464
- var _useReorderQuestions = useReorderQuestions(id, {
2465
- onSuccess: showThumbsUpToastr
2466
- }),
2467
- reorderQuestions = _useReorderQuestions.mutate,
2468
- isReordering = _useReorderQuestions.isPending;
2469
2398
  var _useForm = useForm({
2470
2399
  formId: id,
2471
2400
  language: selectedLanguage
@@ -2476,33 +2405,14 @@ var BuildForm = function BuildForm(_ref) {
2476
2405
  var _ref2 = data || QUESTIONS_INITIAL_VALUE,
2477
2406
  isFormEnabled = _ref2.enabled,
2478
2407
  savedTitle = _ref2.title,
2479
- questions = _ref2.questions,
2408
+ questionsFromCache = _ref2.questions,
2480
2409
  isQuestionsLoading = _ref2.isQuestionsLoading;
2481
- useEffect(function () {
2482
- if (data) {
2483
- onUpdate === null || onUpdate === void 0 || onUpdate(data);
2484
- }
2485
- }, [data]);
2486
- if (isLoading || showLoader && isQuestionsLoading && !isQuestionsPending) {
2410
+ if (isLoading || isQuestionsLoading && !isQuestionsPending) {
2487
2411
  return /*#__PURE__*/jsx("div", {
2488
2412
  className: "flex h-full w-full items-center justify-center py-6",
2489
2413
  children: /*#__PURE__*/jsx(PageLoader, {})
2490
2414
  });
2491
2415
  }
2492
- var handleSubmit = function handleSubmit(_ref3, _ref4) {
2493
- var questions = _ref3.questions;
2494
- var setSubmitting = _ref4.setSubmitting;
2495
- var payload = {
2496
- neetoFormQuestions: {
2497
- questions: buildReorderPayload(questions)
2498
- }
2499
- };
2500
- reorderQuestions(payload, {
2501
- onSettled: function onSettled() {
2502
- return setSubmitting(false);
2503
- }
2504
- });
2505
- };
2506
2416
  var onValueChange = function onValueChange(questions) {
2507
2417
  var _queryClient$getQuery = queryClient.getQueryState([QUERY_KEYS.QUESTIONS, id, selectedLanguage]),
2508
2418
  dataUpdateCount = _queryClient$getQuery.dataUpdateCount;
@@ -2510,13 +2420,7 @@ var BuildForm = function BuildForm(_ref) {
2510
2420
  queryClient.setQueryData([QUERY_KEYS.QUESTIONS, "preview/".concat(id), selectedLanguage], assoc("questions", questions));
2511
2421
  }
2512
2422
  };
2513
- var isDeletable = isQuestionDeletable !== null && isQuestionDeletable !== void 0 ? isQuestionDeletable : function (question) {
2514
- return !nonRemovableFields.includes(question.kind);
2515
- };
2516
- var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (_ref5) {
2517
- var kind = _ref5.kind;
2518
- return concat(MANDATORY_KINDS, requiredFields).includes(kind);
2519
- };
2423
+ var isRequiredField = either(isMandatoryField, isFieldRequired);
2520
2424
  var isDisabledFieldLabel = function isDisabledFieldLabel(field) {
2521
2425
  return isImmutableField(field) || (isFieldLabelDisabled !== null && isFieldLabelDisabled !== void 0 ? isFieldLabelDisabled : F)(field);
2522
2426
  };
@@ -2524,63 +2428,36 @@ var BuildForm = function BuildForm(_ref) {
2524
2428
  type: QUESTION_KIND.ADDITIONAL_GUESTS.value
2525
2429
  }, QUESTION_KINDS);
2526
2430
  var isUsingDefaultQuestionKinds = isNil(questionKinds);
2527
- return /*#__PURE__*/jsxs("div", {
2431
+ return /*#__PURE__*/jsx("div", {
2528
2432
  className: classnames("neeto-form-nano-form-outer-wrapper relative", className),
2529
- children: [/*#__PURE__*/jsx(Formik, {
2530
- enableReinitialize: true,
2531
- initialValues: {
2532
- questions: questions
2533
- },
2534
- onSubmit: handleSubmit,
2535
- children: function children(_ref6) {
2536
- var errors = _ref6.errors,
2537
- setFieldError = _ref6.setFieldError;
2538
- return /*#__PURE__*/jsx(Form, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, formDomProps), {}, {
2539
- additionalActionOptions: additionalActionOptions,
2540
- additionalQuestionKindPattern: additionalQuestionKindPattern,
2541
- availableLanguages: availableLanguages,
2542
- buildRequestArgs: buildRequestArgs,
2543
- cancelButtonProps: cancelButtonProps,
2544
- disabledAddButtonTooltipProps: disabledAddButtonTooltipProps,
2545
- enableDomainBlacklisting: enableDomainBlacklisting,
2546
- enableDomainWhitelisting: enableDomainWhitelisting,
2547
- enableFieldCode: enableFieldCode,
2548
- formDescription: formDescription,
2549
- formTitle: formTitle,
2550
- getActiveKindDetails: getActiveKindDetails,
2551
- helpDocUrls: helpDocUrls,
2552
- hostSpecificData: hostSpecificData,
2553
- isDeletable: isDeletable,
2554
- isDisabledFieldLabel: isDisabledFieldLabel,
2555
- isFormEnabled: isFormEnabled,
2556
- isKindAlreadyActive: isKindAlreadyActive,
2557
- isReordering: isReordering,
2558
- isRequiredField: isRequiredField,
2559
- isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds,
2560
- kindUniqueOn: kindUniqueOn,
2561
- onLanguageChange: onLanguageChange,
2562
- onValueChange: onValueChange,
2563
- questionsHelpProps: questionsHelpProps,
2564
- savedTitle: savedTitle,
2565
- selectedLanguage: selectedLanguage,
2566
- showActionBlock: showActionBlock,
2567
- showReadOnlySwitch: showReadOnlySwitch,
2568
- showResponseVisibleOnlyToHostSwitch: showResponseVisibleOnlyToHostSwitch,
2569
- submitButtonProps: submitButtonProps,
2570
- usesCustomSubmissionComponent: usesCustomSubmissionComponent
2571
- })), {}, {
2572
- formId: id,
2573
- questionKinds: isUsingDefaultQuestionKinds ? defaultQuestionKinds : questionKinds,
2574
- onChange: function onChange(event) {
2575
- if (isEmpty(errors)) return;
2576
- setFieldError(event.target.name);
2577
- }
2578
- }));
2579
- }
2580
- }), isQuestionsLoading && !isQuestionsPending && /*#__PURE__*/jsx("div", {
2581
- className: "neeto-ui-bg-white absolute inset-0 flex items-center justify-center",
2582
- children: /*#__PURE__*/jsx(PageLoader, {})
2583
- })]
2433
+ children: /*#__PURE__*/jsx(Form, {
2434
+ addQuestionHelpProps: addQuestionHelpProps,
2435
+ additionalActionOptions: additionalActionOptions,
2436
+ advancedFeatures: advancedFeatures,
2437
+ availableLanguages: availableLanguages,
2438
+ disabledAddButtonTooltipProps: disabledAddButtonTooltipProps,
2439
+ formDescription: formDescription,
2440
+ formTitle: formTitle,
2441
+ getActiveKindDetails: getActiveKindDetails,
2442
+ helpDocUrls: helpDocUrls,
2443
+ hostSpecificData: hostSpecificData,
2444
+ isDisabledFieldLabel: isDisabledFieldLabel,
2445
+ isFormEnabled: isFormEnabled,
2446
+ isKindAlreadyActive: isKindAlreadyActive,
2447
+ isRequiredField: isRequiredField,
2448
+ isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds,
2449
+ kindUniqueOn: kindUniqueOn,
2450
+ onLanguageChange: onLanguageChange,
2451
+ onMutateSuccess: onMutateSuccess,
2452
+ onValueChange: onValueChange,
2453
+ questionsFromCache: questionsFromCache,
2454
+ savedTitle: savedTitle,
2455
+ selectedLanguage: selectedLanguage,
2456
+ usesCustomSubmissionComponent: usesCustomSubmissionComponent,
2457
+ formId: id,
2458
+ isDeletable: isQuestionDeletable,
2459
+ questionKinds: isUsingDefaultQuestionKinds ? defaultQuestionKinds : questionKinds
2460
+ })
2584
2461
  });
2585
2462
  };
2586
2463