@rainbow-oh/yee-c 0.4.0 → 0.4.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/Anchor/anchor.js +29 -14
- package/dist/cjs/Button/demo/basic.js +1 -1
- package/dist/cjs/Button/demo/variant.d.ts +3 -0
- package/dist/cjs/Button/demo/variant.js +59 -0
- package/dist/cjs/Button/style/index.less +49 -11
- package/dist/cjs/DatePicker/date-picker-mobile.js +1 -1
- package/dist/cjs/Ellipsis/ellipsis.js +4 -2
- package/dist/cjs/Form/Form.js +1 -1
- package/dist/cjs/Form/form-store.js +2 -2
- package/dist/cjs/Form/{useForm.d.ts → hooks/useForm.d.ts} +1 -1
- package/dist/cjs/Form/{useForm.js → hooks/useForm.js} +4 -7
- package/dist/cjs/Form/hooks/useFormInstance.d.ts +1 -0
- package/dist/cjs/Form/hooks/useFormInstance.js +43 -0
- package/dist/{esm/Form → cjs/Form/hooks}/useWatch.d.ts +1 -1
- package/dist/cjs/Form/{useWatch.js → hooks/useWatch.js} +2 -2
- package/dist/cjs/Form/index.d.ts +4 -2
- package/dist/cjs/Form/index.js +4 -2
- package/dist/cjs/Input/password.js +5 -2
- package/dist/cjs/Pagination/pagination.js +4 -1
- package/dist/cjs/RangePicker/range-picker-mobile.js +3 -3
- package/dist/cjs/Space/compact.js +1 -1
- package/dist/cjs/Space/demo/compact.js +1 -13
- package/dist/cjs/Space/space.js +3 -1
- package/dist/cjs/Space/style/index.less +29 -9
- package/dist/cjs/Table/tbody/index.js +4 -1
- package/dist/cjs/Table/theader/filter.js +10 -5
- package/dist/cjs/TextArea/textarea.js +2 -1
- package/dist/cjs/Transfer/transfer-list.js +4 -1
- package/dist/cjs/locale/interface.d.ts +15 -0
- package/dist/cjs/locale/lang/en_US.js +12 -0
- package/dist/cjs/locale/lang/ja_JP.js +12 -0
- package/dist/cjs/locale/lang/zh_CN.js +12 -0
- package/dist/cjs/locale/lang/zh_TW.js +12 -0
- package/dist/cjs/style/size.css +1 -1
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +2 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Anchor/anchor.js +37 -15
- package/dist/esm/Button/demo/basic.js +1 -0
- package/dist/esm/Button/demo/variant.d.ts +3 -0
- package/dist/esm/Button/demo/variant.js +49 -0
- package/dist/esm/Button/style/index.less +49 -11
- package/dist/esm/DatePicker/date-picker-mobile.js +1 -1
- package/dist/esm/Ellipsis/ellipsis.js +5 -2
- package/dist/esm/Form/Form.js +1 -1
- package/dist/esm/Form/form-store.js +2 -2
- package/dist/esm/Form/{useForm.d.ts → hooks/useForm.d.ts} +1 -1
- package/dist/esm/Form/{useForm.js → hooks/useForm.js} +3 -4
- package/dist/esm/Form/hooks/useFormInstance.d.ts +1 -0
- package/dist/esm/Form/hooks/useFormInstance.js +9 -0
- package/dist/{cjs/Form → esm/Form/hooks}/useWatch.d.ts +1 -1
- package/dist/esm/Form/{useWatch.js → hooks/useWatch.js} +1 -1
- package/dist/esm/Form/index.d.ts +4 -2
- package/dist/esm/Form/index.js +4 -2
- package/dist/esm/Input/password.js +6 -2
- package/dist/esm/Pagination/pagination.js +5 -1
- package/dist/esm/RangePicker/range-picker-mobile.js +3 -3
- package/dist/esm/Space/compact.js +1 -1
- package/dist/esm/Space/demo/compact.js +5 -14
- package/dist/esm/Space/space.js +3 -1
- package/dist/esm/Space/style/index.less +29 -9
- package/dist/esm/Table/tbody/index.js +5 -1
- package/dist/esm/Table/theader/filter.js +18 -13
- package/dist/esm/TextArea/textarea.js +2 -1
- package/dist/esm/Transfer/transfer-list.js +5 -1
- package/dist/esm/locale/interface.d.ts +15 -0
- package/dist/esm/locale/lang/en_US.js +12 -0
- package/dist/esm/locale/lang/ja_JP.js +12 -0
- package/dist/esm/locale/lang/zh_CN.js +12 -0
- package/dist/esm/locale/lang/zh_TW.js +12 -0
- package/dist/esm/style/size.css +1 -1
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +2 -2
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +2 -2
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Anchor/anchor.tsx +35 -16
- package/src/Button/demo/basic.tsx +3 -1
- package/src/Button/demo/variant.tsx +55 -0
- package/src/Button/index.en-US.md +1 -0
- package/src/Button/index.zh-CN.md +1 -0
- package/src/Button/style/index.less +49 -11
- package/src/DatePicker/date-picker-mobile.tsx +1 -1
- package/src/Ellipsis/ellipsis.tsx +6 -6
- package/src/Form/Form.tsx +1 -1
- package/src/Form/form-store.ts +2 -2
- package/src/Form/{useForm.ts → hooks/useForm.ts} +4 -6
- package/src/Form/hooks/useFormInstance.ts +12 -0
- package/src/Form/{useWatch.ts → hooks/useWatch.ts} +2 -2
- package/src/Form/index.en-US.md +2 -0
- package/src/Form/index.ts +5 -2
- package/src/Form/index.zh-CN.md +2 -0
- package/src/Input/password.tsx +5 -2
- package/src/Pagination/pagination.tsx +4 -1
- package/src/RangePicker/range-picker-mobile.tsx +4 -4
- package/src/Space/compact.tsx +1 -1
- package/src/Space/demo/compact.tsx +3 -13
- package/src/Space/space.tsx +4 -1
- package/src/Space/style/index.less +29 -9
- package/src/Table/tbody/index.tsx +4 -1
- package/src/Table/theader/filter.tsx +14 -11
- package/src/TextArea/textarea.tsx +3 -1
- package/src/Transfer/transfer-list.tsx +4 -1
- package/src/locale/interface.ts +21 -0
- package/src/locale/lang/en_US.ts +15 -0
- package/src/locale/lang/ja_JP.ts +15 -0
- package/src/locale/lang/zh_CN.ts +15 -0
- package/src/locale/lang/zh_TW.ts +15 -0
- package/src/style/size.css +1 -1
- package/src/version.ts +1 -1
|
@@ -18,12 +18,22 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
&-compact {
|
|
21
|
+
display: inline-flex;
|
|
21
22
|
align-items: flex-end;
|
|
22
23
|
|
|
23
24
|
&-first-item {
|
|
24
25
|
margin-inline-end: -1px;
|
|
26
|
+
border-top-right-radius: 0;
|
|
27
|
+
border-bottom-right-radius: 0;
|
|
28
|
+
|
|
29
|
+
&:hover,
|
|
30
|
+
&:active {
|
|
31
|
+
position: relative;
|
|
32
|
+
z-index: 1;
|
|
33
|
+
}
|
|
25
34
|
|
|
26
35
|
.yee-input-wrapper,
|
|
36
|
+
.yee-input,
|
|
27
37
|
.yee-tags,
|
|
28
38
|
&.yee-btn {
|
|
29
39
|
border-top-right-radius: 0;
|
|
@@ -39,6 +49,13 @@
|
|
|
39
49
|
|
|
40
50
|
&-middle-item {
|
|
41
51
|
margin-inline-end: -1px;
|
|
52
|
+
border-radius: 0;
|
|
53
|
+
|
|
54
|
+
&:hover,
|
|
55
|
+
&:active {
|
|
56
|
+
position: relative;
|
|
57
|
+
z-index: 1;
|
|
58
|
+
}
|
|
42
59
|
|
|
43
60
|
.yee-input-wrapper,
|
|
44
61
|
.yee-tags,
|
|
@@ -52,19 +69,22 @@
|
|
|
52
69
|
z-index: 1;
|
|
53
70
|
}
|
|
54
71
|
}
|
|
72
|
+
|
|
73
|
+
&-last-item {
|
|
74
|
+
border-top-left-radius: 0;
|
|
75
|
+
border-bottom-left-radius: 0;
|
|
76
|
+
|
|
77
|
+
.yee-input-wrapper,
|
|
78
|
+
.yee-tags,
|
|
79
|
+
&.yee-btn {
|
|
80
|
+
border-top-left-radius: 0;
|
|
81
|
+
border-bottom-left-radius: 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
55
84
|
}
|
|
56
85
|
|
|
57
86
|
&-item {
|
|
58
87
|
// flex: 1 1 auto;
|
|
59
88
|
display: inline-flex;
|
|
60
89
|
}
|
|
61
|
-
|
|
62
|
-
&-last-item {
|
|
63
|
-
.yee-input-wrapper,
|
|
64
|
-
.yee-tags,
|
|
65
|
-
&.yee-btn {
|
|
66
|
-
border-top-left-radius: 0;
|
|
67
|
-
border-bottom-left-radius: 0;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
90
|
}
|
|
@@ -62,13 +62,16 @@ __export(tbody_exports, {
|
|
|
62
62
|
});
|
|
63
63
|
module.exports = __toCommonJS(tbody_exports);
|
|
64
64
|
var import_react = __toESM(require("react"));
|
|
65
|
+
var import_locale = require("../../locale");
|
|
65
66
|
var import_table = require("../table");
|
|
66
67
|
var import_lazy_row = __toESM(require("./lazy-row"));
|
|
67
68
|
var import_row = __toESM(require("./row"));
|
|
68
69
|
var TableBody = (props) => {
|
|
69
70
|
const _a = props, { columns, pageData, lazyLoad } = _a, rest = __objRest(_a, ["columns", "pageData", "lazyLoad"]);
|
|
70
71
|
const { prefixCls } = import_react.default.useContext(import_table.TableCtx);
|
|
71
|
-
const
|
|
72
|
+
const { locale } = (0, import_locale.useLocale)();
|
|
73
|
+
const { table: tableLocale } = locale;
|
|
74
|
+
const empty = /* @__PURE__ */ import_react.default.createElement("tbody", { className: `${prefixCls}-tbody` }, /* @__PURE__ */ import_react.default.createElement("tr", { className: `${prefixCls}-no-record` }, /* @__PURE__ */ import_react.default.createElement("td", { colSpan: 999 }, tableLocale.emptyText)));
|
|
72
75
|
const dataLength = pageData.length;
|
|
73
76
|
if (dataLength === 0)
|
|
74
77
|
return empty;
|
|
@@ -41,6 +41,7 @@ var import_Input = __toESM(require("../../Input"));
|
|
|
41
41
|
var import_Popover = __toESM(require("../../Popover"));
|
|
42
42
|
var import_Space = __toESM(require("../../Space"));
|
|
43
43
|
var import_Tree = __toESM(require("../../Tree"));
|
|
44
|
+
var import_locale = require("../../locale");
|
|
44
45
|
var import_table = require("../table");
|
|
45
46
|
var getStrLower = (str) => {
|
|
46
47
|
if (typeof str === "string") {
|
|
@@ -51,6 +52,8 @@ var getStrLower = (str) => {
|
|
|
51
52
|
var HeaderFilter = import_react.default.memo((props) => {
|
|
52
53
|
const { filter, column, getContainer, onInternalFilter } = props;
|
|
53
54
|
const { prefixCls } = (0, import_react.useContext)(import_table.TableCtx);
|
|
55
|
+
const { locale } = (0, import_locale.useLocale)();
|
|
56
|
+
const { table: tableLocale } = locale;
|
|
54
57
|
const { dataIndex } = column;
|
|
55
58
|
const inputRef = (0, import_react.useRef)(null);
|
|
56
59
|
const [open, setOpen] = (0, import_react.useState)(false);
|
|
@@ -102,6 +105,7 @@ var HeaderFilter = import_react.default.memo((props) => {
|
|
|
102
105
|
ok("search");
|
|
103
106
|
}
|
|
104
107
|
},
|
|
108
|
+
size: "small",
|
|
105
109
|
ref: inputRef
|
|
106
110
|
}
|
|
107
111
|
) : null;
|
|
@@ -120,7 +124,7 @@ var HeaderFilter = import_react.default.memo((props) => {
|
|
|
120
124
|
dataSource = [
|
|
121
125
|
{
|
|
122
126
|
key: "all",
|
|
123
|
-
label:
|
|
127
|
+
label: tableLocale.filterAll,
|
|
124
128
|
children: filteredItems
|
|
125
129
|
}
|
|
126
130
|
];
|
|
@@ -134,15 +138,15 @@ var HeaderFilter = import_react.default.memo((props) => {
|
|
|
134
138
|
checkedKeys: selectNodes,
|
|
135
139
|
onCheck: (keys) => setSelectNodes(keys)
|
|
136
140
|
}
|
|
137
|
-
), /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { style: { margin: "8px 0" } }), /* @__PURE__ */ import_react.default.createElement(import_Space.default, { block: true, style: { justifyContent: "flex-end" } }, /* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: reset },
|
|
141
|
+
), /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { style: { margin: "8px 0" } }), /* @__PURE__ */ import_react.default.createElement(import_Space.default, { block: true, style: { justifyContent: "flex-end" } }, /* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: reset }, tableLocale.filterReset), /* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: () => ok("filter"), type: "primary" }, tableLocale.filterConfirm)));
|
|
138
142
|
} else if (searchable) {
|
|
139
143
|
popup = /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-filter-content`) }, searchInputNode, /* @__PURE__ */ import_react.default.createElement(
|
|
140
144
|
import_Space.default,
|
|
141
145
|
{
|
|
142
146
|
style: { marginTop: 12, justifyContent: "flex-end", width: "100%" }
|
|
143
147
|
},
|
|
144
|
-
/* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: reset },
|
|
145
|
-
/* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: () => ok("search"), type: "primary" },
|
|
148
|
+
/* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: reset }, tableLocale.filterReset),
|
|
149
|
+
/* @__PURE__ */ import_react.default.createElement(import_Button.default, { size: "small", onClick: () => ok("search"), type: "primary" }, tableLocale.filterConfirm)
|
|
146
150
|
));
|
|
147
151
|
} else {
|
|
148
152
|
return null;
|
|
@@ -154,7 +158,8 @@ var HeaderFilter = import_react.default.memo((props) => {
|
|
|
154
158
|
const trigger = typeof icon === "function" ? icon() : /* @__PURE__ */ import_react.default.createElement(
|
|
155
159
|
import_Button.default,
|
|
156
160
|
{
|
|
157
|
-
icon: items ? /* @__PURE__ */ import_react.default.createElement(import_lucide_react.
|
|
161
|
+
icon: items ? /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ListFilter, { size: 14, strokeWidth: 1.5 }) : /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Search, { size: 14, strokeWidth: 1.5 }),
|
|
162
|
+
color: "info",
|
|
158
163
|
type: "text",
|
|
159
164
|
size: "small"
|
|
160
165
|
}
|
|
@@ -106,6 +106,7 @@ var TextArea = (0, import_react.forwardRef)(
|
|
|
106
106
|
value,
|
|
107
107
|
defaultValue
|
|
108
108
|
});
|
|
109
|
+
console.log("mergedValue: ", mergedValue, value);
|
|
109
110
|
(0, import_react.useEffect)(() => {
|
|
110
111
|
const ele = componentRef.current;
|
|
111
112
|
if (ele && autoSize) {
|
|
@@ -170,7 +171,7 @@ var TextArea = (0, import_react.forwardRef)(
|
|
|
170
171
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
171
172
|
"textarea",
|
|
172
173
|
__spreadProps(__spreadValues(__spreadValues({}, rest), props2), {
|
|
173
|
-
value: mergedValue,
|
|
174
|
+
value: mergedValue || "",
|
|
174
175
|
onChange: handleChange,
|
|
175
176
|
ref: componentRef
|
|
176
177
|
})
|
|
@@ -55,6 +55,7 @@ var import_react = __toESM(require("react"));
|
|
|
55
55
|
var import_Button = __toESM(require("../Button"));
|
|
56
56
|
var import_Checkbox = __toESM(require("../Checkbox"));
|
|
57
57
|
var import_Input = __toESM(require("../Input"));
|
|
58
|
+
var import_locale = require("../locale");
|
|
58
59
|
var import_Pagination = __toESM(require("../Pagination"));
|
|
59
60
|
var import_transfer = require("./transfer");
|
|
60
61
|
var TransferList = (props) => {
|
|
@@ -71,6 +72,8 @@ var TransferList = (props) => {
|
|
|
71
72
|
onItemSelectAll
|
|
72
73
|
} = props;
|
|
73
74
|
const { rowKey, rowLabel, disabled, prefixCls } = (0, import_react.useContext)(import_transfer.TransferContext);
|
|
75
|
+
const { locale } = (0, import_locale.useLocale)();
|
|
76
|
+
const { transfer: transferLocale } = locale;
|
|
74
77
|
const [searchValue, setSearchValue] = (0, import_react.useState)("");
|
|
75
78
|
const [current, setCurrent] = (0, import_react.useState)(1);
|
|
76
79
|
const [pageSize, setPageSize] = (0, import_react.useState)((_a = pagination == null ? void 0 : pagination.pageSize) != null ? _a : 5);
|
|
@@ -149,7 +152,7 @@ var TransferList = (props) => {
|
|
|
149
152
|
import_Input.default,
|
|
150
153
|
{
|
|
151
154
|
prefix: /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Search, { size: 16 }),
|
|
152
|
-
placeholder:
|
|
155
|
+
placeholder: transferLocale.searchPlaceholder,
|
|
153
156
|
onChange: handleSearch
|
|
154
157
|
}
|
|
155
158
|
));
|
|
@@ -26,6 +26,17 @@ export interface LocaleRangePicker {
|
|
|
26
26
|
export interface LocaleSelect {
|
|
27
27
|
noData: string;
|
|
28
28
|
}
|
|
29
|
+
export interface LocaleInput {
|
|
30
|
+
showPassword: string;
|
|
31
|
+
hidePassword: string;
|
|
32
|
+
}
|
|
33
|
+
export interface LocaleEllipsis {
|
|
34
|
+
expand: string;
|
|
35
|
+
collapse: string;
|
|
36
|
+
}
|
|
37
|
+
export interface LocaleTransfer {
|
|
38
|
+
searchPlaceholder: string;
|
|
39
|
+
}
|
|
29
40
|
export interface LocaleWeekPicker {
|
|
30
41
|
weekHeader: string[];
|
|
31
42
|
}
|
|
@@ -34,6 +45,7 @@ export interface LocaleTable {
|
|
|
34
45
|
filterConfirm: string;
|
|
35
46
|
filterReset: string;
|
|
36
47
|
filterEmptyText: string;
|
|
48
|
+
filterAll: string;
|
|
37
49
|
selectAll?: string;
|
|
38
50
|
selectInvert?: string;
|
|
39
51
|
selectNone?: string;
|
|
@@ -92,6 +104,9 @@ export interface Locale {
|
|
|
92
104
|
datepicker: LocaleDatePicker;
|
|
93
105
|
rangepicker: LocaleRangePicker;
|
|
94
106
|
select: LocaleSelect;
|
|
107
|
+
input: LocaleInput;
|
|
108
|
+
ellipsis: LocaleEllipsis;
|
|
109
|
+
transfer: LocaleTransfer;
|
|
95
110
|
weekpicker: LocaleWeekPicker;
|
|
96
111
|
table: LocaleTable;
|
|
97
112
|
pagination: LocalePagination;
|
|
@@ -87,6 +87,17 @@ var locale = {
|
|
|
87
87
|
select: {
|
|
88
88
|
noData: "No Data"
|
|
89
89
|
},
|
|
90
|
+
input: {
|
|
91
|
+
showPassword: "Show password",
|
|
92
|
+
hidePassword: "Hide password"
|
|
93
|
+
},
|
|
94
|
+
ellipsis: {
|
|
95
|
+
expand: "Expand",
|
|
96
|
+
collapse: "Collapse"
|
|
97
|
+
},
|
|
98
|
+
transfer: {
|
|
99
|
+
searchPlaceholder: "Search"
|
|
100
|
+
},
|
|
90
101
|
weekpicker: {
|
|
91
102
|
weekHeader: ["", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
|
|
92
103
|
},
|
|
@@ -95,6 +106,7 @@ var locale = {
|
|
|
95
106
|
filterConfirm: "Confirm",
|
|
96
107
|
filterReset: "Reset",
|
|
97
108
|
filterEmptyText: "No filters",
|
|
109
|
+
filterAll: "All",
|
|
98
110
|
selectAll: "Select All",
|
|
99
111
|
selectInvert: "Invert Selection",
|
|
100
112
|
selectNone: "Clear Selection",
|
|
@@ -87,6 +87,17 @@ var locale = {
|
|
|
87
87
|
select: {
|
|
88
88
|
noData: "データなし"
|
|
89
89
|
},
|
|
90
|
+
input: {
|
|
91
|
+
showPassword: "パスワードを表示",
|
|
92
|
+
hidePassword: "パスワードを非表示"
|
|
93
|
+
},
|
|
94
|
+
ellipsis: {
|
|
95
|
+
expand: "展開",
|
|
96
|
+
collapse: "折りたたむ"
|
|
97
|
+
},
|
|
98
|
+
transfer: {
|
|
99
|
+
searchPlaceholder: "検索"
|
|
100
|
+
},
|
|
90
101
|
weekpicker: {
|
|
91
102
|
weekHeader: ["", "日", "月", "火", "水", "木", "金", "土"]
|
|
92
103
|
},
|
|
@@ -95,6 +106,7 @@ var locale = {
|
|
|
95
106
|
filterConfirm: "確認",
|
|
96
107
|
filterReset: "リセット",
|
|
97
108
|
filterEmptyText: "フィルターなし",
|
|
109
|
+
filterAll: "すべて",
|
|
98
110
|
selectAll: "すべて選択",
|
|
99
111
|
selectInvert: "選択を反転",
|
|
100
112
|
selectNone: "選択をクリア",
|
|
@@ -78,6 +78,17 @@ var locale = {
|
|
|
78
78
|
select: {
|
|
79
79
|
noData: "暂无数据"
|
|
80
80
|
},
|
|
81
|
+
input: {
|
|
82
|
+
showPassword: "显示密码",
|
|
83
|
+
hidePassword: "隐藏密码"
|
|
84
|
+
},
|
|
85
|
+
ellipsis: {
|
|
86
|
+
expand: "展开",
|
|
87
|
+
collapse: "收起"
|
|
88
|
+
},
|
|
89
|
+
transfer: {
|
|
90
|
+
searchPlaceholder: "搜索"
|
|
91
|
+
},
|
|
81
92
|
weekpicker: {
|
|
82
93
|
weekHeader: ["", "日", "一", "二", "三", "四", "五", "六"]
|
|
83
94
|
},
|
|
@@ -86,6 +97,7 @@ var locale = {
|
|
|
86
97
|
filterConfirm: "确定",
|
|
87
98
|
filterReset: "重置",
|
|
88
99
|
filterEmptyText: "无筛选条件",
|
|
100
|
+
filterAll: "全部",
|
|
89
101
|
selectAll: "全选",
|
|
90
102
|
selectInvert: "反选",
|
|
91
103
|
selectNone: "清空选择",
|
|
@@ -78,6 +78,17 @@ var locale = {
|
|
|
78
78
|
select: {
|
|
79
79
|
noData: "暫無資料"
|
|
80
80
|
},
|
|
81
|
+
input: {
|
|
82
|
+
showPassword: "顯示密碼",
|
|
83
|
+
hidePassword: "隱藏密碼"
|
|
84
|
+
},
|
|
85
|
+
ellipsis: {
|
|
86
|
+
expand: "展開",
|
|
87
|
+
collapse: "收合"
|
|
88
|
+
},
|
|
89
|
+
transfer: {
|
|
90
|
+
searchPlaceholder: "搜尋"
|
|
91
|
+
},
|
|
81
92
|
weekpicker: {
|
|
82
93
|
weekHeader: ["", "日", "一", "二", "三", "四", "五", "六"]
|
|
83
94
|
},
|
|
@@ -86,6 +97,7 @@ var locale = {
|
|
|
86
97
|
filterConfirm: "確定",
|
|
87
98
|
filterReset: "重置",
|
|
88
99
|
filterEmptyText: "無篩選條件",
|
|
100
|
+
filterAll: "全部",
|
|
89
101
|
selectAll: "全選",
|
|
90
102
|
selectInvert: "反選",
|
|
91
103
|
selectNone: "清空選擇",
|
package/dist/cjs/style/size.css
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
--yee-btn-border-radius: 4px;
|
|
97
97
|
--yee-btn-loading-margin-inline-end: 6px;
|
|
98
98
|
--yee-btn-border-width: 1px;
|
|
99
|
-
--yee-btn-solid-active-box-shadow: 0 0
|
|
99
|
+
--yee-btn-solid-active-box-shadow: 0 0 4px 0;
|
|
100
100
|
--yee-btn-circle-min-width: 32px;
|
|
101
101
|
--yee-btn-icon-gap: 4px;
|
|
102
102
|
--yee-btn-disabled-opacity: 0.5;
|
|
@@ -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-
|
|
4
|
+
* Generated on 2026-07-01T03:21:30.989Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/* ========== color.css ========== */
|
|
@@ -1214,7 +1214,7 @@
|
|
|
1214
1214
|
--yee-btn-border-radius: 4px;
|
|
1215
1215
|
--yee-btn-loading-margin-inline-end: 6px;
|
|
1216
1216
|
--yee-btn-border-width: 1px;
|
|
1217
|
-
--yee-btn-solid-active-box-shadow: 0 0
|
|
1217
|
+
--yee-btn-solid-active-box-shadow: 0 0 4px 0;
|
|
1218
1218
|
--yee-btn-circle-min-width: 32px;
|
|
1219
1219
|
--yee-btn-icon-gap: 4px;
|
|
1220
1220
|
--yee-btn-disabled-opacity: 0.5;
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -14,10 +14,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
14
14
|
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; }
|
|
15
15
|
import clsx from 'clsx';
|
|
16
16
|
import { ChevronLeft } from 'lucide-react';
|
|
17
|
-
import React, { createContext, forwardRef, useCallback, useContext, useEffect,
|
|
17
|
+
import React, { createContext, forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
18
18
|
import { GlobalContext } from "../Config-Provider";
|
|
19
19
|
import useMergedState from "../hooks/useMergedState";
|
|
20
|
-
import debounce from "../utils/debounce";
|
|
21
20
|
import mergeContextToProps from "../utils/mergeContextToProps";
|
|
22
21
|
import AnchorItem from "./anchor-item";
|
|
23
22
|
import "./style/index.less";
|
|
@@ -109,30 +108,56 @@ var Anchor = /*#__PURE__*/forwardRef(function (baseprops, ref) {
|
|
|
109
108
|
|
|
110
109
|
// Empty array guard
|
|
111
110
|
if (!currentItems || currentItems.length === 0) return;
|
|
111
|
+
|
|
112
|
+
// Pick the last anchor whose top has crossed the activation line.
|
|
113
|
+
var nextActiveKey;
|
|
112
114
|
for (var i = currentItems.length - 1; i >= 0; i--) {
|
|
113
115
|
var item = currentItems[i];
|
|
114
116
|
var target = document.getElementById(item.key);
|
|
115
117
|
if (target) {
|
|
116
118
|
var targetTop = getTargetOffsetTop(target);
|
|
117
119
|
if (scrollTop + offsetTop >= targetTop) {
|
|
118
|
-
|
|
119
|
-
setMergedActiveKey(item.key);
|
|
120
|
-
onChange === null || onChange === void 0 || onChange(item.key);
|
|
121
|
-
}
|
|
120
|
+
nextActiveKey = item.key;
|
|
122
121
|
break;
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
124
|
}
|
|
125
|
+
|
|
126
|
+
// Scrolled above the first anchor — reset to the top item.
|
|
127
|
+
if (nextActiveKey === undefined) {
|
|
128
|
+
var first = currentItems.find(function (item) {
|
|
129
|
+
return document.getElementById(item.key);
|
|
130
|
+
});
|
|
131
|
+
nextActiveKey = first === null || first === void 0 ? void 0 : first.key;
|
|
132
|
+
}
|
|
133
|
+
if (nextActiveKey && activeKeyRef.current !== nextActiveKey) {
|
|
134
|
+
setMergedActiveKey(nextActiveKey);
|
|
135
|
+
onChange === null || onChange === void 0 || onChange(nextActiveKey);
|
|
136
|
+
}
|
|
126
137
|
}, [auto, anchorList, items, offsetTop, onChange, getTargetOffsetTop]);
|
|
127
138
|
useEffect(function () {
|
|
128
|
-
|
|
139
|
+
// Resolve in a passive effect: parent-owned refs passed via `getContainer`
|
|
140
|
+
// aren't attached until after child layout effects run.
|
|
141
|
+
var container = getContainer ? getContainer() : window;
|
|
142
|
+
containerRef.current = container;
|
|
129
143
|
if (!container) return;
|
|
130
|
-
|
|
131
|
-
|
|
144
|
+
|
|
145
|
+
// rAF throttle so the active key tracks scroll live.
|
|
146
|
+
var rafId = null;
|
|
147
|
+
var onScroll = function onScroll() {
|
|
148
|
+
if (rafId !== null) return;
|
|
149
|
+
rafId = requestAnimationFrame(function () {
|
|
150
|
+
rafId = null;
|
|
151
|
+
handleScroll();
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
container.addEventListener('scroll', onScroll);
|
|
132
155
|
handleScroll();
|
|
133
156
|
return function () {
|
|
134
|
-
container.removeEventListener('scroll',
|
|
135
|
-
|
|
157
|
+
container.removeEventListener('scroll', onScroll);
|
|
158
|
+
if (rafId !== null) {
|
|
159
|
+
cancelAnimationFrame(rafId);
|
|
160
|
+
}
|
|
136
161
|
};
|
|
137
162
|
}, [getContainer, handleScroll]);
|
|
138
163
|
|
|
@@ -155,10 +180,7 @@ var Anchor = /*#__PURE__*/forwardRef(function (baseprops, ref) {
|
|
|
155
180
|
});
|
|
156
181
|
}
|
|
157
182
|
}, [offsetTop, getTargetOffsetTop]);
|
|
158
|
-
|
|
159
|
-
containerRef.current = getContainer ? getContainer() : window;
|
|
160
|
-
}, [getContainer]);
|
|
161
|
-
useLayoutEffect(function () {
|
|
183
|
+
useEffect(function () {
|
|
162
184
|
if (defaultActiveKey) {
|
|
163
185
|
scrollToAnchor(defaultActiveKey);
|
|
164
186
|
}
|
|
@@ -8,6 +8,7 @@ export default (function () {
|
|
|
8
8
|
}, "Primary Button"), /*#__PURE__*/React.createElement(Button, null, "Children Button"), /*#__PURE__*/React.createElement(Button, null, "Default Button"), /*#__PURE__*/React.createElement(Button, {
|
|
9
9
|
type: "dashed"
|
|
10
10
|
}, "Dashed Button"), /*#__PURE__*/React.createElement(Button, {
|
|
11
|
+
variant: "filled",
|
|
11
12
|
type: "text"
|
|
12
13
|
}, "Text Button"), /*#__PURE__*/React.createElement(Button, {
|
|
13
14
|
type: "link"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Button, Space } from "../..";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
var types = ['primary', 'default', 'dashed', 'text', 'link'];
|
|
4
|
+
var colors = ['default', 'primary', 'success', 'danger', 'warning'];
|
|
5
|
+
var variants = ['solid', 'outlined', 'dashed', 'filled', 'text', 'link'];
|
|
6
|
+
var labelStyle = {
|
|
7
|
+
flex: '0 0 80px',
|
|
8
|
+
color: '#969696',
|
|
9
|
+
fontSize: 14
|
|
10
|
+
};
|
|
11
|
+
var rowStyle = {
|
|
12
|
+
display: 'flex',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
gap: 12
|
|
15
|
+
};
|
|
16
|
+
export default (function () {
|
|
17
|
+
return /*#__PURE__*/React.createElement(Space, {
|
|
18
|
+
direction: "horizontal",
|
|
19
|
+
block: true,
|
|
20
|
+
gap: 12,
|
|
21
|
+
wrap: true
|
|
22
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
style: rowStyle
|
|
24
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
25
|
+
style: labelStyle
|
|
26
|
+
}, "type"), /*#__PURE__*/React.createElement(Space, {
|
|
27
|
+
wrap: true
|
|
28
|
+
}, types.map(function (t) {
|
|
29
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
30
|
+
key: t,
|
|
31
|
+
type: t
|
|
32
|
+
}, t);
|
|
33
|
+
}))), variants.map(function (variant) {
|
|
34
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
key: variant,
|
|
36
|
+
style: rowStyle
|
|
37
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
38
|
+
style: labelStyle
|
|
39
|
+
}, variant), /*#__PURE__*/React.createElement(Space, {
|
|
40
|
+
wrap: true
|
|
41
|
+
}, colors.map(function (color) {
|
|
42
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
43
|
+
key: color,
|
|
44
|
+
color: color,
|
|
45
|
+
variant: variant
|
|
46
|
+
}, color);
|
|
47
|
+
})));
|
|
48
|
+
}));
|
|
49
|
+
});
|
|
@@ -66,19 +66,28 @@
|
|
|
66
66
|
background-color: var(--m-btn-color);
|
|
67
67
|
|
|
68
68
|
&:not(@{pls}-disabled):hover {
|
|
69
|
-
background-color: var(--m-btn-
|
|
69
|
+
background-color: color-mix(in srgb, var(--m-btn-color), black 12%);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
&:not(@{pls}-disabled):active {
|
|
73
|
-
background-color: var(--m-btn-
|
|
74
|
-
box-shadow: var(--yee-btn-solid-active-box-shadow)
|
|
73
|
+
background-color: color-mix(in srgb, var(--m-btn-color), black 20%);
|
|
74
|
+
box-shadow: var(--yee-btn-solid-active-box-shadow)
|
|
75
|
+
var(--m-btn-active-shadow-color);
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
// 字体颜色,背景是字体颜色的浅色
|
|
79
80
|
&-filled {
|
|
80
|
-
color: var(--
|
|
81
|
-
background-color: var(--m-btn-color);
|
|
81
|
+
color: var(--m-btn-color);
|
|
82
|
+
background-color: color-mix(in srgb, var(--m-btn-color) 10%, transparent);
|
|
83
|
+
|
|
84
|
+
&:not(@{pls}-disabled):hover {
|
|
85
|
+
background-color: color-mix(in srgb, var(--m-btn-color) 16%, transparent);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&:not(@{pls}-disabled):active {
|
|
89
|
+
background-color: color-mix(in srgb, var(--m-btn-color) 22%, transparent);
|
|
90
|
+
}
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
&-outlined {
|
|
@@ -154,27 +163,56 @@
|
|
|
154
163
|
--m-btn-border-active-color: var(--yee-primary-color-active);
|
|
155
164
|
--m-btn-active-color: var(--yee-primary-color-active);
|
|
156
165
|
--m-btn-active-bg-color: var(--yee-text-color-auxiliary);
|
|
166
|
+
--m-btn-active-shadow-color: var(--yee-primary-color-active);
|
|
157
167
|
}
|
|
158
168
|
|
|
159
169
|
&-primary {
|
|
160
170
|
--m-btn-color: var(--yee-primary-color);
|
|
161
171
|
--m-btn-hover-color: var(--yee-primary-color-hover);
|
|
162
172
|
--m-btn-active-color: var(--yee-primary-color-active);
|
|
163
|
-
--m-btn-bg-color: var(--yee-btn-
|
|
164
|
-
--m-btn-hover-bg-color: var(--yee-
|
|
165
|
-
--m-btn-active-bg-color: var(--yee-
|
|
173
|
+
--m-btn-bg-color: var(--yee-btn-primary-bg-color);
|
|
174
|
+
--m-btn-hover-bg-color: var(--yee-primary-color-hover);
|
|
175
|
+
--m-btn-active-bg-color: var(--yee-primary-color-active);
|
|
176
|
+
--m-btn-border-color: var(--yee-primary-color);
|
|
177
|
+
--m-btn-border-hover-color: var(--yee-primary-color-hover);
|
|
178
|
+
--m-btn-border-active-color: var(--yee-primary-color-active);
|
|
179
|
+
--m-btn-active-shadow-color: var(--yee-primary-color-active);
|
|
166
180
|
}
|
|
167
181
|
|
|
168
182
|
&-success {
|
|
169
|
-
--m-btn-color: var(--yee-
|
|
183
|
+
--m-btn-color: var(--yee-success-color);
|
|
184
|
+
--m-btn-hover-color: var(--yee-success-color-hover);
|
|
185
|
+
--m-btn-active-color: var(--yee-success-color-active);
|
|
186
|
+
--m-btn-border-color: var(--yee-success-color);
|
|
187
|
+
--m-btn-border-hover-color: var(--yee-success-color-hover);
|
|
188
|
+
--m-btn-border-active-color: var(--yee-success-color-active);
|
|
189
|
+
--m-btn-hover-bg-color: var(--yee-success-color-hover);
|
|
190
|
+
--m-btn-active-bg-color: var(--yee-success-color-active);
|
|
191
|
+
--m-btn-active-shadow-color: var(--yee-success-color-active);
|
|
170
192
|
}
|
|
171
193
|
|
|
172
194
|
&-danger {
|
|
173
|
-
--m-btn-color: var(--yee-
|
|
195
|
+
--m-btn-color: var(--yee-error-color);
|
|
196
|
+
--m-btn-hover-color: var(--yee-error-color-hover);
|
|
197
|
+
--m-btn-active-color: var(--yee-error-color-active);
|
|
198
|
+
--m-btn-border-color: var(--yee-error-color);
|
|
199
|
+
--m-btn-border-hover-color: var(--yee-error-color-hover);
|
|
200
|
+
--m-btn-border-active-color: var(--yee-error-color-active);
|
|
201
|
+
--m-btn-hover-bg-color: var(--yee-error-color-hover);
|
|
202
|
+
--m-btn-active-bg-color: var(--yee-error-color-active);
|
|
203
|
+
--m-btn-active-shadow-color: var(--yee-error-color-active);
|
|
174
204
|
}
|
|
175
205
|
|
|
176
206
|
&-warning {
|
|
177
|
-
--m-btn-color: var(--yee-
|
|
207
|
+
--m-btn-color: var(--yee-warning-color);
|
|
208
|
+
--m-btn-hover-color: var(--yee-warning-color-hover);
|
|
209
|
+
--m-btn-active-color: var(--yee-warning-color-active);
|
|
210
|
+
--m-btn-border-color: var(--yee-warning-color);
|
|
211
|
+
--m-btn-border-hover-color: var(--yee-warning-color-hover);
|
|
212
|
+
--m-btn-border-active-color: var(--yee-warning-color-active);
|
|
213
|
+
--m-btn-hover-bg-color: var(--yee-warning-color-hover);
|
|
214
|
+
--m-btn-active-bg-color: var(--yee-warning-color-active);
|
|
215
|
+
--m-btn-active-shadow-color: var(--yee-warning-color-active);
|
|
178
216
|
}
|
|
179
217
|
|
|
180
218
|
&-disabled {
|
|
@@ -141,7 +141,7 @@ var DatePickerMobile = function DatePickerMobile(props) {
|
|
|
141
141
|
block: true,
|
|
142
142
|
type: "primary",
|
|
143
143
|
onClick: handleConfirm
|
|
144
|
-
},
|
|
144
|
+
}, datepicker.confirm)
|
|
145
145
|
}, /*#__PURE__*/React.createElement(WheelPicker, {
|
|
146
146
|
columns: columns,
|
|
147
147
|
value: wheelValue,
|