@bigbinary/neeto-form-frontend 3.2.2 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4,10 +4,10 @@ import React__default, { memo, useState, createElement, useRef, useEffect, useIm
4
4
  import { useQuery, useQueryClient, useMutation, keepPreviousData } from '@tanstack/react-query';
5
5
  import classnames from 'classnames';
6
6
  import { useFormikContext, useField, FieldArray, Form as Form$3, Formik, Field, FastField } from 'formik';
7
- import { filterNonNull, noop, findBy, toLabelAndValue, isPresent, truncate, slugify, filterBy, hyphenate, removeBy, isNotPresent, isNotEmpty, findById, getRandomInt, randomPick, notEqualsDeep } from '@bigbinary/neeto-cist';
8
- import { buildUrl, showThumbsUpToastr, withEventTargetValue, getQueryParams, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
7
+ import { filterNonNull, noop, findBy, toLabelAndValue, isPresent, truncate, slugify, filterBy, hyphenate, nullSafe, removeBy, isNotPresent, isNotEmpty, findById, getRandomInt, randomPick, notEqualsDeep } from '@bigbinary/neeto-cist';
8
+ import { buildUrl, showThumbsUpToastr, hyphenize, withEventTargetValue, getQueryParams, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
9
9
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
10
- import { assoc, mergeLeft, compose, isEmpty, trim, useWith, path, split, isNotNil, either, isNil, values, equals, modify, prop, range, includes, __, reduce, when, reject, keys, pick, omit, pluck, without, difference, pipe, last, concat, not, toLower, map, clamp, identity, filter } from 'ramda';
10
+ import { assoc, mergeLeft, compose, isEmpty, trim, useWith, path, split, isNotNil, either, isNil, values, equals, modify, prop, range, includes, __, reduce, when, reject, keys, pick, omit, pluck, without, pipe, filter, uniq, join, map, test, difference, last, concat, not, toLower, clamp, identity } from 'ramda';
11
11
  import i18next, { t as t$3 } from 'i18next';
12
12
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
13
13
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -40,19 +40,24 @@ import Accordion from '@bigbinary/neetoui/Accordion';
40
40
  import Input from '@bigbinary/neetoui/formik/Input';
41
41
  import * as yup from 'yup';
42
42
  import Radio from '@bigbinary/neetoui/formik/Radio';
43
+ import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
44
+ import Label from '@bigbinary/neetoui/Label';
45
+ import CreatableSelect from 'react-select/creatable';
46
+ import _toArray from '@babel/runtime/helpers/toArray';
47
+ import Close from '@bigbinary/neeto-icons/Close';
48
+ import Tag from '@bigbinary/neetoui/Tag';
49
+ import { components } from 'react-select';
50
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
51
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
43
52
  import Checkbox$1 from '@bigbinary/neetoui/formik/Checkbox';
44
53
  import Checkbox from '@bigbinary/neetoui/Checkbox';
45
54
  import Delete from '@bigbinary/neeto-icons/Delete';
46
55
  import Plus from '@bigbinary/neeto-icons/Plus';
47
- import Label from '@bigbinary/neetoui/Label';
48
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
49
- import _regeneratorRuntime from '@babel/runtime/regenerator';
50
56
  import useHotkeys from '@bigbinary/neeto-hotkeys';
51
57
  import Warning from '@bigbinary/neeto-icons/Warning';
52
58
  import Toastr from '@bigbinary/neetoui/Toastr';
53
59
  import Spinner$2 from '@bigbinary/neetoui/Spinner';
54
60
  import NeetoUICallout from '@bigbinary/neetoui/Callout';
55
- import Close from '@bigbinary/neeto-icons/Close';
56
61
  import Check from '@bigbinary/neeto-icons/Check';
57
62
  import dayjs from 'dayjs';
58
63
  import { parsePhoneNumber } from 'libphonenumber-js';
@@ -100,18 +105,18 @@ var SUBMISSIONS_URL = "".concat(FORM_URL, "/submissions");
100
105
  var SUBMISSION_URL = "".concat(SUBMISSIONS_URL, "/:submissionId");
101
106
  var PUBLIC_SUBMISSION_URL = "".concat(FORM_URL, "/public/submissions/:submissionId");
102
107
 
103
- var _excluded$e = ["size"],
108
+ var _excluded$h = ["size"],
104
109
  _excluded2$2 = ["size"],
105
110
  _excluded3$2 = ["size"],
106
111
  _excluded4$1 = ["size"],
107
112
  _excluded5$1 = ["size"];
108
- function ownKeys$z(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; }
109
- function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
113
+ 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; }
114
+ 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; }
110
115
  var Star = function Star(props) {
111
116
  var _props$size = props.size,
112
117
  size = _props$size === void 0 ? 20 : _props$size,
113
- other = _objectWithoutProperties(props, _excluded$e);
114
- return /*#__PURE__*/jsx("svg", _objectSpread$z(_objectSpread$z({
118
+ other = _objectWithoutProperties(props, _excluded$h);
119
+ return /*#__PURE__*/jsx("svg", _objectSpread$D(_objectSpread$D({
115
120
  fill: "none",
116
121
  height: size,
117
122
  stroke: "currentColor",
@@ -131,7 +136,7 @@ var Heart = function Heart(props) {
131
136
  var _props$size2 = props.size,
132
137
  size = _props$size2 === void 0 ? 20 : _props$size2,
133
138
  other = _objectWithoutProperties(props, _excluded2$2);
134
- return /*#__PURE__*/jsx("svg", _objectSpread$z(_objectSpread$z({
139
+ return /*#__PURE__*/jsx("svg", _objectSpread$D(_objectSpread$D({
135
140
  fill: "none",
136
141
  height: size,
137
142
  stroke: "currentColor",
@@ -151,7 +156,7 @@ var Zap = function Zap(props) {
151
156
  var _props$size3 = props.size,
152
157
  size = _props$size3 === void 0 ? 20 : _props$size3,
153
158
  other = _objectWithoutProperties(props, _excluded3$2);
154
- return /*#__PURE__*/jsx("svg", _objectSpread$z(_objectSpread$z({
159
+ return /*#__PURE__*/jsx("svg", _objectSpread$D(_objectSpread$D({
155
160
  fill: "none",
156
161
  height: size,
157
162
  stroke: "currentColor",
@@ -171,7 +176,7 @@ var Crown = function Crown(_ref) {
171
176
  var _ref$size = _ref.size,
172
177
  size = _ref$size === void 0 ? 20 : _ref$size,
173
178
  otherProps = _objectWithoutProperties(_ref, _excluded4$1);
174
- return /*#__PURE__*/jsx("svg", _objectSpread$z(_objectSpread$z({
179
+ return /*#__PURE__*/jsx("svg", _objectSpread$D(_objectSpread$D({
175
180
  fill: "none",
176
181
  height: size,
177
182
  stroke: "currentColor",
@@ -195,7 +200,7 @@ var Trophy = function Trophy(_ref2) {
195
200
  var _ref2$size = _ref2.size,
196
201
  size = _ref2$size === void 0 ? 20 : _ref2$size,
197
202
  otherProps = _objectWithoutProperties(_ref2, _excluded5$1);
198
- return /*#__PURE__*/jsxs("svg", _objectSpread$z(_objectSpread$z({
203
+ return /*#__PURE__*/jsxs("svg", _objectSpread$D(_objectSpread$D({
199
204
  fill: "none",
200
205
  height: size,
201
206
  stroke: "currentColor",
@@ -581,20 +586,20 @@ var handleQuestionMutationSuccess = function handleQuestionMutationSuccess(_ref)
581
586
  onSuccess === null || onSuccess === void 0 || onSuccess.apply(void 0, _toConsumableArray(args));
582
587
  };
583
588
 
584
- var _excluded$d = ["formId", "preview", "language"],
589
+ var _excluded$g = ["formId", "preview", "language"],
585
590
  _excluded2$1 = ["formId", "language"],
586
591
  _excluded3$1 = ["page", "pageSize"],
587
592
  _excluded5 = ["formId", "submissionId", "fetchPublicSubmission"];
588
- function ownKeys$y(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; }
589
- function _objectSpread$y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
593
+ 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; }
594
+ 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; }
590
595
  var useForm = function useForm(_ref) {
591
596
  var formId = _ref.formId,
592
597
  _ref$preview = _ref.preview,
593
598
  preview = _ref$preview === void 0 ? null : _ref$preview,
594
599
  _ref$language = _ref.language,
595
600
  language = _ref$language === void 0 ? i18next.resolvedLanguage : _ref$language,
596
- options = _objectWithoutProperties(_ref, _excluded$d);
597
- return useQuery(_objectSpread$y({
601
+ options = _objectWithoutProperties(_ref, _excluded$g);
602
+ return useQuery(_objectSpread$C({
598
603
  queryKey: [QUERY_KEYS.QUESTIONS, preview ? "preview/".concat(formId) : formId, language],
599
604
  queryFn: function queryFn() {
600
605
  return neetoFormApi.getPublicQuestions(formId, language);
@@ -607,7 +612,7 @@ var useFetchQuestions = function useFetchQuestions(_ref2) {
607
612
  _ref2$language = _ref2.language,
608
613
  language = _ref2$language === void 0 ? i18next.resolvedLanguage : _ref2$language,
609
614
  options = _objectWithoutProperties(_ref2, _excluded2$1);
610
- return useQuery(_objectSpread$y({
615
+ return useQuery(_objectSpread$C({
611
616
  queryKey: [QUERY_KEYS.QUESTIONS, formId, language],
612
617
  queryFn: function queryFn() {
613
618
  return neetoFormApi.getQuestions(formId, language);
@@ -618,7 +623,7 @@ var useFetchQuestions = function useFetchQuestions(_ref2) {
618
623
  var useCreateForm = function useCreateForm(options) {
619
624
  var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next.resolvedLanguage;
620
625
  var queryClient = useQueryClient();
621
- return useMutation(_objectSpread$y(_objectSpread$y({
626
+ return useMutation(_objectSpread$C(_objectSpread$C({
622
627
  mutationFn: neetoFormApi.createForm
623
628
  }, options), {}, {
624
629
  onSuccess: function onSuccess(form) {
@@ -638,7 +643,7 @@ var useCreateForm = function useCreateForm(options) {
638
643
  var useUpdateForm = function useUpdateForm(options) {
639
644
  var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next.resolvedLanguage;
640
645
  var queryClient = useQueryClient();
641
- return useMutation(_objectSpread$y(_objectSpread$y({
646
+ return useMutation(_objectSpread$C(_objectSpread$C({
642
647
  mutationFn: function mutationFn(_ref3) {
643
648
  var id = _ref3.id,
644
649
  values = _ref3.values;
@@ -668,7 +673,7 @@ var useUpdateForm = function useUpdateForm(options) {
668
673
  var useCreateQuestion = function useCreateQuestion(formId, language) {
669
674
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
670
675
  var queryClient = useQueryClient();
671
- return useMutation(_objectSpread$y(_objectSpread$y({
676
+ return useMutation(_objectSpread$C(_objectSpread$C({
672
677
  mutationFn: function mutationFn(payload) {
673
678
  return neetoFormApi.createQuestion(formId, filterNonNull(payload));
674
679
  }
@@ -690,7 +695,7 @@ var useCreateQuestion = function useCreateQuestion(formId, language) {
690
695
  var useUpdateQuestion = function useUpdateQuestion(formId, language) {
691
696
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
692
697
  var queryClient = useQueryClient();
693
- return useMutation(_objectSpread$y(_objectSpread$y({
698
+ return useMutation(_objectSpread$C(_objectSpread$C({
694
699
  mutationFn: function mutationFn(_ref5) {
695
700
  var questionId = _ref5.questionId,
696
701
  payload = _ref5.payload;
@@ -718,7 +723,7 @@ var useUpdateQuestion = function useUpdateQuestion(formId, language) {
718
723
  var useDeleteQuestion = function useDeleteQuestion(formId, language) {
719
724
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
720
725
  var queryClient = useQueryClient();
721
- return useMutation(_objectSpread$y(_objectSpread$y({
726
+ return useMutation(_objectSpread$C(_objectSpread$C({
722
727
  mutationFn: function mutationFn(questionId) {
723
728
  return neetoFormApi.deleteQuestion(formId, questionId);
724
729
  }
@@ -740,7 +745,7 @@ var useDeleteQuestion = function useDeleteQuestion(formId, language) {
740
745
  var useReorderQuestions = function useReorderQuestions(formId, language) {
741
746
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
742
747
  var queryClient = useQueryClient();
743
- return useMutation(_objectSpread$y(_objectSpread$y({
748
+ return useMutation(_objectSpread$C(_objectSpread$C({
744
749
  mutationFn: function mutationFn(payload) {
745
750
  return neetoFormApi.reorderQuestions(formId, filterNonNull(payload));
746
751
  }
@@ -766,7 +771,7 @@ var useForms = function useForms() {
766
771
  _ref6$pageSize = _ref6.pageSize,
767
772
  pageSize = _ref6$pageSize === void 0 ? DEFAULT_PAGE_SIZE : _ref6$pageSize,
768
773
  options = _objectWithoutProperties(_ref6, _excluded3$1);
769
- return useQuery(_objectSpread$y({
774
+ return useQuery(_objectSpread$C({
770
775
  queryKey: [QUERY_KEYS.FORMS, page],
771
776
  queryFn: function queryFn() {
772
777
  return neetoFormApi.getForms({
@@ -781,7 +786,7 @@ var useDeleteForm = function useDeleteForm(options) {
781
786
  return useMutationWithInvalidation(function (_ref7) {
782
787
  var id = _ref7.id;
783
788
  return neetoFormApi.destroyForm(id);
784
- }, _objectSpread$y(_objectSpread$y({}, options), {}, {
789
+ }, _objectSpread$C(_objectSpread$C({}, options), {}, {
785
790
  keysToInvalidate: [[QUERY_KEYS.FORMS], function (_, _ref8) {
786
791
  var id = _ref8.id;
787
792
  return [QUERY_KEYS.QUESTIONS, id];
@@ -800,7 +805,7 @@ var useSubmission = function useSubmission(_ref11) {
800
805
  _ref11$fetchPublicSub = _ref11.fetchPublicSubmission,
801
806
  fetchPublicSubmission = _ref11$fetchPublicSub === void 0 ? true : _ref11$fetchPublicSub,
802
807
  options = _objectWithoutProperties(_ref11, _excluded5);
803
- return useQuery(_objectSpread$y({
808
+ return useQuery(_objectSpread$C({
804
809
  queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],
805
810
  queryFn: function queryFn() {
806
811
  return fetchPublicSubmission ? neetoFormApi.getPublicSubmission(formId, submissionId) : neetoFormApi.getSubmission(formId, submissionId);
@@ -810,7 +815,7 @@ var useSubmission = function useSubmission(_ref11) {
810
815
  };
811
816
  var useCreateSubmission = function useCreateSubmission(options) {
812
817
  var queryClient = useQueryClient();
813
- return useMutation(_objectSpread$y(_objectSpread$y({
818
+ return useMutation(_objectSpread$C(_objectSpread$C({
814
819
  mutationFn: function mutationFn(_ref12) {
815
820
  var formId = _ref12.formId,
816
821
  values = _ref12.values;
@@ -837,7 +842,7 @@ var useCreateSubmission = function useCreateSubmission(options) {
837
842
  };
838
843
  var useUpdateSubmission = function useUpdateSubmission(options) {
839
844
  var queryClient = useQueryClient();
840
- return useMutation(_objectSpread$y(_objectSpread$y({
845
+ return useMutation(_objectSpread$C(_objectSpread$C({
841
846
  mutationFn: function mutationFn(_ref13) {
842
847
  var formId = _ref13.formId,
843
848
  values = _ref13.values;
@@ -985,17 +990,17 @@ var useBuildFormState = function useBuildFormState() {
985
990
  return useBuildFormStore(prop("formState"));
986
991
  };
987
992
 
988
- var _excluded$c = ["size", "color"],
993
+ var _excluded$f = ["size", "color"],
989
994
  _excluded2 = ["size", "color"],
990
995
  _excluded3 = ["size", "color"],
991
996
  _excluded4 = ["size", "color"];
992
- function ownKeys$x(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; }
993
- function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
997
+ 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; }
998
+ 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; }
994
999
  var BadSmiley = function BadSmiley(props) {
995
1000
  var size = props.size,
996
1001
  color = props.color,
997
- other = _objectWithoutProperties(props, _excluded$c);
998
- return /*#__PURE__*/jsxs("svg", _objectSpread$x(_objectSpread$x({
1002
+ other = _objectWithoutProperties(props, _excluded$f);
1003
+ return /*#__PURE__*/jsxs("svg", _objectSpread$B(_objectSpread$B({
999
1004
  fill: "none",
1000
1005
  height: size,
1001
1006
  viewBox: "0 0 48 48",
@@ -1019,7 +1024,7 @@ var OkaySmiley = function OkaySmiley(props) {
1019
1024
  var size = props.size,
1020
1025
  color = props.color,
1021
1026
  other = _objectWithoutProperties(props, _excluded2);
1022
- return /*#__PURE__*/jsxs("svg", _objectSpread$x(_objectSpread$x({
1027
+ return /*#__PURE__*/jsxs("svg", _objectSpread$B(_objectSpread$B({
1023
1028
  fill: "none",
1024
1029
  height: size,
1025
1030
  viewBox: "0 0 48 48",
@@ -1043,7 +1048,7 @@ var GoodSmiley = function GoodSmiley(props) {
1043
1048
  var size = props.size,
1044
1049
  color = props.color,
1045
1050
  other = _objectWithoutProperties(props, _excluded3);
1046
- return /*#__PURE__*/jsxs("svg", _objectSpread$x(_objectSpread$x({
1051
+ return /*#__PURE__*/jsxs("svg", _objectSpread$B(_objectSpread$B({
1047
1052
  fill: "none",
1048
1053
  height: size,
1049
1054
  viewBox: "0 0 48 48",
@@ -1067,7 +1072,7 @@ var Drag = function Drag(props) {
1067
1072
  var size = props.size,
1068
1073
  color = props.color,
1069
1074
  other = _objectWithoutProperties(props, _excluded4);
1070
- return /*#__PURE__*/jsxs("svg", _objectSpread$x(_objectSpread$x({
1075
+ return /*#__PURE__*/jsxs("svg", _objectSpread$B(_objectSpread$B({
1071
1076
  fill: "none",
1072
1077
  height: size,
1073
1078
  viewBox: "0 0 24 24",
@@ -1172,7 +1177,7 @@ var RATING_OPTIONS = [{
1172
1177
 
1173
1178
  var NAME$1 = QUESTION_TYPES.NAME,
1174
1179
  PHONE$1 = QUESTION_TYPES.PHONE,
1175
- EMAIL$1 = QUESTION_TYPES.EMAIL,
1180
+ EMAIL$2 = QUESTION_TYPES.EMAIL,
1176
1181
  ADDITIONAL_GUESTS$1 = QUESTION_TYPES.ADDITIONAL_GUESTS,
1177
1182
  TEXT$1 = QUESTION_TYPES.TEXT,
1178
1183
  TEXTAREA$1 = QUESTION_TYPES.TEXTAREA,
@@ -1194,7 +1199,7 @@ var DEFAULT_OPTIONS = new Array(MINIMUM_OPTIONS).fill({
1194
1199
  label: ""
1195
1200
  });
1196
1201
  var QUESTION_KINDS = [{
1197
- type: EMAIL$1,
1202
+ type: EMAIL$2,
1198
1203
  label: t$3("neetoForm.fields.eif"),
1199
1204
  isSingular: true,
1200
1205
  defaults: {
@@ -1620,8 +1625,8 @@ var Card = function Card(_ref) {
1620
1625
  });
1621
1626
  };
1622
1627
 
1623
- function ownKeys$w(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; }
1624
- function _objectSpread$w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$w(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1628
+ 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; }
1629
+ 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; }
1625
1630
  var Questions = function Questions(_ref) {
1626
1631
  var questions = _ref.questions,
1627
1632
  isDeletable = _ref.isDeletable,
@@ -1638,7 +1643,7 @@ var Questions = function Questions(_ref) {
1638
1643
  var droppableProps = _ref2.droppableProps,
1639
1644
  placeholder = _ref2.placeholder,
1640
1645
  innerRef = _ref2.innerRef;
1641
- return /*#__PURE__*/jsxs("div", _objectSpread$w(_objectSpread$w({}, droppableProps), {}, {
1646
+ return /*#__PURE__*/jsxs("div", _objectSpread$A(_objectSpread$A({}, droppableProps), {}, {
1642
1647
  className: "space-y-2",
1643
1648
  ref: innerRef,
1644
1649
  children: [questions.map(function (question, index) {
@@ -1651,7 +1656,7 @@ var Questions = function Questions(_ref) {
1651
1656
  var draggableProps = _ref3.draggableProps,
1652
1657
  dragHandleProps = _ref3.dragHandleProps,
1653
1658
  innerRef = _ref3.innerRef;
1654
- return /*#__PURE__*/jsx("div", _objectSpread$w(_objectSpread$w(_objectSpread$w({}, draggableProps), dragHandleProps), {}, {
1659
+ return /*#__PURE__*/jsx("div", _objectSpread$A(_objectSpread$A(_objectSpread$A({}, draggableProps), dragHandleProps), {}, {
1655
1660
  ref: innerRef,
1656
1661
  children: /*#__PURE__*/jsx(Card, {
1657
1662
  allQuestionKinds: allQuestionKinds,
@@ -1748,8 +1753,8 @@ var arrayHelpers = {
1748
1753
  moveItem: moveItem
1749
1754
  };
1750
1755
 
1751
- function ownKeys$v(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; }
1752
- function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1756
+ function ownKeys$z(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; }
1757
+ function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1753
1758
  var isChoiceQuestion = function isChoiceQuestion(question) {
1754
1759
  return includes(question === null || question === void 0 ? void 0 : question.kind, SELECTABLE_KINDS);
1755
1760
  };
@@ -1788,7 +1793,7 @@ var handleFieldDragEnd = function handleFieldDragEnd(_ref2) {
1788
1793
  var nextItems = _toConsumableArray(items);
1789
1794
  arrayHelpers.moveItem(nextItems, source.index, destination.index);
1790
1795
  var orderedItems = nextItems.map(function (item, index) {
1791
- return _objectSpread$v(_objectSpread$v({}, item), {}, {
1796
+ return _objectSpread$z(_objectSpread$z({}, item), {}, {
1792
1797
  displayOrder: index
1793
1798
  });
1794
1799
  });
@@ -1802,7 +1807,7 @@ var createFieldData = function createFieldData(_ref3) {
1802
1807
  _ref3$isRequired = _ref3.isRequired,
1803
1808
  isRequired = _ref3$isRequired === void 0 ? undefined : _ref3$isRequired,
1804
1809
  questions = _ref3.questions;
1805
- return _objectSpread$v(_objectSpread$v({}, defaults), {}, {
1810
+ return _objectSpread$z(_objectSpread$z({}, defaults), {}, {
1806
1811
  metadata: metadata,
1807
1812
  isRequired: isRequired,
1808
1813
  kind: type,
@@ -1826,7 +1831,7 @@ var duplicateFieldData = function duplicateFieldData(_ref4) {
1826
1831
  var newQuestionLabel = isRichTextQuestion(kind) ? label : t$3("neetoForm.common.clonedElementLabel", {
1827
1832
  label: label
1828
1833
  });
1829
- return _objectSpread$v(_objectSpread$v({}, defaultAttributes), {}, {
1834
+ return _objectSpread$z(_objectSpread$z({}, defaultAttributes), {}, {
1830
1835
  isRequired: isRequired,
1831
1836
  kind: kind,
1832
1837
  label: newQuestionLabel,
@@ -1896,7 +1901,7 @@ var AddFirstQuestion = function AddFirstQuestion(_ref) {
1896
1901
 
1897
1902
  var NAME = QUESTION_TYPES.NAME,
1898
1903
  PHONE = QUESTION_TYPES.PHONE,
1899
- EMAIL = QUESTION_TYPES.EMAIL,
1904
+ EMAIL$1 = QUESTION_TYPES.EMAIL,
1900
1905
  ADDITIONAL_GUESTS = QUESTION_TYPES.ADDITIONAL_GUESTS,
1901
1906
  TEXT = QUESTION_TYPES.TEXT,
1902
1907
  TEXTAREA = QUESTION_TYPES.TEXTAREA,
@@ -1908,8 +1913,8 @@ var NAME = QUESTION_TYPES.NAME,
1908
1913
  DATE = QUESTION_TYPES.DATE,
1909
1914
  FILE_UPLOAD$1 = QUESTION_TYPES.FILE_UPLOAD,
1910
1915
  CAPTCHA$1 = QUESTION_TYPES.CAPTCHA;
1911
- var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray(SELECTABLE_KINDS), [STAR_RATING$1, RATING$1, FILE_UPLOAD$1, CAPTCHA$1]);
1912
- var QUESTIONS_WITH_PLACEHOLDERS = [NAME, PHONE, EMAIL, ADDITIONAL_GUESTS, TEXT, TEXTAREA, RICH_TEXT, INTEGER, DECIMAL, DATE];
1916
+ var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray(SELECTABLE_KINDS), [STAR_RATING$1, RATING$1, FILE_UPLOAD$1, CAPTCHA$1, EMAIL$1]);
1917
+ var QUESTIONS_WITH_PLACEHOLDERS = [NAME, PHONE, EMAIL$1, ADDITIONAL_GUESTS, TEXT, TEXTAREA, RICH_TEXT, INTEGER, DECIMAL, DATE];
1913
1918
  var DEFAULT_PLACEHOLDERS = {
1914
1919
  CHECKBOX: t$3("neetoForm.questions.common.questionFields.field.labelExample", {
1915
1920
  what: t$3("neetoForm.common.hobbies")
@@ -1927,13 +1932,13 @@ var INITIAL_VALUES = {
1927
1932
  fieldCode: ""
1928
1933
  };
1929
1934
 
1930
- var _excluded$b = ["label", "name"];
1931
- function ownKeys$u(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; }
1932
- function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1935
+ var _excluded$e = ["label", "name"];
1936
+ function ownKeys$y(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; }
1937
+ function _objectSpread$y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1933
1938
  var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
1934
1939
  var label = _ref.label,
1935
1940
  name = _ref.name,
1936
- otherProps = _objectWithoutProperties(_ref, _excluded$b);
1941
+ otherProps = _objectWithoutProperties(_ref, _excluded$e);
1937
1942
  var _useFormikContext = useFormikContext(),
1938
1943
  dirty = _useFormikContext.dirty,
1939
1944
  isValid = _useFormikContext.isValid,
@@ -1948,7 +1953,7 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
1948
1953
  var end = element.value.length;
1949
1954
  element.setSelectionRange(end, end);
1950
1955
  };
1951
- return /*#__PURE__*/jsx(Textarea, _objectSpread$u({
1956
+ return /*#__PURE__*/jsx(Textarea, _objectSpread$y({
1952
1957
  label: label,
1953
1958
  name: name,
1954
1959
  className: "neeto-form-nano-adaptive-input",
@@ -2102,12 +2107,12 @@ var RequiredSwitch = withT(function (_ref) {
2102
2107
  });
2103
2108
  });
2104
2109
 
2105
- var _excluded$a = ["maxLength"];
2106
- function ownKeys$t(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; }
2107
- function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2110
+ var _excluded$d = ["maxLength"];
2111
+ function ownKeys$x(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; }
2112
+ function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2108
2113
  var InputWithMaxLength = function InputWithMaxLength(_ref) {
2109
2114
  var maxLength = _ref.maxLength,
2110
- props = _objectWithoutProperties(_ref, _excluded$a);
2115
+ props = _objectWithoutProperties(_ref, _excluded$d);
2111
2116
  var _useField = useField(props),
2112
2117
  _useField2 = _slicedToArray(_useField, 3),
2113
2118
  value = _useField2[0].value,
@@ -2118,7 +2123,7 @@ var InputWithMaxLength = function InputWithMaxLength(_ref) {
2118
2123
  }
2119
2124
  }, [value, maxLength, setValue]);
2120
2125
  var shouldShowMaxLength = value && value.length > maxLength - 10;
2121
- return /*#__PURE__*/jsx(Input, _objectSpread$t(_objectSpread$t({}, props), shouldShowMaxLength && {
2126
+ return /*#__PURE__*/jsx(Input, _objectSpread$x(_objectSpread$x({}, props), shouldShowMaxLength && {
2122
2127
  maxLength: maxLength
2123
2128
  }));
2124
2129
  };
@@ -2162,6 +2167,8 @@ var Form$1 = function Form(_ref) {
2162
2167
  getActiveKindDetails = _ref.getActiveKindDetails,
2163
2168
  additionalQuestionKindPattern = _ref.additionalQuestionKindPattern,
2164
2169
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
2170
+ enableDomainRestriction = _ref.enableDomainRestriction,
2171
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
2165
2172
  _ref$isEdit = _ref.isEdit,
2166
2173
  isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit;
2167
2174
  var _useTranslation = useTranslation(),
@@ -2247,7 +2254,9 @@ var Form$1 = function Form(_ref) {
2247
2254
  label: t("neetoForm.questions.common.questionFields.field.placeholder")
2248
2255
  }), hasAdditionalData && renderAdditionalData({
2249
2256
  kind: kind,
2250
- questionProps: questionProps
2257
+ questionProps: questionProps,
2258
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
2259
+ enableDomainRestriction: enableDomainRestriction
2251
2260
  })]
2252
2261
  }), !isRequired && /*#__PURE__*/jsxs(Block, {
2253
2262
  dataCy: "settings-card",
@@ -2303,9 +2312,9 @@ var formValidationSchema = yup.object().shape({
2303
2312
  lowestRatingLabel: yup.string().nullable()
2304
2313
  });
2305
2314
 
2306
- var _excluded$9 = ["question", "onClose", "questions", "handleSelect", "buildRequestArgs", "isOpen", "fieldCodeHelpDocUrl"];
2307
- function ownKeys$s(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; }
2308
- function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2315
+ var _excluded$c = ["question", "onClose", "questions", "handleSelect", "buildRequestArgs", "isOpen", "fieldCodeHelpDocUrl", "domainRestrictionHelpDocUrl"];
2316
+ function ownKeys$w(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; }
2317
+ function _objectSpread$w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$w(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2309
2318
  var Add = function Add(_ref) {
2310
2319
  var question = _ref.question,
2311
2320
  onClose = _ref.onClose,
@@ -2314,7 +2323,8 @@ var Add = function Add(_ref) {
2314
2323
  buildRequestArgs = _ref.buildRequestArgs,
2315
2324
  isOpen = _ref.isOpen,
2316
2325
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
2317
- props = _objectWithoutProperties(_ref, _excluded$9);
2326
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
2327
+ props = _objectWithoutProperties(_ref, _excluded$c);
2318
2328
  var _useBuildFormStore = useBuildFormStore(function (store) {
2319
2329
  var _store$formState, _store$formState2;
2320
2330
  return {
@@ -2337,7 +2347,7 @@ var Add = function Add(_ref) {
2337
2347
  var handleSubmit = function handleSubmit(values) {
2338
2348
  if (isCreating || !isOpen) return;
2339
2349
  var displayOrder = question ? question.displayOrder + 1 : questions.length;
2340
- createQuestion(_objectSpread$s({
2350
+ createQuestion(_objectSpread$w({
2341
2351
  language: language,
2342
2352
  neetoFormQuestion: mergeLeft({
2343
2353
  displayOrder: displayOrder
@@ -2366,7 +2376,8 @@ var Add = function Add(_ref) {
2366
2376
  onSubmit: handleSubmit
2367
2377
  },
2368
2378
  children: /*#__PURE__*/jsxs(Fragment, {
2369
- children: [/*#__PURE__*/jsx(Form$1, _objectSpread$s({}, _objectSpread$s(_objectSpread$s({}, props), {}, {
2379
+ children: [/*#__PURE__*/jsx(Form$1, _objectSpread$w({}, _objectSpread$w(_objectSpread$w({}, props), {}, {
2380
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
2370
2381
  fieldCodeHelpDocUrl: fieldCodeHelpDocUrl,
2371
2382
  question: question,
2372
2383
  questions: questions
@@ -2383,15 +2394,16 @@ var Add = function Add(_ref) {
2383
2394
  });
2384
2395
  };
2385
2396
 
2386
- var _excluded$8 = ["question", "isOpen", "onClose", "fieldCodeHelpDocUrl"];
2387
- function ownKeys$r(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; }
2388
- function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2397
+ var _excluded$b = ["question", "isOpen", "onClose", "fieldCodeHelpDocUrl", "domainRestrictionHelpDocUrl"];
2398
+ function ownKeys$v(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; }
2399
+ function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2389
2400
  var Edit = function Edit(_ref) {
2390
2401
  var question = _ref.question,
2391
2402
  isOpen = _ref.isOpen,
2392
2403
  onClose = _ref.onClose,
2393
2404
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
2394
- props = _objectWithoutProperties(_ref, _excluded$8);
2405
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
2406
+ props = _objectWithoutProperties(_ref, _excluded$b);
2395
2407
  var _useTranslation = useTranslation(),
2396
2408
  t = _useTranslation.t;
2397
2409
  var _useBuildFormStore = useBuildFormStore(function (store) {
@@ -2438,7 +2450,8 @@ var Edit = function Edit(_ref) {
2438
2450
  onSubmit: handleSubmit
2439
2451
  },
2440
2452
  children: /*#__PURE__*/jsxs(Fragment, {
2441
- children: [/*#__PURE__*/jsx(Form$1, _objectSpread$r(_objectSpread$r({}, _objectSpread$r({
2453
+ children: [/*#__PURE__*/jsx(Form$1, _objectSpread$v(_objectSpread$v({}, _objectSpread$v({
2454
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
2442
2455
  fieldCodeHelpDocUrl: fieldCodeHelpDocUrl,
2443
2456
  question: question
2444
2457
  }, props)), {}, {
@@ -2474,6 +2487,345 @@ var Captcha = withT(function (_ref) {
2474
2487
  });
2475
2488
  });
2476
2489
 
2490
+ var _excluded$a = ["name", "title", "className"];
2491
+ function ownKeys$u(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; }
2492
+ function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2493
+ var SwitchBlock = function SwitchBlock(_ref) {
2494
+ var name = _ref.name,
2495
+ title = _ref.title,
2496
+ _ref$className = _ref.className,
2497
+ className = _ref$className === void 0 ? "" : _ref$className,
2498
+ otherProps = _objectWithoutProperties(_ref, _excluded$a);
2499
+ return /*#__PURE__*/jsxs(Label, {
2500
+ className: classnames("flex items-center justify-start gap-2 ", className),
2501
+ "data-cy": "neeto-form-engine-".concat(hyphenate(title), "-toggle-label"),
2502
+ children: [/*#__PURE__*/jsx(Switch, _objectSpread$u(_objectSpread$u({}, _objectSpread$u(_objectSpread$u({}, otherProps), {}, {
2503
+ name: name
2504
+ })), {}, {
2505
+ "data-cy": "neeto-form-engine-".concat(hyphenate(title), "-switch")
2506
+ })), /*#__PURE__*/jsx(Typography, {
2507
+ component: "span",
2508
+ style: "body1",
2509
+ children: title
2510
+ })]
2511
+ });
2512
+ };
2513
+
2514
+ var _excluded$9 = ["children"];
2515
+ function ownKeys$t(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; }
2516
+ function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2517
+ var STYLES = {
2518
+ border: {
2519
+ "default": "1px solid rgb(var(--neeto-ui-gray-400))",
2520
+ error: "1px solid rgb(var(--neeto-ui-error-800)) !important"
2521
+ },
2522
+ color: {
2523
+ "default": "rgb(var(--neeto-ui-gray-800))",
2524
+ error: "rgb(var(--neeto-ui-error-800)) !important"
2525
+ }
2526
+ };
2527
+ var MultiValueRemove = function MultiValueRemove(props) {
2528
+ return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$t(_objectSpread$t({}, props), {}, {
2529
+ innerProps: _objectSpread$t(_objectSpread$t({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon"))),
2530
+ children: /*#__PURE__*/jsx(Close, {
2531
+ size: 16
2532
+ })
2533
+ }));
2534
+ };
2535
+ var ValueContainer = function ValueContainer(_ref) {
2536
+ var children = _ref.children,
2537
+ props = _objectWithoutProperties(_ref, _excluded$9);
2538
+ var _useTranslation = useTranslation(),
2539
+ t = _useTranslation.t;
2540
+ var getValue = props.getValue,
2541
+ _props$selectProps = props.selectProps,
2542
+ isFocused = _props$selectProps.isFocused,
2543
+ visibleDomainsCount = _props$selectProps.visibleDomainsCount;
2544
+ var value = getValue();
2545
+ var _children = _toArray(children),
2546
+ firstChild = _children[0],
2547
+ rest = _children.slice(1);
2548
+ var shouldCollapse = !isFocused && value.length > visibleDomainsCount;
2549
+ return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$t(_objectSpread$t({}, props), {}, {
2550
+ innerProps: _objectSpread$t(_objectSpread$t({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-domain-input-container")),
2551
+ children: [shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild, shouldCollapse && /*#__PURE__*/jsx(Tag, {
2552
+ style: "secondary",
2553
+ label: t("neetoForm.common.remainingItemsCount", {
2554
+ count: value.length - visibleDomainsCount
2555
+ })
2556
+ }), rest]
2557
+ }));
2558
+ };
2559
+ var ClearIndicator = function ClearIndicator(props) {
2560
+ return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$t(_objectSpread$t({}, props), {}, {
2561
+ innerProps: _objectSpread$t(_objectSpread$t({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
2562
+ children: /*#__PURE__*/jsx(Close, {
2563
+ className: "cursor-pointer",
2564
+ size: 16
2565
+ })
2566
+ }));
2567
+ };
2568
+ var ERROR_MESSAGE_DELIMITER = ". ";
2569
+ var DELIMITER_KEYS = ["Enter", "Tab", ",", " "];
2570
+ var DOMAIN_SEPARATION_REGEX = /[^\s,]+/g;
2571
+ var FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/;
2572
+ var VALID_DOMAIN_REGEX = /^(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z0-9-]{2,63}$/;
2573
+ var DOMAIN_VALIDATION_SCHEMA = yup.string().required(t$3("neetoForm.error.requiredField", {
2574
+ label: t$3("neetoForm.common.domain")
2575
+ })).test("verify domains", t$3("neetoForm.error.invalidDomain"), function (domain) {
2576
+ return VALID_DOMAIN_REGEX.test(domain);
2577
+ });
2578
+ var CUSTOM_STYLES = {
2579
+ input: assoc("overflow", "hidden"),
2580
+ multiValue: function multiValue(styles, _ref2) {
2581
+ var valid = _ref2.data.valid;
2582
+ return _objectSpread$t(_objectSpread$t({}, styles), {}, {
2583
+ border: valid ? STYLES.border["default"] : STYLES.border.error,
2584
+ color: valid ? STYLES.color["default"] : STYLES.color.error
2585
+ });
2586
+ }
2587
+ };
2588
+ var CUSTOM_COMPONENTS = {
2589
+ DropdownIndicator: null,
2590
+ MultiValueRemove: MultiValueRemove,
2591
+ ValueContainer: ValueContainer,
2592
+ ClearIndicator: ClearIndicator
2593
+ };
2594
+
2595
+ var removeDuplicateErrorMessages = pipe(filter(isNotNil), uniq, join(ERROR_MESSAGE_DELIMITER));
2596
+ var formatDomainInputOptions = function formatDomainInputOptions(domain) {
2597
+ var isValid;
2598
+ try {
2599
+ DOMAIN_VALIDATION_SCHEMA.validateSync(domain);
2600
+ isValid = true;
2601
+ } catch (_unused) {
2602
+ isValid = false;
2603
+ }
2604
+ return {
2605
+ label: domain,
2606
+ value: domain,
2607
+ valid: isValid
2608
+ };
2609
+ };
2610
+ var pruneDuplicates = pipe(pluck("value"), uniq, map(formatDomainInputOptions));
2611
+ var getValidDomains = function getValidDomains(domains) {
2612
+ return domains.filter(function (domain) {
2613
+ return domain === null || domain === void 0 ? void 0 : domain.valid;
2614
+ });
2615
+ };
2616
+ var getValidDomainsCount = function getValidDomainsCount(domains) {
2617
+ return getValidDomains(domains).length;
2618
+ };
2619
+ var formatErrorMessage = function formatErrorMessage(error) {
2620
+ if (typeof error === "string") return error;
2621
+ return removeDuplicateErrorMessages(error);
2622
+ };
2623
+
2624
+ var _excluded$8 = ["label", "value", "onChange", "error", "onBlur"];
2625
+ function ownKeys$s(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; }
2626
+ function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2627
+ var MultiDomainInput = function MultiDomainInput(_ref) {
2628
+ var _ref$label = _ref.label,
2629
+ label = _ref$label === void 0 ? "" : _ref$label,
2630
+ _ref$value = _ref.value,
2631
+ value = _ref$value === void 0 ? [] : _ref$value,
2632
+ _ref$onChange = _ref.onChange,
2633
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
2634
+ _ref$error = _ref.error,
2635
+ error = _ref$error === void 0 ? "" : _ref$error,
2636
+ _ref$onBlur = _ref.onBlur,
2637
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
2638
+ otherProps = _objectWithoutProperties(_ref, _excluded$8);
2639
+ var _useState = useState(""),
2640
+ _useState2 = _slicedToArray(_useState, 2),
2641
+ inputValue = _useState2[0],
2642
+ setInputValue = _useState2[1];
2643
+ var _useState3 = useState(false),
2644
+ _useState4 = _slicedToArray(_useState3, 2),
2645
+ isFocused = _useState4[0],
2646
+ setIsFocused = _useState4[1];
2647
+ var _useTranslation = useTranslation(),
2648
+ t = _useTranslation.t;
2649
+ var handleFilterDomains = function handleFilterDomains() {
2650
+ return onChange(getValidDomains(value));
2651
+ };
2652
+ var handleDomainChange = function handleDomainChange() {
2653
+ var inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];
2654
+ var domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);
2655
+ var domains = domainMatches.map(formatDomainInputOptions);
2656
+ onChange(pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(domains))));
2657
+ setInputValue("");
2658
+ };
2659
+ var handleKeyDown = function handleKeyDown(event) {
2660
+ if (!inputValue) return;
2661
+ if (includes(event.key, DELIMITER_KEYS)) {
2662
+ handleDomainChange();
2663
+ event.preventDefault();
2664
+ event.stopPropagation();
2665
+ }
2666
+ };
2667
+ var onCreateOption = function onCreateOption(input) {
2668
+ var domain = formatDomainInputOptions(input);
2669
+ onChange(pruneDuplicates([].concat(_toConsumableArray(value), [domain])));
2670
+ };
2671
+ var handleBlur = function handleBlur(event) {
2672
+ inputValue ? handleDomainChange() : onBlur(event);
2673
+ setIsFocused(false);
2674
+ };
2675
+ var isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);
2676
+ return /*#__PURE__*/jsxs("div", {
2677
+ className: "neeto-ui-input__wrapper neeto-ui-email-input__wrapper",
2678
+ children: [/*#__PURE__*/jsx("div", {
2679
+ className: "neeto-ui-email-input__label-wrapper",
2680
+ children: /*#__PURE__*/jsx(Label, {
2681
+ className: "neeto-ui-email-input__label",
2682
+ "data-cy": "".concat(hyphenize(label), "-input-label"),
2683
+ children: label
2684
+ })
2685
+ }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$s({
2686
+ isMulti: true,
2687
+ required: true,
2688
+ classNamePrefix: "neeto-ui-react-select",
2689
+ components: CUSTOM_COMPONENTS,
2690
+ menuIsOpen: false,
2691
+ visibleDomainsCount: 3,
2692
+ className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
2693
+ "neeto-ui-react-select__container--error": !!error
2694
+ }),
2695
+ styles: _objectSpread$s(_objectSpread$s({}, CUSTOM_STYLES), {}, {
2696
+ control: mergeLeft({
2697
+ maxHeight: "200px",
2698
+ overflowY: "auto"
2699
+ })
2700
+ }),
2701
+ onBlur: handleBlur,
2702
+ onFocus: function onFocus() {
2703
+ return setIsFocused(true);
2704
+ },
2705
+ onInputChange: setInputValue,
2706
+ onKeyDown: handleKeyDown
2707
+ }, _objectSpread$s({
2708
+ inputValue: inputValue,
2709
+ isFocused: isFocused,
2710
+ onChange: onChange,
2711
+ onCreateOption: onCreateOption,
2712
+ value: value
2713
+ }, otherProps))), !!error && /*#__PURE__*/jsxs("p", {
2714
+ className: "neeto-ui-input__error",
2715
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
2716
+ children: [formatErrorMessage(error), isFilterDomainsLinkVisible && /*#__PURE__*/jsxs("span", {
2717
+ className: "neeto-ui-font-semibold cursor-pointer",
2718
+ onClick: handleFilterDomains,
2719
+ children: [ERROR_MESSAGE_DELIMITER, t("neetoForm.domainRestriction.removeInvalidDomains")]
2720
+ })]
2721
+ }), /*#__PURE__*/jsx("p", {
2722
+ className: "neeto-ui-input__help-text",
2723
+ "data-cy": "".concat(hyphenize(label), "-input-help"),
2724
+ children: t("neetoForm.domainRestriction.helpText")
2725
+ })]
2726
+ });
2727
+ };
2728
+
2729
+ var validateDomains = function validateDomains(value) {
2730
+ var schema = yup.array().of(yup.string().test("verify domains", t$3("neetoForm.error.invalidDomain"), function (domain) {
2731
+ return VALID_DOMAIN_REGEX.test(domain);
2732
+ })).ensure().compact().min(1, t$3("neetoForm.error.minOneEntity", {
2733
+ entity: t$3("neetoForm.common.domain")
2734
+ }));
2735
+
2736
+ // eslint-disable-next-line no-async-promise-executor
2737
+ return new Promise( /*#__PURE__*/function () {
2738
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {
2739
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
2740
+ while (1) switch (_context.prev = _context.next) {
2741
+ case 0:
2742
+ _context.prev = 0;
2743
+ _context.next = 3;
2744
+ return schema.validate(value);
2745
+ case 3:
2746
+ resolve(undefined);
2747
+ _context.next = 9;
2748
+ break;
2749
+ case 6:
2750
+ _context.prev = 6;
2751
+ _context.t0 = _context["catch"](0);
2752
+ resolve(_context.t0.message);
2753
+ case 9:
2754
+ case "end":
2755
+ return _context.stop();
2756
+ }
2757
+ }, _callee, null, [[0, 6]]);
2758
+ }));
2759
+ return function (_x) {
2760
+ return _ref.apply(this, arguments);
2761
+ };
2762
+ }());
2763
+ };
2764
+
2765
+ var RestrictedDomains = function RestrictedDomains() {
2766
+ var _useField = useField({
2767
+ name: "restrictedDomains",
2768
+ validate: validateDomains
2769
+ }),
2770
+ _useField2 = _slicedToArray(_useField, 3),
2771
+ _useField2$0$value = _useField2[0].value,
2772
+ domains = _useField2$0$value === void 0 ? [] : _useField2$0$value,
2773
+ meta = _useField2[1],
2774
+ _useField2$ = _useField2[2],
2775
+ setValue = _useField2$.setValue,
2776
+ setTouched = _useField2$.setTouched;
2777
+ var _useTranslation = useTranslation(),
2778
+ t = _useTranslation.t;
2779
+ var formattedDomains = map(formatDomainInputOptions, domains);
2780
+ return /*#__PURE__*/jsx("div", {
2781
+ className: "mb-4",
2782
+ children: /*#__PURE__*/jsx(MultiDomainInput, {
2783
+ error: meta.touched ? meta.error : "",
2784
+ label: t("neetoForm.domainRestriction.description"),
2785
+ name: "restrictedDomains",
2786
+ value: formattedDomains,
2787
+ onBlur: function onBlur() {
2788
+ return setTouched(true);
2789
+ },
2790
+ onChange: function onChange(value) {
2791
+ return setValue(nullSafe(pluck)("value", value));
2792
+ }
2793
+ })
2794
+ });
2795
+ };
2796
+
2797
+ function ownKeys$r(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; }
2798
+ function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2799
+ var Email = function Email(_ref) {
2800
+ var _ref$domainRestrictio = _ref.domainRestrictionHelpDocUrl,
2801
+ domainRestrictionHelpDocUrl = _ref$domainRestrictio === void 0 ? "" : _ref$domainRestrictio;
2802
+ var _useFormikContext = useFormikContext(),
2803
+ _useFormikContext$val = _useFormikContext.values.isDomainRestrictionEnabled,
2804
+ isDomainRestrictionEnabled = _useFormikContext$val === void 0 ? false : _useFormikContext$val;
2805
+ var _useTranslation = useTranslation(),
2806
+ t = _useTranslation.t;
2807
+ return /*#__PURE__*/jsxs("div", {
2808
+ className: "flex flex-col space-y-4",
2809
+ children: [/*#__PURE__*/jsx(SwitchBlock, {
2810
+ className: "mt-4",
2811
+ name: "isDomainRestrictionEnabled",
2812
+ title: /*#__PURE__*/jsxs("div", {
2813
+ className: "flex gap-2",
2814
+ children: [t("neetoForm.domainRestriction.label"), /*#__PURE__*/jsx(HelpPopover, _objectSpread$r({
2815
+ description: t("neetoForm.domainRestriction.popoverDescription"),
2816
+ popoverProps: {
2817
+ position: "top"
2818
+ }
2819
+ }, domainRestrictionHelpDocUrl && {
2820
+ helpLinkProps: {
2821
+ href: domainRestrictionHelpDocUrl
2822
+ }
2823
+ }))]
2824
+ })
2825
+ }), isDomainRestrictionEnabled && /*#__PURE__*/jsx(RestrictedDomains, {})]
2826
+ });
2827
+ };
2828
+
2477
2829
  var FileGroup = function FileGroup(_ref) {
2478
2830
  var name = _ref.name,
2479
2831
  label = _ref.label,
@@ -2804,7 +3156,8 @@ var CHECKBOX = QUESTION_TYPES.CHECKBOX,
2804
3156
  STAR_RATING = QUESTION_TYPES.STAR_RATING,
2805
3157
  RATING = QUESTION_TYPES.RATING,
2806
3158
  FILE_UPLOAD = QUESTION_TYPES.FILE_UPLOAD,
2807
- CAPTCHA = QUESTION_TYPES.CAPTCHA;
3159
+ CAPTCHA = QUESTION_TYPES.CAPTCHA,
3160
+ EMAIL = QUESTION_TYPES.EMAIL;
2808
3161
  var transformValueForOption = function transformValueForOption(_ref) {
2809
3162
  var label = _ref.label,
2810
3163
  type = _ref.type;
@@ -2812,7 +3165,9 @@ var transformValueForOption = function transformValueForOption(_ref) {
2812
3165
  };
2813
3166
  var renderAdditionalData = function renderAdditionalData(_ref2) {
2814
3167
  var kind = _ref2.kind,
2815
- questionProps = _ref2.questionProps;
3168
+ questionProps = _ref2.questionProps,
3169
+ domainRestrictionHelpDocUrl = _ref2.domainRestrictionHelpDocUrl,
3170
+ enableDomainRestriction = _ref2.enableDomainRestriction;
2816
3171
  switch (kind) {
2817
3172
  case CHECKBOX:
2818
3173
  case RADIO:
@@ -2828,6 +3183,10 @@ var renderAdditionalData = function renderAdditionalData(_ref2) {
2828
3183
  return /*#__PURE__*/jsx(FileUpload$1, {});
2829
3184
  case CAPTCHA:
2830
3185
  return /*#__PURE__*/jsx(Captcha, {});
3186
+ case EMAIL:
3187
+ return enableDomainRestriction ? /*#__PURE__*/jsx(Email, {
3188
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl
3189
+ }) : null;
2831
3190
  default:
2832
3191
  return null;
2833
3192
  }
@@ -2859,7 +3218,7 @@ var buildDefaultValueForKind = function buildDefaultValueForKind(questionKind) {
2859
3218
  } : undefined;
2860
3219
  };
2861
3220
 
2862
- var _excluded$7 = ["isOpen", "onClose", "action", "question", "availableQuestionKinds", "fieldCodeHelpDocUrl"];
3221
+ var _excluded$7 = ["isOpen", "onClose", "action", "question", "availableQuestionKinds", "fieldCodeHelpDocUrl", "domainRestrictionHelpDocUrl"];
2863
3222
  function ownKeys$o(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; }
2864
3223
  function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2865
3224
  var ManageQuestionPane = function ManageQuestionPane(_ref) {
@@ -2869,6 +3228,7 @@ var ManageQuestionPane = function ManageQuestionPane(_ref) {
2869
3228
  question = _ref.question,
2870
3229
  availableQuestionKinds = _ref.availableQuestionKinds,
2871
3230
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
3231
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
2872
3232
  props = _objectWithoutProperties(_ref, _excluded$7);
2873
3233
  var initialFocusRef = useRef(null);
2874
3234
  var Component = resolveActionComponent(action);
@@ -2878,6 +3238,7 @@ var ManageQuestionPane = function ManageQuestionPane(_ref) {
2878
3238
  onClose: onClose,
2879
3239
  children: /*#__PURE__*/jsx(Component, _objectSpread$o({}, _objectSpread$o({
2880
3240
  availableQuestionKinds: availableQuestionKinds,
3241
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
2881
3242
  fieldCodeHelpDocUrl: fieldCodeHelpDocUrl,
2882
3243
  initialFocusRef: initialFocusRef,
2883
3244
  isOpen: isOpen,
@@ -2910,7 +3271,7 @@ var AddQuestion = withT(function (_ref) {
2910
3271
  });
2911
3272
  });
2912
3273
 
2913
- var _excluded$6 = ["questionKinds", "onValueChange", "formId", "isDeletable", "isRequiredField", "submitButtonProps", "cancelButtonProps", "isKindAlreadyActive", "getActiveKindDetails", "isDisabledFieldLabel", "disabledAddButtonTooltipProps", "enableFieldCode", "isFormEnabled", "savedTitle", "formTitle", "formDescription", "selectedLanguage", "availableLanguages", "onLanguageChange", "additionalActionOptions", "isReordering", "additionalQuestionKindPattern", "showActionBlock", "buildRequestArgs", "fieldCodeHelpDocUrl"];
3274
+ var _excluded$6 = ["questionKinds", "onValueChange", "formId", "isDeletable", "isRequiredField", "submitButtonProps", "cancelButtonProps", "isKindAlreadyActive", "getActiveKindDetails", "isDisabledFieldLabel", "disabledAddButtonTooltipProps", "enableFieldCode", "isFormEnabled", "savedTitle", "formTitle", "formDescription", "selectedLanguage", "availableLanguages", "onLanguageChange", "additionalActionOptions", "isReordering", "additionalQuestionKindPattern", "showActionBlock", "buildRequestArgs", "fieldCodeHelpDocUrl", "enableDomainRestriction", "domainRestrictionHelpDocUrl"];
2914
3275
  function ownKeys$n(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; }
2915
3276
  function _objectSpread$n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$n(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2916
3277
  var Form = function Form(_ref) {
@@ -2939,6 +3300,8 @@ var Form = function Form(_ref) {
2939
3300
  showActionBlock = _ref.showActionBlock,
2940
3301
  buildRequestArgs = _ref.buildRequestArgs,
2941
3302
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
3303
+ enableDomainRestriction = _ref.enableDomainRestriction,
3304
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
2942
3305
  formDomProps = _objectWithoutProperties(_ref, _excluded$6);
2943
3306
  var containerRef = useRef();
2944
3307
  var _useTranslation = useTranslation(),
@@ -3132,6 +3495,8 @@ var Form = function Form(_ref) {
3132
3495
  additionalQuestionKindPattern: additionalQuestionKindPattern,
3133
3496
  availableQuestionKinds: availableQuestionKinds,
3134
3497
  buildRequestArgs: buildRequestArgs,
3498
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
3499
+ enableDomainRestriction: enableDomainRestriction,
3135
3500
  enableFieldCode: enableFieldCode,
3136
3501
  fieldCodeHelpDocUrl: fieldCodeHelpDocUrl,
3137
3502
  getActiveKindDetails: getActiveKindDetails,
@@ -3196,6 +3561,9 @@ var BuildForm = function BuildForm(_ref) {
3196
3561
  additionalActionOptions = _ref$additionalAction === void 0 ? [] : _ref$additionalAction,
3197
3562
  additionalQuestionKindPattern = _ref.additionalQuestionKindPattern,
3198
3563
  fieldCodeHelpDocUrl = _ref.fieldCodeHelpDocUrl,
3564
+ _ref$enableDomainRest = _ref.enableDomainRestriction,
3565
+ enableDomainRestriction = _ref$enableDomainRest === void 0 ? true : _ref$enableDomainRest,
3566
+ domainRestrictionHelpDocUrl = _ref.domainRestrictionHelpDocUrl,
3199
3567
  className = _ref.className;
3200
3568
  var queryClient = useQueryClient();
3201
3569
  var _useReorderQuestions = useReorderQuestions(id, {
@@ -3278,6 +3646,8 @@ var BuildForm = function BuildForm(_ref) {
3278
3646
  buildRequestArgs: buildRequestArgs,
3279
3647
  cancelButtonProps: cancelButtonProps,
3280
3648
  disabledAddButtonTooltipProps: disabledAddButtonTooltipProps,
3649
+ domainRestrictionHelpDocUrl: domainRestrictionHelpDocUrl,
3650
+ enableDomainRestriction: enableDomainRestriction,
3281
3651
  enableFieldCode: enableFieldCode,
3282
3652
  fieldCodeHelpDocUrl: fieldCodeHelpDocUrl,
3283
3653
  formDescription: formDescription,
@@ -3600,6 +3970,13 @@ yup.addMethod(yup.array, "unique", function () {
3600
3970
  var isValidDate = function isValidDate(date) {
3601
3971
  return date && dayjs(date).isValid();
3602
3972
  };
3973
+ var extractEmailDomain = function extractEmailDomain(email) {
3974
+ return email === null || email === void 0 ? void 0 : email.split("@")[1];
3975
+ };
3976
+ var isEmailFromRestrictedDomain = function isEmailFromRestrictedDomain(email, restrictedDomains) {
3977
+ var domain = extractEmailDomain(email);
3978
+ return includes(domain, restrictedDomains);
3979
+ };
3603
3980
  var validateTextField = function validateTextField(_ref) {
3604
3981
  var kind = _ref.kind,
3605
3982
  label = _ref.label,
@@ -3613,60 +3990,68 @@ var validateTextField = function validateTextField(_ref) {
3613
3990
  };
3614
3991
  var validateEmailField = function validateEmailField(_ref2) {
3615
3992
  var label = _ref2.label,
3616
- isRequired = _ref2.isRequired;
3617
- var schema = yup.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email"));
3993
+ isRequired = _ref2.isRequired,
3994
+ restrictedDomains = _ref2.restrictedDomains;
3995
+ var schema = yup.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email")).test("verify domain", function (_ref3) {
3996
+ var value = _ref3.value;
3997
+ return t$1("neetoForm.error.emailFromRestrictedDomain", {
3998
+ domain: extractEmailDomain(value)
3999
+ });
4000
+ }, function (value) {
4001
+ return isNotPresent(value) || !isEmailFromRestrictedDomain(value, restrictedDomains);
4002
+ });
3618
4003
  if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
3619
4004
  return schema.trim();
3620
4005
  };
3621
- var validateNameField = function validateNameField(_ref3) {
3622
- var label = _ref3.label,
3623
- isRequired = _ref3.isRequired;
4006
+ var validateNameField = function validateNameField(_ref4) {
4007
+ var label = _ref4.label,
4008
+ isRequired = _ref4.isRequired;
3624
4009
  var schema = yup.string().typeError(getInvalidTypeError(label, "string"));
3625
4010
  if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
3626
4011
  return schema.trim();
3627
4012
  };
3628
- var validateSingleChoiceField = function validateSingleChoiceField(_ref4) {
3629
- var label = _ref4.label,
3630
- isRequired = _ref4.isRequired;
4013
+ var validateSingleChoiceField = function validateSingleChoiceField(_ref5) {
4014
+ var label = _ref5.label,
4015
+ isRequired = _ref5.isRequired;
3631
4016
  var schema = yup.string().typeError(getInvalidTypeError(label, "string"));
3632
4017
  if (isRequired) schema = schema.required(getSelectMinError("an"));
3633
4018
  return schema.trim();
3634
4019
  };
3635
- var validateMultiChoiceField = function validateMultiChoiceField(_ref5) {
3636
- var isRequired = _ref5.isRequired;
4020
+ var validateMultiChoiceField = function validateMultiChoiceField(_ref6) {
4021
+ var isRequired = _ref6.isRequired;
3637
4022
  var schema = yup.array().of(yup["boolean"]());
3638
4023
  if (isRequired) schema = schema.compact().min(1, getSelectMinError("an"));
3639
4024
  return schema;
3640
4025
  };
3641
- var validateRatingField = function validateRatingField(_ref6) {
3642
- var label = _ref6.label,
3643
- isRequired = _ref6.isRequired;
4026
+ var validateRatingField = function validateRatingField(_ref7) {
4027
+ var label = _ref7.label,
4028
+ isRequired = _ref7.isRequired;
3644
4029
  var schema = yup.string().typeError(getInvalidTypeError(label, "string"));
3645
4030
  if (isRequired) schema = schema.required(getSelectMinError("an"));
3646
4031
  return schema.trim();
3647
4032
  };
3648
- var validateStarRatingField = function validateStarRatingField(_ref7) {
3649
- var label = _ref7.label,
3650
- isRequired = _ref7.isRequired;
4033
+ var validateStarRatingField = function validateStarRatingField(_ref8) {
4034
+ var label = _ref8.label,
4035
+ isRequired = _ref8.isRequired;
3651
4036
  var schema = yup.string().typeError(getInvalidTypeError(label, "string"));
3652
4037
  if (isRequired) {
3653
4038
  schema = schema.required(getSelectMinError("a", t$1("neetoForm.common.rating")));
3654
4039
  }
3655
4040
  return schema.trim();
3656
4041
  };
3657
- var validateTermsField = function validateTermsField(_ref8) {
3658
- var _ref8$isRequired = _ref8.isRequired,
3659
- isRequired = _ref8$isRequired === void 0 ? true : _ref8$isRequired;
3660
- return isRequired ? yup["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptTermsAndConditions")) : yup["boolean"]().notRequired();
3661
- };
3662
- var validateConditionField = function validateConditionField(_ref9) {
4042
+ var validateTermsField = function validateTermsField(_ref9) {
3663
4043
  var _ref9$isRequired = _ref9.isRequired,
3664
4044
  isRequired = _ref9$isRequired === void 0 ? true : _ref9$isRequired;
4045
+ return isRequired ? yup["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptTermsAndConditions")) : yup["boolean"]().notRequired();
4046
+ };
4047
+ var validateConditionField = function validateConditionField(_ref10) {
4048
+ var _ref10$isRequired = _ref10.isRequired,
4049
+ isRequired = _ref10$isRequired === void 0 ? true : _ref10$isRequired;
3665
4050
  return isRequired ? yup["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptCondition")) : yup["boolean"]().notRequired();
3666
4051
  };
3667
- var validateDateField = function validateDateField(_ref10) {
3668
- var label = _ref10.label,
3669
- isRequired = _ref10.isRequired;
4052
+ var validateDateField = function validateDateField(_ref11) {
4053
+ var label = _ref11.label,
4054
+ isRequired = _ref11.isRequired;
3670
4055
  var schema = yup.string().test("is valid date", getInvalidTypeError(label, "date"), function (value) {
3671
4056
  return isNotPresent(value) || isValidDate(value);
3672
4057
  });
@@ -3675,8 +4060,8 @@ var validateDateField = function validateDateField(_ref10) {
3675
4060
  }
3676
4061
  return schema;
3677
4062
  };
3678
- var validateMultiEmailField = function validateMultiEmailField(_ref11) {
3679
- var isRequired = _ref11.isRequired;
4063
+ var validateMultiEmailField = function validateMultiEmailField(_ref12) {
4064
+ var isRequired = _ref12.isRequired;
3680
4065
  var schema = yup.array().of(yup.object().shape({
3681
4066
  value: yup.string().email(getInvalidFieldError("Email")).trim()
3682
4067
  })).nullable();
@@ -3688,17 +4073,17 @@ var validateMultiEmailField = function validateMultiEmailField(_ref11) {
3688
4073
  var editorHasValue = function editorHasValue(content) {
3689
4074
  return !isEditorEmpty(content);
3690
4075
  };
3691
- var validateRichTextField = function validateRichTextField(_ref12) {
3692
- var isRequired = _ref12.isRequired;
4076
+ var validateRichTextField = function validateRichTextField(_ref13) {
4077
+ var isRequired = _ref13.isRequired;
3693
4078
  var schema = yup.string();
3694
4079
  if (isRequired) {
3695
4080
  schema = schema.test("required", getRequiredFieldError("content"), editorHasValue);
3696
4081
  }
3697
4082
  return schema.trim();
3698
4083
  };
3699
- var validateFileUploadField = function validateFileUploadField(_ref13) {
3700
- var isRequired = _ref13.isRequired,
3701
- multipleFilesAllowed = _ref13.multipleFilesAllowed;
4084
+ var validateFileUploadField = function validateFileUploadField(_ref14) {
4085
+ var isRequired = _ref14.isRequired,
4086
+ multipleFilesAllowed = _ref14.multipleFilesAllowed;
3702
4087
  var files_schema = yup.array();
3703
4088
  if (isRequired) {
3704
4089
  files_schema = files_schema.of(yup.object().shape({
@@ -3711,8 +4096,8 @@ var validateFileUploadField = function validateFileUploadField(_ref13) {
3711
4096
  files: files_schema
3712
4097
  });
3713
4098
  };
3714
- var validateCaptchaField = function validateCaptchaField(_ref14) {
3715
- var variant = _ref14.variant;
4099
+ var validateCaptchaField = function validateCaptchaField(_ref15) {
4100
+ var variant = _ref15.variant;
3716
4101
  return variant === CAPTCHA_TYPES.MATH_CAPTCHA ? yup.mixed().test("verification failed", t$1("neetoForm.error.captchaVerificationFailed"), function (value) {
3717
4102
  return isNotPresent(value) || value;
3718
4103
  }).transform(function (value) {
@@ -3720,10 +4105,10 @@ var validateCaptchaField = function validateCaptchaField(_ref14) {
3720
4105
  }).required(t$1("neetoForm.error.incompleteCaptcha")) : yup.string().trim().required(t$1("neetoForm.error.incompleteCaptcha"));
3721
4106
  };
3722
4107
  var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.EMAIL.value, validateEmailField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.NAME.value, validateNameField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.PHONE.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.TEXT.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.QUESTION.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.TEXTAREA.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.DECIMAL.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.INTEGER.value, validateTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.RATING.value, validateRatingField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.TERMS.value, validateTermsField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.DATE.value, validateDateField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.STAR_RATING.value, validateStarRatingField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.RICH_TEXT.value, validateRichTextField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.CONDITION.value, validateConditionField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _defineProperty(_fieldKindValidatorMa, QUESTION_KIND.CAPTCHA.value, validateCaptchaField), _fieldKindValidatorMa);
3723
- var validateFieldValue = function validateFieldValue(_ref15) {
3724
- var kind = _ref15.kind,
3725
- customValidator = _ref15.customValidator,
3726
- otherProps = _objectWithoutProperties(_ref15, _excluded$4);
4108
+ var validateFieldValue = function validateFieldValue(_ref16) {
4109
+ var kind = _ref16.kind,
4110
+ customValidator = _ref16.customValidator,
4111
+ otherProps = _objectWithoutProperties(_ref16, _excluded$4);
3727
4112
  return function (value) {
3728
4113
  if (!(kind in fieldKindValidatorMap)) return;
3729
4114
  var validator = fieldKindValidatorMap[kind];
@@ -3733,7 +4118,7 @@ var validateFieldValue = function validateFieldValue(_ref15) {
3733
4118
 
3734
4119
  // eslint-disable-next-line consistent-return, no-async-promise-executor
3735
4120
  return new Promise( /*#__PURE__*/function () {
3736
- var _ref16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {
4121
+ var _ref17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {
3737
4122
  return _regeneratorRuntime.wrap(function _callee$(_context) {
3738
4123
  while (1) switch (_context.prev = _context.next) {
3739
4124
  case 0:
@@ -3755,7 +4140,7 @@ var validateFieldValue = function validateFieldValue(_ref15) {
3755
4140
  }, _callee, null, [[0, 6]]);
3756
4141
  }));
3757
4142
  return function (_x) {
3758
- return _ref16.apply(this, arguments);
4143
+ return _ref17.apply(this, arguments);
3759
4144
  };
3760
4145
  }());
3761
4146
  };
@@ -4415,6 +4800,8 @@ var EmailField = function EmailField(_ref) {
4415
4800
  var name = question.id,
4416
4801
  kind = question.kind,
4417
4802
  isRequired = question.isRequired,
4803
+ isDomainRestrictionEnabled = question.isDomainRestrictionEnabled,
4804
+ restrictedDomains = question.restrictedDomains,
4418
4805
  nodeId = question.nodeId;
4419
4806
  var label = fieldWithFallback(question, "label");
4420
4807
  var type = QUESTION_KIND[kind.toUpperCase()].type;
@@ -4424,7 +4811,8 @@ var EmailField = function EmailField(_ref) {
4424
4811
  kind: kind,
4425
4812
  label: label,
4426
4813
  isRequired: isRequired,
4427
- customValidator: customValidator
4814
+ customValidator: customValidator,
4815
+ restrictedDomains: isDomainRestrictionEnabled ? restrictedDomains : []
4428
4816
  })
4429
4817
  }),
4430
4818
  _useField2 = _slicedToArray(_useField, 3),