@websolutespa/bom-mixer-ui 1.9.4 → 1.9.6
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/CHANGELOG.md +12 -0
- package/dist/cjs/index.js +51 -19
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/forms/select/select-select.js +5 -1
- package/dist/esm/forms/select/select-select.js.map +1 -1
- package/dist/esm/forms/select/select.context.js.map +1 -1
- package/dist/esm/forms/select/select.js +21 -19
- package/dist/esm/forms/select/select.js.map +1 -1
- package/dist/esm/forms/utils/utils.js +25 -1
- package/dist/esm/forms/utils/utils.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/forms/select/select-select.d.ts.map +1 -1
- package/dist/types/forms/select/select.context.d.ts +0 -2
- package/dist/types/forms/select/select.context.d.ts.map +1 -1
- package/dist/types/forms/select/select.d.ts +8 -3
- package/dist/types/forms/select/select.d.ts.map +1 -1
- package/dist/types/forms/utils/utils.d.ts +2 -0
- package/dist/types/forms/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/forms/select/select-select.tsx +12 -6
- package/src/forms/select/select.context.tsx +0 -2
- package/src/forms/select/select.tsx +28 -21
- package/src/forms/utils/utils.tsx +31 -0
package/CHANGELOG.md
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -8231,6 +8231,30 @@ function isEmptyValue(value) {
|
|
|
8231
8231
|
}
|
|
8232
8232
|
return Boolean(value) === false;
|
|
8233
8233
|
}
|
|
8234
|
+
function outerToInnerSelectValue(value) {
|
|
8235
|
+
if (Array.isArray(value)) {
|
|
8236
|
+
return value.map(x => outerToInnerSelectValue(x));
|
|
8237
|
+
}
|
|
8238
|
+
if (bomCore.isObject(value)) {
|
|
8239
|
+
return String(value.id);
|
|
8240
|
+
}
|
|
8241
|
+
if (value == null) {
|
|
8242
|
+
return undefined;
|
|
8243
|
+
}
|
|
8244
|
+
return value;
|
|
8245
|
+
}
|
|
8246
|
+
function innerToOuterSelectValue(value, options) {
|
|
8247
|
+
if (Array.isArray(value)) {
|
|
8248
|
+
return value.map(x => innerToOuterSelectValue(x, options));
|
|
8249
|
+
}
|
|
8250
|
+
if (value == null) {
|
|
8251
|
+
return null;
|
|
8252
|
+
}
|
|
8253
|
+
if (Array.isArray(options)) {
|
|
8254
|
+
return options.find(x => String(x.id) === value) || null;
|
|
8255
|
+
}
|
|
8256
|
+
return value;
|
|
8257
|
+
}
|
|
8234
8258
|
function outerToInnerValue(value) {
|
|
8235
8259
|
if (Array.isArray(value)) {
|
|
8236
8260
|
return value.map(x => outerToInnerValue(x));
|
|
@@ -11809,8 +11833,8 @@ const selectVariants = {
|
|
|
11809
11833
|
function Select$1(_a) {
|
|
11810
11834
|
var {
|
|
11811
11835
|
name,
|
|
11836
|
+
label,
|
|
11812
11837
|
value: outerValue,
|
|
11813
|
-
label: outerLabel,
|
|
11814
11838
|
defaultValue: outerDefaultValue,
|
|
11815
11839
|
options,
|
|
11816
11840
|
multiple,
|
|
@@ -11822,42 +11846,44 @@ function Select$1(_a) {
|
|
|
11822
11846
|
onChange,
|
|
11823
11847
|
children
|
|
11824
11848
|
} = _a,
|
|
11825
|
-
props = __rest(_a, ["name", "
|
|
11826
|
-
const value =
|
|
11827
|
-
const defaultValue =
|
|
11849
|
+
props = __rest(_a, ["name", "label", "value", "defaultValue", "options", "multiple", "placeholder", "variant", "variants", "onBlur", "onFocus", "onChange", "children"]);
|
|
11850
|
+
const value = outerToInnerSelectValue(outerValue);
|
|
11851
|
+
const defaultValue = outerToInnerSelectValue(outerDefaultValue) || (multiple ? [] : '');
|
|
11828
11852
|
const [innerValue, setInnerValue] = React.useState(value || defaultValue);
|
|
11829
|
-
|
|
11853
|
+
const [previousOuterValue, setPreviousOuterValue] = React.useState(outerValue);
|
|
11854
|
+
// console.log('outerValue', outerValue, 'innerValue', innerValue);
|
|
11830
11855
|
React.useEffect(() => {
|
|
11856
|
+
if (previousOuterValue !== outerValue) {
|
|
11857
|
+
setPreviousOuterValue(outerValue);
|
|
11858
|
+
setInnerValue(value);
|
|
11859
|
+
// console.log('useEffect.setInnerValue', value);
|
|
11860
|
+
}
|
|
11861
|
+
}, [previousOuterValue, outerValue, value]);
|
|
11862
|
+
const onChange_ = value => {
|
|
11831
11863
|
if (innerValue !== value) {
|
|
11832
11864
|
setInnerValue(value);
|
|
11865
|
+
// console.log('onChange_.setInnerValue', value);
|
|
11866
|
+
const outerValue = innerToOuterSelectValue(value, options);
|
|
11867
|
+
onChange && onChange(outerValue);
|
|
11868
|
+
// console.log('onChange_.setOuterValue', outerValue);
|
|
11833
11869
|
}
|
|
11834
|
-
}
|
|
11870
|
+
};
|
|
11835
11871
|
const onBlur_ = event => {
|
|
11836
11872
|
onBlur && onBlur(event);
|
|
11837
11873
|
};
|
|
11838
11874
|
const onFocus_ = event => {
|
|
11839
11875
|
onFocus && onFocus(event);
|
|
11840
11876
|
};
|
|
11841
|
-
const onChange_ = value => {
|
|
11842
|
-
if (innerValue !== value) {
|
|
11843
|
-
setInnerValue(value);
|
|
11844
|
-
const outerValue = innerToOuterValue(value, options);
|
|
11845
|
-
onChange && onChange(outerValue);
|
|
11846
|
-
}
|
|
11847
|
-
};
|
|
11848
11877
|
const globalVariants = useVariants('select', selectVariants);
|
|
11849
11878
|
variants = variants || globalVariants;
|
|
11850
11879
|
return jsxRuntime.jsx(Ariakit__namespace.SelectProvider, Object.assign({
|
|
11851
|
-
value:
|
|
11852
|
-
defaultValue: defaultValue,
|
|
11880
|
+
value: innerValue,
|
|
11853
11881
|
setValue: onChange_
|
|
11854
11882
|
}, props, {
|
|
11855
11883
|
children: jsxRuntime.jsx(SelectContext.Provider, {
|
|
11856
11884
|
value: {
|
|
11857
11885
|
name,
|
|
11858
|
-
|
|
11859
|
-
label: outerLabel,
|
|
11860
|
-
defaultValue: outerDefaultValue,
|
|
11886
|
+
label,
|
|
11861
11887
|
options,
|
|
11862
11888
|
multiple,
|
|
11863
11889
|
placeholder,
|
|
@@ -12046,7 +12072,10 @@ function SelectSelection() {
|
|
|
12046
12072
|
return;
|
|
12047
12073
|
}
|
|
12048
12074
|
const state = selectContext === null || selectContext === void 0 ? void 0 : selectContext.getState();
|
|
12049
|
-
const items =
|
|
12075
|
+
const items = context.options ? context.options.map(x => ({
|
|
12076
|
+
value: String(x.id),
|
|
12077
|
+
label: x.name
|
|
12078
|
+
})) : ((state === null || state === void 0 ? void 0 : state.items) || []).filter(x => x.element.parentElement !== (state === null || state === void 0 ? void 0 : state.anchorElement)).map(x => ({
|
|
12050
12079
|
value: x.value,
|
|
12051
12080
|
label: x.element.innerText || x.value
|
|
12052
12081
|
}));
|
|
@@ -12065,6 +12094,7 @@ function SelectSelection() {
|
|
|
12065
12094
|
return context.placeholder || 'Select';
|
|
12066
12095
|
}
|
|
12067
12096
|
}
|
|
12097
|
+
// console.log(context.options, state?.items, items, value);
|
|
12068
12098
|
return ((_a = items.find(x => x.value === value)) === null || _a === void 0 ? void 0 : _a.label) || context.placeholder || 'Select';
|
|
12069
12099
|
}
|
|
12070
12100
|
|
|
@@ -13863,6 +13893,7 @@ exports.getVariantResponsive = getVariantResponsive;
|
|
|
13863
13893
|
exports.hasChild = hasChild;
|
|
13864
13894
|
exports.hasChildOfType = hasChildOfType;
|
|
13865
13895
|
exports.highligthText = highligthText;
|
|
13896
|
+
exports.innerToOuterSelectValue = innerToOuterSelectValue;
|
|
13866
13897
|
exports.innerToOuterSingleValue = innerToOuterSingleValue;
|
|
13867
13898
|
exports.innerToOuterValue = innerToOuterValue;
|
|
13868
13899
|
exports.inputVariants = inputVariants;
|
|
@@ -13886,6 +13917,7 @@ exports.mediaMin = mediaMin;
|
|
|
13886
13917
|
exports.mediaOnly = mediaOnly;
|
|
13887
13918
|
exports.mediaUp = mediaUp;
|
|
13888
13919
|
exports.modalVariants = modalVariants;
|
|
13920
|
+
exports.outerToInnerSelectValue = outerToInnerSelectValue;
|
|
13889
13921
|
exports.outerToInnerSingleValue = outerToInnerSingleValue;
|
|
13890
13922
|
exports.outerToInnerValue = outerToInnerValue;
|
|
13891
13923
|
exports.pickChild = pickChild;
|