lingee-ui 0.0.14 → 0.0.16
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 -2
- package/dist/button/index.js +1 -1
- package/dist/button/index.mjs +1 -1
- package/dist/{chunk-GLNNJIRF.js → chunk-22TFFOQL.js} +1 -1
- package/dist/{chunk-HYN4Y4AW.js → chunk-7I26V66U.js} +1 -1
- package/dist/chunk-CB2FRG23.js +1 -0
- package/dist/{chunk-BIETJXHD.mjs → chunk-CGHN44HV.mjs} +1 -1
- package/dist/chunk-ES5A2ZO6.js +1 -0
- package/dist/{chunk-B6CAD73P.mjs → chunk-HOX3ZANF.mjs} +1 -1
- package/dist/{chunk-WYTTL6TA.js → chunk-ITHSP4P3.js} +1 -1
- package/dist/{chunk-FRXQG2XX.mjs → chunk-JWOTGIJI.mjs} +1 -1
- package/dist/chunk-KXUUVDLA.mjs +1 -0
- package/dist/{chunk-YLMME3Z2.mjs → chunk-LAIK6VBD.mjs} +1 -1
- package/dist/chunk-N5L3OI7Q.mjs +1 -0
- package/dist/{chunk-YSWFM6ML.js → chunk-P427AFIE.js} +1 -1
- package/dist/chunk-Q5MDN5PA.js +2 -0
- package/dist/{chunk-T534AXC3.js → chunk-U4ZQGUSG.js} +2 -2
- package/dist/chunk-URZBMGD4.js +1 -0
- package/dist/chunk-VDUTBGPN.mjs +1 -0
- package/dist/chunk-YNDT7LQA.mjs +1 -0
- package/dist/chunk-ZX6JEZS3.mjs +2 -0
- package/dist/index-CZhoE8dw.d.mts +36 -0
- package/dist/index-CZhoE8dw.d.ts +36 -0
- package/dist/index.css +1 -1
- package/dist/index.d.mts +86 -8
- package/dist/index.d.ts +86 -8
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/input/index.js +1 -1
- package/dist/input/index.mjs +1 -1
- package/dist/popover/index.css +1 -1
- package/dist/popover/index.d.mts +28 -2
- package/dist/popover/index.d.ts +28 -2
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.mjs +1 -1
- package/dist/tabs/index.css +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/index.mjs +1 -1
- package/dist/textarea/index.css +1 -1
- package/dist/textarea/index.d.mts +2 -22
- package/dist/textarea/index.d.ts +2 -22
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/index.mjs +1 -1
- package/dist/toast/index.js +1 -1
- package/dist/toast/index.mjs +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tooltip/index.js +1 -1
- package/dist/tooltip/index.mjs +1 -1
- package/dist/tree/index.css +1 -1
- package/dist/tree/index.js +1 -1
- package/dist/tree/index.mjs +1 -1
- package/package.json +6 -6
- package/skill/AGENTS-SNIPPET.md +51 -38
- package/skill/SKILL.md +8 -8
- package/skill/VERSION.json +4 -4
- package/skill/references/components/checkbox.md +2 -0
- package/skill/references/components/color-picker.md +2 -0
- package/skill/references/components/date-picker.md +3 -0
- package/skill/references/components/dialog.md +61 -11
- package/skill/references/components/drawer.md +3 -0
- package/skill/references/components/dropdown.md +97 -79
- package/skill/references/components/ellipsis-tooltip.md +8 -0
- package/skill/references/components/empty.md +3 -2
- package/skill/references/components/form.md +8 -0
- package/skill/references/components/pagination.md +5 -0
- package/skill/references/components/popover.md +26 -11
- package/skill/references/components/radio.md +5 -1
- package/skill/references/components/range-picker.md +8 -0
- package/skill/references/components/select.md +3 -0
- package/skill/references/components/sidebar.md +12 -2
- package/skill/references/components/slider.md +1 -0
- package/skill/references/components/steps.md +1 -0
- package/skill/references/components/table.md +11 -2
- package/skill/references/components/textarea.md +8 -5
- package/skill/references/components/time-picker.md +2 -0
- package/skill/references/components/toast.md +35 -12
- package/skill/references/components/tooltip.md +6 -0
- package/skill/references/components/upload.md +3 -0
- package/skill/references/icons.md +22 -7
- package/skill/references/setup.md +1 -1
- package/skill/references/tokens.md +49 -36
- package/dist/chunk-FHQEJ42C.js +0 -1
- package/dist/chunk-G4FASWRJ.mjs +0 -1
- package/dist/chunk-HJ7XGNWS.mjs +0 -2
- package/dist/chunk-IFHC5A33.mjs +0 -1
- package/dist/chunk-MIVVBEBP.js +0 -2
- package/dist/chunk-OC42BRM5.mjs +0 -1
- package/dist/chunk-UGDPRB5F.js +0 -1
- package/dist/chunk-VV2IBN64.mjs +0 -1
- package/dist/chunk-X65SV4WZ.js +0 -1
|
@@ -38,3 +38,5 @@ export default function BasicDemo() {
|
|
|
38
38
|
| `error` | 是否显示错误状态 | `boolean` | `false` |
|
|
39
39
|
| `placement` | 面板弹出方向 | `"top" \| "bottom" \| "left" \| "right"` | `"bottom"` |
|
|
40
40
|
| `panelExtra` | 面板额外内容(如预设色板) | `ReactNode` | - |
|
|
41
|
+
| `placeholder` | 占位文本 | `string` | - |
|
|
42
|
+
| `onChangeComplete` | 拖拽结束回调,适合只在最终色值上触发请求的场景 | `(color: string) => void` | - |
|
|
@@ -44,3 +44,6 @@ export default function BasicDemo() {
|
|
|
44
44
|
| `maxDate` | 最大可选日期 | `Date` | - |
|
|
45
45
|
| `allowClear` | 是否允许清除 | `boolean` | `true` |
|
|
46
46
|
| `showToday` | 是否显示今天按钮 | `boolean` | `true` |
|
|
47
|
+
| `weekStartsOn` | 一周起始日,`0` 为周日 | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6` | `1` |
|
|
48
|
+
| `getPopupContainer` | 浮层挂载容器,用于在 `overflow` 裁剪的滚动容器内就地挂载 | `() => HTMLElement` | - |
|
|
49
|
+
| `onOpenChange` | 面板展开/收起回调 | `(open: boolean) => void` | - |
|
|
@@ -44,34 +44,57 @@ export default function BasicDemo() {
|
|
|
44
44
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
45
45
|
|------|------|------|--------|
|
|
46
46
|
| `open` | 是否打开 | `boolean` | - |
|
|
47
|
-
| `onOpenChange` |
|
|
48
|
-
| `zIndex` | 遮罩层层级,内容层自动加 1;优先于 Provider 基线 | `number` | `LingeeProvider.dialog.zIndex` |
|
|
47
|
+
| `onOpenChange` | 打开状态变化回调(关闭时 `false`) | `(open: boolean) => void` | - |
|
|
49
48
|
| `title` | 标题 | `ReactNode` | - |
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
49
|
+
| `extra` | 标题栏右侧额外内容 | `ReactNode` | - |
|
|
50
|
+
| `children` | 内容区域 | `ReactNode` | - |
|
|
51
|
+
| `width` | 宽度 | `number \| string` | `460` |
|
|
52
52
|
| `height` | 面板总高 | `number \| string` | 自适应内容 |
|
|
53
|
-
| `maxHeight` |
|
|
53
|
+
| `maxHeight` | 面板总高上限 | `number \| string` | `640` |
|
|
54
54
|
| `autoHeight` | body 高度跟随内容,面板上限改由 `maxHeight` 给出 | `boolean` | `false` |
|
|
55
55
|
| `closable` | 是否显示关闭按钮 | `boolean` | `true` |
|
|
56
|
-
| `
|
|
56
|
+
| `footer` | 底部操作区,传 `ReactNode` 完全自定义;传 `null` 隐藏 | `ReactNode` | - |
|
|
57
|
+
| `okText` | 确认按钮文本(传入后自动渲染 footer,与 `footer` 互斥) | `string` | - |
|
|
57
58
|
| `cancelText` | 取消按钮文本 | `string` | - |
|
|
58
|
-
| `onOk` |
|
|
59
|
+
| `onOk` | 确认回调,返回 Promise 时按钮显示 loading | `() => void \| Promise<void>` | - |
|
|
59
60
|
| `onCancel` | 取消回调 | `() => void` | - |
|
|
60
|
-
| `
|
|
61
|
+
| `okDanger` | 确认按钮是否为危险样式 | `boolean` | `false` |
|
|
62
|
+
| `okProps` | 确认按钮额外属性(`disabled` / `loading` / `size` 等) | `DialogButtonProps` | - |
|
|
63
|
+
| `cancelProps` | 取消按钮额外属性 | `DialogButtonProps` | - |
|
|
64
|
+
| `modal` | 是否为模态,`true` 时点击遮罩**不**关闭 | `boolean` | `false` |
|
|
65
|
+
| `mask` | 是否显示遮罩层 | `boolean` | `true` |
|
|
66
|
+
| `maskClassName` | 遮罩层自定义类名,仅 `mask=true` 时生效 | `string` | - |
|
|
67
|
+
| `destroyOnHidden` | 关闭后是否销毁子节点 | `boolean` | `true` |
|
|
68
|
+
| `zIndex` | 遮罩层层级,内容层自动加 1;优先于 Provider 基线 | `number` | `LingeeProvider.dialog.zIndex` |
|
|
69
|
+
| `hostModal` | 宿主承载配置,见下方说明 | `DialogHostModal` | - |
|
|
70
|
+
| `className` | 自定义类名 | `string` | - |
|
|
71
|
+
| `style` | 自定义样式 | `CSSProperties` | - |
|
|
72
|
+
|
|
73
|
+
`Dialog` **没有 `description` 属性**,说明文案直接写在 `children` 里。`description` 只属于 `Dialog.confirm(options)`。
|
|
61
74
|
|
|
62
75
|
### Dialog.confirm(options)
|
|
63
76
|
|
|
77
|
+
类型为 `DialogConfirmOptions`,**继承 `Omit<DialogProps, "open" | "onOpenChange" | "children">`** ——
|
|
78
|
+
上面 Dialog 表里除这三项外的属性都可用(`width` / `footer` / `okProps` / `modal` / `hostModal` 等)。
|
|
79
|
+
以下是 confirm 独有或默认值不同的字段:
|
|
80
|
+
|
|
64
81
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
65
82
|
|------|------|------|--------|
|
|
66
83
|
| `title` | 标题 | `ReactNode` | - |
|
|
67
|
-
| `description` |
|
|
68
|
-
| `
|
|
84
|
+
| `description` | 描述文案(使用默认布局时展示) | `ReactNode` | - |
|
|
85
|
+
| `icon` | 标题前的图标(使用默认布局时展示) | `ReactNode` | - |
|
|
86
|
+
| `content` | 自定义内容,传入后 `title` / `description` / `icon` 均不生效 | `ReactNode` | - |
|
|
87
|
+
| `contentRender` | 动态内容渲染函数,参数含 `setOkDisabled` 可动态控制确认按钮 | `(props: ConfirmRenderProps) => ReactNode` | - |
|
|
69
88
|
| `okText` | 确认按钮文本 | `string` | `"确定"` |
|
|
70
89
|
| `cancelText` | 取消按钮文本 | `string` | `"取消"` |
|
|
71
90
|
| `okDanger` | 确认按钮是否为危险样式 | `boolean` | `false` |
|
|
72
|
-
| `
|
|
91
|
+
| `maskClosable` | 点击遮罩是否关闭(按取消结算),**三态**,见下方说明 | `boolean` | 各承载方现状不一 |
|
|
73
92
|
| `zIndex` | 本次确认框层级,优先于 Provider 基线 | `number` | `LingeeProvider.dialog.zIndex` |
|
|
74
93
|
|
|
94
|
+
返回 `Promise<boolean>`,确认为 `true`、取消为 `false`。
|
|
95
|
+
|
|
96
|
+
`maskClosable` 是三态字段,不传时各渲染方保持各自现状:本地渲染与浏览器内 webui 承载均为「点遮罩**不**关闭」,客户端原生确认框为「点遮罩关闭」。需要两端一致时显式传值。与 `modal` 同时出现时 `modal` 优先。
|
|
97
|
+
|
|
75
98
|
### Dialog.closeConfirm()
|
|
76
99
|
|
|
77
100
|
强制关闭确认弹窗的兜底 API:**当前显示的一项与队列中排队的全部**按 `false` 结算,与旧实现的无条件清场语义一致,不额外调用 `onCancel`。
|
|
@@ -80,6 +103,33 @@ export default function BasicDemo() {
|
|
|
80
103
|
|
|
81
104
|
需要精确关闭某一个弹窗时,不要依赖这个全局 API,改由调用方自己控制触发时机。
|
|
82
105
|
|
|
106
|
+
### HostModalPage
|
|
107
|
+
|
|
108
|
+
宿主弹窗的承载页外壳,与 `Dialog` 的 `hostModal` 配对使用。负责取参、上报就绪、回传结果与关窗。
|
|
109
|
+
|
|
110
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
111
|
+
|------|------|------|--------|
|
|
112
|
+
| `children` | 内容渲染函数,收到入参与 `close` | `(params, close) => ReactNode` | - |
|
|
113
|
+
| `fallback` | 无入参时的兜底(页面被直接访问) | `ReactNode` | `null` |
|
|
114
|
+
| `ready` | 内容是否就绪,`false` 时保留宿主 loading 占位 | `boolean` | `true` |
|
|
115
|
+
| `header` | 自绘头部,配合发起端 `hostModal.headless` | `(close) => ReactNode` | - |
|
|
116
|
+
| `closable` | 是否渲染内置关闭按钮(面板右上角) | `boolean` | 发起端开 `headless` 且未传 `header` 时 `true`,否则 `false` |
|
|
117
|
+
| `className` | 容器类名,用于控制内边距等业务样式 | `string` | - |
|
|
118
|
+
|
|
119
|
+
`closable` 存在的原因:发起端开 `headless` 后宿主不再提供关闭入口,而设计稿常把关闭按钮画在内容区右上角、并不需要一整个自绘头部。内置按钮复用 `.lg-dialog__close` 取样式,因此同一份内容组件在本地 `Dialog` 与宿主承载两种形态下按钮位置一致,业务侧不必写两套。
|
|
120
|
+
|
|
121
|
+
默认值按「宿主有没有提供关闭入口」自动判定,业务通常无需传值:
|
|
122
|
+
|
|
123
|
+
- 发起端开了 `headless` → 宿主不画标题栏与关闭按钮,本组件补上;
|
|
124
|
+
- 发起端未开 `headless` → 宿主标题栏自带关闭按钮,不再叠加;
|
|
125
|
+
- 传了 `header` → 自绘头部通常已含关闭入口,同样不叠加,确有需要可显式传 `true`。
|
|
126
|
+
|
|
127
|
+
`headless` 状态由发起端经承载页路由的内部 query 参数传来(`Dialog` 的 `hostModal.headless` 自动挂上)。两条承载通道的取参协议只回业务入参、不带外壳信息,承载页无从自行判断,故走 URL 捎带。该参数属实现细节,业务不应读写。
|
|
128
|
+
|
|
129
|
+
按钮在承载页内为 `fixed` 定位 —— 承载页容器自身可滚动,`absolute` 会让按钮随内容滚出视口,而承载页的视口就是弹窗面板,`fixed` 与「面板右上角」等价。
|
|
130
|
+
|
|
131
|
+
按钮在承载页内为 `fixed` 定位 —— 承载页容器自身可滚动,`absolute` 会让按钮随内容滚出视口,而承载页的视口就是弹窗面板,`fixed` 与「面板右上角」等价。
|
|
132
|
+
|
|
83
133
|
### 面板高度与视口
|
|
84
134
|
|
|
85
135
|
`height` 与 `maxHeight` 都是**面板总高**(含 68px 标题栏),不是内容区高度。
|
|
@@ -39,4 +39,7 @@ export default function BasicDemo() {
|
|
|
39
39
|
| `mask` | 是否显示遮罩 | `boolean` | `true` |
|
|
40
40
|
| `modal` | 是否为模态模式 | `boolean` | `false` |
|
|
41
41
|
| `footer` | 底部操作区 | `ReactNode` | - |
|
|
42
|
+
| `extra` | 标题栏右侧额外内容 | `ReactNode` | - |
|
|
43
|
+
| `destroyOnHidden` | 关闭后是否销毁子节点 | `boolean` | `true` |
|
|
44
|
+
| `zIndex` | 自定义 z-index,优先于 Provider 基线 | `number` | - |
|
|
42
45
|
| `children` | 内容区域 | `ReactNode` | - |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Dropdown 下拉菜单
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
从指定方向弹出的操作菜单列表,支持图标、分组、危险操作、子菜单等。
|
|
4
4
|
|
|
5
5
|
- 导入:`import { Dropdown, DropdownTrigger, DropdownContent, DropdownItem, DropdownCheckboxItem, DropdownRadioGroup, DropdownRadioItem, DropdownLabel, DropdownSeparator, DropdownGroup, DropdownStatus, DropdownSub, DropdownSubTrigger, DropdownSubContent, DropdownButton } from "lingee-ui";`
|
|
6
6
|
- 可用类型:`DropdownEllipsisTooltip`, `DropdownProps`, `DropdownTriggerProps`, `DropdownContentProps`, `DropdownItemProps`, `DropdownCheckboxItemProps`, `DropdownRadioGroupProps`, `DropdownRadioItemProps`, `DropdownLabelProps`, `DropdownSeparatorProps`, `DropdownGroupProps`, `DropdownStatusProps`, `DropdownStatusType`, `DropdownStatusText`, `DropdownSubProps`, `DropdownSubTriggerProps`, `DropdownSubContentProps`, `DropdownItemData`, `DropdownMenuItemData`, `DropdownSeparatorData`, `DropdownLabelData`, `DropdownButtonProps`
|
|
@@ -29,58 +29,62 @@ export default function BasicDemo() {
|
|
|
29
29
|
|
|
30
30
|
### Dropdown
|
|
31
31
|
|
|
32
|
-
| 属性
|
|
33
|
-
|
|
34
|
-
| `items`
|
|
35
|
-
| `open`
|
|
36
|
-
| `defaultOpen`
|
|
37
|
-
| `onOpenChange`
|
|
38
|
-
| `modal`
|
|
39
|
-
| `disabled`
|
|
40
|
-
| `selectedKeys`
|
|
41
|
-
| `loading`
|
|
42
|
-
| `loadError`
|
|
43
|
-
| `onRetry`
|
|
44
|
-
| `statusText`
|
|
45
|
-
| `loadingContent` | 自定义加载中内容
|
|
46
|
-
| `errorContent`
|
|
47
|
-
| `emptyContent`
|
|
48
|
-
| `dropdownRender` | 包裹菜单内容
|
|
49
|
-
| `header`
|
|
50
|
-
| `footer`
|
|
51
|
-
| `
|
|
32
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
33
|
+
| ---------------- | ---------------------------------------------------------- | ---------------------------------------- | ------- |
|
|
34
|
+
| `items` | 菜单项数据(快捷模式) | `DropdownItemData[]` | - |
|
|
35
|
+
| `open` | 受控打开状态 | `boolean` | - |
|
|
36
|
+
| `defaultOpen` | 非受控默认打开状态 | `boolean` | `false` |
|
|
37
|
+
| `onOpenChange` | 打开状态变化回调 | `(open: boolean) => void` | - |
|
|
38
|
+
| `modal` | 是否为模态弹出 | `boolean` | `true` |
|
|
39
|
+
| `disabled` | 是否禁用 | `boolean` | `false` |
|
|
40
|
+
| `selectedKeys` | 选中项 key 数组(显示勾选) | `string[]` | - |
|
|
41
|
+
| `loading` | 加载中,面板显示加载占位 | `boolean` | `false` |
|
|
42
|
+
| `loadError` | 加载失败,面板显示失败占位(优先级低于 `loading`) | `boolean` | `false` |
|
|
43
|
+
| `onRetry` | 失败占位的重试回调,传入后占位可点击 | `() => void` | - |
|
|
44
|
+
| `statusText` | 覆盖三态文案,未传的键走语言包 | `DropdownStatusText` | - |
|
|
45
|
+
| `loadingContent` | 自定义加载中内容 | `ReactNode` | - |
|
|
46
|
+
| `errorContent` | 自定义失败内容 | `ReactNode` | - |
|
|
47
|
+
| `emptyContent` | 自定义空态内容 | `ReactNode` | - |
|
|
48
|
+
| `dropdownRender` | 包裹菜单内容 | `(menu: ReactNode) => ReactNode` | - |
|
|
49
|
+
| `header` | 固定头部内容 | `ReactNode` | - |
|
|
50
|
+
| `footer` | 固定底部内容 | `ReactNode` | - |
|
|
51
|
+
| `contentProps` | `items` 快捷模式下面板的定位配置,取值同 `DropdownContent` | `Omit<DropdownContentProps, "children">` | - |
|
|
52
|
+
| `children` | 触发器元素 | `ReactNode` | - |
|
|
52
53
|
|
|
53
54
|
### DropdownStatus
|
|
54
55
|
|
|
55
56
|
面板内三态占位。`items` 模式下由 Dropdown 自动渲染,Compound Component 模式需手动使用。
|
|
56
57
|
|
|
57
|
-
| 属性
|
|
58
|
-
|
|
59
|
-
| `status`
|
|
60
|
-
| `description` | 覆盖该状态的默认文案
|
|
61
|
-
| `onRetry`
|
|
62
|
-
| `className`
|
|
58
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
59
|
+
| ------------- | ---------------------------------- | --------------------------------- | ---------- |
|
|
60
|
+
| `status` | 占位状态 | `"loading" \| "empty" \| "error"` | - |
|
|
61
|
+
| `description` | 覆盖该状态的默认文案 | `ReactNode` | 取自语言包 |
|
|
62
|
+
| `onRetry` | 重试回调,仅 `status="error"` 生效 | `() => void` | - |
|
|
63
|
+
| `className` | 额外类名 | `string` | - |
|
|
63
64
|
|
|
64
65
|
### DropdownSubTrigger
|
|
65
66
|
|
|
66
|
-
| 属性
|
|
67
|
-
|
|
68
|
-
| `icon`
|
|
69
|
-
| `disabled`
|
|
70
|
-
| `onMouseEnter`
|
|
71
|
-
| `ellipsisTooltip` | 文本溢出时悬浮显示完整内容,见 [长文本溢出提示](#长文本溢出提示) | `boolean \| ReactNode` | -
|
|
72
|
-
| `children`
|
|
67
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
68
|
+
| ----------------- | ---------------------------------------------------------------- | ---------------------- | ------- |
|
|
69
|
+
| `icon` | 前缀图标 | `ReactNode` | - |
|
|
70
|
+
| `disabled` | 是否禁用 | `boolean` | `false` |
|
|
71
|
+
| `onMouseEnter` | 鼠标进入回调,在内部展开子菜单后执行,可用于懒加载数据 | `MouseEventHandler` | - |
|
|
72
|
+
| `ellipsisTooltip` | 文本溢出时悬浮显示完整内容,见 [长文本溢出提示](#长文本溢出提示) | `boolean \| ReactNode` | - |
|
|
73
|
+
| `children` | 触发项内容 | `ReactNode` | - |
|
|
73
74
|
|
|
74
75
|
### DropdownSubContent
|
|
75
76
|
|
|
76
|
-
| 属性
|
|
77
|
-
|
|
78
|
-
| `side`
|
|
79
|
-
| `align`
|
|
80
|
-
| `sideOffset`
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
77
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
78
|
+
| ------------------ | ----------------------------------- | ---------------------------------------- | --------------- |
|
|
79
|
+
| `side` | 弹出方向 | `"top" \| "bottom" \| "left" \| "right"` | `"right"` |
|
|
80
|
+
| `align` | 对齐方式 | `"start" \| "center" \| "end"` | `"start"` |
|
|
81
|
+
| `sideOffset` | 侧向偏移 | `number` | `8` |
|
|
82
|
+
| `alignOffset` | 对齐方向偏移(px) | `number` | `0` |
|
|
83
|
+
| `collisionPadding` | 碰撞边界内边距(px),防止浮层贴边 | `number` | `8` |
|
|
84
|
+
| `container` | 挂载容器;传 `null` 则不使用 Portal | `HTMLElement \| null` | `document.body` |
|
|
85
|
+
| `style.maxHeight` | 覆盖面板高度上限 | `number \| string` | `346` |
|
|
86
|
+
| `footer` | 固定底部内容(不随列表滚动) | `ReactNode` | - |
|
|
87
|
+
| `children` | 子菜单内容 | `ReactNode` | - |
|
|
84
88
|
|
|
85
89
|
子菜单与主面板同口径限高:默认上限 346px(10 个菜单项),并始终与视口可用空间取较小值,超出部分由内置 ScrollArea 滚动。选项数量不受控的场景(如租户列表)无需额外处理。
|
|
86
90
|
|
|
@@ -97,42 +101,55 @@ export default function BasicDemo() {
|
|
|
97
101
|
|
|
98
102
|
### DropdownContent
|
|
99
103
|
|
|
100
|
-
| 属性
|
|
101
|
-
|
|
102
|
-
| `side`
|
|
103
|
-
| `align`
|
|
104
|
-
| `sideOffset`
|
|
105
|
-
| `header`
|
|
106
|
-
| `footer`
|
|
107
|
-
| `autoFocusFirstItem`
|
|
104
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
105
|
+
| ---------------------- | ------------------------------------------------ | ---------------------------------------- | --------------- |
|
|
106
|
+
| `side` | 弹出方向 | `"top" \| "bottom" \| "left" \| "right"` | `"bottom"` |
|
|
107
|
+
| `align` | 对齐方式 | `"start" \| "center" \| "end"` | `"start"` |
|
|
108
|
+
| `sideOffset` | 与触发器沿弹出方向的距离 | `number` | `4` |
|
|
109
|
+
| `header` | 固定头部内容 | `ReactNode` | - |
|
|
110
|
+
| `footer` | 固定底部内容 | `ReactNode` | - |
|
|
111
|
+
| `autoFocusFirstItem` | 打开时是否聚焦第一项,不传则按输入模态自动判断 | `boolean` | - |
|
|
112
|
+
| `borderless` | 隐藏面板默认描边 | `boolean` | `false` |
|
|
113
|
+
| `alignOffset` | 对齐方向偏移(px) | `number` | `0` |
|
|
114
|
+
| `collisionPadding` | 碰撞边界内边距(px),防止浮层贴边 | `number` | `8` |
|
|
115
|
+
| `container` | 挂载容器;传 `null` 则不使用 Portal | `HTMLElement \| null` | `document.body` |
|
|
116
|
+
| `onEscapeKeyDown` | Escape 按下回调,可 `preventDefault` 阻止关闭 | `(event: KeyboardEvent) => void` | - |
|
|
117
|
+
| `onPointerDownOutside` | 点击外部回调,可 `preventDefault` 阻止关闭 | `(event: CustomEvent) => void` | - |
|
|
118
|
+
| `onInteractOutside` | 外部交互回调(pointerDown + focus 的合集) | `(event: CustomEvent) => void` | - |
|
|
119
|
+
| `onCloseAutoFocus` | 关闭时自动回焦回调,可 `preventDefault` 阻止回焦 | `(event: Event) => void` | - |
|
|
108
120
|
|
|
109
121
|
打开面板时的焦点落点默认按最近一次输入方式自动判断:键盘(Enter / Space / Tab / 方向键)打开聚焦第一项,鼠标点击打开则把焦点留在菜单容器上。这样鼠标用户不会看到第一项自带 hover 态,键盘用户仍能看到焦点位置。仅在需要强制某一种行为时才传 `autoFocusFirstItem`。
|
|
110
122
|
|
|
111
123
|
### DropdownItem
|
|
112
124
|
|
|
113
|
-
| 属性
|
|
114
|
-
|
|
115
|
-
| `onSelect`
|
|
116
|
-
| `disabled`
|
|
117
|
-
| `danger`
|
|
118
|
-
| `icon`
|
|
119
|
-
| `description`
|
|
120
|
-
| `selected`
|
|
121
|
-
| `ellipsisTooltip` | 文本溢出时悬浮显示完整内容,详见下方章节 | `boolean \| ReactNode`
|
|
122
|
-
| `children`
|
|
125
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
126
|
+
| ----------------- | ---------------------------------------- | ------------------------ | ------- |
|
|
127
|
+
| `onSelect` | 选中回调 | `(event: Event) => void` | - |
|
|
128
|
+
| `disabled` | 是否禁用 | `boolean` | `false` |
|
|
129
|
+
| `danger` | 是否为危险操作(红色) | `boolean` | `false` |
|
|
130
|
+
| `icon` | 前缀图标 | `ReactNode` | - |
|
|
131
|
+
| `description` | 副标题描述(显示在主文本下方) | `ReactNode` | - |
|
|
132
|
+
| `selected` | 是否选中(显示勾选) | `boolean` | `false` |
|
|
133
|
+
| `ellipsisTooltip` | 文本溢出时悬浮显示完整内容,详见下方章节 | `boolean \| ReactNode` | - |
|
|
134
|
+
| `children` | 菜单项内容 | `ReactNode` | - |
|
|
123
135
|
|
|
124
136
|
### 长文本溢出提示
|
|
125
137
|
|
|
126
138
|
面板宽度默认随内容撑开,长文案会把浮层顶出屏幕。给菜单项传 `ellipsisTooltip` 后文本带最大宽度(240px)并单行截断,**仅在真正被截断时**悬浮显示完整内容 —— 未截断不弹,不会出现重复可见文字的干扰提示。
|
|
127
139
|
|
|
128
140
|
```tsx
|
|
129
|
-
{
|
|
130
|
-
|
|
141
|
+
{
|
|
142
|
+
/* true:取 children 作为提示内容 */
|
|
143
|
+
}
|
|
144
|
+
<DropdownItem ellipsisTooltip>{tenantName}</DropdownItem>;
|
|
131
145
|
|
|
132
|
-
{
|
|
146
|
+
{
|
|
147
|
+
/* children 是 JSX 时显式传纯文本,否则整块 JSX 会被塞进浮层 */
|
|
148
|
+
}
|
|
133
149
|
<DropdownItem ellipsisTooltip={file.name}>
|
|
134
|
-
<span>{file.name}</span
|
|
135
|
-
</
|
|
150
|
+
<span>{file.name}</span>
|
|
151
|
+
<Tag>new</Tag>
|
|
152
|
+
</DropdownItem>;
|
|
136
153
|
```
|
|
137
154
|
|
|
138
155
|
`DropdownItem` / `DropdownRadioItem` / `DropdownCheckboxItem` / `DropdownSubTrigger` 均支持,`items` 快捷模式在数据项上同名传入即可。
|
|
@@ -148,6 +165,7 @@ export default function BasicDemo() {
|
|
|
148
165
|
## DropdownButton 触发器按钮
|
|
149
166
|
|
|
150
167
|
统一的下拉触发器按钮组件,提供两种视觉态:
|
|
168
|
+
|
|
151
169
|
- **Default**:透明背景 + 深色文字,hover 时浅灰底
|
|
152
170
|
- **Selected**:蓝色浅底 + 蓝色文字,支持 hover 显示清除图标
|
|
153
171
|
- **Glassy**:半透明白底 + 描边,适用于有色背景
|
|
@@ -160,17 +178,17 @@ export default function BasicDemo() {
|
|
|
160
178
|
|
|
161
179
|
### DropdownButton
|
|
162
180
|
|
|
163
|
-
| 属性
|
|
164
|
-
|
|
165
|
-
| `children`
|
|
166
|
-
| `variant`
|
|
167
|
-
| `size`
|
|
168
|
-
| `icon`
|
|
169
|
-
| `selected`
|
|
170
|
-
| `open`
|
|
171
|
-
| `clearable` | hover 时是否显示清除图标
|
|
172
|
-
| `hideArrow` | 隐藏箭头(用于纯 toggle 按钮) | `boolean`
|
|
173
|
-
| `disabled`
|
|
174
|
-
| `onClear`
|
|
175
|
-
| `onClick`
|
|
176
|
-
| `className` | 额外类名
|
|
181
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
182
|
+
| ----------- | ------------------------------ | ------------------------- | ----------- |
|
|
183
|
+
| `children` | 按钮文本 | `ReactNode` | - |
|
|
184
|
+
| `variant` | 按钮变体 | `"default" \| "glassy"` | `"default"` |
|
|
185
|
+
| `size` | 尺寸 | `"sm" \| "lg"` | `"sm"` |
|
|
186
|
+
| `icon` | 前置图标 | `ReactNode` | - |
|
|
187
|
+
| `selected` | 是否已有选中内容(蓝色态) | `boolean` | `false` |
|
|
188
|
+
| `open` | 是否展开态(箭头旋转 180°) | `boolean` | `false` |
|
|
189
|
+
| `clearable` | hover 时是否显示清除图标 | `boolean` | `false` |
|
|
190
|
+
| `hideArrow` | 隐藏箭头(用于纯 toggle 按钮) | `boolean` | `false` |
|
|
191
|
+
| `disabled` | 是否禁用 | `boolean` | `false` |
|
|
192
|
+
| `onClear` | 清除回调 | `(e: MouseEvent) => void` | - |
|
|
193
|
+
| `onClick` | 点击回调 | `(e: MouseEvent) => void` | - |
|
|
194
|
+
| `className` | 额外类名 | `string` | - |
|
|
@@ -40,5 +40,13 @@ export default function BasicDemo() {
|
|
|
40
40
|
| `getPopupContainer` | 浮层挂载容器,接收触发节点 | `(node: HTMLElement) => HTMLElement` | - |
|
|
41
41
|
| `placement` | 弹出方向 | `TooltipPlacement` | `"top"` |
|
|
42
42
|
| `maxWidth` | 浮层最大宽度(px),`anchorClassName` 命中时以后者为准 | `number` | `280` |
|
|
43
|
+
| `disabled` | 禁用后不渲染浮层,直接展示 `children` | `boolean` | `false` |
|
|
44
|
+
| `delayDuration` | hover 延迟展示时间(ms) | `number` | `200` |
|
|
45
|
+
| `sideOffset` | 浮层与触发元素的间距(px) | `number` | `6` |
|
|
46
|
+
| `arrow` | 是否显示箭头 | `boolean` | `true` |
|
|
47
|
+
| `defaultOpen` | 非受控默认打开状态 | `boolean` | `false` |
|
|
48
|
+
| `scrollable` | 内容超出限高时是否滚动;传 `false` 则完整撑开 | `boolean` | `true` |
|
|
49
|
+
|
|
50
|
+
其余属性继承 `Omit<TooltipProps, "children" \| "content" \| "open" \| "onOpenChange" \| "container">`。
|
|
43
51
|
|
|
44
52
|
其余属性透传给 `Tooltip`(`delayDuration`、`sideOffset`、`arrow` 等)。
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
当目标区域无数据时展示的空状态占位图,引导用户进行下一步操作。
|
|
4
4
|
|
|
5
5
|
- 导入:`import { Empty, EmptyCard } from "lingee-ui";`
|
|
6
|
-
- 可用类型:`EmptyProps`, `EmptySize`, `EmptyIconComponent`, `EmptyCardProps`, `EmptyCardStatus`, `EmptyCardVariant`, `EmptyCardSpacing`
|
|
6
|
+
- 可用类型:`EmptyProps`, `EmptySize`, `EmptyIconComponent`, `EmptyCardProps`, `EmptyCardStatus`, `EmptyCardVariant`, `EmptyCardSpacing`, `EmptyCardAlign`
|
|
7
7
|
|
|
8
8
|
## 最小示例
|
|
9
9
|
|
|
@@ -23,7 +23,7 @@ export default function BasicDemo() {
|
|
|
23
23
|
| `icon` | 图标:传 lingee-icon 组件自动注入渐变,传 ReactNode 完全自定义,不传使用默认图标 | `ComponentType<SvgIconProps> \| ReactNode` | 默认 DocumentLibrary |
|
|
24
24
|
| `description` | 描述文字 | `ReactNode` | - |
|
|
25
25
|
| `size` | 尺寸:`lg` 页面级 / `md` 局部(默认)/ `sm` 迷你 | `"sm" \| "md" \| "lg"` | `"md"` |
|
|
26
|
-
| `children` |
|
|
26
|
+
| `children` | 描述下方的自定义内容(如操作按钮),渲染在 `.lg-empty__extra` 内,间距由组件提供无需自行加 margin | `ReactNode` | - |
|
|
27
27
|
| `className` | 自定义类名 | `string` | - |
|
|
28
28
|
| `style` | 自定义内联样式 | `CSSProperties` | - |
|
|
29
29
|
|
|
@@ -37,6 +37,7 @@ export default function BasicDemo() {
|
|
|
37
37
|
| `size` | 尺寸,语义同 `Empty`,透传给内部 `Empty` | `"sm" \| "md" \| "lg"` | `"sm"` |
|
|
38
38
|
| `variant` | 留白密度:`block` 区块级 / `inline` 行内轻量 | `"block" \| "inline"` | `"block"` |
|
|
39
39
|
| `spacing` | 留白档位。`loose` 为顶部大留白(列表级空态) | `"none" \| "normal" \| "loose"` | `"normal"` |
|
|
40
|
+
| `align` | 水平对齐。`start` 用于列表内嵌占位,与上方列表项同一阅读起点;只管对齐不含缩进,需要缩进时由消费方在外层补 `padding` | `"center" \| "start"` | `"center"` |
|
|
40
41
|
| `onRetry` | 重试回调。仅 `status="error"` 生效,传入后整体可点击,并自动追加主题色「重试」 | `() => void` | - |
|
|
41
42
|
| `className` | 自定义类名 | `string` | - |
|
|
42
43
|
| `style` | 自定义内联样式 | `CSSProperties` | - |
|
|
@@ -41,6 +41,8 @@ export default function BasicDemo() {
|
|
|
41
41
|
| `form` | Form 实例(useForm 创建) | `FormInstance` | - |
|
|
42
42
|
| `onFinish` | 提交且校验通过回调 | `(values) => void` | - |
|
|
43
43
|
| `onFinishFailed` | 校验失败回调 | `() => void` | - |
|
|
44
|
+
| `onValuesChange` | 字段值变化回调 | `(changedValues, allValues) => void` | - |
|
|
45
|
+
| `requiredMark` | 是否在必填项标签后显示 `*` | `boolean` | `true` |
|
|
44
46
|
|
|
45
47
|
### Form.Item
|
|
46
48
|
|
|
@@ -51,6 +53,12 @@ export default function BasicDemo() {
|
|
|
51
53
|
| `required` | 是否必填 | `boolean` | `false` |
|
|
52
54
|
| `rules` | 校验规则 | `Rule[]` | - |
|
|
53
55
|
| `valuePropName` | 值属性名 | `string` | `"value"` |
|
|
56
|
+
| `trigger` | 触发 onChange 的 prop 名 | `string` | `"onChange"` |
|
|
57
|
+
| `getValueFromEvent` | 从事件参数中提取值 | `(...args: unknown[]) => unknown` | - |
|
|
58
|
+
| `requiredMessage` | 必填提示文案,配合 `required` 使用 | `string` | - |
|
|
59
|
+
| `tooltip` | 标签后的提示信息 | `ReactNode` | - |
|
|
60
|
+
| `extra` | 额外说明,显示在控件下方 | `ReactNode` | - |
|
|
61
|
+
| `injectError` | 校验失败时是否向子控件注入 `error={true}` | `boolean` | `true` |
|
|
54
62
|
|
|
55
63
|
### Form.useForm
|
|
56
64
|
|
|
@@ -40,3 +40,8 @@ export default function BasicDemo() {
|
|
|
40
40
|
| `showQuickJumper` | 是否显示快速跳转 | `boolean` | `false` |
|
|
41
41
|
| `variant` | 样式变体 | `"simple" \| "bordered" \| "borderless"` | `"bordered"` |
|
|
42
42
|
| `disabled` | 是否禁用 | `boolean` | `false` |
|
|
43
|
+
| `align` | 水平对齐方式 | `"start" \| "center" \| "end"` | - |
|
|
44
|
+
| `defaultPageSize` | 非受控默认每页条数 | `number` | - |
|
|
45
|
+
| `pageSizeOptions` | 每页条数下拉选项 | `number[]` | - |
|
|
46
|
+
| `hideOnSinglePage` | 仅一页时是否隐藏整个分页器 | `boolean` | `false` |
|
|
47
|
+
| `onPageSizeChange` | 每页条数变化回调 | `(current: number, size: number) => void` | - |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- 导入:`import { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, PopoverArrow, PopoverClose } from "lingee-ui";`
|
|
6
6
|
- 按需导入:`import { Popover } from "lingee-ui/popover";`
|
|
7
|
-
- 可用类型:`PopoverProps`, `PopoverTriggerProps`, `PopoverAnchorProps`, `PopoverContentProps`, `PopoverArrowProps`, `PopoverCloseProps`, `PopoverPlacement`
|
|
7
|
+
- 可用类型:`PopoverTriggerAction`, `PopoverProps`, `PopoverTriggerProps`, `PopoverAnchorProps`, `PopoverContentProps`, `PopoverArrowProps`, `PopoverCloseProps`, `PopoverPlacement`
|
|
8
8
|
|
|
9
9
|
## 最小示例
|
|
10
10
|
|
|
@@ -17,7 +17,7 @@ export default function BasicDemo() {
|
|
|
17
17
|
<PopoverTrigger>
|
|
18
18
|
<Button>Click me</Button>
|
|
19
19
|
</PopoverTrigger>
|
|
20
|
-
<PopoverContent>
|
|
20
|
+
<PopoverContent className="lg-popover--card">
|
|
21
21
|
<p style={{ margin: 0 }}>This is the content of the popover.</p>
|
|
22
22
|
</PopoverContent>
|
|
23
23
|
</Popover>
|
|
@@ -29,17 +29,32 @@ export default function BasicDemo() {
|
|
|
29
29
|
|
|
30
30
|
### Popover
|
|
31
31
|
|
|
32
|
-
| 属性
|
|
33
|
-
|
|
34
|
-
| `open`
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
32
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
33
|
+
| ----------------- | -------------------------------------------- | ------------------------- | --------- |
|
|
34
|
+
| `open` | 受控打开状态 | `boolean` | - |
|
|
35
|
+
| `defaultOpen` | 非受控默认打开状态 | `boolean` | - |
|
|
36
|
+
| `onOpenChange` | 打开状态变化回调 | `(open: boolean) => void` | - |
|
|
37
|
+
| `modal` | 是否为模态模式 | `boolean` | `false` |
|
|
38
|
+
| `trigger` | 打开方式 | `"click" \| "hover"` | `"click"` |
|
|
39
|
+
| `mouseEnterDelay` | `trigger="hover"` 时指针进入后延迟打开(ms) | `number` | `100` |
|
|
40
|
+
| `mouseLeaveDelay` | `trigger="hover"` 时指针离开后延迟关闭(ms) | `number` | `100` |
|
|
41
|
+
| `children` | 子元素(Trigger + Content) | `ReactNode` | - |
|
|
38
42
|
|
|
39
43
|
### PopoverContent
|
|
40
44
|
|
|
41
45
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
42
46
|
|------|------|------|--------|
|
|
43
|
-
| `side` |
|
|
44
|
-
| `align` |
|
|
45
|
-
| `sideOffset` |
|
|
47
|
+
| `side` | 期望弹出方向;空间不足时可能自动翻转 | `"top" \| "bottom" \| "left" \| "right"` | `"bottom"` |
|
|
48
|
+
| `align` | 沿弹出方向的对齐方式 | `"start" \| "center" \| "end"` | `"center"` |
|
|
49
|
+
| `sideOffset` | 弹出层与触发器的间距(px) | `number` | `4` |
|
|
50
|
+
| `alignOffset` | 沿对齐轴的偏移(px) | `number` | `0` |
|
|
51
|
+
| `collisionPadding` | 与碰撞边界的最小距离(px) | `number` | `8` |
|
|
52
|
+
| `container` | Portal 挂载容器;传 `null` 时就地渲染 | `HTMLElement \| null` | `document.body` |
|
|
53
|
+
| `className` | 自定义类名;使用 `lg-popover--card` 启用标准卡片外观 | `string` | - |
|
|
54
|
+
| `onEscapeKeyDown` | Escape 按下回调,可 `preventDefault` 阻止关闭 | `(event: KeyboardEvent) => void` | - |
|
|
55
|
+
| `onPointerDownOutside` | 点击外部回调,可 `preventDefault` 阻止关闭 | `(event: CustomEvent) => void` | - |
|
|
56
|
+
| `onFocusOutside` | 焦点移出回调 | `(event: CustomEvent) => void` | - |
|
|
57
|
+
| `onInteractOutside` | 外部交互回调(pointerDown + focus) | `(event: CustomEvent) => void` | - |
|
|
58
|
+
| `onOpenAutoFocus` | 打开时自动聚焦回调,可 `preventDefault` 阻止自动聚焦 | `(event: Event) => void` | - |
|
|
59
|
+
| `onCloseAutoFocus` | 关闭时自动回焦回调,可 `preventDefault` 阻止回焦 | `(event: Event) => void` | - |
|
|
60
|
+
| `children` | 浮层内容 | `ReactNode` | - |
|
|
@@ -29,10 +29,14 @@ export default function BasicDemo() {
|
|
|
29
29
|
|------|------|------|--------|
|
|
30
30
|
| `value` | 受控选中值 | `string` | - |
|
|
31
31
|
| `defaultValue` | 默认选中值 | `string` | - |
|
|
32
|
-
| `
|
|
32
|
+
| `onChange` | 选中值变化回调 | `(value: string) => void` | - |
|
|
33
33
|
| `disabled` | 是否整组禁用 | `boolean` | `false` |
|
|
34
34
|
| `orientation` | 排列方向 | `"horizontal" \| "vertical"` | `"vertical"` |
|
|
35
35
|
| `size` | 尺寸 | `"sm" \| "md" \| "lg"` | `"md"` |
|
|
36
|
+
| `name` | 组名(用于原生 form) | `string` | - |
|
|
37
|
+
| `children` | 子元素(`RadioItem` 列表) | `ReactNode` | - |
|
|
38
|
+
| `className` | 自定义类名 | `string` | - |
|
|
39
|
+
| `style` | 自定义样式 | `CSSProperties` | - |
|
|
36
40
|
|
|
37
41
|
### RadioItem
|
|
38
42
|
|
|
@@ -38,6 +38,14 @@ export default function BasicDemo() {
|
|
|
38
38
|
| `errorMessage` | 错误提示信息 | `string` | - |
|
|
39
39
|
| `minDate` | 最小可选日期 | `Date` | - |
|
|
40
40
|
| `maxDate` | 最大可选日期 | `Date` | - |
|
|
41
|
+
| `disabledDate` | 禁用日期判断函数 | `(date: Date) => boolean` | - |
|
|
42
|
+
| `format` | 日期格式化 | `string` | `"yyyy/MM/dd"` |
|
|
43
|
+
| `separator` | 起止日期之间的分隔符 | `string` | `"~"` |
|
|
44
|
+
| `size` | 尺寸 | `"sm" \| "md" \| "lg"` | `"md"` |
|
|
45
|
+
| `allowClear` | 是否显示清空按钮 | `boolean` | `true` |
|
|
46
|
+
| `weekStartsOn` | 一周起始日,`0` 为周日 | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6` | `1` |
|
|
47
|
+
| `getPopupContainer` | 浮层挂载容器,用于在 `overflow` 裁剪的滚动容器内就地挂载 | `() => HTMLElement` | - |
|
|
48
|
+
| `onOpenChange` | 面板展开/收起回调 | `(open: boolean) => void` | - |
|
|
41
49
|
|
|
42
50
|
### DateRange
|
|
43
51
|
|
|
@@ -51,3 +51,6 @@ export default function BasicDemo() {
|
|
|
51
51
|
| `suffixIcon` | 后缀图标 | `ReactNode` | - |
|
|
52
52
|
| `maxTagCount` | 多选模式最多显示 Tag 数 | `number` | - |
|
|
53
53
|
| `dropdown` | 下拉面板配置 | `SelectDropdownProps` | - |
|
|
54
|
+
| `defaultValue` | 非受控默认值 | `T \| T[]` | - |
|
|
55
|
+
| `onDropdownVisibleChange` | 下拉展开/收起回调 | `(open: boolean) => void` | - |
|
|
56
|
+
| `labelRender` | 自定义选中值在触发器中的渲染。用于下拉面板展示丰富内容(如头像+名字+工号)、触发器只显示简短文本的场景 | `(value: T, option?: SelectOption<T>) => ReactNode` | 渲染 `option.label` |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
侧边栏复合组件,提供根容器、页签、导航项、分组、列表项、占位项与底栏,通过 Sidebar.xxx 组合使用。
|
|
4
4
|
|
|
5
|
-
- 导入:`import { Sidebar, SidebarRoot, SidebarHeader, SidebarTabBar, SidebarNavItem, SidebarCollapsibleNavItem, SidebarGroupHeader, SidebarListItem, SidebarCollapsibleListItem, SidebarFolderNode, SidebarFolderSection, SidebarFooter, SidebarFooterUser, SidebarFooterMenuStaticRow, SidebarFooterBadge, SidebarUsageBar, SidebarUsagePanel, SidebarUsagePanelSection, SidebarFeedbackModal, SidebarFeedbackSubmitPanel, SidebarFeedbackField, SidebarFeedbackFileWall, SidebarFeedbackHistoryPanel, SidebarFeedbackHistoryItem, SidebarFeedbackDetail, SidebarFeedbackAttachmentRow, SidebarFeedbackSimilarItem, SidebarAuthImage, formatFileSize } from "lingee-ui";`
|
|
6
|
-
- 可用类型:`FeedbackAttachment`, `FeedbackStatus`, `FeedbackHistoryItem`, `FeedbackReply`, `FeedbackSimilarItem`, `FeedbackHistoryDetail`, `FeedbackTabKey`, `FeedbackFileWallItem`, `SidebarFeedbackModalProps`, `SidebarFeedbackSubmitPanelProps`, `SidebarFeedbackFieldProps`, `SidebarFeedbackFileWallProps`, `SidebarFeedbackHistoryPanelProps`, `SidebarFeedbackHistoryItemProps`, `SidebarFeedbackDetailProps`, `SidebarFeedbackAttachmentRowProps`, `SidebarFeedbackSimilarItemProps`, `SidebarAuthImageProps`, `SidebarRootProps`, `SidebarHeaderProps`, `SidebarTabBarProps`, `SidebarTabItem`, `SidebarNavItemProps`, `SidebarCollapsibleNavItemProps`, `SidebarCollapsibleNavItemChild`, `SidebarGroupHeaderProps`, `SidebarListItemProps`, `SidebarIndicatorType`, `SidebarCollapsibleListItemProps`, `SidebarCaretPlacement`, `SidebarFolderNodeProps`, `SidebarFolderSectionProps`, `SidebarFolderStatus`, `SidebarFolderStatusText`, `SidebarFooterProps`, `SidebarFooterUserProps`, `SidebarFooterMenuStaticRowProps`, `SidebarFooterBadgeProps`, `SidebarUsageBarProps`, `SidebarUsageTone`, `SidebarUsagePanelProps`, `SidebarUsagePanelSectionProps`
|
|
5
|
+
- 导入:`import { Sidebar, SidebarRoot, SidebarHeader, SidebarStickyHeader, SidebarTabBar, SidebarNavItem, SidebarCollapsibleNavItem, SidebarGroupHeader, SidebarListItem, SidebarCollapsibleListItem, SidebarFolderNode, SidebarFolderSection, SidebarFooter, SidebarFooterUser, SidebarFooterMenuStaticRow, SidebarFooterBadge, SidebarUsageBar, SidebarUsagePanel, SidebarUsagePanelSection, SidebarFeedbackModal, SidebarFeedbackSubmitPanel, SidebarFeedbackField, SidebarFeedbackFileWall, SidebarFeedbackHistoryPanel, SidebarFeedbackHistoryItem, SidebarFeedbackDetail, SidebarFeedbackAttachmentRow, SidebarFeedbackSimilarItem, SidebarAuthImage, formatFileSize } from "lingee-ui";`
|
|
6
|
+
- 可用类型:`FeedbackAttachment`, `FeedbackStatus`, `FeedbackHistoryItem`, `FeedbackReply`, `FeedbackSimilarItem`, `FeedbackHistoryDetail`, `FeedbackTabKey`, `FeedbackFileWallItem`, `SidebarFeedbackModalProps`, `SidebarFeedbackSubmitPanelProps`, `SidebarFeedbackFieldProps`, `SidebarFeedbackFileWallProps`, `SidebarFeedbackHistoryPanelProps`, `SidebarFeedbackHistoryItemProps`, `SidebarFeedbackDetailProps`, `SidebarFeedbackAttachmentRowProps`, `SidebarFeedbackSimilarItemProps`, `SidebarAuthImageProps`, `SidebarRootProps`, `SidebarHeaderProps`, `SidebarStickyHeaderProps`, `SidebarTabBarProps`, `SidebarTabItem`, `SidebarNavItemProps`, `SidebarCollapsibleNavItemProps`, `SidebarCollapsibleNavItemChild`, `SidebarCaretTone`, `SidebarGroupHeaderProps`, `SidebarListItemProps`, `SidebarIndicatorType`, `SidebarCollapsibleListItemProps`, `SidebarCaretPlacement`, `SidebarFolderNodeProps`, `SidebarFolderSectionProps`, `SidebarFolderStatus`, `SidebarFolderStatusText`, `SidebarFooterProps`, `SidebarFooterUserProps`, `SidebarFooterMenuStaticRowProps`, `SidebarFooterBadgeProps`, `SidebarUsageBarProps`, `SidebarUsageTone`, `SidebarUsagePanelProps`, `SidebarUsagePanelSectionProps`
|
|
7
7
|
|
|
8
8
|
## 最小示例
|
|
9
9
|
|
|
@@ -73,6 +73,15 @@ export default function BasicDemo() {
|
|
|
73
73
|
|------|------|------|--------|
|
|
74
74
|
| `children` | 内容 | `ReactNode` | - |
|
|
75
75
|
|
|
76
|
+
### Sidebar.StickyHeader
|
|
77
|
+
|
|
78
|
+
继承原生 `div` 属性。必须作为滚动容器的直接子元素,才能相对该容器吸顶。
|
|
79
|
+
|
|
80
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
81
|
+
|------|------|------|--------|
|
|
82
|
+
| `children` | 占满剩余宽度的主内容 | `ReactNode` | - |
|
|
83
|
+
| `actions` | 固定在右侧的操作区 | `ReactNode` | - |
|
|
84
|
+
|
|
76
85
|
### Sidebar.TabBar
|
|
77
86
|
|
|
78
87
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
@@ -103,6 +112,7 @@ export default function BasicDemo() {
|
|
|
103
112
|
| `icon` | 左侧图标 | `ReactNode` | - |
|
|
104
113
|
| `label` | 分组标题 | `ReactNode` | - |
|
|
105
114
|
| `active` | 头部高亮。内部与子项 active 互斥 | `boolean` | `false` |
|
|
115
|
+
| `caretTone` | 箭头视觉层级。`muted` 叠加弱化透明度,`default` 保留语义色完整不透明度 | `"muted" \| "default"` | `"muted"` |
|
|
106
116
|
| `open` | 受控展开态 | `boolean` | - |
|
|
107
117
|
| `defaultOpen` | 非受控初始展开态 | `boolean` | `false` |
|
|
108
118
|
| `onOpenChange` | 展开态变化回调 | `(next: boolean) => void` | - |
|
|
@@ -40,3 +40,4 @@ export default function BasicDemo() {
|
|
|
40
40
|
| `orientation` | 方向 | `"horizontal" \| "vertical"` | `"horizontal"` |
|
|
41
41
|
| `tooltip` | 是否显示 Tooltip | `boolean` | `true` |
|
|
42
42
|
| `tipFormatter` | Tooltip 格式化 | `(value: number) => string` | - |
|
|
43
|
+
| `onValueCommit` | 拖拽结束时回调,适合只在最终值上触发请求的场景 | `(value: number[]) => void` | - |
|
|
@@ -31,4 +31,5 @@ export default function BasicDemo() {
|
|
|
31
31
|
| `size` | 尺寸 | `"default" \| "small"` | `"default"` |
|
|
32
32
|
| `status` | 当前步骤状态 | `"process" \| "error"` | `"process"` |
|
|
33
33
|
| `titlePlacement` | 标题方向 | `"vertical" \| "horizontal"` | `"vertical"` |
|
|
34
|
+
| `initial` | 起始序号 | `number` | `0` |
|
|
34
35
|
| `onChange` | 步骤点击回调 | `(current: number) => void` | - |
|