@rainbow-oh/yee-c 0.6.0 → 0.6.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-item.js +10 -2
- package/dist/cjs/Anchor/interface.d.ts +1 -1
- package/dist/cjs/Dialog/dialog.js +16 -2
- package/dist/cjs/Dialog/interface.d.ts +1 -1
- package/dist/cjs/Form/demo/layout.js +4 -14
- package/dist/cjs/Form/style/index.less +32 -8
- package/dist/cjs/Grid/item.js +2 -1
- package/dist/cjs/Input/style/index.less +2 -0
- package/dist/cjs/Tabs/demo/type.js +23 -1
- package/dist/cjs/Tabs/hooks/useActiveBar.d.ts +2 -1
- package/dist/cjs/Tabs/hooks/useActiveBar.js +7 -3
- package/dist/cjs/Tabs/style/index.less +24 -14
- package/dist/cjs/Tabs/tab-header/index.js +2 -1
- package/dist/cjs/Tabs/tab-header/tab-header-title.js +1 -0
- package/dist/cjs/TextArea/style/index.less +1 -0
- package/dist/cjs/style/color.css +1 -0
- package/dist/cjs/style/mobile.css +5 -0
- package/dist/cjs/style/size.css +7 -3
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +9 -4
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Anchor/anchor-item.js +4 -3
- package/dist/esm/Anchor/interface.d.ts +1 -1
- package/dist/esm/Dialog/dialog.js +4 -2
- package/dist/esm/Dialog/interface.d.ts +1 -1
- package/dist/esm/Form/demo/layout.js +10 -10
- package/dist/esm/Form/style/index.less +32 -8
- package/dist/esm/Grid/item.js +2 -1
- package/dist/esm/Input/style/index.less +2 -0
- package/dist/esm/Tabs/demo/type.js +15 -4
- package/dist/esm/Tabs/hooks/useActiveBar.d.ts +2 -1
- package/dist/esm/Tabs/hooks/useActiveBar.js +7 -3
- package/dist/esm/Tabs/style/index.less +24 -14
- package/dist/esm/Tabs/tab-header/index.js +2 -1
- package/dist/esm/Tabs/tab-header/tab-header-title.js +1 -0
- package/dist/esm/TextArea/style/index.less +1 -0
- package/dist/esm/style/color.css +1 -0
- package/dist/esm/style/mobile.css +5 -0
- package/dist/esm/style/size.css +7 -3
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +9 -4
- 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-item.tsx +7 -3
- package/src/Anchor/interface.ts +1 -1
- package/src/Dialog/dialog.tsx +10 -2
- package/src/Dialog/interface.ts +1 -1
- package/src/Form/demo/layout.tsx +7 -12
- package/src/Form/style/index.less +32 -8
- package/src/Grid/item.tsx +2 -1
- package/src/Input/style/index.less +2 -0
- package/src/Tabs/demo/type.tsx +21 -2
- package/src/Tabs/hooks/useActiveBar.ts +8 -4
- package/src/Tabs/style/index.less +24 -14
- package/src/Tabs/tab-header/index.tsx +2 -1
- package/src/Tabs/tab-header/tab-header-title.tsx +1 -0
- package/src/TextArea/style/index.less +1 -0
- package/src/style/color.css +1 -0
- package/src/style/mobile.css +5 -0
- package/src/style/size.css +7 -3
- package/src/version.ts +1 -1
|
@@ -102,7 +102,15 @@ var AnchorItem = (props) => {
|
|
|
102
102
|
const itemStyle = __spreadProps(__spreadValues(__spreadValues({}, style), isActive ? styles == null ? void 0 : styles.active : void 0), {
|
|
103
103
|
paddingLeft: `${level * INDENT_WIDTH}px`
|
|
104
104
|
});
|
|
105
|
-
const
|
|
106
|
-
|
|
105
|
+
const node = /* @__PURE__ */ import_react.default.createElement("li", __spreadValues({ className: cls, style: itemStyle }, rest), /* @__PURE__ */ import_react.default.createElement("a", { href: `#${targetKey}`, onClick: handleClick }, /* @__PURE__ */ import_react.default.createElement(
|
|
106
|
+
"span",
|
|
107
|
+
{
|
|
108
|
+
className: (0, import_clsx.default)(`${prefixCls}-item-label`, classNames == null ? void 0 : classNames.label),
|
|
109
|
+
style: styles == null ? void 0 : styles.label,
|
|
110
|
+
title: String(title)
|
|
111
|
+
},
|
|
112
|
+
title
|
|
113
|
+
)));
|
|
114
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, node, children);
|
|
107
115
|
};
|
|
108
116
|
var anchor_item_default = AnchorItem;
|
|
@@ -44,7 +44,7 @@ export interface AnchorItemProps {
|
|
|
44
44
|
*/
|
|
45
45
|
children?: React.ReactNode;
|
|
46
46
|
}
|
|
47
|
-
export type AnchorSemanticDOM = 'item' | 'active' | 'content';
|
|
47
|
+
export type AnchorSemanticDOM = 'item' | 'active' | 'content' | 'label';
|
|
48
48
|
export interface AnchorProps extends DataAttributeProps {
|
|
49
49
|
/**
|
|
50
50
|
* Custom class name prefix
|
|
@@ -242,8 +242,22 @@ var Dialog = (baseprops) => {
|
|
|
242
242
|
onClick: onCancel
|
|
243
243
|
}
|
|
244
244
|
) : null,
|
|
245
|
-
title ? /* @__PURE__ */ import_react2.default.createElement(
|
|
246
|
-
|
|
245
|
+
title ? /* @__PURE__ */ import_react2.default.createElement(
|
|
246
|
+
"div",
|
|
247
|
+
{
|
|
248
|
+
className: (0, import_clsx.default)(`${prefixCls}-header`, classNames == null ? void 0 : classNames.header),
|
|
249
|
+
style: styles == null ? void 0 : styles.header
|
|
250
|
+
},
|
|
251
|
+
/* @__PURE__ */ import_react2.default.createElement("div", { className: `${prefixCls}-title` }, title)
|
|
252
|
+
) : null,
|
|
253
|
+
/* @__PURE__ */ import_react2.default.createElement(
|
|
254
|
+
"div",
|
|
255
|
+
{
|
|
256
|
+
className: (0, import_clsx.default)(`${prefixCls}-body`, classNames == null ? void 0 : classNames.body),
|
|
257
|
+
style: styles == null ? void 0 : styles.body
|
|
258
|
+
},
|
|
259
|
+
children
|
|
260
|
+
),
|
|
247
261
|
renderFooter()
|
|
248
262
|
)
|
|
249
263
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonType } from '../Button';
|
|
3
3
|
import type { DataAttributeProps } from '../utils/types';
|
|
4
|
-
export type SemanticDOM = 'content' | 'footer' | 'mask';
|
|
4
|
+
export type SemanticDOM = 'content' | 'header' | 'body' | 'footer' | 'mask';
|
|
5
5
|
export interface DialogProps extends DataAttributeProps {
|
|
6
6
|
/**
|
|
7
7
|
* Custom class name prefix
|
|
@@ -36,26 +36,16 @@ var import_yee_c = require("../..");
|
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
37
|
var layout_default = () => {
|
|
38
38
|
const [form] = import_yee_c.Form.useForm();
|
|
39
|
+
const [layout, setLayout] = (0, import_react.useState)("vertical");
|
|
39
40
|
return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
40
41
|
import_yee_c.Radio.Group,
|
|
41
42
|
{
|
|
42
|
-
|
|
43
|
-
onChange: (value) =>
|
|
44
|
-
form.setFieldsValue({ layout: value });
|
|
45
|
-
},
|
|
43
|
+
value: layout,
|
|
44
|
+
onChange: (value) => setLayout(value),
|
|
46
45
|
options: [
|
|
47
46
|
{ value: "vertical", label: "Vertical" },
|
|
48
47
|
{ value: "horizontal", label: "Horizontal" }
|
|
49
48
|
]
|
|
50
49
|
}
|
|
51
|
-
), /* @__PURE__ */ import_react.default.createElement("br", null), /* @__PURE__ */ import_react.default.createElement("br", null), /* @__PURE__ */ import_react.default.createElement(
|
|
52
|
-
import_yee_c.Form,
|
|
53
|
-
{
|
|
54
|
-
form,
|
|
55
|
-
initialValues: { layout: "vertical" },
|
|
56
|
-
layout: "vertical"
|
|
57
|
-
},
|
|
58
|
-
/* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid, { cols: 1 }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "name", label: "Name", required: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your name" })), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "email", label: "Email", required: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your email" })), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "phone", label: "Phone" }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your phone" }))),
|
|
59
|
-
/* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { style: { marginTop: 16 } }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary", htmlType: "submit" }, "Submit"))
|
|
60
|
-
));
|
|
50
|
+
), /* @__PURE__ */ import_react.default.createElement("br", null), /* @__PURE__ */ import_react.default.createElement("br", null), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form, { form, initialValues: {}, layout }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid, { cols: 2 }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "name", label: "Name", required: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your name" })), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "email", label: "Email", required: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your email" })), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "phone", label: "Phone" }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your phone" }))), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { style: { marginTop: 16 } }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary", htmlType: "submit" }, "Submit"))));
|
|
61
51
|
};
|
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
@pls: .yee-form;
|
|
2
2
|
|
|
3
|
+
// Horizontal form-item layout: label pinned left at a fixed width (right-
|
|
4
|
+
// aligned), control fills the remaining space. Shared by Form-level layout
|
|
5
|
+
// (ancestor .yee-form-horizontal cascades onto every item, including
|
|
6
|
+
// Field.Group) and Field-level layout (the item carries .yee-form-item-
|
|
7
|
+
// horizontal itself). Uses descendant selectors (not &) so the mixin expands
|
|
8
|
+
// correctly under either anchor.
|
|
9
|
+
.horizontal-layout() {
|
|
10
|
+
@{pls}-item-row {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: flex-start;
|
|
13
|
+
gap: var(--yee-form-item-horizontal-label-gap, 12px);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@{pls}-item-label {
|
|
17
|
+
width: var(--yee-form-item-horizontal-label-width, 120px);
|
|
18
|
+
flex-shrink: 0;
|
|
19
|
+
margin-bottom: 0;
|
|
20
|
+
justify-content: flex-end;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@{pls}-item-control {
|
|
24
|
+
flex: 1;
|
|
25
|
+
min-width: 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
3
29
|
@{pls} {
|
|
30
|
+
// Form-level horizontal: cascades onto every descendant item.
|
|
4
31
|
&-horizontal {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
display: flex;
|
|
8
|
-
}
|
|
32
|
+
.horizontal-layout();
|
|
33
|
+
}
|
|
9
34
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
35
|
+
// Field-level horizontal: a single item opts in via layout="horizontal".
|
|
36
|
+
&-item-horizontal {
|
|
37
|
+
.horizontal-layout();
|
|
14
38
|
}
|
|
15
39
|
|
|
16
40
|
&-item {
|
package/dist/cjs/Grid/item.js
CHANGED
|
@@ -60,6 +60,7 @@ __export(item_exports, {
|
|
|
60
60
|
module.exports = __toCommonJS(item_exports);
|
|
61
61
|
var import_clsx = __toESM(require("clsx"));
|
|
62
62
|
var import_react = __toESM(require("react"));
|
|
63
|
+
var import_omit = __toESM(require("../utils/omit"));
|
|
63
64
|
var Item = (props) => {
|
|
64
65
|
const _a = props, {
|
|
65
66
|
prefixCls = "yee-grid",
|
|
@@ -79,7 +80,7 @@ var Item = (props) => {
|
|
|
79
80
|
__spreadValues({
|
|
80
81
|
className: (0, import_clsx.default)(`${prefixCls}-item`, className),
|
|
81
82
|
style: __spreadValues(__spreadValues({}, spanStyle), style)
|
|
82
|
-
}, rest),
|
|
83
|
+
}, (0, import_omit.default)(rest, ["colspan"])),
|
|
83
84
|
children
|
|
84
85
|
);
|
|
85
86
|
};
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
line-height: var(--yee-input-line-height);
|
|
12
12
|
border: var(--yee-input-border-width) solid var(--yee-input-border-color);
|
|
13
13
|
border-radius: var(--yee-input-border-radius, 4px);
|
|
14
|
+
font-family: var(--yee-font-family);
|
|
14
15
|
|
|
15
16
|
&:not(@{pls}-disabled):hover {
|
|
16
17
|
border-color: var(--yee-input-hover-border-color);
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
|
|
47
48
|
&-inner {
|
|
48
49
|
width: 100%;
|
|
50
|
+
font-family: var(--yee-font-family);
|
|
49
51
|
line-height: var(--yee-input-line-height);
|
|
50
52
|
background-color: inherit;
|
|
51
53
|
border: none;
|
|
@@ -52,5 +52,27 @@ var type_default = () => {
|
|
|
52
52
|
children: "Content of Tab Pane 3"
|
|
53
53
|
}
|
|
54
54
|
];
|
|
55
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
55
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
56
|
+
import_yee_c.Box,
|
|
57
|
+
{
|
|
58
|
+
style: {
|
|
59
|
+
padding: 16,
|
|
60
|
+
backgroundColor: "#efefef"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
64
|
+
import_yee_c.Tabs,
|
|
65
|
+
{
|
|
66
|
+
defaultActiveKey: "1",
|
|
67
|
+
items,
|
|
68
|
+
type: "card",
|
|
69
|
+
styles: {
|
|
70
|
+
content: {
|
|
71
|
+
padding: 24,
|
|
72
|
+
height: 120
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
);
|
|
56
78
|
};
|
|
@@ -4,7 +4,8 @@ interface UseActiveBarOptions {
|
|
|
4
4
|
activeKey: string | number;
|
|
5
5
|
activetab: React.RefObject<HTMLElement | null>;
|
|
6
6
|
activebar: React.RefObject<HTMLDivElement | null>;
|
|
7
|
+
listEle: React.RefObject<HTMLDivElement | null>;
|
|
7
8
|
enabled: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function useActiveBar({ direction, activeKey, activetab, activebar, enabled, }: UseActiveBarOptions): () => void;
|
|
10
|
+
export declare function useActiveBar({ direction, activeKey, activetab, activebar, listEle, enabled, }: UseActiveBarOptions): () => void;
|
|
10
11
|
export {};
|
|
@@ -28,22 +28,26 @@ function useActiveBar({
|
|
|
28
28
|
activeKey,
|
|
29
29
|
activetab,
|
|
30
30
|
activebar,
|
|
31
|
+
listEle,
|
|
31
32
|
enabled
|
|
32
33
|
}) {
|
|
33
34
|
const rafIdRef = (0, import_react.useRef)(0);
|
|
34
35
|
const moveActiveBar = (0, import_react.useCallback)(() => {
|
|
35
36
|
const bar = activebar.current;
|
|
36
37
|
const tab = activetab.current;
|
|
37
|
-
|
|
38
|
+
const nav = listEle.current;
|
|
39
|
+
if (!bar || !tab || !enabled || !nav)
|
|
38
40
|
return;
|
|
39
41
|
const rect = tab.getBoundingClientRect();
|
|
42
|
+
const listPaddingLeft = parseFloat(getComputedStyle(nav).paddingLeft) || 0;
|
|
43
|
+
const listPaddingTop = parseFloat(getComputedStyle(nav).paddingTop) || 0;
|
|
40
44
|
const isHorizontal = direction === "horizontal";
|
|
41
45
|
if (isHorizontal) {
|
|
42
46
|
bar.style.width = `${rect.width}px`;
|
|
43
|
-
bar.style.transform = `translateX(${tab.offsetLeft}px)`;
|
|
47
|
+
bar.style.transform = `translateX(${tab.offsetLeft - listPaddingLeft}px)`;
|
|
44
48
|
} else {
|
|
45
49
|
bar.style.height = `${rect.height}px`;
|
|
46
|
-
bar.style.transform = `translateY(${tab.offsetTop}px)`;
|
|
50
|
+
bar.style.transform = `translateY(${tab.offsetTop - listPaddingTop}px)`;
|
|
47
51
|
}
|
|
48
52
|
}, [direction, activetab, activebar, enabled]);
|
|
49
53
|
(0, import_react.useEffect)(() => {
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
padding: var(--yee-tabs-vertical-padding);
|
|
52
52
|
overflow: hidden;
|
|
53
53
|
|
|
54
|
-
@{pls}-nav-
|
|
54
|
+
@{pls}-nav-track {
|
|
55
55
|
height: 100%;
|
|
56
|
-
padding: var(--yee-tabs-vertical-nav-
|
|
56
|
+
padding: var(--yee-tabs-vertical-nav-track-padding);
|
|
57
57
|
overflow-y: auto;
|
|
58
58
|
scrollbar-width: none;
|
|
59
59
|
-ms-overflow-style: none;
|
|
@@ -109,9 +109,9 @@
|
|
|
109
109
|
overflow: hidden;
|
|
110
110
|
transition: transform 3s ease-in-out;
|
|
111
111
|
|
|
112
|
-
&:not(@{pls}-card) {
|
|
113
|
-
|
|
114
|
-
}
|
|
112
|
+
// &:not(@{pls}-card) {
|
|
113
|
+
// background-color: var(--yee-tabs-bg-color);
|
|
114
|
+
// }
|
|
115
115
|
|
|
116
116
|
&@{pls}-nav-wrapper-left,
|
|
117
117
|
&@{pls}-nav-wrapper-right {
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
&.center {
|
|
144
|
-
@{pls}-nav-
|
|
144
|
+
@{pls}-nav-track {
|
|
145
145
|
justify-content: center;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
@@ -261,7 +261,7 @@
|
|
|
261
261
|
display: none;
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
@{pls}-nav-
|
|
264
|
+
@{pls}-nav-track {
|
|
265
265
|
padding: 0;
|
|
266
266
|
}
|
|
267
267
|
|
|
@@ -276,6 +276,16 @@
|
|
|
276
276
|
background-color: var(--yee-tabs-card-bg-color);
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
+
&@{pls}-top {
|
|
280
|
+
@{pls}-nav-wrapper {
|
|
281
|
+
border-bottom: none;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
@{pls}-container {
|
|
286
|
+
background-color: var(--yee-tabs-conatiner-bg-color);
|
|
287
|
+
}
|
|
288
|
+
|
|
279
289
|
&@{pls}-border-card {
|
|
280
290
|
> @{pls}-nav-wrapper {
|
|
281
291
|
bottom: var(--yee-tabs-card-border-bottom);
|
|
@@ -313,7 +323,7 @@
|
|
|
313
323
|
|
|
314
324
|
@{pls}-editable-card,
|
|
315
325
|
@{pls}-card {
|
|
316
|
-
@{pls}-nav-
|
|
326
|
+
@{pls}-nav-track {
|
|
317
327
|
padding: 0;
|
|
318
328
|
}
|
|
319
329
|
|
|
@@ -344,16 +354,16 @@
|
|
|
344
354
|
}
|
|
345
355
|
}
|
|
346
356
|
|
|
347
|
-
@{pls}-nav-
|
|
357
|
+
@{pls}-nav-track {
|
|
348
358
|
position: relative;
|
|
349
359
|
width: 100%;
|
|
350
360
|
overflow: hidden;
|
|
351
361
|
white-space: nowrap;
|
|
352
362
|
|
|
353
|
-
&.is-scroll {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
}
|
|
363
|
+
// &.is-scroll {
|
|
364
|
+
// width: var(--yee-tabs-nav-track-scroll-width);
|
|
365
|
+
// margin-left: var(--yee-tabs-nav-track-scroll-margin-left);
|
|
366
|
+
// }
|
|
357
367
|
|
|
358
368
|
&::-webkit-scrollbar {
|
|
359
369
|
display: none;
|
|
@@ -513,7 +523,7 @@
|
|
|
513
523
|
}
|
|
514
524
|
}
|
|
515
525
|
|
|
516
|
-
@{pls}-nav-
|
|
526
|
+
@{pls}-nav-track {
|
|
517
527
|
padding: 0;
|
|
518
528
|
}
|
|
519
529
|
}
|
|
@@ -95,6 +95,7 @@ var TabHeader = (props) => {
|
|
|
95
95
|
activeKey,
|
|
96
96
|
activetab,
|
|
97
97
|
activebar,
|
|
98
|
+
listEle: navList,
|
|
98
99
|
enabled: !type
|
|
99
100
|
// Only show active bar for non-card types
|
|
100
101
|
});
|
|
@@ -147,7 +148,7 @@ var TabHeader = (props) => {
|
|
|
147
148
|
return /* @__PURE__ */ import_react.default.createElement("div", { className: cls, style: styles == null ? void 0 : styles.header }, renderPrefixExtra(), /* @__PURE__ */ import_react.default.createElement(TabHeaderCtx.Provider, { value: contextValue }, /* @__PURE__ */ import_react.default.createElement(
|
|
148
149
|
"div",
|
|
149
150
|
{
|
|
150
|
-
className: (0, import_clsx.default)(`${prefixCls}-nav-
|
|
151
|
+
className: (0, import_clsx.default)(`${prefixCls}-nav-track`, classNames == null ? void 0 : classNames.track),
|
|
151
152
|
style: styles == null ? void 0 : styles.track,
|
|
152
153
|
ref: navContainer
|
|
153
154
|
},
|
|
@@ -237,6 +237,7 @@ var TabHeaderTitle = (props) => {
|
|
|
237
237
|
{
|
|
238
238
|
type: "text",
|
|
239
239
|
size: "small",
|
|
240
|
+
className: `${prefixCls}-close`,
|
|
240
241
|
icon: /* @__PURE__ */ import_react.default.createElement(import_lucide_react.X, { size: 14 }),
|
|
241
242
|
onClick: handleEdit,
|
|
242
243
|
"aria-label": `Close ${label}`
|
package/dist/cjs/style/color.css
CHANGED
|
@@ -903,6 +903,7 @@
|
|
|
903
903
|
--yee-tabs-card-border-bg-color: var(--yee-color-bg-head);
|
|
904
904
|
--yee-tabs-card-active-bg-color: var(--yee-color-bg-container);
|
|
905
905
|
--yee-tabs-card-bg-color: transparent;
|
|
906
|
+
--yee-tabs-conatiner-bg-color: var(--yee-color-bg-container);
|
|
906
907
|
--yee-tabs-header-custom-btn-text-color: var(--yee-text-color);
|
|
907
908
|
--yee-tabs-header-custom-btn-text-hover-color: var(--yee-primary-color);
|
|
908
909
|
--yee-tabs-header-custom-btn-text-active-color: var(--yee-primary-color);
|
|
@@ -202,6 +202,11 @@
|
|
|
202
202
|
flex-direction: column;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
/* Field-level horizontal collapses too on narrow screens */
|
|
206
|
+
.yee-form-item-horizontal .yee-form-item-row {
|
|
207
|
+
flex-direction: column;
|
|
208
|
+
}
|
|
209
|
+
|
|
205
210
|
/* ── Table: ensure horizontal scroll ── */
|
|
206
211
|
.yee-table-wrapper {
|
|
207
212
|
-webkit-overflow-scrolling: touch;
|
package/dist/cjs/style/size.css
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
:root {
|
|
2
|
+
--yee-font-family: inherit;
|
|
3
|
+
|
|
2
4
|
/* ── z-index 基础层级 ── */
|
|
3
5
|
--yee-z-index-fixed: 990; /* L1 吸顶 */
|
|
4
6
|
--yee-z-index-mask: 1000; /* L2 遮罩背景 */
|
|
@@ -269,6 +271,8 @@
|
|
|
269
271
|
--yee-form-item-label-line-height: 24px;
|
|
270
272
|
--yee-form-item-required-margin-inline-start: 4px;
|
|
271
273
|
--yee-form-item-additional-bottom: 2px;
|
|
274
|
+
--yee-form-item-horizontal-label-width: 120px;
|
|
275
|
+
--yee-form-item-horizontal-label-gap: 12px;
|
|
272
276
|
|
|
273
277
|
/* --Grid-- */
|
|
274
278
|
--yee-grid-column-min-width: 50px;
|
|
@@ -684,7 +688,7 @@
|
|
|
684
688
|
--yee-tabs-active-bar-height: 2px;
|
|
685
689
|
--yee-tabs-active-bar-width: 2px;
|
|
686
690
|
--yee-tabs-vertical-padding: 8px 0;
|
|
687
|
-
--yee-tabs-vertical-nav-
|
|
691
|
+
--yee-tabs-vertical-nav-track-padding: 8px 0;
|
|
688
692
|
--yee-tabs-vertical-container-padding: 0 20px;
|
|
689
693
|
--yee-tabs-vertical-active-bar-height: 32px;
|
|
690
694
|
--yee-tabs-nav-wrapper-height: 46px;
|
|
@@ -721,8 +725,8 @@
|
|
|
721
725
|
--yee-tabs-card-tab-border-width: 1px;
|
|
722
726
|
--yee-tabs-card-tab-border-radius: 4px;
|
|
723
727
|
--yee-tabs-card-tab-not-active-height: 39px;
|
|
724
|
-
--yee-tabs-nav-
|
|
725
|
-
--yee-tabs-nav-
|
|
728
|
+
--yee-tabs-nav-track-scroll-width: calc(100% - 64px);
|
|
729
|
+
--yee-tabs-nav-track-scroll-margin-left: 32px;
|
|
726
730
|
--yee-tabs-nav-wrapper-shadow-width: 8px;
|
|
727
731
|
--yee-tabs-nav-wrapper-shadow-inset: 4px;
|
|
728
732
|
--yee-tabs-nav-wrapper-top-z-index: var(--yee-z-index-fixed);
|
|
@@ -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-07-
|
|
4
|
+
* Generated on 2026-07-14T03:59:52.475Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/* ========== color.css ========== */
|
|
@@ -910,6 +910,7 @@
|
|
|
910
910
|
--yee-tabs-card-border-bg-color: var(--yee-color-bg-head);
|
|
911
911
|
--yee-tabs-card-active-bg-color: var(--yee-color-bg-container);
|
|
912
912
|
--yee-tabs-card-bg-color: transparent;
|
|
913
|
+
--yee-tabs-conatiner-bg-color: var(--yee-color-bg-container);
|
|
913
914
|
--yee-tabs-header-custom-btn-text-color: var(--yee-text-color);
|
|
914
915
|
--yee-tabs-header-custom-btn-text-hover-color: var(--yee-primary-color);
|
|
915
916
|
--yee-tabs-header-custom-btn-text-active-color: var(--yee-primary-color);
|
|
@@ -1117,6 +1118,8 @@
|
|
|
1117
1118
|
|
|
1118
1119
|
/* ========== size.css ========== */
|
|
1119
1120
|
:root {
|
|
1121
|
+
--yee-font-family: inherit;
|
|
1122
|
+
|
|
1120
1123
|
/* ── z-index 基础层级 ── */
|
|
1121
1124
|
--yee-z-index-fixed: 990; /* L1 吸顶 */
|
|
1122
1125
|
--yee-z-index-mask: 1000; /* L2 遮罩背景 */
|
|
@@ -1387,6 +1390,8 @@
|
|
|
1387
1390
|
--yee-form-item-label-line-height: 24px;
|
|
1388
1391
|
--yee-form-item-required-margin-inline-start: 4px;
|
|
1389
1392
|
--yee-form-item-additional-bottom: 2px;
|
|
1393
|
+
--yee-form-item-horizontal-label-width: 120px;
|
|
1394
|
+
--yee-form-item-horizontal-label-gap: 12px;
|
|
1390
1395
|
|
|
1391
1396
|
/* --Grid-- */
|
|
1392
1397
|
--yee-grid-column-min-width: 50px;
|
|
@@ -1802,7 +1807,7 @@
|
|
|
1802
1807
|
--yee-tabs-active-bar-height: 2px;
|
|
1803
1808
|
--yee-tabs-active-bar-width: 2px;
|
|
1804
1809
|
--yee-tabs-vertical-padding: 8px 0;
|
|
1805
|
-
--yee-tabs-vertical-nav-
|
|
1810
|
+
--yee-tabs-vertical-nav-track-padding: 8px 0;
|
|
1806
1811
|
--yee-tabs-vertical-container-padding: 0 20px;
|
|
1807
1812
|
--yee-tabs-vertical-active-bar-height: 32px;
|
|
1808
1813
|
--yee-tabs-nav-wrapper-height: 46px;
|
|
@@ -1839,8 +1844,8 @@
|
|
|
1839
1844
|
--yee-tabs-card-tab-border-width: 1px;
|
|
1840
1845
|
--yee-tabs-card-tab-border-radius: 4px;
|
|
1841
1846
|
--yee-tabs-card-tab-not-active-height: 39px;
|
|
1842
|
-
--yee-tabs-nav-
|
|
1843
|
-
--yee-tabs-nav-
|
|
1847
|
+
--yee-tabs-nav-track-scroll-width: calc(100% - 64px);
|
|
1848
|
+
--yee-tabs-nav-track-scroll-margin-left: 32px;
|
|
1844
1849
|
--yee-tabs-nav-wrapper-shadow-width: 8px;
|
|
1845
1850
|
--yee-tabs-nav-wrapper-shadow-inset: 4px;
|
|
1846
1851
|
--yee-tabs-nav-wrapper-top-z-index: var(--yee-z-index-fixed);
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -39,16 +39,17 @@ var AnchorItem = function AnchorItem(props) {
|
|
|
39
39
|
var itemStyle = _objectSpread(_objectSpread(_objectSpread({}, style), isActive ? styles === null || styles === void 0 ? void 0 : styles.active : undefined), {}, {
|
|
40
40
|
paddingLeft: "".concat(level * INDENT_WIDTH, "px")
|
|
41
41
|
});
|
|
42
|
-
var
|
|
42
|
+
var node = /*#__PURE__*/React.createElement("li", _extends({
|
|
43
43
|
className: cls,
|
|
44
44
|
style: itemStyle
|
|
45
45
|
}, rest), /*#__PURE__*/React.createElement("a", {
|
|
46
46
|
href: "#".concat(targetKey),
|
|
47
47
|
onClick: handleClick
|
|
48
48
|
}, /*#__PURE__*/React.createElement("span", {
|
|
49
|
-
className: "".concat(prefixCls, "-item-label"),
|
|
49
|
+
className: clsx("".concat(prefixCls, "-item-label"), classNames === null || classNames === void 0 ? void 0 : classNames.label),
|
|
50
|
+
style: styles === null || styles === void 0 ? void 0 : styles.label,
|
|
50
51
|
title: String(title)
|
|
51
52
|
}, title)));
|
|
52
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
53
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, node, children);
|
|
53
54
|
};
|
|
54
55
|
export default AnchorItem;
|
|
@@ -44,7 +44,7 @@ export interface AnchorItemProps {
|
|
|
44
44
|
*/
|
|
45
45
|
children?: React.ReactNode;
|
|
46
46
|
}
|
|
47
|
-
export type AnchorSemanticDOM = 'item' | 'active' | 'content';
|
|
47
|
+
export type AnchorSemanticDOM = 'item' | 'active' | 'content' | 'label';
|
|
48
48
|
export interface AnchorProps extends DataAttributeProps {
|
|
49
49
|
/**
|
|
50
50
|
* Custom class name prefix
|
|
@@ -188,11 +188,13 @@ var Dialog = function Dialog(baseprops) {
|
|
|
188
188
|
"aria-label": "close",
|
|
189
189
|
onClick: onCancel
|
|
190
190
|
}) : null, title ? /*#__PURE__*/React.createElement("div", {
|
|
191
|
-
className: "".concat(prefixCls, "-header")
|
|
191
|
+
className: clsx("".concat(prefixCls, "-header"), classNames === null || classNames === void 0 ? void 0 : classNames.header),
|
|
192
|
+
style: styles === null || styles === void 0 ? void 0 : styles.header
|
|
192
193
|
}, /*#__PURE__*/React.createElement("div", {
|
|
193
194
|
className: "".concat(prefixCls, "-title")
|
|
194
195
|
}, title)) : null, /*#__PURE__*/React.createElement("div", {
|
|
195
|
-
className: "".concat(prefixCls, "-body")
|
|
196
|
+
className: clsx("".concat(prefixCls, "-body"), classNames === null || classNames === void 0 ? void 0 : classNames.body),
|
|
197
|
+
style: styles === null || styles === void 0 ? void 0 : styles.body
|
|
196
198
|
}, children), renderFooter())));
|
|
197
199
|
return /*#__PURE__*/React.createElement(Portal, {
|
|
198
200
|
open: open,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonType } from '../Button';
|
|
3
3
|
import type { DataAttributeProps } from '../utils/types';
|
|
4
|
-
export type SemanticDOM = 'content' | 'footer' | 'mask';
|
|
4
|
+
export type SemanticDOM = 'content' | 'header' | 'body' | 'footer' | 'mask';
|
|
5
5
|
export interface DialogProps extends DataAttributeProps {
|
|
6
6
|
/**
|
|
7
7
|
* Custom class name prefix
|
|
@@ -5,17 +5,19 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5
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
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import { Button, Form, Grid, Input, Radio, Space } from "../..";
|
|
8
|
-
import React from 'react';
|
|
8
|
+
import React, { useState } from 'react';
|
|
9
9
|
export default (function () {
|
|
10
10
|
var _Form$useForm = Form.useForm(),
|
|
11
11
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
12
12
|
form = _Form$useForm2[0];
|
|
13
|
+
var _useState = useState('vertical'),
|
|
14
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
15
|
+
layout = _useState2[0],
|
|
16
|
+
setLayout = _useState2[1];
|
|
13
17
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
14
|
-
|
|
18
|
+
value: layout,
|
|
15
19
|
onChange: function onChange(value) {
|
|
16
|
-
|
|
17
|
-
layout: value
|
|
18
|
-
});
|
|
20
|
+
return setLayout(value);
|
|
19
21
|
},
|
|
20
22
|
options: [{
|
|
21
23
|
value: 'vertical',
|
|
@@ -26,12 +28,10 @@ export default (function () {
|
|
|
26
28
|
}]
|
|
27
29
|
}), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(Form, {
|
|
28
30
|
form: form,
|
|
29
|
-
initialValues: {
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
layout: "vertical"
|
|
31
|
+
initialValues: {},
|
|
32
|
+
layout: layout
|
|
33
33
|
}, /*#__PURE__*/React.createElement(Grid, {
|
|
34
|
-
cols:
|
|
34
|
+
cols: 2
|
|
35
35
|
}, /*#__PURE__*/React.createElement(Form.Field, {
|
|
36
36
|
name: "name",
|
|
37
37
|
label: "Name",
|