@rainbow-oh/yee-c 0.9.0 → 0.9.2
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/Badge/badge.js +5 -3
- package/dist/cjs/Badge/interface.d.ts +4 -0
- package/dist/cjs/Form/demo/async-validate.js +2 -2
- package/dist/cjs/Form/demo/validate.js +2 -2
- package/dist/cjs/Form/form-store.js +19 -6
- package/dist/cjs/Form/index.d.ts +1 -1
- package/dist/cjs/Form/interface.d.ts +9 -2
- package/dist/cjs/Form/utils/path.js +1 -1
- package/dist/cjs/Popconfirm/interface.d.ts +0 -4
- package/dist/cjs/Select/select.js +2 -1
- package/dist/cjs/TableSelect/table-select.js +2 -2
- package/dist/cjs/TreeSelect/tree-select.js +15 -5
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Badge/badge.js +3 -2
- package/dist/esm/Badge/interface.d.ts +4 -0
- package/dist/esm/Form/demo/async-validate.js +2 -2
- package/dist/esm/Form/demo/validate.js +2 -2
- package/dist/esm/Form/form-store.js +33 -10
- package/dist/esm/Form/hooks/useForm.js +0 -175
- package/dist/esm/Form/index.d.ts +1 -1
- package/dist/esm/Form/interface.d.ts +9 -2
- package/dist/esm/Form/utils/path.js +2 -1
- package/dist/esm/Popconfirm/interface.d.ts +0 -4
- package/dist/esm/Select/select.js +2 -1
- package/dist/esm/TableSelect/table-select.js +2 -2
- package/dist/esm/TreeSelect/tree-select.js +21 -7
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Badge/badge.tsx +2 -1
- package/src/Badge/interface.ts +4 -0
- package/src/Form/demo/async-validate.tsx +3 -2
- package/src/Form/demo/validate.tsx +3 -2
- package/src/Form/form-store.test.ts +156 -0
- package/src/Form/form-store.ts +28 -9
- package/src/Form/hooks/useForm.ts +0 -175
- package/src/Form/index.en-US.md +92 -92
- package/src/Form/index.ts +1 -0
- package/src/Form/index.zh-CN.md +55 -55
- package/src/Form/interface.ts +9 -2
- package/src/Form/utils/path.ts +2 -1
- package/src/Popconfirm/interface.ts +0 -4
- package/src/Select/select.tsx +2 -1
- package/src/TableSelect/table-select.tsx +1 -0
- package/src/TreeSelect/tree-select.tsx +22 -5
- package/src/version.ts +1 -1
|
@@ -73,7 +73,8 @@ export function setValueByPath(store, path, value) {
|
|
|
73
73
|
var current = newStore;
|
|
74
74
|
for (var i = 0; i < path.length - 1; i++) {
|
|
75
75
|
var key = String(path[i]);
|
|
76
|
-
|
|
76
|
+
// eslint-disable-next-line eqeqeq
|
|
77
|
+
if (current[key] == null) {
|
|
77
78
|
// 根据下一个键的类型创建容器
|
|
78
79
|
current[key] = typeof path[i + 1] === 'number' ? [] : {};
|
|
79
80
|
}
|
|
@@ -21,6 +21,7 @@ import useMergedState from "../hooks/useMergedState";
|
|
|
21
21
|
import mergeContextToProps from "../utils/mergeContextToProps";
|
|
22
22
|
import useSelectKeyboard from "./hooks/useSelectKeyboard";
|
|
23
23
|
import Options from "./options";
|
|
24
|
+
import Omit from "../utils/omit";
|
|
24
25
|
import "./style/index.less";
|
|
25
26
|
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
@@ -228,7 +229,7 @@ var Select = function Select(baseprops) {
|
|
|
228
229
|
} : undefined,
|
|
229
230
|
open: disabled ? false : open,
|
|
230
231
|
onOpenChange: handleOpenChange
|
|
231
|
-
}), /*#__PURE__*/React.createElement(Selector, _extends({}, rest, {
|
|
232
|
+
}), /*#__PURE__*/React.createElement(Selector, _extends({}, Omit(rest, ['forceRender']), {
|
|
232
233
|
mode: mode,
|
|
233
234
|
value: searchValue,
|
|
234
235
|
options: options,
|
|
@@ -174,7 +174,7 @@ var TableSelect = function TableSelect(baseprops) {
|
|
|
174
174
|
rowKey: rowKey
|
|
175
175
|
}));
|
|
176
176
|
};
|
|
177
|
-
return /*#__PURE__*/React.createElement(Trigger, {
|
|
177
|
+
return /*#__PURE__*/React.createElement(Trigger, _extends({}, rest, {
|
|
178
178
|
trigger: "click",
|
|
179
179
|
popupClassName: "".concat(prefixCls, "-popup"),
|
|
180
180
|
popup: renderPopup(),
|
|
@@ -182,7 +182,7 @@ var TableSelect = function TableSelect(baseprops) {
|
|
|
182
182
|
hideOnClick: selectionType === 'radio' ? true : false,
|
|
183
183
|
onOpenChange: onVisibleChange,
|
|
184
184
|
stretch: "minWidth"
|
|
185
|
-
}, /*#__PURE__*/React.createElement(Selector, selectorProps));
|
|
185
|
+
}), /*#__PURE__*/React.createElement(Selector, selectorProps));
|
|
186
186
|
};
|
|
187
187
|
TableSelect.displayName = 'TableSelect';
|
|
188
188
|
export default TableSelect;
|
|
@@ -93,6 +93,20 @@ var TreeSelect = function TreeSelect(baseprops) {
|
|
|
93
93
|
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
94
94
|
itemMap = _useMemo2[1];
|
|
95
95
|
|
|
96
|
+
// itemMap 以 uid(Tree 内部的路径键)为键,仅根节点 uid === key。
|
|
97
|
+
// 选中项展示 / getNodes 需要按外部 value(raw key)查找,否则嵌套节点
|
|
98
|
+
// 查不到会走 Selector 的孤儿值回退,直接显示 value 本身
|
|
99
|
+
var keyItemMap = useMemo(function () {
|
|
100
|
+
var map = new Map();
|
|
101
|
+
itemMap.forEach(function (item) {
|
|
102
|
+
var k = String(item.key);
|
|
103
|
+
if (!map.has(k)) {
|
|
104
|
+
map.set(k, item);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return map;
|
|
108
|
+
}, [itemMap]);
|
|
109
|
+
|
|
96
110
|
// Filter data source for searching
|
|
97
111
|
var filteredDataSource = useMemo(function () {
|
|
98
112
|
var sourceArray = Array.isArray(dataSource) ? dataSource : [dataSource];
|
|
@@ -128,7 +142,7 @@ var TreeSelect = function TreeSelect(baseprops) {
|
|
|
128
142
|
// Convert selected keys to options format for Selector display
|
|
129
143
|
var selectedOptions = useMemo(function () {
|
|
130
144
|
return mergedValue.map(function (key) {
|
|
131
|
-
var item =
|
|
145
|
+
var item = keyItemMap.get(String(key));
|
|
132
146
|
if (!item) return null;
|
|
133
147
|
var label = typeof optionLabelProp === 'function' ? optionLabelProp(item.original) : String(item[optionLabelProp] || item.label);
|
|
134
148
|
return _objectSpread({
|
|
@@ -136,9 +150,9 @@ var TreeSelect = function TreeSelect(baseprops) {
|
|
|
136
150
|
label: label
|
|
137
151
|
}, item.original);
|
|
138
152
|
}).filter(Boolean);
|
|
139
|
-
}, [mergedValue,
|
|
153
|
+
}, [mergedValue, keyItemMap, optionLabelProp]);
|
|
140
154
|
var getNodes = function getNodes(keys) {
|
|
141
|
-
var
|
|
155
|
+
var _keyItemMap$get2;
|
|
142
156
|
if (keys === '' || keys === null) {
|
|
143
157
|
return undefined;
|
|
144
158
|
}
|
|
@@ -147,13 +161,13 @@ var TreeSelect = function TreeSelect(baseprops) {
|
|
|
147
161
|
return [];
|
|
148
162
|
}
|
|
149
163
|
return keys.map(function (key) {
|
|
150
|
-
var
|
|
151
|
-
return (
|
|
164
|
+
var _keyItemMap$get;
|
|
165
|
+
return (_keyItemMap$get = keyItemMap.get(String(key))) === null || _keyItemMap$get === void 0 ? void 0 : _keyItemMap$get.original;
|
|
152
166
|
}).filter(function (node) {
|
|
153
167
|
return node !== undefined;
|
|
154
168
|
});
|
|
155
169
|
}
|
|
156
|
-
return (
|
|
170
|
+
return (_keyItemMap$get2 = keyItemMap.get(String(keys))) === null || _keyItemMap$get2 === void 0 ? void 0 : _keyItemMap$get2.original;
|
|
157
171
|
};
|
|
158
172
|
var handleSelect = function handleSelect(selectedKeys) {
|
|
159
173
|
var keys;
|
|
@@ -217,7 +231,7 @@ var TreeSelect = function TreeSelect(baseprops) {
|
|
|
217
231
|
popupClassName: "".concat(prefixCls, "-popup"),
|
|
218
232
|
hideOnClick: false,
|
|
219
233
|
onOpenChange: handleOpenChange
|
|
220
|
-
}), /*#__PURE__*/React.createElement(Selector, _extends({}, omit(rest, ['showLine']), {
|
|
234
|
+
}), /*#__PURE__*/React.createElement(Selector, _extends({}, omit(rest, ['showLine', 'forceRender']), {
|
|
221
235
|
className: "".concat(prefixCls, "-selector"),
|
|
222
236
|
mode: mode,
|
|
223
237
|
value: searchValue,
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED