@rainbow-oh/yee-c 0.8.10 → 0.8.12

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.
@@ -1,6 +1,8 @@
1
+ type FilterValue = string | number;
2
+ type FilterInput = FilterValue | FilterValue[];
1
3
  type FilterOptions = {
2
4
  dataIndex: string;
3
- value: string;
5
+ value: FilterInput;
4
6
  };
5
7
  export default function useFilter({ data, }: {
6
8
  data: Array<Record<string, unknown>>;
@@ -40,13 +40,15 @@ __export(useFilter_exports, {
40
40
  });
41
41
  module.exports = __toCommonJS(useFilter_exports);
42
42
  var import_react = require("react");
43
+ var isEmptyFilterValue = (value) => value === "" || Array.isArray(value) && value.length === 0;
44
+ var normalizeValue = (value) => value === null || value === void 0 ? "" : String(value).toLowerCase();
43
45
  function useFilter({
44
46
  data
45
47
  }) {
46
48
  const [filterRecords, setFilterRecords] = (0, import_react.useState)([]);
47
49
  const onFilter = ({ value, dataIndex }) => {
48
50
  let newFilterMap = [...filterRecords];
49
- if (!value || Array.isArray(value) && !value.length) {
51
+ if (isEmptyFilterValue(value)) {
50
52
  newFilterMap = newFilterMap.filter(
51
53
  (item) => item.dataIndex !== dataIndex
52
54
  );
@@ -67,23 +69,20 @@ function useFilter({
67
69
  };
68
70
  const filtered = (0, import_react.useMemo)(() => {
69
71
  const handled = filterRecords.filter(
70
- (item) => item.dataIndex && item.value
72
+ ({ dataIndex, value }) => Boolean(dataIndex) && !isEmptyFilterValue(value)
71
73
  );
72
74
  if (!handled.length) {
73
75
  return data;
74
76
  }
75
77
  return data.filter((item) => {
76
- return handled.find((o) => {
77
- if (Array.isArray(o.value)) {
78
- return o.value.some((v) => {
79
- const t = item[o.dataIndex] || "";
80
- return t.toLowerCase() === v.toLowerCase();
81
- });
82
- } else {
83
- const v = o.value.toLowerCase();
84
- const t = item[o.dataIndex] || "";
85
- return t.toLowerCase().includes(v);
78
+ return handled.some(({ dataIndex, value }) => {
79
+ const targetValue = normalizeValue(item[dataIndex]);
80
+ if (Array.isArray(value)) {
81
+ return value.some(
82
+ (filterValue) => targetValue === normalizeValue(filterValue)
83
+ );
86
84
  }
85
+ return targetValue.includes(normalizeValue(value));
87
86
  });
88
87
  });
89
88
  }, [data, filterRecords]);
@@ -72,14 +72,13 @@
72
72
  }
73
73
 
74
74
  &-filter {
75
+ max-height: var(--yee-table-filter-popup-height);
76
+ background-color: var(--yee-table-filter-list-bg-color);
77
+
75
78
  &-trigger {
76
79
  display: inline-flex;
77
80
  cursor: pointer;
78
81
  }
79
-
80
- &-popup {
81
- background-color: var(--yee-table-filter-list-bg-color);
82
- }
83
82
  }
84
83
 
85
84
  &-content {
@@ -172,7 +172,7 @@ var HeaderFilter = import_react.default.memo((props) => {
172
172
  {
173
173
  trigger: "click",
174
174
  placement: "bottomRight",
175
- popupClassName: (0, import_clsx.default)(`${prefixCls}-filter`),
175
+ className: `${prefixCls}-filter`,
176
176
  content: popup,
177
177
  arrow: true,
178
178
  open,
@@ -403,6 +403,7 @@
403
403
  --yee-popover-header-line-height: 24px;
404
404
  --yee-popover-arrow-width: var(--yee-popup-arrow-width);
405
405
  --yee-popover-arrow-height: var(--yee-popup-arrow-height);
406
+ --yee-table-filter-popup-height: 400px;
406
407
 
407
408
  /* --Progress-- */
408
409
  --yee-progress-text-width: 48px;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-29T03:01:41.288Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.blue.css ========== */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-29T03:01:41.288Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -1525,6 +1525,7 @@
1525
1525
  --yee-popover-header-line-height: 24px;
1526
1526
  --yee-popover-arrow-width: var(--yee-popup-arrow-width);
1527
1527
  --yee-popover-arrow-height: var(--yee-popup-arrow-height);
1528
+ --yee-table-filter-popup-height: 400px;
1528
1529
 
1529
1530
  /* --Progress-- */
1530
1531
  --yee-progress-text-width: 48px;
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.8.10";
6
+ export declare const version = "0.8.12";
@@ -22,7 +22,7 @@ __export(version_exports, {
22
22
  version: () => version
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- var version = "0.8.10";
25
+ var version = "0.8.12";
26
26
  if (typeof window !== "undefined") {
27
27
  window.__yee_c_version__ = version;
28
28
  }
@@ -1,6 +1,8 @@
1
+ type FilterValue = string | number;
2
+ type FilterInput = FilterValue | FilterValue[];
1
3
  type FilterOptions = {
2
4
  dataIndex: string;
3
- value: string;
5
+ value: FilterInput;
4
6
  };
5
7
  export default function useFilter({ data, }: {
6
8
  data: Array<Record<string, unknown>>;
@@ -15,6 +15,12 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
15
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
17
  import { useMemo, useState } from 'react';
18
+ var isEmptyFilterValue = function isEmptyFilterValue(value) {
19
+ return value === '' || Array.isArray(value) && value.length === 0;
20
+ };
21
+ var normalizeValue = function normalizeValue(value) {
22
+ return value === null || value === undefined ? '' : String(value).toLowerCase();
23
+ };
18
24
  export default function useFilter(_ref) {
19
25
  var data = _ref.data;
20
26
  var _useState = useState([]),
@@ -25,7 +31,7 @@ export default function useFilter(_ref) {
25
31
  var value = _ref2.value,
26
32
  dataIndex = _ref2.dataIndex;
27
33
  var newFilterMap = _toConsumableArray(filterRecords);
28
- if (!value || Array.isArray(value) && !value.length) {
34
+ if (isEmptyFilterValue(value)) {
29
35
  newFilterMap = newFilterMap.filter(function (item) {
30
36
  return item.dataIndex !== dataIndex;
31
37
  });
@@ -50,24 +56,25 @@ export default function useFilter(_ref) {
50
56
  setFilterRecords(newFilterMap);
51
57
  };
52
58
  var filtered = useMemo(function () {
53
- var handled = filterRecords.filter(function (item) {
54
- return item.dataIndex && item.value;
59
+ var handled = filterRecords.filter(function (_ref3) {
60
+ var dataIndex = _ref3.dataIndex,
61
+ value = _ref3.value;
62
+ return Boolean(dataIndex) && !isEmptyFilterValue(value);
55
63
  });
56
64
  if (!handled.length) {
57
65
  return data;
58
66
  }
59
67
  return data.filter(function (item) {
60
- return handled.find(function (o) {
61
- if (Array.isArray(o.value)) {
62
- return o.value.some(function (v) {
63
- var t = item[o.dataIndex] || '';
64
- return t.toLowerCase() === v.toLowerCase();
68
+ return handled.some(function (_ref4) {
69
+ var dataIndex = _ref4.dataIndex,
70
+ value = _ref4.value;
71
+ var targetValue = normalizeValue(item[dataIndex]);
72
+ if (Array.isArray(value)) {
73
+ return value.some(function (filterValue) {
74
+ return targetValue === normalizeValue(filterValue);
65
75
  });
66
- } else {
67
- var v = o.value.toLowerCase();
68
- var t = item[o.dataIndex] || '';
69
- return t.toLowerCase().includes(v);
70
76
  }
77
+ return targetValue.includes(normalizeValue(value));
71
78
  });
72
79
  });
73
80
  }, [data, filterRecords]);
@@ -72,14 +72,13 @@
72
72
  }
73
73
 
74
74
  &-filter {
75
+ max-height: var(--yee-table-filter-popup-height);
76
+ background-color: var(--yee-table-filter-list-bg-color);
77
+
75
78
  &-trigger {
76
79
  display: inline-flex;
77
80
  cursor: pointer;
78
81
  }
79
-
80
- &-popup {
81
- background-color: var(--yee-table-filter-list-bg-color);
82
- }
83
82
  }
84
83
 
85
84
  &-content {
@@ -199,7 +199,7 @@ var HeaderFilter = /*#__PURE__*/React.memo(function (props) {
199
199
  return /*#__PURE__*/React.createElement(Popover, {
200
200
  trigger: "click",
201
201
  placement: "bottomRight",
202
- popupClassName: clsx("".concat(prefixCls, "-filter")),
202
+ className: "".concat(prefixCls, "-filter"),
203
203
  content: popup,
204
204
  arrow: true,
205
205
  open: open,
@@ -403,6 +403,7 @@
403
403
  --yee-popover-header-line-height: 24px;
404
404
  --yee-popover-arrow-width: var(--yee-popup-arrow-width);
405
405
  --yee-popover-arrow-height: var(--yee-popup-arrow-height);
406
+ --yee-table-filter-popup-height: 400px;
406
407
 
407
408
  /* --Progress-- */
408
409
  --yee-progress-text-width: 48px;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-29T03:01:41.288Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.blue.css ========== */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-29T03:01:41.288Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -1525,6 +1525,7 @@
1525
1525
  --yee-popover-header-line-height: 24px;
1526
1526
  --yee-popover-arrow-width: var(--yee-popup-arrow-width);
1527
1527
  --yee-popover-arrow-height: var(--yee-popup-arrow-height);
1528
+ --yee-table-filter-popup-height: 400px;
1528
1529
 
1529
1530
  /* --Progress-- */
1530
1531
  --yee-progress-text-width: 48px;
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.8.10";
6
+ export declare const version = "0.8.12";
@@ -1,4 +1,4 @@
1
- export var version = "0.8.10";
1
+ export var version = "0.8.12";
2
2
  if (typeof window !== 'undefined') {
3
3
  window.__yee_c_version__ = version;
4
4
  }