@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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @websolutespa/bom-mixer-ui
2
2
 
3
+ ## 1.9.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixing: Select, FieldSelect
8
+
9
+ ## 1.9.5
10
+
11
+ ### Patch Changes
12
+
13
+ - Fixing: Select, FieldSelect
14
+
3
15
  ## 1.9.4
4
16
 
5
17
  ### Patch Changes
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", "value", "label", "defaultValue", "options", "multiple", "placeholder", "variant", "variants", "onBlur", "onFocus", "onChange", "children"]);
11826
- const value = outerToInnerValue(outerValue);
11827
- const defaultValue = outerToInnerValue(outerDefaultValue) || (multiple ? [] : '');
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
- // console.log('value', value, 'defaultValue', defaultValue);
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
- }, [innerValue, value]);
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: 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
- value: outerValue,
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 = ((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 => ({
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;