linkmore-design 1.0.53 → 1.0.54

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.
Files changed (165) hide show
  1. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  2. package/dist/{Notification → Alert}/demos/basic.d.ts +0 -0
  3. package/dist/{Notification/demos/button.d.ts → Alert/demos/visible.d.ts} +0 -0
  4. package/dist/Alert/index.d.ts +41 -0
  5. package/dist/{Notification → Alert}/style/index.d.ts +0 -0
  6. package/dist/CardTable/fns/index.d.ts +7 -3
  7. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  8. package/dist/CardTable/pager/index.d.ts +3 -0
  9. package/dist/LmFilter/LmFilter.d.ts +3 -0
  10. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  11. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  12. package/dist/LmFilter/complexFilter/index.d.ts +2 -0
  13. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  14. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  15. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  16. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  17. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  18. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  19. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  20. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  21. package/dist/LmFilter/components/fuzzySearch.d.ts +4 -0
  22. package/dist/LmFilter/components/index.d.ts +3 -0
  23. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  24. package/dist/LmFilter/demos/basic.d.ts +2 -0
  25. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  26. package/dist/LmFilter/hooks/index.d.ts +1 -0
  27. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  28. package/dist/LmFilter/index.d.ts +2 -0
  29. package/dist/LmFilter/style/index.d.ts +1 -0
  30. package/dist/LmFilter/utils.d.ts +8 -0
  31. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  32. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  33. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  34. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  35. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  36. package/dist/_util/reactNode.d.ts +7 -0
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.umd.js +3665 -3297
  39. package/dist/index.umd.min.js +6 -6
  40. package/dist/{Notification/demos/icon.d.ts → notification/demos/basic.d.ts} +0 -0
  41. package/dist/notification/demos/button.d.ts +2 -0
  42. package/dist/notification/demos/icon.d.ts +2 -0
  43. package/dist/notification/hooks/useNotification.d.ts +7 -0
  44. package/dist/notification/index.d.ts +54 -0
  45. package/dist/notification/style/index.d.ts +1 -0
  46. package/es/Alert/ErrorBoundary.d.ts +22 -0
  47. package/es/Alert/ErrorBoundary.js +65 -0
  48. package/es/Alert/index.d.ts +41 -0
  49. package/es/Alert/index.js +192 -0
  50. package/es/{Notification → Alert}/style/index.css +25 -2
  51. package/es/{Notification → Alert}/style/index.d.ts +0 -0
  52. package/es/{Notification → Alert}/style/index.js +0 -0
  53. package/es/CardTable/card/PictureTextColumn.js +8 -6
  54. package/es/CardTable/card/PictureTextRow.js +1 -1
  55. package/es/CardTable/fns/index.js +38 -9
  56. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  57. package/es/CardTable/pager/index.js +48 -0
  58. package/es/CardTable/style/index.css +2 -2
  59. package/es/CardTable/table/TableRoot.js +20 -18
  60. package/es/CardTable/table/TableWrapper.js +4 -0
  61. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  62. package/es/LmFilter/LmFilter.js +27 -0
  63. package/es/LmFilter/baseFilter/index.js +34 -0
  64. package/es/LmFilter/clearFilter/index.js +33 -0
  65. package/es/LmFilter/complexFilter/index.js +17 -0
  66. package/es/LmFilter/components/CascaderFilter.js +183 -0
  67. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  68. package/es/LmFilter/components/DateFilter.js +147 -0
  69. package/es/LmFilter/components/DropdownFIlter.js +162 -0
  70. package/es/LmFilter/components/EmptyFilter.js +27 -0
  71. package/es/LmFilter/components/InputFilter.js +52 -0
  72. package/es/LmFilter/components/InputSearchClose.js +74 -0
  73. package/es/LmFilter/components/SelectFilter.js +113 -0
  74. package/es/LmFilter/components/fuzzySearch.js +37 -0
  75. package/es/LmFilter/components/index.js +97 -0
  76. package/es/LmFilter/customFilter/index.js +17 -0
  77. package/es/LmFilter/filterFns/index.js +54 -0
  78. package/es/LmFilter/hooks/index.js +18 -0
  79. package/es/LmFilter/hooks/useDelayedFn.js +27 -0
  80. package/es/LmFilter/icon_placeholder.png +0 -0
  81. package/es/LmFilter/index.js +16 -0
  82. package/es/LmFilter/style/index.js +3 -0
  83. package/es/LmFilter/style/style.css +189 -0
  84. package/es/LmFilter/utils.js +55 -0
  85. package/es/LmFilter/wrapper/Filter.js +33 -0
  86. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  87. package/es/LmFilter/wrapper/FilterRoot.js +114 -0
  88. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  89. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  90. package/es/_util/getDataOrAriaProps.js +9 -0
  91. package/es/_util/reactNode.d.ts +7 -0
  92. package/es/_util/reactNode.js +10 -0
  93. package/es/index.d.ts +1 -1
  94. package/es/index.js +1 -1
  95. package/es/message/style/index.css +1 -0
  96. package/es/notification/hooks/useNotification.d.ts +7 -0
  97. package/es/notification/hooks/useNotification.js +54 -0
  98. package/es/notification/index.d.ts +54 -0
  99. package/es/notification/index.js +342 -0
  100. package/es/notification/style/index.css +546 -0
  101. package/{lib/Notification → es/notification}/style/index.d.ts +0 -0
  102. package/es/notification/style/index.js +1 -0
  103. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  104. package/lib/Alert/ErrorBoundary.js +79 -0
  105. package/lib/Alert/index.d.ts +41 -0
  106. package/lib/Alert/index.js +215 -0
  107. package/lib/{Notification → Alert}/style/index.css +25 -2
  108. package/lib/Alert/style/index.d.ts +1 -0
  109. package/lib/{Notification → Alert}/style/index.js +0 -0
  110. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  111. package/lib/CardTable/card/PictureTextRow.js +1 -1
  112. package/lib/CardTable/fns/index.js +38 -9
  113. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  114. package/lib/CardTable/pager/index.js +48 -0
  115. package/lib/CardTable/style/index.css +2 -2
  116. package/lib/CardTable/table/TableRoot.js +20 -18
  117. package/lib/CardTable/table/TableWrapper.js +4 -0
  118. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  119. package/lib/LmFilter/LmFilter.js +27 -0
  120. package/lib/LmFilter/baseFilter/index.js +34 -0
  121. package/lib/LmFilter/clearFilter/index.js +33 -0
  122. package/lib/LmFilter/complexFilter/index.js +17 -0
  123. package/lib/LmFilter/components/CascaderFilter.js +183 -0
  124. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  125. package/lib/LmFilter/components/DateFilter.js +147 -0
  126. package/lib/LmFilter/components/DropdownFIlter.js +162 -0
  127. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  128. package/lib/LmFilter/components/InputFilter.js +52 -0
  129. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  130. package/lib/LmFilter/components/SelectFilter.js +113 -0
  131. package/lib/LmFilter/components/fuzzySearch.js +37 -0
  132. package/lib/LmFilter/components/index.js +97 -0
  133. package/lib/LmFilter/customFilter/index.js +17 -0
  134. package/lib/LmFilter/filterFns/index.js +54 -0
  135. package/lib/LmFilter/hooks/index.js +18 -0
  136. package/lib/LmFilter/hooks/useDelayedFn.js +27 -0
  137. package/lib/LmFilter/icon_placeholder.png +0 -0
  138. package/lib/LmFilter/index.js +16 -0
  139. package/lib/LmFilter/style/index.js +3 -0
  140. package/lib/LmFilter/style/style.css +189 -0
  141. package/lib/LmFilter/utils.js +55 -0
  142. package/lib/LmFilter/wrapper/Filter.js +33 -0
  143. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  144. package/lib/LmFilter/wrapper/FilterRoot.js +114 -0
  145. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  146. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  147. package/lib/_util/getDataOrAriaProps.js +16 -0
  148. package/lib/_util/reactNode.d.ts +7 -0
  149. package/lib/_util/reactNode.js +24 -0
  150. package/lib/index.d.ts +1 -1
  151. package/lib/index.js +2 -2
  152. package/lib/message/style/index.css +1 -0
  153. package/lib/notification/hooks/useNotification.d.ts +7 -0
  154. package/lib/notification/hooks/useNotification.js +69 -0
  155. package/lib/notification/index.d.ts +54 -0
  156. package/lib/notification/index.js +365 -0
  157. package/lib/notification/style/index.css +546 -0
  158. package/lib/notification/style/index.d.ts +1 -0
  159. package/lib/notification/style/index.js +3 -0
  160. package/package.json +1 -1
  161. package/dist/Notification/index.d.ts +0 -7
  162. package/es/Notification/index.d.ts +0 -7
  163. package/es/Notification/index.js +0 -10
  164. package/lib/Notification/index.d.ts +0 -7
  165. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _DropdownFIlter = _interopRequireDefault(require("./DropdownFIlter"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var _excluded = ["instance", "item", "value", "onChange", "options"],
25
+ _excluded2 = ["getFilterValue", "setFilterValue"];
26
+
27
+ // 下拉筛选组件
28
+
29
+ /*
30
+ * 筛选组件使用时只传入 instance, item
31
+ * 其余参数皆为单独使用时传入
32
+ */
33
+ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
34
+ var instance = props.instance,
35
+ item = props.item,
36
+ value = props.value,
37
+ onChange = props.onChange,
38
+ options = props.options,
39
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
40
+ var getFilterValue = instance.getFilterValue,
41
+ _setFilterValue = instance.setFilterValue,
42
+ resetInstanceProps = (0, _objectWithoutProperties2.default)(instance, _excluded2); // 重组item值
43
+
44
+ var resetItem = (0, _react.useMemo)(function () {
45
+ var data = item.data;
46
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), resetProps), {}, {
47
+ data: data || options
48
+ });
49
+ }, [item, resetProps, options]); // 单独使用时的缓存数据(非受控模式) 默认值: [] || ''
50
+
51
+ var _useState = (0, _react.useState)(function () {
52
+ return (0, _utils.getValueForType)(resetItem.type);
53
+ }),
54
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
+ aliveValue = _useState2[0],
56
+ setAliveValue = _useState2[1]; // 单独使用时将值转换为行数据
57
+
58
+
59
+ var transformFilterValue = (0, _react.useMemo)(function () {
60
+ // 检查是否受控模式
61
+ var nValue = value || aliveValue;
62
+ var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
63
+
64
+ if (!Array.isArray((0, _utils.getValueForType)(resetItem.type))) {
65
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
66
+ return v.value === nValue;
67
+ })) || '';
68
+ } else {
69
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
70
+ return nValue.includes(v.value);
71
+ })) || [];
72
+ }
73
+ }, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
74
+
75
+ var handleChange = function handleChange(val) {
76
+ var nValue = Array.isArray(val) ? val.map(function (v) {
77
+ return v.value;
78
+ }) : val.value;
79
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
80
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
81
+ }; // 重组instance
82
+
83
+
84
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
85
+ filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
86
+ setFilterValue: function setFilterValue(val) {
87
+ return (_setFilterValue || handleChange)(val, resetItem.field);
88
+ }
89
+ });
90
+ return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
91
+ instance: resetInstance,
92
+ item: resetItem
93
+ });
94
+ });
95
+
96
+ var _default = FilterControl;
97
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var LmFilterCustom = function LmFilterCustom(e) {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterCustom");
14
+ };
15
+
16
+ var _default = LmFilterCustom;
17
+ exports.default = _default;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
+
12
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
14
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectDestructuringEmpty"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ // 核心参数集合
19
+ var CoreOptions = function CoreOptions(_ref) {
20
+ var state = _ref.state,
21
+ dispatch = _ref.dispatch,
22
+ props = _ref.props;
23
+ (0, _objectDestructuringEmpty2.default)(props); // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
24
+
25
+ var setFilterValue = function setFilterValue(item, field) {
26
+ var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
27
+
28
+ if (!(0, _utils.getIsHas)(item)) {
29
+ delete basicFilter[field];
30
+ }
31
+
32
+ ;
33
+ dispatch({
34
+ type: 'changeBasicFilter',
35
+ basicFilter: basicFilter
36
+ });
37
+ }; // 根据字段查找过滤的数据, 不存在时返回默认值
38
+
39
+
40
+ var getFilterValue = function getFilterValue(_ref2) {
41
+ var field = _ref2.field,
42
+ type = _ref2.type;
43
+ var defaultValue = (0, _utils.getValueForType)(type);
44
+ return state.basicFilter[field] || defaultValue;
45
+ };
46
+
47
+ return {
48
+ setFilterValue: setFilterValue,
49
+ getFilterValue: getFilterValue
50
+ };
51
+ };
52
+
53
+ var _default = CoreOptions;
54
+ exports.default = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _useDelayedFn = require("./useDelayedFn");
8
+
9
+ Object.keys(_useDelayedFn).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _useDelayedFn[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useDelayedFn[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDelayedFn = exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _lodash = require("lodash");
11
+
12
+ // 延迟/防抖加载函数, 默认延迟200ms
13
+ var useDelayedFn = function useDelayedFn() {
14
+ var wait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
15
+ var delayedQuery = (0, _react.useCallback)((0, _lodash.debounce)(function (fn) {
16
+ if (typeof fn === 'function') {
17
+ fn === null || fn === void 0 ? void 0 : fn();
18
+ } else {
19
+ fn;
20
+ }
21
+ }, wait), []);
22
+ return delayedQuery;
23
+ };
24
+
25
+ exports.useDelayedFn = useDelayedFn;
26
+ var _default = useDelayedFn;
27
+ exports.default = _default;
Binary file
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _LmFilter = _interopRequireDefault(require("./LmFilter"));
11
+
12
+ var _components = _interopRequireDefault(require("./components"));
13
+
14
+ _LmFilter.default.FilterControl = _components.default;
15
+ var _default = _LmFilter.default;
16
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ require("./style.css");
@@ -0,0 +1,189 @@
1
+ .lm_filter_wrapper .lm_filter_container,
2
+ .lm_filter_wrapper .lm_filter,
3
+ .lm_filter_wrapper .lm_filter_basic {
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ align-items: center;
7
+ gap: 8px;
8
+ font-size: 12px;
9
+ }
10
+ .lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_search {
11
+ max-width: 140px;
12
+ }
13
+ .lm_filter_basic_item {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ line-height: 1;
17
+ border-radius: 2px;
18
+ padding: 0 8px;
19
+ transition: 0.3s;
20
+ cursor: pointer;
21
+ height: 32px;
22
+ gap: 4px;
23
+ }
24
+ .lm_filter_basic_item.small {
25
+ height: 24px;
26
+ }
27
+ .lm_filter_basic_item:hover,
28
+ .lm_filter_basic_item.expand,
29
+ .lm_filter_basic_item.active {
30
+ background-color: var(--color-4);
31
+ }
32
+ .lm_filter_basic_item .filter_item_value {
33
+ color: var(--text-color);
34
+ transition: 0.3s;
35
+ }
36
+ .lm_filter_basic_item .filter_item_icon {
37
+ font-size: 14px;
38
+ color: var(--text-color);
39
+ transition: 0.3s;
40
+ }
41
+ .lm_filter_basic_item .filter_item_icon:hover {
42
+ color: var(--primary-color);
43
+ }
44
+ .lm_filter_basic_item.expand .filter_item_icon {
45
+ transform: rotateX(180deg);
46
+ }
47
+ .lm_filter_basic_item.active .filter_item_value {
48
+ color: var(--primary-color);
49
+ }
50
+ .lm_filter_basic_item.active .filter_item_icon {
51
+ transform: rotateX(180deg);
52
+ }
53
+ .ant-dropdown .filter_dropdown {
54
+ display: flex;
55
+ flex-flow: column;
56
+ box-shadow: 0 2px 6px var(--box-shadow-color);
57
+ background-color: #fff;
58
+ }
59
+ .ant-dropdown .filter_dropdown .filter_header {
60
+ min-height: 40px;
61
+ border-bottom: 1px solid #eee;
62
+ padding: 8px;
63
+ }
64
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate {
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: space-between;
68
+ }
69
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_header_operate_checked {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ }
73
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_reset {
74
+ font-size: 12px;
75
+ color: var(--primary-color);
76
+ cursor: pointer;
77
+ }
78
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_tip {
79
+ font-size: 12px;
80
+ color: var(--text-color);
81
+ }
82
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-group {
83
+ line-height: 1;
84
+ }
85
+ .ant-dropdown .filter_dropdown .filter_header input {
86
+ font-size: 12px;
87
+ }
88
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-search + .filter_header_operate {
89
+ margin-top: 8px;
90
+ }
91
+ .ant-dropdown .filter_dropdown .filter_body {
92
+ width: 100%;
93
+ }
94
+ .ant-dropdown .filter_dropdown .filter_body .virtual_list {
95
+ min-width: 168px;
96
+ max-height: 224px;
97
+ overflow: auto;
98
+ }
99
+ .ant-dropdown .filter_dropdown .filter_body .filter_item {
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: space-between;
103
+ font-size: 12px;
104
+ height: 32px;
105
+ min-width: 120px;
106
+ padding: 0 8px;
107
+ transition: 0.3s;
108
+ white-space: nowrap;
109
+ cursor: pointer;
110
+ gap: 8px;
111
+ }
112
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.add_more {
113
+ border-top: 1px solid var(--stripe-color);
114
+ }
115
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_content {
116
+ flex: auto;
117
+ }
118
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_operate .hover_show {
119
+ font-size: 16px;
120
+ color: var(--primary-color);
121
+ transition: 0.3s;
122
+ opacity: 0;
123
+ }
124
+ .ant-dropdown .filter_dropdown .filter_body .filter_item[disabled] {
125
+ display: none;
126
+ }
127
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.checked {
128
+ background-color: var(--primary-select-color);
129
+ }
130
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover {
131
+ background-color: var(--stripe-color);
132
+ }
133
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover .filter_item_operate .icon_top {
134
+ opacity: 1;
135
+ }
136
+ .ant-dropdown .filter_dropdown .filter_footer {
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: space-between;
140
+ font-size: 12px;
141
+ min-height: 32px;
142
+ padding: 6px 8px;
143
+ border-top: 1px solid #eee;
144
+ letter-spacing: 1px;
145
+ }
146
+ .ant-dropdown .filter_dropdown .filter_footer button {
147
+ font-size: 12px;
148
+ padding: 0 8px;
149
+ }
150
+ .ant-dropdown .filter_dropdown .filter_footer .footer_save {
151
+ color: var(--primary-color);
152
+ cursor: pointer;
153
+ transition: 0.3s;
154
+ }
155
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear {
156
+ color: var(--text-color);
157
+ cursor: pointer;
158
+ transition: 0.3s;
159
+ }
160
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear:hover {
161
+ color: var(--font-color);
162
+ }
163
+ .ant-dropdown .filter_dropdown .filter_empty {
164
+ display: flex;
165
+ flex-flow: column;
166
+ align-items: center;
167
+ justify-content: center;
168
+ font-size: 12px;
169
+ min-height: 40px;
170
+ color: #666;
171
+ padding: 16px 8px;
172
+ margin: auto;
173
+ gap: 4px;
174
+ }
175
+ .ant-dropdown .filter_dropdown .filter_empty .filter_empty_text {
176
+ display: inline-flex;
177
+ align-items: center;
178
+ justify-content: center;
179
+ min-height: 20px;
180
+ color: var(--font-color);
181
+ }
182
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper {
183
+ flex: 1;
184
+ font-size: 12px;
185
+ align-items: center;
186
+ }
187
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper .ant-checkbox {
188
+ top: initial;
189
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getIsHas = getIsHas;
9
+ exports.getRanges = getRanges;
10
+ exports.getValueForType = getValueForType;
11
+ exports.uniqueFunc = uniqueFunc;
12
+
13
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
14
+
15
+ var _dayjs = _interopRequireDefault(require("dayjs"));
16
+
17
+ // 检查是否存在内容
18
+ function getIsHas(val) {
19
+ // 检查是否数字类型, 是否布尔类型
20
+ var flag = !!val || typeof val === 'number' || typeof val === 'boolean'; // 检查空对象和空数组
21
+
22
+ if (!!val && (0, _typeof2.default)(val) === 'object') {
23
+ var _Object$keys;
24
+
25
+ flag = Array.isArray(val) ? !!val.length : !!((_Object$keys = Object.keys(val)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length);
26
+ }
27
+
28
+ return flag;
29
+ } // 根据类型返回对应的值
30
+
31
+
32
+ function getValueForType(type) {
33
+ if (['checkbox', 'cascader'].includes(type)) {
34
+ return [];
35
+ }
36
+
37
+ return '';
38
+ } // 数组对象去重
39
+
40
+
41
+ function uniqueFunc(arr, guid) {
42
+ var res = new Map();
43
+ return arr.filter(function (item) {
44
+ return !res.has(item[guid]) && res.set(item[guid], 1);
45
+ });
46
+ } // 获取最近的时间段
47
+
48
+
49
+ function getRanges() {
50
+ return {
51
+ '近一周': [(0, _dayjs.default)().subtract(7, 'day').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
52
+ '近一月': [(0, _dayjs.default)().subtract(1, 'month').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
53
+ '近一年': [(0, _dayjs.default)().subtract(1, 'year').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')]
54
+ };
55
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _baseFilter = _interopRequireDefault(require("../baseFilter"));
13
+
14
+ var _customFilter = _interopRequireDefault(require("../customFilter"));
15
+
16
+ var _complexFilter = _interopRequireDefault(require("../complexFilter"));
17
+
18
+ // 筛选组合
19
+ var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
20
+ var instance = _ref.instance;
21
+ return /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "lm_filter"
23
+ }, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
24
+ instance: instance
25
+ }), /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
26
+ instance: instance
27
+ }), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
28
+ instance: instance
29
+ }));
30
+ });
31
+
32
+ var _default = LmFilter;
33
+ exports.default = _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Filter = _interopRequireDefault(require("./Filter"));
13
+
14
+ var _clearFilter = _interopRequireDefault(require("../clearFilter"));
15
+
16
+ // 过滤组件主体区域
17
+ var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
18
+ var instance = _ref.instance;
19
+ return /*#__PURE__*/_react.default.createElement("div", {
20
+ className: "lm_filter_container"
21
+ }, /*#__PURE__*/_react.default.createElement(_Filter.default, {
22
+ instance: instance
23
+ }), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
24
+ instance: instance
25
+ }));
26
+ });
27
+
28
+ var _default = LmFilterContainer;
29
+ exports.default = _default;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _FilterWrapper = _interopRequireDefault(require("./FilterWrapper"));
21
+
22
+ var _filterFns = _interopRequireDefault(require("../filterFns"));
23
+
24
+ // 根文件 => 参数聚合
25
+ var reducer = function reducer(state, action) {
26
+ var basicFilter = action.basicFilter,
27
+ resize = action.resize,
28
+ rows = action.rows;
29
+
30
+ switch (action.type) {
31
+ case 'changeBasicFilter':
32
+ // 基础筛选数据改变
33
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
34
+ basicFilter: basicFilter
35
+ });
36
+
37
+ case 'changeRows':
38
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
39
+ rows: rows
40
+ });
41
+
42
+ case 'windowResize':
43
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
44
+ resize: resize
45
+ });
46
+
47
+ default:
48
+ throw new Error();
49
+ }
50
+ }; // 仅在初始化时触发一次
51
+
52
+
53
+ var getInitialState = function getInitialState(props) {
54
+ return {
55
+ basicFilter: {}
56
+ };
57
+ };
58
+
59
+ var LmFilterRoot = function LmFilterRoot(props, ref) {
60
+ var initialState = (0, _react.useMemo)(function () {
61
+ return getInitialState(props);
62
+ }, []);
63
+
64
+ var _useReducer = (0, _react.useReducer)(reducer, initialState),
65
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
66
+ state = _useReducer2[0],
67
+ dispatch = _useReducer2[1]; // 初始化配置
68
+
69
+
70
+ var configProps = (0, _react.useMemo)(function () {
71
+ var resetProps = (0, _extends2.default)({}, props);
72
+ return (0, _objectSpread2.default)({
73
+ dataSource: [],
74
+ // 数据源
75
+ enableSearch: true,
76
+ // 是否启用模糊查询
77
+ enableBaisc: true,
78
+ // 是否启用基础筛选
79
+ enableComplex: false,
80
+ // 是否启用高级筛选
81
+ enableCustom: false,
82
+ // 是否启用自定义筛选
83
+ size: 'middle',
84
+ // 尺寸
85
+ searchKey: 'search',
86
+ // 搜索的key值
87
+ placeholder: '请输入'
88
+ }, resetProps);
89
+ }, [props]); // 事件集合
90
+
91
+ var eventProps = (0, _react.useMemo)(function () {
92
+ return (0, _filterFns.default)({
93
+ state: state,
94
+ dispatch: dispatch,
95
+ props: props
96
+ });
97
+ }, [state, dispatch, props]); // 组件示例
98
+
99
+ var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, configProps), eventProps), {}, {
100
+ state: state,
101
+ dispatch: dispatch
102
+ }); // 向外暴露出的方法
103
+
104
+ (0, _react.useImperativeHandle)(ref, function () {
105
+ return (0, _objectSpread2.default)({}, eventProps);
106
+ });
107
+ return /*#__PURE__*/_react.default.createElement(_FilterWrapper.default, {
108
+ instance: instance
109
+ });
110
+ };
111
+
112
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(LmFilterRoot);
113
+
114
+ exports.default = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _FilterContainer = _interopRequireDefault(require("./FilterContainer"));
13
+
14
+ // 包裹过滤组件区域: 拓展其他结构
15
+ var LmFilterWrapper = /*#__PURE__*/_react.default.memo(function (_ref) {
16
+ var instance = _ref.instance;
17
+ return /*#__PURE__*/_react.default.createElement("div", {
18
+ className: "lm_filter_wrapper"
19
+ }, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
20
+ instance: instance
21
+ }));
22
+ });
23
+
24
+ var _default = LmFilterWrapper;
25
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ export default function getDataOrAriaProps(props: any): any;