@fangxinyan/lumina 0.6.1 → 0.6.3
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/README.md +2 -1
- package/dist/{Alert-JJ7GB3UU.css → Alert-QBKIDY5H.css} +7 -0
- package/dist/Alert.cjs +3 -3
- package/dist/Alert.d.cts +3 -2
- package/dist/Alert.d.ts +3 -2
- package/dist/Alert.js +2 -2
- package/dist/AutoComplete.cjs +5 -4
- package/dist/AutoComplete.d.cts +1 -1
- package/dist/AutoComplete.d.ts +1 -1
- package/dist/AutoComplete.js +4 -3
- package/dist/Badge-DPGLV3D3.css +22 -0
- package/dist/Badge.cjs +10 -0
- package/dist/Badge.d.cts +19 -0
- package/dist/Badge.d.ts +19 -0
- package/dist/Badge.js +1 -0
- package/dist/{Button-SDQD25AG.css → Button-4Z3Q6KII.css} +56 -36
- package/dist/Button.cjs +3 -7
- package/dist/Button.d.cts +11 -15
- package/dist/Button.d.ts +11 -15
- package/dist/Button.js +2 -2
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.js +2 -2
- package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
- package/dist/Card.cjs +2 -6
- package/dist/Card.d.cts +7 -11
- package/dist/Card.d.ts +7 -11
- package/dist/Card.js +1 -1
- package/dist/{Cascader-VSYEKQCG.css → Cascader-3BLLA7EN.css} +77 -0
- package/dist/Cascader.cjs +5 -3
- package/dist/Cascader.d.cts +22 -4
- package/dist/Cascader.d.ts +22 -4
- package/dist/Cascader.js +4 -2
- package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
- package/dist/Checkbox.cjs +3 -7
- package/dist/Checkbox.d.cts +1 -18
- package/dist/Checkbox.d.ts +1 -18
- package/dist/Checkbox.js +2 -2
- package/dist/Collapse-66U5YJFY.css +53 -0
- package/dist/Collapse.cjs +11 -0
- package/dist/Collapse.d.cts +32 -0
- package/dist/Collapse.d.ts +32 -0
- package/dist/Collapse.js +2 -0
- package/dist/CommandPalette.cjs +5 -4
- package/dist/CommandPalette.js +4 -3
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.js +2 -2
- package/dist/Empty-DC2LPORC.css +28 -0
- package/dist/Empty.cjs +2 -10
- package/dist/Empty.d.cts +1 -62
- package/dist/Empty.d.ts +1 -62
- package/dist/Empty.js +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.ts +1 -1
- package/dist/Icon.cjs +187 -3
- package/dist/Icon.d.cts +104 -3
- package/dist/Icon.d.ts +104 -3
- package/dist/Icon.js +1 -1
- package/dist/{Image-4MN34O6P.css → Image-MRYQCRQ5.css} +78 -0
- package/dist/Image.cjs +12 -4
- package/dist/Image.d.cts +79 -6
- package/dist/Image.d.ts +79 -6
- package/dist/Image.js +2 -2
- package/dist/{Input-33CAH4O6.css → Input-HUBJ55OH.css} +25 -42
- package/dist/Input.cjs +6 -5
- package/dist/Input.d.cts +23 -26
- package/dist/Input.d.ts +23 -26
- package/dist/Input.js +3 -2
- package/dist/InputNumber.cjs +5 -4
- package/dist/InputNumber.d.cts +1 -1
- package/dist/InputNumber.d.ts +1 -1
- package/dist/InputNumber.js +4 -3
- package/dist/Message-2MZ3LFPU.css +45 -0
- package/dist/Message.cjs +23 -0
- package/dist/Message.d.cts +54 -0
- package/dist/Message.d.ts +54 -0
- package/dist/Message.js +2 -0
- package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.d.cts +29 -4
- package/dist/Modal.d.ts +29 -4
- package/dist/Modal.js +3 -3
- package/dist/Pagination.cjs +7 -5
- package/dist/Pagination.js +6 -4
- package/dist/Popover.cjs +2 -2
- package/dist/Popover.d.cts +11 -3
- package/dist/Popover.d.ts +11 -3
- package/dist/Popover.js +1 -1
- package/dist/Radio-GVFDPAZM.css +97 -0
- package/dist/Radio.cjs +14 -0
- package/dist/Radio.d.cts +36 -0
- package/dist/Radio.d.ts +36 -0
- package/dist/Radio.js +1 -0
- package/dist/{Select-J3CCVFJ7.css → Select-Z5VYPEEY.css} +33 -24
- package/dist/Select.cjs +6 -4
- package/dist/Select.d.cts +29 -7
- package/dist/Select.d.ts +29 -7
- package/dist/Select.js +5 -3
- package/dist/Skeleton-CVWH2VWN.css +40 -0
- package/dist/Skeleton.cjs +10 -0
- package/dist/Skeleton.d.cts +30 -0
- package/dist/Skeleton.d.ts +30 -0
- package/dist/Skeleton.js +1 -0
- package/dist/Spin-3GJNMSIH.css +94 -0
- package/dist/Spin.cjs +10 -0
- package/dist/Spin.d.cts +20 -0
- package/dist/Spin.d.ts +20 -0
- package/dist/Spin.js +1 -0
- package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
- package/dist/Table.cjs +9 -11
- package/dist/Table.d.cts +2 -21
- package/dist/Table.d.ts +2 -21
- package/dist/Table.js +8 -6
- package/dist/TablePro-3XVHYLSL.css +45 -0
- package/dist/TablePro.cjs +19 -0
- package/dist/TablePro.d.cts +21 -0
- package/dist/TablePro.d.ts +21 -0
- package/dist/TablePro.js +10 -0
- package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
- package/dist/Tabs.cjs +2 -6
- package/dist/Tabs.d.cts +1 -16
- package/dist/Tabs.d.ts +1 -16
- package/dist/Tabs.js +1 -1
- package/dist/Tag-HDYCDPFS.css +42 -0
- package/dist/Tag.cjs +3 -7
- package/dist/Tag.d.cts +5 -14
- package/dist/Tag.d.ts +5 -14
- package/dist/Tag.js +2 -2
- package/dist/Textarea-YNET7IBH.css +54 -0
- package/dist/Textarea.cjs +15 -0
- package/dist/Textarea.d.cts +25 -0
- package/dist/Textarea.d.ts +25 -0
- package/dist/Textarea.js +2 -0
- package/dist/Theme.cjs +14 -10
- package/dist/Theme.d.cts +29 -6
- package/dist/Theme.d.ts +29 -6
- package/dist/Theme.js +1 -1
- package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
- package/dist/Timeline.cjs +3 -3
- package/dist/Timeline.d.cts +1 -1
- package/dist/Timeline.d.ts +1 -1
- package/dist/Timeline.js +2 -2
- package/dist/Tooltip.cjs +2 -2
- package/dist/Tooltip.d.cts +17 -4
- package/dist/Tooltip.d.ts +17 -4
- package/dist/Tooltip.js +1 -1
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.d.cts +1 -0
- package/dist/Typography.d.ts +1 -0
- package/dist/Typography.js +2 -2
- package/dist/{chunk-OVZTG5CP.cjs → chunk-2HQCUBA7.cjs} +2 -2
- package/dist/{chunk-X2U7EKCS.cjs → chunk-3YJU3D5S.cjs} +28 -5
- package/dist/chunk-45VJGBGN.js +25 -0
- package/dist/{chunk-3D77MQHO.js → chunk-46VXFTEC.js} +3 -3
- package/dist/chunk-47VG2P34.js +393 -0
- package/dist/{chunk-LZU33BX6.cjs → chunk-5DKRY67M.cjs} +4 -20
- package/dist/{chunk-TWGQZX2R.js → chunk-5H5YP2TB.js} +4 -19
- package/dist/chunk-5MN3PMF4.cjs +240 -0
- package/dist/{chunk-5A3RT4KD.js → chunk-5TKC6IEN.js} +4 -55
- package/dist/{chunk-N57NXCNC.cjs → chunk-6HMTV6P4.cjs} +3 -44
- package/dist/{chunk-RF2EY5JS.cjs → chunk-6ZXQJRAT.cjs} +153 -34
- package/dist/{chunk-OFGDUCT7.cjs → chunk-7AG524YZ.cjs} +3 -3
- package/dist/chunk-7IYKKLV3.js +283 -0
- package/dist/{chunk-73RQBWWW.js → chunk-AAGF7K3L.js} +2 -2
- package/dist/chunk-AXZ7ELMA.js +41 -0
- package/dist/{chunk-R6BIF3FF.js → chunk-BPOOVO5T.js} +5 -23
- package/dist/{chunk-OI3CWXT3.js → chunk-BVQ77VRY.js} +3 -3
- package/dist/{chunk-UXH5PH3S.js → chunk-CETNCRZ4.js} +2 -2
- package/dist/chunk-DG5VQ6BO.cjs +28 -0
- package/dist/chunk-DWAN57G4.js +243 -0
- package/dist/chunk-ELNT3CFO.js +64 -0
- package/dist/{chunk-ULOJ5UEY.js → chunk-ET6DYQVZ.js} +1 -1
- package/dist/chunk-F6RYCBQG.js +25 -0
- package/dist/{chunk-RPFMQZA5.js → chunk-FBYUZOZP.js} +42 -31
- package/dist/chunk-FGW5GJ22.cjs +132 -0
- package/dist/{chunk-6Y5WRCPW.js → chunk-FWPBORRB.js} +1 -1
- package/dist/chunk-GENABQYA.cjs +47 -0
- package/dist/{chunk-TGHBKKSS.js → chunk-GIZU3H6H.js} +3 -43
- package/dist/chunk-GMN74OEY.cjs +63 -0
- package/dist/{chunk-Y47YTYQ3.cjs → chunk-H4LGWZMH.cjs} +159 -8
- package/dist/chunk-HKF2V5MM.cjs +214 -0
- package/dist/chunk-HLFH5HWR.js +81 -0
- package/dist/{chunk-4WRE4HQP.js → chunk-HWFM4MAT.js} +18 -6
- package/dist/{chunk-GY3BSHHS.cjs → chunk-HZSIUOCN.cjs} +2 -55
- package/dist/{chunk-D46EM4EN.js → chunk-I5WTQ5Y3.js} +4 -4
- package/dist/chunk-J2HZTJO6.js +26 -0
- package/dist/{chunk-NN25YMOL.js → chunk-J5ZGYQZK.js} +153 -35
- package/dist/{chunk-WRDKOSSM.js → chunk-JCEHZ336.js} +1 -1
- package/dist/chunk-JVUVOR6S.js +110 -0
- package/dist/chunk-K5IGFBDR.js +113 -0
- package/dist/{chunk-Q2KG6SQK.cjs → chunk-K7FV7W6U.cjs} +5 -5
- package/dist/{chunk-PWW64ZWO.cjs → chunk-KD4YYIIO.cjs} +1 -32
- package/dist/chunk-KGSADAOD.cjs +170 -0
- package/dist/{chunk-54YLXXS2.js → chunk-ME5BZ2WA.js} +2 -2
- package/dist/chunk-MPVCYU2K.cjs +104 -0
- package/dist/{chunk-EEMWQX3C.cjs → chunk-NTS5L4NQ.cjs} +3 -3
- package/dist/{chunk-WBK6XIDJ.js → chunk-OBEKX4VR.js} +2 -32
- package/dist/{chunk-EBNRZRWY.cjs → chunk-P6EZG2R7.cjs} +5 -5
- package/dist/{chunk-KYEY2LIB.cjs → chunk-P6P4DGLF.cjs} +3 -3
- package/dist/{chunk-GOBWKQCX.cjs → chunk-PULGVK2I.cjs} +3 -3
- package/dist/chunk-Q5SZIU7Z.cjs +47 -0
- package/dist/chunk-QKQHZIF3.cjs +86 -0
- package/dist/{chunk-3TWNBJFI.cjs → chunk-QP3VCSRY.cjs} +6 -6
- package/dist/{chunk-6ODY6MGL.cjs → chunk-R2TEDH2F.cjs} +5 -5
- package/dist/{chunk-YRZGXXWA.js → chunk-SQGPSMSK.js} +14 -20
- package/dist/{chunk-IW5LW6XS.js → chunk-TEEFR2FD.js} +28 -5
- package/dist/chunk-TGL5BGMR.js +218 -0
- package/dist/{chunk-62GU4OHH.cjs → chunk-TP567B3L.cjs} +13 -20
- package/dist/chunk-UKS23N3L.js +191 -0
- package/dist/chunk-USQ43DJ5.js +147 -0
- package/dist/{chunk-G2K6ETP4.cjs → chunk-UUHFKIWP.cjs} +18 -6
- package/dist/{chunk-2MNAZRWE.cjs → chunk-V272XR3F.cjs} +271 -2
- package/dist/chunk-VFFIE2VO.cjs +271 -0
- package/dist/{chunk-FIO65XYG.cjs → chunk-X5GCOMC3.cjs} +49 -38
- package/dist/{chunk-Y3ZSG3SJ.cjs → chunk-XSN4TLN5.cjs} +11 -30
- package/dist/chunk-ZKE73UQF.cjs +138 -0
- package/dist/index.cjs +342 -132
- package/dist/index.d.cts +26 -20
- package/dist/index.d.ts +26 -20
- package/dist/index.js +35 -29
- package/dist/styles.css +515 -230
- package/docs/llms/alert.md +4 -3
- package/docs/llms/badge.md +3 -3
- package/docs/llms/button.md +11 -41
- package/docs/llms/card.md +6 -12
- package/docs/llms/cascader.md +22 -0
- package/docs/llms/{accordion.md → collapse.md} +13 -11
- package/docs/llms/drawer.md +1 -1
- package/docs/llms/form.md +1 -1
- package/docs/llms/image.md +72 -1
- package/docs/llms/input.md +28 -18
- package/docs/llms/message.md +63 -0
- package/docs/llms/modal.md +30 -0
- package/docs/llms/popover.md +18 -1
- package/docs/llms/radio.md +37 -1
- package/docs/llms/select.md +22 -2
- package/docs/llms/spin.md +59 -0
- package/docs/llms/table.md +3 -3
- package/docs/llms/tag.md +3 -2
- package/docs/llms/theme.md +41 -4
- package/docs/llms/tooltip.md +16 -3
- package/docs/llms.md +8 -8
- package/package.json +32 -52
- package/dist/Accordion-REMDCQUD.css +0 -44
- package/dist/Accordion.cjs +0 -11
- package/dist/Accordion.d.cts +0 -33
- package/dist/Accordion.d.ts +0 -33
- package/dist/Accordion.js +0 -2
- package/dist/Empty-NQ72W3D7.css +0 -160
- package/dist/Tag-FGDY3W7E.css +0 -51
- package/dist/Toast-YSACW3EM.css +0 -45
- package/dist/Toast.cjs +0 -15
- package/dist/Toast.d.cts +0 -26
- package/dist/Toast.d.ts +0 -26
- package/dist/Toast.js +0 -2
- package/dist/chunk-32HBMXXV.cjs +0 -208
- package/dist/chunk-3XTHKAEY.js +0 -39
- package/dist/chunk-5M26OVVY.js +0 -90
- package/dist/chunk-DOMYUGJY.js +0 -132
- package/dist/chunk-DPNDHNKK.js +0 -185
- package/dist/chunk-G2XK57I7.cjs +0 -116
- package/dist/chunk-HBWO3QKW.js +0 -74
- package/dist/chunk-JVS5ZALZ.js +0 -123
- package/dist/chunk-LIGHV4RC.cjs +0 -121
- package/dist/chunk-MCTIA6RZ.js +0 -99
- package/dist/chunk-NC4YUEXM.cjs +0 -145
- package/dist/chunk-NJ6B22YJ.js +0 -170
- package/dist/chunk-W64ARHLJ.cjs +0 -62
- package/dist/chunk-ZFW6OYAO.cjs +0 -100
- package/docs/llms/spinner.md +0 -58
- package/docs/llms/toast.md +0 -51
package/docs/llms/alert.md
CHANGED
|
@@ -22,12 +22,13 @@ import { Alert } from "@fangxinyan/lumina";
|
|
|
22
22
|
<Alert tone="info" closable>仅一行的简短提示</Alert>
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
###
|
|
25
|
+
### 图标控制
|
|
26
26
|
|
|
27
|
-
showIcon={false}
|
|
27
|
+
showIcon={false} 可隐藏左侧语义图标;icon 可传 IconName 或 ReactNode。
|
|
28
28
|
|
|
29
29
|
```tsx
|
|
30
30
|
<Alert tone="info" showIcon={false}>纯文本提示</Alert>
|
|
31
|
+
<Alert icon={<img src={iconUrl} alt="" />}>自定义图标</Alert>
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
### 自定义操作区
|
|
@@ -53,7 +54,7 @@ action 插槽可以放置按钮等操作元素,位于内容与关闭按钮之间
|
|
|
53
54
|
| --- | --- | --- | --- |
|
|
54
55
|
| tone | `"info" | "success" | "warning" | "danger"` | `"info"` | 语气 |
|
|
55
56
|
| title | `ReactNode` | — | 标题 |
|
|
56
|
-
| icon | `IconName` | — |
|
|
57
|
+
| icon | `IconName | ReactNode` | — | 自定义图标,可传内置图标名或自定义节点 |
|
|
57
58
|
| showIcon | `boolean` | `true` | 是否显示语义图标 |
|
|
58
59
|
| action | `ReactNode` | — | 右侧操作区(如按钮) |
|
|
59
60
|
| closable | `boolean` | `false` | 可关闭 |
|
package/docs/llms/badge.md
CHANGED
|
@@ -13,8 +13,8 @@ import { Badge } from "@fangxinyan/lumina";
|
|
|
13
13
|
### 数字徽标
|
|
14
14
|
|
|
15
15
|
```tsx
|
|
16
|
-
<Badge count={3}><
|
|
17
|
-
<Badge count={128} max={99}><
|
|
16
|
+
<Badge count={3}><Button icon="bell" /></Badge>
|
|
17
|
+
<Badge count={128} max={99}><Button icon="mail" /></Badge>
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
### 圆点
|
|
@@ -22,7 +22,7 @@ import { Badge } from "@fangxinyan/lumina";
|
|
|
22
22
|
dot 模式不显示数字,只是状态指示。
|
|
23
23
|
|
|
24
24
|
```tsx
|
|
25
|
-
<Badge dot><
|
|
25
|
+
<Badge dot><Button icon="user" /></Badge>
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## API
|
package/docs/llms/button.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import { Button
|
|
8
|
+
import { Button } from "@fangxinyan/lumina";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
@@ -23,12 +23,13 @@ import { Button, IconButton, Segmented } from "@fangxinyan/lumina";
|
|
|
23
23
|
|
|
24
24
|
### 图标按钮
|
|
25
25
|
|
|
26
|
-
icon 在前,trailingIcon
|
|
26
|
+
icon 在前,trailingIcon 在后,既支持内置 IconName,也支持外部 ReactNode。
|
|
27
27
|
|
|
28
28
|
```tsx
|
|
29
29
|
<Button variant="primary" icon="sparkle">新建</Button>
|
|
30
30
|
<Button icon="download">下载</Button>
|
|
31
31
|
<Button trailingIcon="arrowRight">下一步</Button>
|
|
32
|
+
<Button icon={<img src={iconUrl} alt="" />}>外部图标</Button>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
### 加载与禁用
|
|
@@ -61,27 +62,12 @@ block 让按钮撑满容器宽度,常用于底部主操作或表单提交。
|
|
|
61
62
|
|
|
62
63
|
### 纯图标按钮
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
Button 在只有 icon 时自动呈现为方形按钮,常配合 tip 使用。
|
|
65
66
|
|
|
66
67
|
```tsx
|
|
67
|
-
<
|
|
68
|
-
<
|
|
69
|
-
<
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 分段控制器
|
|
73
|
-
|
|
74
|
-
互斥多选项切换。
|
|
75
|
-
|
|
76
|
-
```tsx
|
|
77
|
-
<Segmented
|
|
78
|
-
options={[
|
|
79
|
-
{ value: "grid", label: "网格" },
|
|
80
|
-
{ value: "list", label: "列表" },
|
|
81
|
-
{ value: "card", label: "卡片" },
|
|
82
|
-
]}
|
|
83
|
-
defaultValue="grid"
|
|
84
|
-
/>
|
|
68
|
+
<Button icon="heart" tip="收藏" />
|
|
69
|
+
<Button icon="bell" tip="通知" />
|
|
70
|
+
<Button icon="settings" tip="设置" />
|
|
85
71
|
```
|
|
86
72
|
|
|
87
73
|
## API
|
|
@@ -92,31 +78,15 @@ IconButton 是只含图标的方形按钮,常配合 tip 使用。
|
|
|
92
78
|
| --- | --- | --- | --- |
|
|
93
79
|
| variant | `"default" | "primary" | "ghost" | "danger"` | `"default"` | 按钮风格 |
|
|
94
80
|
| size | `"sm" | "md" | "lg"` | `"md"` | 按钮尺寸 |
|
|
95
|
-
| icon | `IconName` | — |
|
|
96
|
-
| trailingIcon | `IconName` | — |
|
|
81
|
+
| icon | `IconName | ReactNode` | — | 前置图标,可传内置图标名或自定义节点 |
|
|
82
|
+
| trailingIcon | `IconName | ReactNode` | — | 后置图标,可传内置图标名或自定义节点 |
|
|
83
|
+
| iconOnly | `boolean` | `自动` | 渲染为纯图标方形按钮 |
|
|
84
|
+
| tip | `string` | — | 原生悬浮提示,常用于纯图标按钮 |
|
|
97
85
|
| loading | `boolean` | `false` | 加载态 |
|
|
98
86
|
| block | `boolean` | `false` | 撑满父容器宽度 |
|
|
99
87
|
| disabled | `boolean` | `false` | 禁用 |
|
|
100
88
|
| onClick | `(e: MouseEvent) => void` | — | 点击回调 |
|
|
101
89
|
|
|
102
90
|
|
|
103
|
-
**IconButton**
|
|
104
|
-
|
|
105
|
-
| Prop | 类型 | 默认 | 说明 |
|
|
106
|
-
| --- | --- | --- | --- |
|
|
107
|
-
| icon \* | `IconName` | — | 图标名 |
|
|
108
|
-
| tip | `string` | — | 悬浮提示 |
|
|
109
|
-
| size / variant | `—` | — | 继承自 Button |
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
**Segmented**
|
|
113
|
-
|
|
114
|
-
| Prop | 类型 | 默认 | 说明 |
|
|
115
|
-
| --- | --- | --- | --- |
|
|
116
|
-
| options \* | `{ value, label, disabled? }[]` | — | 选项数组 |
|
|
117
|
-
| value / defaultValue | `T` | — | 受控/初始选中值 |
|
|
118
|
-
| onChange | `(value: T) => void` | — | 切换回调 |
|
|
119
|
-
|
|
120
|
-
|
|
121
91
|
---
|
|
122
92
|
[← 回到索引](../llms.md)
|
package/docs/llms/card.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import { Card
|
|
8
|
+
import { Card } from "@fangxinyan/lumina";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
@@ -28,20 +28,20 @@ hoverable 在鼠标悬浮时轻微上移并加强阴影,适合可点击的卡片
|
|
|
28
28
|
<Card hoverable>可点击卡片</Card>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
###
|
|
31
|
+
### 带标题
|
|
32
32
|
|
|
33
33
|
带标题、描述、操作区。
|
|
34
34
|
|
|
35
35
|
```tsx
|
|
36
|
-
<
|
|
36
|
+
<Card title="月度营收" description="2026 年 4 月" actions={...}>
|
|
37
37
|
¥ 12,480
|
|
38
|
-
</
|
|
38
|
+
</Card>
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
###
|
|
41
|
+
### 标题区操作
|
|
42
42
|
|
|
43
43
|
```tsx
|
|
44
|
-
<
|
|
44
|
+
<Card title="..." actions={<Button size="sm" icon="plus">邀请</Button>}>...</Card>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
## API
|
|
@@ -53,12 +53,6 @@ hoverable 在鼠标悬浮时轻微上移并加强阴影,适合可点击的卡片
|
|
|
53
53
|
| variant | `"raised" | "flat" | "sunken"` | `"raised"` | 视觉变体 |
|
|
54
54
|
| padding | `"none" | "sm" | "md" | "lg"` | `"md"` | 内边距 |
|
|
55
55
|
| hoverable | `boolean` | `false` | 悬浮时抬起 |
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
**Panel**
|
|
59
|
-
|
|
60
|
-
| Prop | 类型 | 默认 | 说明 |
|
|
61
|
-
| --- | --- | --- | --- |
|
|
62
56
|
| title | `ReactNode` | — | 标题 |
|
|
63
57
|
| description | `ReactNode` | — | 副标题 |
|
|
64
58
|
| actions | `ReactNode` | — | 右上操作区 |
|
package/docs/llms/cascader.md
CHANGED
|
@@ -12,10 +12,27 @@ import { Cascader } from "@fangxinyan/lumina";
|
|
|
12
12
|
|
|
13
13
|
### 基础用法
|
|
14
14
|
|
|
15
|
+
option.icon 支持 IconName 或 ReactNode。
|
|
16
|
+
|
|
15
17
|
```tsx
|
|
16
18
|
<Cascader options={regions} value={addr} onChange={setAddr} />
|
|
17
19
|
```
|
|
18
20
|
|
|
21
|
+
### 搜索与清除
|
|
22
|
+
|
|
23
|
+
showSearch 开启路径搜索,allowClear 提供一键清空,popupClassName 可标记浮层。
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
<Cascader
|
|
27
|
+
showSearch={{ limit: 8 }}
|
|
28
|
+
allowClear
|
|
29
|
+
popupClassName="my-cascader-popup"
|
|
30
|
+
options={regions}
|
|
31
|
+
value={addr}
|
|
32
|
+
onChange={setAddr}
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
35
|
+
|
|
19
36
|
## API
|
|
20
37
|
|
|
21
38
|
**Cascader**
|
|
@@ -23,10 +40,15 @@ import { Cascader } from "@fangxinyan/lumina";
|
|
|
23
40
|
| Prop | 类型 | 默认 | 说明 |
|
|
24
41
|
| --- | --- | --- | --- |
|
|
25
42
|
| options \* | `CascaderOption[]` | — | 层级选项树 |
|
|
43
|
+
| options[].icon | `IconName | ReactNode` | — | 选项前置图标,可传内置图标名或自定义节点 |
|
|
26
44
|
| value / defaultValue | `string[]` | — | 受控/初始路径 |
|
|
27
45
|
| onChange | `(path: string[]) => void` | — | 选择叶子时触发 |
|
|
28
46
|
| placeholder | `string` | — | 占位文案 |
|
|
29
47
|
| disabled | `boolean` | `false` | 禁用 |
|
|
48
|
+
| allowClear | `boolean` | `false` | 显示清除按钮 |
|
|
49
|
+
| showSearch | `boolean | { filter?, render?, limit? }` | — | 搜索路径,支持 boolean / 对象配置 |
|
|
50
|
+
| popupClassName / dropdownClassName | `string` | — | 浮层面板 className |
|
|
51
|
+
| changeOnSelect | `boolean` | `false` | 允许选中非叶子节点 |
|
|
30
52
|
|
|
31
53
|
|
|
32
54
|
---
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Collapse 折叠面板
|
|
2
2
|
|
|
3
3
|
> 纵向折叠面板。
|
|
4
4
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import {
|
|
8
|
+
import { Collapse } from "@fangxinyan/lumina";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
@@ -13,7 +13,7 @@ import { Accordion } from "@fangxinyan/lumina";
|
|
|
13
13
|
### 基础
|
|
14
14
|
|
|
15
15
|
```tsx
|
|
16
|
-
<
|
|
16
|
+
<Collapse items={[{ key, label, children }]} />
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### 多项展开
|
|
@@ -21,7 +21,7 @@ import { Accordion } from "@fangxinyan/lumina";
|
|
|
21
21
|
multiple 允许同时展开多个面板。
|
|
22
22
|
|
|
23
23
|
```tsx
|
|
24
|
-
<
|
|
24
|
+
<Collapse defaultActiveKey={["1", "2"]} ... />
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
### 手风琴模式
|
|
@@ -29,7 +29,7 @@ multiple 允许同时展开多个面板。
|
|
|
29
29
|
accordion={true} 同一时刻最多只展开一项;与 multiple 同时传入时 accordion 优先。
|
|
30
30
|
|
|
31
31
|
```tsx
|
|
32
|
-
<
|
|
32
|
+
<Collapse accordion defaultActiveKey="1" ... />
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
### 仅图标可点
|
|
@@ -37,7 +37,7 @@ accordion={true} 同一时刻最多只展开一项;与 multiple 同时传入时
|
|
|
37
37
|
collapsible="icon" 将展开触发限制在右侧箭头图标上,标题区域不再响应。
|
|
38
38
|
|
|
39
39
|
```tsx
|
|
40
|
-
<
|
|
40
|
+
<Collapse collapsible="icon" ... />
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
### 禁用展开
|
|
@@ -45,20 +45,22 @@ collapsible="icon" 将展开触发限制在右侧箭头图标上,标题区域不
|
|
|
45
45
|
collapsible="disabled" 会禁用所有项的展开交互。
|
|
46
46
|
|
|
47
47
|
```tsx
|
|
48
|
-
<
|
|
48
|
+
<Collapse collapsible="disabled" defaultActiveKey="1" ... />
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
## API
|
|
52
52
|
|
|
53
|
-
**
|
|
53
|
+
**Collapse**
|
|
54
54
|
|
|
55
55
|
| Prop | 类型 | 默认 | 说明 |
|
|
56
56
|
| --- | --- | --- | --- |
|
|
57
|
-
| items \* | `
|
|
58
|
-
| multiple | `boolean` | `false` | 可同时展开多个 |
|
|
57
|
+
| items \* | `CollapseItem[]` | — | 面板数据 |
|
|
59
58
|
| accordion | `boolean` | `false` | 手风琴模式(同一时刻最多一项) |
|
|
59
|
+
| multiple | `boolean` | `true` | 可同时展开多个 |
|
|
60
60
|
| collapsible | `"header" | "icon" | "disabled"` | `"header"` | 展开触发区域 |
|
|
61
|
-
|
|
|
61
|
+
| activeKey / defaultActiveKey | `string | string[]` | — | 受控/初始展开 |
|
|
62
|
+
| ghost | `boolean` | `false` | 无外框/阴影的轻量样式 |
|
|
63
|
+
| size | `"small" | "middle" | "large"` | `"middle"` | 尺寸 |
|
|
62
64
|
| onChange | `(keys: string[]) => void` | — | 展开变更 |
|
|
63
65
|
|
|
64
66
|
|
package/docs/llms/drawer.md
CHANGED
|
@@ -23,7 +23,7 @@ extra 渲染到标题右边,常用来放刷新 / 更多 / 保存按钮。
|
|
|
23
23
|
```tsx
|
|
24
24
|
<Drawer
|
|
25
25
|
title="订单详情"
|
|
26
|
-
extra={<><
|
|
26
|
+
extra={<><Button icon="edit" tip="编辑" /><Button variant="primary">保存</Button></>}
|
|
27
27
|
/>
|
|
28
28
|
```
|
|
29
29
|
|
package/docs/llms/form.md
CHANGED
package/docs/llms/image.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import { Image, ImageGrid } from "@fangxinyan/lumina";
|
|
8
|
+
import { Image, ImageGrid, SpriteImage, LayeredImage } from "@fangxinyan/lumina";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
@@ -16,10 +16,43 @@ import { Image, ImageGrid } from "@fangxinyan/lumina";
|
|
|
16
16
|
<Image src={url} width={240} height={160} />
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
### 图标 / 原始资源
|
|
20
|
+
|
|
21
|
+
variant="icon" 会默认去掉外层 padding,适合 1:1 装备、物品、头像缩略图;variant="raw" 保留原始图片比例。
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Image variant="icon" src={iconUrl} width={56} height={56} preview={false} />
|
|
25
|
+
<Image variant="raw" src={bannerUrl} width={220} height={84} objectFit="contain" />
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Sprite 裁剪
|
|
29
|
+
|
|
30
|
+
SpriteImage 用 background-position 裁剪同一张雪碧图,适合 url + x/y/width/height 形式的图标资源。
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<SpriteImage src={sheetUrl} sprite={{ x: 32, y: 0, width: 32, height: 32 }} />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 多图层图片
|
|
37
|
+
|
|
38
|
+
LayeredImage 将多张图片叠在同一个盒子里,适合头像 + 头像框、底图 + 标记等资产。
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
<LayeredImage
|
|
42
|
+
width={72}
|
|
43
|
+
height={72}
|
|
44
|
+
layers={[
|
|
45
|
+
{ src: headUrl, fit: "cover" },
|
|
46
|
+
{ src: frameUrl },
|
|
47
|
+
]}
|
|
48
|
+
/>
|
|
49
|
+
```
|
|
50
|
+
|
|
19
51
|
### 图片组
|
|
20
52
|
|
|
21
53
|
```tsx
|
|
22
54
|
<ImageGrid images={images} />
|
|
55
|
+
<ImageGrid images={icons} imageProps={{ variant: "icon", preview: false }} />
|
|
23
56
|
```
|
|
24
57
|
|
|
25
58
|
## API
|
|
@@ -30,9 +63,47 @@ import { Image, ImageGrid } from "@fangxinyan/lumina";
|
|
|
30
63
|
| --- | --- | --- | --- |
|
|
31
64
|
| src | `string` | — | 图片 URL |
|
|
32
65
|
| width / height | `number | string` | — | 尺寸 |
|
|
66
|
+
| variant | `"framed" | "raw" | "icon"` | `"framed"` | 视觉形态 |
|
|
67
|
+
| frame | `boolean` | `framed 时 true` | 是否保留内层凹陷 frame |
|
|
68
|
+
| padding | `number | string` | — | 外层留白,raw/icon 默认 0 |
|
|
69
|
+
| objectFit / objectPosition | `CSSProperties` | — | 底层 img 的 object-fit / object-position |
|
|
33
70
|
| preview | `boolean` | `true` | 支持点击全屏预览 |
|
|
34
71
|
| hover | `boolean` | `true` | 悬浮放大 |
|
|
35
72
|
| placeholder | `ReactNode` | — | 占位/错误时内容 |
|
|
73
|
+
| imgProps | `ImgHTMLAttributes` | — | 透传到底层 img 的属性 |
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
**ImageGrid**
|
|
77
|
+
|
|
78
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
79
|
+
| --- | --- | --- | --- |
|
|
80
|
+
| images \* | `ImageGridItem[]` | — | 图片项数组,单项也可覆盖 Image props |
|
|
81
|
+
| columns | `number` | — | 固定列数,不传则自动填充 |
|
|
82
|
+
| itemHeight | `number` | `130` | 默认图片高度 |
|
|
83
|
+
| minItemWidth | `number | string` | `160` | 自动填充时的最小列宽 |
|
|
84
|
+
| gap | `number | string` | `14` | 网格间距 |
|
|
85
|
+
| imageProps | `ImageProps` | — | 批量传给每个 Image 的属性 |
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
**SpriteImage**
|
|
89
|
+
|
|
90
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
91
|
+
| --- | --- | --- | --- |
|
|
92
|
+
| src \* | `string` | — | sprite sheet 图片 URL |
|
|
93
|
+
| sprite \* | `{ x; y; width; height }` | — | 裁剪区域 |
|
|
94
|
+
| width / height | `number | string` | — | 渲染尺寸,默认使用 sprite 尺寸 |
|
|
95
|
+
| scale | `number` | `1` | 未指定 width/height 时的缩放倍数 |
|
|
96
|
+
| backgroundSize | `string` | — | 自定义 background-size |
|
|
97
|
+
| variant / frame / padding | `ImageVariant / boolean / number` | — | 同 Image 的媒体外观控制 |
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
**LayeredImage**
|
|
101
|
+
|
|
102
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
103
|
+
| --- | --- | --- | --- |
|
|
104
|
+
| layers \* | `LayeredImageLayer[]` | — | 按顺序叠放的图片层 |
|
|
105
|
+
| width / height | `number | string` | — | 容器尺寸 |
|
|
106
|
+
| variant / frame / padding | `ImageVariant / boolean / number` | — | 同 Image 的媒体外观控制 |
|
|
36
107
|
|
|
37
108
|
|
|
38
109
|
---
|
package/docs/llms/input.md
CHANGED
|
@@ -14,26 +14,32 @@ import { Input, Textarea } from "@fangxinyan/lumina";
|
|
|
14
14
|
|
|
15
15
|
```tsx
|
|
16
16
|
const [v, setV] = useState("");
|
|
17
|
-
<Input
|
|
17
|
+
<Input
|
|
18
|
+
placeholder="输入用户名"
|
|
19
|
+
value={v}
|
|
20
|
+
onChange={(e) => setV(e.target.value)}
|
|
21
|
+
leadingIcon="user"
|
|
22
|
+
/>
|
|
18
23
|
```
|
|
19
24
|
|
|
20
25
|
### 前后置图标
|
|
21
26
|
|
|
22
|
-
leadingIcon / trailingIcon。
|
|
27
|
+
leadingIcon / trailingIcon 支持内置 IconName 或外部 ReactNode。
|
|
23
28
|
|
|
24
29
|
```tsx
|
|
25
30
|
<Input placeholder="搜索..." leadingIcon="search" />
|
|
31
|
+
<Input placeholder="物品名" leadingIcon={<img src={iconUrl} alt="" />} />
|
|
26
32
|
```
|
|
27
33
|
|
|
28
|
-
###
|
|
34
|
+
### Input.Password
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
密码输入框,内置显隐切换。
|
|
31
37
|
|
|
32
38
|
```tsx
|
|
33
|
-
<Input
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
<Input.Password
|
|
40
|
+
value={pw}
|
|
41
|
+
onChange={(e) => setPw(e.target.value)}
|
|
42
|
+
allowClear
|
|
37
43
|
/>
|
|
38
44
|
```
|
|
39
45
|
|
|
@@ -50,7 +56,7 @@ invalid 触发红色凹槽。
|
|
|
50
56
|
allowClear 在值非空时显示 × 按钮,点击即清空。
|
|
51
57
|
|
|
52
58
|
```tsx
|
|
53
|
-
<Input value={v}
|
|
59
|
+
<Input value={v} onValueChange={setV} allowClear placeholder="输入后右侧会出现 ×" />
|
|
54
60
|
```
|
|
55
61
|
|
|
56
62
|
### 前缀 / 后缀
|
|
@@ -69,22 +75,22 @@ showCount 显示当前字数,配合 maxLength 显示 N / max。
|
|
|
69
75
|
```tsx
|
|
70
76
|
<Input
|
|
71
77
|
value={v}
|
|
72
|
-
|
|
78
|
+
onValueChange={setV}
|
|
73
79
|
maxLength={20}
|
|
74
80
|
showCount
|
|
75
81
|
placeholder="最多输入 20 个字"
|
|
76
82
|
/>
|
|
77
83
|
```
|
|
78
84
|
|
|
79
|
-
### 多行文本
|
|
85
|
+
### Input.TextArea 多行文本
|
|
80
86
|
|
|
81
|
-
|
|
87
|
+
Input.TextArea 与 Textarea 使用同一套多行输入能力,也支持 allowClear / maxLength / showCount。
|
|
82
88
|
|
|
83
89
|
```tsx
|
|
84
|
-
<
|
|
90
|
+
<Input.TextArea
|
|
85
91
|
placeholder="..."
|
|
86
92
|
value={msg}
|
|
87
|
-
onChange={setMsg}
|
|
93
|
+
onChange={(e) => setMsg(e.target.value)}
|
|
88
94
|
allowClear
|
|
89
95
|
maxLength={300}
|
|
90
96
|
showCount
|
|
@@ -98,25 +104,29 @@ Textarea 与 Input 共享同款凹槽,也支持 allowClear / maxLength / showCou
|
|
|
98
104
|
| Prop | 类型 | 默认 | 说明 |
|
|
99
105
|
| --- | --- | --- | --- |
|
|
100
106
|
| value / defaultValue | `string` | — | 受控值 / 初值 |
|
|
101
|
-
| onChange | `(
|
|
107
|
+
| onChange | `(event) => void` | — | 变更回调,传入 React 原生事件 |
|
|
108
|
+
| onValueChange | `(value: string, event) => void` | — | 值回调便捷写法 |
|
|
102
109
|
| placeholder | `string` | — | 占位文案 |
|
|
103
|
-
| leadingIcon / trailingIcon | `IconName` | — |
|
|
110
|
+
| leadingIcon / trailingIcon | `IconName | ReactNode` | — | 前/后置图标,可传内置图标名或自定义节点 |
|
|
104
111
|
| prefix | `ReactNode` | — | 左侧内嵌内容(在 leadingIcon 之后) |
|
|
105
112
|
| suffix | `ReactNode` | — | 右侧内嵌内容(在 trailingIcon 之前) |
|
|
106
113
|
| allowClear | `boolean` | `false` | 显示内置的清除按钮 |
|
|
107
114
|
| maxLength | `number` | — | 最大字符数,透传至原生 input |
|
|
108
115
|
| showCount | `boolean` | `false` | 在输入框下方显示字数统计 |
|
|
116
|
+
| Input.Password | `Component` | — | 密码输入框,内置显隐切换 |
|
|
117
|
+
| Input.TextArea | `typeof Textarea` | — | 多行文本别名 |
|
|
109
118
|
| size | `"sm" | "md" | "lg"` | `"md"` | 尺寸 |
|
|
110
119
|
| invalid | `boolean` | `false` | 错误态 |
|
|
111
120
|
| disabled | `boolean` | `false` | 禁用 |
|
|
112
121
|
|
|
113
122
|
|
|
114
|
-
**Textarea**
|
|
123
|
+
**Input.TextArea / Textarea**
|
|
115
124
|
|
|
116
125
|
| Prop | 类型 | 默认 | 说明 |
|
|
117
126
|
| --- | --- | --- | --- |
|
|
118
127
|
| value / defaultValue | `string` | — | 受控值 / 初值 |
|
|
119
|
-
| onChange | `(
|
|
128
|
+
| onChange | `(event) => void` | — | 变更回调,传入 React 原生事件 |
|
|
129
|
+
| onValueChange | `(value: string, event) => void` | — | 值回调便捷写法 |
|
|
120
130
|
| allowClear | `boolean` | `false` | 右上角显示清除按钮 |
|
|
121
131
|
| maxLength | `number` | — | 最大字符数 |
|
|
122
132
|
| showCount | `boolean` | `false` | 显示字数统计 |
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Message 全局消息
|
|
2
|
+
|
|
3
|
+
> 全局轻量提示,支持函数调用与对象配置。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { message, MessageContainer } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 四种语义
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
message.info("已保存到草稿");
|
|
17
|
+
message.success("操作完成");
|
|
18
|
+
message.warning("请注意");
|
|
19
|
+
message.error("发生错误");
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 带标题
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
message.success("已上传 5 个文件", "上传完成");
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 对象调用
|
|
29
|
+
|
|
30
|
+
支持 content / duration / key / destroy,适合需要更新或手动关闭的提示。
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
message.open({ key: "sync", type: "info", content: "同步中...", duration: 0 });
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
message.success({ key: "sync", content: "同步完成", duration: 1800 });
|
|
36
|
+
}, 900);
|
|
37
|
+
message.destroy("sync");
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## API
|
|
41
|
+
|
|
42
|
+
**message.***
|
|
43
|
+
|
|
44
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
45
|
+
| --- | --- | --- | --- |
|
|
46
|
+
| info(message, title?) | `(msg, title?) => id` | — | 信息提示 |
|
|
47
|
+
| success(message, title?) | `(msg, title?) => id` | — | 成功 |
|
|
48
|
+
| warning(message, title?) / warn(message, title?) | `(msg, title?) => id` | — | 警告 |
|
|
49
|
+
| error(message, title?) | `(msg, title?) => id` | — | 错误 |
|
|
50
|
+
| open({ type, content, title?, duration?, key? }) | `(config) => id` | — | 对象配置 API |
|
|
51
|
+
| dismiss(id) | `(id: number) => void` | — | 关闭一条 |
|
|
52
|
+
| destroy(key?) / clear() | `(key?) => void` | — | 关闭指定 key 或清空全部 |
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
**MessageContainer**
|
|
56
|
+
|
|
57
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
58
|
+
| --- | --- | --- | --- |
|
|
59
|
+
| placement | `"top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center"` | `"top-right"` | 位置 |
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
[← 回到索引](../llms.md)
|
package/docs/llms/modal.md
CHANGED
|
@@ -16,6 +16,24 @@ import { Modal } from "@fangxinyan/lumina";
|
|
|
16
16
|
<Modal open={m} onClose={...} title="标题">...</Modal>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
### 静态确认框
|
|
20
|
+
|
|
21
|
+
通过 Modal.confirm / warning / error / success / info 直接创建一次性对话框。
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
Modal.confirm({
|
|
25
|
+
title: "覆盖当前配置?",
|
|
26
|
+
content: "保存后会立即生效。",
|
|
27
|
+
okText: "覆盖",
|
|
28
|
+
onOk: async () => {
|
|
29
|
+
await save();
|
|
30
|
+
message.success("已覆盖");
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
Modal.warning({ title: "容量不足", content: "请先清理缓存。" });
|
|
35
|
+
```
|
|
36
|
+
|
|
19
37
|
### 确认操作 (footer 自定义)
|
|
20
38
|
|
|
21
39
|
用 footer 自定义底部按钮。传 null 可以去掉 footer。
|
|
@@ -85,5 +103,17 @@ closable={false} 隐藏右上角 ×,closeIcon 可自定义。
|
|
|
85
103
|
| zIndex | `number` | — | 覆盖遮罩 z-index |
|
|
86
104
|
|
|
87
105
|
|
|
106
|
+
**Modal 静态 API**
|
|
107
|
+
|
|
108
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
109
|
+
| --- | --- | --- | --- |
|
|
110
|
+
| Modal.confirm(config) | `(config) => { destroy, update }` | — | 确认框,默认显示取消/确定 |
|
|
111
|
+
| Modal.info / success / warning / error(config) | `(config) => { destroy, update }` | — | 单按钮提示框 |
|
|
112
|
+
| Modal.destroyAll() | `() => void` | — | 关闭全部静态弹窗 |
|
|
113
|
+
| config.content | `ReactNode` | — | 正文内容 |
|
|
114
|
+
| config.okCancel | `boolean` | — | 是否显示取消按钮 |
|
|
115
|
+
| config.onOk | `() => void | Promise<void>` | — | 确定回调,返回 Promise 时自动显示 loading |
|
|
116
|
+
|
|
117
|
+
|
|
88
118
|
---
|
|
89
119
|
[← 回到索引](../llms.md)
|
package/docs/llms/popover.md
CHANGED
|
@@ -71,6 +71,21 @@ import { Popover } from "@fangxinyan/lumina";
|
|
|
71
71
|
</div>
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
### 细分位置与浮层 class
|
|
75
|
+
|
|
76
|
+
placement 支持 bottomLeft 等细分方向,overlayClassName 可标记浮层节点。
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
<Popover
|
|
80
|
+
placement="bottomLeft"
|
|
81
|
+
overlayClassName="settings-popover"
|
|
82
|
+
title="快捷设置"
|
|
83
|
+
content={<div>显示在触发器左下方。</div>}
|
|
84
|
+
>
|
|
85
|
+
<Button icon="settings">设置</Button>
|
|
86
|
+
</Popover>
|
|
87
|
+
```
|
|
88
|
+
|
|
74
89
|
### 箭头
|
|
75
90
|
|
|
76
91
|
arrow 属性添加指向触发元素的小箭头
|
|
@@ -152,7 +167,7 @@ trigger="hover" 鼠标悬停触发
|
|
|
152
167
|
| --- | --- | --- | --- |
|
|
153
168
|
| content \* | `ReactNode` | — | 浮层内容 |
|
|
154
169
|
| title | `ReactNode` | — | 标题 |
|
|
155
|
-
| placement | `"top" | "bottom" | "left" | "right"
|
|
170
|
+
| placement | `"top" | "bottom" | "left" | "right" | ...` | `"bottom"` | 弹出位置,支持 bottomLeft 等细分方向 |
|
|
156
171
|
| trigger | `"click" | "hover"` | `"click"` | 触发方式 |
|
|
157
172
|
| arrow | `boolean` | `false` | 显示箭头 |
|
|
158
173
|
| closable | `boolean` | `false` | 显示关闭按钮 |
|
|
@@ -160,6 +175,8 @@ trigger="hover" 鼠标悬停触发
|
|
|
160
175
|
| open | `boolean` | — | 受控显示状态 |
|
|
161
176
|
| defaultOpen | `boolean` | `false` | 非受控初始状态 |
|
|
162
177
|
| onOpenChange | `(open: boolean) => void` | — | 显示状态变化回调 |
|
|
178
|
+
| visible / onVisibleChange | `boolean / (visible) => void` | — | 受控显示状态别名 |
|
|
179
|
+
| overlayClassName / popupClassName | `string` | — | 浮层 className |
|
|
163
180
|
|
|
164
181
|
|
|
165
182
|
---
|