@bigbinary/neeto-form-frontend 3.8.2 → 3.9.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.
- package/app/javascript/src/translations/en.json +12 -4
- package/dist/BuildForm.js +135 -62
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +5 -9
- package/dist/ExternalForm.js.map +1 -1
- package/dist/Submission.js +2 -2
- package/dist/UrlBuilder.js +5 -11
- package/dist/UrlBuilder.js.map +1 -1
- package/dist/{buildForm-354c6d6d.js → buildForm-b8eb931e.js} +4 -2
- package/dist/buildForm-b8eb931e.js.map +1 -0
- package/dist/{buildForm-042737cb.js → buildForm-dfd708c6.js} +4 -2
- package/dist/buildForm-dfd708c6.js.map +1 -0
- package/dist/cjs/BuildForm.js +135 -62
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +5 -9
- package/dist/cjs/ExternalForm.js.map +1 -1
- package/dist/cjs/Submission.js +2 -2
- package/dist/cjs/UrlBuilder.js +5 -11
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +3 -3
- package/dist/cjs/index.js +7 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/{constants-43eac775.js → constants-4d9fc943.js} +1 -7
- package/dist/{constants-43eac775.js.map → constants-4d9fc943.js.map} +1 -1
- package/dist/{constants-ca5ca2b1.js → constants-56bf4022.js} +2 -2
- package/dist/{constants-ca5ca2b1.js.map → constants-56bf4022.js.map} +1 -1
- package/dist/{constants-3d8a5374.js → constants-75b78b3a.js} +2 -7
- package/dist/{constants-3d8a5374.js.map → constants-75b78b3a.js.map} +1 -1
- package/dist/{constants-669f203a.js → constants-d9148acf.js} +2 -2
- package/dist/{constants-669f203a.js.map → constants-d9148acf.js.map} +1 -1
- package/dist/hooks.js +3 -3
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/{useFormApi-ca36173e.js → useFormApi-408d0060.js} +1 -3
- package/dist/useFormApi-408d0060.js.map +1 -0
- package/dist/{useFormApi-d733cb8d.js → useFormApi-e3476a20.js} +2 -3
- package/dist/useFormApi-e3476a20.js.map +1 -0
- package/dist/{useFormSubmission-866195bb.js → useFormSubmission-46db678f.js} +2 -2
- package/dist/{useFormSubmission-866195bb.js.map → useFormSubmission-46db678f.js.map} +1 -1
- package/dist/{useFormSubmission-f8866b84.js → useFormSubmission-e2e84587.js} +2 -2
- package/dist/{useFormSubmission-f8866b84.js.map → useFormSubmission-e2e84587.js.map} +1 -1
- package/dist/{utils-6b8cacdd.js → utils-3eb74c1b.js} +72 -537
- package/dist/utils-3eb74c1b.js.map +1 -0
- package/dist/{utils-4a844c8d.js → utils-6039d7d2.js} +76 -536
- package/dist/utils-6039d7d2.js.map +1 -0
- package/package.json +7 -7
- package/types.d.ts +2 -1
- package/dist/buildForm-042737cb.js.map +0 -1
- package/dist/buildForm-354c6d6d.js.map +0 -1
- package/dist/useFormApi-ca36173e.js.map +0 -1
- package/dist/useFormApi-d733cb8d.js.map +0 -1
- package/dist/utils-4a844c8d.js.map +0 -1
- package/dist/utils-6b8cacdd.js.map +0 -1
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useEffect, useState, useImperativeHandle, useRef, useCallback, createElement, memo, Fragment } from 'react';
|
|
1
|
+
import { useEffect, useState, useImperativeHandle, memo, Fragment } from 'react';
|
|
3
2
|
import { useFormikContext, useField, Field, FastField } from 'formik';
|
|
4
3
|
import { isPresent, isNotEmpty, findBy, findById, isNotPresent, getRandomInt, randomPick, noop, hyphenate, slugify, notEqualsDeep } from '@bigbinary/neeto-cist';
|
|
5
4
|
import { i as isFunction, b as isEmptyValues, f as fieldWithFallback } from './index-2664c3e7.js';
|
|
6
5
|
import { dayjs, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
|
|
7
6
|
import { parsePhoneNumber } from 'libphonenumber-js';
|
|
8
|
-
import { includes, __, isNil, clamp, prop, map, identity, pluck, pipe, toLower, reject,
|
|
7
|
+
import { includes, __, isNil, clamp, prop, map, identity, pluck, pipe, toLower, reject, isEmpty, values, equals, pick } from 'ramda';
|
|
9
8
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
9
|
import EditorContent from '@bigbinary/neeto-editor/EditorContent';
|
|
11
|
-
import { C as CAPTCHA_TYPES, q as generateArray } from './constants-
|
|
10
|
+
import { C as CAPTCHA_TYPES, q as generateArray } from './constants-d9148acf.js';
|
|
12
11
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
13
12
|
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
14
13
|
import Button from '@bigbinary/neetoui/Button';
|
|
15
14
|
import NeetoUIMultiEmailInput from '@bigbinary/neetoui/MultiEmailInput';
|
|
16
|
-
import { useTranslation
|
|
15
|
+
import { useTranslation } from 'react-i18next';
|
|
17
16
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
18
17
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
19
18
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
@@ -22,10 +21,9 @@ import { validation, PhoneNumberInput } from '@bigbinary/neeto-molecules/PhoneNu
|
|
|
22
21
|
import * as yup from 'yup';
|
|
23
22
|
import i18next from 'i18next';
|
|
24
23
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
25
|
-
import
|
|
26
|
-
import { Q as QUESTION_KIND, E as ERROR_CODES, e as EMAIL_REGEX, R as RATING_VALUES, S as SCHEMA_LESS_QUESTION_KINDS, f as RATING_OPTIONS, I as ICONS_MAP } from './constants-3d8a5374.js';
|
|
24
|
+
import { Q as QUESTION_KIND, E as EMAIL_REGEX, R as RATING_VALUES, S as SCHEMA_LESS_QUESTION_KINDS, e as RATING_OPTIONS, I as ICONS_MAP } from './constants-75b78b3a.js';
|
|
27
25
|
import classnames from 'classnames';
|
|
28
|
-
import { useUpdateEffect,
|
|
26
|
+
import { useUpdateEffect, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
29
27
|
import Refresh from '@bigbinary/neeto-icons/Refresh';
|
|
30
28
|
import Input from '@bigbinary/neetoui/Input';
|
|
31
29
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -33,15 +31,8 @@ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
|
33
31
|
import ReCAPTCHA from 'react-google-recaptcha';
|
|
34
32
|
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
35
33
|
import DatePicker from '@bigbinary/neetoui/DatePicker';
|
|
34
|
+
import { FileUpload } from '@bigbinary/neeto-molecules/FileUpload';
|
|
36
35
|
import Label from '@bigbinary/neetoui/Label';
|
|
37
|
-
import Typography from '@bigbinary/neetoui/Typography';
|
|
38
|
-
import { DirectUpload } from '@rails/activestorage';
|
|
39
|
-
import { useDropzone } from 'react-dropzone';
|
|
40
|
-
import { D as DIRECT_UPLOAD_URL } from './useFormApi-d733cb8d.js';
|
|
41
|
-
import FileGeneric from '@bigbinary/neeto-icons/FileGeneric';
|
|
42
|
-
import Check from '@bigbinary/neeto-icons/Check';
|
|
43
|
-
import Close from '@bigbinary/neeto-icons/Close';
|
|
44
|
-
import { motion } from 'framer-motion';
|
|
45
36
|
import Select from '@bigbinary/neetoui/Select';
|
|
46
37
|
import Radio from '@bigbinary/neetoui/Radio';
|
|
47
38
|
import NeetoEditor from '@bigbinary/neeto-editor/Editor';
|
|
@@ -133,34 +124,33 @@ var FormikWrap = function FormikWrap(_ref) {
|
|
|
133
124
|
return children;
|
|
134
125
|
};
|
|
135
126
|
|
|
136
|
-
var t$
|
|
127
|
+
var t$1 = clientI18nInstance.t;
|
|
137
128
|
var getInvalidFieldError = function getInvalidFieldError(label) {
|
|
138
|
-
return t$
|
|
129
|
+
return t$1("neetoForm.error.invalidField", {
|
|
139
130
|
label: label
|
|
140
131
|
});
|
|
141
132
|
};
|
|
142
133
|
var getRequiredFieldError = function getRequiredFieldError(label) {
|
|
143
|
-
return t$
|
|
134
|
+
return t$1("neetoForm.error.requiredField", {
|
|
144
135
|
label: label
|
|
145
136
|
});
|
|
146
137
|
};
|
|
147
138
|
var getSelectMinError = function getSelectMinError(min) {
|
|
148
|
-
var entity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : t$
|
|
149
|
-
return t$
|
|
139
|
+
var entity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : t$1("neetoForm.common.option");
|
|
140
|
+
return t$1("neetoForm.error.selectMin", {
|
|
150
141
|
min: min,
|
|
151
142
|
entity: entity
|
|
152
143
|
});
|
|
153
144
|
};
|
|
154
145
|
var getInvalidTypeError = function getInvalidTypeError(label, type) {
|
|
155
|
-
return t$
|
|
146
|
+
return t$1("neetoForm.error.invalidType", {
|
|
156
147
|
label: label,
|
|
157
148
|
type: type
|
|
158
149
|
});
|
|
159
150
|
};
|
|
160
151
|
|
|
161
|
-
function ownKeys$
|
|
162
|
-
function _objectSpread$
|
|
163
|
-
var t$1 = clientI18nInstance.t;
|
|
152
|
+
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; }
|
|
153
|
+
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; }
|
|
164
154
|
var toEmailValues = function toEmailValues() {
|
|
165
155
|
var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
166
156
|
return values.map(function (value) {
|
|
@@ -253,7 +243,7 @@ var generateInitValues = function generateInitValues(_ref7) {
|
|
|
253
243
|
var valuesMap = {};
|
|
254
244
|
if (initialValues) {
|
|
255
245
|
valuesMap = initialValues.reduce(function (acc, answer) {
|
|
256
|
-
return _objectSpread$
|
|
246
|
+
return _objectSpread$e(_objectSpread$e({}, acc), {}, _defineProperty({}, answer.questionId, {
|
|
257
247
|
value: answer.value,
|
|
258
248
|
optionIds: answer.optionIds
|
|
259
249
|
}));
|
|
@@ -446,34 +436,6 @@ var getError = function getError(meta) {
|
|
|
446
436
|
var buildAutoCompleteAttribute = function buildAutoCompleteAttribute(kind, autoCompleteKinds, formDomProps) {
|
|
447
437
|
return (formDomProps === null || formDomProps === void 0 ? void 0 : formDomProps.autoComplete) === "off" && includes(kind, autoCompleteKinds) ? "on" : undefined;
|
|
448
438
|
};
|
|
449
|
-
var convertMbToBytes = function convertMbToBytes(mb) {
|
|
450
|
-
return mb * 1024 * 1024;
|
|
451
|
-
};
|
|
452
|
-
var renderErrorMessage = function renderErrorMessage(errorObject, maxFileSize, isMultiple) {
|
|
453
|
-
var error = errorObject.errors[0];
|
|
454
|
-
var file = errorObject.file;
|
|
455
|
-
if (error) {
|
|
456
|
-
var code = error.code;
|
|
457
|
-
switch (code) {
|
|
458
|
-
case ERROR_CODES.FILE_TOO_LARGE:
|
|
459
|
-
return t$1("neetoForm.fileUpload.dropzone.errors.fileTooLarge", {
|
|
460
|
-
fileName: file.name,
|
|
461
|
-
maxSize: Math.round(maxFileSize / 1048576)
|
|
462
|
-
});
|
|
463
|
-
case ERROR_CODES.FILE_INVALID_TYPE:
|
|
464
|
-
return t$1("neetoForm.fileUpload.dropzone.errors.fileInvalidType", {
|
|
465
|
-
fileType: path.extname(file.name)
|
|
466
|
-
});
|
|
467
|
-
case ERROR_CODES.TOO_MANY_FILES:
|
|
468
|
-
if (!isMultiple) {
|
|
469
|
-
return t$1("neetoForm.fileUpload.dropzone.errors.tooManyFiles");
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
return t$1("neetoForm.fileUpload.dropzone.errors.defaultError", {
|
|
474
|
-
fileName: file.name
|
|
475
|
-
});
|
|
476
|
-
};
|
|
477
439
|
var renderButtonsInOrder = function renderButtonsInOrder(buttonsArray, shouldReverse) {
|
|
478
440
|
var orderedButtons = shouldReverse ? buttonsArray.reverse() : buttonsArray;
|
|
479
441
|
return map(identity, orderedButtons);
|
|
@@ -486,8 +448,8 @@ var isPhoneNumberField = includes(__, [QUESTION_KIND.PHONE.value, QUESTION_KIND.
|
|
|
486
448
|
|
|
487
449
|
var _excluded$4 = ["kind", "customValidator"];
|
|
488
450
|
var _fieldKindValidatorMa;
|
|
489
|
-
function ownKeys$
|
|
490
|
-
function _objectSpread$
|
|
451
|
+
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; }
|
|
452
|
+
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; }
|
|
491
453
|
var t = clientI18nInstance.t;
|
|
492
454
|
yup.addMethod(yup.array, "unique", function () {
|
|
493
455
|
var field, message;
|
|
@@ -521,9 +483,14 @@ var isValidDate = function isValidDate(date) {
|
|
|
521
483
|
var extractEmailDomain = function extractEmailDomain(email) {
|
|
522
484
|
return email === null || email === void 0 ? void 0 : email.split("@")[1];
|
|
523
485
|
};
|
|
524
|
-
var
|
|
486
|
+
var isEmailFromWhitelistedDomain = function isEmailFromWhitelistedDomain(email, whitelistedDomains) {
|
|
487
|
+
if (isEmpty(whitelistedDomains)) return true;
|
|
488
|
+
var domain = extractEmailDomain(email);
|
|
489
|
+
return includes(domain, whitelistedDomains);
|
|
490
|
+
};
|
|
491
|
+
var isEmailFromBlacklistedDomain = function isEmailFromBlacklistedDomain(email, blacklistedDomains) {
|
|
525
492
|
var domain = extractEmailDomain(email);
|
|
526
|
-
return includes(domain,
|
|
493
|
+
return includes(domain, blacklistedDomains);
|
|
527
494
|
};
|
|
528
495
|
var validateTextField = function validateTextField(_ref) {
|
|
529
496
|
var kind = _ref.kind,
|
|
@@ -539,14 +506,15 @@ var validateTextField = function validateTextField(_ref) {
|
|
|
539
506
|
var validateEmailField = function validateEmailField(_ref2) {
|
|
540
507
|
var label = _ref2.label,
|
|
541
508
|
isRequired = _ref2.isRequired,
|
|
542
|
-
|
|
509
|
+
whitelistedDomains = _ref2.whitelistedDomains,
|
|
510
|
+
blacklistedDomains = _ref2.blacklistedDomains;
|
|
543
511
|
var schema = yup.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email")).test("verify domain", function (_ref3) {
|
|
544
512
|
var value = _ref3.value;
|
|
545
513
|
return t("neetoForm.error.emailFromRestrictedDomain", {
|
|
546
514
|
domain: extractEmailDomain(value)
|
|
547
515
|
});
|
|
548
516
|
}, function (value) {
|
|
549
|
-
return isNotPresent(value) || !
|
|
517
|
+
return isNotPresent(value) || isEmailFromWhitelistedDomain(value, whitelistedDomains) && !isEmailFromBlacklistedDomain(value, blacklistedDomains);
|
|
550
518
|
});
|
|
551
519
|
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
552
520
|
return schema.trim();
|
|
@@ -660,7 +628,7 @@ var validateFieldValue = function validateFieldValue(_ref16) {
|
|
|
660
628
|
return function (value) {
|
|
661
629
|
if (!(kind in fieldKindValidatorMap)) return;
|
|
662
630
|
var validator = fieldKindValidatorMap[kind];
|
|
663
|
-
var schema = customValidator || validator(_objectSpread$
|
|
631
|
+
var schema = customValidator || validator(_objectSpread$d({
|
|
664
632
|
kind: kind
|
|
665
633
|
}, otherProps));
|
|
666
634
|
|
|
@@ -872,6 +840,7 @@ var MathCaptcha = function MathCaptcha(_ref) {
|
|
|
872
840
|
}, [userInput]);
|
|
873
841
|
return /*#__PURE__*/jsxs("div", {
|
|
874
842
|
className: "neeto-form-nano-math-captcha",
|
|
843
|
+
"data-cy": "math-captcha",
|
|
875
844
|
ref: captchaRef,
|
|
876
845
|
children: [/*#__PURE__*/jsx("button", {
|
|
877
846
|
className: "neeto-form-nano-math-captcha__button",
|
|
@@ -881,10 +850,13 @@ var MathCaptcha = function MathCaptcha(_ref) {
|
|
|
881
850
|
}), /*#__PURE__*/jsxs("div", {
|
|
882
851
|
className: "neeto-form-nano-math-captcha__equation",
|
|
883
852
|
children: [/*#__PURE__*/jsx("span", {
|
|
853
|
+
"data-cy": "first-number",
|
|
884
854
|
children: firstNumber
|
|
885
855
|
}), /*#__PURE__*/jsx("span", {
|
|
856
|
+
"data-cy": "operator",
|
|
886
857
|
children: operator
|
|
887
858
|
}), /*#__PURE__*/jsx("span", {
|
|
859
|
+
"data-cy": "second-number",
|
|
888
860
|
children: secondNumber
|
|
889
861
|
}), /*#__PURE__*/jsx("span", {
|
|
890
862
|
children: "="
|
|
@@ -892,6 +864,7 @@ var MathCaptcha = function MathCaptcha(_ref) {
|
|
|
892
864
|
}), /*#__PURE__*/jsx(Input, {
|
|
893
865
|
required: true,
|
|
894
866
|
className: "neeto-form-nano-math-captcha__input",
|
|
867
|
+
"data-cy": "math-captcha-input",
|
|
895
868
|
value: userInput,
|
|
896
869
|
onBlur: handleBlur,
|
|
897
870
|
onChange: withEventTargetValue(setUserInput)
|
|
@@ -923,8 +896,8 @@ var Recaptcha = function Recaptcha(_ref) {
|
|
|
923
896
|
}, clientI18nInstance.language);
|
|
924
897
|
};
|
|
925
898
|
|
|
926
|
-
function ownKeys$
|
|
927
|
-
function _objectSpread$
|
|
899
|
+
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; }
|
|
900
|
+
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; }
|
|
928
901
|
var ConditionField = function ConditionField(_ref) {
|
|
929
902
|
var question = _ref.question,
|
|
930
903
|
customValidator = _ref.customValidator;
|
|
@@ -944,7 +917,7 @@ var ConditionField = function ConditionField(_ref) {
|
|
|
944
917
|
children: function children(_ref2) {
|
|
945
918
|
var meta = _ref2.meta,
|
|
946
919
|
field = _ref2.field;
|
|
947
|
-
return /*#__PURE__*/jsx(Checkbox, _objectSpread$
|
|
920
|
+
return /*#__PURE__*/jsx(Checkbox, _objectSpread$c(_objectSpread$c({}, _objectSpread$c(_objectSpread$c({}, field), {}, {
|
|
948
921
|
label: label,
|
|
949
922
|
name: name
|
|
950
923
|
})), {}, {
|
|
@@ -957,8 +930,8 @@ var ConditionField = function ConditionField(_ref) {
|
|
|
957
930
|
};
|
|
958
931
|
|
|
959
932
|
var _excluded$3 = ["value"];
|
|
960
|
-
function ownKeys$
|
|
961
|
-
function _objectSpread$
|
|
933
|
+
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; }
|
|
934
|
+
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; }
|
|
962
935
|
var DateField = function DateField(_ref) {
|
|
963
936
|
var question = _ref.question,
|
|
964
937
|
customValidator = _ref.customValidator;
|
|
@@ -975,6 +948,7 @@ var DateField = function DateField(_ref) {
|
|
|
975
948
|
className: "neeto-form-engine-input__label-wrapper",
|
|
976
949
|
children: label && /*#__PURE__*/jsx("label", {
|
|
977
950
|
className: "neeto-form-engine-label",
|
|
951
|
+
"data-cy": "".concat(hyphenate(label), "-input-label"),
|
|
978
952
|
children: getLabel(label, isRequired)
|
|
979
953
|
})
|
|
980
954
|
}), /*#__PURE__*/jsx("div", {
|
|
@@ -993,9 +967,10 @@ var DateField = function DateField(_ref) {
|
|
|
993
967
|
value = _ref2$field.value,
|
|
994
968
|
field = _objectWithoutProperties(_ref2$field, _excluded$3),
|
|
995
969
|
form = _ref2.form;
|
|
996
|
-
return /*#__PURE__*/jsx(DatePicker, _objectSpread$
|
|
970
|
+
return /*#__PURE__*/jsx(DatePicker, _objectSpread$b(_objectSpread$b({}, _objectSpread$b(_objectSpread$b({}, field), {}, {
|
|
997
971
|
type: type
|
|
998
972
|
})), {}, {
|
|
973
|
+
"data-cy": "".concat(hyphenate(label), "-input-field"),
|
|
999
974
|
dateFormat: "MMM D, YYYY",
|
|
1000
975
|
error: meta.touched ? meta.error : "",
|
|
1001
976
|
placeholder: fieldWithFallback(question, "placeholder"),
|
|
@@ -1013,8 +988,8 @@ var DateField = function DateField(_ref) {
|
|
|
1013
988
|
});
|
|
1014
989
|
};
|
|
1015
990
|
|
|
1016
|
-
function ownKeys$
|
|
1017
|
-
function _objectSpread$
|
|
991
|
+
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; }
|
|
992
|
+
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; }
|
|
1018
993
|
var EmailField = function EmailField(_ref) {
|
|
1019
994
|
var question = _ref.question,
|
|
1020
995
|
customValidator = _ref.customValidator,
|
|
@@ -1022,8 +997,10 @@ var EmailField = function EmailField(_ref) {
|
|
|
1022
997
|
var name = question.id,
|
|
1023
998
|
kind = question.kind,
|
|
1024
999
|
isRequired = question.isRequired,
|
|
1025
|
-
|
|
1026
|
-
|
|
1000
|
+
isDomainWhitelistingEnabled = question.isDomainWhitelistingEnabled,
|
|
1001
|
+
whitelistedDomains = question.whitelistedDomains,
|
|
1002
|
+
isDomainBlacklistingEnabled = question.isDomainBlacklistingEnabled,
|
|
1003
|
+
blacklistedDomains = question.blacklistedDomains,
|
|
1027
1004
|
nodeId = question.nodeId;
|
|
1028
1005
|
var label = fieldWithFallback(question, "label");
|
|
1029
1006
|
var type = QUESTION_KIND[kind.toUpperCase()].type;
|
|
@@ -1034,7 +1011,8 @@ var EmailField = function EmailField(_ref) {
|
|
|
1034
1011
|
label: label,
|
|
1035
1012
|
isRequired: isRequired,
|
|
1036
1013
|
customValidator: customValidator,
|
|
1037
|
-
|
|
1014
|
+
whitelistedDomains: isDomainWhitelistingEnabled ? whitelistedDomains : [],
|
|
1015
|
+
blacklistedDomains: isDomainBlacklistingEnabled ? blacklistedDomains : []
|
|
1038
1016
|
})
|
|
1039
1017
|
}),
|
|
1040
1018
|
_useField2 = _slicedToArray(_useField, 3),
|
|
@@ -1046,7 +1024,7 @@ var EmailField = function EmailField(_ref) {
|
|
|
1046
1024
|
setValue = _useField2$2.setValue,
|
|
1047
1025
|
setTouched = _useField2$2.setTouched;
|
|
1048
1026
|
var handleFieldChange = withEventTargetValue(setValue);
|
|
1049
|
-
return /*#__PURE__*/jsx(Input, _objectSpread$
|
|
1027
|
+
return /*#__PURE__*/jsx(Input, _objectSpread$a(_objectSpread$a({}, _objectSpread$a(_objectSpread$a({
|
|
1050
1028
|
type: type
|
|
1051
1029
|
}, field), {}, {
|
|
1052
1030
|
autoComplete: autoComplete,
|
|
@@ -1063,424 +1041,6 @@ var EmailField = function EmailField(_ref) {
|
|
|
1063
1041
|
}));
|
|
1064
1042
|
};
|
|
1065
1043
|
|
|
1066
|
-
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; }
|
|
1067
|
-
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; }
|
|
1068
|
-
var useFileUpload = function useFileUpload(_ref) {
|
|
1069
|
-
var disabled = _ref.disabled,
|
|
1070
|
-
accept = _ref.accept,
|
|
1071
|
-
multiple = _ref.multiple,
|
|
1072
|
-
name = _ref.name,
|
|
1073
|
-
maxFileSize = _ref.maxFileSize;
|
|
1074
|
-
var _useState = useState({}),
|
|
1075
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1076
|
-
uploadProgress = _useState2[0],
|
|
1077
|
-
setUploadProgress = _useState2[1];
|
|
1078
|
-
var _useState3 = useState(""),
|
|
1079
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1080
|
-
uploadError = _useState4[0],
|
|
1081
|
-
setUploadError = _useState4[1];
|
|
1082
|
-
var _useField = useField(name),
|
|
1083
|
-
_useField2 = _slicedToArray(_useField, 3);
|
|
1084
|
-
_useField2[0];
|
|
1085
|
-
var value = _useField2[1].value,
|
|
1086
|
-
_useField2$ = _useField2[2],
|
|
1087
|
-
setValue = _useField2$.setValue,
|
|
1088
|
-
setError = _useField2$.setError,
|
|
1089
|
-
setTouched = _useField2$.setTouched;
|
|
1090
|
-
var filesRef = useRef(value === null || value === void 0 ? void 0 : value.files);
|
|
1091
|
-
filesRef.current = value === null || value === void 0 ? void 0 : value.files;
|
|
1092
|
-
var cancel = useCallback(function (index) {
|
|
1093
|
-
return function () {
|
|
1094
|
-
var _value$files;
|
|
1095
|
-
setUploadProgress(assoc(value.files[index].name, null));
|
|
1096
|
-
var newFiles = (_value$files = value.files) === null || _value$files === void 0 ? void 0 : _value$files.filter(function (_, idx) {
|
|
1097
|
-
return idx !== index;
|
|
1098
|
-
});
|
|
1099
|
-
setValue({
|
|
1100
|
-
files: newFiles
|
|
1101
|
-
});
|
|
1102
|
-
};
|
|
1103
|
-
}, [value]);
|
|
1104
|
-
useEffect(function () {
|
|
1105
|
-
uploadError && setError(uploadError);
|
|
1106
|
-
}, [uploadError]);
|
|
1107
|
-
var onDropAccepted = /*#__PURE__*/function () {
|
|
1108
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(acceptedFiles) {
|
|
1109
|
-
var initialFiles, updatedFiles, newFiles;
|
|
1110
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1111
|
-
while (1) switch (_context.prev = _context.next) {
|
|
1112
|
-
case 0:
|
|
1113
|
-
setTouched(false);
|
|
1114
|
-
setUploadError("");
|
|
1115
|
-
initialFiles = acceptedFiles.map(function (file) {
|
|
1116
|
-
return {
|
|
1117
|
-
name: file.name,
|
|
1118
|
-
size: file.size
|
|
1119
|
-
};
|
|
1120
|
-
});
|
|
1121
|
-
updatedFiles = multiple ? [].concat(_toConsumableArray(value.files || []), _toConsumableArray(initialFiles)) : initialFiles;
|
|
1122
|
-
setValue({
|
|
1123
|
-
files: updatedFiles
|
|
1124
|
-
});
|
|
1125
|
-
_context.next = 7;
|
|
1126
|
-
return new Promise(function (resolve) {
|
|
1127
|
-
var files = [];
|
|
1128
|
-
acceptedFiles.forEach(function (file) {
|
|
1129
|
-
setUploadProgress(assoc(file.name, 0));
|
|
1130
|
-
var upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {
|
|
1131
|
-
directUploadWillStoreFileWithXHR: function directUploadWillStoreFileWithXHR(xhr) {
|
|
1132
|
-
xhr.upload.addEventListener("progress", function (event) {
|
|
1133
|
-
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
1134
|
-
setUploadProgress(assoc(file.name, percentComplete));
|
|
1135
|
-
});
|
|
1136
|
-
xhr.upload.addEventListener("load", function () {
|
|
1137
|
-
setUploadProgress(assoc(file.name, undefined));
|
|
1138
|
-
});
|
|
1139
|
-
}
|
|
1140
|
-
});
|
|
1141
|
-
upload.create(function (error, blob) {
|
|
1142
|
-
if (error) {
|
|
1143
|
-
return setUploadError(error);
|
|
1144
|
-
}
|
|
1145
|
-
files.push({
|
|
1146
|
-
url: blob.blob_url,
|
|
1147
|
-
name: blob.filename,
|
|
1148
|
-
signedId: blob.signed_id
|
|
1149
|
-
});
|
|
1150
|
-
var isUploadCompleted = multiple ? acceptedFiles.length === files.length : files.length === 1;
|
|
1151
|
-
if (isUploadCompleted) {
|
|
1152
|
-
return resolve(files);
|
|
1153
|
-
}
|
|
1154
|
-
return "";
|
|
1155
|
-
});
|
|
1156
|
-
});
|
|
1157
|
-
return files;
|
|
1158
|
-
});
|
|
1159
|
-
case 7:
|
|
1160
|
-
newFiles = _context.sent;
|
|
1161
|
-
if (multiple) {
|
|
1162
|
-
setValue({
|
|
1163
|
-
files: filesRef.current.map(function (file) {
|
|
1164
|
-
var uploadedFile = findBy({
|
|
1165
|
-
name: file.name
|
|
1166
|
-
}, newFiles);
|
|
1167
|
-
return _objectSpread$b(_objectSpread$b({}, file), uploadedFile);
|
|
1168
|
-
})
|
|
1169
|
-
});
|
|
1170
|
-
} else {
|
|
1171
|
-
setValue({
|
|
1172
|
-
files: newFiles
|
|
1173
|
-
});
|
|
1174
|
-
}
|
|
1175
|
-
case 9:
|
|
1176
|
-
case "end":
|
|
1177
|
-
return _context.stop();
|
|
1178
|
-
}
|
|
1179
|
-
}, _callee);
|
|
1180
|
-
}));
|
|
1181
|
-
return function onDropAccepted(_x) {
|
|
1182
|
-
return _ref2.apply(this, arguments);
|
|
1183
|
-
};
|
|
1184
|
-
}();
|
|
1185
|
-
var onDropRejected = function onDropRejected(fileRejections) {
|
|
1186
|
-
fileRejections.forEach(function (fileObject) {
|
|
1187
|
-
setTouched(true);
|
|
1188
|
-
setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));
|
|
1189
|
-
});
|
|
1190
|
-
};
|
|
1191
|
-
var _useDropzone = useDropzone({
|
|
1192
|
-
disabled: disabled,
|
|
1193
|
-
accept: accept,
|
|
1194
|
-
multiple: multiple,
|
|
1195
|
-
onDropAccepted: onDropAccepted,
|
|
1196
|
-
onDropRejected: onDropRejected,
|
|
1197
|
-
maxSize: convertMbToBytes(maxFileSize)
|
|
1198
|
-
}),
|
|
1199
|
-
getRootProps = _useDropzone.getRootProps,
|
|
1200
|
-
getInputProps = _useDropzone.getInputProps,
|
|
1201
|
-
isDragActive = _useDropzone.isDragActive,
|
|
1202
|
-
fileRejections = _useDropzone.fileRejections;
|
|
1203
|
-
return {
|
|
1204
|
-
files: value === null || value === void 0 ? void 0 : value.files,
|
|
1205
|
-
progress: uploadProgress,
|
|
1206
|
-
cancel: cancel,
|
|
1207
|
-
getRootProps: getRootProps,
|
|
1208
|
-
getInputProps: getInputProps,
|
|
1209
|
-
isDragActive: isDragActive,
|
|
1210
|
-
fileRejections: fileRejections
|
|
1211
|
-
};
|
|
1212
|
-
};
|
|
1213
|
-
|
|
1214
|
-
var _path;
|
|
1215
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1216
|
-
const SvgFileUpload = props => /*#__PURE__*/React.createElement("svg", _extends({
|
|
1217
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1218
|
-
width: 48,
|
|
1219
|
-
height: 36,
|
|
1220
|
-
fill: "none"
|
|
1221
|
-
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
1222
|
-
fill: "currentColor",
|
|
1223
|
-
d: "M32 26h-6v10h-4V26h-6l8-8 8 8zm6.958-11.816C38.534 6.282 32.012 0 24 0S9.466 6.282 9.042 14.184C3.902 15.11 0 19.596 0 25c0 6.074 4.926 11 11 11h7v-4h-7c-3.86 0-7-3.14-7-7 0-5.594 4.958-7.666 8.866-7.44C12.532 9.124 17.282 4 24 4c6.906 0 11.782 5.594 11.134 13.56C38.624 17.468 44 19.062 44 25c0 3.86-3.14 7-7 7h-7v4h7c6.074 0 11-4.926 11-11 0-5.404-3.902-9.89-9.042-10.816z"
|
|
1224
|
-
})));
|
|
1225
|
-
|
|
1226
|
-
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; }
|
|
1227
|
-
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; }
|
|
1228
|
-
var DropZone = function DropZone(_ref) {
|
|
1229
|
-
var isDragActive = _ref.isDragActive,
|
|
1230
|
-
getRootProps = _ref.getRootProps,
|
|
1231
|
-
getInputProps = _ref.getInputProps,
|
|
1232
|
-
multipleFilesAllowed = _ref.multipleFilesAllowed,
|
|
1233
|
-
_ref$hasFileSizeLimit = _ref.hasFileSizeLimit,
|
|
1234
|
-
hasFileSizeLimit = _ref$hasFileSizeLimit === void 0 ? true : _ref$hasFileSizeLimit,
|
|
1235
|
-
maxFileSize = _ref.maxFileSize,
|
|
1236
|
-
allowedFileTypes = _ref.allowedFileTypes;
|
|
1237
|
-
var _useTranslation = useTranslation(),
|
|
1238
|
-
t = _useTranslation.t;
|
|
1239
|
-
var shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;
|
|
1240
|
-
return /*#__PURE__*/jsx("div", _objectSpread$a(_objectSpread$a({}, getRootProps({
|
|
1241
|
-
className: classnames(["neeto-form-engine-file-upload__dropzone"], {
|
|
1242
|
-
"neeto-form-engine-file-upload__dropzone--drag-active": isDragActive
|
|
1243
|
-
})
|
|
1244
|
-
})), {}, {
|
|
1245
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
1246
|
-
className: "neeto-form-engine-file-upload__dropzone-inner",
|
|
1247
|
-
"data-cy": "file-upload-body",
|
|
1248
|
-
children: [/*#__PURE__*/jsx(SvgFileUpload, {
|
|
1249
|
-
className: "neeto-form-engine-file-upload__upload-icon"
|
|
1250
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
1251
|
-
className: "neeto-form-engine-file-upload__dropzone-content",
|
|
1252
|
-
children: [/*#__PURE__*/jsxs("label", {
|
|
1253
|
-
className: "neeto-form-engine-file-upload__upload-label",
|
|
1254
|
-
htmlFor: "file-upload",
|
|
1255
|
-
children: [/*#__PURE__*/jsx(Trans, {
|
|
1256
|
-
i18nKey: "neetoForm.fileUpload.dropzone.chooseOrDragFile",
|
|
1257
|
-
components: {
|
|
1258
|
-
typography: /*#__PURE__*/jsx(Typography, {
|
|
1259
|
-
component: "span",
|
|
1260
|
-
weight: "semibold"
|
|
1261
|
-
}),
|
|
1262
|
-
span: /*#__PURE__*/jsx(Typography, {
|
|
1263
|
-
component: "span",
|
|
1264
|
-
weight: "normal"
|
|
1265
|
-
})
|
|
1266
|
-
}
|
|
1267
|
-
}), /*#__PURE__*/jsx("input", _objectSpread$a(_objectSpread$a({}, getInputProps()), {}, {
|
|
1268
|
-
"data-cy": "file-browse-button"
|
|
1269
|
-
}))]
|
|
1270
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
1271
|
-
className: "neeto-form-engine-file-upload__dropzone-helper-block",
|
|
1272
|
-
children: [!multipleFilesAllowed && /*#__PURE__*/jsx(Typography, {
|
|
1273
|
-
className: "neeto-form-engine-file-upload__dropzone-helper-text",
|
|
1274
|
-
"data-cy": "upload-only-one-file-text",
|
|
1275
|
-
style: "body3",
|
|
1276
|
-
children: t("neetoForm.fileUpload.dropzone.oneFileAllowed")
|
|
1277
|
-
}), shouldShowFileSizeLimit && /*#__PURE__*/jsx(Typography, {
|
|
1278
|
-
className: "neeto-form-engine-file-upload__dropzone-helper-text",
|
|
1279
|
-
"data-cy": "maximum-allowed-size-text",
|
|
1280
|
-
style: "body3",
|
|
1281
|
-
children: t("neetoForm.fileUpload.dropzone.maxFileSize", {
|
|
1282
|
-
size: maxFileSize,
|
|
1283
|
-
unit: t("neetoForm.fileUpload.mb")
|
|
1284
|
-
})
|
|
1285
|
-
}), allowedFileTypes && /*#__PURE__*/jsx(Typography, {
|
|
1286
|
-
className: "neeto-form-engine-file-upload__dropzone-helper-text",
|
|
1287
|
-
"data-cy": "allowed-files-types-text",
|
|
1288
|
-
style: "body3",
|
|
1289
|
-
children: t("neetoForm.fileUpload.dropzone.allowedFileTypes", {
|
|
1290
|
-
types: allowedFileTypes
|
|
1291
|
-
})
|
|
1292
|
-
})]
|
|
1293
|
-
})]
|
|
1294
|
-
})]
|
|
1295
|
-
})
|
|
1296
|
-
}));
|
|
1297
|
-
};
|
|
1298
|
-
|
|
1299
|
-
var Progress = function Progress(_ref) {
|
|
1300
|
-
var percents = _ref.percents,
|
|
1301
|
-
_ref$stroke = _ref.stroke,
|
|
1302
|
-
stroke = _ref$stroke === void 0 ? "blue" : _ref$stroke,
|
|
1303
|
-
_ref$emptyStroke = _ref.emptyStroke,
|
|
1304
|
-
emptyStroke = _ref$emptyStroke === void 0 ? stroke : _ref$emptyStroke,
|
|
1305
|
-
_ref$emptyStrokeOpaci = _ref.emptyStrokeOpacity,
|
|
1306
|
-
emptyStrokeOpacity = _ref$emptyStrokeOpaci === void 0 ? 0.25 : _ref$emptyStrokeOpaci,
|
|
1307
|
-
_ref$duration = _ref.duration,
|
|
1308
|
-
duration = _ref$duration === void 0 ? 0.5 : _ref$duration,
|
|
1309
|
-
_ref$delay = _ref.delay,
|
|
1310
|
-
delay = _ref$delay === void 0 ? 0 : _ref$delay,
|
|
1311
|
-
_ref$size = _ref.size,
|
|
1312
|
-
size = _ref$size === void 0 ? 100 : _ref$size,
|
|
1313
|
-
_ref$strokeWidth = _ref.strokeWidth,
|
|
1314
|
-
strokeWidth = _ref$strokeWidth === void 0 ? 12 : _ref$strokeWidth;
|
|
1315
|
-
var radius = 45;
|
|
1316
|
-
var circumference = Math.ceil(2 * Math.PI * radius);
|
|
1317
|
-
var fillPercents = Math.abs(Math.ceil(circumference / 100 * (percents - 100)));
|
|
1318
|
-
var transition = {
|
|
1319
|
-
duration: duration,
|
|
1320
|
-
delay: delay
|
|
1321
|
-
};
|
|
1322
|
-
var variants = {
|
|
1323
|
-
hidden: {
|
|
1324
|
-
strokeDashoffset: circumference,
|
|
1325
|
-
transition: transition
|
|
1326
|
-
},
|
|
1327
|
-
show: {
|
|
1328
|
-
strokeDashoffset: fillPercents,
|
|
1329
|
-
transition: transition
|
|
1330
|
-
}
|
|
1331
|
-
};
|
|
1332
|
-
return /*#__PURE__*/jsx("div", {
|
|
1333
|
-
className: "neeto-form-engine-progress__circle",
|
|
1334
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
1335
|
-
className: "neeto-form-engine-progress__circle-wrapper",
|
|
1336
|
-
style: {
|
|
1337
|
-
height: size
|
|
1338
|
-
},
|
|
1339
|
-
children: [/*#__PURE__*/jsx("svg", {
|
|
1340
|
-
height: size,
|
|
1341
|
-
version: "1.1",
|
|
1342
|
-
viewBox: "0 0 100 100",
|
|
1343
|
-
width: size,
|
|
1344
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1345
|
-
children: /*#__PURE__*/jsx("circle", {
|
|
1346
|
-
strokeWidth: strokeWidth,
|
|
1347
|
-
className: "circle",
|
|
1348
|
-
cx: "50",
|
|
1349
|
-
cy: "50",
|
|
1350
|
-
fill: "transparent",
|
|
1351
|
-
r: radius,
|
|
1352
|
-
stroke: emptyStroke,
|
|
1353
|
-
strokeOpacity: emptyStrokeOpacity
|
|
1354
|
-
})
|
|
1355
|
-
}), /*#__PURE__*/jsx("svg", {
|
|
1356
|
-
height: size,
|
|
1357
|
-
viewBox: "0 0 100 100",
|
|
1358
|
-
width: size,
|
|
1359
|
-
style: {
|
|
1360
|
-
position: "absolute",
|
|
1361
|
-
transform: "rotate(-90deg)",
|
|
1362
|
-
overflow: "visible",
|
|
1363
|
-
top: 0
|
|
1364
|
-
},
|
|
1365
|
-
children: /*#__PURE__*/jsx(motion.circle, {
|
|
1366
|
-
stroke: stroke,
|
|
1367
|
-
strokeWidth: strokeWidth,
|
|
1368
|
-
variants: variants,
|
|
1369
|
-
animate: "show",
|
|
1370
|
-
cx: "50",
|
|
1371
|
-
cy: "50",
|
|
1372
|
-
fill: "transparent",
|
|
1373
|
-
initial: "hidden",
|
|
1374
|
-
r: radius,
|
|
1375
|
-
strokeDasharray: circumference,
|
|
1376
|
-
strokeDashoffset: fillPercents
|
|
1377
|
-
})
|
|
1378
|
-
})]
|
|
1379
|
-
})
|
|
1380
|
-
});
|
|
1381
|
-
};
|
|
1382
|
-
|
|
1383
|
-
var FILE_MIME_TYPES = {
|
|
1384
|
-
pdf: ["application/pdf"],
|
|
1385
|
-
doc: ["application/msword", "application/wps-writer"],
|
|
1386
|
-
docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
|
|
1387
|
-
xls: ["application/vnd.ms-excel"],
|
|
1388
|
-
xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
|
|
1389
|
-
csv: ["text/csv"],
|
|
1390
|
-
txt: ["text/plain"],
|
|
1391
|
-
rtf: ["application/rtf", "text/rtf"],
|
|
1392
|
-
html: ["text/html"],
|
|
1393
|
-
htm: ["text/html"],
|
|
1394
|
-
md: ["text/markdown", "text/x-markdown"],
|
|
1395
|
-
zip: ["application/zip"],
|
|
1396
|
-
mp3: ["audio/mpeg"],
|
|
1397
|
-
wma: ["audio/x-ms-wma", "video/x-ms-asf"],
|
|
1398
|
-
mp4: ["video/mp4"],
|
|
1399
|
-
webm: ["video/webm"],
|
|
1400
|
-
mpg: ["video/mpeg"],
|
|
1401
|
-
mpeg: ["video/mpeg"],
|
|
1402
|
-
flv: ["video/x-flv"],
|
|
1403
|
-
avi: ["video/x-msvideo"],
|
|
1404
|
-
jpg: ["image/jpeg"],
|
|
1405
|
-
jpeg: ["image/jpeg"],
|
|
1406
|
-
png: ["image/png"],
|
|
1407
|
-
gif: ["image/gif"]
|
|
1408
|
-
};
|
|
1409
|
-
|
|
1410
|
-
var getAcceptedFileTypes = function getAcceptedFileTypes(allowedFileTypes) {
|
|
1411
|
-
var accepted = {};
|
|
1412
|
-
allowedFileTypes.split(", ").forEach(function (type) {
|
|
1413
|
-
var mimeTypes = FILE_MIME_TYPES[type];
|
|
1414
|
-
var extension = ".".concat(type);
|
|
1415
|
-
if (isNotPresent(type) || isNotPresent(mimeTypes)) return;
|
|
1416
|
-
mimeTypes.forEach(function (mimeType) {
|
|
1417
|
-
if (accepted[mimeType]) accepted[mimeType].push(extension);else accepted[mimeType] = [extension];
|
|
1418
|
-
});
|
|
1419
|
-
});
|
|
1420
|
-
return accepted;
|
|
1421
|
-
};
|
|
1422
|
-
var convertBytesToMb = function convertBytesToMb(bytes) {
|
|
1423
|
-
return (bytes / (1024 * 1024)).toFixed(2);
|
|
1424
|
-
};
|
|
1425
|
-
|
|
1426
|
-
var FilePreview = withT(function (_ref) {
|
|
1427
|
-
var t = _ref.t,
|
|
1428
|
-
file = _ref.file,
|
|
1429
|
-
isUploading = _ref.isUploading,
|
|
1430
|
-
cancel = _ref.cancel,
|
|
1431
|
-
progress = _ref.progress;
|
|
1432
|
-
return /*#__PURE__*/jsxs("li", {
|
|
1433
|
-
className: "neeto-form-engine-file-upload__uploaded-list-item",
|
|
1434
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
1435
|
-
className: "neeto-form-engine-file-upload__file-preview",
|
|
1436
|
-
children: [/*#__PURE__*/jsx(Button, {
|
|
1437
|
-
className: classnames("p-0", {
|
|
1438
|
-
invisible: isUploading
|
|
1439
|
-
}),
|
|
1440
|
-
href: file.url,
|
|
1441
|
-
icon: FileGeneric,
|
|
1442
|
-
iconSize: 24,
|
|
1443
|
-
rel: "noreferrer",
|
|
1444
|
-
size: "large",
|
|
1445
|
-
style: "text",
|
|
1446
|
-
target: "_blank"
|
|
1447
|
-
}), isUploading && /*#__PURE__*/jsx("div", {
|
|
1448
|
-
className: "neeto-form-engine-progress",
|
|
1449
|
-
children: /*#__PURE__*/jsx(Progress, {
|
|
1450
|
-
percents: progress || 0,
|
|
1451
|
-
size: 20
|
|
1452
|
-
})
|
|
1453
|
-
})]
|
|
1454
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
1455
|
-
className: "flex min-w-0 grow flex-col break-words",
|
|
1456
|
-
children: [/*#__PURE__*/jsx(Typography, {
|
|
1457
|
-
className: "neeto-form-engine-file-upload__file-info-name",
|
|
1458
|
-
style: "body2",
|
|
1459
|
-
children: file.name
|
|
1460
|
-
}), /*#__PURE__*/jsx(Typography, {
|
|
1461
|
-
className: "neeto-form-engine-file-upload__file-info-size",
|
|
1462
|
-
style: "body3",
|
|
1463
|
-
children: file.size ? t("neetoForm.fileUpload.fileSizeInMb", {
|
|
1464
|
-
fileSize: convertBytesToMb(file.size)
|
|
1465
|
-
}) : ""
|
|
1466
|
-
})]
|
|
1467
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
1468
|
-
className: "neeto-form-engine-file-upload__actions",
|
|
1469
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
1470
|
-
className: classnames("neeto-form-engine-file-upload__success-indicator", {
|
|
1471
|
-
"neeto-form-engine-file-upload__success-indicator--active": file.url
|
|
1472
|
-
}),
|
|
1473
|
-
children: file.url && /*#__PURE__*/jsx(Check, {})
|
|
1474
|
-
}), /*#__PURE__*/jsx("button", {
|
|
1475
|
-
className: "neeto-form-engine-file-upload__button--red neeto-form-engine-file-upload__remove-button",
|
|
1476
|
-
type: "button",
|
|
1477
|
-
onClick: cancel,
|
|
1478
|
-
children: /*#__PURE__*/jsx(Close, {})
|
|
1479
|
-
})]
|
|
1480
|
-
})]
|
|
1481
|
-
}, file.url);
|
|
1482
|
-
});
|
|
1483
|
-
|
|
1484
1044
|
var FileUploadField = function FileUploadField(_ref) {
|
|
1485
1045
|
var question = _ref.question,
|
|
1486
1046
|
_ref$preview = _ref.preview,
|
|
@@ -1504,30 +1064,17 @@ var FileUploadField = function FileUploadField(_ref) {
|
|
|
1504
1064
|
multipleFilesAllowed: multipleFilesAllowed
|
|
1505
1065
|
})
|
|
1506
1066
|
}),
|
|
1507
|
-
_useField2 = _slicedToArray(_useField,
|
|
1067
|
+
_useField2 = _slicedToArray(_useField, 3);
|
|
1508
1068
|
_useField2[0];
|
|
1509
1069
|
var _useField2$ = _useField2[1],
|
|
1070
|
+
value = _useField2$.value,
|
|
1510
1071
|
touched = _useField2$.touched,
|
|
1511
|
-
error = _useField2$.error
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
maxFileSize: maxFileSize
|
|
1518
|
-
}),
|
|
1519
|
-
files = _useFileUpload.files,
|
|
1520
|
-
progress = _useFileUpload.progress,
|
|
1521
|
-
cancel = _useFileUpload.cancel,
|
|
1522
|
-
getRootProps = _useFileUpload.getRootProps,
|
|
1523
|
-
getInputProps = _useFileUpload.getInputProps,
|
|
1524
|
-
isDragActive = _useFileUpload.isDragActive,
|
|
1525
|
-
fileRejections = _useFileUpload.fileRejections;
|
|
1526
|
-
var shouldShowError = touched && error && isEmpty(fileRejections);
|
|
1527
|
-
var maxFileSizeInBytes = convertMbToBytes(maxFileSize);
|
|
1528
|
-
var isUploadingFile = function isUploadingFile(file) {
|
|
1529
|
-
return isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);
|
|
1530
|
-
};
|
|
1072
|
+
error = _useField2$.error,
|
|
1073
|
+
_useField2$2 = _useField2[2],
|
|
1074
|
+
setValue = _useField2$2.setValue,
|
|
1075
|
+
setError = _useField2$2.setError,
|
|
1076
|
+
setTouched = _useField2$2.setTouched;
|
|
1077
|
+
var errorToDisplay = touched && error ? error : "";
|
|
1531
1078
|
return /*#__PURE__*/jsxs("div", {
|
|
1532
1079
|
className: "neeto-form-engine-input__wrapper",
|
|
1533
1080
|
children: [/*#__PURE__*/jsx("div", {
|
|
@@ -1537,32 +1084,20 @@ var FileUploadField = function FileUploadField(_ref) {
|
|
|
1537
1084
|
required: isRequired,
|
|
1538
1085
|
children: label
|
|
1539
1086
|
})
|
|
1540
|
-
}), /*#__PURE__*/jsx(
|
|
1087
|
+
}), /*#__PURE__*/jsx(FileUpload, {
|
|
1541
1088
|
allowedFileTypes: allowedFileTypes,
|
|
1542
|
-
getInputProps: getInputProps,
|
|
1543
|
-
getRootProps: getRootProps,
|
|
1544
|
-
isDragActive: isDragActive,
|
|
1545
1089
|
maxFileSize: maxFileSize,
|
|
1546
|
-
multipleFilesAllowed: multipleFilesAllowed
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
progress: progress[file.name]
|
|
1090
|
+
multipleFilesAllowed: multipleFilesAllowed,
|
|
1091
|
+
setError: setError,
|
|
1092
|
+
setTouched: setTouched,
|
|
1093
|
+
error: errorToDisplay,
|
|
1094
|
+
files: value === null || value === void 0 ? void 0 : value.files,
|
|
1095
|
+
isPreview: preview,
|
|
1096
|
+
onChange: function onChange(files) {
|
|
1097
|
+
return setValue({
|
|
1098
|
+
files: files
|
|
1556
1099
|
});
|
|
1557
|
-
}
|
|
1558
|
-
}), isNotEmpty(fileRejections) && fileRejections.map(function (file, index) {
|
|
1559
|
-
return /*#__PURE__*/jsx(Typography, {
|
|
1560
|
-
className: "neeto-ui-text-error-800 neeto-ui-bg-pastel-red neeto-ui-rounded-sm mt-2 inline-block w-full p-1 text-sm",
|
|
1561
|
-
children: renderErrorMessage(file, maxFileSizeInBytes, false)
|
|
1562
|
-
}, index);
|
|
1563
|
-
}), shouldShowError && /*#__PURE__*/jsx(Typography, {
|
|
1564
|
-
className: "neeto-ui-text-error-800 neeto-ui-bg-pastel-red neeto-ui-rounded-sm mt-2 inline-block w-full p-1 text-sm",
|
|
1565
|
-
children: error
|
|
1100
|
+
}
|
|
1566
1101
|
})]
|
|
1567
1102
|
});
|
|
1568
1103
|
};
|
|
@@ -1813,9 +1348,11 @@ var Rating = function Rating(_ref) {
|
|
|
1813
1348
|
className: "neeto-form-engine-rating",
|
|
1814
1349
|
children: [/*#__PURE__*/jsx("label", {
|
|
1815
1350
|
className: "neeto-form-engine-label",
|
|
1351
|
+
"data-cy": "rating-input-label",
|
|
1816
1352
|
children: label
|
|
1817
1353
|
}), /*#__PURE__*/jsx("div", {
|
|
1818
1354
|
className: "neeto-form-engine-rating__row",
|
|
1355
|
+
"data-cy": "rating-input-field",
|
|
1819
1356
|
children: render()
|
|
1820
1357
|
}), !!error && typeof error === "string" && /*#__PURE__*/jsx("p", {
|
|
1821
1358
|
className: "neeto-form-engine-input__error",
|
|
@@ -1880,6 +1417,7 @@ var RichTextEditor = function RichTextEditor(_ref) {
|
|
|
1880
1417
|
className: "neeto-form-engine-input__label-wrapper",
|
|
1881
1418
|
children: label && /*#__PURE__*/jsx("label", {
|
|
1882
1419
|
className: "neeto-form-engine-label",
|
|
1420
|
+
"data-cy": "".concat(hyphenate(label), "-input-label"),
|
|
1883
1421
|
children: getLabel(label, isRequired)
|
|
1884
1422
|
})
|
|
1885
1423
|
}), /*#__PURE__*/jsx(FastField, {
|
|
@@ -1972,10 +1510,12 @@ var StarRating = function StarRating(_ref) {
|
|
|
1972
1510
|
className: "neeto-form-engine-input__label-wrapper",
|
|
1973
1511
|
children: /*#__PURE__*/jsx("label", {
|
|
1974
1512
|
className: "neeto-form-engine-label",
|
|
1513
|
+
"data-cy": "star-rating-input-label",
|
|
1975
1514
|
children: label
|
|
1976
1515
|
})
|
|
1977
1516
|
}), /*#__PURE__*/jsx("div", {
|
|
1978
1517
|
className: "neeto-form-engine-star-rating__row",
|
|
1518
|
+
"data-cy": "star-rating-input-field",
|
|
1979
1519
|
children: generateArray(minValue, maxValue).map(function (index) {
|
|
1980
1520
|
return /*#__PURE__*/jsx(RatingButton$1, _objectSpread$3({
|
|
1981
1521
|
label: index,
|
|
@@ -2151,4 +1691,4 @@ var getPhoneData = function getPhoneData(value, countryCode) {
|
|
|
2151
1691
|
};
|
|
2152
1692
|
|
|
2153
1693
|
export { FormikWrap as F, generateInitValues as a, getFieldComponent as b, clientI18nInstance as c, buildAutoCompleteAttribute as d, generateFormResponse as e, clearLocalStorageValues as f, getWithExpiry as g, mergeRefs as m, renderButtonsInOrder as r };
|
|
2154
|
-
//# sourceMappingURL=utils-
|
|
1694
|
+
//# sourceMappingURL=utils-6039d7d2.js.map
|