@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/radio.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import { RadioGroup } from "@fangxinyan/lumina";
|
|
8
|
+
import { Radio, RadioGroup } from "@fangxinyan/lumina";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
@@ -19,6 +19,14 @@ import { RadioGroup } from "@fangxinyan/lumina";
|
|
|
19
19
|
]} />
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
### 单个 Radio
|
|
23
|
+
|
|
24
|
+
单项控件可用于自定义组合场景;表单里通常优先使用 RadioGroup。
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<Radio label="接收更新" defaultChecked />
|
|
28
|
+
```
|
|
29
|
+
|
|
22
30
|
### 水平排列
|
|
23
31
|
|
|
24
32
|
direction='horizontal'。
|
|
@@ -27,8 +35,34 @@ direction='horizontal'。
|
|
|
27
35
|
<RadioGroup direction="horizontal" ... />
|
|
28
36
|
```
|
|
29
37
|
|
|
38
|
+
### 分段外观
|
|
39
|
+
|
|
40
|
+
variant="segmented" 用同一组选项表达更紧凑的互斥切换。
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<RadioGroup
|
|
44
|
+
variant="segmented"
|
|
45
|
+
defaultValue="grid"
|
|
46
|
+
options={[
|
|
47
|
+
{ value: "grid", label: "网格" },
|
|
48
|
+
{ value: "list", label: "列表" },
|
|
49
|
+
{ value: "card", label: "卡片" },
|
|
50
|
+
]}
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
30
54
|
## API
|
|
31
55
|
|
|
56
|
+
**Radio**
|
|
57
|
+
|
|
58
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
59
|
+
| --- | --- | --- | --- |
|
|
60
|
+
| checked / defaultChecked | `boolean` | — | 受控/初始选中 |
|
|
61
|
+
| onChange | `(checked: boolean) => void` | — | 变更 |
|
|
62
|
+
| label | `ReactNode` | — | 标签 |
|
|
63
|
+
| disabled | `boolean` | — | 禁用 |
|
|
64
|
+
|
|
65
|
+
|
|
32
66
|
**RadioGroup**
|
|
33
67
|
|
|
34
68
|
| Prop | 类型 | 默认 | 说明 |
|
|
@@ -37,6 +71,8 @@ direction='horizontal'。
|
|
|
37
71
|
| value / defaultValue | `T` | — | 受控/初始 |
|
|
38
72
|
| onChange | `(value: T) => void` | — | 变更 |
|
|
39
73
|
| direction | `"vertical" | "horizontal"` | `"vertical"` | 方向 |
|
|
74
|
+
| variant | `"default" | "segmented"` | `"default"` | 外观 |
|
|
75
|
+
| size | `"sm" | "md" | "lg"` | `"md"` | 分段外观尺寸 |
|
|
40
76
|
|
|
41
77
|
|
|
42
78
|
---
|
package/docs/llms/select.md
CHANGED
|
@@ -29,7 +29,7 @@ multiple + Tag 形式呈现已选项。
|
|
|
29
29
|
|
|
30
30
|
### 搜索过滤
|
|
31
31
|
|
|
32
|
-
searchable + clearable + 选项 icon/description。
|
|
32
|
+
searchable + clearable + 选项 icon/description。icon 支持 IconName 或 ReactNode。
|
|
33
33
|
|
|
34
34
|
```tsx
|
|
35
35
|
<Select searchable clearable
|
|
@@ -37,6 +37,22 @@ searchable + clearable + 选项 icon/description。
|
|
|
37
37
|
/>
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
### 常用 prop 别名
|
|
41
|
+
|
|
42
|
+
allowClear / showSearch / popupClassName / optionFilterProp 可直接使用。
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<Select
|
|
46
|
+
allowClear
|
|
47
|
+
showSearch
|
|
48
|
+
popupClassName="my-select-popup"
|
|
49
|
+
optionFilterProp="label"
|
|
50
|
+
value={value}
|
|
51
|
+
onChange={setValue}
|
|
52
|
+
options={options}
|
|
53
|
+
/>
|
|
54
|
+
```
|
|
55
|
+
|
|
40
56
|
### 分组
|
|
41
57
|
|
|
42
58
|
options 接受 { label, options } 表示分组。
|
|
@@ -75,8 +91,12 @@ loading 时显示 spinner,emptyContent 自定义空态。
|
|
|
75
91
|
| multiple | `boolean` | `false` | 多选 |
|
|
76
92
|
| maxTagCount | `number` | — | 多选时显示的标签数(超出折叠 +N) |
|
|
77
93
|
| searchable | `boolean` | `false` | 可搜索 |
|
|
94
|
+
| showSearch | `boolean` | `false` | searchable 的等价别名 |
|
|
78
95
|
| filterOption | `(input, option) => boolean` | — | 自定义过滤 |
|
|
96
|
+
| optionFilterProp | `"label" | "value" | "text" | string` | — | 默认过滤使用的 option 字段 |
|
|
79
97
|
| clearable | `boolean` | `false` | 可清除 |
|
|
98
|
+
| allowClear | `boolean | { clearIcon? }` | `false` | clearable 的等价别名 |
|
|
99
|
+
| menuClassName / popupClassName | `string` | — | 浮层菜单 className |
|
|
80
100
|
| loading | `boolean` | `false` | 加载态 |
|
|
81
101
|
| emptyContent | `ReactNode` | — | 空态文案 |
|
|
82
102
|
| size | `"sm" | "md" | "lg"` | `"md"` | 尺寸 |
|
|
@@ -90,7 +110,7 @@ loading 时显示 spinner,emptyContent 自定义空态。
|
|
|
90
110
|
| --- | --- | --- | --- |
|
|
91
111
|
| value \* | `T` | — | 值 |
|
|
92
112
|
| label | `ReactNode` | — | 显示 |
|
|
93
|
-
| icon | `IconName` | — |
|
|
113
|
+
| icon | `IconName | ReactNode` | — | 前置图标,可传内置图标名或自定义节点 |
|
|
94
114
|
| description | `ReactNode` | — | 次要描述 |
|
|
95
115
|
| disabled | `boolean` | `false` | 禁用项 |
|
|
96
116
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Spin 加载
|
|
2
|
+
|
|
3
|
+
> 表示任务正在进行,提示用户等待。
|
|
4
|
+
|
|
5
|
+
## 导入
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Spin } from "@fangxinyan/lumina";
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 示例
|
|
12
|
+
|
|
13
|
+
### 基础
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Spin />
|
|
17
|
+
<Spin size="large" />
|
|
18
|
+
<Spin size={40} />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 色调
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Spin tone="accent" />
|
|
25
|
+
<Spin tone="success" />
|
|
26
|
+
<Spin tone="warning" />
|
|
27
|
+
<Spin tone="danger" />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Dots 变体
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Spin variant="dots" />
|
|
34
|
+
<Spin variant="dots" size={24} />
|
|
35
|
+
<Spin variant="dots" size={32} />
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 带文案
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
<Spin tip="加载中…" />
|
|
42
|
+
<Spin variant="dots" tone="accent" tip="正在同步" />
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
|
|
47
|
+
**Spin**
|
|
48
|
+
|
|
49
|
+
| Prop | 类型 | 默认 | 说明 |
|
|
50
|
+
| --- | --- | --- | --- |
|
|
51
|
+
| size | `"small" | "default" | "large" | number` | `"default"` | 尺寸 |
|
|
52
|
+
| tone | `"accent" | "success" | "warning" | "danger" | "current"` | `"accent"` | 色调 |
|
|
53
|
+
| variant | `"ring" | "dots"` | `"ring"` | 样式 |
|
|
54
|
+
| tip / label | `ReactNode` | — | 文案 |
|
|
55
|
+
| spinning | `boolean` | `true` | 是否显示加载指示器 |
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
[← 回到索引](../llms.md)
|
package/docs/llms/table.md
CHANGED
|
@@ -53,7 +53,7 @@ scroll.y 固定表头并限制表体最大高度;scroll.x 设置内容最小宽
|
|
|
53
53
|
|
|
54
54
|
### 行选择 (rowSelection)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
rowSelection 提供表头全选、半选状态与按行禁用能力。
|
|
57
57
|
|
|
58
58
|
```tsx
|
|
59
59
|
<Table
|
|
@@ -126,11 +126,11 @@ antd 风格的 rowSelection。表头多选框支持 indeterminate;可通过 getC
|
|
|
126
126
|
| variant | `"default" | "striped" | "embossed" | "cards"` | `"default"` | 视觉变体 |
|
|
127
127
|
| pagination | `false | PaginationConfig` | — | 分页配置;false 关闭 |
|
|
128
128
|
| scroll | `TableScrollConfig` | — | 滚动配置:{ x?, y? } |
|
|
129
|
-
| rowSelection | `RowSelectionConfig` | — | 行选择配置
|
|
129
|
+
| rowSelection | `RowSelectionConfig` | — | 行选择配置 |
|
|
130
130
|
| expandable | `ExpandableConfig` | — | 可展开行配置 |
|
|
131
131
|
| sortKey / sortDir / onSort | `—` | — | 受控排序 |
|
|
132
132
|
| onRowClick | `(row, i) => void` | — | 点击行 |
|
|
133
|
-
| selectable / selected / onSelect | `—` | — | 旧版多选 API
|
|
133
|
+
| selectable / selected / onSelect | `—` | — | 旧版多选 API,优先使用 rowSelection |
|
|
134
134
|
|
|
135
135
|
|
|
136
136
|
**TableColumn**
|
package/docs/llms/tag.md
CHANGED
|
@@ -34,11 +34,12 @@ dot 渲染前置色块。
|
|
|
34
34
|
|
|
35
35
|
### 前置图标
|
|
36
36
|
|
|
37
|
-
icon
|
|
37
|
+
icon 可传内置 IconName 或自定义 ReactNode,颜色随语气自动适配。
|
|
38
38
|
|
|
39
39
|
```tsx
|
|
40
40
|
<Tag tone="success" icon="check2">已完成</Tag>
|
|
41
41
|
<Tag tone="info" icon="star">推荐</Tag>
|
|
42
|
+
<Tag icon={<img src={iconUrl} alt="" />}>物品</Tag>
|
|
42
43
|
```
|
|
43
44
|
|
|
44
45
|
### 无边框
|
|
@@ -67,7 +68,7 @@ removable + onRemove 实现关闭按钮。
|
|
|
67
68
|
| tone | `"neutral" | "accent" | "info" | "success" | "warning" | "danger"` | `"neutral"` | 色调 |
|
|
68
69
|
| solid | `boolean` | `false` | 实心填充 |
|
|
69
70
|
| dot | `boolean` | `false` | 前置圆点 |
|
|
70
|
-
| icon | `IconName` | — |
|
|
71
|
+
| icon | `IconName | ReactNode` | — | 前置图标,可传内置图标名或自定义节点 |
|
|
71
72
|
| bordered | `boolean` | `true` | 是否显示外框 flat 阴影 |
|
|
72
73
|
| removable | `boolean` | `false` | 显示 × |
|
|
73
74
|
| onRemove | `() => void` | — | 关闭回调 |
|
package/docs/llms/theme.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Theme 主题
|
|
2
2
|
|
|
3
|
-
> ThemeProvider + useTheme
|
|
3
|
+
> ThemeProvider + useTheme,覆盖深浅色、自定义模式、强调色、密度、圆角、字体、阴影强度。
|
|
4
4
|
|
|
5
5
|
## 导入
|
|
6
6
|
|
|
@@ -22,6 +22,7 @@ function Root() {
|
|
|
22
22
|
<ThemeProvider
|
|
23
23
|
mode="system" // "light" | "dark" | "system"
|
|
24
24
|
accent="violet" // 预设 或 自定义颜色
|
|
25
|
+
themes={{ graphite: { base: "dark", tokens: {} } }}
|
|
25
26
|
density="comfortable"
|
|
26
27
|
intensity={5} // 1..10 阴影强度
|
|
27
28
|
radius={20} // 圆角基准 px
|
|
@@ -78,6 +79,38 @@ t.reset(); // 重置到 props 初值
|
|
|
78
79
|
}} />
|
|
79
80
|
```
|
|
80
81
|
|
|
82
|
+
### 自定义主题模式
|
|
83
|
+
|
|
84
|
+
mode 可以指向 themes 中的命名 preset。base 决定 light/dark 基底,tokens 决定完整视觉。
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
const themes = {
|
|
88
|
+
graphite: {
|
|
89
|
+
base: "dark",
|
|
90
|
+
accent: {
|
|
91
|
+
accent: "oklch(72% 0.13 190)",
|
|
92
|
+
ink: "oklch(85% 0.1 190)",
|
|
93
|
+
soft: "oklch(31% 0.05 190)",
|
|
94
|
+
glow: "oklch(72% 0.13 190 / 0.18)",
|
|
95
|
+
},
|
|
96
|
+
intensity: 4,
|
|
97
|
+
radius: 18,
|
|
98
|
+
tokens: {
|
|
99
|
+
bg: "#181b22",
|
|
100
|
+
"bg-raised": "#20242d",
|
|
101
|
+
"bg-sunken": "#11141a",
|
|
102
|
+
fg: "#edf1f7",
|
|
103
|
+
"shadow-dark": "rgba(0,0,0,.58)",
|
|
104
|
+
"shadow-light": "rgba(128,146,166,.07)",
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
<ThemeProvider mode="graphite" themes={themes}>
|
|
110
|
+
<App />
|
|
111
|
+
</ThemeProvider>
|
|
112
|
+
```
|
|
113
|
+
|
|
81
114
|
### 作用域嵌套
|
|
82
115
|
|
|
83
116
|
target="scope" 只作用于子树,可以层层嵌套。
|
|
@@ -131,13 +164,15 @@ applyTheme(document.documentElement, {
|
|
|
131
164
|
|
|
132
165
|
| Prop | 类型 | 默认 | 说明 |
|
|
133
166
|
| --- | --- | --- | --- |
|
|
134
|
-
| mode | `
|
|
167
|
+
| mode | `ThemeMode` | `"light"` | 深浅色模式或自定义模式名 |
|
|
168
|
+
| colorScheme | `"light" | "dark"` | `"light"` | 自定义模式使用的 light/dark 基底 |
|
|
135
169
|
| accent | `AccentKey | CustomAccentInput` | `"sky"` | 强调色,预设或自定义 |
|
|
136
170
|
| density | `"compact" | "comfortable" | "spacious"` | `"comfortable"` | 密度 |
|
|
137
171
|
| intensity | `number` | `5` | 阴影强度 1-10 |
|
|
138
172
|
| radius | `number` | `20` | 圆角基准 px |
|
|
139
173
|
| font | `FontConfig` | `"sf"` | 字体预设或 CSS 栈 |
|
|
140
174
|
| tokens | `Record<string, string>` | — | 任意 CSS 变量覆写 |
|
|
175
|
+
| themes | `Record<string, ThemePreset>` | — | 命名自定义模式 preset |
|
|
141
176
|
| target | `"root" | "scope"` | `"root"` | 应用到根还是局部 |
|
|
142
177
|
| as | `keyof JSX.IntrinsicElements` | `"div"` | scope 模式的元素标签 |
|
|
143
178
|
| storageKey | `string` | — | localStorage 持久化 key |
|
|
@@ -149,14 +184,16 @@ applyTheme(document.documentElement, {
|
|
|
149
184
|
| Prop | 类型 | 默认 | 说明 |
|
|
150
185
|
| --- | --- | --- | --- |
|
|
151
186
|
| mode | `ThemeMode` | — | 请求的模式(保留 system) |
|
|
152
|
-
| resolvedMode | `
|
|
187
|
+
| resolvedMode | `ResolvedThemeMode` | — | 解析后的具体模式;自定义模式保留名称 |
|
|
188
|
+
| colorScheme | `"light" | "dark"` | — | 当前 light/dark 基底 |
|
|
153
189
|
| accent | `AccentKey | "custom"` | — | 预设 key 或 "custom" |
|
|
154
190
|
| accentPalette | `AccentPalette` | — | 当前完整调色板 |
|
|
155
191
|
| density / intensity / radius / font / tokens | `-` | — | 当前各维度状态 |
|
|
192
|
+
| themes / activeTheme | `-` | — | 自定义模式注册表与当前命中的 preset |
|
|
156
193
|
| setMode(m) | `(m: ThemeMode) => void` | — | 切换模式 |
|
|
157
194
|
| toggleMode() | `() => void` | — | light ⇄ dark 切换 |
|
|
158
195
|
| setAccent(a) | `(a: AccentKey | CustomAccentInput) => void` | — | 切换强调色 |
|
|
159
|
-
| setDensity / setIntensity / setRadius / setFont / setTokens | `-` | — | 对应字段的 setter |
|
|
196
|
+
| setDensity / setIntensity / setRadius / setFont / setTokens / setThemes | `-` | — | 对应字段的 setter |
|
|
160
197
|
| update(cfg) | `(cfg: Partial<ThemeConfig>) => void` | — | 浅合并多字段 |
|
|
161
198
|
| reset() | `() => void` | — | 重置到初始 props |
|
|
162
199
|
|
package/docs/llms/tooltip.md
CHANGED
|
@@ -13,7 +13,7 @@ import { Tooltip } from "@fangxinyan/lumina";
|
|
|
13
13
|
### 基础
|
|
14
14
|
|
|
15
15
|
```tsx
|
|
16
|
-
<Tooltip content="新建文档"><
|
|
16
|
+
<Tooltip content="新建文档"><Button icon="plus" /></Tooltip>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### 位置
|
|
@@ -22,16 +22,29 @@ import { Tooltip } from "@fangxinyan/lumina";
|
|
|
22
22
|
<Tooltip placement="bottom" content="..." />
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
### title 别名
|
|
26
|
+
|
|
27
|
+
title 与 content 等价,也支持 bottomLeft 等细分位置。
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<Tooltip title="复制路径" placement="bottomLeft">
|
|
31
|
+
<Button icon="copy">复制</Button>
|
|
32
|
+
</Tooltip>
|
|
33
|
+
```
|
|
34
|
+
|
|
25
35
|
## API
|
|
26
36
|
|
|
27
37
|
**Tooltip**
|
|
28
38
|
|
|
29
39
|
| Prop | 类型 | 默认 | 说明 |
|
|
30
40
|
| --- | --- | --- | --- |
|
|
31
|
-
| content
|
|
32
|
-
|
|
|
41
|
+
| content | `ReactNode` | — | 提示内容 |
|
|
42
|
+
| title | `ReactNode` | — | content 的等价别名 |
|
|
43
|
+
| placement | `"top" | "bottom" | "left" | "right" | ...` | `"top"` | 位置,支持 bottomLeft 等细分方向 |
|
|
33
44
|
| delay | `number` | `250` | 悬浮延时 (ms) |
|
|
34
45
|
| disabled | `boolean` | `false` | 禁用提示 |
|
|
46
|
+
| open / visible | `boolean` | — | 受控显示状态 |
|
|
47
|
+
| overlayClassName / popupClassName | `string` | — | 浮层 className |
|
|
35
48
|
|
|
36
49
|
|
|
37
50
|
---
|
package/docs/llms.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 拟态风格的 React 18 组件库,目标是 Electron 桌面应用。**写给 AI 编程助手**的按需文档 —— 每个组件单独一个 `.md`,避免一次性读取全部。示例源自 playground 的 demo,可直接复制运行。
|
|
4
4
|
|
|
5
5
|
- **包名**: `@fangxinyan/lumina`
|
|
6
|
-
- **版本**: `0.6.
|
|
6
|
+
- **版本**: `0.6.3`
|
|
7
7
|
- **React 最低版本**: 18
|
|
8
8
|
- **环境**: 带打包器的 React 工程(Vite / Next.js / Webpack / Remix / Electron + Vite 等)
|
|
9
9
|
- **零运行时依赖**: 只依赖 `react` / `react-dom` (peer deps)
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
```
|
|
33
33
|
如果你还需要 reset / scrollbar / focus-visible 基线样式,请改用 `@fangxinyan/lumina/styles`。
|
|
34
34
|
3. **TypeScript**: 所有 `XxxProps` 接口都是 `export`,可直接 `import { Button, type ButtonProps } from "@fangxinyan/lumina";`
|
|
35
|
-
4. **主题**: 用 `<ThemeProvider>` 包根;运行时可通过 `useTheme()` 改。六种强调色 (`rose / sky / coral / mint / violet / amber`) ×
|
|
36
|
-
5. **图标**:
|
|
35
|
+
4. **主题**: 用 `<ThemeProvider>` 包根;运行时可通过 `useTheme()` 改。六种强调色 (`rose / sky / coral / mint / violet / amber`) × 内置模式 (`light / dark / system`) × 命名自定义模式 × 三档密度 (`compact / comfortable / spacious`)。详见 [`llms/theme.md`](./llms/theme.md)。
|
|
36
|
+
5. **图标**: 常用 `icon / leadingIcon / trailingIcon` prop 支持内置字符串 `IconName`,高频组件也可传 `ReactNode`(如远程图片图标)。完整内置列表见 [`llms/icon.md`](./llms/icon.md)。
|
|
37
37
|
6. **浮层组件**(Tooltip / Popover / Select / Cascader / ColorPicker / Modal / Drawer): 内部已 `createPortal` 到 `document.body` + 视口边界翻转,放在 `overflow: hidden` 的容器里也不会被裁。
|
|
38
38
|
7. **Electron 专属组件**: `TitleBar` / `WindowControls` / `Sidebar` / `AppShell` 提供 macOS / Windows 原生风格的标题栏与导航。
|
|
39
39
|
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
### 起步
|
|
43
43
|
|
|
44
44
|
- [Lumina](./llms/intro.md) — 为 Electron 应用定制的拟态风格 React 组件库。
|
|
45
|
-
- [Theme 主题](./llms/theme.md) — ThemeProvider + useTheme
|
|
45
|
+
- [Theme 主题](./llms/theme.md) — ThemeProvider + useTheme,覆盖深浅色、自定义模式、强调色、密度、圆角、字体、阴影强度。
|
|
46
46
|
|
|
47
47
|
### 通用
|
|
48
48
|
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
- [AutoComplete 自动补全](./llms/autocomplete.md) — 输入时展示建议下拉,不限定必须从候选中选。
|
|
63
63
|
- [Cascader 级联选择](./llms/cascader.md) — 层级关联数据集合中的多级选择。
|
|
64
64
|
- [ColorPicker 颜色选择](./llms/colorpicker.md) — 拟态风格的颜色选择器:HSV 色域、色相、hex 输入、预设调色板。
|
|
65
|
-
- [Form 表单](./llms/form.md) — 受控表单,字段绑定 +
|
|
65
|
+
- [Form 表单](./llms/form.md) — 受控表单,字段绑定 + 校验。
|
|
66
66
|
|
|
67
67
|
### 数据展示
|
|
68
68
|
|
|
@@ -79,19 +79,19 @@
|
|
|
79
79
|
- [Table Pro](./llms/tablepro.md) — 带工具栏 / 搜索 / 筛选 / 排序 / 多选 / 分页的全功能表格。
|
|
80
80
|
- [Pagination 分页](./llms/pagination.md) — 分页控件,支持快速跳转与每页条数切换。
|
|
81
81
|
- [Tabs 选项卡](./llms/tabs.md) — 同一层级的内容分组,通过标签切换。
|
|
82
|
-
- [
|
|
82
|
+
- [Collapse 折叠面板](./llms/collapse.md) — 纵向折叠面板。
|
|
83
83
|
- [Calendar 日历](./llms/calendar.md) — 查看与选择日期。
|
|
84
84
|
|
|
85
85
|
### 反馈
|
|
86
86
|
|
|
87
87
|
- [Modal 对话框](./llms/modal.md) — 在不离开当前页面的前提下处理事务。
|
|
88
88
|
- [Drawer 抽屉](./llms/drawer.md) — 从屏幕边缘滑出的浮层。
|
|
89
|
-
- [
|
|
89
|
+
- [Message 全局消息](./llms/message.md) — 全局轻量提示,支持函数调用与对象配置。
|
|
90
90
|
- [Tooltip 文字提示](./llms/tooltip.md) — 鼠标悬浮触发的简短说明。
|
|
91
91
|
- [Popover 气泡卡片](./llms/popover.md) — 比 Tooltip 更丰富,可承载交互内容。
|
|
92
92
|
- [Alert 警告提示](./llms/alert.md) — 页面中嵌入的警告/提示。
|
|
93
93
|
- [Empty 空状态](./llms/empty.md) — 列表、页面或容器无数据时的占位。
|
|
94
|
-
- [
|
|
94
|
+
- [Spin 加载](./llms/spin.md) — 表示任务正在进行,提示用户等待。
|
|
95
95
|
- [Skeleton 骨架屏](./llms/skeleton.md) — 数据加载前展示页面结构轮廓。
|
|
96
96
|
|
|
97
97
|
### Electron
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fangxinyan/lumina",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "Lumina — Neumorphic component library for Electron & React apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -17,51 +17,6 @@
|
|
|
17
17
|
"./llms.md": "./docs/llms.md",
|
|
18
18
|
"./llms/*": "./docs/llms/*",
|
|
19
19
|
"./package.json": "./package.json",
|
|
20
|
-
"./IconButton": {
|
|
21
|
-
"types": "./dist/Button.d.ts",
|
|
22
|
-
"import": "./dist/Button.js",
|
|
23
|
-
"require": "./dist/Button.cjs"
|
|
24
|
-
},
|
|
25
|
-
"./Textarea": {
|
|
26
|
-
"types": "./dist/Input.d.ts",
|
|
27
|
-
"import": "./dist/Input.js",
|
|
28
|
-
"require": "./dist/Input.cjs"
|
|
29
|
-
},
|
|
30
|
-
"./RadioGroup": {
|
|
31
|
-
"types": "./dist/Checkbox.d.ts",
|
|
32
|
-
"import": "./dist/Checkbox.js",
|
|
33
|
-
"require": "./dist/Checkbox.cjs"
|
|
34
|
-
},
|
|
35
|
-
"./Segmented": {
|
|
36
|
-
"types": "./dist/Tabs.d.ts",
|
|
37
|
-
"import": "./dist/Tabs.js",
|
|
38
|
-
"require": "./dist/Tabs.cjs"
|
|
39
|
-
},
|
|
40
|
-
"./Badge": {
|
|
41
|
-
"types": "./dist/Tag.d.ts",
|
|
42
|
-
"import": "./dist/Tag.js",
|
|
43
|
-
"require": "./dist/Tag.cjs"
|
|
44
|
-
},
|
|
45
|
-
"./Panel": {
|
|
46
|
-
"types": "./dist/Card.d.ts",
|
|
47
|
-
"import": "./dist/Card.js",
|
|
48
|
-
"require": "./dist/Card.cjs"
|
|
49
|
-
},
|
|
50
|
-
"./Spinner": {
|
|
51
|
-
"types": "./dist/Empty.d.ts",
|
|
52
|
-
"import": "./dist/Empty.js",
|
|
53
|
-
"require": "./dist/Empty.cjs"
|
|
54
|
-
},
|
|
55
|
-
"./Skeleton": {
|
|
56
|
-
"types": "./dist/Empty.d.ts",
|
|
57
|
-
"import": "./dist/Empty.js",
|
|
58
|
-
"require": "./dist/Empty.cjs"
|
|
59
|
-
},
|
|
60
|
-
"./TablePro": {
|
|
61
|
-
"types": "./dist/Table.d.ts",
|
|
62
|
-
"import": "./dist/Table.js",
|
|
63
|
-
"require": "./dist/Table.cjs"
|
|
64
|
-
},
|
|
65
20
|
"./TitleBar": {
|
|
66
21
|
"types": "./dist/AppShell.d.ts",
|
|
67
22
|
"import": "./dist/AppShell.js",
|
|
@@ -82,15 +37,40 @@
|
|
|
82
37
|
"import": "./dist/StatusBar.js",
|
|
83
38
|
"require": "./dist/StatusBar.cjs"
|
|
84
39
|
},
|
|
40
|
+
"./MessageContainer": {
|
|
41
|
+
"types": "./dist/Message.d.ts",
|
|
42
|
+
"import": "./dist/Message.js",
|
|
43
|
+
"require": "./dist/Message.cjs"
|
|
44
|
+
},
|
|
45
|
+
"./message": {
|
|
46
|
+
"types": "./dist/Message.d.ts",
|
|
47
|
+
"import": "./dist/Message.js",
|
|
48
|
+
"require": "./dist/Message.cjs"
|
|
49
|
+
},
|
|
85
50
|
"./ToastContainer": {
|
|
86
|
-
"types": "./dist/
|
|
87
|
-
"import": "./dist/
|
|
88
|
-
"require": "./dist/
|
|
51
|
+
"types": "./dist/Message.d.ts",
|
|
52
|
+
"import": "./dist/Message.js",
|
|
53
|
+
"require": "./dist/Message.cjs"
|
|
89
54
|
},
|
|
90
55
|
"./toast": {
|
|
91
|
-
"types": "./dist/
|
|
92
|
-
"import": "./dist/
|
|
93
|
-
"require": "./dist/
|
|
56
|
+
"types": "./dist/Message.d.ts",
|
|
57
|
+
"import": "./dist/Message.js",
|
|
58
|
+
"require": "./dist/Message.cjs"
|
|
59
|
+
},
|
|
60
|
+
"./ImageGrid": {
|
|
61
|
+
"types": "./dist/Image.d.ts",
|
|
62
|
+
"import": "./dist/Image.js",
|
|
63
|
+
"require": "./dist/Image.cjs"
|
|
64
|
+
},
|
|
65
|
+
"./SpriteImage": {
|
|
66
|
+
"types": "./dist/Image.d.ts",
|
|
67
|
+
"import": "./dist/Image.js",
|
|
68
|
+
"require": "./dist/Image.cjs"
|
|
69
|
+
},
|
|
70
|
+
"./LayeredImage": {
|
|
71
|
+
"types": "./dist/Image.d.ts",
|
|
72
|
+
"import": "./dist/Image.js",
|
|
73
|
+
"require": "./dist/Image.cjs"
|
|
94
74
|
},
|
|
95
75
|
"./*": {
|
|
96
76
|
"types": "./dist/*.d.ts",
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* ============ Accordion ============ */
|
|
2
|
-
.accordion { display: flex; flex-direction: column; gap: 10px; }
|
|
3
|
-
.accordion-item {
|
|
4
|
-
background: var(--bg);
|
|
5
|
-
border-radius: var(--r-md);
|
|
6
|
-
box-shadow: var(--neu-out-sm);
|
|
7
|
-
overflow: hidden;
|
|
8
|
-
}
|
|
9
|
-
.accordion-item.disabled { opacity: 0.5; }
|
|
10
|
-
.accordion-head {
|
|
11
|
-
width: 100%;
|
|
12
|
-
border: none;
|
|
13
|
-
background: transparent;
|
|
14
|
-
padding: 14px 18px;
|
|
15
|
-
display: flex;
|
|
16
|
-
align-items: center;
|
|
17
|
-
justify-content: space-between;
|
|
18
|
-
cursor: pointer;
|
|
19
|
-
font-size: 13px;
|
|
20
|
-
font-weight: 500;
|
|
21
|
-
font-family: inherit;
|
|
22
|
-
color: var(--fg);
|
|
23
|
-
text-align: left;
|
|
24
|
-
}
|
|
25
|
-
.accordion-item.disabled .accordion-head { cursor: not-allowed; }
|
|
26
|
-
.accordion-item.icon-only .accordion-head:not(:disabled) { cursor: default; }
|
|
27
|
-
.accordion-body {
|
|
28
|
-
max-height: 0;
|
|
29
|
-
overflow: hidden;
|
|
30
|
-
transition: max-height var(--dur) var(--ease);
|
|
31
|
-
color: var(--fg-muted);
|
|
32
|
-
font-size: 13px;
|
|
33
|
-
}
|
|
34
|
-
.accordion-body-inner { padding: 0 18px 16px; }
|
|
35
|
-
.accordion-chev {
|
|
36
|
-
transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
|
|
37
|
-
color: var(--fg-subtle);
|
|
38
|
-
display: inline-flex;
|
|
39
|
-
border-radius: 6px;
|
|
40
|
-
padding: 2px;
|
|
41
|
-
}
|
|
42
|
-
.accordion-chev.clickable { cursor: pointer; }
|
|
43
|
-
.accordion-chev.clickable:hover { color: var(--fg); background: var(--bg); box-shadow: var(--neu-flat); }
|
|
44
|
-
.accordion-item.open .accordion-chev { transform: rotate(180deg); color: var(--accent); }
|
package/dist/Accordion.cjs
DELETED
package/dist/Accordion.d.cts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
interface AccordionItem {
|
|
4
|
-
key: string;
|
|
5
|
-
title: React.ReactNode;
|
|
6
|
-
content: React.ReactNode;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
}
|
|
9
|
-
interface AccordionProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
10
|
-
items: AccordionItem[];
|
|
11
|
-
/** If true, multiple sections can be open at once. */
|
|
12
|
-
multiple?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Accordion mode — at most one item open at a time. Takes precedence over `multiple`
|
|
15
|
-
* when both are set.
|
|
16
|
-
*/
|
|
17
|
-
accordion?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* What triggers expansion.
|
|
20
|
-
* - `"header"` (default): clicking anywhere on the header toggles.
|
|
21
|
-
* - `"icon"`: only the chevron icon is clickable.
|
|
22
|
-
* - `"disabled"`: the panel cannot be toggled.
|
|
23
|
-
*/
|
|
24
|
-
collapsible?: "header" | "icon" | "disabled";
|
|
25
|
-
activeKeys?: string[];
|
|
26
|
-
defaultActiveKeys?: string[];
|
|
27
|
-
onChange?: (keys: string[]) => void;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
|
-
/** `Accordion` — collapsible sections. */
|
|
31
|
-
declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
-
|
|
33
|
-
export { Accordion, type AccordionItem, type AccordionProps };
|
package/dist/Accordion.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
interface AccordionItem {
|
|
4
|
-
key: string;
|
|
5
|
-
title: React.ReactNode;
|
|
6
|
-
content: React.ReactNode;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
}
|
|
9
|
-
interface AccordionProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
10
|
-
items: AccordionItem[];
|
|
11
|
-
/** If true, multiple sections can be open at once. */
|
|
12
|
-
multiple?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Accordion mode — at most one item open at a time. Takes precedence over `multiple`
|
|
15
|
-
* when both are set.
|
|
16
|
-
*/
|
|
17
|
-
accordion?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* What triggers expansion.
|
|
20
|
-
* - `"header"` (default): clicking anywhere on the header toggles.
|
|
21
|
-
* - `"icon"`: only the chevron icon is clickable.
|
|
22
|
-
* - `"disabled"`: the panel cannot be toggled.
|
|
23
|
-
*/
|
|
24
|
-
collapsible?: "header" | "icon" | "disabled";
|
|
25
|
-
activeKeys?: string[];
|
|
26
|
-
defaultActiveKeys?: string[];
|
|
27
|
-
onChange?: (keys: string[]) => void;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
|
-
/** `Accordion` — collapsible sections. */
|
|
31
|
-
declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
-
|
|
33
|
-
export { Accordion, type AccordionItem, type AccordionProps };
|
package/dist/Accordion.js
DELETED