@rainbow-oh/yee-c 0.6.3 → 0.7.0

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 (131) hide show
  1. package/dist/cjs/Button/style/index.less +5 -4
  2. package/dist/cjs/Checkbox/style/index.less +1 -1
  3. package/dist/cjs/Drawer/drawer.js +1 -1
  4. package/dist/cjs/Drawer/interface.d.ts +1 -1
  5. package/dist/cjs/Drawer/style/index.less +1 -0
  6. package/dist/cjs/List/demo/virtual.d.ts +3 -0
  7. package/dist/cjs/List/demo/virtual.js +53 -0
  8. package/dist/cjs/List/hooks/useListKeyboard.d.ts +28 -0
  9. package/dist/cjs/List/hooks/useListKeyboard.js +188 -0
  10. package/dist/cjs/List/interface.d.ts +29 -2
  11. package/dist/cjs/List/list.js +141 -21
  12. package/dist/cjs/List/style/index.less +24 -0
  13. package/dist/cjs/Select/demo/columns.d.ts +3 -0
  14. package/dist/cjs/Select/demo/columns.js +62 -0
  15. package/dist/cjs/Select/hooks/useSelectKeyboard.d.ts +13 -1
  16. package/dist/cjs/Select/hooks/useSelectKeyboard.js +81 -10
  17. package/dist/cjs/Select/interface.d.ts +30 -3
  18. package/dist/cjs/Select/option.js +4 -3
  19. package/dist/cjs/Select/options.js +90 -8
  20. package/dist/cjs/Select/select.js +32 -8
  21. package/dist/cjs/Select/style/index.less +14 -0
  22. package/dist/cjs/Selector/interface.d.ts +4 -0
  23. package/dist/cjs/Selector/selector.js +5 -3
  24. package/dist/cjs/Table/interface.d.ts +1 -1
  25. package/dist/cjs/Table/style/index.less +1 -1
  26. package/dist/cjs/Tree/demo/draggable.js +2 -0
  27. package/dist/cjs/Tree/interface.d.ts +46 -23
  28. package/dist/cjs/Tree/tree-node.d.ts +1 -1
  29. package/dist/cjs/Tree/tree-node.js +30 -23
  30. package/dist/cjs/Tree/tree.d.ts +13 -12
  31. package/dist/cjs/Tree/tree.js +452 -227
  32. package/dist/cjs/Tree/utils/tree-tools.d.ts +43 -10
  33. package/dist/cjs/Tree/utils/tree-tools.js +129 -91
  34. package/dist/cjs/locale/context.d.ts +5 -4
  35. package/dist/cjs/locale/context.js +15 -8
  36. package/dist/cjs/locale/interface.d.ts +20 -0
  37. package/dist/cjs/locale/util.d.ts +3 -3
  38. package/dist/cjs/style/color.css +1 -0
  39. package/dist/cjs/style/size.css +2 -1
  40. package/dist/cjs/style/themes.css +1 -1
  41. package/dist/cjs/style/variables.css +4 -2
  42. package/dist/cjs/utils/isEqual.d.ts +1 -1
  43. package/dist/cjs/utils/isEqual.js +24 -13
  44. package/dist/cjs/version.d.ts +1 -1
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/esm/Button/style/index.less +5 -4
  47. package/dist/esm/Checkbox/style/index.less +1 -1
  48. package/dist/esm/Drawer/drawer.js +2 -1
  49. package/dist/esm/Drawer/interface.d.ts +1 -1
  50. package/dist/esm/Drawer/style/index.less +1 -0
  51. package/dist/esm/List/demo/virtual.d.ts +3 -0
  52. package/dist/esm/List/demo/virtual.js +22 -0
  53. package/dist/esm/List/hooks/useListKeyboard.d.ts +28 -0
  54. package/dist/esm/List/hooks/useListKeyboard.js +173 -0
  55. package/dist/esm/List/interface.d.ts +29 -2
  56. package/dist/esm/List/list.js +171 -14
  57. package/dist/esm/List/style/index.less +24 -0
  58. package/dist/esm/Select/demo/columns.d.ts +3 -0
  59. package/dist/esm/Select/demo/columns.js +36 -0
  60. package/dist/esm/Select/hooks/useSelectKeyboard.d.ts +13 -1
  61. package/dist/esm/Select/hooks/useSelectKeyboard.js +91 -14
  62. package/dist/esm/Select/interface.d.ts +30 -3
  63. package/dist/esm/Select/option.js +6 -2
  64. package/dist/esm/Select/options.js +114 -32
  65. package/dist/esm/Select/select.js +40 -11
  66. package/dist/esm/Select/style/index.less +14 -0
  67. package/dist/esm/Selector/interface.d.ts +4 -0
  68. package/dist/esm/Selector/selector.js +10 -4
  69. package/dist/esm/Table/interface.d.ts +1 -1
  70. package/dist/esm/Table/style/index.less +1 -1
  71. package/dist/esm/Tree/demo/draggable.js +2 -0
  72. package/dist/esm/Tree/interface.d.ts +46 -23
  73. package/dist/esm/Tree/tree-node.d.ts +1 -1
  74. package/dist/esm/Tree/tree-node.js +26 -31
  75. package/dist/esm/Tree/tree.d.ts +13 -12
  76. package/dist/esm/Tree/tree.js +572 -163
  77. package/dist/esm/Tree/utils/tree-tools.d.ts +43 -10
  78. package/dist/esm/Tree/utils/tree-tools.js +219 -104
  79. package/dist/esm/locale/context.d.ts +5 -4
  80. package/dist/esm/locale/context.js +25 -9
  81. package/dist/esm/locale/interface.d.ts +20 -0
  82. package/dist/esm/locale/util.d.ts +3 -3
  83. package/dist/esm/style/color.css +1 -0
  84. package/dist/esm/style/size.css +2 -1
  85. package/dist/esm/style/themes.css +1 -1
  86. package/dist/esm/style/variables.css +4 -2
  87. package/dist/esm/utils/isEqual.d.ts +1 -1
  88. package/dist/esm/utils/isEqual.js +31 -15
  89. package/dist/esm/version.d.ts +1 -1
  90. package/dist/esm/version.js +1 -1
  91. package/dist/umd/yee-c.min.css +2 -2
  92. package/dist/umd/yee-c.min.js +1 -1
  93. package/package.json +1 -1
  94. package/src/Button/style/index.less +5 -4
  95. package/src/Checkbox/style/index.less +1 -1
  96. package/src/Drawer/drawer.tsx +1 -1
  97. package/src/Drawer/interface.ts +1 -0
  98. package/src/Drawer/style/index.less +1 -0
  99. package/src/List/demo/virtual.tsx +20 -0
  100. package/src/List/hooks/useListKeyboard.ts +235 -0
  101. package/src/List/index.en-US.md +6 -0
  102. package/src/List/index.zh-CN.md +6 -0
  103. package/src/List/interface.ts +29 -2
  104. package/src/List/list.tsx +157 -19
  105. package/src/List/style/index.less +24 -0
  106. package/src/Select/demo/columns.tsx +35 -0
  107. package/src/Select/hooks/useSelectKeyboard.ts +112 -15
  108. package/src/Select/index.en-US.md +4 -0
  109. package/src/Select/index.zh-CN.md +4 -0
  110. package/src/Select/interface.ts +31 -4
  111. package/src/Select/option.tsx +9 -3
  112. package/src/Select/options.tsx +119 -26
  113. package/src/Select/select.tsx +41 -8
  114. package/src/Select/style/index.less +14 -0
  115. package/src/Selector/interface.ts +4 -0
  116. package/src/Selector/selector.tsx +8 -3
  117. package/src/Table/interface.ts +1 -1
  118. package/src/Table/style/index.less +1 -1
  119. package/src/Tree/demo/draggable.tsx +2 -0
  120. package/src/Tree/interface.ts +46 -23
  121. package/src/Tree/tree-node.tsx +26 -29
  122. package/src/Tree/tree.tsx +573 -274
  123. package/src/Tree/utils/tree-tools.ts +231 -125
  124. package/src/locale/_README.md +22 -13
  125. package/src/locale/context.tsx +33 -16
  126. package/src/locale/interface.ts +24 -0
  127. package/src/locale/util.ts +6 -6
  128. package/src/style/color.css +1 -0
  129. package/src/style/size.css +2 -1
  130. package/src/utils/isEqual.ts +35 -14
  131. package/src/version.ts +1 -1
@@ -248,7 +248,8 @@
248
248
  --yee-drawer-body-padding: 20px 24px;
249
249
  --yee-drawer-close-top: 20px;
250
250
  --yee-drawer-close-right: 20px;
251
- --yee-drawer-title-font-weight: 500;
251
+ --yee-drawer-title-font-weight: 600;
252
+ --yee-drawer-title-font-size: 18px;
252
253
 
253
254
  /* --Field-- */
254
255
  --yee-field-gap: 8px;
@@ -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-14T08:05:12.055Z
4
+ * Generated on 2026-07-21T08:16:43.112Z
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-14T08:05:12.055Z
4
+ * Generated on 2026-07-21T08:16:43.112Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -9,6 +9,7 @@
9
9
  --yee-primary-color: #777af2;
10
10
  --yee-primary-color-hover: #39364e;
11
11
  --yee-primary-color-active: #39364e;
12
+ --yee-primary-color-border: #bbbcfb;
12
13
  --yee-link-color: #777af2;
13
14
  --yee-link-color-hover: #39364e;
14
15
  --yee-link-color-active: #39364e;
@@ -1367,7 +1368,8 @@
1367
1368
  --yee-drawer-body-padding: 20px 24px;
1368
1369
  --yee-drawer-close-top: 20px;
1369
1370
  --yee-drawer-close-right: 20px;
1370
- --yee-drawer-title-font-weight: 500;
1371
+ --yee-drawer-title-font-weight: 600;
1372
+ --yee-drawer-title-font-size: 18px;
1371
1373
 
1372
1374
  /* --Field-- */
1373
1375
  --yee-field-gap: 8px;
@@ -1 +1 @@
1
- export default function isEqual(a: unknown, b: unknown): boolean;
1
+ export default function isEqual(a: unknown, b: unknown, seen?: Map<object, Set<object>>): boolean;
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- export default function isEqual(a, b) {
2
+ export default function isEqual(a, b, seen) {
3
3
  // Compare reference types
4
4
  if (a === b) return true;
5
5
 
@@ -19,32 +19,48 @@ export default function isEqual(a, b) {
19
19
  return a.source === b.source && a.flags === b.flags;
20
20
  }
21
21
 
22
- // Compare arrays
23
- if (Array.isArray(a) && Array.isArray(b)) {
24
- if (a.length !== b.length) return false;
25
- for (var i = 0; i < a.length; i++) {
26
- if (!isEqual(a[i], b[i])) return false;
27
- }
28
- return true;
22
+ // Compare functions
23
+ if (typeof a === 'function' && typeof b === 'function') {
24
+ return a.toString() === b.toString();
29
25
  }
30
26
 
31
- // Compare objects
27
+ // For objects and arrays, detect circular references
32
28
  if (_typeof(a) === 'object' && _typeof(b) === 'object') {
29
+ var seenMap = seen || new Map();
30
+
31
+ // If we've already started comparing this pair, assume equal to break the cycle
32
+ var seenForA = seenMap.get(a);
33
+ if (seenForA && seenForA.has(b)) {
34
+ return true;
35
+ }
36
+
37
+ // Mark this pair as being compared
38
+ if (!seenForA) {
39
+ seenMap.set(a, new Set([b]));
40
+ } else {
41
+ seenForA.add(b);
42
+ }
43
+
44
+ // Compare arrays
45
+ if (Array.isArray(a) && Array.isArray(b)) {
46
+ if (a.length !== b.length) return false;
47
+ for (var i = 0; i < a.length; i++) {
48
+ if (!isEqual(a[i], b[i], seenMap)) return false;
49
+ }
50
+ return true;
51
+ }
52
+
53
+ // Compare objects
33
54
  var keysA = Object.keys(a);
34
55
  var keysB = Object.keys(b);
35
56
  if (keysA.length !== keysB.length) return false;
36
57
  for (var _i = 0, _keysA = keysA; _i < _keysA.length; _i++) {
37
58
  var key = _keysA[_i];
38
- if (!keysB.includes(key) || !isEqual(a[key], b[key])) return false;
59
+ if (!keysB.includes(key) || !isEqual(a[key], b[key], seenMap)) return false;
39
60
  }
40
61
  return true;
41
62
  }
42
63
 
43
- // Compare functions
44
- if (typeof a === 'function' && typeof b === 'function') {
45
- return a.toString() === b.toString();
46
- }
47
-
48
64
  // Other cases
49
65
  return false;
50
66
  }
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.6.3";
6
+ export declare const version = "0.7.0";
@@ -1,4 +1,4 @@
1
- export var version = "0.6.3";
1
+ export var version = "0.7.0";
2
2
  if (typeof window !== 'undefined') {
3
3
  window.__yee_c_version__ = version;
4
4
  }