@wix/form-public 0.47.0 → 0.49.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/_tsup-dts-rollup.d.cts +9 -6
- package/dist/_tsup-dts-rollup.d.ts +9 -6
- package/dist/index.cjs +231 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +231 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -4,6 +4,7 @@ export { FormValues } from './_tsup-dts-rollup.cjs';
|
|
|
4
4
|
export { CallingCountryCode } from './_tsup-dts-rollup.cjs';
|
|
5
5
|
export { useForm } from './_tsup-dts-rollup.cjs';
|
|
6
6
|
export { FormProvider } from './_tsup-dts-rollup.cjs';
|
|
7
|
+
export { Currency } from './_tsup-dts-rollup.cjs';
|
|
7
8
|
export { PhoneInputProps } from './_tsup-dts-rollup.cjs';
|
|
8
9
|
export { MultilineAddressProps } from './_tsup-dts-rollup.cjs';
|
|
9
10
|
export { TextAreaProps } from './_tsup-dts-rollup.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { FormValues } from './_tsup-dts-rollup.js';
|
|
|
4
4
|
export { CallingCountryCode } from './_tsup-dts-rollup.js';
|
|
5
5
|
export { useForm } from './_tsup-dts-rollup.js';
|
|
6
6
|
export { FormProvider } from './_tsup-dts-rollup.js';
|
|
7
|
+
export { Currency } from './_tsup-dts-rollup.js';
|
|
7
8
|
export { PhoneInputProps } from './_tsup-dts-rollup.js';
|
|
8
9
|
export { MultilineAddressProps } from './_tsup-dts-rollup.js';
|
|
9
10
|
export { TextAreaProps } from './_tsup-dts-rollup.js';
|
package/dist/index.js
CHANGED
|
@@ -16131,7 +16131,18 @@ function useBi() {
|
|
|
16131
16131
|
}
|
|
16132
16132
|
return context;
|
|
16133
16133
|
}
|
|
16134
|
+
var ForcedState = /* @__PURE__ */ (function(ForcedState2) {
|
|
16135
|
+
ForcedState2["BUTTONS_HOVER"] = "BUTTONS_HOVER";
|
|
16136
|
+
ForcedState2["NEXT_BUTTON_HOVER"] = "NEXT_BUTTON_HOVER";
|
|
16137
|
+
ForcedState2["PREVIOUS_BUTTON_HOVER"] = "PREVIOUS_BUTTON_HOVER";
|
|
16138
|
+
ForcedState2["SUBMIT_BUTTON_HOVER"] = "SUBMIT_BUTTON_HOVER";
|
|
16139
|
+
ForcedState2["INPUT_FIELDS_HOVER"] = "INPUT_FIELDS_HOVER";
|
|
16140
|
+
ForcedState2["INPUT_FIELDS_FOCUS"] = "INPUT_FIELDS_FOCUS";
|
|
16141
|
+
ForcedState2["INPUT_FIELDS_ERROR"] = "INPUT_FIELDS_ERROR";
|
|
16142
|
+
return ForcedState2;
|
|
16143
|
+
})({});
|
|
16134
16144
|
var ForcedStateContext = /* @__PURE__ */ createContext([]);
|
|
16145
|
+
var useForcedState = () => useContext(ForcedStateContext) || [];
|
|
16135
16146
|
var FALLBACK = {};
|
|
16136
16147
|
var ExternalDataContext = /* @__PURE__ */ createContext(void 0);
|
|
16137
16148
|
var ExternalDataProvider = (_ref) => {
|
|
@@ -16185,8 +16196,214 @@ function formFieldFocus(params) {
|
|
|
16185
16196
|
var FieldValidationContext = /* @__PURE__ */ createContext(null);
|
|
16186
16197
|
var useFieldValidation = () => useContext(FieldValidationContext) || {};
|
|
16187
16198
|
|
|
16199
|
+
// ../form-fields/dist/esm/field-error/error-types.js
|
|
16200
|
+
init_esm();
|
|
16201
|
+
|
|
16202
|
+
// ../form-fields/dist/esm/constants/locale.js
|
|
16203
|
+
var TRANSLATIONS_NAMESPACE = "form-viewer";
|
|
16204
|
+
|
|
16205
|
+
// ../form-fields/dist/esm/field-error/get-translated-error.js
|
|
16206
|
+
var defaultErrorKeys = {
|
|
16207
|
+
[ErrorType.UNKNOWN_ERROR]: "input.error.message.unknown-error",
|
|
16208
|
+
[ErrorType.TYPE_ERROR]: "input.error.message.type-error",
|
|
16209
|
+
[ErrorType.REQUIRED_VALUE_ERROR]: "input.error.message.required-error",
|
|
16210
|
+
[ErrorType.UNKNOWN_VALUE_ERROR]: "input.error.message.unknown-value-error",
|
|
16211
|
+
[ErrorType.MAX_LENGTH_ERROR]: "input.error.message.max-length-error",
|
|
16212
|
+
[ErrorType.MIN_LENGTH_ERROR]: "input.error.message.min-length-error",
|
|
16213
|
+
[ErrorType.PATTERN_ERROR]: "input.error.message.pattern-error",
|
|
16214
|
+
[ErrorType.FORMAT_ERROR]: "input.error.message.format-error",
|
|
16215
|
+
[ErrorType.MAX_VALUE_ERROR]: "input.error.message.max-value-error",
|
|
16216
|
+
[ErrorType.MIN_VALUE_ERROR]: "input.error.message.min-value-error",
|
|
16217
|
+
[ErrorType.MULTIPLE_OF_VALUE_ERROR]: "input.error.message.multiple-of-value-error",
|
|
16218
|
+
[ErrorType.MIN_ITEMS_ERROR]: "input.error.message.min-items-error",
|
|
16219
|
+
[ErrorType.MAX_ITEMS_ERROR]: "input.error.message.max-items-error",
|
|
16220
|
+
[ErrorType.NOT_ALLOWED_VALUE_ERROR]: "input.error.message.not-allowed-value",
|
|
16221
|
+
[ErrorType.FIELDS_COMPATIBILITY_ERROR]: "input.error.fields-compatibility-error",
|
|
16222
|
+
[ErrorType.FIELDS_COUNT_RESTRICTIONS_ERROR]: "input.error.fields-count-restrictions-error",
|
|
16223
|
+
[ErrorType.FORMS_COUNT_RESTRICTIONS_ERROR]: "input.error.forms-count-restrictions-error",
|
|
16224
|
+
[ErrorType.STEPS_COUNT_RESTRICTIONS_ERROR]: "input.error.steps-count-restrictions-error",
|
|
16225
|
+
[ErrorType.RULES_COUNT_RESTRICTIONS_ERROR]: "input.error.rules-count-restrictions-error",
|
|
16226
|
+
[ErrorType.FILE_UPLOAD_RESTRICTIONS_ERROR]: "input.error.file-upload-restrictions-error",
|
|
16227
|
+
[ErrorType.DISABLED_FORM_ERROR]: "input.error.disabled-form-error",
|
|
16228
|
+
[ErrorType.INVALID_PHONE_COUNTRY_CODE_ERROR]: "input.error.message.invalid-phone-country-code-error",
|
|
16229
|
+
[ErrorType.INVALID_STAFF_ID_ERROR]: "input.error.message.invalid-staff-id-error",
|
|
16230
|
+
[ErrorType.INVALID_LOCATION_ID_ERROR]: "input.error.message.invalid-location-id-error",
|
|
16231
|
+
[ErrorType.MISSING_SERVICE_OPTION_ERROR]: "TBD",
|
|
16232
|
+
[ErrorType.INVALID_SERVICE_OPTIONS_ERROR]: "TBD",
|
|
16233
|
+
[ErrorType.NO_AVAILABLE_SERVICE_OPTIONS_ERROR]: "TBD",
|
|
16234
|
+
[ErrorType.EXACT_CHARACTER_LENGTH_ERROR]: "input.error.message.exact-character-length-error",
|
|
16235
|
+
[ErrorType.CHARACTER_LENGTH_RANGE_ERROR]: "input.error.message.character-length-range-error",
|
|
16236
|
+
[ErrorType.VALUE_RANGE_ERROR]: "input.error.message.value-range-error",
|
|
16237
|
+
[ErrorType.EXACT_ITEMS_NUMBER_ERROR]: "input.error.message.exact-items-number-error",
|
|
16238
|
+
[ErrorType.DECIMAL_POINT_ERROR]: "input.error.message.decimal_point_error",
|
|
16239
|
+
[ErrorType.INCOMPLETE_DATE_ERROR]: "input.error.message.incomplete-date-error",
|
|
16240
|
+
[ErrorType.INVALID_VALUE_FOR_PATTERN_ERROR]: "input.error.message.invalid-value-for-pattern"
|
|
16241
|
+
};
|
|
16242
|
+
var getTranslatedError = (_ref) => {
|
|
16243
|
+
let {
|
|
16244
|
+
translation,
|
|
16245
|
+
error,
|
|
16246
|
+
fieldType,
|
|
16247
|
+
suffix,
|
|
16248
|
+
currency
|
|
16249
|
+
} = _ref;
|
|
16250
|
+
const {
|
|
16251
|
+
t,
|
|
16252
|
+
i18n
|
|
16253
|
+
} = translation;
|
|
16254
|
+
const formattedFieldType = getFormattedFieldType(fieldType ?? "");
|
|
16255
|
+
const errorKey = defaultErrorKeys[error.errorType];
|
|
16256
|
+
const params = {
|
|
16257
|
+
...error.params,
|
|
16258
|
+
currency
|
|
16259
|
+
};
|
|
16260
|
+
const fieldErrorKey = `${formattedFieldType}.${errorKey}`;
|
|
16261
|
+
if (suffix) {
|
|
16262
|
+
const fieldErrorKeyWithSuffix = `${fieldErrorKey}.${suffix}`;
|
|
16263
|
+
const errorKeyWithSuffix = `${errorKey}.${suffix}`;
|
|
16264
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${fieldErrorKeyWithSuffix}`)) {
|
|
16265
|
+
return t(fieldErrorKeyWithSuffix, params);
|
|
16266
|
+
}
|
|
16267
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${errorKeyWithSuffix}`)) {
|
|
16268
|
+
return t(errorKeyWithSuffix, params);
|
|
16269
|
+
}
|
|
16270
|
+
}
|
|
16271
|
+
if (i18n.exists(`${TRANSLATIONS_NAMESPACE}:${fieldErrorKey}`)) {
|
|
16272
|
+
return t(fieldErrorKey, params);
|
|
16273
|
+
}
|
|
16274
|
+
return t(defaultErrorKeys[error.errorType], params);
|
|
16275
|
+
};
|
|
16276
|
+
var getFormattedFieldType = (string) => string.toLowerCase().replace(/_/g, "-");
|
|
16277
|
+
|
|
16278
|
+
// ../form-fields/dist/esm/ui/date-field/date-field-utils.js
|
|
16279
|
+
var isDateFieldValidationError2 = (error) => {
|
|
16280
|
+
return (error == null ? void 0 : error.errorType) === ErrorType.INCOMPLETE_DATE_ERROR;
|
|
16281
|
+
};
|
|
16282
|
+
var getDateValidationErrorSuffix = (error) => isDateFieldValidationError2(error) ? error.params.suffix : void 0;
|
|
16283
|
+
|
|
16284
|
+
// ../form-fields/dist/esm/ui/date-time-field/date-time-field-utils.js
|
|
16285
|
+
var isDateTimeFieldValidationError2 = (error) => {
|
|
16286
|
+
return (error == null ? void 0 : error.errorType) === ErrorType.INCOMPLETE_DATE_ERROR;
|
|
16287
|
+
};
|
|
16288
|
+
var getDateTimeValidationErrorSuffix = (error) => isDateTimeFieldValidationError2(error) ? error.params.suffix : void 0;
|
|
16289
|
+
|
|
16290
|
+
// ../form-fields/dist/esm/field-error/use-error.js
|
|
16291
|
+
var getErrorSuffix = (_ref) => {
|
|
16292
|
+
let {
|
|
16293
|
+
fieldType,
|
|
16294
|
+
error,
|
|
16295
|
+
properties
|
|
16296
|
+
} = _ref;
|
|
16297
|
+
switch (fieldType) {
|
|
16298
|
+
case INPUT_FIELD_TYPES.DATE_TIME_INPUT:
|
|
16299
|
+
return getDateTimeValidationErrorSuffix(error);
|
|
16300
|
+
case INPUT_FIELD_TYPES.CONTACTS_BIRTHDATE:
|
|
16301
|
+
case INPUT_FIELD_TYPES.DATE_INPUT:
|
|
16302
|
+
return getDateValidationErrorSuffix(error);
|
|
16303
|
+
case INPUT_FIELD_TYPES.TEXT_INPUT:
|
|
16304
|
+
case INPUT_FIELD_TYPES.QUIZ_SHORT_TEXT:
|
|
16305
|
+
case INPUT_FIELD_TYPES.DEXT_TEXT_INPUT:
|
|
16306
|
+
case INPUT_FIELD_TYPES.DEXT_EMAIL:
|
|
16307
|
+
case INPUT_FIELD_TYPES.CONTACTS_TAX_ID:
|
|
16308
|
+
case INPUT_FIELD_TYPES.CONTACTS_POSITION:
|
|
16309
|
+
case INPUT_FIELD_TYPES.CONTACTS_LAST_NAME:
|
|
16310
|
+
case INPUT_FIELD_TYPES.CONTACTS_FIRST_NAME:
|
|
16311
|
+
case INPUT_FIELD_TYPES.CONTACTS_EMAIL:
|
|
16312
|
+
case INPUT_FIELD_TYPES.CONTACTS_COMPANY:
|
|
16313
|
+
case INPUT_FIELD_TYPES.CONTACTS_ADDRESS:
|
|
16314
|
+
case INPUT_FIELD_TYPES.BOOKINGS_LAST_NAME:
|
|
16315
|
+
case INPUT_FIELD_TYPES.BOOKINGS_FIRST_NAME:
|
|
16316
|
+
case INPUT_FIELD_TYPES.BOOKINGS_EMAIL:
|
|
16317
|
+
case INPUT_FIELD_TYPES.ECOM_PHONE:
|
|
16318
|
+
case INPUT_FIELD_TYPES.ECOM_EMAIL:
|
|
16319
|
+
case INPUT_FIELD_TYPES.ECOM_COMPANY_NAME:
|
|
16320
|
+
case INPUT_FIELD_TYPES.ECOM_ADDITIONAL_INFO:
|
|
16321
|
+
case INPUT_FIELD_TYPES.FULL_NAME_LAST_NAME:
|
|
16322
|
+
case INPUT_FIELD_TYPES.FULL_NAME_FIRST_NAME:
|
|
16323
|
+
case INPUT_FIELD_TYPES.MLA_STREET_NAME:
|
|
16324
|
+
case INPUT_FIELD_TYPES.MLA_ADDRESS_LINE:
|
|
16325
|
+
case INPUT_FIELD_TYPES.MLA_STREET_NUMBER:
|
|
16326
|
+
case INPUT_FIELD_TYPES.MLA_POSTAL_CODE:
|
|
16327
|
+
case INPUT_FIELD_TYPES.MLA_CITY:
|
|
16328
|
+
case INPUT_FIELD_TYPES.MLA_APARTMENT:
|
|
16329
|
+
case INPUT_FIELD_TYPES.MLA_ADDRESS_LINE_2:
|
|
16330
|
+
case INPUT_FIELD_TYPES.IDENTITY_PASSWORD:
|
|
16331
|
+
case INPUT_FIELD_TYPES.RATING_INPUT:
|
|
16332
|
+
case INPUT_FIELD_TYPES.DEXT_RATING_INPUT:
|
|
16333
|
+
case INPUT_FIELD_TYPES.MLA_COUNTRY:
|
|
16334
|
+
case INPUT_FIELD_TYPES.MLA_SUBDIVISION:
|
|
16335
|
+
if (properties && "countryCode" in properties) {
|
|
16336
|
+
const countryCode = properties.countryCode;
|
|
16337
|
+
return typeof countryCode === "string" ? countryCode.toLocaleLowerCase() : void 0;
|
|
16338
|
+
}
|
|
16339
|
+
return void 0;
|
|
16340
|
+
case INPUT_FIELD_TYPES.VAT_ID:
|
|
16341
|
+
if (properties && "country" in properties) {
|
|
16342
|
+
const country = properties.country;
|
|
16343
|
+
return typeof country === "string" ? country.toLocaleLowerCase() : void 0;
|
|
16344
|
+
}
|
|
16345
|
+
return void 0;
|
|
16346
|
+
case INPUT_FIELD_TYPES.SIGNATURE:
|
|
16347
|
+
if (properties && "uploadEnabled" in properties) {
|
|
16348
|
+
return properties.uploadEnabled ? "with-upload" : void 0;
|
|
16349
|
+
}
|
|
16350
|
+
return void 0;
|
|
16351
|
+
default:
|
|
16352
|
+
return void 0;
|
|
16353
|
+
}
|
|
16354
|
+
};
|
|
16355
|
+
var useError = (_ref2) => {
|
|
16356
|
+
let {
|
|
16357
|
+
error,
|
|
16358
|
+
customErrors,
|
|
16359
|
+
fieldType,
|
|
16360
|
+
properties,
|
|
16361
|
+
validationError
|
|
16362
|
+
} = _ref2;
|
|
16363
|
+
const {
|
|
16364
|
+
currency
|
|
16365
|
+
} = useConfig();
|
|
16366
|
+
const {
|
|
16367
|
+
t,
|
|
16368
|
+
i18n
|
|
16369
|
+
} = useTranslation();
|
|
16370
|
+
const forcedState = useForcedState();
|
|
16371
|
+
if (forcedState.includes(ForcedState.INPUT_FIELDS_ERROR)) {
|
|
16372
|
+
return {
|
|
16373
|
+
hasError: true,
|
|
16374
|
+
errorMessage: t("input.error.message.required-error-forced")
|
|
16375
|
+
};
|
|
16376
|
+
}
|
|
16377
|
+
if (!error) {
|
|
16378
|
+
return {
|
|
16379
|
+
hasError: false
|
|
16380
|
+
};
|
|
16381
|
+
}
|
|
16382
|
+
const customErrorMessage = (error == null ? void 0 : error.useCustomErrorMessage) && (error == null ? void 0 : error.errorMessage) || (customErrors == null ? void 0 : customErrors[error.errorType]);
|
|
16383
|
+
const suffix = fieldType ? getErrorSuffix({
|
|
16384
|
+
fieldType,
|
|
16385
|
+
error: validationError,
|
|
16386
|
+
properties
|
|
16387
|
+
}) : void 0;
|
|
16388
|
+
const errorMessage = customErrorMessage ?? getTranslatedError({
|
|
16389
|
+
translation: {
|
|
16390
|
+
i18n,
|
|
16391
|
+
t
|
|
16392
|
+
},
|
|
16393
|
+
error,
|
|
16394
|
+
fieldType,
|
|
16395
|
+
suffix,
|
|
16396
|
+
currency: currency == null ? void 0 : currency.sign
|
|
16397
|
+
});
|
|
16398
|
+
return {
|
|
16399
|
+
hasError: true,
|
|
16400
|
+
errorMessage
|
|
16401
|
+
};
|
|
16402
|
+
};
|
|
16403
|
+
|
|
16188
16404
|
// ../form-fields/dist/esm/ui/form/components/form/input-field.js
|
|
16189
16405
|
var InputField = (_ref) => {
|
|
16406
|
+
var _field$properties;
|
|
16190
16407
|
let {
|
|
16191
16408
|
field,
|
|
16192
16409
|
errors,
|
|
@@ -16241,6 +16458,16 @@ var InputField = (_ref) => {
|
|
|
16241
16458
|
}
|
|
16242
16459
|
onFieldChange == null || onFieldChange(field.target, value);
|
|
16243
16460
|
}, [onFieldChange, field, fieldError, validateFields2]);
|
|
16461
|
+
const {
|
|
16462
|
+
hasError,
|
|
16463
|
+
errorMessage
|
|
16464
|
+
} = useError({
|
|
16465
|
+
error: fieldError,
|
|
16466
|
+
customErrors: (_field$properties = field.properties) == null ? void 0 : _field$properties.customErrors,
|
|
16467
|
+
fieldType: field.fieldType,
|
|
16468
|
+
properties: field.properties,
|
|
16469
|
+
validationError: fieldError
|
|
16470
|
+
});
|
|
16244
16471
|
const FieldComponent = componentsById[field.fieldType];
|
|
16245
16472
|
if (!FieldComponent) {
|
|
16246
16473
|
return null;
|
|
@@ -16249,6 +16476,8 @@ var InputField = (_ref) => {
|
|
|
16249
16476
|
onChange: handleChange,
|
|
16250
16477
|
onBlur: _onBlur,
|
|
16251
16478
|
onFocus: _onFocus,
|
|
16479
|
+
hasError,
|
|
16480
|
+
errorMessage,
|
|
16252
16481
|
error: fieldError,
|
|
16253
16482
|
errors: fieldErrors,
|
|
16254
16483
|
value: fieldValue,
|
|
@@ -21775,7 +22004,7 @@ var useForm3 = ({
|
|
|
21775
22004
|
fieldsLayout
|
|
21776
22005
|
} : null;
|
|
21777
22006
|
};
|
|
21778
|
-
var FormProvider = ({ children }) => {
|
|
22007
|
+
var FormProvider = ({ children, currency }) => {
|
|
21779
22008
|
return /* @__PURE__ */ jsx(
|
|
21780
22009
|
FormViewerProvider,
|
|
21781
22010
|
{
|
|
@@ -21784,6 +22013,7 @@ var FormProvider = ({ children }) => {
|
|
|
21784
22013
|
form: {},
|
|
21785
22014
|
locale: "en",
|
|
21786
22015
|
regionalFormat: "en",
|
|
22016
|
+
currency,
|
|
21787
22017
|
WixRicosViewer: () => null,
|
|
21788
22018
|
children: /* @__PURE__ */ jsx(ExternalDataProvider, { externalData: {}, children: /* @__PURE__ */ jsx(FormStatusProvider, { children }) })
|
|
21789
22019
|
}
|