colibri-ui 0.8.10 → 0.8.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.
@@ -40,6 +40,7 @@ var MultiSelect = function MultiSelect(_a) {
40
40
  required = _a.required,
41
41
  label = _a.label,
42
42
  hint = _a.hint,
43
+ style = _a.style,
43
44
  hasError = _a.hasError,
44
45
  _c = _a.size,
45
46
  size = _c === void 0 ? "m" : _c,
@@ -52,12 +53,9 @@ var MultiSelect = function MultiSelect(_a) {
52
53
  var _e = React.useState(false),
53
54
  isOpen = _e[0],
54
55
  setIsOpen = _e[1];
55
- var _f = React.useState(value || []),
56
- selected = _f[0],
57
- setSelected = _f[1];
58
56
  var internalSelectedKeys = React.useMemo(function () {
59
- return selected.map(index.toKey);
60
- }, [selected]);
57
+ return value.map(index.toKey);
58
+ }, [value]);
61
59
  var preparedGroups = React.useMemo(function () {
62
60
  return groups.map(function (group) {
63
61
  return tslib.__assign(tslib.__assign({}, group), {
@@ -73,17 +71,14 @@ var MultiSelect = function MultiSelect(_a) {
73
71
  });
74
72
  }, [groups, internalSelectedKeys]);
75
73
  var handleChange = React.useCallback(function (key) {
76
- setSelected(function (prev) {
77
- var exists = prev.some(function (v) {
78
- return index.toKey(v) === key;
79
- });
80
- var item = index.fromKey(key);
81
- var newValue = exists ? prev.filter(function (v) {
82
- return index.toKey(v) !== key;
83
- }) : tslib.__spreadArray(tslib.__spreadArray([], prev, true), [item], false);
84
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
85
- return newValue;
74
+ var exists = value.some(function (v) {
75
+ return index.toKey(v) === key;
86
76
  });
77
+ var item = index.fromKey(key);
78
+ var newValue = exists ? value.filter(function (v) {
79
+ return index.toKey(v) !== key;
80
+ }) : tslib.__spreadArray(tslib.__spreadArray([], value, true), [item], false);
81
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
87
82
  }, [onChange]);
88
83
  var preparedLabel = React.useMemo(function () {
89
84
  return preparedGroups.flatMap(function (_a) {
@@ -133,6 +128,7 @@ var MultiSelect = function MultiSelect(_a) {
133
128
  }, /*#__PURE__*/React__default.default.createElement(index$4.default, {
134
129
  hasError: hasError,
135
130
  size: size,
131
+ style: style,
136
132
  className: clx(styles__default.default.root, {
137
133
  root_auto: preparedLabel.length
138
134
  }),
@@ -1,3 +1,4 @@
1
+ import { CSSProperties } from "react";
1
2
  import type { FormFieldProps } from "../base/FormField/index.props";
2
3
  export type GroupOptions = {
3
4
  value: string;
@@ -31,6 +32,7 @@ export interface MultiSelectProps extends Omit<FormFieldProps, "children"> {
31
32
  placeholder?: string;
32
33
  name?: string;
33
34
  type?: Type;
35
+ style?: CSSProperties;
34
36
  value?: SelectedItem[];
35
37
  onChange?: (value: SelectedItem[]) => void;
36
38
  }
@@ -30,6 +30,7 @@ var MultiSelect = function MultiSelect(_a) {
30
30
  required = _a.required,
31
31
  label = _a.label,
32
32
  hint = _a.hint,
33
+ style = _a.style,
33
34
  hasError = _a.hasError,
34
35
  _c = _a.size,
35
36
  size = _c === void 0 ? "m" : _c,
@@ -42,12 +43,9 @@ var MultiSelect = function MultiSelect(_a) {
42
43
  var _e = useState(false),
43
44
  isOpen = _e[0],
44
45
  setIsOpen = _e[1];
45
- var _f = useState(value || []),
46
- selected = _f[0],
47
- setSelected = _f[1];
48
46
  var internalSelectedKeys = useMemo(function () {
49
- return selected.map(toKey);
50
- }, [selected]);
47
+ return value.map(toKey);
48
+ }, [value]);
51
49
  var preparedGroups = useMemo(function () {
52
50
  return groups.map(function (group) {
53
51
  return __assign(__assign({}, group), {
@@ -63,17 +61,14 @@ var MultiSelect = function MultiSelect(_a) {
63
61
  });
64
62
  }, [groups, internalSelectedKeys]);
65
63
  var handleChange = useCallback(function (key) {
66
- setSelected(function (prev) {
67
- var exists = prev.some(function (v) {
68
- return toKey(v) === key;
69
- });
70
- var item = fromKey(key);
71
- var newValue = exists ? prev.filter(function (v) {
72
- return toKey(v) !== key;
73
- }) : __spreadArray(__spreadArray([], prev, true), [item], false);
74
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
75
- return newValue;
64
+ var exists = value.some(function (v) {
65
+ return toKey(v) === key;
76
66
  });
67
+ var item = fromKey(key);
68
+ var newValue = exists ? value.filter(function (v) {
69
+ return toKey(v) !== key;
70
+ }) : __spreadArray(__spreadArray([], value, true), [item], false);
71
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
77
72
  }, [onChange]);
78
73
  var preparedLabel = useMemo(function () {
79
74
  return preparedGroups.flatMap(function (_a) {
@@ -123,6 +118,7 @@ var MultiSelect = function MultiSelect(_a) {
123
118
  }, /*#__PURE__*/React__default.createElement(InputRoot, {
124
119
  hasError: hasError,
125
120
  size: size,
121
+ style: style,
126
122
  className: clx(styles.root, {
127
123
  root_auto: preparedLabel.length
128
124
  }),
@@ -1,3 +1,4 @@
1
+ import { CSSProperties } from "react";
1
2
  import type { FormFieldProps } from "../base/FormField/index.props";
2
3
  export type GroupOptions = {
3
4
  value: string;
@@ -31,6 +32,7 @@ export interface MultiSelectProps extends Omit<FormFieldProps, "children"> {
31
32
  placeholder?: string;
32
33
  name?: string;
33
34
  type?: Type;
35
+ style?: CSSProperties;
34
36
  value?: SelectedItem[];
35
37
  onChange?: (value: SelectedItem[]) => void;
36
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "colibri-ui",
3
- "version": "0.8.10",
3
+ "version": "0.8.12",
4
4
  "description": "React UI components library",
5
5
  "main": "index.js",
6
6
  "scripts": {},