@wix/form-public 0.36.0 → 0.37.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
@@ -20437,7 +20437,8 @@ var IDENTITY_FIELD_TYPES = {
20437
20437
  IDENTITY_PASSWORD: "IDENTITY_PASSWORD"
20438
20438
  };
20439
20439
  var EVENTS_FIELD_TYPES = {
20440
- EVENTS_RSVP: "EVENTS_RSVP"
20440
+ EVENTS_RSVP: "EVENTS_RSVP",
20441
+ EVENTS_REPEATER: "EVENTS_REPEATER"
20441
20442
  };
20442
20443
  var INPUT_FIELD_TYPES = {
20443
20444
  ...CONTACTS_FIELD_TYPES,
@@ -28447,7 +28448,8 @@ var ADDITIONAL_FIELD_VALIDATION = {
28447
28448
  [FIELD_TYPES.IDENTITY_PASSWORD]: null,
28448
28449
  [FIELD_TYPES.SERVICES_DROPDOWN]: null,
28449
28450
  [FIELD_TYPES.SERVICES_MULTI_CHOICE]: null,
28450
- [FIELD_TYPES.EVENTS_RSVP]: null
28451
+ [FIELD_TYPES.EVENTS_RSVP]: null,
28452
+ [FIELD_TYPES.EVENTS_REPEATER]: null
28451
28453
  };
28452
28454
 
28453
28455
  // ../form-viewer/dist/esm/services/get-field-errors.js
@@ -28836,7 +28838,8 @@ var NORMALIZED_VALUE = {
28836
28838
  [FIELD_TYPES.IDENTITY_PASSWORD]: acceptStringValue,
28837
28839
  [FIELD_TYPES.SERVICES_DROPDOWN]: acceptStringValue,
28838
28840
  [FIELD_TYPES.SERVICES_MULTI_CHOICE]: removeInvalidOptions,
28839
- [FIELD_TYPES.EVENTS_RSVP]: acceptOnlyValidOptionByValue
28841
+ [FIELD_TYPES.EVENTS_RSVP]: acceptOnlyValidOptionByValue,
28842
+ [FIELD_TYPES.EVENTS_REPEATER]: normalizeRepeater
28840
28843
  };
28841
28844
  function keepValueUnchanged({ fieldValue }) {
28842
28845
  return fieldValue;
@@ -29010,6 +29013,27 @@ function acceptOnlyValidPayments({ field, fieldValue }) {
29010
29013
  }
29011
29014
  return fieldValue;
29012
29015
  }
29016
+ function normalizeRepeater({ field, fieldValue, config }) {
29017
+ const isEmptyValue = fieldValue === EMPTY_VALUE;
29018
+ const nestedFields = field.view?.fields;
29019
+ if (isEmptyValue) {
29020
+ return fieldValue;
29021
+ }
29022
+ if (!Array.isArray(fieldValue) || !nestedFields) {
29023
+ return EMPTY_VALUE;
29024
+ }
29025
+ const nestedForm = {
29026
+ fields: nestedFields
29027
+ };
29028
+ const normalizedValues = fieldValue.map((values) => {
29029
+ if (!isObject5(values)) {
29030
+ return {};
29031
+ }
29032
+ const normalized = normalizeValues(nestedForm, values, false, config);
29033
+ return Object.fromEntries(Object.entries(normalized).filter(([_23, value]) => value !== EMPTY_VALUE));
29034
+ });
29035
+ return normalizedValues;
29036
+ }
29013
29037
 
29014
29038
  // ../form-viewer/dist/esm/components/form/use-form-values.js
29015
29039
  var useFormValues = (form, values, onChange, config) => {
@@ -30093,6 +30117,7 @@ var FIELD_TYPE_MAP = {
30093
30117
  // EVENTS_FIELD_TYPES
30094
30118
  EVENTS_RSVP: "RADIO_GROUP",
30095
30119
  EVENTS_HEADER: "TEXT",
30120
+ EVENTS_REPEATER: "TEXT",
30096
30121
  // COMMON_FIELD_TYPES + READONLY
30097
30122
  TEXT_INPUT: "TEXT_INPUT",
30098
30123
  NUMBER_INPUT: "NUMBER_INPUT",