@blocklet/list 0.8.21 → 0.8.22

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/lib/base.js CHANGED
@@ -13,11 +13,13 @@ var _Sort = _interopRequireDefault(require("@mui/icons-material/Sort"));
13
13
 
14
14
  var _material = require("@mui/material");
15
15
 
16
+ var _Face = _interopRequireDefault(require("@mui/icons-material/Face"));
17
+
16
18
  var _filter = require("./contexts/filter");
17
19
 
18
20
  var _customSelect = _interopRequireDefault(require("./components/custom-select"));
19
21
 
20
- var _filterAuthor = _interopRequireDefault(require("./components/filter-author"));
22
+ var _filter2 = require("./components/filter");
21
23
 
22
24
  var _utils = require("./libs/utils");
23
25
 
@@ -27,12 +29,10 @@ var _aside = _interopRequireDefault(require("./components/aside"));
27
29
 
28
30
  var _search = _interopRequireDefault(require("./components/search"));
29
31
 
30
- var _filterMobile = _interopRequireDefault(require("./components/filter-mobile"));
31
-
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
34
  const ListBase = () => {
35
- var _getSortOptions$find;
35
+ var _sortOptions$find, _priceOptions$find;
36
36
 
37
37
  const {
38
38
  handleDeveloper,
@@ -40,8 +40,16 @@ const ListBase = () => {
40
40
  filters,
41
41
  developerName,
42
42
  handleSort,
43
- t
43
+ handleCategory,
44
+ handlePrice,
45
+ t,
46
+ getCategoryLocale,
47
+ priceOptions
44
48
  } = (0, _filter.useFilterContext)();
49
+ const sortOptions = (0, _utils.getSortOptions)(t);
50
+ const sortLocale = ((_sortOptions$find = sortOptions.find(f => f.value === filters.sortBy)) === null || _sortOptions$find === void 0 ? void 0 : _sortOptions$find.name) || t('sort.sort');
51
+ const categoryLocale = getCategoryLocale(filters.category);
52
+ const priceLocale = (_priceOptions$find = priceOptions.find(price => price.value === filters.price)) === null || _priceOptions$find === void 0 ? void 0 : _priceOptions$find.name;
45
53
  return /*#__PURE__*/_react.default.createElement(_material.Box, {
46
54
  display: "flex",
47
55
  alignItems: "flex-start",
@@ -49,53 +57,48 @@ const ListBase = () => {
49
57
  }, /*#__PURE__*/_react.default.createElement(_material.Hidden, {
50
58
  mdDown: true
51
59
  }, /*#__PURE__*/_react.default.createElement(_aside.default, null)), /*#__PURE__*/_react.default.createElement(StyledMin, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
52
- className: "marketplace-header",
60
+ className: "filter-bar",
53
61
  display: "flex",
54
62
  alignItems: "center"
55
- }, /*#__PURE__*/_react.default.createElement(_material.Hidden, {
56
- mdDown: true
57
- }, !!filters.developer && /*#__PURE__*/_react.default.createElement(_filterAuthor.default, {
58
- user: developerName,
59
- deleteUserTag: () => {
60
- handleDeveloper(null);
61
- }
62
- })), /*#__PURE__*/_react.default.createElement(_material.Box, {
63
- mt: 0,
64
- className: "searchContainer"
65
- }, /*#__PURE__*/_react.default.createElement(_material.Hidden, {
66
- mdUp: true
67
63
  }, /*#__PURE__*/_react.default.createElement(StyledSearch, {
68
- className: "search",
64
+ className: "search-container",
69
65
  placeholder: t('common.searchStore')
70
- }))), /*#__PURE__*/_react.default.createElement(_material.Box, {
66
+ }), /*#__PURE__*/_react.default.createElement(_material.Box, {
71
67
  mt: 0,
72
- ml: "10px",
73
- className: "filterContainer"
68
+ ml: "16px",
69
+ className: "filter-container"
74
70
  }, /*#__PURE__*/_react.default.createElement(_material.Hidden, {
75
71
  mdUp: true
76
- }, /*#__PURE__*/_react.default.createElement(_filterMobile.default, null)), /*#__PURE__*/_react.default.createElement(_customSelect.default, {
72
+ }, /*#__PURE__*/_react.default.createElement(_filter2.FilterIcon, null)), /*#__PURE__*/_react.default.createElement(_customSelect.default, {
77
73
  value: filters.sortBy,
78
- options: (0, _utils.getSortOptions)(t),
79
- title: ((_getSortOptions$find = (0, _utils.getSortOptions)(t).find(f => f.value === filters.sortBy)) === null || _getSortOptions$find === void 0 ? void 0 : _getSortOptions$find.name) || t('sort.sort'),
74
+ options: sortOptions,
75
+ title: sortLocale,
80
76
  icon: /*#__PURE__*/_react.default.createElement(_Sort.default, null),
81
77
  onChange: v => {
82
78
  handleSort(v);
83
79
  }
84
- }))), /*#__PURE__*/_react.default.createElement(_material.Hidden, {
85
- mdUp: true
86
- }, /*#__PURE__*/_react.default.createElement(_material.Box, {
80
+ }))), /*#__PURE__*/_react.default.createElement(_material.Box, {
87
81
  display: "flex",
88
82
  flexWrap: "wrap",
89
- alignItems: "center"
90
- }, !!filters.developer && /*#__PURE__*/_react.default.createElement(_filterAuthor.default, {
91
- user: developerName,
92
- deleteUserTag: () => {
83
+ alignItems: "center",
84
+ mb: "16px"
85
+ }, /*#__PURE__*/_react.default.createElement(_filter2.CustomChip, {
86
+ label: developerName,
87
+ icon: /*#__PURE__*/_react.default.createElement(_Face.default, null),
88
+ onDelete: () => {
93
89
  handleDeveloper(null);
94
- },
95
- style: {
96
- marginBottom: '16px'
97
90
  }
98
- }))), /*#__PURE__*/_react.default.createElement(_list.default, {
91
+ }), /*#__PURE__*/_react.default.createElement(_filter2.CustomChip, {
92
+ label: categoryLocale,
93
+ onDelete: () => {
94
+ handleCategory(null);
95
+ }
96
+ }), /*#__PURE__*/_react.default.createElement(_filter2.CustomChip, {
97
+ label: priceLocale,
98
+ onDelete: () => {
99
+ handlePrice(null);
100
+ }
101
+ })), /*#__PURE__*/_react.default.createElement(_list.default, {
99
102
  blocklets: blockletList
100
103
  })));
101
104
  };
@@ -103,7 +106,7 @@ const ListBase = () => {
103
106
  const StyledMin = _styledComponents.default.main.withConfig({
104
107
  displayName: "base__StyledMin",
105
108
  componentId: "sc-wumzlv-0"
106
- })(["flex:1;width:100%;min-width:0;.marketplace-header{justify-content:space-between;margin-bottom:20px;}.sort-button{white-space:nowrap;}.search{margin-left:0px;}@media (max-width:", "px){.searchContainer{flex:1;}.search{width:100%;}.filterContainer{flex:1;display:flex;justify-content:flex-end;}}@media (max-width:750px){.searchContainer{width:100%;}.filterContainer{width:100%;margin-left:0;display:flex;justify-content:flex-start;}.search{margin-bottom:20px;width:100%;}.marketplace-header{display:flex;flex-direction:column;align-items:flex-start;}}@media (max-width:", "px){.sort-button{font-size:12px;}}"], props => props.theme.breakpoints.values.md, props => props.theme.breakpoints.values.md);
109
+ })(["flex:1;width:100%;min-width:0;.filter-bar{justify-content:space-between;margin-bottom:", ";}.sort-button{white-space:nowrap;}.search-container{flex:2;margin-left:0px;}.filter-container{flex:1;display:flex;justify-content:flex-end;}@media (max-width:", "px){.search-container{width:100%;margin-bottom:", ";}.filter-container{margin-left:0;display:flex;justify-content:flex-start;}.filter-bar{display:flex;flex-direction:column;align-items:flex-start;}}@media (max-width:", "px){.sort-button{font-size:12px;}}"], props => props.theme.spacing(2), props => props.theme.breakpoints.values.md, props => props.theme.spacing(2), props => props.theme.breakpoints.values.md);
107
110
 
108
111
  const StyledSearch = (0, _styledComponents.default)(_search.default).withConfig({
109
112
  displayName: "base__StyledSearch",
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _filter = require("../contexts/filter");
13
+
14
+ var _filter2 = require("./filter");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const Aside = () => {
19
+ const {
20
+ selectedCategory,
21
+ handleCategory,
22
+ t,
23
+ handlePrice,
24
+ filters,
25
+ categoryOptions,
26
+ priceOptions
27
+ } = (0, _filter.useFilterContext)();
28
+ return /*#__PURE__*/_react.default.createElement(StyledAside, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_filter2.FilterGroup, {
29
+ title: t('common.price'),
30
+ options: priceOptions,
31
+ value: filters.price,
32
+ onChange: handlePrice
33
+ })), /*#__PURE__*/_react.default.createElement("div", {
34
+ style: {
35
+ marginTop: '32px'
36
+ }
37
+ }, /*#__PURE__*/_react.default.createElement(_filter2.FilterGroup, {
38
+ title: t('common.category'),
39
+ options: categoryOptions,
40
+ value: selectedCategory,
41
+ onChange: handleCategory
42
+ })));
43
+ };
44
+
45
+ const StyledAside = _styledComponents.default.aside.withConfig({
46
+ displayName: "aside__StyledAside",
47
+ componentId: "sc-1wkvsv6-0"
48
+ })(["width:220px;margin-right:", ";height:100%;"], props => props.theme.spacing(2));
49
+
50
+ Aside.propTypes = {};
51
+ Aside.defaultProps = {};
52
+ var _default = Aside;
53
+ exports.default = _default;
@@ -13,11 +13,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
 
14
14
  var _material = require("@mui/material");
15
15
 
16
- var _Face = _interopRequireDefault(require("@mui/icons-material/Face"));
17
-
18
- var _filter = require("../contexts/filter");
19
-
20
- const _excluded = ["user", "deleteUserTag"];
16
+ const _excluded = ["label", "icon", "onDelete"];
21
17
 
22
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
19
 
@@ -26,38 +22,35 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
26
22
  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; }
27
23
 
28
24
  const StyleDiv = _styledComponents.default.div.withConfig({
29
- displayName: "filter-author__StyleDiv",
30
- componentId: "sc-hnnc9f-0"
31
- })([".MuiChip-root{border-radius:4px;height:initial;text-transform:capitalize;}"]);
25
+ displayName: "custom-chip__StyleDiv",
26
+ componentId: "sc-4q1qqt-0"
27
+ })([".MuiChip-root{border-radius:4px;height:initial;text-transform:capitalize;margin-right:", ";padding:4px 0;}"], props => props.theme.spacing(2));
32
28
 
33
- const FilterAuthor = _ref => {
29
+ const FilterChip = _ref => {
34
30
  let {
35
- user,
36
- deleteUserTag
31
+ label,
32
+ icon,
33
+ onDelete
37
34
  } = _ref,
38
35
  containerProps = _objectWithoutProperties(_ref, _excluded);
39
36
 
40
- const {
41
- t
42
- } = (0, _filter.useFilterContext)();
43
- if (!user) return null;
37
+ if (!label) return null;
44
38
  return /*#__PURE__*/_react.default.createElement(StyleDiv, containerProps, /*#__PURE__*/_react.default.createElement(_material.Chip, {
45
- icon: /*#__PURE__*/_react.default.createElement(_Face.default, null),
46
- label: t('blocklet.owner', {
47
- name: user
48
- }),
49
- onDelete: () => {
50
- deleteUserTag();
51
- }
39
+ icon: icon,
40
+ label: label,
41
+ onDelete: onDelete
52
42
  }));
53
43
  };
54
44
 
55
- FilterAuthor.propTypes = {
56
- user: _propTypes.default.string.isRequired,
57
- deleteUserTag: _propTypes.default.func
45
+ FilterChip.propTypes = {
46
+ label: _propTypes.default.string,
47
+ onDelete: _propTypes.default.func,
48
+ icon: _propTypes.default.element
58
49
  };
59
- FilterAuthor.defaultProps = {
60
- deleteUserTag: () => {}
50
+ FilterChip.defaultProps = {
51
+ onDelete: () => {},
52
+ icon: null,
53
+ label: null
61
54
  };
62
- var _default = FilterAuthor;
55
+ var _default = FilterChip;
63
56
  exports.default = _default;
@@ -13,7 +13,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function Content(_ref) {
16
+ function FilterGroup(_ref) {
17
17
  let {
18
18
  options,
19
19
  onChange,
@@ -25,8 +25,10 @@ function Content(_ref) {
25
25
  }, title), /*#__PURE__*/_react.default.createElement("div", {
26
26
  className: "list"
27
27
  }, options.map(item => {
28
- return /*#__PURE__*/_react.default.createElement("span", {
28
+ return /*#__PURE__*/_react.default.createElement("div", {
29
+ title: item.name,
29
30
  key: item.value,
31
+ "data-cy": "filter",
30
32
  className: value === item.value ? 'select item' : 'item',
31
33
  onClick: () => onChange(item.value)
32
34
  }, item.name);
@@ -34,18 +36,18 @@ function Content(_ref) {
34
36
  }
35
37
 
36
38
  const StyledDiv = _styledComponents.default.div.withConfig({
37
- displayName: "content__StyledDiv",
38
- componentId: "sc-16pmlm6-0"
39
- })([".title{font-size:18px;font-weight:bold;}.list{display:flex;flex-direction:column;align-items:flex-start;margin-left:8px;}.item{margin:16px 0;cursor:pointer;}.select{color:", ";}"], props => props.theme.palette.primary.main);
39
+ displayName: "group__StyledDiv",
40
+ componentId: "sc-1lj02tr-0"
41
+ })([".title{font-size:18px;font-weight:bold;margin-bottom:", ";}.list{}.item{font-size:16px;font-weight:bold;padding:", " ", ";color:#9397a1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;cursor:pointer;&:hover{background-color:", ";color:initial;}}.select{color:", ";}"], props => props.theme.spacing(2), props => props.theme.spacing(2), props => props.theme.spacing(1), props => props.theme.palette.grey[50], props => props.theme.palette.primary.main);
40
42
 
41
- Content.propTypes = {
43
+ FilterGroup.propTypes = {
42
44
  title: _propTypes.default.string.isRequired,
43
45
  options: _propTypes.default.array.isRequired,
44
46
  onChange: _propTypes.default.func.isRequired,
45
47
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
46
48
  };
47
- Content.defaultProps = {
49
+ FilterGroup.defaultProps = {
48
50
  value: null
49
51
  };
50
- var _default = Content;
52
+ var _default = FilterGroup;
51
53
  exports.default = _default;
@@ -17,9 +17,7 @@ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
17
 
18
18
  var _filter = require("../../contexts/filter");
19
19
 
20
- var _content = _interopRequireDefault(require("./content"));
21
-
22
- var _utils = require("../../libs/utils");
20
+ var _group = _interopRequireDefault(require("./group"));
23
21
 
24
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
23
 
@@ -27,20 +25,30 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
25
 
28
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
27
 
30
- // import PropTypes from 'prop-types';
31
- function MobileFilter() {
28
+ function FilterIcon() {
32
29
  const {
33
30
  selectedCategory,
34
31
  handleCategory,
35
32
  t,
36
33
  handlePrice,
37
34
  filters,
38
- categoryList,
39
- locale
35
+ categoryOptions,
36
+ priceOptions
40
37
  } = (0, _filter.useFilterContext)();
41
38
  const [open, setOpen] = (0, _react.useState)(false);
42
- const categoriesOption = (0, _utils.getCategoriesOption)(categoryList, locale);
43
- const prices = (0, _utils.getPrices)(t);
39
+
40
+ const handelChange = (type, value) => {
41
+ if (type === 'category') {
42
+ handleCategory(value);
43
+ }
44
+
45
+ if (type === 'price') {
46
+ handlePrice(value);
47
+ }
48
+
49
+ setOpen(false);
50
+ };
51
+
44
52
  return /*#__PURE__*/_react.default.createElement(StyledDiv, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
45
53
  variant: "outlined",
46
54
  className: "filter-button",
@@ -53,25 +61,33 @@ function MobileFilter() {
53
61
  title: "",
54
62
  open: open,
55
63
  onClose: () => setOpen(false)
56
- }, /*#__PURE__*/_react.default.createElement(_content.default, {
64
+ }, /*#__PURE__*/_react.default.createElement(_group.default, {
57
65
  title: t('common.price'),
58
- options: prices,
66
+ options: priceOptions,
59
67
  value: filters.price,
60
- onChange: handlePrice
61
- }), /*#__PURE__*/_react.default.createElement(_content.default, {
68
+ onChange: v => {
69
+ handelChange('price', v);
70
+ }
71
+ }), /*#__PURE__*/_react.default.createElement("div", {
72
+ style: {
73
+ marginTop: '32px'
74
+ }
75
+ }, /*#__PURE__*/_react.default.createElement(_group.default, {
62
76
  title: t('common.category'),
63
- options: categoriesOption,
77
+ options: categoryOptions,
64
78
  value: selectedCategory,
65
- onChange: handleCategory
66
- })));
79
+ onChange: v => {
80
+ handelChange('category', v);
81
+ }
82
+ }))));
67
83
  }
68
84
 
69
85
  const StyledDiv = _styledComponents.default.div.withConfig({
70
- displayName: "filter-mobile__StyledDiv",
71
- componentId: "sc-5csoa5-0"
86
+ displayName: "icon__StyledDiv",
87
+ componentId: "sc-17rafy1-0"
72
88
  })([".filter-button{margin-right:16px;border-color:rgb(240,240,240);padding:5px 8px;min-width:initial;}.filter-icon{cursor:pointer;color:", ";}"], props => props.theme.palette.grey[500]);
73
89
 
74
- MobileFilter.propTypes = {};
75
- MobileFilter.defaultProps = {};
76
- var _default = MobileFilter;
90
+ FilterIcon.propTypes = {};
91
+ FilterIcon.defaultProps = {};
92
+ var _default = FilterIcon;
77
93
  exports.default = _default;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CustomChip", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _customChip.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FilterGroup", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _group.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "FilterIcon", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _icon.default;
22
+ }
23
+ });
24
+
25
+ var _icon = _interopRequireDefault(require("./icon"));
26
+
27
+ var _customChip = _interopRequireDefault(require("./custom-chip"));
28
+
29
+ var _group = _interopRequireDefault(require("./group"));
30
+
31
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -127,7 +127,7 @@ BlockletList.defaultProps = {};
127
127
  const StyledGrid = (0, _styledComponents.default)(_Grid.default).withConfig({
128
128
  displayName: "list__StyledGrid",
129
129
  componentId: "sc-jzgpev-0"
130
- })(["@media (max-width:", "px){&.MuiGrid-item{padding-bottom:0px;margin-left:", ";padding-right:", ";}}"], props => props.theme.breakpoints.values.sm, props => props.theme.spacing(-2), props => props.theme.spacing(0.5));
130
+ })(["@media (max-width:", "px){&.MuiGrid-item{padding-bottom:0px;margin-left:", ";padding-right:", ";}}@media (min-width:", "px){&.MuiGrid-item{margin-bottom:", ";}}"], props => props.theme.breakpoints.values.sm, props => props.theme.spacing(-2), props => props.theme.spacing(0.5), props => props.theme.breakpoints.values.sm, props => props.theme.spacing(2));
131
131
  const CustomEmpty = (0, _styledComponents.default)(_Empty.default).withConfig({
132
132
  displayName: "list__CustomEmpty",
133
133
  componentId: "sc-jzgpev-1"
@@ -94,7 +94,7 @@ Search.defaultProps = {
94
94
  const StyledSearch = (0, _styledComponents.default)(_material.OutlinedInput).withConfig({
95
95
  displayName: "search__StyledSearch",
96
96
  componentId: "sc-1ehlqka-0"
97
- })(["background-color:#fff;border-radius:12px;font-size:16px;margin:0 10px;.MuiInputBase-input{padding:12px 0px 12px 0px;}.MuiOutlinedInput-notchedOutline{border:none;}.Mui-focused{background-color:#f6f6f6;.MuiInputBase-input::placeholder{color:transparent;}}@media (max-width:", "px){font-size:14px;border-radius:6px;.MuiInputBase-input{padding:8px 0 8px 10px;}}"], props => props.theme.breakpoints.values.md);
97
+ })(["background-color:#fff;font-size:14px;border-radius:6px;.MuiInputBase-input{padding:8px 0 8px 10px;}.MuiOutlinedInput-notchedOutline{border:none;}.Mui-focused{background-color:#f6f6f6;.MuiInputBase-input::placeholder{color:transparent;}}"]);
98
98
  const StyledSearchIcon = (0, _styledComponents.default)(_Search.default).withConfig({
99
99
  displayName: "search__StyledSearchIcon",
100
100
  componentId: "sc-1ehlqka-1"
@@ -44,8 +44,6 @@ exports.FilterConsumer = Consumer;
44
44
 
45
45
  function FilterProvider(_ref) {
46
46
  let {
47
- onSelectBlocklet,
48
- selectedBlocklets,
49
47
  filters,
50
48
  children,
51
49
  baseUrl,
@@ -152,6 +150,8 @@ function FilterProvider(_ref) {
152
150
  return (0, _utils.replaceTranslate)(_locale.default[locale][key], data);
153
151
  };
154
152
 
153
+ const categoryOptions = (0, _react.useMemo)(() => (0, _utils.getCategoryOptions)(categoryList, locale), [categoryList, locale]);
154
+ const priceOptions = (0, _utils.getPrices)(translate);
155
155
  const filterStore = {
156
156
  errors: {
157
157
  fetchBlockletsError,
@@ -173,8 +173,8 @@ function FilterProvider(_ref) {
173
173
  baseUrl,
174
174
  blockletRender,
175
175
  locale,
176
- selectedBlocklets,
177
- onSelectBlocklet,
176
+ categoryOptions,
177
+ priceOptions,
178
178
  handleSort: sort => {
179
179
  const changeData = _objectSpread(_objectSpread({}, filters), {}, {
180
180
  sortBy: sort,
package/lib/libs/utils.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.urlStringify = exports.replaceTranslate = exports.removeUndefined = exports.getStoreDetail = exports.getSortOptions = exports.getPrices = exports.getCategoriesOption = exports.getCategories = exports.formatLogoPath = exports.formatError = exports.filterBlockletByPrice = void 0;
6
+ exports.urlStringify = exports.replaceTranslate = exports.removeUndefined = exports.getStoreDetail = exports.getSortOptions = exports.getPrices = exports.getCategoryOptions = exports.getCategories = exports.formatLogoPath = exports.formatError = exports.filterBlockletByPrice = void 0;
7
7
 
8
8
  var _urlJoin = _interopRequireDefault(require("url-join"));
9
9
 
@@ -50,7 +50,7 @@ const getPrices = t => {
50
50
 
51
51
  exports.getPrices = getPrices;
52
52
 
53
- const getCategoriesOption = function getCategoriesOption() {
53
+ const getCategoryOptions = function getCategoryOptions() {
54
54
  let list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
55
55
  let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
56
56
  return list.map(item => ({
@@ -66,7 +66,7 @@ const getCategoriesOption = function getCategoriesOption() {
66
66
  */
67
67
 
68
68
 
69
- exports.getCategoriesOption = getCategoriesOption;
69
+ exports.getCategoryOptions = getCategoryOptions;
70
70
 
71
71
  const getCategories = (list, developerDid) => {
72
72
  const filterList = list.filter(item => developerDid ? item.owner.did === developerDid : true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/list",
3
- "version": "0.8.21",
3
+ "version": "0.8.22",
4
4
  "description": "Common ux components of blocklet",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -58,5 +58,5 @@
58
58
  "babel-plugin-inline-react-svg": "^2.0.1",
59
59
  "babel-plugin-styled-components": "^1.10.7"
60
60
  },
61
- "gitHead": "04b04a68686b6d5136c255128e7f399ab95eb1f3"
61
+ "gitHead": "3033fed5ab41bb5b024c285ea56d7f5ba41d90c4"
62
62
  }