@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.
Files changed (52) hide show
  1. package/dist/cjs/Badge/badge.js +5 -3
  2. package/dist/cjs/Badge/interface.d.ts +4 -0
  3. package/dist/cjs/Form/demo/async-validate.js +2 -2
  4. package/dist/cjs/Form/demo/validate.js +2 -2
  5. package/dist/cjs/Form/form-store.js +19 -6
  6. package/dist/cjs/Form/index.d.ts +1 -1
  7. package/dist/cjs/Form/interface.d.ts +9 -2
  8. package/dist/cjs/Form/utils/path.js +1 -1
  9. package/dist/cjs/Popconfirm/interface.d.ts +0 -4
  10. package/dist/cjs/Select/select.js +2 -1
  11. package/dist/cjs/TableSelect/table-select.js +2 -2
  12. package/dist/cjs/TreeSelect/tree-select.js +15 -5
  13. package/dist/cjs/style/themes.css +1 -1
  14. package/dist/cjs/style/variables.css +1 -1
  15. package/dist/cjs/version.d.ts +1 -1
  16. package/dist/cjs/version.js +1 -1
  17. package/dist/esm/Badge/badge.js +3 -2
  18. package/dist/esm/Badge/interface.d.ts +4 -0
  19. package/dist/esm/Form/demo/async-validate.js +2 -2
  20. package/dist/esm/Form/demo/validate.js +2 -2
  21. package/dist/esm/Form/form-store.js +33 -10
  22. package/dist/esm/Form/hooks/useForm.js +0 -175
  23. package/dist/esm/Form/index.d.ts +1 -1
  24. package/dist/esm/Form/interface.d.ts +9 -2
  25. package/dist/esm/Form/utils/path.js +2 -1
  26. package/dist/esm/Popconfirm/interface.d.ts +0 -4
  27. package/dist/esm/Select/select.js +2 -1
  28. package/dist/esm/TableSelect/table-select.js +2 -2
  29. package/dist/esm/TreeSelect/tree-select.js +21 -7
  30. package/dist/esm/style/themes.css +1 -1
  31. package/dist/esm/style/variables.css +1 -1
  32. package/dist/esm/version.d.ts +1 -1
  33. package/dist/esm/version.js +1 -1
  34. package/dist/umd/yee-c.min.js +1 -1
  35. package/package.json +1 -1
  36. package/src/Badge/badge.tsx +2 -1
  37. package/src/Badge/interface.ts +4 -0
  38. package/src/Form/demo/async-validate.tsx +3 -2
  39. package/src/Form/demo/validate.tsx +3 -2
  40. package/src/Form/form-store.test.ts +156 -0
  41. package/src/Form/form-store.ts +28 -9
  42. package/src/Form/hooks/useForm.ts +0 -175
  43. package/src/Form/index.en-US.md +92 -92
  44. package/src/Form/index.ts +1 -0
  45. package/src/Form/index.zh-CN.md +55 -55
  46. package/src/Form/interface.ts +9 -2
  47. package/src/Form/utils/path.ts +2 -1
  48. package/src/Popconfirm/interface.ts +0 -4
  49. package/src/Select/select.tsx +2 -1
  50. package/src/TableSelect/table-select.tsx +1 -0
  51. package/src/TreeSelect/tree-select.tsx +22 -5
  52. 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
- if (!(key in current)) {
76
+ // eslint-disable-next-line eqeqeq
77
+ if (current[key] == null) {
77
78
  // 根据下一个键的类型创建容器
78
79
  current[key] = typeof path[i + 1] === 'number' ? [] : {};
79
80
  }
@@ -42,10 +42,6 @@ export interface PopconfirmProps extends Omit<TriggerProps, 'popup' | 'children'
42
42
  * open, controllered
43
43
  * */
44
44
  open?: boolean;
45
- /**
46
- * placement
47
- */
48
- placement?: 'top' | 'bottom' | 'left' | 'right';
49
45
  /**
50
46
  * 设置确认按钮文本
51
47
  * */
@@ -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 = itemMap.get(key);
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, itemMap, optionLabelProp]);
153
+ }, [mergedValue, keyItemMap, optionLabelProp]);
140
154
  var getNodes = function getNodes(keys) {
141
- var _itemMap$get2;
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 _itemMap$get;
151
- return (_itemMap$get = itemMap.get(key)) === null || _itemMap$get === void 0 ? void 0 : _itemMap$get.original;
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 (_itemMap$get2 = itemMap.get(keys)) === null || _itemMap$get2 === void 0 ? void 0 : _itemMap$get2.original;
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,
@@ -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-08-17T03:37:29.587Z
4
+ * Generated on 2026-08-26T07:19:52.815Z
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-08-17T03:37:29.587Z
4
+ * Generated on 2026-08-26T07:19:52.815Z
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.9.0";
6
+ export declare const version = "0.9.2";
@@ -1,4 +1,4 @@
1
- export var version = "0.9.0";
1
+ export var version = "0.9.2";
2
2
  if (typeof window !== 'undefined') {
3
3
  window.__yee_c_version__ = version;
4
4
  }