@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.
@@ -1293,7 +1293,7 @@ export { PhoneInputProps as PhoneInputProps_alias_1 }
1293
1293
 
1294
1294
  export declare type PossibleValues = ValueType | {
1295
1295
  [target: string]: ValueType;
1296
- };
1296
+ } | FormValues[];
1297
1297
 
1298
1298
  export declare const ProductListMapper: PropsMapper;
1299
1299
 
@@ -1293,7 +1293,7 @@ export { PhoneInputProps as PhoneInputProps_alias_1 }
1293
1293
 
1294
1294
  export declare type PossibleValues = ValueType | {
1295
1295
  [target: string]: ValueType;
1296
- };
1296
+ } | FormValues[];
1297
1297
 
1298
1298
  export declare const ProductListMapper: PropsMapper;
1299
1299
 
package/dist/index.cjs CHANGED
@@ -20463,7 +20463,8 @@ var IDENTITY_FIELD_TYPES = {
20463
20463
  IDENTITY_PASSWORD: "IDENTITY_PASSWORD"
20464
20464
  };
20465
20465
  var EVENTS_FIELD_TYPES = {
20466
- EVENTS_RSVP: "EVENTS_RSVP"
20466
+ EVENTS_RSVP: "EVENTS_RSVP",
20467
+ EVENTS_REPEATER: "EVENTS_REPEATER"
20467
20468
  };
20468
20469
  var INPUT_FIELD_TYPES = {
20469
20470
  ...CONTACTS_FIELD_TYPES,
@@ -28473,7 +28474,8 @@ var ADDITIONAL_FIELD_VALIDATION = {
28473
28474
  [FIELD_TYPES.IDENTITY_PASSWORD]: null,
28474
28475
  [FIELD_TYPES.SERVICES_DROPDOWN]: null,
28475
28476
  [FIELD_TYPES.SERVICES_MULTI_CHOICE]: null,
28476
- [FIELD_TYPES.EVENTS_RSVP]: null
28477
+ [FIELD_TYPES.EVENTS_RSVP]: null,
28478
+ [FIELD_TYPES.EVENTS_REPEATER]: null
28477
28479
  };
28478
28480
 
28479
28481
  // ../form-viewer/dist/esm/services/get-field-errors.js
@@ -28862,7 +28864,8 @@ var NORMALIZED_VALUE = {
28862
28864
  [FIELD_TYPES.IDENTITY_PASSWORD]: acceptStringValue,
28863
28865
  [FIELD_TYPES.SERVICES_DROPDOWN]: acceptStringValue,
28864
28866
  [FIELD_TYPES.SERVICES_MULTI_CHOICE]: removeInvalidOptions,
28865
- [FIELD_TYPES.EVENTS_RSVP]: acceptOnlyValidOptionByValue
28867
+ [FIELD_TYPES.EVENTS_RSVP]: acceptOnlyValidOptionByValue,
28868
+ [FIELD_TYPES.EVENTS_REPEATER]: normalizeRepeater
28866
28869
  };
28867
28870
  function keepValueUnchanged({ fieldValue }) {
28868
28871
  return fieldValue;
@@ -29036,6 +29039,27 @@ function acceptOnlyValidPayments({ field, fieldValue }) {
29036
29039
  }
29037
29040
  return fieldValue;
29038
29041
  }
29042
+ function normalizeRepeater({ field, fieldValue, config }) {
29043
+ const isEmptyValue = fieldValue === EMPTY_VALUE;
29044
+ const nestedFields = field.view?.fields;
29045
+ if (isEmptyValue) {
29046
+ return fieldValue;
29047
+ }
29048
+ if (!Array.isArray(fieldValue) || !nestedFields) {
29049
+ return EMPTY_VALUE;
29050
+ }
29051
+ const nestedForm = {
29052
+ fields: nestedFields
29053
+ };
29054
+ const normalizedValues = fieldValue.map((values) => {
29055
+ if (!isObject5(values)) {
29056
+ return {};
29057
+ }
29058
+ const normalized = normalizeValues(nestedForm, values, false, config);
29059
+ return Object.fromEntries(Object.entries(normalized).filter(([_23, value]) => value !== EMPTY_VALUE));
29060
+ });
29061
+ return normalizedValues;
29062
+ }
29039
29063
 
29040
29064
  // ../form-viewer/dist/esm/components/form/use-form-values.js
29041
29065
  var useFormValues = (form, values, onChange, config) => {
@@ -30119,6 +30143,7 @@ var FIELD_TYPE_MAP = {
30119
30143
  // EVENTS_FIELD_TYPES
30120
30144
  EVENTS_RSVP: "RADIO_GROUP",
30121
30145
  EVENTS_HEADER: "TEXT",
30146
+ EVENTS_REPEATER: "TEXT",
30122
30147
  // COMMON_FIELD_TYPES + READONLY
30123
30148
  TEXT_INPUT: "TEXT_INPUT",
30124
30149
  NUMBER_INPUT: "NUMBER_INPUT",