@fangxinyan/lumina 0.1.6 → 0.2.1
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 +18 -7
- package/dist/{Accordion-GSBY5T5U.css → Accordion-3TQPKNN3.css} +8 -1
- package/dist/Accordion.cjs +2 -2
- package/dist/Accordion.d.cts +12 -0
- package/dist/Accordion.d.ts +12 -0
- package/dist/Accordion.js +1 -1
- package/dist/{Alert-LSKBYDRI.css → Alert-JJ7GB3UU.css} +11 -0
- package/dist/Alert.cjs +2 -2
- package/dist/Alert.d.cts +4 -0
- package/dist/Alert.d.ts +4 -0
- package/dist/Alert.js +1 -1
- package/dist/{Avatar-OXDSG5Q6.css → Avatar-R5A4AFKZ.css} +4 -0
- package/dist/Avatar.cjs +2 -2
- package/dist/Avatar.d.cts +2 -0
- package/dist/Avatar.d.ts +2 -0
- package/dist/Avatar.js +1 -1
- package/dist/{Button-5UI7QXGU.css → Button-SDQD25AG.css} +2 -0
- package/dist/Button.cjs +3 -3
- package/dist/Button.d.cts +2 -0
- package/dist/Button.d.ts +2 -0
- package/dist/Button.js +1 -1
- package/dist/Calendar.cjs +2 -2
- package/dist/Calendar.d.cts +8 -0
- package/dist/Calendar.d.ts +8 -0
- package/dist/Calendar.js +1 -1
- package/dist/{Card-2CHHFD4Y.css → Card-RG7ECXL2.css} +11 -0
- package/dist/Card.cjs +3 -3
- package/dist/Card.d.cts +2 -0
- package/dist/Card.d.ts +2 -0
- package/dist/Card.js +1 -1
- package/dist/{Divider-Z37INS5E.css → Divider-OEE4Q2KS.css} +31 -0
- package/dist/Divider.cjs +2 -2
- package/dist/Divider.d.cts +7 -0
- package/dist/Divider.d.ts +7 -0
- package/dist/Divider.js +1 -1
- package/dist/{Empty-VM23UNLQ.css → Empty-NQ72W3D7.css} +22 -0
- package/dist/Empty.cjs +4 -4
- package/dist/Empty.d.cts +42 -2
- package/dist/Empty.d.ts +42 -2
- package/dist/Empty.js +1 -1
- package/dist/Input-33CAH4O6.css +134 -0
- package/dist/Input.cjs +3 -3
- package/dist/Input.d.cts +17 -1
- package/dist/Input.d.ts +17 -1
- package/dist/Input.js +1 -1
- package/dist/Modal.cjs +3 -3
- package/dist/Modal.js +2 -2
- package/dist/{Pagination-6FFOI4NM.css → Pagination-YIRYJUXP.css} +33 -0
- package/dist/Pagination.cjs +5 -2
- package/dist/Pagination.d.cts +14 -0
- package/dist/Pagination.d.ts +14 -0
- package/dist/Pagination.js +4 -1
- package/dist/Select.cjs +3 -3
- package/dist/Select.js +2 -2
- package/dist/{Slider-RE4HZQKF.css → Slider-X4PVA65R.css} +51 -2
- package/dist/Slider.cjs +2 -2
- package/dist/Slider.d.cts +20 -5
- package/dist/Slider.d.ts +20 -5
- package/dist/Slider.js +1 -1
- package/dist/Switch-36KJNDXM.css +92 -0
- package/dist/Switch.cjs +2 -2
- package/dist/Switch.d.cts +4 -0
- package/dist/Switch.d.ts +4 -0
- package/dist/Switch.js +1 -1
- package/dist/Table-YKVM42SW.css +295 -0
- package/dist/Table.cjs +7 -3
- package/dist/Table.d.cts +103 -7
- package/dist/Table.d.ts +103 -7
- package/dist/Table.js +5 -1
- package/dist/{Tabs-A27TSZOP.css → Tabs-RHK6XAFF.css} +7 -0
- package/dist/Tabs.cjs +3 -3
- package/dist/Tabs.d.cts +2 -0
- package/dist/Tabs.d.ts +2 -0
- package/dist/Tabs.js +1 -1
- package/dist/{Tag-EYOY3UWG.css → Tag-FGDY3W7E.css} +2 -0
- package/dist/Tag.cjs +3 -3
- package/dist/Tag.d.cts +5 -0
- package/dist/Tag.d.ts +5 -0
- package/dist/Tag.js +1 -1
- package/dist/chunk-437LB2V4.js +111 -0
- package/dist/chunk-437LB2V4.js.map +1 -0
- package/dist/chunk-4MR4GVTD.js +73 -0
- package/dist/chunk-4MR4GVTD.js.map +1 -0
- package/dist/{chunk-OXYFB2ZI.js → chunk-4U4OY5RA.js} +11 -5
- package/dist/chunk-4U4OY5RA.js.map +1 -0
- package/dist/{chunk-5EYI27B6.js → chunk-77BVQNAQ.js} +5 -3
- package/dist/chunk-77BVQNAQ.js.map +1 -0
- package/dist/{chunk-3QWHDCHJ.js → chunk-AJZKESHB.js} +13 -4
- package/dist/chunk-AJZKESHB.js.map +1 -0
- package/dist/{chunk-NZPJ7BUB.cjs → chunk-AXMEZGEG.cjs} +13 -4
- package/dist/chunk-AXMEZGEG.cjs.map +1 -0
- package/dist/{chunk-HTP6UEVR.js → chunk-BBPNQ44M.js} +22 -6
- package/dist/chunk-BBPNQ44M.js.map +1 -0
- package/dist/{chunk-QQXIWOI3.cjs → chunk-CCBHZYE6.cjs} +5 -5
- package/dist/{chunk-QQXIWOI3.cjs.map → chunk-CCBHZYE6.cjs.map} +1 -1
- package/dist/chunk-E6R63QOL.js +476 -0
- package/dist/chunk-E6R63QOL.js.map +1 -0
- package/dist/{chunk-KGYLUZOU.cjs → chunk-EPFYIR63.cjs} +5 -5
- package/dist/{chunk-KGYLUZOU.cjs.map → chunk-EPFYIR63.cjs.map} +1 -1
- package/dist/chunk-F7HW2PYR.cjs +119 -0
- package/dist/chunk-F7HW2PYR.cjs.map +1 -0
- package/dist/chunk-GIVMKGZN.js +39 -0
- package/dist/chunk-GIVMKGZN.js.map +1 -0
- package/dist/{chunk-FMG3ZPGK.js → chunk-H6FCIJOP.js} +5 -3
- package/dist/chunk-H6FCIJOP.js.map +1 -0
- package/dist/{chunk-ALFDP5WX.cjs → chunk-IDM6JJLP.cjs} +22 -6
- package/dist/chunk-IDM6JJLP.cjs.map +1 -0
- package/dist/{chunk-I2ERCHFV.cjs → chunk-JKLQOB2F.cjs} +11 -5
- package/dist/chunk-JKLQOB2F.cjs.map +1 -0
- package/dist/{chunk-IGHLSNXT.cjs → chunk-K7PVJLW4.cjs} +51 -4
- package/dist/chunk-K7PVJLW4.cjs.map +1 -0
- package/dist/chunk-LDENBYRC.cjs +210 -0
- package/dist/chunk-LDENBYRC.cjs.map +1 -0
- package/dist/{chunk-OOBSH7EL.js → chunk-LSLYY5FN.js} +3 -3
- package/dist/{chunk-OOBSH7EL.js.map → chunk-LSLYY5FN.js.map} +1 -1
- package/dist/chunk-NSUD5B22.js +187 -0
- package/dist/chunk-NSUD5B22.js.map +1 -0
- package/dist/{chunk-AAMYURWQ.cjs → chunk-OPTTHURA.cjs} +5 -3
- package/dist/chunk-OPTTHURA.cjs.map +1 -0
- package/dist/{chunk-F3NHM4GX.js → chunk-OYGFMXAA.js} +13 -4
- package/dist/chunk-OYGFMXAA.js.map +1 -0
- package/dist/chunk-PBBHUUXU.cjs +133 -0
- package/dist/chunk-PBBHUUXU.cjs.map +1 -0
- package/dist/chunk-RDLPX7RK.cjs +95 -0
- package/dist/chunk-RDLPX7RK.cjs.map +1 -0
- package/dist/chunk-SBMOIE5C.cjs +499 -0
- package/dist/chunk-SBMOIE5C.cjs.map +1 -0
- package/dist/{chunk-XFRP2MBR.js → chunk-TYQ5CN2C.js} +51 -4
- package/dist/chunk-TYQ5CN2C.js.map +1 -0
- package/dist/{chunk-7CKHWCEA.cjs → chunk-TZSWDH5T.cjs} +5 -3
- package/dist/chunk-TZSWDH5T.cjs.map +1 -0
- package/dist/{chunk-VMHNKD3N.cjs → chunk-URF6RBW6.cjs} +13 -4
- package/dist/chunk-URF6RBW6.cjs.map +1 -0
- package/dist/{chunk-G3UWXSNQ.js → chunk-V34OPWKZ.js} +5 -4
- package/dist/chunk-V34OPWKZ.js.map +1 -0
- package/dist/{chunk-ITGCHU3Y.cjs → chunk-VICGQC6G.cjs} +5 -4
- package/dist/chunk-VICGQC6G.cjs.map +1 -0
- package/dist/chunk-YEOARJKR.cjs +40 -0
- package/dist/chunk-YEOARJKR.cjs.map +1 -0
- package/dist/chunk-Z5X5AMLA.cjs +41 -0
- package/dist/chunk-Z5X5AMLA.cjs.map +1 -0
- package/dist/chunk-Z7P6QGMT.js +115 -0
- package/dist/chunk-Z7P6QGMT.js.map +1 -0
- package/dist/{chunk-OYH6A7IQ.js → chunk-ZVCMXDTP.js} +3 -3
- package/dist/{chunk-OYH6A7IQ.js.map → chunk-ZVCMXDTP.js.map} +1 -1
- package/dist/chunk-ZWP4LSS3.js +38 -0
- package/dist/chunk-ZWP4LSS3.js.map +1 -0
- package/dist/index.cjs +43 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/styles.css +455 -30
- package/docs/llms/accordion.md +66 -0
- package/docs/llms/alert.md +64 -0
- package/docs/llms/avatar.md +55 -0
- package/docs/llms/badge.md +41 -0
- package/docs/llms/button.md +122 -0
- package/docs/llms/calendar.md +44 -0
- package/docs/llms/card.md +68 -0
- package/docs/llms/cascader.md +33 -0
- package/docs/llms/checkbox.md +41 -0
- package/docs/llms/colorpicker.md +82 -0
- package/docs/llms/divider.md +69 -0
- package/docs/llms/drawer.md +70 -0
- package/docs/llms/empty.md +52 -0
- package/docs/llms/icon.md +34 -0
- package/docs/llms/image.md +39 -0
- package/docs/llms/input.md +127 -0
- package/docs/llms/intro.md +6 -0
- package/docs/llms/list.md +41 -0
- package/docs/llms/modal.md +89 -0
- package/docs/llms/pagination.md +82 -0
- package/docs/llms/popover.md +34 -0
- package/docs/llms/progress.md +58 -0
- package/docs/llms/radio.md +43 -0
- package/docs/llms/select.md +99 -0
- package/docs/llms/sidebar.md +43 -0
- package/docs/llms/skeleton.md +88 -0
- package/docs/llms/slider.md +72 -0
- package/docs/llms/spinner.md +58 -0
- package/docs/llms/switch.md +60 -0
- package/docs/llms/table.md +188 -0
- package/docs/llms/tablepro.md +56 -0
- package/docs/llms/tabs.md +50 -0
- package/docs/llms/tag.md +77 -0
- package/docs/llms/theme.md +165 -0
- package/docs/llms/titlebar.md +40 -0
- package/docs/llms/toast.md +51 -0
- package/docs/llms/tooltip.md +38 -0
- package/docs/llms/typography.md +103 -0
- package/docs/llms/windowcontrols.md +31 -0
- package/docs/llms.md +97 -0
- package/package.json +8 -2
- package/dist/Input-Z526ARZP.css +0 -66
- package/dist/Switch-NP7KKJOX.css +0 -44
- package/dist/Table-ZDPGWLH3.css +0 -139
- package/dist/chunk-2VA2HSL4.cjs +0 -121
- package/dist/chunk-2VA2HSL4.cjs.map +0 -1
- package/dist/chunk-2W2AJUZW.js +0 -118
- package/dist/chunk-2W2AJUZW.js.map +0 -1
- package/dist/chunk-3QWHDCHJ.js.map +0 -1
- package/dist/chunk-4AA22BOG.js +0 -63
- package/dist/chunk-4AA22BOG.js.map +0 -1
- package/dist/chunk-5EYI27B6.js.map +0 -1
- package/dist/chunk-77NP67ML.cjs +0 -70
- package/dist/chunk-77NP67ML.cjs.map +0 -1
- package/dist/chunk-7CKHWCEA.cjs.map +0 -1
- package/dist/chunk-7NM5BRUX.js +0 -91
- package/dist/chunk-7NM5BRUX.js.map +0 -1
- package/dist/chunk-7UJI437T.js +0 -49
- package/dist/chunk-7UJI437T.js.map +0 -1
- package/dist/chunk-AAMYURWQ.cjs.map +0 -1
- package/dist/chunk-ALFDP5WX.cjs.map +0 -1
- package/dist/chunk-F3NHM4GX.js.map +0 -1
- package/dist/chunk-FMG3ZPGK.js.map +0 -1
- package/dist/chunk-G3UWXSNQ.js.map +0 -1
- package/dist/chunk-HTP6UEVR.js.map +0 -1
- package/dist/chunk-I2ERCHFV.cjs.map +0 -1
- package/dist/chunk-IBZAGURN.cjs +0 -71
- package/dist/chunk-IBZAGURN.cjs.map +0 -1
- package/dist/chunk-IGHLSNXT.cjs.map +0 -1
- package/dist/chunk-ITGCHU3Y.cjs.map +0 -1
- package/dist/chunk-JNFCTYJT.cjs +0 -31
- package/dist/chunk-JNFCTYJT.cjs.map +0 -1
- package/dist/chunk-JWFVSBVX.cjs +0 -30
- package/dist/chunk-JWFVSBVX.cjs.map +0 -1
- package/dist/chunk-K67KIKX4.cjs +0 -67
- package/dist/chunk-K67KIKX4.cjs.map +0 -1
- package/dist/chunk-M6OTFXZA.js +0 -48
- package/dist/chunk-M6OTFXZA.js.map +0 -1
- package/dist/chunk-NWJW5KLN.js +0 -29
- package/dist/chunk-NWJW5KLN.js.map +0 -1
- package/dist/chunk-NZPJ7BUB.cjs.map +0 -1
- package/dist/chunk-OXYFB2ZI.js.map +0 -1
- package/dist/chunk-QT7SJITQ.cjs +0 -114
- package/dist/chunk-QT7SJITQ.cjs.map +0 -1
- package/dist/chunk-VMHNKD3N.cjs.map +0 -1
- package/dist/chunk-VXITDXLW.js +0 -28
- package/dist/chunk-VXITDXLW.js.map +0 -1
- package/dist/chunk-XFRP2MBR.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Accordion 折叠面板
|
|
2
|
+
|
|
3
|
+
> 纵向折叠面板。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Accordion } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Accordion items={[{ key, title, content }]} />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 多项展开
|
|
20
|
+
|
|
21
|
+
multiple 允许同时展开多个面板。
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Accordion multiple defaultActiveKeys={["1", "2"]} ... />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 手风琴模式
|
|
28
|
+
|
|
29
|
+
accordion={true} 同一时刻最多只展开一项;与 multiple 同时传入时 accordion 优先。
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<Accordion accordion defaultActiveKeys={["1"]} ... />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 仅图标可点
|
|
36
|
+
|
|
37
|
+
collapsible="icon" 将展开触发限制在右侧箭头图标上,标题区域不再响应。
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<Accordion collapsible="icon" ... />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 禁用展开
|
|
44
|
+
|
|
45
|
+
collapsible="disabled" 会禁用所有项的展开交互。
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Accordion collapsible="disabled" defaultActiveKeys={["1"]} ... />
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## API
|
|
52
|
+
|
|
53
|
+
**Accordion**
|
|
54
|
+
|
|
55
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| items \* | `AccordionItem[]` | — | 面板数据 |
|
|
58
|
+
| multiple | `boolean` | `false` | 可同时展开多个 |
|
|
59
|
+
| accordion | `boolean` | `false` | 手风琴模式(同一时刻最多一项) |
|
|
60
|
+
| collapsible | `"header" | "icon" | "disabled"` | `"header"` | 展开触发区域 |
|
|
61
|
+
| activeKeys / defaultActiveKeys | `string[]` | — | 受控/初始展开 |
|
|
62
|
+
| onChange | `(keys: string[]) => void` | — | 展开变更 |
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Alert 警告提示
|
|
2
|
+
|
|
3
|
+
> 页面中嵌入的警告/提示。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Alert } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 四种语义
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Alert tone="info" title="标题">内容</Alert>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 无标题 / 可关闭
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<Alert tone="info" closable>仅一行的简短提示</Alert>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 隐藏图标
|
|
26
|
+
|
|
27
|
+
showIcon={false} 可隐藏左侧语义图标,文本更紧凑。
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<Alert tone="info" showIcon={false}>纯文本提示</Alert>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 自定义操作区
|
|
34
|
+
|
|
35
|
+
action 插槽可以放置按钮等操作元素,位于内容与关闭按钮之间。
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
<Alert
|
|
39
|
+
tone="warning"
|
|
40
|
+
title="新版本可用"
|
|
41
|
+
action={<Button size="sm" variant="primary">立即更新</Button>}
|
|
42
|
+
closable
|
|
43
|
+
>
|
|
44
|
+
v1.2.0 已发布。
|
|
45
|
+
</Alert>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## API
|
|
49
|
+
|
|
50
|
+
**Alert**
|
|
51
|
+
|
|
52
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
53
|
+
| --- | --- | --- | --- |
|
|
54
|
+
| tone | `"info" | "success" | "warning" | "danger"` | `"info"` | 语气 |
|
|
55
|
+
| title | `ReactNode` | — | 标题 |
|
|
56
|
+
| icon | `IconName` | — | 自定义图标 |
|
|
57
|
+
| showIcon | `boolean` | `true` | 是否显示语义图标 |
|
|
58
|
+
| action | `ReactNode` | — | 右侧操作区(如按钮) |
|
|
59
|
+
| closable | `boolean` | `false` | 可关闭 |
|
|
60
|
+
| onClose | `() => void` | — | 关闭回调 |
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Avatar 头像
|
|
2
|
+
|
|
3
|
+
> 用图像、首字母代表用户或事物。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Avatar } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础
|
|
14
|
+
|
|
15
|
+
通过 alt 自动生成首字母。
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<Avatar alt="金伟" />
|
|
19
|
+
<Avatar alt="陆" size="lg" />
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 方形头像
|
|
23
|
+
|
|
24
|
+
shape="square" 使用圆角方形,尺寸变化时圆角跟随变化。
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<Avatar alt="金" shape="square" />
|
|
28
|
+
<Avatar alt="陆" shape="square" size="lg" />
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 状态
|
|
32
|
+
|
|
33
|
+
在右下角显示状态点。
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<Avatar alt="金" status="online" />
|
|
37
|
+
<Avatar alt="陆" status="busy" />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## API
|
|
41
|
+
|
|
42
|
+
**Avatar**
|
|
43
|
+
|
|
44
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
45
|
+
| --- | --- | --- | --- |
|
|
46
|
+
| src | `string` | — | 图片 URL |
|
|
47
|
+
| alt | `string` | — | 替代文本/首字母来源 |
|
|
48
|
+
| initials | `string` | — | 自定义首字母 |
|
|
49
|
+
| size | `number | "sm" | "md" | "lg" | "xl"` | `"md"` | 尺寸 |
|
|
50
|
+
| shape | `"circle" | "square"` | `"circle"` | 形状 |
|
|
51
|
+
| status | `"online" | "busy" | "away" | "offline"` | — | 状态点 |
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Badge 徽标数
|
|
2
|
+
|
|
3
|
+
> 右上角的小型计数或状态指示器。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Badge } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 数字徽标
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Badge count={3}><IconButton icon="bell" /></Badge>
|
|
17
|
+
<Badge count={128} max={99}><IconButton icon="mail" /></Badge>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 圆点
|
|
21
|
+
|
|
22
|
+
dot 模式不显示数字,只是状态指示。
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
<Badge dot><IconButton icon="user" /></Badge>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## API
|
|
29
|
+
|
|
30
|
+
**Badge**
|
|
31
|
+
|
|
32
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
| count | `number` | — | 显示数字 |
|
|
35
|
+
| dot | `boolean` | `false` | 圆点模式 |
|
|
36
|
+
| max | `number` | `99` | 超过显示 max+ |
|
|
37
|
+
| tone | `"neutral" | "accent" | ...` | `"danger"` | 色调 |
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Button 按钮
|
|
2
|
+
|
|
3
|
+
> 标记一个操作命令,响应用户点击行为,触发相应业务逻辑。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Button, IconButton, Segmented } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础按钮
|
|
14
|
+
|
|
15
|
+
四种风格:主要、默认、幽灵、危险。
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<Button variant="primary">主按钮</Button>
|
|
19
|
+
<Button>默认按钮</Button>
|
|
20
|
+
<Button variant="ghost">幽灵按钮</Button>
|
|
21
|
+
<Button variant="danger">删除</Button>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 图标按钮
|
|
25
|
+
|
|
26
|
+
icon 在前,trailingIcon 在后。
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
<Button variant="primary" icon="sparkle">新建</Button>
|
|
30
|
+
<Button icon="download">下载</Button>
|
|
31
|
+
<Button trailingIcon="arrowRight">下一步</Button>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 加载与禁用
|
|
35
|
+
|
|
36
|
+
loading 期间禁用并显示 spinner。
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
<Button loading={loading} variant="primary" onClick={...}>点我加载</Button>
|
|
40
|
+
<Button disabled>已禁用</Button>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 尺寸
|
|
44
|
+
|
|
45
|
+
提供 sm / md / lg 三种高度。
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Button size="sm">Small</Button>
|
|
49
|
+
<Button>Medium</Button>
|
|
50
|
+
<Button size="lg">Large</Button>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 块级按钮
|
|
54
|
+
|
|
55
|
+
block 让按钮撑满容器宽度,常用于底部主操作或表单提交。
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
<Button block variant="primary" icon="send">提交表单</Button>
|
|
59
|
+
<Button block>取消</Button>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 纯图标按钮
|
|
63
|
+
|
|
64
|
+
IconButton 是只含图标的方形按钮,常配合 tip 使用。
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
<IconButton icon="heart" tip="收藏" />
|
|
68
|
+
<IconButton icon="bell" tip="通知" />
|
|
69
|
+
<IconButton icon="settings" tip="设置" />
|
|
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
|
+
/>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## API
|
|
88
|
+
|
|
89
|
+
**Button**
|
|
90
|
+
|
|
91
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
92
|
+
| --- | --- | --- | --- |
|
|
93
|
+
| variant | `"default" | "primary" | "ghost" | "danger"` | `"default"` | 按钮风格 |
|
|
94
|
+
| size | `"sm" | "md" | "lg"` | `"md"` | 按钮尺寸 |
|
|
95
|
+
| icon | `IconName` | — | 前置图标 |
|
|
96
|
+
| trailingIcon | `IconName` | — | 后置图标 |
|
|
97
|
+
| loading | `boolean` | `false` | 加载态 |
|
|
98
|
+
| block | `boolean` | `false` | 撑满父容器宽度 |
|
|
99
|
+
| disabled | `boolean` | `false` | 禁用 |
|
|
100
|
+
| onClick | `(e: MouseEvent) => void` | — | 点击回调 |
|
|
101
|
+
|
|
102
|
+
|
|
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
|
+
---
|
|
122
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Calendar 日历
|
|
2
|
+
|
|
3
|
+
> 查看与选择日期。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Calendar } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础用法
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Calendar value={date} onChange={setDate} />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 禁用日期
|
|
20
|
+
|
|
21
|
+
通过 disabledDate 将周末标灰并禁止点击;与 min/max 可叠加使用。
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Calendar
|
|
25
|
+
value={workDate}
|
|
26
|
+
onChange={setWorkDate}
|
|
27
|
+
disabledDate={(d) => d.getDay() === 0 || d.getDay() === 6}
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## API
|
|
32
|
+
|
|
33
|
+
**Calendar**
|
|
34
|
+
|
|
35
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
36
|
+
| --- | --- | --- | --- |
|
|
37
|
+
| value / defaultValue | `Date` | — | 受控/初始日期 |
|
|
38
|
+
| onChange | `(date: Date) => void` | — | 选择回调 |
|
|
39
|
+
| min / max | `Date` | — | 可选范围 |
|
|
40
|
+
| disabledDate | `(date: Date) => boolean` | — | 自定义禁用判断,返回 true 的日期不可选 |
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Card 卡片
|
|
2
|
+
|
|
3
|
+
> 信息分组容器,提供 raised / flat / sunken 三种视觉变体。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Card, Panel } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 三种变体
|
|
14
|
+
|
|
15
|
+
raised(默认凸起)、flat(扁平)、sunken(凹陷)。
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<Card>raised</Card>
|
|
19
|
+
<Card variant="flat">flat</Card>
|
|
20
|
+
<Card variant="sunken">sunken</Card>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 悬浮抬起
|
|
24
|
+
|
|
25
|
+
hoverable 在鼠标悬浮时轻微上移并加强阴影,适合可点击的卡片列表。
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
<Card hoverable>可点击卡片</Card>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Panel
|
|
32
|
+
|
|
33
|
+
带标题、描述、操作区。
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<Panel title="月度营收" description="2026 年 4 月" actions={...}>
|
|
37
|
+
¥ 12,480
|
|
38
|
+
</Panel>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Panel 带操作
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
<Panel title="..." actions={<Button size="sm" icon="plus">邀请</Button>}>...</Panel>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## API
|
|
48
|
+
|
|
49
|
+
**Card**
|
|
50
|
+
|
|
51
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
52
|
+
| --- | --- | --- | --- |
|
|
53
|
+
| variant | `"raised" | "flat" | "sunken"` | `"raised"` | 视觉变体 |
|
|
54
|
+
| padding | `"none" | "sm" | "md" | "lg"` | `"md"` | 内边距 |
|
|
55
|
+
| hoverable | `boolean` | `false` | 悬浮时抬起 |
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
**Panel**
|
|
59
|
+
|
|
60
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
61
|
+
| --- | --- | --- | --- |
|
|
62
|
+
| title | `ReactNode` | — | 标题 |
|
|
63
|
+
| description | `ReactNode` | — | 副标题 |
|
|
64
|
+
| actions | `ReactNode` | — | 右上操作区 |
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Cascader 级联选择
|
|
2
|
+
|
|
3
|
+
> 层级关联数据集合中的多级选择。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Cascader } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础用法
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Cascader options={regions} value={addr} onChange={setAddr} />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## API
|
|
20
|
+
|
|
21
|
+
**Cascader**
|
|
22
|
+
|
|
23
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| options \* | `CascaderOption[]` | — | 层级选项树 |
|
|
26
|
+
| value / defaultValue | `string[]` | — | 受控/初始路径 |
|
|
27
|
+
| onChange | `(path: string[]) => void` | — | 选择叶子时触发 |
|
|
28
|
+
| placeholder | `string` | — | 占位文案 |
|
|
29
|
+
| disabled | `boolean` | `false` | 禁用 |
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Checkbox 复选框
|
|
2
|
+
|
|
3
|
+
> 在一组选项中进行多项选择,或独立切换某个开关项。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Checkbox } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础用法
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Checkbox checked={v} onChange={setV} label="同意协议" />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 全选/半选
|
|
20
|
+
|
|
21
|
+
indeterminate 用来表示部分选中。
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Checkbox indeterminate={some} checked={all} onChange={...} label="全选" />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## API
|
|
28
|
+
|
|
29
|
+
**Checkbox**
|
|
30
|
+
|
|
31
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
32
|
+
| --- | --- | --- | --- |
|
|
33
|
+
| checked / defaultChecked | `boolean` | — | 受控/初始 |
|
|
34
|
+
| indeterminate | `boolean` | `false` | 半选态 |
|
|
35
|
+
| onChange | `(checked: boolean) => void` | — | 变更 |
|
|
36
|
+
| label | `ReactNode` | — | 右侧文案 |
|
|
37
|
+
| disabled | `boolean` | `false` | 禁用 |
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# ColorPicker 颜色选择
|
|
2
|
+
|
|
3
|
+
> 拟态风格的颜色选择器:HSV 色域、色相、hex 输入、预设调色板。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { ColorPicker } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础用法
|
|
14
|
+
|
|
15
|
+
非受控用法,点击色块弹出面板。
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<ColorPicker defaultValue="#ff6b6b" onChange={setColor} />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 受控
|
|
22
|
+
|
|
23
|
+
实时同步 value,失焦 / 拖拽结束时再调用 onChangeComplete。
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
<ColorPicker value={color} onChange={setColor} showText />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 尺寸
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<ColorPicker size="sm" />
|
|
33
|
+
<ColorPicker />
|
|
34
|
+
<ColorPicker size="lg" />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 禁用
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<ColorPicker disabled defaultValue="#868e96" />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 自定义预设
|
|
44
|
+
|
|
45
|
+
presets 传入十六进制数组,面板底部会渲染一排色块。
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<ColorPicker
|
|
49
|
+
presets={["#ff6b6b", "#ffd43b", "#51cf66", "#339af0", "#845ef7"]}
|
|
50
|
+
/>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 自定义触发器
|
|
54
|
+
|
|
55
|
+
将 children 作为触发器;色块容器会继承传入的交互元素。
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
<ColorPicker value={brand} onChange={setBrand}>
|
|
59
|
+
<Button icon="palette">品牌色 · {brand}</Button>
|
|
60
|
+
</ColorPicker>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## API
|
|
64
|
+
|
|
65
|
+
**ColorPicker**
|
|
66
|
+
|
|
67
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
68
|
+
| --- | --- | --- | --- |
|
|
69
|
+
| value / defaultValue | `string` | `"#845ef7"` | 十六进制颜色 |
|
|
70
|
+
| onChange | `(hex: string) => void` | — | 每次变化触发(拖拽 / 输入 / 预设点击) |
|
|
71
|
+
| onChangeComplete | `(hex: string) => void` | — | 拖拽/输入结束触发 |
|
|
72
|
+
| size | `"sm" | "md" | "lg"` | `"md"` | 触发器尺寸 |
|
|
73
|
+
| placement | `"top" | "bottom" | "left" | "right"` | `"bottom"` | 面板位置 |
|
|
74
|
+
| presets | `string[]` | — | 预设色数组 |
|
|
75
|
+
| showText | `boolean` | `false` | 触发器右侧显示 hex |
|
|
76
|
+
| disabled | `boolean` | `false` | 禁用 |
|
|
77
|
+
| open / defaultOpen / onOpenChange | `—` | — | 受控面板显隐 |
|
|
78
|
+
| children | `ReactNode` | — | 自定义触发器 |
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
[← 回到索引](../llms.md)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Divider 分隔符
|
|
2
|
+
|
|
3
|
+
> 对内容进行分割。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Divider } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 水平分隔
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Divider />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 带文字
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<Divider label="分割标题" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 文字位置
|
|
26
|
+
|
|
27
|
+
orientation 控制文字在线上的位置。
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<Divider label="左对齐" orientation="left" />
|
|
31
|
+
<Divider label="居中" orientation="center" />
|
|
32
|
+
<Divider label="右对齐" orientation="right" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 虚线
|
|
36
|
+
|
|
37
|
+
dashed 切换为虚线样式,也适用于带文字或垂直方向。
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<Divider dashed />
|
|
41
|
+
<Divider dashed label="虚线带文字" />
|
|
42
|
+
<Row>
|
|
43
|
+
<span>左</span>
|
|
44
|
+
<Divider direction="vertical" dashed />
|
|
45
|
+
<span>右</span>
|
|
46
|
+
</Row>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 垂直分隔
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<Divider direction="vertical" />
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## API
|
|
56
|
+
|
|
57
|
+
**Divider**
|
|
58
|
+
|
|
59
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
60
|
+
| --- | --- | --- | --- |
|
|
61
|
+
| direction | `"horizontal" | "vertical"` | `"horizontal"` | 方向 |
|
|
62
|
+
| label | `ReactNode` | — | 中部文字 |
|
|
63
|
+
| orientation | `"left" | "center" | "right"` | `"center"` | 文字位置(仅水平) |
|
|
64
|
+
| dashed | `boolean` | `false` | 虚线样式 |
|
|
65
|
+
| sunken | `boolean` | `false` | 凹陷凹槽样式 |
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
[← 回到索引](../llms.md)
|