@rainbow-oh/yee-c 0.8.19 → 0.8.20
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/Anchor/anchor.js +4 -1
- package/dist/cjs/Checkbox/checkbox.js +2 -1
- package/dist/cjs/Checkbox/style/index.less +3 -0
- package/dist/cjs/Progress/circle.js +46 -35
- package/dist/cjs/Progress/line.js +20 -11
- package/dist/cjs/Search/demo/basic.js +38 -3
- package/dist/cjs/Search/interface.d.ts +2 -2
- package/dist/cjs/Search/search.js +52 -32
- package/dist/cjs/Search/style/index.less +20 -3
- package/dist/cjs/Table/style/index.less +4 -2
- package/dist/cjs/Table/tbody/cell.js +2 -2
- package/dist/cjs/Transfer/interface.d.ts +0 -1
- package/dist/cjs/Transfer/style/index.less +4 -0
- package/dist/cjs/Transfer/transfer-list.js +1 -0
- package/dist/cjs/message/use-message.js +1 -3
- package/dist/cjs/notice/notice.js +1 -1
- 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/Checkbox/checkbox.js +2 -1
- package/dist/esm/Checkbox/style/index.less +3 -0
- package/dist/esm/Search/demo/basic.js +61 -7
- package/dist/esm/Search/interface.d.ts +2 -2
- package/dist/esm/Search/search.js +22 -15
- package/dist/esm/Search/style/index.less +20 -3
- package/dist/esm/Table/style/index.less +4 -2
- package/dist/esm/Table/tbody/cell.js +2 -2
- package/dist/esm/Transfer/interface.d.ts +0 -1
- package/dist/esm/Transfer/style/index.less +4 -0
- package/dist/esm/Transfer/transfer-list.js +1 -0
- package/dist/esm/notice/notice.js +1 -1
- 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.css +1 -1
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Anchor/anchor.tsx +9 -5
- package/src/Checkbox/checkbox.tsx +1 -0
- package/src/Checkbox/style/index.less +3 -0
- package/src/Progress/circle.tsx +5 -1
- package/src/Progress/line.tsx +5 -1
- package/src/Progress/progress.tsx +5 -1
- package/src/Search/demo/basic.tsx +43 -7
- package/src/Search/index.en-US.md +1 -1
- package/src/Search/index.zh-CN.md +1 -1
- package/src/Search/interface.ts +2 -2
- package/src/Search/search.tsx +40 -23
- package/src/Search/style/index.less +20 -3
- package/src/Spin/indicator.tsx +1 -1
- package/src/Table/style/index.less +4 -2
- package/src/Table/tbody/cell.tsx +2 -2
- package/src/Transfer/interface.ts +0 -1
- package/src/Transfer/style/index.less +4 -0
- package/src/Transfer/transfer-list.tsx +1 -0
- package/src/Tree/interface.ts +6 -1
- package/src/Tree/tree-node.tsx +7 -6
- package/src/Tree/utils/tree-tools.ts +4 -1
- package/src/Trigger/interface.ts +2 -1
- package/src/message/demo/base.tsx +1 -1
- package/src/message/interface.ts +1 -5
- package/src/message/message.test.tsx +15 -5
- package/src/message/message.tsx +10 -4
- package/src/message/use-message.tsx +2 -8
- package/src/message/wrapper.tsx +1 -2
- package/src/notice/interface.ts +1 -5
- package/src/notice/notice.test.tsx +14 -6
- package/src/notice/notice.tsx +12 -6
- package/src/notice/wrapper.tsx +1 -2
- package/src/version.ts +1 -1
- package/dist/cjs/Search/style/index.d.ts +0 -1
- package/dist/cjs/Search/style/index.js +0 -2
- package/dist/esm/Search/style/index.d.ts +0 -1
- package/dist/esm/Search/style/index.js +0 -1
- package/src/Search/style/index.ts +0 -1
|
@@ -361,7 +361,10 @@ var Anchor = (0, import_react.forwardRef)((baseprops, ref) => {
|
|
|
361
361
|
"pointerdown",
|
|
362
362
|
onUserInterrupt
|
|
363
363
|
);
|
|
364
|
-
container.removeEventListener(
|
|
364
|
+
container.removeEventListener(
|
|
365
|
+
"keydown",
|
|
366
|
+
onUserInterrupt
|
|
367
|
+
);
|
|
365
368
|
if (rafId !== null) {
|
|
366
369
|
cancelAnimationFrame(rafId);
|
|
367
370
|
}
|
|
@@ -157,7 +157,8 @@ var Checkbox = (baseprops) => {
|
|
|
157
157
|
"span",
|
|
158
158
|
{
|
|
159
159
|
className: (0, import_clsx.default)(`${prefixCls}-label`, classNames == null ? void 0 : classNames.label),
|
|
160
|
-
style: styles == null ? void 0 : styles.label
|
|
160
|
+
style: styles == null ? void 0 : styles.label,
|
|
161
|
+
title: typeof children === "string" ? children : void 0
|
|
161
162
|
},
|
|
162
163
|
children
|
|
163
164
|
) : null
|
|
@@ -148,42 +148,53 @@ var Circle = import_react.default.forwardRef((props, ref) => {
|
|
|
148
148
|
style: { width, height: width },
|
|
149
149
|
ref
|
|
150
150
|
},
|
|
151
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
152
|
-
"
|
|
153
|
-
{
|
|
154
|
-
className: `${prefixCls}-circle-trail`,
|
|
155
|
-
cx: "60",
|
|
156
|
-
cy: "60",
|
|
157
|
-
r: "56",
|
|
158
|
-
strokeWidth,
|
|
159
|
-
fill: "transparent"
|
|
160
|
-
}
|
|
161
|
-
), strokeColor instanceof Object && renderConicGradient(), strokeColor instanceof Object && renderForeignObject(), /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
|
|
162
|
-
"circle",
|
|
163
|
-
__spreadProps(__spreadValues({
|
|
164
|
-
className: `${progressColor ? "" : `${prefixCls}-circle-path`}`,
|
|
165
|
-
cx: "60",
|
|
166
|
-
cy: "60",
|
|
167
|
-
r: "56",
|
|
168
|
-
strokeWidth
|
|
169
|
-
}, progressColor), {
|
|
170
|
-
fill: "transparent",
|
|
171
|
-
ref: path1Ref
|
|
172
|
-
})
|
|
173
|
-
), done && done.percent && /* @__PURE__ */ import_react.default.createElement(
|
|
174
|
-
"circle",
|
|
151
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
152
|
+
"svg",
|
|
175
153
|
{
|
|
176
|
-
className:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
154
|
+
className: `${prefixCls}-circle`,
|
|
155
|
+
viewBox: "0 0 120 120",
|
|
156
|
+
"aria-hidden": "true"
|
|
157
|
+
},
|
|
158
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
159
|
+
"circle",
|
|
160
|
+
{
|
|
161
|
+
className: `${prefixCls}-circle-trail`,
|
|
162
|
+
cx: "60",
|
|
163
|
+
cy: "60",
|
|
164
|
+
r: "56",
|
|
165
|
+
strokeWidth,
|
|
166
|
+
fill: "transparent"
|
|
167
|
+
}
|
|
168
|
+
),
|
|
169
|
+
strokeColor instanceof Object && renderConicGradient(),
|
|
170
|
+
strokeColor instanceof Object && renderForeignObject(),
|
|
171
|
+
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
|
|
172
|
+
"circle",
|
|
173
|
+
__spreadProps(__spreadValues({
|
|
174
|
+
className: `${progressColor ? "" : `${prefixCls}-circle-path`}`,
|
|
175
|
+
cx: "60",
|
|
176
|
+
cy: "60",
|
|
177
|
+
r: "56",
|
|
178
|
+
strokeWidth
|
|
179
|
+
}, progressColor), {
|
|
180
|
+
fill: "transparent",
|
|
181
|
+
ref: path1Ref
|
|
182
|
+
})
|
|
183
|
+
), done && done.percent && /* @__PURE__ */ import_react.default.createElement(
|
|
184
|
+
"circle",
|
|
185
|
+
{
|
|
186
|
+
className: (0, import_clsx.default)(`${prefixCls}-circle-segment-path2`, {
|
|
187
|
+
[`${prefixCls}-circle-segment-done`]: done && done.percent
|
|
188
|
+
}),
|
|
189
|
+
cx: "60",
|
|
190
|
+
cy: "60",
|
|
191
|
+
r: "56",
|
|
192
|
+
strokeWidth,
|
|
193
|
+
fill: "transparent",
|
|
194
|
+
ref: path2Ref
|
|
195
|
+
}
|
|
196
|
+
))
|
|
197
|
+
),
|
|
187
198
|
showInfo && /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefixCls}-text` }, children)
|
|
188
199
|
);
|
|
189
200
|
});
|
|
@@ -72,19 +72,28 @@ var Line = import_react.default.forwardRef((props, ref) => {
|
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
return /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-outer`, ref }, /* @__PURE__ */ import_react.default.createElement(
|
|
75
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-outer`, ref }, /* @__PURE__ */ import_react.default.createElement(
|
|
76
76
|
"div",
|
|
77
77
|
{
|
|
78
|
-
className: `${prefixCls}-
|
|
79
|
-
style:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
className: `${prefixCls}-inner`,
|
|
79
|
+
style: { height: strokeWidth },
|
|
80
|
+
"aria-hidden": "true"
|
|
81
|
+
},
|
|
82
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
className: `${prefixCls}-bg`,
|
|
86
|
+
style: __spreadValues({ width: percent + "%" }, progressColor)
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
done && done.percent && /* @__PURE__ */ import_react.default.createElement(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
className: `${prefixCls}-done-bg`,
|
|
93
|
+
style: { width: done.percent + "%" }
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
), showInfo && /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefixCls}-text` }, children));
|
|
88
97
|
});
|
|
89
98
|
Line.displayName = "Line";
|
|
90
99
|
var line_default = Line;
|
|
@@ -34,9 +34,44 @@ __export(basic_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(basic_exports);
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
36
|
var import__ = __toESM(require("../index"));
|
|
37
|
+
var people = [
|
|
38
|
+
{ key: "ada", value: "ada", label: "Ada Lovelace" },
|
|
39
|
+
{ key: "grace", value: "grace", label: "Grace Hopper" },
|
|
40
|
+
{ key: "alan", value: "alan", label: "Alan Turing" },
|
|
41
|
+
{ key: "margaret", value: "margaret", label: "Margaret Hamilton" }
|
|
42
|
+
];
|
|
37
43
|
var basic_default = () => {
|
|
38
|
-
const
|
|
39
|
-
|
|
44
|
+
const [keyword, setKeyword] = (0, import_react.useState)("");
|
|
45
|
+
const [selected, setSelected] = (0, import_react.useState)(null);
|
|
46
|
+
const results = (0, import_react.useMemo)(() => {
|
|
47
|
+
const normalizedKeyword = keyword.trim().toLowerCase();
|
|
48
|
+
const matched = people.filter(
|
|
49
|
+
(person) => String(person.label).toLowerCase().includes(normalizedKeyword)
|
|
50
|
+
);
|
|
51
|
+
return matched.length > 0 ? matched : [
|
|
52
|
+
{
|
|
53
|
+
key: "empty",
|
|
54
|
+
value: "empty",
|
|
55
|
+
label: "No results found",
|
|
56
|
+
disabled: true
|
|
57
|
+
}
|
|
58
|
+
];
|
|
59
|
+
}, [keyword]);
|
|
60
|
+
const handleSelect = (option) => {
|
|
61
|
+
setSelected(option);
|
|
62
|
+
if (option) {
|
|
63
|
+
setKeyword(String(option.label));
|
|
64
|
+
}
|
|
40
65
|
};
|
|
41
|
-
return /* @__PURE__ */ import_react.default.createElement("div", { style: { width:
|
|
66
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { style: { width: 320 } }, /* @__PURE__ */ import_react.default.createElement(
|
|
67
|
+
import__.default,
|
|
68
|
+
{
|
|
69
|
+
allowClear: true,
|
|
70
|
+
value: keyword,
|
|
71
|
+
options: results,
|
|
72
|
+
placeholder: "Search people",
|
|
73
|
+
onSearch: setKeyword,
|
|
74
|
+
onChange: handleSelect
|
|
75
|
+
}
|
|
76
|
+
), /* @__PURE__ */ import_react.default.createElement("div", { style: { marginTop: 12 } }, "Selected: ", selected ? String(selected.label) : "None"));
|
|
42
77
|
};
|
|
@@ -50,7 +50,7 @@ export interface SearchProps extends Omit<React.InputHTMLAttributes<HTMLInputEle
|
|
|
50
50
|
/**
|
|
51
51
|
* @description Suffix content
|
|
52
52
|
*/
|
|
53
|
-
suffix?: React.ReactNode;
|
|
53
|
+
suffix?: React.ReactNode | false;
|
|
54
54
|
/**
|
|
55
55
|
* @description Whether disabled
|
|
56
56
|
* @default false
|
|
@@ -74,7 +74,7 @@ export interface SearchProps extends Omit<React.InputHTMLAttributes<HTMLInputEle
|
|
|
74
74
|
* @description trigger search event
|
|
75
75
|
* @default 'typing'
|
|
76
76
|
*/
|
|
77
|
-
searchOnAction?: 'typing' | 'enter';
|
|
77
|
+
searchOnAction?: 'typing' | 'enter' | 'button';
|
|
78
78
|
/**
|
|
79
79
|
* @description suggest data
|
|
80
80
|
*/
|
|
@@ -152,21 +152,12 @@ var Search = import_react.default.forwardRef(
|
|
|
152
152
|
} else {
|
|
153
153
|
}
|
|
154
154
|
}, [open]);
|
|
155
|
-
const handleSearch = (e) => {
|
|
156
|
-
var _a2, _b;
|
|
157
|
-
if (disabled)
|
|
158
|
-
return;
|
|
159
|
-
onSearch == null ? void 0 : onSearch(searchValue);
|
|
160
|
-
if ((e == null ? void 0 : e.type) === "click") {
|
|
161
|
-
(_b = (_a2 = e.target).blur) == null ? void 0 : _b.call(_a2);
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
155
|
const handleChange = (e) => {
|
|
165
156
|
const newValue = e.target.value;
|
|
166
157
|
setSearchValue(newValue);
|
|
167
158
|
(0, import_react.startTransition)(() => {
|
|
168
159
|
if (searchOnAction === "typing") {
|
|
169
|
-
|
|
160
|
+
onSearch == null ? void 0 : onSearch(newValue);
|
|
170
161
|
}
|
|
171
162
|
});
|
|
172
163
|
};
|
|
@@ -176,10 +167,27 @@ var Search = import_react.default.forwardRef(
|
|
|
176
167
|
onChange == null ? void 0 : onChange(null);
|
|
177
168
|
onSearch == null ? void 0 : onSearch("");
|
|
178
169
|
};
|
|
170
|
+
const handleSearchClick = (e) => {
|
|
171
|
+
e.stopPropagation();
|
|
172
|
+
if (searchOnAction === "button") {
|
|
173
|
+
onSearch == null ? void 0 : onSearch(searchValue);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
const renderSearchIcon = () => {
|
|
177
|
+
if (suffix === false)
|
|
178
|
+
return null;
|
|
179
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
180
|
+
"span",
|
|
181
|
+
{
|
|
182
|
+
className: `${prefixCls}-search-icon`,
|
|
183
|
+
onClick: handleSearchClick
|
|
184
|
+
},
|
|
185
|
+
suffix || /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Search, { size: 14 })
|
|
186
|
+
);
|
|
187
|
+
};
|
|
179
188
|
const renderSuffix = () => {
|
|
180
|
-
const
|
|
181
|
-
const
|
|
182
|
-
const showSuffix = suffix || showClearIcon;
|
|
189
|
+
const showClearIcon = allowClear && !disabled && !rest.readOnly;
|
|
190
|
+
const showSuffix = suffix !== false || suffix !== null || showClearIcon;
|
|
183
191
|
if (!showSuffix) {
|
|
184
192
|
return null;
|
|
185
193
|
}
|
|
@@ -195,12 +203,14 @@ var Search = import_react.default.forwardRef(
|
|
|
195
203
|
onKeyDown: (e) => {
|
|
196
204
|
if (e.key === "Enter" || e.key === " ") {
|
|
197
205
|
e.preventDefault();
|
|
198
|
-
handleClear(
|
|
206
|
+
handleClear(
|
|
207
|
+
e
|
|
208
|
+
);
|
|
199
209
|
}
|
|
200
210
|
}
|
|
201
211
|
},
|
|
202
212
|
/* @__PURE__ */ import_react.default.createElement(import_lucide_react.X, { size: 14, "aria-hidden": "true" })
|
|
203
|
-
),
|
|
213
|
+
), renderSearchIcon());
|
|
204
214
|
};
|
|
205
215
|
const renderPrefix = () => {
|
|
206
216
|
if (!prefix)
|
|
@@ -223,6 +233,7 @@ var Search = import_react.default.forwardRef(
|
|
|
223
233
|
prefixCls,
|
|
224
234
|
{
|
|
225
235
|
[`${prefixCls}-disabled`]: disabled,
|
|
236
|
+
[`${prefixCls}-with-clear`]: allowClear && searchValue,
|
|
226
237
|
[`${prefixCls}-borderless`]: !bordered,
|
|
227
238
|
[`${prefixCls}-small`]: size === "small",
|
|
228
239
|
[`${prefixCls}-large`]: size === "large"
|
|
@@ -231,24 +242,33 @@ var Search = import_react.default.forwardRef(
|
|
|
231
242
|
);
|
|
232
243
|
};
|
|
233
244
|
const hasPopup = Array.isArray(options) || Array.isArray(suggestions);
|
|
234
|
-
const popup = /* @__PURE__ */ import_react.default.createElement(
|
|
235
|
-
|
|
236
|
-
{
|
|
237
|
-
focusedKey,
|
|
238
|
-
items: options,
|
|
239
|
-
itemRender: optionRender,
|
|
240
|
-
onClick: onChange
|
|
241
|
-
}
|
|
242
|
-
) : Array.isArray(suggestions) ? /* @__PURE__ */ import_react.default.createElement(
|
|
243
|
-
import_List.default,
|
|
245
|
+
const popup = /* @__PURE__ */ import_react.default.createElement(
|
|
246
|
+
"div",
|
|
244
247
|
{
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
248
|
+
className: `${prefixCls}-popup`,
|
|
249
|
+
tabIndex: 0,
|
|
250
|
+
id: listboxId,
|
|
251
|
+
role: "listbox"
|
|
252
|
+
},
|
|
253
|
+
Array.isArray(options) ? /* @__PURE__ */ import_react.default.createElement(
|
|
254
|
+
import_List.default,
|
|
255
|
+
{
|
|
256
|
+
focusedKey,
|
|
257
|
+
items: options,
|
|
258
|
+
itemRender: optionRender,
|
|
259
|
+
onClick: onChange
|
|
260
|
+
}
|
|
261
|
+
) : Array.isArray(suggestions) ? /* @__PURE__ */ import_react.default.createElement(
|
|
262
|
+
import_List.default,
|
|
263
|
+
{
|
|
264
|
+
focusedKey,
|
|
265
|
+
items: suggestions,
|
|
266
|
+
itemRender: suggestionRender,
|
|
267
|
+
onClick: onChange
|
|
268
|
+
}
|
|
269
|
+
) : null
|
|
270
|
+
);
|
|
271
|
+
return /* @__PURE__ */ import_react.default.createElement(import_Trigger.default, { popup, open, stretch: "width", onOpenChange: setOpen }, /* @__PURE__ */ import_react.default.createElement(
|
|
252
272
|
"div",
|
|
253
273
|
{
|
|
254
274
|
className: getRootClassName(),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @import '../../style/index.less';
|
|
2
2
|
|
|
3
|
-
@
|
|
3
|
+
@cls: ~'yee-search';
|
|
4
4
|
|
|
5
|
-
.@{
|
|
5
|
+
.@{cls} {
|
|
6
6
|
position: relative;
|
|
7
7
|
display: inline-flex;
|
|
8
8
|
align-items: center;
|
|
@@ -69,9 +69,10 @@
|
|
|
69
69
|
border: none;
|
|
70
70
|
outline: none;
|
|
71
71
|
transition: all 0.2s;
|
|
72
|
+
line-height: var(--yee-input-line-height);
|
|
72
73
|
|
|
73
74
|
&::placeholder {
|
|
74
|
-
color: var(--yee-
|
|
75
|
+
color: var(--yee-placeholder-color);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
&-disabled {
|
|
@@ -99,7 +100,17 @@
|
|
|
99
100
|
color: var(--yee-input-fix-icon-color);
|
|
100
101
|
}
|
|
101
102
|
|
|
103
|
+
&-search-icon {
|
|
104
|
+
display: inline-flex;
|
|
105
|
+
}
|
|
106
|
+
|
|
102
107
|
&-clear-icon {
|
|
108
|
+
display: inline-flex;
|
|
109
|
+
padding: var(--yee-input-clear-padding);
|
|
110
|
+
color: var(--yee-input-clear-color);
|
|
111
|
+
background-color: var(--yee-input-clear-bg-color);
|
|
112
|
+
border-radius: 50%;
|
|
113
|
+
visibility: hidden;
|
|
103
114
|
cursor: pointer;
|
|
104
115
|
transition: color 0.2s;
|
|
105
116
|
|
|
@@ -108,6 +119,12 @@
|
|
|
108
119
|
}
|
|
109
120
|
}
|
|
110
121
|
|
|
122
|
+
&&-with-clear:not(.@{cls}-disabled):hover {
|
|
123
|
+
.@{cls}-clear-icon {
|
|
124
|
+
visibility: visible;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
111
128
|
&-button {
|
|
112
129
|
display: flex;
|
|
113
130
|
align-items: center;
|
|
@@ -97,7 +97,8 @@
|
|
|
97
97
|
width: 15px;
|
|
98
98
|
right: -15px;
|
|
99
99
|
top: 0;
|
|
100
|
-
box-shadow: inset 4px 0 8px -4px
|
|
100
|
+
box-shadow: inset 4px 0 8px -4px
|
|
101
|
+
var(--yee-table-fixed-left-after-bs-color);
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
|
|
@@ -111,7 +112,8 @@
|
|
|
111
112
|
width: 15px;
|
|
112
113
|
left: -15px;
|
|
113
114
|
top: 0;
|
|
114
|
-
box-shadow: inset -4px 0 8px -4px
|
|
115
|
+
box-shadow: inset -4px 0 8px -4px
|
|
116
|
+
var(--yee-table-fixed-right-after-bs-color);
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
119
|
}
|
|
@@ -99,11 +99,11 @@ var TableCell = (props) => {
|
|
|
99
99
|
},
|
|
100
100
|
className
|
|
101
101
|
);
|
|
102
|
-
const
|
|
102
|
+
const _style = __spreadProps(__spreadValues({}, style), { width, maxWidth: width, textAlign: align });
|
|
103
103
|
const _title = typeof title === "string" ? title : void 0;
|
|
104
104
|
return __spreadProps(__spreadValues({}, cellProperty), {
|
|
105
105
|
className: cls,
|
|
106
|
-
style:
|
|
106
|
+
style: _style,
|
|
107
107
|
title: _title
|
|
108
108
|
});
|
|
109
109
|
};
|
|
@@ -115,7 +115,6 @@ export interface TransferListProps {
|
|
|
115
115
|
total?: number;
|
|
116
116
|
};
|
|
117
117
|
draggable?: boolean;
|
|
118
|
-
targetMinCountLimit?: number;
|
|
119
118
|
onDrop?: (dropObj: Record<string, any>, dataSource: DataSource[]) => void;
|
|
120
119
|
onDelete?: (key: string | number) => void;
|
|
121
120
|
onItemSelect: (keys: Array<string | number>) => void;
|
|
@@ -66,6 +66,10 @@
|
|
|
66
66
|
line-height: var(--yee-transfer-list-item-height, 32px);
|
|
67
67
|
padding: var(--yee-transfer-list-item-padding, 0 11px);
|
|
68
68
|
|
|
69
|
+
&-checkbox {
|
|
70
|
+
width: 100%;
|
|
71
|
+
}
|
|
72
|
+
|
|
69
73
|
&:hover:not(.yee-one-way):not(.disabled) {
|
|
70
74
|
color: var(--yee-transfer-list-content-item-hover-color);
|
|
71
75
|
background-color: var(--yee-transfer-list-content-item-hover-bg-color);
|
|
@@ -201,6 +201,7 @@ var TransferList = (props) => {
|
|
|
201
201
|
return /* @__PURE__ */ import_react.default.createElement("ul", { className: `${prefixCls}-list-body` }, checkboxOptions.map((option, index) => /* @__PURE__ */ import_react.default.createElement("li", { className: `${prefixCls}-list-item`, key: option.value || index }, /* @__PURE__ */ import_react.default.createElement(
|
|
202
202
|
import_Checkbox.default,
|
|
203
203
|
{
|
|
204
|
+
className: `${prefixCls}-list-item-checkbox`,
|
|
204
205
|
value: option.value,
|
|
205
206
|
disabled: option.disabled || disabled,
|
|
206
207
|
checked: checkedKeys.includes(option.value),
|
|
@@ -107,9 +107,7 @@ var useMessage = () => {
|
|
|
107
107
|
updateMessages((current) => {
|
|
108
108
|
const exists = current.some((item) => item.key === key);
|
|
109
109
|
if (exists) {
|
|
110
|
-
return current.map(
|
|
111
|
-
(item) => item.key === key ? nextMessage : item
|
|
112
|
-
);
|
|
110
|
+
return current.map((item) => item.key === key ? nextMessage : item);
|
|
113
111
|
}
|
|
114
112
|
return [...current, nextMessage];
|
|
115
113
|
});
|
|
@@ -64,9 +64,9 @@ module.exports = __toCommonJS(notice_exports);
|
|
|
64
64
|
var import_clsx = __toESM(require("clsx"));
|
|
65
65
|
var import_lucide_react = require("lucide-react");
|
|
66
66
|
var import_react = __toESM(require("react"));
|
|
67
|
+
var import_Button = __toESM(require("../Button"));
|
|
67
68
|
var import_Progress = __toESM(require("../Progress"));
|
|
68
69
|
var import_useCountdown = __toESM(require("../hooks/useCountdown"));
|
|
69
|
-
var import_Button = __toESM(require("../Button"));
|
|
70
70
|
var icons = {
|
|
71
71
|
info: /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Info, { size: 22, fill: "currentColor", stroke: "#FFF", strokeWidth: 2 }),
|
|
72
72
|
success: /* @__PURE__ */ import_react.default.createElement(import_lucide_react.CircleCheck, { size: 22, fill: "currentColor", stroke: "#FFF", strokeWidth: 2 }),
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -74,7 +74,8 @@ var Checkbox = function Checkbox(baseprops) {
|
|
|
74
74
|
"aria-hidden": "true"
|
|
75
75
|
})), children ? /*#__PURE__*/React.createElement("span", {
|
|
76
76
|
className: clsx("".concat(prefixCls, "-label"), classNames === null || classNames === void 0 ? void 0 : classNames.label),
|
|
77
|
-
style: styles === null || styles === void 0 ? void 0 : styles.label
|
|
77
|
+
style: styles === null || styles === void 0 ? void 0 : styles.label,
|
|
78
|
+
title: typeof children === 'string' ? children : undefined
|
|
78
79
|
}, children) : null);
|
|
79
80
|
};
|
|
80
81
|
Checkbox.displayName = 'Checkbox';
|
|
@@ -1,15 +1,69 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import React, { useMemo, useState } from 'react';
|
|
2
8
|
import Search from "../index";
|
|
9
|
+
var people = [{
|
|
10
|
+
key: 'ada',
|
|
11
|
+
value: 'ada',
|
|
12
|
+
label: 'Ada Lovelace'
|
|
13
|
+
}, {
|
|
14
|
+
key: 'grace',
|
|
15
|
+
value: 'grace',
|
|
16
|
+
label: 'Grace Hopper'
|
|
17
|
+
}, {
|
|
18
|
+
key: 'alan',
|
|
19
|
+
value: 'alan',
|
|
20
|
+
label: 'Alan Turing'
|
|
21
|
+
}, {
|
|
22
|
+
key: 'margaret',
|
|
23
|
+
value: 'margaret',
|
|
24
|
+
label: 'Margaret Hamilton'
|
|
25
|
+
}];
|
|
3
26
|
export default (function () {
|
|
4
|
-
var
|
|
5
|
-
|
|
27
|
+
var _useState = useState(''),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
keyword = _useState2[0],
|
|
30
|
+
setKeyword = _useState2[1];
|
|
31
|
+
var _useState3 = useState(null),
|
|
32
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
33
|
+
selected = _useState4[0],
|
|
34
|
+
setSelected = _useState4[1];
|
|
35
|
+
var results = useMemo(function () {
|
|
36
|
+
var normalizedKeyword = keyword.trim().toLowerCase();
|
|
37
|
+
var matched = people.filter(function (person) {
|
|
38
|
+
return String(person.label).toLowerCase().includes(normalizedKeyword);
|
|
39
|
+
});
|
|
40
|
+
return matched.length > 0 ? matched : [{
|
|
41
|
+
key: 'empty',
|
|
42
|
+
value: 'empty',
|
|
43
|
+
label: 'No results found',
|
|
44
|
+
disabled: true
|
|
45
|
+
}];
|
|
46
|
+
}, [keyword]);
|
|
47
|
+
var handleSelect = function handleSelect(option) {
|
|
48
|
+
setSelected(option);
|
|
49
|
+
if (option) {
|
|
50
|
+
setKeyword(String(option.label));
|
|
51
|
+
}
|
|
6
52
|
};
|
|
7
53
|
return /*#__PURE__*/React.createElement("div", {
|
|
8
54
|
style: {
|
|
9
|
-
width:
|
|
55
|
+
width: 320
|
|
10
56
|
}
|
|
11
57
|
}, /*#__PURE__*/React.createElement(Search, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
58
|
+
allowClear: true,
|
|
59
|
+
value: keyword,
|
|
60
|
+
options: results,
|
|
61
|
+
placeholder: "Search people",
|
|
62
|
+
onSearch: setKeyword,
|
|
63
|
+
onChange: handleSelect
|
|
64
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
style: {
|
|
66
|
+
marginTop: 12
|
|
67
|
+
}
|
|
68
|
+
}, "Selected: ", selected ? String(selected.label) : 'None'));
|
|
15
69
|
});
|
|
@@ -50,7 +50,7 @@ export interface SearchProps extends Omit<React.InputHTMLAttributes<HTMLInputEle
|
|
|
50
50
|
/**
|
|
51
51
|
* @description Suffix content
|
|
52
52
|
*/
|
|
53
|
-
suffix?: React.ReactNode;
|
|
53
|
+
suffix?: React.ReactNode | false;
|
|
54
54
|
/**
|
|
55
55
|
* @description Whether disabled
|
|
56
56
|
* @default false
|
|
@@ -74,7 +74,7 @@ export interface SearchProps extends Omit<React.InputHTMLAttributes<HTMLInputEle
|
|
|
74
74
|
* @description trigger search event
|
|
75
75
|
* @default 'typing'
|
|
76
76
|
*/
|
|
77
|
-
searchOnAction?: 'typing' | 'enter';
|
|
77
|
+
searchOnAction?: 'typing' | 'enter' | 'button';
|
|
78
78
|
/**
|
|
79
79
|
* @description suggest data
|
|
80
80
|
*/
|