@wix/form-public 0.48.0 → 0.50.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/dist/index.cjs +232 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +232 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -16139,7 +16139,18 @@ function useBi() {
|
|
|
16139
16139
|
}
|
|
16140
16140
|
return context;
|
|
16141
16141
|
}
|
|
16142
|
+
var ForcedState = /* @__PURE__ */ (function(ForcedState2) {
|
|
16143
|
+
ForcedState2["BUTTONS_HOVER"] = "BUTTONS_HOVER";
|
|
16144
|
+
ForcedState2["NEXT_BUTTON_HOVER"] = "NEXT_BUTTON_HOVER";
|
|
16145
|
+
ForcedState2["PREVIOUS_BUTTON_HOVER"] = "PREVIOUS_BUTTON_HOVER";
|
|
16146
|
+
ForcedState2["SUBMIT_BUTTON_HOVER"] = "SUBMIT_BUTTON_HOVER";
|
|
16147
|
+
ForcedState2["INPUT_FIELDS_HOVER"] = "INPUT_FIELDS_HOVER";
|
|
16148
|
+
ForcedState2["INPUT_FIELDS_FOCUS"] = "INPUT_FIELDS_FOCUS";
|
|
16149
|
+
ForcedState2["INPUT_FIELDS_ERROR"] = "INPUT_FIELDS_ERROR";
|
|
16150
|
+
return ForcedState2;
|
|
16151
|
+
})({});
|
|
16142
16152
|
var ForcedStateContext = /* @__PURE__ */ React14.createContext([]);
|
|
16153
|
+
var useForcedState = () => React14.useContext(ForcedStateContext) || [];
|
|
16143
16154
|
var FALLBACK = {};
|
|
16144
16155
|
var ExternalDataContext = /* @__PURE__ */ React14.createContext(void 0);
|
|
16145
16156
|
var ExternalDataProvider = (_ref) => {
|
|
@@ -16193,8 +16204,214 @@ function formFieldFocus(params) {
|
|
|
16193
16204
|
var FieldValidationContext = /* @__PURE__ */ React14.createContext(null);
|
|
16194
16205
|
var useFieldValidation = () => React14.useContext(FieldValidationContext) || {};
|
|
16195
16206
|
|
|
16207
|
+
// ../form-fields/dist/esm/field-error/error-types.js
|
|
16208
|
+
init_esm();
|
|
16209
|
+
|
|
16210
|
+
// ../form-fields/dist/esm/constants/locale.js
|
|
16211
|
+
var TRANSLATIONS_NAMESPACE = "form-viewer";
|
|
16212
|
+
|
|
16213
|
+
// ../form-fields/dist/esm/field-error/get-translated-error.js
|
|
16214
|
+
var defaultErrorKeys = {
|
|
16215
|
+
[ErrorType.UNKNOWN_ERROR]: "input.error.message.unknown-error",
|
|
16216
|
+
[ErrorType.TYPE_ERROR]: "input.error.message.type-error",
|
|
16217
|
+
[ErrorType.REQUIRED_VALUE_ERROR]: "input.error.message.required-error",
|
|
16218
|
+
[ErrorType.UNKNOWN_VALUE_ERROR]: "input.error.message.unknown-value-error",
|
|
16219
|
+
[ErrorType.MAX_LENGTH_ERROR]: "input.error.message.max-length-error",
|
|
16220
|
+
[ErrorType.MIN_LENGTH_ERROR]: "input.error.message.min-length-error",
|
|
16221
|
+
[ErrorType.PATTERN_ERROR]: "input.error.message.pattern-error",
|
|
16222
|
+
[ErrorType.FORMAT_ERROR]: "input.error.message.format-error",
|
|
16223
|
+
[ErrorType.MAX_VALUE_ERROR]: "input.error.message.max-value-error",
|
|
16224
|
+
[ErrorType.MIN_VALUE_ERROR]: "input.error.message.min-value-error",
|
|
16225
|
+
[ErrorType.MULTIPLE_OF_VALUE_ERROR]: "input.error.message.multiple-of-value-error",
|
|
16226
|
+
[ErrorType.MIN_ITEMS_ERROR]: "input.error.message.min-items-error",
|
|
16227
|
+
[ErrorType.MAX_ITEMS_ERROR]: "input.error.message.max-items-error",
|
|
16228
|
+
[ErrorType.NOT_ALLOWED_VALUE_ERROR]: "input.error.message.not-allowed-value",
|
|
16229
|
+
[ErrorType.FIELDS_COMPATIBILITY_ERROR]: "input.error.fields-compatibility-error",
|
|
16230
|
+
[ErrorType.FIELDS_COUNT_RESTRICTIONS_ERROR]: "input.error.fields-count-restrictions-error",
|
|
16231
|
+
[ErrorType.FORMS_COUNT_RESTRICTIONS_ERROR]: "input.error.forms-count-restrictions-error",
|
|
16232
|
+
[ErrorType.STEPS_COUNT_RESTRICTIONS_ERROR]: "input.error.steps-count-restrictions-error",
|
|
16233
|
+
[ErrorType.RULES_COUNT_RESTRICTIONS_ERROR]: "input.error.rules-count-restrictions-error",
|
|
16234
|
+
[ErrorType.FILE_UPLOAD_RESTRICTIONS_ERROR]: "input.error.file-upload-restrictions-error",
|
|
16235
|
+
[ErrorType.DISABLED_FORM_ERROR]: "input.error.disabled-form-error",
|
|
16236
|
+
[ErrorType.INVALID_PHONE_COUNTRY_CODE_ERROR]: "input.error.message.invalid-phone-country-code-error",
|
|
16237
|
+
[ErrorType.INVALID_STAFF_ID_ERROR]: "input.error.message.invalid-staff-id-error",
|
|
16238
|
+
[ErrorType.INVALID_LOCATION_ID_ERROR]: "input.error.message.invalid-location-id-error",
|
|
16239
|
+
[ErrorType.MISSING_SERVICE_OPTION_ERROR]: "TBD",
|
|
16240
|
+
[ErrorType.INVALID_SERVICE_OPTIONS_ERROR]: "TBD",
|
|
16241
|
+
[ErrorType.NO_AVAILABLE_SERVICE_OPTIONS_ERROR]: "TBD",
|
|
16242
|
+
[ErrorType.EXACT_CHARACTER_LENGTH_ERROR]: "input.error.message.exact-character-length-error",
|
|
16243
|
+
[ErrorType.CHARACTER_LENGTH_RANGE_ERROR]: "input.error.message.character-length-range-error",
|
|
16244
|
+
[ErrorType.VALUE_RANGE_ERROR]: "input.error.message.value-range-error",
|
|
16245
|
+
[ErrorType.EXACT_ITEMS_NUMBER_ERROR]: "input.error.message.exact-items-number-error",
|
|
16246
|
+
[ErrorType.DECIMAL_POINT_ERROR]: "input.error.message.decimal_point_error",
|
|
16247
|
+
[ErrorType.INCOMPLETE_DATE_ERROR]: "input.error.message.incomplete-date-error",
|
|
16248
|
+
[ErrorType.INVALID_VALUE_FOR_PATTERN_ERROR]: "input.error.message.invalid-value-for-pattern"
|
|
16249
|
+
};
|
|
16250
|
+
var getTranslatedError = (_ref) => {
|
|
16251
|
+
let {
|
|
16252
|
+
translation,
|
|
16253
|
+
error,
|
|
16254
|
+
fieldType,
|
|
16255
|
+
suffix,
|
|
16256
|
+
currency
|
|
16257
|
+
} = _ref;
|
|
16258
|
+
const {
|
|
16259
|
+
t,
|
|
16260
|
+
i18n
|
|
16261
|
+
} = translation;
|
|
16262
|
+
const formattedFieldType = getFormattedFieldType(fieldType ?? "");
|
|
16263
|
+
const errorKey = defaultErrorKeys[error.errorType];
|
|
16264
|
+
const params = {
|
|
16265
|
+
...error.params,
|
|
16266
|
+
currency
|
|
16267
|
+
};
|
|
16268
|
+
const fieldErrorKey = `${formattedFieldType}.${errorKey}`;
|
|
16269
|
+
if (suffix) {
|
|
16270
|
+
const fieldErrorKeyWithSuffix = `${fieldErrorKey}.${suffix}`;
|
|
16271
|
+
const errorKeyWithSuffix = `${errorKey}.${suffix}`;
|
|
16272
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${fieldErrorKeyWithSuffix}`)) {
|
|
16273
|
+
return t(fieldErrorKeyWithSuffix, params);
|
|
16274
|
+
}
|
|
16275
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${errorKeyWithSuffix}`)) {
|
|
16276
|
+
return t(errorKeyWithSuffix, params);
|
|
16277
|
+
}
|
|
16278
|
+
}
|
|
16279
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${fieldErrorKey}`)) {
|
|
16280
|
+
return t(fieldErrorKey, params);
|
|
16281
|
+
}
|
|
16282
|
+
return t(defaultErrorKeys[error.errorType], params);
|
|
16283
|
+
};
|
|
16284
|
+
var getFormattedFieldType = (string) => string.toLowerCase().replace(/_/g, "-");
|
|
16285
|
+
|
|
16286
|
+
// ../form-fields/dist/esm/ui/date-field/date-field-utils.js
|
|
16287
|
+
var isDateFieldValidationError2 = (error) => {
|
|
16288
|
+
return (error == null ? void 0 : error.errorType) === ErrorType.INCOMPLETE_DATE_ERROR;
|
|
16289
|
+
};
|
|
16290
|
+
var getDateValidationErrorSuffix = (error) => isDateFieldValidationError2(error) ? error.params.suffix : void 0;
|
|
16291
|
+
|
|
16292
|
+
// ../form-fields/dist/esm/ui/date-time-field/date-time-field-utils.js
|
|
16293
|
+
var isDateTimeFieldValidationError2 = (error) => {
|
|
16294
|
+
return (error == null ? void 0 : error.errorType) === ErrorType.INCOMPLETE_DATE_ERROR;
|
|
16295
|
+
};
|
|
16296
|
+
var getDateTimeValidationErrorSuffix = (error) => isDateTimeFieldValidationError2(error) ? error.params.suffix : void 0;
|
|
16297
|
+
|
|
16298
|
+
// ../form-fields/dist/esm/field-error/use-error.js
|
|
16299
|
+
var getErrorSuffix = (_ref) => {
|
|
16300
|
+
let {
|
|
16301
|
+
fieldType,
|
|
16302
|
+
error,
|
|
16303
|
+
properties
|
|
16304
|
+
} = _ref;
|
|
16305
|
+
switch (fieldType) {
|
|
16306
|
+
case INPUT_FIELD_TYPES.DATE_TIME_INPUT:
|
|
16307
|
+
return getDateTimeValidationErrorSuffix(error);
|
|
16308
|
+
case INPUT_FIELD_TYPES.CONTACTS_BIRTHDATE:
|
|
16309
|
+
case INPUT_FIELD_TYPES.DATE_INPUT:
|
|
16310
|
+
return getDateValidationErrorSuffix(error);
|
|
16311
|
+
case INPUT_FIELD_TYPES.TEXT_INPUT:
|
|
16312
|
+
case INPUT_FIELD_TYPES.QUIZ_SHORT_TEXT:
|
|
16313
|
+
case INPUT_FIELD_TYPES.DEXT_TEXT_INPUT:
|
|
16314
|
+
case INPUT_FIELD_TYPES.DEXT_EMAIL:
|
|
16315
|
+
case INPUT_FIELD_TYPES.CONTACTS_TAX_ID:
|
|
16316
|
+
case INPUT_FIELD_TYPES.CONTACTS_POSITION:
|
|
16317
|
+
case INPUT_FIELD_TYPES.CONTACTS_LAST_NAME:
|
|
16318
|
+
case INPUT_FIELD_TYPES.CONTACTS_FIRST_NAME:
|
|
16319
|
+
case INPUT_FIELD_TYPES.CONTACTS_EMAIL:
|
|
16320
|
+
case INPUT_FIELD_TYPES.CONTACTS_COMPANY:
|
|
16321
|
+
case INPUT_FIELD_TYPES.CONTACTS_ADDRESS:
|
|
16322
|
+
case INPUT_FIELD_TYPES.BOOKINGS_LAST_NAME:
|
|
16323
|
+
case INPUT_FIELD_TYPES.BOOKINGS_FIRST_NAME:
|
|
16324
|
+
case INPUT_FIELD_TYPES.BOOKINGS_EMAIL:
|
|
16325
|
+
case INPUT_FIELD_TYPES.ECOM_PHONE:
|
|
16326
|
+
case INPUT_FIELD_TYPES.ECOM_EMAIL:
|
|
16327
|
+
case INPUT_FIELD_TYPES.ECOM_COMPANY_NAME:
|
|
16328
|
+
case INPUT_FIELD_TYPES.ECOM_ADDITIONAL_INFO:
|
|
16329
|
+
case INPUT_FIELD_TYPES.FULL_NAME_LAST_NAME:
|
|
16330
|
+
case INPUT_FIELD_TYPES.FULL_NAME_FIRST_NAME:
|
|
16331
|
+
case INPUT_FIELD_TYPES.MLA_STREET_NAME:
|
|
16332
|
+
case INPUT_FIELD_TYPES.MLA_ADDRESS_LINE:
|
|
16333
|
+
case INPUT_FIELD_TYPES.MLA_STREET_NUMBER:
|
|
16334
|
+
case INPUT_FIELD_TYPES.MLA_POSTAL_CODE:
|
|
16335
|
+
case INPUT_FIELD_TYPES.MLA_CITY:
|
|
16336
|
+
case INPUT_FIELD_TYPES.MLA_APARTMENT:
|
|
16337
|
+
case INPUT_FIELD_TYPES.MLA_ADDRESS_LINE_2:
|
|
16338
|
+
case INPUT_FIELD_TYPES.IDENTITY_PASSWORD:
|
|
16339
|
+
case INPUT_FIELD_TYPES.RATING_INPUT:
|
|
16340
|
+
case INPUT_FIELD_TYPES.DEXT_RATING_INPUT:
|
|
16341
|
+
case INPUT_FIELD_TYPES.MLA_COUNTRY:
|
|
16342
|
+
case INPUT_FIELD_TYPES.MLA_SUBDIVISION:
|
|
16343
|
+
if (properties && "countryCode" in properties) {
|
|
16344
|
+
const countryCode = properties.countryCode;
|
|
16345
|
+
return typeof countryCode === "string" ? countryCode.toLocaleLowerCase() : void 0;
|
|
16346
|
+
}
|
|
16347
|
+
return void 0;
|
|
16348
|
+
case INPUT_FIELD_TYPES.VAT_ID:
|
|
16349
|
+
if (properties && "country" in properties) {
|
|
16350
|
+
const country = properties.country;
|
|
16351
|
+
return typeof country === "string" ? country.toLocaleLowerCase() : void 0;
|
|
16352
|
+
}
|
|
16353
|
+
return void 0;
|
|
16354
|
+
case INPUT_FIELD_TYPES.SIGNATURE:
|
|
16355
|
+
if (properties && "uploadEnabled" in properties) {
|
|
16356
|
+
return properties.uploadEnabled ? "with-upload" : void 0;
|
|
16357
|
+
}
|
|
16358
|
+
return void 0;
|
|
16359
|
+
default:
|
|
16360
|
+
return void 0;
|
|
16361
|
+
}
|
|
16362
|
+
};
|
|
16363
|
+
var useError = (_ref2) => {
|
|
16364
|
+
let {
|
|
16365
|
+
error,
|
|
16366
|
+
customErrors,
|
|
16367
|
+
fieldType,
|
|
16368
|
+
properties,
|
|
16369
|
+
validationError
|
|
16370
|
+
} = _ref2;
|
|
16371
|
+
const {
|
|
16372
|
+
currency
|
|
16373
|
+
} = useConfig();
|
|
16374
|
+
const {
|
|
16375
|
+
t,
|
|
16376
|
+
i18n
|
|
16377
|
+
} = useTranslation();
|
|
16378
|
+
const forcedState = useForcedState();
|
|
16379
|
+
if (forcedState.includes(ForcedState.INPUT_FIELDS_ERROR)) {
|
|
16380
|
+
return {
|
|
16381
|
+
hasError: true,
|
|
16382
|
+
errorMessage: t("input.error.message.required-error-forced")
|
|
16383
|
+
};
|
|
16384
|
+
}
|
|
16385
|
+
if (!error) {
|
|
16386
|
+
return {
|
|
16387
|
+
hasError: false
|
|
16388
|
+
};
|
|
16389
|
+
}
|
|
16390
|
+
const customErrorMessage = (error == null ? void 0 : error.useCustomErrorMessage) && (error == null ? void 0 : error.errorMessage) || (customErrors == null ? void 0 : customErrors[error.errorType]);
|
|
16391
|
+
const suffix = fieldType ? getErrorSuffix({
|
|
16392
|
+
fieldType,
|
|
16393
|
+
error: validationError,
|
|
16394
|
+
properties
|
|
16395
|
+
}) : void 0;
|
|
16396
|
+
const errorMessage = customErrorMessage ?? getTranslatedError({
|
|
16397
|
+
translation: {
|
|
16398
|
+
i18n,
|
|
16399
|
+
t
|
|
16400
|
+
},
|
|
16401
|
+
error,
|
|
16402
|
+
fieldType,
|
|
16403
|
+
suffix,
|
|
16404
|
+
currency: currency == null ? void 0 : currency.sign
|
|
16405
|
+
});
|
|
16406
|
+
return {
|
|
16407
|
+
hasError: true,
|
|
16408
|
+
errorMessage
|
|
16409
|
+
};
|
|
16410
|
+
};
|
|
16411
|
+
|
|
16196
16412
|
// ../form-fields/dist/esm/ui/form/components/form/input-field.js
|
|
16197
16413
|
var InputField = (_ref) => {
|
|
16414
|
+
var _field$properties;
|
|
16198
16415
|
let {
|
|
16199
16416
|
field,
|
|
16200
16417
|
errors,
|
|
@@ -16249,6 +16466,16 @@ var InputField = (_ref) => {
|
|
|
16249
16466
|
}
|
|
16250
16467
|
onFieldChange == null || onFieldChange(field.target, value);
|
|
16251
16468
|
}, [onFieldChange, field, fieldError, validateFields2]);
|
|
16469
|
+
const {
|
|
16470
|
+
hasError,
|
|
16471
|
+
errorMessage
|
|
16472
|
+
} = useError({
|
|
16473
|
+
error: fieldError,
|
|
16474
|
+
customErrors: (_field$properties = field.properties) == null ? void 0 : _field$properties.customErrors,
|
|
16475
|
+
fieldType: field.fieldType,
|
|
16476
|
+
properties: field.properties,
|
|
16477
|
+
validationError: fieldError
|
|
16478
|
+
});
|
|
16252
16479
|
const FieldComponent = componentsById[field.fieldType];
|
|
16253
16480
|
if (!FieldComponent) {
|
|
16254
16481
|
return null;
|
|
@@ -16257,6 +16484,8 @@ var InputField = (_ref) => {
|
|
|
16257
16484
|
onChange: handleChange,
|
|
16258
16485
|
onBlur: _onBlur,
|
|
16259
16486
|
onFocus: _onFocus,
|
|
16487
|
+
hasError,
|
|
16488
|
+
errorMessage,
|
|
16260
16489
|
error: fieldError,
|
|
16261
16490
|
errors: fieldErrors,
|
|
16262
16491
|
value: fieldValue,
|
|
@@ -17737,7 +17966,7 @@ var ExplanationTextKey = "explanationText";
|
|
|
17737
17966
|
var MediaKey = "media";
|
|
17738
17967
|
var UploadEnabledKey = "uploadEnabled";
|
|
17739
17968
|
var FirstDayOfWeekKey = "firstDayOfWeek";
|
|
17740
|
-
var DefaultCountryCodeKey = "
|
|
17969
|
+
var DefaultCountryCodeKey = "defaultCountry";
|
|
17741
17970
|
var ImageResizeKey = "imageResize";
|
|
17742
17971
|
var ShowFlagKey = "showFlag";
|
|
17743
17972
|
var NameKey = "name";
|
|
@@ -21424,11 +21653,11 @@ var TextAreaMapper = (props) => ({
|
|
|
21424
21653
|
...BaseMapper(props)
|
|
21425
21654
|
});
|
|
21426
21655
|
var PhoneInputMapper = (props) => {
|
|
21427
|
-
const { defaultCountry, validation } = props;
|
|
21656
|
+
const { defaultCountry, defaultCountryCode, validation } = props;
|
|
21428
21657
|
return {
|
|
21429
21658
|
...props,
|
|
21430
21659
|
...BaseMapper(props),
|
|
21431
|
-
defaultCountryCode: defaultCountry,
|
|
21660
|
+
defaultCountryCode: defaultCountry ?? defaultCountryCode,
|
|
21432
21661
|
allowedCountryCodes: validation?.string?.phoneOptions?.allowedCountryCodes
|
|
21433
21662
|
};
|
|
21434
21663
|
};
|