@rainbow-oh/yee-c 0.8.11 → 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]);
@@ -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:43:59.991Z
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:43:59.991Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.8.11";
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.11";
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]);
@@ -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:43:59.991Z
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:43:59.991Z
4
+ * Generated on 2026-07-29T04:29:09.688Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.8.11";
6
+ export declare const version = "0.8.12";
@@ -1,4 +1,4 @@
1
- export var version = "0.8.11";
1
+ export var version = "0.8.12";
2
2
  if (typeof window !== 'undefined') {
3
3
  window.__yee_c_version__ = version;
4
4
  }