@orderingstack/front-components-product-configurator 1.0.2 → 1.0.4
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/components/MenuProduct/useMenuProduct.d.ts.map +1 -1
- package/dist/components/MenuProductRoot/{MenuProductRootDefaultShitUI.d.ts → MenuProductRootDefaultUI.d.ts} +2 -2
- package/dist/components/MenuProductRoot/MenuProductRootDefaultUI.d.ts.map +1 -0
- package/dist/components/MenuProductRoot/MenuProductRootDefaultUIModal.d.ts +8 -0
- package/dist/components/MenuProductRoot/MenuProductRootDefaultUIModal.d.ts.map +1 -0
- package/dist/components/ProductConfigurator/{ProductConfiguratorNew.d.ts → ProductConfigurator.d.ts} +1 -1
- package/dist/components/ProductConfigurator/ProductConfigurator.d.ts.map +1 -0
- package/dist/components/ProductConfigurator/index.d.ts +3 -0
- package/dist/components/ProductConfigurator/index.d.ts.map +1 -0
- package/dist/index.cjs.js +6 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +383 -13
- package/dist/index.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/components/MenuProductRoot/MenuProductRootDefaultShitUI.d.ts.map +0 -1
- package/dist/components/ProductConfigurator/ProductConfiguratorNew.d.ts.map +0 -1
- package/dist/views/Modal/Modal.d.ts +0 -8
- package/dist/views/Modal/Modal.d.ts.map +0 -1
- package/dist/views/Modal/index.d.ts +0 -3
- package/dist/views/Modal/index.d.ts.map +0 -1
package/dist/index.es.js
CHANGED
|
@@ -2651,7 +2651,7 @@ var I18n = function(_EventEmitter) {
|
|
|
2651
2651
|
if (usedLng && usedLng.toLowerCase() === "cimode")
|
|
2652
2652
|
return usedCallback();
|
|
2653
2653
|
var toLoad = [];
|
|
2654
|
-
var
|
|
2654
|
+
var append2 = function append3(lng) {
|
|
2655
2655
|
if (!lng)
|
|
2656
2656
|
return;
|
|
2657
2657
|
var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);
|
|
@@ -2663,14 +2663,14 @@ var I18n = function(_EventEmitter) {
|
|
|
2663
2663
|
if (!usedLng) {
|
|
2664
2664
|
var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
|
|
2665
2665
|
fallbacks.forEach(function(l2) {
|
|
2666
|
-
return
|
|
2666
|
+
return append2(l2);
|
|
2667
2667
|
});
|
|
2668
2668
|
} else {
|
|
2669
|
-
|
|
2669
|
+
append2(usedLng);
|
|
2670
2670
|
}
|
|
2671
2671
|
if (this.options.preload) {
|
|
2672
2672
|
this.options.preload.forEach(function(l2) {
|
|
2673
|
-
return
|
|
2673
|
+
return append2(l2);
|
|
2674
2674
|
});
|
|
2675
2675
|
}
|
|
2676
2676
|
this.services.backendConnector.load(toLoad, this.options.ns, function(e2) {
|
|
@@ -3077,6 +3077,7 @@ var shouldRenderFormState = (formStateData, _proxyFormState, isRoot) => {
|
|
|
3077
3077
|
return isEmptyObject(formState) || Object.keys(formState).length >= Object.keys(_proxyFormState).length || Object.keys(formState).find((key) => _proxyFormState[key] === (!isRoot || VALIDATION_MODE.all));
|
|
3078
3078
|
};
|
|
3079
3079
|
var convertToArrayPayload = (value) => Array.isArray(value) ? value : [value];
|
|
3080
|
+
var shouldSubscribeByName = (name, signalName, exact) => exact && signalName ? name === signalName : !name || !signalName || name === signalName || convertToArrayPayload(name).some((currentName) => currentName && (currentName.startsWith(signalName) || signalName.startsWith(currentName)));
|
|
3080
3081
|
function useSubscribe(props) {
|
|
3081
3082
|
const _props = React.useRef(props);
|
|
3082
3083
|
_props.current = props;
|
|
@@ -3089,6 +3090,45 @@ function useSubscribe(props) {
|
|
|
3089
3090
|
};
|
|
3090
3091
|
}, [props.disabled]);
|
|
3091
3092
|
}
|
|
3093
|
+
function useFormState(props) {
|
|
3094
|
+
const methods = useFormContext();
|
|
3095
|
+
const { control = methods.control, disabled, name, exact } = props || {};
|
|
3096
|
+
const [formState, updateFormState] = React.useState(control._formState);
|
|
3097
|
+
const _mounted = React.useRef(true);
|
|
3098
|
+
const _localProxyFormState = React.useRef({
|
|
3099
|
+
isDirty: false,
|
|
3100
|
+
isLoading: false,
|
|
3101
|
+
dirtyFields: false,
|
|
3102
|
+
touchedFields: false,
|
|
3103
|
+
isValidating: false,
|
|
3104
|
+
isValid: false,
|
|
3105
|
+
errors: false
|
|
3106
|
+
});
|
|
3107
|
+
const _name = React.useRef(name);
|
|
3108
|
+
_name.current = name;
|
|
3109
|
+
useSubscribe({
|
|
3110
|
+
disabled,
|
|
3111
|
+
next: (value) => _mounted.current && shouldSubscribeByName(_name.current, value.name, exact) && shouldRenderFormState(value, _localProxyFormState.current) && updateFormState({
|
|
3112
|
+
...control._formState,
|
|
3113
|
+
...value
|
|
3114
|
+
}),
|
|
3115
|
+
subject: control._subjects.state
|
|
3116
|
+
});
|
|
3117
|
+
React.useEffect(() => {
|
|
3118
|
+
_mounted.current = true;
|
|
3119
|
+
const isDirty = control._proxyFormState.isDirty && control._getDirty();
|
|
3120
|
+
if (isDirty !== control._formState.isDirty) {
|
|
3121
|
+
control._subjects.state.next({
|
|
3122
|
+
isDirty
|
|
3123
|
+
});
|
|
3124
|
+
}
|
|
3125
|
+
control._updateValid();
|
|
3126
|
+
return () => {
|
|
3127
|
+
_mounted.current = false;
|
|
3128
|
+
};
|
|
3129
|
+
}, [control]);
|
|
3130
|
+
return getProxyFormState(formState, control, _localProxyFormState.current, false);
|
|
3131
|
+
}
|
|
3092
3132
|
var isString = (value) => typeof value === "string";
|
|
3093
3133
|
var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {
|
|
3094
3134
|
if (isString(names)) {
|
|
@@ -3127,6 +3167,107 @@ function cloneObject(data) {
|
|
|
3127
3167
|
}
|
|
3128
3168
|
return copy2;
|
|
3129
3169
|
}
|
|
3170
|
+
function useWatch(props) {
|
|
3171
|
+
const methods = useFormContext();
|
|
3172
|
+
const { control = methods.control, name, defaultValue, disabled, exact } = props || {};
|
|
3173
|
+
const _name = React.useRef(name);
|
|
3174
|
+
_name.current = name;
|
|
3175
|
+
useSubscribe({
|
|
3176
|
+
disabled,
|
|
3177
|
+
subject: control._subjects.watch,
|
|
3178
|
+
next: (formState) => {
|
|
3179
|
+
if (shouldSubscribeByName(_name.current, formState.name, exact)) {
|
|
3180
|
+
updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));
|
|
3181
|
+
}
|
|
3182
|
+
}
|
|
3183
|
+
});
|
|
3184
|
+
const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));
|
|
3185
|
+
React.useEffect(() => control._removeUnmounted());
|
|
3186
|
+
return value;
|
|
3187
|
+
}
|
|
3188
|
+
function useController(props) {
|
|
3189
|
+
const methods = useFormContext();
|
|
3190
|
+
const { name, control = methods.control, shouldUnregister } = props;
|
|
3191
|
+
const isArrayField = isNameInFieldArray(control._names.array, name);
|
|
3192
|
+
const value = useWatch({
|
|
3193
|
+
control,
|
|
3194
|
+
name,
|
|
3195
|
+
defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),
|
|
3196
|
+
exact: true
|
|
3197
|
+
});
|
|
3198
|
+
const formState = useFormState({
|
|
3199
|
+
control,
|
|
3200
|
+
name
|
|
3201
|
+
});
|
|
3202
|
+
const _registerProps = React.useRef(control.register(name, {
|
|
3203
|
+
...props.rules,
|
|
3204
|
+
value
|
|
3205
|
+
}));
|
|
3206
|
+
React.useEffect(() => {
|
|
3207
|
+
const updateMounted = (name2, value2) => {
|
|
3208
|
+
const field = get(control._fields, name2);
|
|
3209
|
+
if (field) {
|
|
3210
|
+
field._f.mount = value2;
|
|
3211
|
+
}
|
|
3212
|
+
};
|
|
3213
|
+
updateMounted(name, true);
|
|
3214
|
+
return () => {
|
|
3215
|
+
const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
|
|
3216
|
+
(isArrayField ? _shouldUnregisterField && !control._stateFlags.action : _shouldUnregisterField) ? control.unregister(name) : updateMounted(name, false);
|
|
3217
|
+
};
|
|
3218
|
+
}, [name, control, isArrayField, shouldUnregister]);
|
|
3219
|
+
return {
|
|
3220
|
+
field: {
|
|
3221
|
+
name,
|
|
3222
|
+
value,
|
|
3223
|
+
onChange: React.useCallback((event) => _registerProps.current.onChange({
|
|
3224
|
+
target: {
|
|
3225
|
+
value: getEventValue(event),
|
|
3226
|
+
name
|
|
3227
|
+
},
|
|
3228
|
+
type: EVENTS.CHANGE
|
|
3229
|
+
}), [name]),
|
|
3230
|
+
onBlur: React.useCallback(() => _registerProps.current.onBlur({
|
|
3231
|
+
target: {
|
|
3232
|
+
value: get(control._formValues, name),
|
|
3233
|
+
name
|
|
3234
|
+
},
|
|
3235
|
+
type: EVENTS.BLUR
|
|
3236
|
+
}), [name, control]),
|
|
3237
|
+
ref: (elm) => {
|
|
3238
|
+
const field = get(control._fields, name);
|
|
3239
|
+
if (field && elm) {
|
|
3240
|
+
field._f.ref = {
|
|
3241
|
+
focus: () => elm.focus(),
|
|
3242
|
+
select: () => elm.select(),
|
|
3243
|
+
setCustomValidity: (message) => elm.setCustomValidity(message),
|
|
3244
|
+
reportValidity: () => elm.reportValidity()
|
|
3245
|
+
};
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
},
|
|
3249
|
+
formState,
|
|
3250
|
+
fieldState: Object.defineProperties({}, {
|
|
3251
|
+
invalid: {
|
|
3252
|
+
enumerable: true,
|
|
3253
|
+
get: () => !!get(formState.errors, name)
|
|
3254
|
+
},
|
|
3255
|
+
isDirty: {
|
|
3256
|
+
enumerable: true,
|
|
3257
|
+
get: () => !!get(formState.dirtyFields, name)
|
|
3258
|
+
},
|
|
3259
|
+
isTouched: {
|
|
3260
|
+
enumerable: true,
|
|
3261
|
+
get: () => !!get(formState.touchedFields, name)
|
|
3262
|
+
},
|
|
3263
|
+
error: {
|
|
3264
|
+
enumerable: true,
|
|
3265
|
+
get: () => get(formState.errors, name)
|
|
3266
|
+
}
|
|
3267
|
+
})
|
|
3268
|
+
};
|
|
3269
|
+
}
|
|
3270
|
+
const Controller = (props) => props.render(useController(props));
|
|
3130
3271
|
var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria ? {
|
|
3131
3272
|
...errors[name],
|
|
3132
3273
|
types: {
|
|
@@ -3172,6 +3313,14 @@ const focusFieldBy = (fields, callback, fieldsNames) => {
|
|
|
3172
3313
|
}
|
|
3173
3314
|
}
|
|
3174
3315
|
};
|
|
3316
|
+
var generateId = () => {
|
|
3317
|
+
const d2 = typeof performance === "undefined" ? Date.now() : performance.now() * 1e3;
|
|
3318
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
3319
|
+
const r2 = (Math.random() * 16 + d2) % 16 | 0;
|
|
3320
|
+
return (c == "x" ? r2 : r2 & 3 | 8).toString(16);
|
|
3321
|
+
});
|
|
3322
|
+
};
|
|
3323
|
+
var getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined$2(options.shouldFocus) ? options.focusName || `${name}.${isUndefined$2(options.focusIndex) ? index : options.focusIndex}.` : "";
|
|
3175
3324
|
var getValidationModes = (mode) => ({
|
|
3176
3325
|
isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,
|
|
3177
3326
|
isOnBlur: mode === VALIDATION_MODE.onBlur,
|
|
@@ -3384,6 +3533,43 @@ var validateField = async (field, inputValue, validateAllFieldCriteria, shouldUs
|
|
|
3384
3533
|
setCustomValidity(true);
|
|
3385
3534
|
return error2;
|
|
3386
3535
|
};
|
|
3536
|
+
function append(data, value) {
|
|
3537
|
+
return [...data, ...convertToArrayPayload(value)];
|
|
3538
|
+
}
|
|
3539
|
+
var fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => void 0) : void 0;
|
|
3540
|
+
function insert(data, index, value) {
|
|
3541
|
+
return [
|
|
3542
|
+
...data.slice(0, index),
|
|
3543
|
+
...convertToArrayPayload(value),
|
|
3544
|
+
...data.slice(index)
|
|
3545
|
+
];
|
|
3546
|
+
}
|
|
3547
|
+
var moveArrayAt = (data, from, to) => {
|
|
3548
|
+
if (!Array.isArray(data)) {
|
|
3549
|
+
return [];
|
|
3550
|
+
}
|
|
3551
|
+
if (isUndefined$2(data[to])) {
|
|
3552
|
+
data[to] = void 0;
|
|
3553
|
+
}
|
|
3554
|
+
data.splice(to, 0, data.splice(from, 1)[0]);
|
|
3555
|
+
return data;
|
|
3556
|
+
};
|
|
3557
|
+
function prepend(data, value) {
|
|
3558
|
+
return [...convertToArrayPayload(value), ...convertToArrayPayload(data)];
|
|
3559
|
+
}
|
|
3560
|
+
function removeAtIndexes(data, indexes) {
|
|
3561
|
+
let i2 = 0;
|
|
3562
|
+
const temp = [...data];
|
|
3563
|
+
for (const index of indexes) {
|
|
3564
|
+
temp.splice(index - i2, 1);
|
|
3565
|
+
i2++;
|
|
3566
|
+
}
|
|
3567
|
+
return compact(temp).length ? temp : [];
|
|
3568
|
+
}
|
|
3569
|
+
var removeArrayAt = (data, index) => isUndefined$2(index) ? [] : removeAtIndexes(data, convertToArrayPayload(index).sort((a2, b) => a2 - b));
|
|
3570
|
+
var swapArrayAt = (data, indexA, indexB) => {
|
|
3571
|
+
data[indexA] = [data[indexB], data[indexB] = data[indexA]][0];
|
|
3572
|
+
};
|
|
3387
3573
|
function baseGet(object, updatePath) {
|
|
3388
3574
|
const length = updatePath.slice(0, -1).length;
|
|
3389
3575
|
let index = 0;
|
|
@@ -3427,6 +3613,174 @@ function unset(object, path2) {
|
|
|
3427
3613
|
}
|
|
3428
3614
|
return object;
|
|
3429
3615
|
}
|
|
3616
|
+
var updateAt = (fieldValues, index, value) => {
|
|
3617
|
+
fieldValues[index] = value;
|
|
3618
|
+
return fieldValues;
|
|
3619
|
+
};
|
|
3620
|
+
function useFieldArray(props) {
|
|
3621
|
+
const methods = useFormContext();
|
|
3622
|
+
const { control = methods.control, name, keyName = "id", shouldUnregister } = props;
|
|
3623
|
+
const [fields, setFields] = React.useState(control._getFieldArray(name));
|
|
3624
|
+
const ids = React.useRef(control._getFieldArray(name).map(generateId));
|
|
3625
|
+
const _fieldIds = React.useRef(fields);
|
|
3626
|
+
const _name = React.useRef(name);
|
|
3627
|
+
const _actioned = React.useRef(false);
|
|
3628
|
+
_name.current = name;
|
|
3629
|
+
_fieldIds.current = fields;
|
|
3630
|
+
control._names.array.add(name);
|
|
3631
|
+
props.rules && control.register(name, props.rules);
|
|
3632
|
+
useSubscribe({
|
|
3633
|
+
next: ({ values, name: fieldArrayName }) => {
|
|
3634
|
+
if (fieldArrayName === _name.current || !fieldArrayName) {
|
|
3635
|
+
const fieldValues = get(values, _name.current);
|
|
3636
|
+
if (Array.isArray(fieldValues)) {
|
|
3637
|
+
setFields(fieldValues);
|
|
3638
|
+
ids.current = fieldValues.map(generateId);
|
|
3639
|
+
}
|
|
3640
|
+
}
|
|
3641
|
+
},
|
|
3642
|
+
subject: control._subjects.array
|
|
3643
|
+
});
|
|
3644
|
+
const updateValues = React.useCallback((updatedFieldArrayValues) => {
|
|
3645
|
+
_actioned.current = true;
|
|
3646
|
+
control._updateFieldArray(name, updatedFieldArrayValues);
|
|
3647
|
+
}, [control, name]);
|
|
3648
|
+
const append$1 = (value, options) => {
|
|
3649
|
+
const appendValue = convertToArrayPayload(cloneObject(value));
|
|
3650
|
+
const updatedFieldArrayValues = append(control._getFieldArray(name), appendValue);
|
|
3651
|
+
control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);
|
|
3652
|
+
ids.current = append(ids.current, appendValue.map(generateId));
|
|
3653
|
+
updateValues(updatedFieldArrayValues);
|
|
3654
|
+
setFields(updatedFieldArrayValues);
|
|
3655
|
+
control._updateFieldArray(name, updatedFieldArrayValues, append, {
|
|
3656
|
+
argA: fillEmptyArray(value)
|
|
3657
|
+
});
|
|
3658
|
+
};
|
|
3659
|
+
const prepend$1 = (value, options) => {
|
|
3660
|
+
const prependValue = convertToArrayPayload(cloneObject(value));
|
|
3661
|
+
const updatedFieldArrayValues = prepend(control._getFieldArray(name), prependValue);
|
|
3662
|
+
control._names.focus = getFocusFieldName(name, 0, options);
|
|
3663
|
+
ids.current = prepend(ids.current, prependValue.map(generateId));
|
|
3664
|
+
updateValues(updatedFieldArrayValues);
|
|
3665
|
+
setFields(updatedFieldArrayValues);
|
|
3666
|
+
control._updateFieldArray(name, updatedFieldArrayValues, prepend, {
|
|
3667
|
+
argA: fillEmptyArray(value)
|
|
3668
|
+
});
|
|
3669
|
+
};
|
|
3670
|
+
const remove2 = (index) => {
|
|
3671
|
+
const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);
|
|
3672
|
+
ids.current = removeArrayAt(ids.current, index);
|
|
3673
|
+
updateValues(updatedFieldArrayValues);
|
|
3674
|
+
setFields(updatedFieldArrayValues);
|
|
3675
|
+
control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {
|
|
3676
|
+
argA: index
|
|
3677
|
+
});
|
|
3678
|
+
};
|
|
3679
|
+
const insert$1 = (index, value, options) => {
|
|
3680
|
+
const insertValue = convertToArrayPayload(cloneObject(value));
|
|
3681
|
+
const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);
|
|
3682
|
+
control._names.focus = getFocusFieldName(name, index, options);
|
|
3683
|
+
ids.current = insert(ids.current, index, insertValue.map(generateId));
|
|
3684
|
+
updateValues(updatedFieldArrayValues);
|
|
3685
|
+
setFields(updatedFieldArrayValues);
|
|
3686
|
+
control._updateFieldArray(name, updatedFieldArrayValues, insert, {
|
|
3687
|
+
argA: index,
|
|
3688
|
+
argB: fillEmptyArray(value)
|
|
3689
|
+
});
|
|
3690
|
+
};
|
|
3691
|
+
const swap = (indexA, indexB) => {
|
|
3692
|
+
const updatedFieldArrayValues = control._getFieldArray(name);
|
|
3693
|
+
swapArrayAt(updatedFieldArrayValues, indexA, indexB);
|
|
3694
|
+
swapArrayAt(ids.current, indexA, indexB);
|
|
3695
|
+
updateValues(updatedFieldArrayValues);
|
|
3696
|
+
setFields(updatedFieldArrayValues);
|
|
3697
|
+
control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {
|
|
3698
|
+
argA: indexA,
|
|
3699
|
+
argB: indexB
|
|
3700
|
+
}, false);
|
|
3701
|
+
};
|
|
3702
|
+
const move = (from, to) => {
|
|
3703
|
+
const updatedFieldArrayValues = control._getFieldArray(name);
|
|
3704
|
+
moveArrayAt(updatedFieldArrayValues, from, to);
|
|
3705
|
+
moveArrayAt(ids.current, from, to);
|
|
3706
|
+
updateValues(updatedFieldArrayValues);
|
|
3707
|
+
setFields(updatedFieldArrayValues);
|
|
3708
|
+
control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {
|
|
3709
|
+
argA: from,
|
|
3710
|
+
argB: to
|
|
3711
|
+
}, false);
|
|
3712
|
+
};
|
|
3713
|
+
const update = (index, value) => {
|
|
3714
|
+
const updateValue = cloneObject(value);
|
|
3715
|
+
const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);
|
|
3716
|
+
ids.current = [...updatedFieldArrayValues].map((item, i2) => !item || i2 === index ? generateId() : ids.current[i2]);
|
|
3717
|
+
updateValues(updatedFieldArrayValues);
|
|
3718
|
+
setFields([...updatedFieldArrayValues]);
|
|
3719
|
+
control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {
|
|
3720
|
+
argA: index,
|
|
3721
|
+
argB: updateValue
|
|
3722
|
+
}, true, false);
|
|
3723
|
+
};
|
|
3724
|
+
const replace = (value) => {
|
|
3725
|
+
const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));
|
|
3726
|
+
ids.current = updatedFieldArrayValues.map(generateId);
|
|
3727
|
+
updateValues([...updatedFieldArrayValues]);
|
|
3728
|
+
setFields([...updatedFieldArrayValues]);
|
|
3729
|
+
control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);
|
|
3730
|
+
};
|
|
3731
|
+
React.useEffect(() => {
|
|
3732
|
+
control._stateFlags.action = false;
|
|
3733
|
+
isWatched(name, control._names) && control._subjects.state.next({});
|
|
3734
|
+
if (_actioned.current && (!getValidationModes(control._options.mode).isOnSubmit || control._formState.isSubmitted)) {
|
|
3735
|
+
if (control._options.resolver) {
|
|
3736
|
+
control._executeSchema([name]).then((result) => {
|
|
3737
|
+
const error2 = get(result.errors, name);
|
|
3738
|
+
const existingError = get(control._formState.errors, name);
|
|
3739
|
+
if (existingError ? !error2 && existingError.type : error2 && error2.type) {
|
|
3740
|
+
error2 ? set(control._formState.errors, name, error2) : unset(control._formState.errors, name);
|
|
3741
|
+
control._subjects.state.next({
|
|
3742
|
+
errors: control._formState.errors
|
|
3743
|
+
});
|
|
3744
|
+
}
|
|
3745
|
+
});
|
|
3746
|
+
} else {
|
|
3747
|
+
const field = get(control._fields, name);
|
|
3748
|
+
if (field && field._f) {
|
|
3749
|
+
validateField(field, get(control._formValues, name), control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error2) => !isEmptyObject(error2) && control._subjects.state.next({
|
|
3750
|
+
errors: updateFieldArrayRootError(control._formState.errors, error2, name)
|
|
3751
|
+
}));
|
|
3752
|
+
}
|
|
3753
|
+
}
|
|
3754
|
+
}
|
|
3755
|
+
control._subjects.watch.next({
|
|
3756
|
+
name,
|
|
3757
|
+
values: control._formValues
|
|
3758
|
+
});
|
|
3759
|
+
control._names.focus && focusFieldBy(control._fields, (key) => !!key && key.startsWith(control._names.focus || ""));
|
|
3760
|
+
control._names.focus = "";
|
|
3761
|
+
control._proxyFormState.isValid && control._updateValid();
|
|
3762
|
+
}, [fields, name, control]);
|
|
3763
|
+
React.useEffect(() => {
|
|
3764
|
+
!get(control._formValues, name) && control._updateFieldArray(name);
|
|
3765
|
+
return () => {
|
|
3766
|
+
(control._options.shouldUnregister || shouldUnregister) && control.unregister(name);
|
|
3767
|
+
};
|
|
3768
|
+
}, [name, control, keyName, shouldUnregister]);
|
|
3769
|
+
return {
|
|
3770
|
+
swap: React.useCallback(swap, [updateValues, name, control]),
|
|
3771
|
+
move: React.useCallback(move, [updateValues, name, control]),
|
|
3772
|
+
prepend: React.useCallback(prepend$1, [updateValues, name, control]),
|
|
3773
|
+
append: React.useCallback(append$1, [updateValues, name, control]),
|
|
3774
|
+
remove: React.useCallback(remove2, [updateValues, name, control]),
|
|
3775
|
+
insert: React.useCallback(insert$1, [updateValues, name, control]),
|
|
3776
|
+
update: React.useCallback(update, [updateValues, name, control]),
|
|
3777
|
+
replace: React.useCallback(replace, [updateValues, name, control]),
|
|
3778
|
+
fields: React.useMemo(() => fields.map((field, index) => ({
|
|
3779
|
+
...field,
|
|
3780
|
+
[keyName]: ids.current[index] || generateId()
|
|
3781
|
+
})), [fields, keyName])
|
|
3782
|
+
};
|
|
3783
|
+
}
|
|
3430
3784
|
function createSubject() {
|
|
3431
3785
|
let _observers = [];
|
|
3432
3786
|
const next = (value) => {
|
|
@@ -4355,6 +4709,20 @@ function useForm(props = {}) {
|
|
|
4355
4709
|
_formControl.current.formState = getProxyFormState(formState, control);
|
|
4356
4710
|
return _formControl.current;
|
|
4357
4711
|
}
|
|
4712
|
+
var index_esm = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4713
|
+
__proto__: null,
|
|
4714
|
+
Controller,
|
|
4715
|
+
FormProvider,
|
|
4716
|
+
appendErrors,
|
|
4717
|
+
get,
|
|
4718
|
+
set,
|
|
4719
|
+
useController,
|
|
4720
|
+
useFieldArray,
|
|
4721
|
+
useForm,
|
|
4722
|
+
useFormContext,
|
|
4723
|
+
useFormState,
|
|
4724
|
+
useWatch
|
|
4725
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
4358
4726
|
var MainView = /* @__PURE__ */ ((MainView2) => {
|
|
4359
4727
|
MainView2["FULL_PAGE"] = "FULL_PAGE";
|
|
4360
4728
|
MainView2["MODAL"] = "MODAL";
|
|
@@ -7958,7 +8326,7 @@ function useMenuProduct(product, parentAttrs) {
|
|
|
7958
8326
|
const isRadio = parentSelMin === "1" && parentSelMax === "1";
|
|
7959
8327
|
const isCheckbox = !isRadio;
|
|
7960
8328
|
const isCounter = isApiBooleanTrue(parentAllowMultiple);
|
|
7961
|
-
const isDecrementEnabled = valueNumber > 1;
|
|
8329
|
+
const isDecrementEnabled = valueNumber > (isRadio ? 1 : 0);
|
|
7962
8330
|
const isIncrementEnabled = isInputCounterIncrementEnabled2(product, selected) && (isInputEnabled2(product) || valueNumber);
|
|
7963
8331
|
const isChecked = Number(((_a = selected == null ? void 0 : selected[selCtx]) == null ? void 0 : _a[id]) || 0) > 0;
|
|
7964
8332
|
const isCheckboxEnabled = isInputEnabled2(product) || valueNumber;
|
|
@@ -7974,6 +8342,9 @@ function useMenuProduct(product, parentAttrs) {
|
|
|
7974
8342
|
const handleCounterDecrementQty = () => {
|
|
7975
8343
|
const decrementedValue = valueNumber - 1;
|
|
7976
8344
|
setValue(`selected.${selCtx}.${id}`, `${decrementedValue}`);
|
|
8345
|
+
if (isCheckbox && decrementedValue === 0) {
|
|
8346
|
+
setValue(`selected.${selCtx}.${id}`, false);
|
|
8347
|
+
}
|
|
7977
8348
|
};
|
|
7978
8349
|
const handleOnInputChange = (e2) => {
|
|
7979
8350
|
const {
|
|
@@ -9330,7 +9701,7 @@ let Pe = "div", ie = S$1.RenderStrategy, oe = C$1(function(e$12, s2) {
|
|
|
9330
9701
|
let n2 = useContext(A) !== null, m2 = s$3() !== null;
|
|
9331
9702
|
return React.createElement(React.Fragment, null, !n2 && m2 ? React.createElement(J, { ref: s2, ...e2 }) : React.createElement(oe, { ref: s2, ...e2 }));
|
|
9332
9703
|
}), Je = Object.assign(J, { Child: ye, Root: J });
|
|
9333
|
-
function
|
|
9704
|
+
function Modal(props) {
|
|
9334
9705
|
const {
|
|
9335
9706
|
children,
|
|
9336
9707
|
isOpen,
|
|
@@ -9348,7 +9719,7 @@ function ModalView(props) {
|
|
|
9348
9719
|
as: Fragment$1,
|
|
9349
9720
|
children: /* @__PURE__ */ jsx(mt, {
|
|
9350
9721
|
as: "div",
|
|
9351
|
-
className: "
|
|
9722
|
+
className: "fixed inset-0 z-10 overflow-y-auto",
|
|
9352
9723
|
style: {
|
|
9353
9724
|
backgroundColor: "rgba(0,0,0,.75)"
|
|
9354
9725
|
},
|
|
@@ -9382,7 +9753,7 @@ function ModalView(props) {
|
|
|
9382
9753
|
id: "modal-content",
|
|
9383
9754
|
className: `inline-block overflow-hidden sm:rounded-2xl align-middle transition-all bg-white sm:shadow-xl h-[100vh] sm:h-auto sm:max-h-[90vh] w-full sm:w-[640px]`,
|
|
9384
9755
|
children: [/* @__PURE__ */ jsx("div", {
|
|
9385
|
-
className: "
|
|
9756
|
+
className: "sticky top-0 z-10 flex items-center w-full px-3 text-lg font-medium leading-6 text-gray-900 bg-white h-14 modal-header",
|
|
9386
9757
|
children: /* @__PURE__ */ jsx("div", {
|
|
9387
9758
|
className: "",
|
|
9388
9759
|
children: /* @__PURE__ */ jsxs("svg", {
|
|
@@ -9431,7 +9802,7 @@ function ModalView(props) {
|
|
|
9431
9802
|
})
|
|
9432
9803
|
});
|
|
9433
9804
|
}
|
|
9434
|
-
function
|
|
9805
|
+
function MenuProductRootDefaultUI(props) {
|
|
9435
9806
|
var _a, _b, _c, _d;
|
|
9436
9807
|
const {
|
|
9437
9808
|
product,
|
|
@@ -9537,7 +9908,7 @@ function MenuProductRootDefaultShitUI(props) {
|
|
|
9537
9908
|
const style2 = {
|
|
9538
9909
|
"--mobile-submit-row-top": `${windowHeight - 64 - 80}px`
|
|
9539
9910
|
};
|
|
9540
|
-
return /* @__PURE__ */ jsx(
|
|
9911
|
+
return /* @__PURE__ */ jsx(Modal, {
|
|
9541
9912
|
isOpen: Boolean(isOpen),
|
|
9542
9913
|
handleClose: handleGoBack,
|
|
9543
9914
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -9588,7 +9959,7 @@ const MenuProductRoot = (props) => {
|
|
|
9588
9959
|
children: MenuItemsDispatcherWrapper
|
|
9589
9960
|
});
|
|
9590
9961
|
}
|
|
9591
|
-
return /* @__PURE__ */ jsx(
|
|
9962
|
+
return /* @__PURE__ */ jsx(MenuProductRootDefaultUI, {
|
|
9592
9963
|
...props,
|
|
9593
9964
|
children: MenuItemsDispatcherWrapper
|
|
9594
9965
|
});
|
|
@@ -9671,7 +10042,6 @@ function ProductConfigurator(props) {
|
|
|
9671
10042
|
children: /* @__PURE__ */ jsx(FormProvider, {
|
|
9672
10043
|
...methods,
|
|
9673
10044
|
children: /* @__PURE__ */ jsxs("form", {
|
|
9674
|
-
onSubmit: handleSubmit(onSubmit),
|
|
9675
10045
|
children: [showDebugState && /* @__PURE__ */ jsx("div", {
|
|
9676
10046
|
className: "hidden",
|
|
9677
10047
|
children: /* @__PURE__ */ jsx(DisplayState, {})
|
|
@@ -9694,5 +10064,5 @@ function ProductConfigurator(props) {
|
|
|
9694
10064
|
})
|
|
9695
10065
|
});
|
|
9696
10066
|
}
|
|
9697
|
-
export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus };
|
|
10067
|
+
export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus, index_esm as hookForm };
|
|
9698
10068
|
//# sourceMappingURL=index.es.js.map
|