@rainbow-oh/yee-c 0.6.4 → 0.8.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.
- package/dist/cjs/Button/style/index.less +5 -4
- package/dist/cjs/Drawer/drawer.js +1 -1
- package/dist/cjs/Drawer/interface.d.ts +1 -1
- package/dist/cjs/Drawer/style/index.less +1 -0
- package/dist/cjs/Form/form-store.d.ts +2 -1
- package/dist/cjs/Form/form-store.js +32 -17
- package/dist/cjs/List/demo/virtual.d.ts +3 -0
- package/dist/cjs/List/demo/virtual.js +53 -0
- package/dist/cjs/List/hooks/useListKeyboard.d.ts +28 -0
- package/dist/cjs/List/hooks/useListKeyboard.js +188 -0
- package/dist/cjs/List/interface.d.ts +29 -2
- package/dist/cjs/List/list.js +141 -21
- package/dist/cjs/List/style/index.less +24 -0
- package/dist/cjs/Select/demo/columns.d.ts +3 -0
- package/dist/cjs/Select/demo/columns.js +62 -0
- package/dist/cjs/Select/hooks/useSelectKeyboard.d.ts +13 -1
- package/dist/cjs/Select/hooks/useSelectKeyboard.js +81 -10
- package/dist/cjs/Select/interface.d.ts +30 -3
- package/dist/cjs/Select/option.js +4 -3
- package/dist/cjs/Select/options.js +90 -8
- package/dist/cjs/Select/select.js +32 -8
- package/dist/cjs/Select/style/index.less +14 -0
- package/dist/cjs/Selector/interface.d.ts +4 -0
- package/dist/cjs/Selector/selector.js +5 -3
- package/dist/cjs/Table/hooks/useColumns.js +1 -1
- package/dist/cjs/Table/interface.d.ts +1 -1
- package/dist/cjs/Table/style/index.less +35 -11
- package/dist/cjs/Table/table.js +57 -7
- package/dist/cjs/Table/tbody/cell.js +1 -1
- package/dist/cjs/Table/util/header.d.ts +3 -1
- package/dist/cjs/Table/util/header.js +30 -3
- package/dist/cjs/Tree/demo/draggable.js +2 -0
- package/dist/cjs/Tree/interface.d.ts +46 -23
- package/dist/cjs/Tree/tree-node.d.ts +1 -1
- package/dist/cjs/Tree/tree-node.js +30 -23
- package/dist/cjs/Tree/tree.d.ts +13 -12
- package/dist/cjs/Tree/tree.js +452 -227
- package/dist/cjs/Tree/utils/tree-tools.d.ts +43 -10
- package/dist/cjs/Tree/utils/tree-tools.js +129 -91
- package/dist/cjs/locale/context.d.ts +5 -4
- package/dist/cjs/locale/context.js +15 -8
- package/dist/cjs/locale/interface.d.ts +20 -0
- package/dist/cjs/locale/util.d.ts +3 -3
- package/dist/cjs/style/color.css +3 -0
- package/dist/cjs/style/size.css +2 -1
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +6 -2
- package/dist/cjs/utils/isEqual.js +5 -7
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Button/style/index.less +5 -4
- package/dist/esm/Drawer/drawer.js +2 -1
- package/dist/esm/Drawer/interface.d.ts +1 -1
- package/dist/esm/Drawer/style/index.less +1 -0
- package/dist/esm/Form/form-store.d.ts +2 -1
- package/dist/esm/Form/form-store.js +40 -19
- package/dist/esm/List/demo/virtual.d.ts +3 -0
- package/dist/esm/List/demo/virtual.js +22 -0
- package/dist/esm/List/hooks/useListKeyboard.d.ts +28 -0
- package/dist/esm/List/hooks/useListKeyboard.js +173 -0
- package/dist/esm/List/interface.d.ts +29 -2
- package/dist/esm/List/list.js +171 -14
- package/dist/esm/List/style/index.less +24 -0
- package/dist/esm/Select/demo/columns.d.ts +3 -0
- package/dist/esm/Select/demo/columns.js +36 -0
- package/dist/esm/Select/hooks/useSelectKeyboard.d.ts +13 -1
- package/dist/esm/Select/hooks/useSelectKeyboard.js +91 -14
- package/dist/esm/Select/interface.d.ts +30 -3
- package/dist/esm/Select/option.js +6 -2
- package/dist/esm/Select/options.js +114 -32
- package/dist/esm/Select/select.js +40 -11
- package/dist/esm/Select/style/index.less +14 -0
- package/dist/esm/Selector/interface.d.ts +4 -0
- package/dist/esm/Selector/selector.js +10 -4
- package/dist/esm/Table/hooks/useColumns.js +1 -1
- package/dist/esm/Table/interface.d.ts +1 -1
- package/dist/esm/Table/style/index.less +35 -11
- package/dist/esm/Table/table.js +54 -2
- package/dist/esm/Table/tbody/cell.js +1 -1
- package/dist/esm/Table/util/header.d.ts +3 -1
- package/dist/esm/Table/util/header.js +30 -2
- package/dist/esm/Tree/demo/draggable.js +2 -0
- package/dist/esm/Tree/interface.d.ts +46 -23
- package/dist/esm/Tree/tree-node.d.ts +1 -1
- package/dist/esm/Tree/tree-node.js +26 -31
- package/dist/esm/Tree/tree.d.ts +13 -12
- package/dist/esm/Tree/tree.js +572 -163
- package/dist/esm/Tree/utils/tree-tools.d.ts +43 -10
- package/dist/esm/Tree/utils/tree-tools.js +219 -104
- package/dist/esm/locale/context.d.ts +5 -4
- package/dist/esm/locale/context.js +25 -9
- package/dist/esm/locale/interface.d.ts +20 -0
- package/dist/esm/locale/util.d.ts +3 -3
- package/dist/esm/style/color.css +3 -0
- package/dist/esm/style/size.css +2 -1
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +6 -2
- package/dist/esm/utils/isEqual.js +5 -7
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +4 -4
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Button/style/index.less +5 -4
- package/src/Drawer/drawer.tsx +1 -1
- package/src/Drawer/interface.ts +1 -0
- package/src/Drawer/style/index.less +1 -0
- package/src/Form/form-store.ts +42 -15
- package/src/List/demo/virtual.tsx +20 -0
- package/src/List/hooks/useListKeyboard.ts +235 -0
- package/src/List/index.en-US.md +6 -0
- package/src/List/index.zh-CN.md +6 -0
- package/src/List/interface.ts +29 -2
- package/src/List/list.tsx +157 -19
- package/src/List/style/index.less +24 -0
- package/src/Select/demo/columns.tsx +35 -0
- package/src/Select/hooks/useSelectKeyboard.ts +112 -15
- package/src/Select/index.en-US.md +4 -0
- package/src/Select/index.zh-CN.md +4 -0
- package/src/Select/interface.ts +31 -4
- package/src/Select/option.tsx +9 -3
- package/src/Select/options.tsx +119 -26
- package/src/Select/select.tsx +41 -8
- package/src/Select/style/index.less +14 -0
- package/src/Selector/interface.ts +4 -0
- package/src/Selector/selector.tsx +8 -3
- package/src/Table/hooks/useColumns.ts +1 -1
- package/src/Table/interface.ts +1 -1
- package/src/Table/style/index.less +35 -11
- package/src/Table/table.tsx +60 -1
- package/src/Table/tbody/cell.tsx +1 -1
- package/src/Table/util/header.ts +48 -2
- package/src/Tree/demo/draggable.tsx +2 -0
- package/src/Tree/interface.ts +46 -23
- package/src/Tree/tree-node.tsx +26 -29
- package/src/Tree/tree.tsx +573 -274
- package/src/Tree/utils/tree-tools.ts +231 -125
- package/src/locale/_README.md +22 -13
- package/src/locale/context.tsx +33 -16
- package/src/locale/interface.ts +24 -0
- package/src/locale/util.ts +6 -6
- package/src/style/color.css +3 -0
- package/src/style/size.css +2 -1
- package/src/utils/isEqual.ts +5 -7
- package/src/version.ts +1 -1
package/src/locale/util.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_LOCALE_CONFIG } from './constants';
|
|
2
|
-
import type { Locale } from './interface';
|
|
2
|
+
import type { DeepPartial, Locale } from './interface';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Deep get object value
|
|
@@ -45,9 +45,9 @@ export function isValidLocale(obj: any): obj is Locale {
|
|
|
45
45
|
*/
|
|
46
46
|
export function deepMerge<T extends Record<string, any>>(
|
|
47
47
|
target: T,
|
|
48
|
-
source:
|
|
48
|
+
source: DeepPartial<NoInfer<T>>,
|
|
49
49
|
): T {
|
|
50
|
-
const result = { ...target };
|
|
50
|
+
const result: Record<string, any> = { ...target };
|
|
51
51
|
|
|
52
52
|
for (const key in source) {
|
|
53
53
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
@@ -64,18 +64,18 @@ export function deepMerge<T extends Record<string, any>>(
|
|
|
64
64
|
) {
|
|
65
65
|
result[key] = deepMerge(targetValue, sourceValue);
|
|
66
66
|
} else {
|
|
67
|
-
result[key] = sourceValue
|
|
67
|
+
result[key] = sourceValue;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
return result;
|
|
72
|
+
return result as T;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Ensure locale pack completeness, fill missing fields with default values
|
|
77
77
|
*/
|
|
78
|
-
export function normalizeLocale(locale:
|
|
78
|
+
export function normalizeLocale(locale: DeepPartial<Locale>): Locale {
|
|
79
79
|
return deepMerge(DEFAULT_LOCALE_CONFIG, locale);
|
|
80
80
|
}
|
|
81
81
|
|
package/src/style/color.css
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
--yee-primary-color: #777af2;
|
|
3
3
|
--yee-primary-color-hover: #39364e;
|
|
4
4
|
--yee-primary-color-active: #39364e;
|
|
5
|
+
--yee-primary-color-border: #bbbcfb;
|
|
5
6
|
--yee-link-color: #777af2;
|
|
6
7
|
--yee-link-color-hover: #39364e;
|
|
7
8
|
--yee-link-color-active: #39364e;
|
|
@@ -847,6 +848,7 @@
|
|
|
847
848
|
--yee-table-thead-stripe-borderbottom-color: var(
|
|
848
849
|
--yee-table-thead-borderbottom-color
|
|
849
850
|
);
|
|
851
|
+
--yee-table-row-bg-color: var(--yee-color-bg-container);
|
|
850
852
|
--yee-table-odd-row-bg-color: var(--yee-color-bg-container);
|
|
851
853
|
--yee-table-even-row-bg-color: var(--yee-color-bg-head);
|
|
852
854
|
--yee-table-elevated-thead-stripe-borderbottom-color: var(
|
|
@@ -869,6 +871,7 @@
|
|
|
869
871
|
--yee-table-head-filter-active-color: var(--yee-primary-color);
|
|
870
872
|
--yee-table-fixed-left-after-bs-color: var(--yee-box-shadow-color);
|
|
871
873
|
--yee-table-fixed-right-after-bs-color: var(--yee-box-shadow-color);
|
|
874
|
+
--yee-table-fixed-column-bg-color: inherit;
|
|
872
875
|
--yee-table-filter-list-bg-color: var(--yee-color-bg-elevated);
|
|
873
876
|
--yee-table-tbody-tr-expanded-bg-color: var(--yee-color-bg-container);
|
|
874
877
|
--yee-table-elevated-tbody-tr-expanded-bg-color: var(
|
package/src/style/size.css
CHANGED
|
@@ -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:
|
|
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;
|
package/src/utils/isEqual.ts
CHANGED
|
@@ -29,19 +29,17 @@ export default function isEqual(
|
|
|
29
29
|
|
|
30
30
|
// For objects and arrays, detect circular references
|
|
31
31
|
if (typeof a === 'object' && typeof b === 'object') {
|
|
32
|
-
|
|
33
|
-
seen = new Map();
|
|
34
|
-
}
|
|
32
|
+
const seenMap = seen || new Map();
|
|
35
33
|
|
|
36
34
|
// If we've already started comparing this pair, assume equal to break the cycle
|
|
37
|
-
const seenForA =
|
|
35
|
+
const seenForA = seenMap.get(a as object);
|
|
38
36
|
if (seenForA && seenForA.has(b as object)) {
|
|
39
37
|
return true;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
// Mark this pair as being compared
|
|
43
41
|
if (!seenForA) {
|
|
44
|
-
|
|
42
|
+
seenMap.set(a as object, new Set([b as object]));
|
|
45
43
|
} else {
|
|
46
44
|
seenForA.add(b as object);
|
|
47
45
|
}
|
|
@@ -50,7 +48,7 @@ export default function isEqual(
|
|
|
50
48
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
51
49
|
if (a.length !== b.length) return false;
|
|
52
50
|
for (let i = 0; i < a.length; i++) {
|
|
53
|
-
if (!isEqual(a[i], b[i],
|
|
51
|
+
if (!isEqual(a[i], b[i], seenMap)) return false;
|
|
54
52
|
}
|
|
55
53
|
return true;
|
|
56
54
|
}
|
|
@@ -65,7 +63,7 @@ export default function isEqual(
|
|
|
65
63
|
!isEqual(
|
|
66
64
|
(a as Record<string, unknown>)[key],
|
|
67
65
|
(b as Record<string, unknown>)[key],
|
|
68
|
-
|
|
66
|
+
seenMap,
|
|
69
67
|
)
|
|
70
68
|
)
|
|
71
69
|
return false;
|