@trafilea/afrodita-components 4.0.2-beta.11 → 4.0.2-beta.12

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/build/index.js CHANGED
@@ -6251,20 +6251,28 @@ var BaseDropdown$1 = Object.assign(BaseDropdown, {
6251
6251
  });
6252
6252
 
6253
6253
  function SimpleDropdown(_a) {
6254
- var options = _a.options, _b = _a.disabled, disabled = _b === void 0 ? false : _b, initialValue = _a.initialValue, placeHolder = _a.placeHolder, label = _a.label, _c = _a.wide, wide = _c === void 0 ? false : _c, _d = _a.sort, sort = _d === void 0 ? false : _d, onChange = _a.onChange;
6255
- var _e = React.useState(initialValue), selectedValue = _e[0], setSelectedValue = _e[1];
6256
- var selectedOptionLabel = function () {
6257
- if (selectedValue)
6254
+ var options = _a.options, _b = _a.disabled, disabled = _b === void 0 ? false : _b, initialValue = _a.initialValue, placeHolder = _a.placeHolder, label = _a.label, _c = _a.wide, wide = _c === void 0 ? false : _c, _d = _a.sort, sort = _d === void 0 ? false : _d, onChange = _a.onChange, value = _a.value;
6255
+ var _e = React.useState(value || initialValue), selectedValue = _e[0], setSelectedValue = _e[1];
6256
+ var selectedOptionLabel = React.useMemo(function () {
6257
+ if (selectedValue) {
6258
6258
  return selectedValue.label;
6259
- else
6260
- return placeHolder;
6261
- };
6259
+ }
6260
+ return placeHolder;
6261
+ }, [selectedValue, placeHolder]);
6262
6262
  var onChangeHandler = function (value) {
6263
- onChange(value);
6263
+ if (onChange) {
6264
+ onChange(value);
6265
+ }
6264
6266
  setSelectedValue(value);
6265
6267
  };
6268
+ React.useEffect(function () {
6269
+ if (value == null) {
6270
+ return;
6271
+ }
6272
+ setSelectedValue(value);
6273
+ }, [value]);
6266
6274
  var Button = label ? withLabel(BaseDropdown$1.Button, label) : BaseDropdown$1.Button;
6267
- return (jsxRuntime.jsxs(BaseDropdown$1, __assign({ value: selectedValue, onChange: onChangeHandler, disabled: disabled, wide: wide }, { children: [jsxRuntime.jsx(Button, __assign({ OpenIcon: Icon.Arrows.ChevronDown, CloseIcon: Icon.Arrows.ChevronUp, wide: wide, isSortOrFilter: sort }, { children: selectedOptionLabel() }), void 0), jsxRuntime.jsx(BaseDropdown$1.Options, { children: options.map(function (item) { return (jsxRuntime.jsx(BaseDropdown$1.Option, __assign({ value: item, disabled: false }, { children: item.label }), item.key)); }) }, void 0)] }), void 0));
6275
+ return (jsxRuntime.jsxs(BaseDropdown$1, __assign({ value: selectedValue, onChange: onChangeHandler, disabled: disabled, wide: wide }, { children: [jsxRuntime.jsx(Button, __assign({ OpenIcon: Icon.Arrows.ChevronDown, CloseIcon: Icon.Arrows.ChevronUp, wide: wide, isSortOrFilter: sort }, { children: selectedOptionLabel }), void 0), jsxRuntime.jsx(BaseDropdown$1.Options, { children: options.map(function (item) { return (jsxRuntime.jsx(BaseDropdown$1.Option, __assign({ value: item, disabled: false }, { children: item.label }), item.key)); }) }, void 0)] }), void 0));
6268
6276
  }
6269
6277
 
6270
6278
  var getStylesBySize$8 = function (size, theme) {