@rainbow-oh/yee-c 0.6.2 → 0.6.4
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/Checkbox/style/index.less +1 -1
- package/dist/cjs/Select/demo/orphan.d.ts +3 -0
- package/dist/cjs/Select/demo/orphan.js +78 -0
- package/dist/cjs/Select/interface.d.ts +11 -0
- package/dist/cjs/Select/select.js +18 -5
- package/dist/cjs/Selector/interface.d.ts +11 -0
- package/dist/cjs/Selector/selector.js +51 -16
- package/dist/cjs/Table/style/index.less +1 -1
- package/dist/cjs/Table/tbody/index.js +2 -2
- package/dist/cjs/Tag/style/index.less +9 -9
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +1 -1
- package/dist/cjs/utils/isEqual.d.ts +1 -1
- package/dist/cjs/utils/isEqual.js +26 -13
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Checkbox/style/index.less +1 -1
- package/dist/esm/Select/demo/orphan.d.ts +3 -0
- package/dist/esm/Select/demo/orphan.js +77 -0
- package/dist/esm/Select/interface.d.ts +11 -0
- package/dist/esm/Select/select.js +22 -6
- package/dist/esm/Selector/interface.d.ts +11 -0
- package/dist/esm/Selector/selector.js +34 -10
- package/dist/esm/Table/style/index.less +1 -1
- package/dist/esm/Table/tbody/index.js +3 -2
- package/dist/esm/Tag/style/index.less +9 -9
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +1 -1
- package/dist/esm/utils/isEqual.d.ts +1 -1
- package/dist/esm/utils/isEqual.js +33 -15
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +1 -1
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Checkbox/style/index.less +1 -1
- package/src/Select/demo/orphan.tsx +61 -0
- package/src/Select/index.en-US.md +3 -0
- package/src/Select/index.zh-CN.md +3 -0
- package/src/Select/interface.ts +11 -0
- package/src/Select/select.tsx +19 -3
- package/src/Selector/interface.ts +11 -0
- package/src/Selector/selector.tsx +56 -25
- package/src/Table/style/index.less +1 -1
- package/src/Table/tbody/index.tsx +5 -3
- package/src/Tag/style/index.less +9 -9
- package/src/utils/isEqual.ts +37 -14
- package/src/version.ts +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
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
|
-
var _excluded = ["prefixCls", "mode", "className", "style", "optionLabelProp", "searchable", "disabled", "options", "selectedKeys", "allowClear", "placeholder", "closable", "suffix", "value", "open", "loading", "size", "onSearch", "onRemove", "onClear", "onOpenChange", "onKeyDown"]
|
|
2
|
+
var _excluded = ["prefixCls", "mode", "className", "style", "optionLabelProp", "searchable", "disabled", "options", "selectedKeys", "orphanClassName", "orphanStyle", "allowClear", "placeholder", "closable", "suffix", "value", "open", "loading", "size", "onSearch", "onRemove", "onClear", "onOpenChange", "onKeyDown"],
|
|
3
|
+
_excluded2 = ["_orphan"];
|
|
3
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -37,6 +38,8 @@ var Selector = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
37
38
|
_props$options = props.options,
|
|
38
39
|
options = _props$options === void 0 ? [] : _props$options,
|
|
39
40
|
selectedKeys = props.selectedKeys,
|
|
41
|
+
orphanClassName = props.orphanClassName,
|
|
42
|
+
orphanStyle = props.orphanStyle,
|
|
40
43
|
_props$allowClear = props.allowClear,
|
|
41
44
|
allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
|
|
42
45
|
placeholder = props.placeholder,
|
|
@@ -63,13 +66,27 @@ var Selector = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
63
66
|
searchValue = _useMergedState2[0],
|
|
64
67
|
setSearchValue = _useMergedState2[1];
|
|
65
68
|
var tags = useMemo(function () {
|
|
66
|
-
|
|
67
|
-
return
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
if (!Array.isArray(options)) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
// 按 selectedKeys 顺序渲染;找不到的 key 作为孤儿值回退显示 value 本身
|
|
73
|
+
return selectedKeys.map(function (key) {
|
|
74
|
+
var opt = options.find(function (o) {
|
|
75
|
+
return o.value === key;
|
|
71
76
|
});
|
|
72
|
-
|
|
77
|
+
if (opt) {
|
|
78
|
+
return _objectSpread(_objectSpread({}, opt), {}, {
|
|
79
|
+
children: typeof optionLabelProp === 'function' ? optionLabelProp(opt) : opt[optionLabelProp],
|
|
80
|
+
_orphan: false
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
value: key,
|
|
85
|
+
label: String(key),
|
|
86
|
+
children: String(key),
|
|
87
|
+
_orphan: true
|
|
88
|
+
};
|
|
89
|
+
});
|
|
73
90
|
}, [options, selectedKeys, optionLabelProp]);
|
|
74
91
|
var handleClick = function handleClick() {
|
|
75
92
|
if (inputRef.current && !disabled) {
|
|
@@ -124,8 +141,12 @@ var Selector = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
124
141
|
var renderContent = function renderContent() {
|
|
125
142
|
if (multi) {
|
|
126
143
|
return tags.map(function (item, index) {
|
|
144
|
+
var _orphan = item._orphan,
|
|
145
|
+
tagRest = _objectWithoutProperties(item, _excluded2);
|
|
127
146
|
var _closable = typeof closable === 'function' ? closable(item) : closable;
|
|
128
|
-
return /*#__PURE__*/React.createElement(Tag, _extends({},
|
|
147
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({}, tagRest, {
|
|
148
|
+
className: _orphan ? orphanClassName : undefined,
|
|
149
|
+
style: _orphan ? orphanStyle : undefined,
|
|
129
150
|
closable: _closable,
|
|
130
151
|
onClose: function onClose(e) {
|
|
131
152
|
return handleRemove(item, e);
|
|
@@ -138,9 +159,12 @@ var Selector = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
138
159
|
var opt = Array.isArray(options) ? options.find(function (opt) {
|
|
139
160
|
return opt.value === key;
|
|
140
161
|
}) : null;
|
|
141
|
-
|
|
162
|
+
// 孤儿值:key 非空但在 options 中找不到时,回退显示 value 本身
|
|
163
|
+
var isOrphan = !opt && key !== '';
|
|
164
|
+
var label = opt ? typeof optionLabelProp === 'function' ? optionLabelProp(opt) : opt[optionLabelProp] : isOrphan ? String(key) : null;
|
|
142
165
|
return /*#__PURE__*/React.createElement(React.Fragment, null, renderSearch(), label && /*#__PURE__*/React.createElement("div", {
|
|
143
|
-
className: "".concat(prefixCls, "-selection-item")
|
|
166
|
+
className: clsx("".concat(prefixCls, "-selection-item"), isOrphan && orphanClassName),
|
|
167
|
+
style: isOrphan ? orphanStyle : undefined
|
|
144
168
|
}, label));
|
|
145
169
|
};
|
|
146
170
|
var renderSuffix = function renderSuffix() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["columns", "pageData", "lazyLoad"];
|
|
1
|
+
var _excluded = ["columns", "pageData", "lazyLoad", "noData"];
|
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
3
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
4
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -12,6 +12,7 @@ var TableBody = function TableBody(props) {
|
|
|
12
12
|
var columns = props.columns,
|
|
13
13
|
pageData = props.pageData,
|
|
14
14
|
lazyLoad = props.lazyLoad,
|
|
15
|
+
noData = props.noData,
|
|
15
16
|
rest = _objectWithoutProperties(props, _excluded);
|
|
16
17
|
var _React$useContext = React.useContext(TableCtx),
|
|
17
18
|
prefixCls = _React$useContext.prefixCls,
|
|
@@ -26,7 +27,7 @@ var TableBody = function TableBody(props) {
|
|
|
26
27
|
className: "".concat(prefixCls, "-no-record")
|
|
27
28
|
}, /*#__PURE__*/React.createElement("td", {
|
|
28
29
|
colSpan: 999
|
|
29
|
-
}, tableLocale.emptyText)));
|
|
30
|
+
}, noData !== null && noData !== void 0 ? noData : tableLocale.emptyText)));
|
|
30
31
|
var dataLength = pageData.length;
|
|
31
32
|
if (dataLength === 0) return empty;
|
|
32
33
|
var BodyWrapper = (_components$body$tbod = components === null || components === void 0 || (_components$body = components.body) === null || _components$body === void 0 ? void 0 : _components$body.tbody) !== null && _components$body$tbod !== void 0 ? _components$body$tbod : 'tbody';
|
|
@@ -149,15 +149,6 @@
|
|
|
149
149
|
line-height: var(--yee-tag-large-height);
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
&-close {
|
|
153
|
-
display: inline-flex;
|
|
154
|
-
padding: 0;
|
|
155
|
-
width: 16px;
|
|
156
|
-
height: 16px;
|
|
157
|
-
margin-left: var(--yee-tag-close-margin-left);
|
|
158
|
-
cursor: pointer;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
152
|
&-checkable {
|
|
162
153
|
margin: var(--yee-tag-checkable-margin);
|
|
163
154
|
color: var(--yee-tag-item-not-check-color);
|
|
@@ -177,4 +168,13 @@
|
|
|
177
168
|
background-color: var(--yee-tag-item-check-active-bg-color);
|
|
178
169
|
border-color: var(--yee-tag-item-check-active-border-color);
|
|
179
170
|
}
|
|
171
|
+
|
|
172
|
+
& &-close {
|
|
173
|
+
display: inline-flex;
|
|
174
|
+
padding: 0;
|
|
175
|
+
width: 16px;
|
|
176
|
+
height: 16px;
|
|
177
|
+
margin-left: var(--yee-tag-close-margin-left);
|
|
178
|
+
cursor: pointer;
|
|
179
|
+
}
|
|
180
180
|
}
|
|
@@ -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,50 @@ export default function isEqual(a, b) {
|
|
|
19
19
|
return a.source === b.source && a.flags === b.flags;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// Compare
|
|
23
|
-
if (
|
|
24
|
-
|
|
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
|
-
//
|
|
27
|
+
// For objects and arrays, detect circular references
|
|
32
28
|
if (_typeof(a) === 'object' && _typeof(b) === 'object') {
|
|
29
|
+
if (!seen) {
|
|
30
|
+
seen = new Map();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// If we've already started comparing this pair, assume equal to break the cycle
|
|
34
|
+
var seenForA = seen.get(a);
|
|
35
|
+
if (seenForA && seenForA.has(b)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Mark this pair as being compared
|
|
40
|
+
if (!seenForA) {
|
|
41
|
+
seen.set(a, new Set([b]));
|
|
42
|
+
} else {
|
|
43
|
+
seenForA.add(b);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Compare arrays
|
|
47
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
48
|
+
if (a.length !== b.length) return false;
|
|
49
|
+
for (var i = 0; i < a.length; i++) {
|
|
50
|
+
if (!isEqual(a[i], b[i], seen)) return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Compare objects
|
|
33
56
|
var keysA = Object.keys(a);
|
|
34
57
|
var keysB = Object.keys(b);
|
|
35
58
|
if (keysA.length !== keysB.length) return false;
|
|
36
59
|
for (var _i = 0, _keysA = keysA; _i < _keysA.length; _i++) {
|
|
37
60
|
var key = _keysA[_i];
|
|
38
|
-
if (!keysB.includes(key) || !isEqual(a[key], b[key])) return false;
|
|
61
|
+
if (!keysB.includes(key) || !isEqual(a[key], b[key], seen)) return false;
|
|
39
62
|
}
|
|
40
63
|
return true;
|
|
41
64
|
}
|
|
42
65
|
|
|
43
|
-
// Compare functions
|
|
44
|
-
if (typeof a === 'function' && typeof b === 'function') {
|
|
45
|
-
return a.toString() === b.toString();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
66
|
// Other cases
|
|
49
67
|
return false;
|
|
50
68
|
}
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED