@blocklet/list 0.10.32 → 0.10.34

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.
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  const flat = require('flat');
9
-
10
8
  const en = {
11
9
  common: {
12
10
  searchStore: 'Search the store',
package/lib/base.js CHANGED
@@ -4,44 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
-
10
8
  var _Sort = _interopRequireDefault(require("@mui/icons-material/Sort"));
11
-
12
9
  var _material = require("@mui/material");
13
-
14
10
  var _Face = _interopRequireDefault(require("@mui/icons-material/Face"));
15
-
16
11
  var _reactErrorBoundary = require("react-error-boundary");
17
-
18
12
  var _ErrorBoundary = require("@arcblock/ux/lib/ErrorBoundary");
19
-
20
13
  var _filter = require("./contexts/filter");
21
-
22
14
  var _customSelect = _interopRequireDefault(require("./components/custom-select"));
23
-
24
15
  var _filter2 = require("./components/filter");
25
-
26
16
  var _utils = require("./libs/utils");
27
-
28
17
  var _list = _interopRequireDefault(require("./components/list"));
29
-
30
18
  var _aside = _interopRequireDefault(require("./components/aside"));
31
-
19
+ var _baseSearch = _interopRequireDefault(require("./components/base-search"));
32
20
  var _autocomplete = _interopRequireDefault(require("./components/autocomplete"));
33
-
34
21
  var _jsxRuntime = require("react/jsx-runtime");
35
-
36
22
  var _templateObject, _templateObject2;
37
-
38
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
24
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
41
-
42
25
  function ListBase() {
43
26
  var _sortOptions$find, _priceOptions$find;
44
-
45
27
  const {
46
28
  handleDeveloper,
47
29
  blockletList,
@@ -54,7 +36,8 @@ function ListBase() {
54
36
  t,
55
37
  getCategoryLocale,
56
38
  priceOptions,
57
- wrapChildren
39
+ wrapChildren,
40
+ baseSearch
58
41
  } = (0, _filter.useFilterContext)();
59
42
  const sortOptions = (0, _utils.getSortOptions)(t);
60
43
  const sortLocale = ((_sortOptions$find = sortOptions.find(f => f.value === filters.sortBy)) === null || _sortOptions$find === void 0 ? void 0 : _sortOptions$find.name) || t('sort.sort');
@@ -73,7 +56,10 @@ function ListBase() {
73
56
  className: "filter-bar",
74
57
  display: "flex",
75
58
  alignItems: "center",
76
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_autocomplete.default, {
59
+ children: [baseSearch ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_baseSearch.default, {
60
+ className: "bl-search-container",
61
+ placeholder: t('common.searchStore')
62
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_autocomplete.default, {
77
63
  onSelect: handleSearchSelect,
78
64
  wrapChildren: wrapChildren
79
65
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
@@ -132,10 +118,7 @@ function ListBase() {
132
118
  })]
133
119
  });
134
120
  }
135
-
136
121
  const StyledMin = _styled.default.main(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n flex: 1;\n width: 100%;\n height: 100%;\n .filter-bar {\n justify-content: space-between;\n margin-bottom: ", ";\n }\n .sort-button {\n white-space: nowrap;\n }\n .bl-search-container {\n flex: 2;\n margin-left: 0px;\n }\n\n .filter-container {\n flex: 1;\n display: flex;\n justify-content: flex-end;\n }\n @media (max-width: ", "px) {\n .bl-search-container {\n width: 100%;\n margin-bottom: ", ";\n }\n .filter-container {\n margin-left: 0;\n display: flex;\n justify-content: flex-start;\n }\n .filter-bar {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n }\n @media (max-width: ", "px) {\n .sort-button {\n font-size: 12px;\n }\n }\n"])), props => props.theme.spacing(2), props => props.theme.breakpoints.values.md, props => props.theme.spacing(2), props => props.theme.breakpoints.values.md);
137
-
138
122
  const FilterContainer = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: sticky;\n top: 0;\n z-index: 9;\n background-color: white;\n"])));
139
-
140
123
  var _default = ListBase;
141
124
  exports.default = _default;
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
-
10
8
  var _filter = require("../contexts/filter");
11
-
12
9
  var _filter2 = require("./filter");
13
-
14
10
  var _jsxRuntime = require("react/jsx-runtime");
15
-
16
11
  var _templateObject;
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
-
22
14
  function Aside() {
23
15
  const {
24
16
  selectedCategory,
@@ -50,9 +42,7 @@ function Aside() {
50
42
  })]
51
43
  });
52
44
  }
53
-
54
45
  const StyledAside = _styled.default.aside(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 220px;\n margin-right: ", ";\n height: 100%;\n position: sticky;\n top: 0;\n overflow-y: auto;\n z-index: auto;\n"])), props => props.theme.spacing(2));
55
-
56
46
  Aside.propTypes = {};
57
47
  Aside.defaultProps = {};
58
48
  var _default = Aside;
@@ -4,41 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Autocomplete;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _client = require("react-dom/client");
13
-
14
10
  var _autocompleteJs = require("@algolia/autocomplete-js");
15
-
16
11
  var _reactHotkeysHook = require("react-hotkeys-hook");
17
-
18
12
  var _urlJoin = _interopRequireDefault(require("url-join"));
19
-
20
13
  var _constant = _interopRequireDefault(require("../../libs/constant"));
21
-
22
14
  var _utils = require("../../libs/utils");
23
-
24
15
  var _filter = require("../../contexts/filter");
25
-
26
16
  var _jsxRuntime = require("react/jsx-runtime");
27
-
28
17
  const _excluded = ["query", "state"];
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
-
34
20
  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; }
35
-
36
21
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
-
38
22
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
39
-
40
23
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
41
-
42
24
  function Autocomplete(_ref) {
43
25
  let {
44
26
  onSelect,
@@ -55,54 +37,46 @@ function Autocomplete(_ref) {
55
37
  handleKeyword,
56
38
  t
57
39
  } = (0, _filter.useFilterContext)();
58
-
59
40
  const getBlocklets = async params => {
60
41
  const {
61
42
  data
62
43
  } = await storeApi.get(_constant.default.blockletsPath, {
63
44
  params
64
45
  });
65
- const blocklets = data.dataList || []; // 头部插入的一条 item 用于展示 `点击展开 xx条 结果`,如果没有blocklet 返回,不展示
66
-
46
+ const blocklets = data.dataList || [];
47
+ // 头部插入的一条 item 用于展示 `点击展开 xx条 结果`,如果没有blocklet 返回,不展示
67
48
  if (blocklets.length > 0) {
68
49
  blocklets.unshift({
69
50
  type: 'more-result',
70
51
  total: data.total || 0
71
52
  });
72
53
  }
73
-
74
54
  return blocklets;
75
55
  };
76
-
77
56
  const onSubmit = autocompleteState => {
78
57
  handleKeyword(autocompleteState.state.query);
79
58
  autocompleteState.setIsOpen(false);
80
59
  };
81
-
82
60
  const setFocus = () => {
83
61
  if (containerRef.current) {
84
62
  // see: https://discourse.algolia.com/t/autocomplete-focus-input-field/4019/5
85
63
  setTimeout(() => {
86
64
  const input = containerRef.current.querySelector('input.bl-autocomplete-input');
87
-
88
65
  if (input) {
89
66
  input.focus();
90
67
  }
91
68
  });
92
69
  }
93
70
  };
94
-
95
71
  const onReset = autocompleteState => {
96
72
  autocompleteState.setIsOpen(false);
97
73
  setFocus();
98
74
  };
99
-
100
75
  const onStateChange = _ref2 => {
101
76
  let {
102
77
  prevState,
103
78
  state
104
79
  } = _ref2;
105
-
106
80
  // 当搜索框中的值清空时, 更新页面中的搜索结果
107
81
  if (prevState.query !== state.query) {
108
82
  if (!state.query) {
@@ -110,7 +84,6 @@ function Autocomplete(_ref) {
110
84
  }
111
85
  }
112
86
  };
113
-
114
87
  (0, _reactHotkeysHook.useHotkeys)('ctrl + k, command + k', e => {
115
88
  e.stopPropagation();
116
89
  e.preventDefault();
@@ -126,7 +99,6 @@ function Autocomplete(_ref) {
126
99
  if (!containerRef.current) {
127
100
  return undefined;
128
101
  }
129
-
130
102
  const search = (0, _autocompleteJs.autocomplete)({
131
103
  container: containerRef.current,
132
104
  renderer: {
@@ -134,23 +106,18 @@ function Autocomplete(_ref) {
134
106
  Fragment: _react.Fragment,
135
107
  render: () => {}
136
108
  },
137
-
138
109
  render(_ref3, root) {
139
110
  let {
140
111
  children
141
112
  } = _ref3;
142
-
143
113
  if (!panelRootRef.current || rootRef.current !== root) {
144
114
  var _panelRootRef$current;
145
-
146
115
  rootRef.current = root;
147
116
  (_panelRootRef$current = panelRootRef.current) === null || _panelRootRef$current === void 0 ? void 0 : _panelRootRef$current.unmount();
148
117
  panelRootRef.current = (0, _client.createRoot)(root);
149
118
  }
150
-
151
119
  panelRootRef.current.render(wrapChildren(children));
152
120
  },
153
-
154
121
  autoFocus: true,
155
122
  openOnFocus: false,
156
123
  classNames: {
@@ -164,80 +131,64 @@ function Autocomplete(_ref) {
164
131
  initialState: {
165
132
  query: filters.keyword
166
133
  },
167
-
168
134
  onStateChange(autocompleteState) {
169
135
  onStateChange(autocompleteState);
170
136
  },
171
-
172
137
  onSubmit,
173
-
174
138
  onReset(autocompleteState) {
175
139
  onReset(autocompleteState);
176
140
  },
177
-
178
141
  getSources(_ref4) {
179
142
  let {
180
- query,
181
- state
182
- } = _ref4,
183
- setters = _objectWithoutProperties(_ref4, _excluded);
184
-
143
+ query,
144
+ state
145
+ } = _ref4,
146
+ setters = _objectWithoutProperties(_ref4, _excluded);
185
147
  const params = _objectSpread(_objectSpread({}, filters), {}, {
186
148
  sortBy: _constant.default[filters.sortBy],
187
149
  page: 1,
188
150
  pageSize: 10,
189
151
  keyword: query
190
152
  });
191
-
192
153
  return (0, _utils.debounced)([{
193
154
  sourceId: 'blocklets',
194
-
195
155
  getItems() {
196
156
  return getBlocklets(params);
197
157
  },
198
-
199
158
  // 选中后填充 搜索框中值
200
159
  getItemInputValue(_ref5) {
201
160
  let {
202
161
  item
203
162
  } = _ref5;
204
-
205
163
  if (item.type === 'more-result') {
206
164
  return query;
207
165
  }
208
-
209
166
  return item.title;
210
167
  },
211
-
212
168
  // 选中或者点击自动完成列表中的 item 时触发
213
169
  onSelect(_ref6) {
214
170
  let {
215
171
  event,
216
172
  item
217
173
  } = _ref6;
218
-
219
174
  if (item.type === 'more-result') {
220
175
  setters.setIsOpen(false);
221
176
  return handleKeyword(query);
222
177
  }
223
-
224
178
  if (event.type === 'keydown') {
225
179
  return handleKeyword(item.title);
226
180
  }
227
-
228
181
  return onSelect({
229
182
  blocklet: item,
230
183
  detailUrl: (0, _urlJoin.default)(endpoint, "/blocklets/".concat(item.did)),
231
184
  storeUrl: endpoint
232
185
  });
233
186
  },
234
-
235
187
  templates: {
236
188
  item(_ref7) {
237
189
  let {
238
190
  item
239
191
  } = _ref7;
240
-
241
192
  if (item.type === 'more-result') {
242
193
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
243
194
  children: t('autocomplete.expandResult', {
@@ -246,32 +197,28 @@ function Autocomplete(_ref) {
246
197
  })
247
198
  });
248
199
  }
249
-
250
200
  return blockletRender({
251
201
  blocklet: item,
252
202
  autocompleteSetters: setters
253
203
  });
254
204
  },
255
-
256
205
  noResults() {
257
206
  return t('blocklet.noResults');
258
207
  }
259
-
260
208
  }
261
209
  }]);
262
210
  }
263
-
264
211
  });
265
212
  return () => {
266
213
  search.destroy();
267
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
214
+ };
215
+ // eslint-disable-next-line react-hooks/exhaustive-deps
268
216
  }, [filters, blockletRender]);
269
217
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
270
218
  className: "bl-search-container",
271
219
  ref: containerRef
272
220
  });
273
221
  }
274
-
275
222
  Autocomplete.propTypes = {
276
223
  onSelect: _propTypes.default.func.isRequired,
277
224
  wrapChildren: _propTypes.default.func
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
10
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
11
+ var _material = require("@mui/material");
12
+ var _ahooks = require("ahooks");
13
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
14
+ var _filter = require("../contexts/filter");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _templateObject, _templateObject2, _templateObject3;
17
+ const _excluded = ["placeholder"];
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ 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; }
22
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+ function BaseSearch(_ref) {
26
+ let {
27
+ placeholder
28
+ } = _ref,
29
+ rest = _objectWithoutProperties(_ref, _excluded);
30
+ const {
31
+ filters,
32
+ handleKeyword
33
+ } = (0, _filter.useFilterContext)();
34
+ const [searchStr, setSearchStr] = (0, _react.useState)(filters.keyword || '');
35
+ const debouncedSearch = (0, _ahooks.useDebounceFn)(handleKeyword, {
36
+ wait: 300
37
+ });
38
+ const handleChange = event => {
39
+ const {
40
+ value
41
+ } = event.target;
42
+ setSearchStr(value);
43
+ debouncedSearch.run(value);
44
+ };
45
+ const handleClose = () => {
46
+ setSearchStr('');
47
+ handleKeyword();
48
+ };
49
+ (0, _react.useEffect)(() => {
50
+ setSearchStr(filters.keyword || '');
51
+ }, [filters.keyword]);
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSearch, _objectSpread({
53
+ inputProps: {
54
+ 'data-cy': 'search-blocklet'
55
+ },
56
+ startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {
57
+ position: "start",
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSearchIcon, {})
59
+ }),
60
+ onChange: handleChange,
61
+ placeholder: placeholder,
62
+ value: searchStr,
63
+ title: placeholder,
64
+ "data-cy": "search",
65
+ endAdornment: searchStr && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {
66
+ position: "end",
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledCloseIcon, {
68
+ "data-cy": "search-delete",
69
+ onClick: handleClose
70
+ })
71
+ })
72
+ }, rest));
73
+ }
74
+ BaseSearch.propTypes = {
75
+ placeholder: _propTypes.default.string
76
+ };
77
+ BaseSearch.defaultProps = {
78
+ placeholder: 'Type to search...'
79
+ };
80
+ const StyledSearch = (0, _styled.default)(_material.OutlinedInput)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n font-size: 14px;\n border-radius: 6px;\n .MuiInputBase-input {\n padding: 8px 0 8px 10px;\n }\n .MuiOutlinedInput-notchedOutline {\n border: none;\n }\n .Mui-focused {\n background-color: #f6f6f6;\n .MuiInputBase-input::placeholder {\n color: transparent;\n }\n }\n"])), props => props.theme.palette.grey[50]);
81
+ const StyledSearchIcon = (0, _styled.default)(_Search.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 28px;\n @media (max-width: ", "px) {\n font-size: 24px;\n }\n"])), props => props.theme.palette.grey[500], props => props.theme.breakpoints.values.md);
82
+ const StyledCloseIcon = (0, _styled.default)(_Close.default)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 16px;\n cursor: pointer;\n"])), props => props.theme.palette.grey[500]);
83
+ var _default = BaseSearch;
84
+ exports.default = _default;
@@ -4,45 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _material = require("@mui/material");
13
-
14
10
  var _styled = _interopRequireDefault(require("@emotion/styled"));
15
-
16
11
  var _jsxRuntime = require("react/jsx-runtime");
17
-
18
12
  const _excluded = ["children", "rounded", "loading", "disabled"];
19
-
20
13
  var _templateObject;
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
-
26
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; }
27
-
28
17
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
-
30
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
-
32
19
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
-
34
20
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
35
-
36
21
  const StyledButton = (0, _styled.default)(_material.Button)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: 4px;\n"])));
37
22
  const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
38
23
  let {
39
- children,
40
- rounded,
41
- loading,
42
- disabled
43
- } = _ref,
44
- rest = _objectWithoutProperties(_ref, _excluded);
45
-
24
+ children,
25
+ rounded,
26
+ loading,
27
+ disabled
28
+ } = _ref,
29
+ rest = _objectWithoutProperties(_ref, _excluded);
46
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledButton, _objectSpread(_objectSpread({
47
31
  ref: ref,
48
32
  disableElevation: true,
@@ -4,55 +4,35 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _styles = require("@mui/material/styles");
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _material = require("@mui/material");
17
-
18
12
  var _KeyboardArrowDown = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowDown"));
19
-
20
13
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
21
-
22
14
  var _button = _interopRequireDefault(require("./button"));
23
-
24
15
  var _jsxRuntime = require("react/jsx-runtime");
25
-
26
16
  var _templateObject, _templateObject2;
27
-
28
17
  const _excluded = ["title", "value", "icon", "prepend", "options", "onChange", "itemRender"];
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
33
-
34
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
-
36
21
  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; }
37
-
38
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
-
40
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
-
44
25
  function CustomSelect(_ref) {
45
26
  let {
46
- title,
47
- value,
48
- icon,
49
- prepend,
50
- options,
51
- onChange,
52
- itemRender
53
- } = _ref,
54
- buttonProps = _objectWithoutProperties(_ref, _excluded);
55
-
27
+ title,
28
+ value,
29
+ icon,
30
+ prepend,
31
+ options,
32
+ onChange,
33
+ itemRender
34
+ } = _ref,
35
+ buttonProps = _objectWithoutProperties(_ref, _excluded);
56
36
  const anchorRef = (0, _react.useRef)(null);
57
37
  const theme = (0, _styles.useTheme)();
58
38
  const [open, setOpen] = (0, _react.useState)(false);
@@ -67,20 +47,16 @@ function CustomSelect(_ref) {
67
47
  const openMenu = (0, _react.useCallback)(() => {
68
48
  setOpen(true);
69
49
  }, []);
70
-
71
50
  function toggle(option) {
72
51
  setCurrentValue(option.value);
73
52
  onChange(option.value);
74
-
75
53
  if (isSm) {
76
54
  closeMenu();
77
55
  }
78
56
  }
79
-
80
57
  function containsValue(optionValue) {
81
58
  return optionValue === currentValue;
82
59
  }
83
-
84
60
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
85
61
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledButton, _objectSpread(_objectSpread({
86
62
  ref: anchorRef,
@@ -124,7 +100,6 @@ function CustomSelect(_ref) {
124
100
  if (itemRender) {
125
101
  return itemRender(option);
126
102
  }
127
-
128
103
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
129
104
  onClick: () => toggle(option),
130
105
  className: ['my-select__option', containsValue(option.value) ? 'my-select__option--active' : ''].join(' '),
@@ -139,7 +114,6 @@ function CustomSelect(_ref) {
139
114
  })]
140
115
  });
141
116
  }
142
-
143
117
  CustomSelect.propTypes = {
144
118
  options: _propTypes.default.array.isRequired,
145
119
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array]),
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _customSelect = _interopRequireDefault(require("./custom-select"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var _default = _customSelect.default;
13
10
  exports.default = _default;