@blocklet/list 0.12.97 → 0.12.99
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/index.es.js +460 -418
- package/package.json +8 -12
- package/lib/assets/locale.js +0 -92
- package/lib/base.js +0 -159
- package/lib/components/aside.js +0 -47
- package/lib/components/autocomplete/index.js +0 -245
- package/lib/components/base-search.js +0 -85
- package/lib/components/custom-select/button.js +0 -55
- package/lib/components/custom-select/custom-select.js +0 -139
- package/lib/components/custom-select/index.js +0 -9
- package/lib/components/filter/custom-chip.js +0 -51
- package/lib/components/filter/group.js +0 -48
- package/lib/components/filter/icon.js +0 -78
- package/lib/components/filter/index.js +0 -27
- package/lib/components/list/column-sizer.js +0 -40
- package/lib/components/list/empty.js +0 -84
- package/lib/components/list/index.js +0 -139
- package/lib/components/show-resources-switch.js +0 -43
- package/lib/contexts/filter.js +0 -253
- package/lib/index.js +0 -36
- package/lib/libs/constant.js +0 -19
- package/lib/libs/prop-types.js +0 -44
- package/lib/libs/utils.js +0 -127
|
@@ -1,85 +0,0 @@
|
|
|
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 _Theme = require("@arcblock/ux/lib/Theme");
|
|
14
|
-
var _filter = require("../contexts/filter");
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
17
|
-
const _excluded = ["placeholder"]; // import styled from '@emotion/styled';
|
|
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(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
24
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
-
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; }
|
|
26
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
27
|
-
function BaseSearch(_ref) {
|
|
28
|
-
let {
|
|
29
|
-
placeholder
|
|
30
|
-
} = _ref,
|
|
31
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
-
const {
|
|
33
|
-
filters,
|
|
34
|
-
handleKeyword
|
|
35
|
-
} = (0, _filter.useFilterContext)();
|
|
36
|
-
const [searchStr, setSearchStr] = (0, _react.useState)(filters.keyword || '');
|
|
37
|
-
const debouncedSearch = (0, _ahooks.useDebounceFn)(handleKeyword, {
|
|
38
|
-
wait: 300
|
|
39
|
-
});
|
|
40
|
-
const handleChange = event => {
|
|
41
|
-
const {
|
|
42
|
-
value
|
|
43
|
-
} = event.target;
|
|
44
|
-
setSearchStr(value);
|
|
45
|
-
debouncedSearch.run(value);
|
|
46
|
-
};
|
|
47
|
-
const handleClose = () => {
|
|
48
|
-
setSearchStr('');
|
|
49
|
-
handleKeyword();
|
|
50
|
-
};
|
|
51
|
-
(0, _react.useEffect)(() => {
|
|
52
|
-
setSearchStr(filters.keyword || '');
|
|
53
|
-
}, [filters.keyword]);
|
|
54
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSearch, _objectSpread({
|
|
55
|
-
inputProps: {
|
|
56
|
-
'data-cy': 'search-blocklet'
|
|
57
|
-
},
|
|
58
|
-
startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {
|
|
59
|
-
position: "start",
|
|
60
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSearchIcon, {})
|
|
61
|
-
}),
|
|
62
|
-
onChange: handleChange,
|
|
63
|
-
placeholder: placeholder,
|
|
64
|
-
value: searchStr,
|
|
65
|
-
title: placeholder,
|
|
66
|
-
"data-cy": "search",
|
|
67
|
-
endAdornment: searchStr && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {
|
|
68
|
-
position: "end",
|
|
69
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledCloseIcon, {
|
|
70
|
-
"data-cy": "search-delete",
|
|
71
|
-
onClick: handleClose
|
|
72
|
-
})
|
|
73
|
-
})
|
|
74
|
-
}, rest));
|
|
75
|
-
}
|
|
76
|
-
BaseSearch.propTypes = {
|
|
77
|
-
placeholder: _propTypes.default.string
|
|
78
|
-
};
|
|
79
|
-
BaseSearch.defaultProps = {
|
|
80
|
-
placeholder: 'Type to search...'
|
|
81
|
-
};
|
|
82
|
-
const StyledSearch = (0, _Theme.styled)(_material.OutlinedInput)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n font-size: 14px;\n border-radius: 6px;\n width: 100%;\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]);
|
|
83
|
-
const StyledSearchIcon = (0, _Theme.styled)(_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);
|
|
84
|
-
const StyledCloseIcon = (0, _Theme.styled)(_Close.default)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 16px;\n cursor: pointer;\n"])), props => props.theme.palette.grey[500]);
|
|
85
|
-
var _default = exports.default = BaseSearch;
|
|
@@ -1,55 +0,0 @@
|
|
|
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 _material = require("@mui/material");
|
|
10
|
-
var _Theme = require("@arcblock/ux/lib/Theme");
|
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
const _excluded = ["children", "rounded", "loading", "disabled"];
|
|
13
|
-
var _templateObject; // import styled from '@emotion/styled';
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
19
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
-
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; }
|
|
21
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
22
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
23
|
-
const StyledButton = (0, _Theme.styled)(_material.Button)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: 4px;\n"])));
|
|
24
|
-
const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
25
|
-
let {
|
|
26
|
-
children,
|
|
27
|
-
rounded,
|
|
28
|
-
loading,
|
|
29
|
-
disabled
|
|
30
|
-
} = _ref,
|
|
31
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledButton, _objectSpread(_objectSpread({
|
|
33
|
-
ref: ref,
|
|
34
|
-
disableElevation: true,
|
|
35
|
-
disabled: disabled || loading
|
|
36
|
-
}, rest), {}, {
|
|
37
|
-
startIcon: loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {
|
|
38
|
-
size: "1em"
|
|
39
|
-
}),
|
|
40
|
-
children: children
|
|
41
|
-
}));
|
|
42
|
-
});
|
|
43
|
-
Button.propTypes = {
|
|
44
|
-
children: _propTypes.default.any,
|
|
45
|
-
rounded: _propTypes.default.bool,
|
|
46
|
-
loading: _propTypes.default.bool,
|
|
47
|
-
disabled: _propTypes.default.bool
|
|
48
|
-
};
|
|
49
|
-
Button.defaultProps = {
|
|
50
|
-
children: null,
|
|
51
|
-
rounded: false,
|
|
52
|
-
loading: false,
|
|
53
|
-
disabled: false
|
|
54
|
-
};
|
|
55
|
-
var _default = exports.default = Button;
|
|
@@ -1,139 +0,0 @@
|
|
|
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 _styles = require("@mui/material/styles");
|
|
9
|
-
var _Theme = require("@arcblock/ux/lib/Theme");
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _material = require("@mui/material");
|
|
12
|
-
var _KeyboardArrowDown = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowDown"));
|
|
13
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
14
|
-
var _button = _interopRequireDefault(require("./button"));
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
var _templateObject, _templateObject2;
|
|
17
|
-
const _excluded = ["title", "value", "icon", "prepend", "options", "onChange", "itemRender"];
|
|
18
|
-
/* eslint-disable no-unused-expressions */
|
|
19
|
-
// import styled from '@emotion/styled';
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
22
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
26
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
27
|
-
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; }
|
|
28
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
29
|
-
function CustomSelect(_ref) {
|
|
30
|
-
let {
|
|
31
|
-
title,
|
|
32
|
-
value,
|
|
33
|
-
icon,
|
|
34
|
-
prepend,
|
|
35
|
-
options,
|
|
36
|
-
onChange,
|
|
37
|
-
itemRender
|
|
38
|
-
} = _ref,
|
|
39
|
-
buttonProps = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
-
const anchorRef = (0, _react.useRef)(null);
|
|
41
|
-
const theme = (0, _styles.useTheme)();
|
|
42
|
-
const [open, setOpen] = (0, _react.useState)(false);
|
|
43
|
-
const [currentValue, setCurrentValue] = (0, _react.useState)(value !== null ? value : '');
|
|
44
|
-
const isSm = (0, _material.useMediaQuery)(theme.breakpoints.down('sm'));
|
|
45
|
-
(0, _react.useEffect)(() => {
|
|
46
|
-
setCurrentValue(value !== null ? value : '');
|
|
47
|
-
}, [value]);
|
|
48
|
-
const closeMenu = (0, _react.useCallback)(() => {
|
|
49
|
-
setOpen(false);
|
|
50
|
-
}, []);
|
|
51
|
-
const openMenu = (0, _react.useCallback)(() => {
|
|
52
|
-
setOpen(true);
|
|
53
|
-
}, []);
|
|
54
|
-
function toggle(option) {
|
|
55
|
-
setCurrentValue(option.value);
|
|
56
|
-
onChange(option.value);
|
|
57
|
-
if (isSm) {
|
|
58
|
-
closeMenu();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function containsValue(optionValue) {
|
|
62
|
-
return optionValue === currentValue;
|
|
63
|
-
}
|
|
64
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
65
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledButton, _objectSpread(_objectSpread({
|
|
66
|
-
ref: anchorRef,
|
|
67
|
-
onClick: openMenu,
|
|
68
|
-
variant: "outlined",
|
|
69
|
-
size: "small",
|
|
70
|
-
className: ['my-select__selector', (0, _isEmpty.default)(currentValue) ? '' : 'my-select__selector--active'].join(' ')
|
|
71
|
-
}, buttonProps), {}, {
|
|
72
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
73
|
-
className: "my-select__icon",
|
|
74
|
-
children: icon
|
|
75
|
-
}), title, /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.SvgIcon, {
|
|
76
|
-
className: "my-select__arrowdown",
|
|
77
|
-
component: _KeyboardArrowDown.default,
|
|
78
|
-
fontSize: "small"
|
|
79
|
-
})]
|
|
80
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Popper, {
|
|
81
|
-
open: open,
|
|
82
|
-
anchorEl: anchorRef.current,
|
|
83
|
-
transition: true,
|
|
84
|
-
style: {
|
|
85
|
-
zIndex: '9999'
|
|
86
|
-
},
|
|
87
|
-
children: _ref2 => {
|
|
88
|
-
let {
|
|
89
|
-
TransitionProps,
|
|
90
|
-
placement
|
|
91
|
-
} = _ref2;
|
|
92
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grow, _objectSpread(_objectSpread({}, TransitionProps), {}, {
|
|
93
|
-
style: {
|
|
94
|
-
transformOrigin: placement === 'bottom' ? 'center top' : 'center bottom'
|
|
95
|
-
},
|
|
96
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {
|
|
97
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ClickAwayListener, {
|
|
98
|
-
onClickAway: closeMenu,
|
|
99
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMenuList, {
|
|
100
|
-
autoFocusItem: open,
|
|
101
|
-
onMouseEnter: openMenu,
|
|
102
|
-
onMouseLeave: closeMenu,
|
|
103
|
-
children: [prepend, options.map(option => {
|
|
104
|
-
if (itemRender) {
|
|
105
|
-
return itemRender(option);
|
|
106
|
-
}
|
|
107
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
|
|
108
|
-
onClick: () => toggle(option),
|
|
109
|
-
className: ['my-select__option', containsValue(option.value) ? 'my-select__option--active' : ''].join(' '),
|
|
110
|
-
children: option.name
|
|
111
|
-
}, option.value);
|
|
112
|
-
})]
|
|
113
|
-
})
|
|
114
|
-
})
|
|
115
|
-
})
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
})]
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
CustomSelect.propTypes = {
|
|
122
|
-
options: _propTypes.default.array.isRequired,
|
|
123
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array]),
|
|
124
|
-
onChange: _propTypes.default.func,
|
|
125
|
-
itemRender: _propTypes.default.func,
|
|
126
|
-
title: _propTypes.default.string.isRequired,
|
|
127
|
-
icon: _propTypes.default.any,
|
|
128
|
-
prepend: _propTypes.default.any
|
|
129
|
-
};
|
|
130
|
-
CustomSelect.defaultProps = {
|
|
131
|
-
value: null,
|
|
132
|
-
icon: null,
|
|
133
|
-
prepend: null,
|
|
134
|
-
itemRender: null,
|
|
135
|
-
onChange: () => {}
|
|
136
|
-
};
|
|
137
|
-
const StyledButton = (0, _Theme.styled)(_button.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border: 1px solid #f0f0f0;\n padding: 6px 8px 6px 12px;\n font-weight: ", ";\n font-size: 16px;\n color: #666;\n line-height: 1;\n text-transform: none;\n min-width: 100px;\n & + & {\n margin-left: 10px;\n }\n &.my-select__selector--active {\n &,\n .my-select__arrowdown,\n .my-select__icon svg {\n color: ", ";\n }\n }\n .my-select__arrowdown {\n color: #999;\n font-size: 16px;\n margin-left: 6px;\n }\n .my-select__icon {\n font-size: 0;\n svg {\n color: #999;\n font-size: 18px;\n margin-right: 3px;\n }\n }\n"])), props => props.theme.typography.fontWeightBold, props => props.theme.palette.primary.main);
|
|
138
|
-
const StyledMenuList = (0, _Theme.styled)(_material.MenuList)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .my-select__option__icon {\n color: transparent;\n font-size: 16px;\n margin: 0 3px 0 -5px;\n }\n .my-select__option {\n font-size: 16px;\n color: #999;\n }\n .my-select__option--active {\n &,\n .my-select__option__icon {\n color: ", ";\n }\n }\n"])), props => props.theme.palette.primary.main);
|
|
139
|
-
var _default = exports.default = CustomSelect;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _customSelect = _interopRequireDefault(require("./custom-select"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
var _default = exports.default = _customSelect.default;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
-
var _Theme = require("@arcblock/ux/lib/Theme");
|
|
9
|
-
var _material = require("@mui/material");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
const _excluded = ["label", "icon", "onDelete"];
|
|
12
|
-
var _templateObject; // import styled from '@emotion/styled';
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
-
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; }
|
|
20
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
21
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
22
|
-
const StyleDiv = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .MuiChip-root {\n border-radius: 4px;\n height: initial;\n text-transform: capitalize;\n margin-right: ", ";\n padding: 4px 0;\n }\n"])), props => props.theme.spacing(2));
|
|
23
|
-
function FilterChip(_ref) {
|
|
24
|
-
let {
|
|
25
|
-
label,
|
|
26
|
-
icon,
|
|
27
|
-
onDelete
|
|
28
|
-
} = _ref,
|
|
29
|
-
containerProps = _objectWithoutProperties(_ref, _excluded);
|
|
30
|
-
if (!label) return null;
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyleDiv, _objectSpread(_objectSpread({}, containerProps), {}, {
|
|
32
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
|
|
33
|
-
color: "primary",
|
|
34
|
-
"data-cy": "filter-tag",
|
|
35
|
-
icon: icon,
|
|
36
|
-
label: label,
|
|
37
|
-
onDelete: onDelete
|
|
38
|
-
})
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
FilterChip.propTypes = {
|
|
42
|
-
label: _propTypes.default.string,
|
|
43
|
-
onDelete: _propTypes.default.func,
|
|
44
|
-
icon: _propTypes.default.element
|
|
45
|
-
};
|
|
46
|
-
FilterChip.defaultProps = {
|
|
47
|
-
onDelete: null,
|
|
48
|
-
icon: null,
|
|
49
|
-
label: null
|
|
50
|
-
};
|
|
51
|
-
var _default = exports.default = FilterChip;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
-
var _Theme = require("@arcblock/ux/lib/Theme");
|
|
9
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
var _templateObject; // import styled from '@emotion/styled';
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
13
|
-
function FilterGroup(_ref) {
|
|
14
|
-
let {
|
|
15
|
-
options,
|
|
16
|
-
onChange,
|
|
17
|
-
title,
|
|
18
|
-
value
|
|
19
|
-
} = _ref;
|
|
20
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDiv, {
|
|
21
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
22
|
-
className: "title",
|
|
23
|
-
children: title
|
|
24
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
25
|
-
className: "list",
|
|
26
|
-
children: options.map(item => {
|
|
27
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
28
|
-
title: item.name,
|
|
29
|
-
"data-cy": "filter",
|
|
30
|
-
className: value === item.value ? 'select item' : 'item',
|
|
31
|
-
onClick: () => onChange(item.value),
|
|
32
|
-
children: item.name
|
|
33
|
-
}, item.value);
|
|
34
|
-
})
|
|
35
|
-
})]
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
const StyledDiv = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .title {\n font-size: 18px;\n font-weight: bold;\n margin-bottom: ", ";\n }\n .list {\n }\n .item {\n font-size: 16px;\n padding: ", ";\n color: #9397a1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-transform: capitalize;\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: initial;\n font-weight: bold;\n }\n }\n .select {\n color: ", ";\n font-weight: bold;\n }\n"])), props => props.theme.spacing(1), props => props.theme.spacing(1), props => props.theme.palette.grey[50], props => props.theme.palette.primary.main);
|
|
39
|
-
FilterGroup.propTypes = {
|
|
40
|
-
title: _propTypes.default.string.isRequired,
|
|
41
|
-
options: _propTypes.default.array.isRequired,
|
|
42
|
-
onChange: _propTypes.default.func.isRequired,
|
|
43
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
|
|
44
|
-
};
|
|
45
|
-
FilterGroup.defaultProps = {
|
|
46
|
-
value: null
|
|
47
|
-
};
|
|
48
|
-
var _default = exports.default = FilterGroup;
|
|
@@ -1,78 +0,0 @@
|
|
|
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 _Theme = require("@arcblock/ux/lib/Theme");
|
|
9
|
-
var _FilterAltOutlined = _interopRequireDefault(require("@mui/icons-material/FilterAltOutlined"));
|
|
10
|
-
var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
|
|
11
|
-
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
12
|
-
var _filter = require("../../contexts/filter");
|
|
13
|
-
var _group = _interopRequireDefault(require("./group"));
|
|
14
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
var _templateObject; // import styled from '@emotion/styled';
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
18
|
-
function FilterIcon() {
|
|
19
|
-
const {
|
|
20
|
-
selectedCategory,
|
|
21
|
-
handleCategory,
|
|
22
|
-
t,
|
|
23
|
-
handlePrice,
|
|
24
|
-
filters,
|
|
25
|
-
categoryOptions,
|
|
26
|
-
priceOptions
|
|
27
|
-
} = (0, _filter.useFilterContext)();
|
|
28
|
-
const [open, setOpen] = (0, _react.useState)(false);
|
|
29
|
-
const handelChange = (type, value) => {
|
|
30
|
-
if (type === 'category') {
|
|
31
|
-
handleCategory(value);
|
|
32
|
-
}
|
|
33
|
-
if (type === 'price') {
|
|
34
|
-
handlePrice(value);
|
|
35
|
-
}
|
|
36
|
-
setOpen(false);
|
|
37
|
-
};
|
|
38
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDiv, {
|
|
39
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
40
|
-
variant: "outlined",
|
|
41
|
-
className: "filter-button",
|
|
42
|
-
onClick: () => setOpen(true),
|
|
43
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FilterAltOutlined.default, {
|
|
44
|
-
className: "filter-icon",
|
|
45
|
-
fontSize: "small"
|
|
46
|
-
})
|
|
47
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {
|
|
48
|
-
fullWidth: true,
|
|
49
|
-
title: "",
|
|
50
|
-
open: open,
|
|
51
|
-
onClose: () => setOpen(false),
|
|
52
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_group.default, {
|
|
53
|
-
title: t('common.price'),
|
|
54
|
-
options: priceOptions,
|
|
55
|
-
value: filters.price,
|
|
56
|
-
onChange: v => {
|
|
57
|
-
handelChange('price', v);
|
|
58
|
-
}
|
|
59
|
-
}), categoryOptions.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
60
|
-
style: {
|
|
61
|
-
marginTop: '16px'
|
|
62
|
-
},
|
|
63
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_group.default, {
|
|
64
|
-
title: t('common.category'),
|
|
65
|
-
options: categoryOptions,
|
|
66
|
-
value: selectedCategory,
|
|
67
|
-
onChange: v => {
|
|
68
|
-
handelChange('category', v);
|
|
69
|
-
}
|
|
70
|
-
})
|
|
71
|
-
})]
|
|
72
|
-
})]
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
const StyledDiv = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .filter-button {\n margin-right: 16px;\n border-color: rgb(240, 240, 240);\n padding: 5px 8px;\n min-width: initial;\n }\n .filter-icon {\n cursor: pointer;\n color: ", ";\n }\n"])), props => props.theme.palette.grey[500]);
|
|
76
|
-
FilterIcon.propTypes = {};
|
|
77
|
-
FilterIcon.defaultProps = {};
|
|
78
|
-
var _default = exports.default = FilterIcon;
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
var _icon = _interopRequireDefault(require("./icon"));
|
|
25
|
-
var _customChip = _interopRequireDefault(require("./custom-chip"));
|
|
26
|
-
var _group = _interopRequireDefault(require("./group"));
|
|
27
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _ahooks = require("ahooks");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
function calculateColumns(size) {
|
|
12
|
-
if (!size) {
|
|
13
|
-
return 0;
|
|
14
|
-
}
|
|
15
|
-
if (size.width > 900) {
|
|
16
|
-
return 12;
|
|
17
|
-
}
|
|
18
|
-
if (size.width > 600) {
|
|
19
|
-
return 8;
|
|
20
|
-
}
|
|
21
|
-
return 4;
|
|
22
|
-
}
|
|
23
|
-
function ColumnSizer(_ref) {
|
|
24
|
-
let {
|
|
25
|
-
children
|
|
26
|
-
} = _ref;
|
|
27
|
-
const refContainer = (0, _react.useRef)(null);
|
|
28
|
-
const [dom, setDom] = (0, _react.useState)(null);
|
|
29
|
-
const size = (0, _ahooks.useSize)(dom);
|
|
30
|
-
(0, _react.useEffect)(() => {
|
|
31
|
-
if (!dom) {
|
|
32
|
-
setDom(refContainer.current);
|
|
33
|
-
}
|
|
34
|
-
}, [dom]);
|
|
35
|
-
return children(refContainer, calculateColumns(size));
|
|
36
|
-
}
|
|
37
|
-
ColumnSizer.propTypes = {
|
|
38
|
-
children: _propTypes.default.func.isRequired
|
|
39
|
-
};
|
|
40
|
-
var _default = exports.default = ColumnSizer;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EmptyTitle = EmptyTitle;
|
|
7
|
-
exports.NoResults = NoResults;
|
|
8
|
-
exports.NoResultsTips = NoResultsTips;
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
11
|
-
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
12
|
-
var _filter = require("../../contexts/filter");
|
|
13
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
function NoResults() {
|
|
16
|
-
const {
|
|
17
|
-
t
|
|
18
|
-
} = (0, _filter.useFilterContext)();
|
|
19
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
20
|
-
style: {
|
|
21
|
-
textAlign: 'center'
|
|
22
|
-
},
|
|
23
|
-
variant: "subtitle2",
|
|
24
|
-
children: t('blocklet.noResults')
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
function NoResultsTips(_ref) {
|
|
28
|
-
let {
|
|
29
|
-
filterTip,
|
|
30
|
-
keywordTip
|
|
31
|
-
} = _ref;
|
|
32
|
-
const {
|
|
33
|
-
t,
|
|
34
|
-
locale
|
|
35
|
-
} = (0, _filter.useFilterContext)();
|
|
36
|
-
const getSplit = () => {
|
|
37
|
-
if (locale === 'zh') return '、';
|
|
38
|
-
return ' , ';
|
|
39
|
-
};
|
|
40
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
41
|
-
className: "tips",
|
|
42
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
43
|
-
style: {
|
|
44
|
-
marginRight: '16px'
|
|
45
|
-
},
|
|
46
|
-
children: t('blocklet.emptyTip')
|
|
47
|
-
}), filterTip && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
48
|
-
children: t('blocklet.filterTip')
|
|
49
|
-
}), filterTip && keywordTip && getSplit(), keywordTip && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
50
|
-
children: t('blocklet.keywordTip')
|
|
51
|
-
})]
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
NoResultsTips.propTypes = {
|
|
55
|
-
filterTip: _propTypes.default.bool,
|
|
56
|
-
keywordTip: _propTypes.default.bool
|
|
57
|
-
};
|
|
58
|
-
NoResultsTips.defaultProps = {
|
|
59
|
-
filterTip: false,
|
|
60
|
-
keywordTip: false
|
|
61
|
-
};
|
|
62
|
-
function EmptyTitle(_ref2) {
|
|
63
|
-
let {
|
|
64
|
-
primaryStart,
|
|
65
|
-
primaryEnd,
|
|
66
|
-
filter
|
|
67
|
-
} = _ref2;
|
|
68
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
|
|
69
|
-
variant: "subtitle2",
|
|
70
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
71
|
-
children: primaryStart
|
|
72
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
73
|
-
className: "primary",
|
|
74
|
-
children: [" ", filter, " "]
|
|
75
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
76
|
-
children: [primaryEnd, " "]
|
|
77
|
-
})]
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
EmptyTitle.propTypes = {
|
|
81
|
-
primaryStart: _propTypes.default.string.isRequired,
|
|
82
|
-
primaryEnd: _propTypes.default.string.isRequired,
|
|
83
|
-
filter: _propTypes.default.string.isRequired
|
|
84
|
-
};
|