@rescui/select 0.11.7 → 0.11.9-RUI-226-Update-card-cn-6e43cc89.60

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.
@@ -1,23 +1,6 @@
1
- import "core-js/modules/es.object.to-string.js";
2
- import "core-js/modules/web.dom-collections.for-each.js";
3
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
4
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
5
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
6
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
7
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
8
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
9
- import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
10
- import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
11
- var _excluded = ["size", "mode", "theme", "className", "triggerRef", "isOpen", "selected", "placeholder", "isClearable", "isLoading", "isDisabled", "isSingleLine", "searchInput", "isSearchable", "onClearClick", "onItemClearClick", "onSearchChange", "error"];
12
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
1
  import React, { useRef, useState } from 'react';
19
- import PropTypes from 'prop-types';
20
2
  import cn from 'classnames';
3
+ import PropTypes from 'prop-types';
21
4
  import { RemovableTag, Tag, presets } from '@rescui/tag';
22
5
  import { useThemeWithUndefined } from '@rescui/ui-contexts';
23
6
  import DownIcon from '../_virtual/down.js';
@@ -29,97 +12,83 @@ import Foldable from './foldable.js';
29
12
  import styles from './trigger.p.module.css.js';
30
13
  /* eslint-disable no-nested-ternary */
31
14
 
32
- var THEME_STYLES = {
15
+ const THEME_STYLES = {
33
16
  light: styles.themeLight,
34
17
  dark: styles.themeDark
35
18
  };
36
- var SIZE_STYLES = {
19
+ const SIZE_STYLES = {
37
20
  s: styles.sizeS,
38
21
  m: styles.sizeM,
39
22
  l: styles.sizeL
40
23
  };
41
- var MODE_STYLES = {
24
+ const MODE_STYLES = {
42
25
  classic: styles.classic,
43
26
  rock: styles.rock
44
27
  }; // eslint-disable-next-line complexity
45
28
 
46
- var SelectTrigger = /*#__PURE__*/React.memo(function (props) {
47
- var size = props.size,
48
- mode = props.mode,
49
- themeFromProps = props.theme,
50
- className = props.className,
51
- triggerRef = props.triggerRef,
52
- isOpen = props.isOpen,
53
- _props$selected = props.selected,
54
- selected = _props$selected === void 0 ? null : _props$selected,
55
- placeholder = props.placeholder,
56
- isClearable = props.isClearable,
57
- isLoading = props.isLoading,
58
- isDisabled = props.isDisabled,
59
- isSingleLine = props.isSingleLine,
60
- searchInput = props.searchInput,
61
- isSearchable = props.isSearchable,
62
- onClearClick = props.onClearClick,
63
- onItemClearClick = props.onItemClearClick,
64
- onSearchChange = props.onSearchChange,
65
- error = props.error,
66
- restProps = _objectWithoutProperties(props, _excluded);
67
-
68
- var theme = useThemeWithUndefined(themeFromProps);
69
- var inputRef = useRef(null);
70
-
71
- var _useState = useState(false),
72
- _useState2 = _slicedToArray(_useState, 2),
73
- isSearchFocused = _useState2[0],
74
- setIsSearchFocused = _useState2[1];
75
-
76
- var _useState3 = useState(false),
77
- _useState4 = _slicedToArray(_useState3, 2),
78
- isFocused = _useState4[0],
79
- setIsFocused = _useState4[1];
80
-
81
- var _useState5 = useState(false),
82
- _useState6 = _slicedToArray(_useState5, 2),
83
- isSearchKeyFocused = _useState6[0],
84
- setIsSearchKeyFocused = _useState6[1];
29
+ const SelectTrigger = /*#__PURE__*/React.memo(props => {
30
+ const {
31
+ size,
32
+ mode,
33
+ theme: themeFromProps,
34
+ className,
35
+ triggerRef,
36
+ isOpen,
37
+ selected = null,
38
+ placeholder,
39
+ isClearable,
40
+ isLoading,
41
+ isDisabled,
42
+ isSingleLine,
43
+ searchInput,
44
+ isSearchable,
45
+ onClearClick,
46
+ onItemClearClick,
47
+ onSearchChange,
48
+ error,
49
+ ...restProps
50
+ } = props;
51
+ const theme = useThemeWithUndefined(themeFromProps);
52
+ const inputRef = useRef(null);
53
+ const [isSearchFocused, setIsSearchFocused] = useState(false);
54
+ const [isFocused, setIsFocused] = useState(false);
55
+ const [isSearchKeyFocused, setIsSearchKeyFocused] = useState(false);
56
+ const isMulti = selected ? Boolean(selected.length) : false;
85
57
 
86
- var isMulti = selected ? Boolean(selected.length) : false;
87
-
88
- var handleChange = function handleChange(event) {
89
- var newValue = event.target.value;
58
+ const handleChange = event => {
59
+ const newValue = event.target.value;
90
60
  onSearchChange(newValue);
91
61
  };
92
62
 
93
- var handleBlur = function handleBlur() {
63
+ const handleBlur = () => {
94
64
  if (isSearchable && inputRef.current) {
95
65
  setIsSearchFocused(false);
96
66
  setIsSearchKeyFocused(false);
97
67
  }
98
68
  };
99
69
 
100
- var handleFocus = function handleFocus(e) {
70
+ const handleFocus = e => {
101
71
  if (isSearchable && inputRef.current) {
102
72
  setIsSearchFocused(true);
103
- var target = e.target;
73
+ const target = e.target;
104
74
  setIsSearchKeyFocused(target.getAttribute('data-focus-method') === 'key');
105
75
  }
106
76
  };
107
77
 
108
- var isThemeReversed = mode === 'rock' && (isSearchFocused || isFocused || isOpen);
109
- return /*#__PURE__*/React.createElement("div", _objectSpread({
78
+ const isThemeReversed = mode === 'rock' && (isSearchFocused || isFocused || isOpen);
79
+ return /*#__PURE__*/React.createElement("div", {
110
80
  tabIndex: isSearchable || isDisabled ? -1 : 0,
111
81
  className: cn(styles.main, SIZE_STYLES[size], MODE_STYLES[mode], THEME_STYLES[theme], isMulti && styles.isMulti, isSearchFocused && styles.searchFocused, isSearchKeyFocused && styles.searchKeyFocused, isOpen && styles.open, isDisabled ? styles.disabled : styles.enabled, Boolean(error) && styles.error, isFocused && styles.focused, className),
112
- onFocus: function onFocus(e) {
113
- var target = e.target;
82
+ onFocus: e => {
83
+ const target = e.target;
114
84
  setIsFocused(target.getAttribute('data-focus-method') === 'key');
115
85
  },
116
- onBlur: function onBlur() {
117
- return setIsFocused(false);
118
- },
86
+ onBlur: () => setIsFocused(false),
119
87
  ref: triggerRef,
120
88
  "data-test": "select",
121
- "data-rs-internal": 'select-trigger'
122
- }, restProps), isMulti ? /*#__PURE__*/React.createElement(MultiselectOptions, {
89
+ "data-rs-internal": 'select-trigger',
90
+ ...restProps
91
+ }, isMulti ? /*#__PURE__*/React.createElement(MultiselectOptions, {
123
92
  selected: selected,
124
93
  isDisabled: isDisabled,
125
94
  isSingleLine: isSingleLine,
@@ -146,49 +115,47 @@ var SelectTrigger = /*#__PURE__*/React.memo(function (props) {
146
115
  selected: selected
147
116
  }), /*#__PURE__*/React.createElement(DownIcon, {
148
117
  className: styles.toggle,
149
- "data-test": "down-icon"
118
+ "data-test": "down-icon",
119
+ "data-render-all-sizes": true
150
120
  })));
151
121
  });
152
122
  SelectTrigger.displayName = 'SelectTrigger';
153
123
 
154
- var MultiselectOptions = function MultiselectOptions(_ref) {
155
- var isSingleLine = _ref.isSingleLine,
156
- selected = _ref.selected,
157
- isThemeReversed = _ref.isThemeReversed,
158
- isDisabled = _ref.isDisabled,
159
- onItemClearClick = _ref.onItemClearClick,
160
- theme = _ref.theme;
161
-
162
- var selectedOptions = _mapInstanceProperty(selected).call(selected, function (s) {
163
- var key = s.value ? s.value : s.label;
124
+ const MultiselectOptions = _ref => {
125
+ let {
126
+ isSingleLine,
127
+ selected,
128
+ isThemeReversed,
129
+ isDisabled,
130
+ onItemClearClick,
131
+ theme
132
+ } = _ref;
133
+ const selectedOptions = selected.map(s => {
134
+ const key = s.value ? s.value : s.label;
164
135
  return /*#__PURE__*/React.createElement(RemovableTag, {
165
136
  key: key,
166
- "data-test": "selected-tag-".concat(key),
137
+ "data-test": `selected-tag-${key}`,
167
138
  className: styles.tag,
168
139
  disabled: isDisabled,
169
- onRemoveClick: function onRemoveClick() {
170
- return onItemClearClick(s);
171
- },
140
+ onRemoveClick: () => onItemClearClick(s),
172
141
  "data-rs-internal": 'select-trigger__removable-tag',
173
142
  wrap: !isSingleLine,
174
143
  theme: isThemeReversed ? reverseTheme(theme) : theme
175
144
  }, s.label);
176
145
  });
177
-
178
- var tagTheme = isThemeReversed ? reverseTheme(theme) : theme;
146
+ const tagTheme = isThemeReversed ? reverseTheme(theme) : theme;
179
147
  return /*#__PURE__*/React.createElement("div", {
180
148
  className: styles.multi,
181
149
  "data-test": "multi"
182
150
  }, isSingleLine ? /*#__PURE__*/React.createElement(Foldable, {
183
151
  className: styles.tagsContainer,
184
- renderHiddenCounter: function renderHiddenCounter(n, ref) {
185
- return /*#__PURE__*/React.createElement(Tag, _objectSpread({
186
- className: styles.tag,
187
- key: "+",
188
- ref: ref,
189
- "data-rs-internal": 'select-trigger__tag'
190
- }, presets["filled-".concat(tagTheme)]), "+".concat(n));
191
- }
152
+ renderHiddenCounter: (n, ref) => /*#__PURE__*/React.createElement(Tag, {
153
+ className: styles.tag,
154
+ key: "+",
155
+ ref: ref,
156
+ "data-rs-internal": 'select-trigger__tag',
157
+ ...presets[`filled-${tagTheme}`]
158
+ }, `+${n}`)
192
159
  }, selectedOptions) : /*#__PURE__*/React.createElement("div", {
193
160
  className: styles.tagsContainer
194
161
  }, selectedOptions));
@@ -203,18 +170,18 @@ function isSelectedEmpty(selected) {
203
170
  } // eslint-disable-next-line complexity
204
171
 
205
172
 
206
- var SelectedOption = function SelectedOption(_ref2) {
207
- var selected = _ref2.selected,
208
- _ref2$searchInput = _ref2.searchInput,
209
- searchInput = _ref2$searchInput === void 0 ? '' : _ref2$searchInput,
210
- _ref2$placeholder = _ref2.placeholder,
211
- placeholder = _ref2$placeholder === void 0 ? '' : _ref2$placeholder,
212
- isSearchable = _ref2.isSearchable,
213
- isDisabled = _ref2.isDisabled,
214
- inputRef = _ref2.inputRef,
215
- handleBlur = _ref2.handleBlur,
216
- handleFocus = _ref2.handleFocus,
217
- handleChange = _ref2.handleChange;
173
+ const SelectedOption = _ref2 => {
174
+ let {
175
+ selected,
176
+ searchInput = '',
177
+ placeholder = '',
178
+ isSearchable,
179
+ isDisabled,
180
+ inputRef,
181
+ handleBlur,
182
+ handleFocus,
183
+ handleChange
184
+ } = _ref2;
218
185
  return /*#__PURE__*/React.createElement("div", {
219
186
  className: styles.labelWrapper
220
187
  }, /*#__PURE__*/React.createElement("div", {
@@ -237,12 +204,14 @@ var SelectedOption = function SelectedOption(_ref2) {
237
204
  }));
238
205
  };
239
206
 
240
- var ClearOrLoading = function ClearOrLoading(_ref3) {
241
- var isClearable = _ref3.isClearable,
242
- isLoading = _ref3.isLoading,
243
- isDisabled = _ref3.isDisabled,
244
- onClearClick = _ref3.onClearClick,
245
- selected = _ref3.selected;
207
+ const ClearOrLoading = _ref3 => {
208
+ let {
209
+ isClearable,
210
+ isLoading,
211
+ isDisabled,
212
+ onClearClick,
213
+ selected
214
+ } = _ref3;
246
215
 
247
216
  if (isLoading) {
248
217
  return /*#__PURE__*/React.createElement(LoadingIcon, {
@@ -250,18 +219,21 @@ var ClearOrLoading = function ClearOrLoading(_ref3) {
250
219
  pointerEvents: 'none'
251
220
  },
252
221
  className: styles.icon,
253
- "data-test": "loading-icon"
222
+ "data-test": "loading-icon",
223
+ "data-render-all-sizes": true
254
224
  });
255
225
  } else if (isClearable && !isDisabled && !isSelectedEmpty(selected)) {
256
226
  return /*#__PURE__*/React.createElement("button", {
257
227
  type: "button",
258
228
  className: cn(styles.icon, styles.clearIcon),
259
229
  "data-test": "clear-icon",
260
- onClick: function onClick(e) {
230
+ onClick: e => {
261
231
  e.stopPropagation();
262
232
  onClearClick();
263
233
  }
264
- }, /*#__PURE__*/React.createElement(CloseIcon, null));
234
+ }, /*#__PURE__*/React.createElement(CloseIcon, {
235
+ "data-render-all-sizes": true
236
+ }));
265
237
  } else {
266
238
  return null;
267
239
  }
@@ -1,30 +1,30 @@
1
1
  var styles = {
2
- "themeLight": "_themeLight_1wnutq5_27",
3
- "themeDark": "_themeDark_1wnutq5_30",
4
- "sizeS": "_sizeS_1wnutq5_34",
5
- "sizeM": "_sizeM_1wnutq5_37",
6
- "sizeL": "_sizeL_1wnutq5_40",
7
- "classic": "_classic_1wnutq5_44",
8
- "rock": "_rock_1wnutq5_47",
9
- "main": "_main_1wnutq5_51",
10
- "open": "_open_1wnutq5_73",
11
- "focused": "_focused_1wnutq5_77",
12
- "searchFocused": "_searchFocused_1wnutq5_78",
13
- "error": "_error_1wnutq5_80",
14
- "searchKeyFocused": "_searchKeyFocused_1wnutq5_85",
15
- "enabled": "_enabled_1wnutq5_89",
16
- "disabled": "_disabled_1wnutq5_95",
17
- "isMulti": "_isMulti_1wnutq5_125",
18
- "iconsWrapper": "_iconsWrapper_1wnutq5_143",
19
- "labelWrapper": "_labelWrapper_1wnutq5_168",
20
- "label": "_label_1wnutq5_168",
21
- "labelNotSelected": "_labelNotSelected_1wnutq5_218",
22
- "searchInput": "_searchInput_1wnutq5_231",
23
- "multi": "_multi_1wnutq5_271",
24
- "tagsContainer": "_tagsContainer_1wnutq5_291",
25
- "tag": "_tag_1wnutq5_291",
26
- "toggle": "_toggle_1wnutq5_313",
27
- "icon": "_icon_1wnutq5_143",
28
- "clearIcon": "_clearIcon_1wnutq5_380"
2
+ "themeLight": "_themeLight_v48skc_27",
3
+ "themeDark": "_themeDark_v48skc_30",
4
+ "sizeS": "_sizeS_v48skc_34",
5
+ "sizeM": "_sizeM_v48skc_37",
6
+ "sizeL": "_sizeL_v48skc_40",
7
+ "classic": "_classic_v48skc_44",
8
+ "rock": "_rock_v48skc_47",
9
+ "main": "_main_v48skc_51",
10
+ "open": "_open_v48skc_73",
11
+ "focused": "_focused_v48skc_77",
12
+ "searchFocused": "_searchFocused_v48skc_78",
13
+ "error": "_error_v48skc_80",
14
+ "searchKeyFocused": "_searchKeyFocused_v48skc_85",
15
+ "enabled": "_enabled_v48skc_89",
16
+ "disabled": "_disabled_v48skc_95",
17
+ "isMulti": "_isMulti_v48skc_125",
18
+ "iconsWrapper": "_iconsWrapper_v48skc_143",
19
+ "labelWrapper": "_labelWrapper_v48skc_168",
20
+ "label": "_label_v48skc_168",
21
+ "labelNotSelected": "_labelNotSelected_v48skc_218",
22
+ "searchInput": "_searchInput_v48skc_231",
23
+ "multi": "_multi_v48skc_271",
24
+ "tagsContainer": "_tagsContainer_v48skc_291",
25
+ "tag": "_tag_v48skc_291",
26
+ "toggle": "_toggle_v48skc_313",
27
+ "icon": "_icon_v48skc_143",
28
+ "clearIcon": "_clearIcon_v48skc_380"
29
29
  };
30
30
  export { styles as default };
@@ -1,19 +1,12 @@
1
- import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
1
  import { useRef, useState } from 'react';
3
2
  import { useResizeObserver } from '@rescui/use-resize-observer';
4
3
 
5
- var useObservableForceRerender = function useObservableForceRerender() {
6
- var observableRef = useRef(null);
7
-
8
- var _useState = useState(false),
9
- _useState2 = _slicedToArray(_useState, 2),
10
- setDummyState = _useState2[1];
11
-
12
- useResizeObserver(observableRef, function () {
4
+ const useObservableForceRerender = () => {
5
+ const observableRef = useRef(null);
6
+ const [, setDummyState] = useState(false);
7
+ useResizeObserver(observableRef, () => {
13
8
  //force rerender
14
- setDummyState(function (s) {
15
- return !s;
16
- });
9
+ setDummyState(s => !s);
17
10
  }, {
18
11
  ignoreFirstCall: true
19
12
  });