@wix/form-public 0.49.0 → 0.51.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.js CHANGED
@@ -1,7 +1,9 @@
1
- import React14, { createContext, useState, useMemo, useRef, useCallback, useImperativeHandle, useEffect, useContext } from 'react';
1
+ import React14, { createContext, useState, useMemo, useEffect, useRef, useCallback, useImperativeHandle, useContext } from 'react';
2
2
  import camelCase from 'lodash.camelcase';
3
3
  import mapKeys from 'lodash.mapkeys';
4
4
  import { jsx } from 'react/jsx-runtime';
5
+ import i18next from 'i18next';
6
+ import { initReactI18next } from 'react-i18next';
5
7
 
6
8
  var __create = Object.create;
7
9
  var __defProp = Object.defineProperty;
@@ -32,7 +34,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
34
  // file that has been converted to a CommonJS file using a Babel-
33
35
  // compatible transform (i.e. "__esModule" has not been set), then set
34
36
  // "default" to the CommonJS "module.exports" for node compatibility.
35
- !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
37
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
36
38
  mod
37
39
  ));
38
40
 
@@ -790,6 +792,22 @@ var init_types_impl = __esm({
790
792
  }
791
793
  });
792
794
 
795
+ // ../../node_modules/@babel/runtime/helpers/extends.js
796
+ var require_extends = __commonJS({
797
+ "../../node_modules/@babel/runtime/helpers/extends.js"(exports, module) {
798
+ function _extends7() {
799
+ return module.exports = _extends7 = Object.assign ? Object.assign.bind() : function(n) {
800
+ for (var e = 1; e < arguments.length; e++) {
801
+ var t = arguments[e];
802
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
803
+ }
804
+ return n;
805
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends7.apply(null, arguments);
806
+ }
807
+ module.exports = _extends7, module.exports.__esModule = true, module.exports["default"] = module.exports;
808
+ }
809
+ });
810
+
793
811
  // ../../node_modules/@babel/runtime/helpers/typeof.js
794
812
  var require_typeof = __commonJS({
795
813
  "../../node_modules/@babel/runtime/helpers/typeof.js"(exports, module) {
@@ -852,22 +870,6 @@ var require_defineProperty = __commonJS({
852
870
  }
853
871
  });
854
872
 
855
- // ../../node_modules/@babel/runtime/helpers/extends.js
856
- var require_extends = __commonJS({
857
- "../../node_modules/@babel/runtime/helpers/extends.js"(exports, module) {
858
- function _extends7() {
859
- return module.exports = _extends7 = Object.assign ? Object.assign.bind() : function(n) {
860
- for (var e = 1; e < arguments.length; e++) {
861
- var t = arguments[e];
862
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
863
- }
864
- return n;
865
- }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends7.apply(null, arguments);
866
- }
867
- module.exports = _extends7, module.exports.__esModule = true, module.exports["default"] = module.exports;
868
- }
869
- });
870
-
871
873
  // ../../node_modules/@wix/ambassador-forms-v1-validation-result/build/es/types.impl.js
872
874
  var ErrorType, Format2, ValidationFormat2, ProductType2, PriceType2, FormatEnumFormat2, StringComponentType2, NodeType2, WidthType2, PluginContainerDataAlignment2, Type2, Target2, TextAlignment2, LineStyle2, Width2, Alignment2, ViewMode2, LayoutType2, Orientation2, Crop2, ThumbnailsAlignment2, GIFType2, Source2, Position2, MapType2, ViewRole2, VoteRole2, PollLayoutType2, PollLayoutDirection2, BackgroundType2, DecorationType2, FontType2, ImageStylesPosition2, AspectRatio2, Resizing2, Placement2, CardStylesType2, CardStylesAlignment2, CardStylesLayout2, AppType2, InitialExpandedItems2, Direction2, VerticalAlignment2, NullValue2, Scaling2, LayoutDataImagePosition2, VerticalAlignmentAlignment2, ResponsivenessBehaviour2, ImagePosition2, AlignmentEnumAlignment2, ImageFit2, NumberOfColumns2, FirstDayOfWeekEnumFirstDayOfWeek2, NumberComponentType2, BooleanComponentType2, ItemType2, PropertiesTypeEnum2, ComponentType2, WixFileComponentType2, UploadFileFormat2, PaymentComponentType2, SchedulingComponentType2, AppointmentFormat2, MultilineAddressComponentType2, DefaultCountryConfigType2, InputType2, EmailInfoTag2, PhoneInfoTag2, Tag2, OptInLevel2, ContactField2, FieldType2, DisplayFieldType2, FieldFieldType2, StringTypeFormatEnumFormat2, InputFieldStringComponentType2, InputFieldNumberComponentType2, InputFieldBooleanComponentType2, ArrayItemsItemType2, PropertiesTypePropertiesTypeEnum2, ArrayComponentType2, InputFieldWixFileComponentType2, InputFieldPaymentComponentType2, AddressComponentType2, ObjectArrayComponentType2, InputFieldSchedulingComponentType2, InputFieldInputType2, FormFieldContactInfoEmailInfoTag2, FormFieldContactInfoPhoneInfoTag2, AddressInfoTag2, ConfirmationLevel2, FormFieldContactInfoContactField2, DisplayFieldDisplayFieldType2, OverrideEntityType2, Kind2, SpamFilterProtectionLevel2, RequiredIndicator2, RequiredIndicatorPlacement2, UrlTargetEnumTarget2, SubmitSuccessAction2, ChangeableProperty2, OverrideEntityTypeEnumOverrideEntityType2, Operator2, ValidationMode, Feature, AscendPlan, ActionType;
873
875
  var init_types_impl2 = __esm({
@@ -15755,6 +15757,270 @@ var require_isSameOrBefore = __commonJS({
15755
15757
  }
15756
15758
  });
15757
15759
 
15760
+ // ../form-fields/dist/esm/assets/locale/viewer/messages_en.json
15761
+ var require_messages_en = __commonJS({
15762
+ "../form-fields/dist/esm/assets/locale/viewer/messages_en.json"(exports, module) {
15763
+ module.exports = {
15764
+ "contacts-url-input.input.error.message.format-error": "Enter a web URL like https://www.example.com.",
15765
+ "field-context-menu.cut": "Cut",
15766
+ "input.error.message.incomplete-date-error.day-time": "Enter a day and time.",
15767
+ "field.signature.a11y.action-description.type": "Use the keyboard to type.",
15768
+ "input.error.message.required-error-forced": "This field is required.",
15769
+ "field-context-menu.show-field": "Show field",
15770
+ "date-picker.input.error.message.format-error": "Choose a date.",
15771
+ "form.login-bar.actions.login": "Log in",
15772
+ "date-picker.a11y.clear-button": "Clear",
15773
+ "form.file-upload.uploading": "Uploading {count, plural, =0 {...} other {#%...}}",
15774
+ "rating-input.a11y.reaction-label": "{count} {count, plural, =1 {star} other {stars}}",
15775
+ "contacts-company.input.error.message.required-error": "Enter a company name.",
15776
+ "dext-phone.input.error.message.required-error": "Enter a phone number.",
15777
+ "field.signature.clear-button.label": "Clear",
15778
+ "input.error.message.type-error": "Choose a {type}.",
15779
+ "payment-input.input.error.message.required-error": "Enter a payment amount.",
15780
+ "form.login-bar.action.logout": "Log out",
15781
+ "date-picker.a11y.arrow-left": "Go to previous month",
15782
+ "mla-subdivision.input.error.message.required-error.tr": "Choose a city.",
15783
+ "input.error.message.value-range-error": "Enter a number from {minLimit} to {maxLimit}.",
15784
+ "input.error.message.incomplete-date-error.year-month": "Enter a month and year.",
15785
+ "mla-address-line.input.error.message.required-error": "Enter an address.",
15786
+ "contacts-position.input.error.message.required-error": "Enter a position or job title.",
15787
+ "bookings-phone.input.error.message.format-error": "Enter a valid phone number.",
15788
+ "input.error.message.incomplete-date-error.year-month-time": "Enter a month, time and year.",
15789
+ "field.number.aria-role-description": "Number",
15790
+ "signature.input.error.message.required-error": "Sign in the box above.",
15791
+ "field.date.label.month": "Month",
15792
+ "field.rich-text.read-more-button.label": "Read more",
15793
+ "field.time.label.period": "AM/PM setting",
15794
+ "submit.failed.message": "We could not submit your form. Try again later.",
15795
+ "dext-email.input.error.message.required-error": "Enter an email address like example@mysite.com.",
15796
+ "mla-city.input.error.message.required-error.tr": "Enter a district.",
15797
+ "date-picker.a11y.calendar-button.role-description": "Calendar dialog pop up collapsed",
15798
+ "field.signature.a11y.action-description.draw-or-type": "Sign in the box or use the keyboard to type.",
15799
+ "field.time.perdiod.AM": "AM",
15800
+ "form.login-bar.title.logged-out-state": "Have an account? ",
15801
+ "form.appointment.slots-not-found.text": "There\u2019s no availability for this date. Try selecting another date.",
15802
+ "input.error.message.format-error": 'Use the format "{format}."',
15803
+ "contacts-address.input.error.message.required-error": "Enter an address.",
15804
+ "field-context-menu.copy": "Copy to clipboard",
15805
+ "field.signature.a11y.state.empty": "Signature field is empty.",
15806
+ "dext-date-picker.input.error.message.min-value-error": "Enter a valid date after today\u2019s date.",
15807
+ "payment-input.input.error.message.min-value-error": "Enter a payment amount greater than {currency}{limit}.",
15808
+ "input.error.message.incomplete-date-error.year-time": "Enter a 4 digit year and time.",
15809
+ "field.signature.a11y.state.signed": "Signed.",
15810
+ "field.quiz-answer-feedback.wrong": "Incorrect",
15811
+ "mla-city.input.error.message.required-error": "Enter a city.",
15812
+ "field.rich-text.read-less-button.label": "Read less",
15813
+ "form.appointment.accessibility.calendar.previous-week.aria-label": "Show previous week",
15814
+ "field.signature.mode.upload.description": "Upload mode selected. Upload an image of your signature.",
15815
+ "field.quiz-file-upload.skipped": "This question was skipped. ",
15816
+ "ecom.email.label": "Email",
15817
+ "input.error.message.incomplete-date-error.year-month-day": "Enter a month, day and year.",
15818
+ "field-context-menu.make-optional": "Make optional",
15819
+ "contacts-subscribe.input.error.message.not-allowed-value": "Check the box to continue.",
15820
+ "field.signature.mode.draw.description": "Drawing mode selected. Drawing requires a mouse or touchpad. For keyboard accessibility, select Type or Upload.",
15821
+ "checkbox.input.error.message.required-error": "Check the box to continue.",
15822
+ "date-picker.input.error.message.required-error": "Choose a date.",
15823
+ "dext-tags.input.error.message.required-error": "Choose an option.",
15824
+ "field-context-menu.delete": "Delete",
15825
+ "field.date.label.year": "Year",
15826
+ "mla-address-line-2.input.error.message.required-error": "Enter a second address line (e.g., apartment, suite, floor).",
15827
+ "form.login-bar.title.logged-in-state": "Logged in as {user}",
15828
+ "payment-input.input.error.message.max-value-error": "Enter a payment amount less than {currency}{limit}.",
15829
+ "ecom-phone.input.error.message.required-error": "Enter a phone number.",
15830
+ "payment-input.input.error.message.value-range-error": "Enter a payment amount between {currency}{minLimit} and {currency}{maxLimit}.",
15831
+ "input.error.message.incomplete-date-error.year-day": "Enter a day and year.",
15832
+ "submission-table.signature.not-signed": "Not signed",
15833
+ "dext-url-input.input.error.message.format-error": "Enter a web URL like https://www.example.com.",
15834
+ "ecom-phone.input.error.message.pattern-error": "Enter a valid phone number.",
15835
+ "contacts-phone.input.error.message.not-allowed-value": "Phone numbers with this country code aren\u2019t accepted.",
15836
+ "vat-id.input.error.message.required-error.il": "Enter a valid 9 digit ID (\u201Cteudat zehut\u201D) or Company number (\u201Chet pey\u201D).",
15837
+ "input.error.message.incomplete-date-error.day": "Enter a day.",
15838
+ "date-input.input.error.message.min-value-error": "Enter a valid date after today\u2019s date.",
15839
+ "input.error.message.invalid-location-id-error": "Location is invalid",
15840
+ "input.error.message.max-length-error": "Enter less than {limit, plural, one {# character} other {# characters}}.",
15841
+ "field.date.placeholder.day": "Day",
15842
+ "services-dropdown.input.error.message.required-error": "Select a Service",
15843
+ "ecom-email.input.error.message.required-error": "Enter an email address like example@mysite.com.",
15844
+ "dext-phone.input.error.message.not-allowed-value": "Phone numbers with this country code aren\u2019t accepted.",
15845
+ "dext-url-input.input.error.message.required-error": "Enter a web URL like https://www.example.com.",
15846
+ "contacts-date-input.input.error.message.format-error": "Enter a month, day and year.",
15847
+ "signature.input.error.message.required-error.with-upload": "Sign in the box above or upload your signature.",
15848
+ "contacts-phone.input.error.message.required-error": "Enter a phone number.",
15849
+ "field.phone.country-selector-button.aria-label": "Select a country code",
15850
+ "field-context-menu.move-up": "Move up",
15851
+ "dext-text-input.input.error.message.required-error": "Enter an answer.",
15852
+ "settings.required-indicator-text": "(Required)",
15853
+ "file-upload.dropzone.overlay.button": " Drop your files here",
15854
+ "field.time.perdiod.PM": "PM",
15855
+ "contacts-birthdate.input.error.message.format-error": "Enter a month, day and year.",
15856
+ "field.quiz-answer-feedback.correct": "Correct",
15857
+ "vat-id.input.error.message.required-error": "Enter a CPF/CNPJ number.",
15858
+ "bookings-email.input.error.message.format-error": "Enter an email address like example@mysite.com.",
15859
+ "input.error.message.character-length-range-error": "Enter between {minLimit} and {maxLimit} characters.",
15860
+ "bookings-phone.input.error.message.not-allowed-value": "Phone numbers with this country code aren\u2019t accepted.",
15861
+ "contacts-email.input.error.message.format-error": "Enter an email address like example@mysite.com.",
15862
+ "dropdown.input.error.message.required-error": "Choose an option.",
15863
+ "dext-text-area.input.error.message.required-error": "Enter an answer.",
15864
+ "field.signature.settings.upload-button.label": "Upload Image",
15865
+ "field.date.placeholder.month": "Month",
15866
+ "form.error.prefix.a11y": "Error:",
15867
+ "contacts-tax-id.input.error.message.required-error": "Enter a VAT ID number.",
15868
+ "contacts-number-input.input.error.message.required-error": "Enter a number.",
15869
+ "date-picker.a11y.aria-label": "Show date picker",
15870
+ "field.phone.country-search-input.aria-label": "Search",
15871
+ "field.signature.a11y.state.drawing": "Writing signature...",
15872
+ "input.error.message.unknown-value-error": "Must have additional properties.",
15873
+ "dext-date-picker.input.error.message.max-value-error": "Enter a valid date from January 1, 1000 to today.",
15874
+ "form.appointment.empty-state.notification.text": "Currently, there\u2019s no available time slots to schedule. Contact us to complete your request.",
15875
+ "mla-country.input.error.message.required-error": "Choose a country/region.",
15876
+ "field.time.label.hours": "Hours",
15877
+ "file-upload.delete-file.aria-label": "Delete file",
15878
+ "field.vat-id.label-br": "CPF/CNPJ",
15879
+ "ecom-header.contact-details": "Customer details",
15880
+ "input.error.message.invalid-staff-id-error": "This field is invalid.",
15881
+ "date-input.input.error.message.format-error": "Enter a month, day and year.",
15882
+ "contacts-first-name.input.error.message.required-error": "Enter a first name.",
15883
+ "file-upload.dropzone.title": "Upload your file",
15884
+ "form.a11y.step.index.title": "Step {index} out of {total}",
15885
+ "field-context-menu.move-down": "Move down",
15886
+ "contacts-url-input.input.error.message.required-error": "Enter a web URL like https://www.example.com.",
15887
+ "field.time.label.minutes": "Minutes",
15888
+ "dext-phone.input.error.message.format-error": "Enter a valid phone number.",
15889
+ "bookings-phone.input.error.message.required-error": "Enter a phone number.",
15890
+ "form.file-upload.explanation-text": "{count, plural, =1 {# file} other {# files}} uploaded",
15891
+ "contacts-last-name.input.error.message.required-error": "Enter a last name.",
15892
+ "field.signature.mode.selector.aria-label": "Signature input mode",
15893
+ "field.signature.mode.draw.label": "Draw",
15894
+ "mla-postal-code.input.error.message.pattern-error": "Enter a valid zip/postal code.",
15895
+ "date-picker.a11y.dropdown-year": "Select year",
15896
+ "time-input.input.error.message.format-error": "Enter hours and minutes.",
15897
+ "field-context-menu.hide-field": "Hide field",
15898
+ "input.error.message.not-allowed-value": "The chosen value is not allowed.",
15899
+ "input.error.message.min-value-error": "Enter a number that is {limit} or more.",
15900
+ "input.error.message.incomplete-date-error.month-day": "Enter a month and day.",
15901
+ "field.date.placeholder.time": "HH:MM",
15902
+ "submit.checkout.message": "Redirecting to checkout...",
15903
+ "input.error.message.invalid-phone-country-code-error": "Enter a valid country code.",
15904
+ "mla-street-name.input.error.message.required-error": "Enter a street name.",
15905
+ "bookings-first-name.input.error.message.required-error": "Enter a first name.",
15906
+ "vat-id.input.error.message.format-error": "Enter a valid CPF/CNPJ number.",
15907
+ "form.appointment.accessibility.calendar.next-week.aria-label": "Show next week",
15908
+ "donation.input.error.message.required-error": "Choose a donation amount.",
15909
+ "input.error.message.incomplete-date-error.month": "Enter a month.",
15910
+ "input.error.message.incomplete-date-error.year": "Enter a 4 digit year.",
15911
+ "vat-id.input.error.message.format-error.il": "Enter a valid 9 digit ID (\u201Cteudat zehut\u201D) or Company number (\u201Chet pey\u201D).",
15912
+ "field.phone.aria-label": "Phone",
15913
+ "field.signature.canvas.aria-label.empty": "Signature drawing area (empty)",
15914
+ "file-upload.dropzone.limit-reached.title": "You\u2019ve reached the file upload limit.",
15915
+ "form.appointment.accessibility.calendar.has-availability.aria-label": "This day has available time slots.",
15916
+ "bookings-phone.input.error.message.pattern-error": "Enter a valid phone number.",
15917
+ "input.error.message.incomplete-date-error.month-time": "Enter a month and time.",
15918
+ "product-list.input.error.message.required-error": "Choose an option.",
15919
+ "field-context-menu.move-to-next-page": "Move to next page",
15920
+ "mla-postal-code.input.error.message.required-error": "Enter a zip/postal code.",
15921
+ "file-upload.input.error.message.required-error": "Upload a file.",
15922
+ "vat-id.input.error.message.format-error.br": "Enter a valid CPF/CNPJ number.",
15923
+ "input.error.message.exact-character-length-error": "Enter exactly {limit, plural, one {# character} other {# characters}}.",
15924
+ "submission-table.signature.signed": "Signed",
15925
+ "input.error.message.incomplete-date-error": "Enter a month, day and year.",
15926
+ "ecom-email.input.error.message.format-error": "Enter an email address like example@mysite.com.",
15927
+ "field.vat-id.label-il": "ID/Company number",
15928
+ "text-input.input.error.message.required-error": "Enter an answer.",
15929
+ "url-input.input.error.message.required-error": "Enter a web URL like https://www.example.com.",
15930
+ "ecom-header.shipping-details": "Delivery details",
15931
+ "service-dropdown.input.error.message.required-error": "Select a Service",
15932
+ "field.signature.mode.type.description": "Type mode selected. Type your signature using the keyboard.",
15933
+ "input.error.message.incomplete-date-error.year-day-time": "Enter a day, time and year.",
15934
+ "number-input.input.error.message.required-error": "Enter a number.",
15935
+ "field.signature.mode.upload.label": "Upload",
15936
+ "input.error.message.unknown-error": "Unknown error, please contact Support.",
15937
+ "input.error.message.max-items-error": "Choose up to {limit, plural, one {# option} other {# options}}.",
15938
+ "file-upload.popover.aria-label": "List of uploaded files",
15939
+ "input.error.message.multiple-of-value-error": "Choose a multiple of {multipleOf}.",
15940
+ "full-name-last-name.input.error.message.required-error": "Enter a last name.",
15941
+ "field-context-menu.paste": "Paste",
15942
+ "input.error.message.pattern-error": 'Match the pattern "{pattern}".',
15943
+ "dext-number-input.input.error.message.required-error": "Enter a number.",
15944
+ "field-context-menu.ai-assistant": "Ask AI",
15945
+ "field-context-menu.move-to-previous-page": "Move to previous page",
15946
+ "dext-date-picker.input.error.message.required-error": "Choose a date.",
15947
+ "date-input.input.error.message.max-value-error": "Enter a valid date from January 1, 1000 to today.",
15948
+ "dext-checkbox-group.input.error.message.required-error": "Choose an option.",
15949
+ "file-upload.dropzone.subtitle": "Choose a file or drag and drop one here.",
15950
+ "dext-radio-group.input.error.message.required-error": "Choose an option.",
15951
+ "checkbox.input.error.message.not-allowed-value": "Check the box to continue.",
15952
+ "contacts-birthdate.input.error.message.max-value-error": "Enter a date from January 1, 1900 to today.",
15953
+ "input.error.message.incomplete-date-error.month-day-time": "Enter a month, day and time.",
15954
+ "file-upload.aria-roledescription": "File upload",
15955
+ "contacts-phone.input.error.message.pattern-error": "Enter a valid phone number.",
15956
+ "mla-street-number.input.error.message.required-error": "Enter a house number.",
15957
+ "date-picker.a11y.dropdown-month": "Select month",
15958
+ "field.signature.mode.type.label": "Type",
15959
+ "date-picker.input.error.message.min-value-error": "Enter a valid date after today\u2019s date.",
15960
+ "date-time-input.input.error.message.min-value-error": "Enter a valid date after today\u2019s date.",
15961
+ "dext-checkbox.input.error.message.required-error": "Check the box to continue.",
15962
+ "url-input.input.error.message.format-error": "Enter a web URL like https://www.example.com.",
15963
+ "add-other.default-other-option-label": "Other",
15964
+ "dext-checkbox.input.error.message.not-allowed-value": "Check the box to continue.",
15965
+ "field.date.placeholder.year": "Year",
15966
+ "date-picker.input.error.message.max-value-error": "Enter a valid date from January 1, 1000 to today.",
15967
+ "field.signature.text.placeholder": "Type your signature",
15968
+ "dext-date-picker.input.error.message.format-error": "Choose a date.",
15969
+ "form.file-upload.error.upload-limit": "There is an upload limit of {limit, plural, one {# file} other {# files}}.",
15970
+ "checkbox-group.input.error.message.required-error": "Choose an option.",
15971
+ "rating-input.input.error.message.required-error": "Choose a star rating.",
15972
+ "field.mla-apartment.label": "Apartment",
15973
+ "text-area.input.error.message.required-error": "Enter an answer.",
15974
+ "field.phone.country-search-input.placeholder": "Search",
15975
+ "donation.other-option.placeholder": "Enter an amount",
15976
+ "dext-rating-input.input.error.message.required-error": "Choose a star rating.",
15977
+ "field.signature.a11y.action-description.draw": "Sign in the box.",
15978
+ "contacts-birthdate.input.error.message.min-value-error": "Enter a date from January 1, 1900 to today.",
15979
+ "mla-subdivision.input.error.message.required-error": "Choose an option.",
15980
+ "dext-dropdown.input.error.message.required-error": "Choose an option.",
15981
+ "contacts-text-input.input.error.message.required-error": "Enter an answer.",
15982
+ "field.date.label.day": "Day",
15983
+ "vat-id.input.error.message.required-error.br": "Enter a CPF/CNPJ number.",
15984
+ "date-picker.calendar.close-button": "Close",
15985
+ "input.error.message.invalid-value-for-pattern": "Enter a valid answer.",
15986
+ "radio-group.input.error.message.required-error": "Choose an option.",
15987
+ "input.error.message.min-items-error": "Choose at least {limit, plural, one {# option} other {# options}}.",
15988
+ "ecom.form.field-type.ecom-subscriptions.label": "I agree to receive news to the email address and/or phone numbers added",
15989
+ "input.error.message.decimal_point_error": "Add {number} number(s) after the decimal point.",
15990
+ "bookings-email.input.error.message.required-error": "Enter an email address like example@mysite.com.",
15991
+ "contacts-subscribe.input.error.message.required-error": "Check the box to continue.",
15992
+ "form.appointment.show-more-slots.text": "Show more slots",
15993
+ "form.file-upload.error.upload-failed": "File upload failed.",
15994
+ "dext-email.input.error.message.format-error": "Enter an email address like example@mysite.com.",
15995
+ "full-name-first-name.input.error.message.required-error": "Enter a first name.",
15996
+ "field-context-menu.settings": "Settings",
15997
+ "bookings-last-name.input.error.message.required-error": "Enter a last name.",
15998
+ "actions.rules.button.label_DELETE_THIS": "Rules",
15999
+ "appointment.input.error.message.required-error": "This field is required.",
16000
+ "field-context-menu.make-required": "Make required",
16001
+ "date-time-input.input.error.message.format-error": "Enter a month, day and year.",
16002
+ "field.date.label.time": "Time",
16003
+ "input.error.message.required-error": "This field is required.",
16004
+ "field.phone.country-selector-dropdown.no-result": "No results found...",
16005
+ "input.error.message.exact-items-number-error": "Choose {limit, plural, one {# option} other {# options}}.",
16006
+ "form.appointment.timezone.label": "Time zone",
16007
+ "date-time-input.input.error.message.max-value-error": "Enter a valid date from January 1, 1000 to today.",
16008
+ "date-picker.a11y.arrow-right": "Go to next month",
16009
+ "input.error.message.incomplete-date-error.time": "Enter a time.",
16010
+ "field.signature.canvas.aria-label.signed": "Signature drawing area (signed)",
16011
+ "contacts-phone.input.error.message.format-error": "Enter a valid phone number.",
16012
+ "tags.input.error.message.required-error": "Choose an option.",
16013
+ "file-upload.dropzone.limit-reached.subtitle": "Delete a file to add a different one.",
16014
+ "input.error.message.max-value-error": "Enter a number that is {limit} or less.",
16015
+ "input.error.message.min-length-error": "Enter at least {limit, plural, one {# character} other {# characters}}.",
16016
+ "form.appointment.meeting-format.in-person-location-method-os-location": "Business location",
16017
+ "form.file-upload.error.limit": "You've reached your upload limit of {limit, number} files.",
16018
+ "contacts-email.input.error.message.required-error": "Enter an email address like example@mysite.com.",
16019
+ "field-context-menu.duplicate": "Duplicate"
16020
+ };
16021
+ }
16022
+ });
16023
+
15758
16024
  // ../form-fields/dist/esm/constants/input-field-types.js
15759
16025
  var CONTACTS_FIELD_TYPES = {
15760
16026
  CONTACTS_COMPANY: "CONTACTS_COMPANY",
@@ -17958,7 +18224,7 @@ var ExplanationTextKey = "explanationText";
17958
18224
  var MediaKey = "media";
17959
18225
  var UploadEnabledKey = "uploadEnabled";
17960
18226
  var FirstDayOfWeekKey = "firstDayOfWeek";
17961
- var DefaultCountryCodeKey = "defaultCountryCode";
18227
+ var DefaultCountryCodeKey = "defaultCountry";
17962
18228
  var ImageResizeKey = "imageResize";
17963
18229
  var ShowFlagKey = "showFlag";
17964
18230
  var NameKey = "name";
@@ -21645,11 +21911,11 @@ var TextAreaMapper = (props) => ({
21645
21911
  ...BaseMapper(props)
21646
21912
  });
21647
21913
  var PhoneInputMapper = (props) => {
21648
- const { defaultCountry, validation } = props;
21914
+ const { defaultCountry, defaultCountryCode, validation } = props;
21649
21915
  return {
21650
21916
  ...props,
21651
21917
  ...BaseMapper(props),
21652
- defaultCountryCode: defaultCountry,
21918
+ defaultCountryCode: defaultCountry ?? defaultCountryCode,
21653
21919
  allowedCountryCodes: validation?.string?.phoneOptions?.allowedCountryCodes
21654
21920
  };
21655
21921
  };
@@ -22004,16 +22270,112 @@ var useForm3 = ({
22004
22270
  fieldsLayout
22005
22271
  } : null;
22006
22272
  };
22007
- var FormProvider = ({ children, currency }) => {
22273
+ var SUPPORTED_LOCALES = [
22274
+ "ar",
22275
+ "bg",
22276
+ "ca",
22277
+ "cs",
22278
+ "da",
22279
+ "de",
22280
+ "el",
22281
+ "en",
22282
+ "es",
22283
+ "fi",
22284
+ "fr",
22285
+ "he",
22286
+ "hi",
22287
+ "hu",
22288
+ "id",
22289
+ "it",
22290
+ "ja",
22291
+ "ko",
22292
+ "lt",
22293
+ "ms",
22294
+ "nl",
22295
+ "no",
22296
+ "pl",
22297
+ "pt",
22298
+ "ro",
22299
+ "ru",
22300
+ "sv",
22301
+ "th",
22302
+ "tl",
22303
+ "tr",
22304
+ "uk",
22305
+ "vi",
22306
+ "zh"
22307
+ ];
22308
+ var FORM_VIEWER_NAMESPACE = "form-viewer";
22309
+ async function loadFieldViewerTranslations(locale) {
22310
+ try {
22311
+ const supportedLocale = SUPPORTED_LOCALES.includes(locale) ? locale : "en";
22312
+ const fieldMessages = await import(`@wix/form-fields/dist/esm/assets/locale/viewer/messages_${supportedLocale}.json`);
22313
+ return fieldMessages.default;
22314
+ } catch (error) {
22315
+ console.warn(
22316
+ `Failed to load translations for locale ${locale}, falling back to English`,
22317
+ error
22318
+ );
22319
+ try {
22320
+ const fallbackMessages = await Promise.resolve().then(() => __toESM(require_messages_en(), 1));
22321
+ return fallbackMessages.default;
22322
+ } catch {
22323
+ return {};
22324
+ }
22325
+ }
22326
+ }
22327
+ async function createI18n(locale) {
22328
+ const i18nInstance = i18next.createInstance();
22329
+ await i18nInstance.use(initReactI18next).init({
22330
+ lng: locale,
22331
+ fallbackLng: "en",
22332
+ interpolation: {
22333
+ escapeValue: false
22334
+ },
22335
+ defaultNS: "translation",
22336
+ ns: ["translation", FORM_VIEWER_NAMESPACE],
22337
+ resources: {}
22338
+ });
22339
+ const fieldTranslations = await loadFieldViewerTranslations(locale);
22340
+ i18nInstance.addResourceBundle(
22341
+ locale,
22342
+ FORM_VIEWER_NAMESPACE,
22343
+ fieldTranslations,
22344
+ true,
22345
+ true
22346
+ );
22347
+ return i18nInstance;
22348
+ }
22349
+ var FormProvider = ({
22350
+ children,
22351
+ currency,
22352
+ locale,
22353
+ regionalFormat = "en"
22354
+ }) => {
22355
+ const [i18nInstance, setI18nInstance] = useState(null);
22356
+ useEffect(() => {
22357
+ const initializeI18n = async () => {
22358
+ try {
22359
+ const newI18n = await createI18n(locale);
22360
+ setI18nInstance(newI18n);
22361
+ } catch (error) {
22362
+ console.error("Failed to initialize i18n:", error);
22363
+ }
22364
+ };
22365
+ initializeI18n();
22366
+ }, [locale]);
22367
+ if (!i18nInstance) {
22368
+ return null;
22369
+ }
22008
22370
  return /* @__PURE__ */ jsx(
22009
22371
  FormViewerProvider,
22010
22372
  {
22011
- i18n: { getFixedT: () => {
22012
- } },
22373
+ i18n: i18nInstance,
22013
22374
  form: {},
22014
- locale: "en",
22015
- regionalFormat: "en",
22375
+ locale,
22376
+ regionalFormat,
22016
22377
  currency,
22378
+ translationNamespace: FORM_VIEWER_NAMESPACE,
22017
22379
  WixRicosViewer: () => null,
22018
22380
  children: /* @__PURE__ */ jsx(ExternalDataProvider, { externalData: {}, children: /* @__PURE__ */ jsx(FormStatusProvider, { children }) })
22019
22381
  }