@blocklet/list 0.8.6

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.
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NoResultsTips = exports.NoResults = exports.EmptyTitle = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
+
14
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
15
+
16
+ var _store = require("../contexts/store");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ const NoResults = () => {
21
+ const searchStore = (0, _store.useSearchContext)();
22
+ const {
23
+ t
24
+ } = searchStore;
25
+ return /*#__PURE__*/_react.default.createElement(_Typography.default, {
26
+ style: {
27
+ textAlign: 'center'
28
+ },
29
+ variant: "subtitle2"
30
+ }, t('blocklet.noResults'));
31
+ };
32
+
33
+ exports.NoResults = NoResults;
34
+
35
+ const NoResultsTips = _ref => {
36
+ let {
37
+ filterTip,
38
+ keywordTip
39
+ } = _ref;
40
+ const searchStore = (0, _store.useSearchContext)();
41
+ const {
42
+ t,
43
+ locale
44
+ } = searchStore;
45
+
46
+ const getSplit = () => {
47
+ if (locale === 'zh') return '、';
48
+ return ' , ';
49
+ };
50
+
51
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
52
+ className: "tips"
53
+ }, /*#__PURE__*/_react.default.createElement("span", {
54
+ style: {
55
+ marginRight: '16px'
56
+ }
57
+ }, t('blocklet.emptyTip')), filterTip && /*#__PURE__*/_react.default.createElement("span", null, t('blocklet.filterTip')), filterTip && keywordTip && getSplit(), keywordTip && /*#__PURE__*/_react.default.createElement("span", null, t('blocklet.keywordTip')));
58
+ };
59
+
60
+ exports.NoResultsTips = NoResultsTips;
61
+ NoResultsTips.propTypes = {
62
+ filterTip: _propTypes.default.bool,
63
+ keywordTip: _propTypes.default.bool
64
+ };
65
+ NoResultsTips.defaultProps = {
66
+ filterTip: false,
67
+ keywordTip: false
68
+ };
69
+
70
+ const EmptyTitle = _ref2 => {
71
+ let {
72
+ primaryStart,
73
+ primaryEnd,
74
+ search
75
+ } = _ref2;
76
+ return /*#__PURE__*/_react.default.createElement(_Typography.default, {
77
+ variant: "subtitle2"
78
+ }, /*#__PURE__*/_react.default.createElement("span", null, primaryStart), /*#__PURE__*/_react.default.createElement("span", {
79
+ className: "primary"
80
+ }, " ", search, " "), /*#__PURE__*/_react.default.createElement("span", null, primaryEnd, " "));
81
+ };
82
+
83
+ exports.EmptyTitle = EmptyTitle;
84
+ EmptyTitle.propTypes = {
85
+ primaryStart: _propTypes.default.string.isRequired,
86
+ primaryEnd: _propTypes.default.string.isRequired,
87
+ search: _propTypes.default.string.isRequired
88
+ };
@@ -0,0 +1,64 @@
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 _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _material = require("@mui/material");
15
+
16
+ var _Face = _interopRequireDefault(require("@mui/icons-material/Face"));
17
+
18
+ var _store = require("../contexts/store");
19
+
20
+ const _excluded = ["user", "deleteUserTag"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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; }
25
+
26
+ 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
+
28
+ 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;}"]);
32
+
33
+ const FilterAuthor = _ref => {
34
+ let {
35
+ user,
36
+ deleteUserTag
37
+ } = _ref,
38
+ containerProps = _objectWithoutProperties(_ref, _excluded);
39
+
40
+ const searchStore = (0, _store.useSearchContext)();
41
+ const {
42
+ t
43
+ } = searchStore;
44
+ if (!user) return null;
45
+ return /*#__PURE__*/_react.default.createElement(StyleDiv, containerProps, /*#__PURE__*/_react.default.createElement(_material.Chip, {
46
+ icon: /*#__PURE__*/_react.default.createElement(_Face.default, null),
47
+ label: t('blocklet.owner', {
48
+ name: user
49
+ }),
50
+ onDelete: () => {
51
+ deleteUserTag();
52
+ }
53
+ }));
54
+ };
55
+
56
+ FilterAuthor.propTypes = {
57
+ user: _propTypes.default.string.isRequired,
58
+ deleteUserTag: _propTypes.default.func
59
+ };
60
+ FilterAuthor.defaultProps = {
61
+ deleteUserTag: () => {}
62
+ };
63
+ var _default = FilterAuthor;
64
+ exports.default = _default;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockletList;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
15
+
16
+ var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
17
+
18
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
19
+
20
+ var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
21
+
22
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
23
+
24
+ var _empty = require("./empty");
25
+
26
+ var _store = require("../contexts/store");
27
+
28
+ var _utils = require("../tools/utils");
29
+
30
+ const _excluded = ["blocklets"];
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ function BlockletList(_ref) {
39
+ let {
40
+ blocklets
41
+ } = _ref,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
43
+
44
+ const {
45
+ blockletRender,
46
+ errors,
47
+ loadings,
48
+ selectedCategory,
49
+ blockletList,
50
+ getCategoryLocale,
51
+ queryParams,
52
+ t
53
+ } = (0, _store.useSearchContext)();
54
+ const showFilterTip = !!selectedCategory || !!queryParams.price;
55
+
56
+ if (errors.fetchBlockletsError) {
57
+ return /*#__PURE__*/_react.default.createElement(_Alert.default, {
58
+ type: "error",
59
+ variant: "icon"
60
+ }, /*#__PURE__*/_react.default.createElement("div", null, (0, _utils.formatError)(errors.fetchBlockletsError)));
61
+ }
62
+
63
+ if (loadings.fetchBlockletsLoading) {
64
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
65
+ display: "flex",
66
+ alignItems: "center",
67
+ justifyContent: "center"
68
+ }, /*#__PURE__*/_react.default.createElement(_CircularProgress.default, null));
69
+ }
70
+
71
+ if (queryParams.search && showFilterTip && blockletList.length === 0) {
72
+ return /*#__PURE__*/_react.default.createElement(CustomEmpty, null, /*#__PURE__*/_react.default.createElement(_empty.EmptyTitle, {
73
+ primaryStart: t('blocklet.noBlockletPart1'),
74
+ primaryEnd: t('blocklet.noBlockletPart2'),
75
+ search: queryParams.search
76
+ }), /*#__PURE__*/_react.default.createElement(_empty.NoResultsTips, {
77
+ keywordTip: true,
78
+ filterTip: true
79
+ }));
80
+ }
81
+
82
+ if (queryParams.search && blockletList.length === 0) {
83
+ return /*#__PURE__*/_react.default.createElement(CustomEmpty, null, /*#__PURE__*/_react.default.createElement(_empty.EmptyTitle, {
84
+ primaryStart: t('blocklet.noBlockletPart1'),
85
+ primaryEnd: t('blocklet.noBlockletPart2'),
86
+ search: queryParams.search
87
+ }), /*#__PURE__*/_react.default.createElement(_empty.NoResultsTips, {
88
+ keywordTip: true
89
+ }));
90
+ }
91
+
92
+ if (showFilterTip && blockletList.length === 0) {
93
+ const categoryLocale = getCategoryLocale(selectedCategory);
94
+ return /*#__PURE__*/_react.default.createElement(CustomEmpty, null, categoryLocale ? /*#__PURE__*/_react.default.createElement(_empty.EmptyTitle, {
95
+ primaryStart: t('blocklet.noCategoryResults1'),
96
+ primaryEnd: t('blocklet.noCategoryResults2'),
97
+ search: categoryLocale
98
+ }) : /*#__PURE__*/_react.default.createElement(_empty.NoResults, null), /*#__PURE__*/_react.default.createElement(_empty.NoResultsTips, {
99
+ filterTip: true
100
+ }));
101
+ }
102
+
103
+ if (blockletList.length === 0) {
104
+ return /*#__PURE__*/_react.default.createElement(CustomEmpty, null, /*#__PURE__*/_react.default.createElement(_empty.NoResults, null));
105
+ }
106
+
107
+ return /*#__PURE__*/_react.default.createElement(_Grid.default, Object.assign({
108
+ container: true,
109
+ spacing: 4
110
+ }, rest), blocklets.map(blocklet => /*#__PURE__*/_react.default.createElement(StyledGrid, {
111
+ item: true,
112
+ lg: 4,
113
+ md: 6,
114
+ sm: 6,
115
+ xs: 12,
116
+ key: blocklet.did,
117
+ "data-blocklet-did": blocklet.did
118
+ }, blockletRender(blocklet))));
119
+ }
120
+
121
+ BlockletList.propTypes = {
122
+ blocklets: _propTypes.default.array.isRequired
123
+ };
124
+ BlockletList.defaultProps = {};
125
+ const StyledGrid = (0, _styledComponents.default)(_Grid.default).withConfig({
126
+ displayName: "list__StyledGrid",
127
+ componentId: "sc-anbsot-0"
128
+ })(["@media (max-width:", "px){&.MuiGrid-item{padding-bottom:0px;padding-left:16px;padding-right:4px;}}"], props => props.theme.breakpoints.values.sm);
129
+ const CustomEmpty = (0, _styledComponents.default)(_Empty.default).withConfig({
130
+ displayName: "list__CustomEmpty",
131
+ componentId: "sc-anbsot-1"
132
+ })(["text-align:center;.primary{color:", ";}.tips{margin-top:", ";}"], props => props.theme.palette.primary.main, props => props.theme.spacing(1));
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _mdiMaterialUi = require("mdi-material-ui");
13
+
14
+ var _material = require("@mui/material");
15
+
16
+ var _ahooks = require("ahooks");
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _store = require("../contexts/store");
21
+
22
+ const _excluded = ["placeholder"];
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ 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
+
30
+ 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
+ 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
+ const Search = _ref => {
35
+ let {
36
+ placeholder
37
+ } = _ref,
38
+ rest = _objectWithoutProperties(_ref, _excluded);
39
+
40
+ const searchStore = (0, _store.useSearchContext)();
41
+ const {
42
+ queryParams,
43
+ handleSearchKeyword
44
+ } = searchStore;
45
+ const [searchStr, setSearchStr] = (0, _react.useState)(queryParams.search || '');
46
+ const {
47
+ run: handleSearch
48
+ } = (0, _ahooks.useDebounceFn)(handleSearchKeyword, {
49
+ wait: 300
50
+ });
51
+
52
+ const handleChange = event => {
53
+ const {
54
+ value
55
+ } = event.target;
56
+ setSearchStr(value);
57
+ handleSearch(value);
58
+ };
59
+
60
+ const handleClose = () => {
61
+ setSearchStr('');
62
+ handleSearchKeyword();
63
+ };
64
+
65
+ return /*#__PURE__*/_react.default.createElement(StyledSearch, Object.assign({
66
+ startAdornment: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, {
67
+ position: "start"
68
+ }, /*#__PURE__*/_react.default.createElement(StyledMagnify, null)),
69
+ onChange: handleChange,
70
+ placeholder: placeholder,
71
+ value: searchStr,
72
+ title: placeholder,
73
+ endAdornment: searchStr && /*#__PURE__*/_react.default.createElement(_material.InputAdornment, {
74
+ onClick: handleClose,
75
+ position: "end"
76
+ }, /*#__PURE__*/_react.default.createElement(StyledClose, null))
77
+ }, rest));
78
+ };
79
+
80
+ Search.propTypes = {
81
+ placeholder: _propTypes.default.string
82
+ };
83
+ Search.defaultProps = {
84
+ placeholder: 'Type to search...'
85
+ };
86
+ const StyledSearch = (0, _styledComponents.default)(_material.OutlinedInput).withConfig({
87
+ displayName: "search__StyledSearch",
88
+ componentId: "sc-1ehlqka-0"
89
+ })(["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);
90
+ const StyledMagnify = (0, _styledComponents.default)(_mdiMaterialUi.Magnify).withConfig({
91
+ displayName: "search__StyledMagnify",
92
+ componentId: "sc-1ehlqka-1"
93
+ })(["color:", ";font-size:28px;@media (max-width:", "px){font-size:24px;}"], props => props.theme.palette.grey[500], props => props.theme.breakpoints.values.md);
94
+ const StyledClose = (0, _styledComponents.default)(_mdiMaterialUi.Close).withConfig({
95
+ displayName: "search__StyledClose",
96
+ componentId: "sc-1ehlqka-2"
97
+ })(["color:", ";font-size:16px;cursor:pointer;"], props => props.theme.palette.grey[500]);
98
+ var _default = Search;
99
+ exports.default = _default;