@fangxinyan/lumina 0.9.0 → 0.9.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/dist/Alert.d.cts +1 -1
- package/dist/Alert.d.ts +1 -1
- package/dist/AppShell.d.cts +1 -1
- package/dist/AppShell.d.ts +1 -1
- package/dist/AutoComplete.d.cts +1 -1
- package/dist/AutoComplete.d.ts +1 -1
- package/dist/Avatar.d.cts +1 -1
- package/dist/Avatar.d.ts +1 -1
- package/dist/Badge.d.cts +1 -1
- package/dist/Badge.d.ts +1 -1
- package/dist/Button.d.cts +1 -1
- package/dist/Button.d.ts +1 -1
- package/dist/Calendar.d.cts +1 -1
- package/dist/Calendar.d.ts +1 -1
- package/dist/Card.d.cts +1 -1
- package/dist/Card.d.ts +1 -1
- package/dist/Cascader.d.cts +1 -1
- package/dist/Cascader.d.ts +1 -1
- package/dist/Checkbox.d.cts +1 -1
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Collapse.d.cts +1 -1
- package/dist/Collapse.d.ts +1 -1
- package/dist/ColorPicker.d.cts +1 -1
- package/dist/ColorPicker.d.ts +1 -1
- package/dist/CommandPalette.d.cts +1 -1
- package/dist/CommandPalette.d.ts +1 -1
- package/dist/ContextMenu.d.cts +1 -1
- package/dist/ContextMenu.d.ts +1 -1
- package/dist/DatePicker.d.cts +1 -1
- package/dist/DatePicker.d.ts +1 -1
- package/dist/DateTimePicker.d.cts +1 -1
- package/dist/DateTimePicker.d.ts +1 -1
- package/dist/Divider.d.cts +1 -1
- package/dist/Divider.d.ts +1 -1
- package/dist/Drawer.d.cts +1 -1
- package/dist/Drawer.d.ts +1 -1
- package/dist/Empty.d.cts +1 -1
- package/dist/Empty.d.ts +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.ts +1 -1
- package/dist/Icon.d.cts +1 -1
- package/dist/Icon.d.ts +1 -1
- package/dist/Image.d.cts +1 -1
- package/dist/Image.d.ts +1 -1
- package/dist/Input.d.cts +1 -1
- package/dist/Input.d.ts +1 -1
- package/dist/InputNumber.d.cts +1 -1
- package/dist/InputNumber.d.ts +1 -1
- package/dist/List.d.cts +1 -1
- package/dist/List.d.ts +1 -1
- package/dist/Message.d.cts +1 -1
- package/dist/Message.d.ts +1 -1
- package/dist/{Modal-UI2FXNDR.css → Modal-KLLX3Z2M.css} +23 -6
- package/dist/Modal.cjs +2 -2
- package/dist/Modal.d.cts +1 -1
- package/dist/Modal.d.ts +1 -1
- package/dist/Modal.js +1 -1
- package/dist/Pagination.d.cts +1 -1
- package/dist/Pagination.d.ts +1 -1
- package/dist/Popover.d.cts +1 -1
- package/dist/Popover.d.ts +1 -1
- package/dist/Progress.d.cts +1 -1
- package/dist/Progress.d.ts +1 -1
- package/dist/Radio.d.cts +1 -1
- package/dist/Radio.d.ts +1 -1
- package/dist/Select.d.cts +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Skeleton.d.cts +1 -1
- package/dist/Skeleton.d.ts +1 -1
- package/dist/Slider.d.cts +1 -1
- package/dist/Slider.d.ts +1 -1
- package/dist/Spin.d.cts +1 -1
- package/dist/Spin.d.ts +1 -1
- package/dist/Splitter.d.cts +1 -1
- package/dist/Splitter.d.ts +1 -1
- package/dist/StatusBar.d.cts +1 -1
- package/dist/StatusBar.d.ts +1 -1
- package/dist/Surface.d.cts +2 -2
- package/dist/Surface.d.ts +2 -2
- package/dist/Switch.d.cts +1 -1
- package/dist/Switch.d.ts +1 -1
- package/dist/Table.d.cts +1 -1
- package/dist/Table.d.ts +1 -1
- package/dist/TablePro.d.cts +1 -1
- package/dist/TablePro.d.ts +1 -1
- package/dist/Tabs.d.cts +1 -1
- package/dist/Tabs.d.ts +1 -1
- package/dist/Tag.d.cts +1 -1
- package/dist/Tag.d.ts +1 -1
- package/dist/Textarea.d.cts +1 -1
- package/dist/Textarea.d.ts +1 -1
- package/dist/{Theme-uQq2B0Yk.d.cts → Theme-BJa0Nb3w.d.cts} +1 -1
- package/dist/{Theme-CLedeJ_C.d.ts → Theme-DTtq_WWg.d.ts} +1 -1
- package/dist/Theme.d.cts +4 -4
- package/dist/Theme.d.ts +4 -4
- package/dist/ThemePanel.d.cts +2 -2
- package/dist/ThemePanel.d.ts +2 -2
- package/dist/TimePicker.d.cts +1 -1
- package/dist/TimePicker.d.ts +1 -1
- package/dist/Timeline.d.cts +1 -1
- package/dist/Timeline.d.ts +1 -1
- package/dist/Tooltip.d.cts +1 -1
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Typography.d.cts +1 -1
- package/dist/Typography.d.ts +1 -1
- package/dist/{chunk-GMFOY7RD.js → chunk-RJCPXAZ3.js} +10 -4
- package/dist/{chunk-I2YL5XE4.cjs → chunk-SOAGRYM3.cjs} +10 -4
- package/dist/{componentThemeTypes-Jt4B5aU8.d.cts → componentThemeTypes-C7lS3Hi8.d.cts} +6 -2
- package/dist/{componentThemeTypes-Jt4B5aU8.d.ts → componentThemeTypes-C7lS3Hi8.d.ts} +6 -2
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/styles.css +23 -6
- package/docs/llms/modal.md +24 -2
- package/docs/llms/theme.md +1 -1
- package/docs/llms.md +1 -1
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -1997,6 +1997,8 @@ button.collapse-chev {
|
|
|
1997
1997
|
}
|
|
1998
1998
|
.modal-head {
|
|
1999
1999
|
display: flex;
|
|
2000
|
+
flex: 0 0 auto;
|
|
2001
|
+
min-width: 0;
|
|
2000
2002
|
align-items: flex-start;
|
|
2001
2003
|
justify-content: space-between;
|
|
2002
2004
|
gap: var(--gap-3);
|
|
@@ -2011,26 +2013,41 @@ button.collapse-chev {
|
|
|
2011
2013
|
.modal-body {
|
|
2012
2014
|
min-width: 0;
|
|
2013
2015
|
min-height: 0;
|
|
2014
|
-
margin-inline: calc(var(--
|
|
2016
|
+
margin-inline: calc(var(--overlay-shadow-safe-area) * -1);
|
|
2015
2017
|
padding: var(--overlay-shadow-safe-area);
|
|
2016
2018
|
color: var(--lmn-modal-fg-muted, var(--fg-muted));
|
|
2017
2019
|
font-size: 13px;
|
|
2018
2020
|
line-height: 1.6;
|
|
2019
|
-
flex: 1;
|
|
2021
|
+
flex: 1 1 auto;
|
|
2022
|
+
overflow-x: hidden;
|
|
2020
2023
|
overflow-y: auto;
|
|
2021
2024
|
}
|
|
2022
2025
|
.modal-body:first-child {
|
|
2023
|
-
margin-top: calc(var(--
|
|
2026
|
+
margin-top: calc(var(--overlay-shadow-safe-area) * -1);
|
|
2024
2027
|
}
|
|
2025
|
-
.modal-body
|
|
2026
|
-
|
|
2028
|
+
.modal-body.default-overflow > * {
|
|
2029
|
+
min-width: 0;
|
|
2030
|
+
max-width: 100%;
|
|
2031
|
+
flex-shrink: 0;
|
|
2027
2032
|
}
|
|
2028
2033
|
.modal-body.inset-none {
|
|
2034
|
+
margin-inline: calc(var(--gap-6) * -1);
|
|
2029
2035
|
padding: 0;
|
|
2030
2036
|
}
|
|
2037
|
+
.modal-body.inset-none:first-child {
|
|
2038
|
+
margin-top: calc(var(--gap-6) * -1);
|
|
2039
|
+
}
|
|
2040
|
+
.modal-body.inset-none:last-child {
|
|
2041
|
+
margin-bottom: calc(var(--gap-6) * -1);
|
|
2042
|
+
}
|
|
2031
2043
|
.modal-foot {
|
|
2032
2044
|
display: flex;
|
|
2033
|
-
|
|
2045
|
+
flex: 0 0 auto;
|
|
2046
|
+
min-width: 0;
|
|
2047
|
+
min-height: var(--lmn-modal-footer-min-height, var(--ctrl-h));
|
|
2048
|
+
margin-top: var(--lmn-modal-footer-gap, var(--gap-4));
|
|
2049
|
+
align-items: center;
|
|
2050
|
+
gap: var(--lmn-modal-footer-action-gap, var(--gap-3));
|
|
2034
2051
|
justify-content: flex-end;
|
|
2035
2052
|
}
|
|
2036
2053
|
.modal-close {
|
package/docs/llms/modal.md
CHANGED
|
@@ -104,6 +104,28 @@ closable={false} 隐藏右上角 ×,closeIcon 可自定义。
|
|
|
104
104
|
</Modal>
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
+
### 长内容与独立 footer
|
|
108
|
+
|
|
109
|
+
默认正文只纵向滚动并保留底部安全区;直接子控件不会被纵向压缩。footer 独立于滚动区,bodyOverflow="hidden" 仍可交给内层容器滚动。
|
|
110
|
+
|
|
111
|
+
```tsx
|
|
112
|
+
<Modal
|
|
113
|
+
footer={null}
|
|
114
|
+
bodyStyle={{ maxHeight: 360, display: "flex", flexDirection: "column" }}
|
|
115
|
+
>
|
|
116
|
+
<Input placeholder="固定高度的搜索框" />
|
|
117
|
+
<LongList />
|
|
118
|
+
</Modal>
|
|
119
|
+
|
|
120
|
+
<Modal bodyStyle={{ maxHeight: 360 }}>
|
|
121
|
+
<LongForm />
|
|
122
|
+
</Modal>
|
|
123
|
+
|
|
124
|
+
<Modal bodyOverflow="hidden">
|
|
125
|
+
<InnerScrollableLayout />
|
|
126
|
+
</Modal>
|
|
127
|
+
```
|
|
128
|
+
|
|
107
129
|
### 嵌套浮层与 Esc 顺序
|
|
108
130
|
|
|
109
131
|
子 Select 即使 Portal 到对话框之外,也会保持在 Modal 上方并参与同一焦点范围;连续按 Esc 会先关 Select,再关 Modal。
|
|
@@ -125,14 +147,14 @@ closable={false} 隐藏右上角 ×,closeIcon 可自定义。
|
|
|
125
147
|
| onOk | `() => void` | — | 默认 OK 按钮点击 |
|
|
126
148
|
| onCancel | `() => void` | — | 默认 Cancel 按钮 / Esc / 关闭 / 遮罩触发,缺省则用 onClose |
|
|
127
149
|
| title / description | `ReactNode` | — | 标题/说明 |
|
|
128
|
-
| footer | `ReactNode` | — |
|
|
150
|
+
| footer | `ReactNode` | — | 独立于正文滚动区的底部区域;自定义内容,null 去除 |
|
|
129
151
|
| okText / cancelText | `ReactNode` | `"确定" / "取消"` | 默认按钮文案 |
|
|
130
152
|
| okButtonProps / cancelButtonProps | `Partial<ButtonProps>` | — | 透传给默认按钮 |
|
|
131
153
|
| confirmLoading | `boolean` | `false` | OK 按钮显示 spinner 并禁用 |
|
|
132
154
|
| bodyClassName | `string` | — | 正文容器 className |
|
|
133
155
|
| bodyStyle | `CSSProperties` | — | 正文容器内联样式 |
|
|
134
156
|
| bodyProps | `HTMLAttributes<HTMLDivElement>` | — | 透传给正文容器的 DOM props |
|
|
135
|
-
| bodyOverflow | `CSSProperties['overflow']` | — | 正文容器 overflow
|
|
157
|
+
| bodyOverflow | `CSSProperties['overflow']` | — | 正文容器 overflow 快捷控制;hidden 可让复杂内层布局接管滚动 |
|
|
136
158
|
| bodyInset | `"safe" | "none"` | `"safe"` | 正文边缘留白;safe 自动保护拟态阴影,none 用于贴边内容 |
|
|
137
159
|
| closable | `boolean` | `true` | 显示右上角 × |
|
|
138
160
|
| closeIcon | `ReactNode` | — | 自定义关闭图标 |
|
package/docs/llms/theme.md
CHANGED
|
@@ -272,7 +272,7 @@ applyTheme(document.documentElement, {
|
|
|
272
272
|
| tokens | `ThemeTokens` | — | 短键会写入组件前缀变量;以 -- 开头的键作为高级原始变量逃生口 |
|
|
273
273
|
| components | `ComponentThemeOverrides` | — | 继续定向配置当前组件内部或 subtree 后代的组件类型 |
|
|
274
274
|
| styles.root | `CSSProperties` | — | 所有组件都支持真实视觉根节点;调用方 style 仍保持最高优先级 |
|
|
275
|
-
| styles.popup / overlay / body | `CSSProperties` | — |
|
|
275
|
+
| styles.popup / overlay / header / body / footer | `CSSProperties` | — | 浮层、遮罩和 Modal 头部/正文/footer 等稳定静态插槽;定位与用户实例样式不会被覆盖 |
|
|
276
276
|
|
|
277
277
|
|
|
278
278
|
---
|
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.9.
|
|
6
|
+
- **版本**: `0.9.1`
|
|
7
7
|
- **React 最低版本**: 18
|
|
8
8
|
- **环境**: 带打包器的 React 工程(Vite / Next.js / Webpack / Remix / Electron + Vite 等)
|
|
9
9
|
- **零运行时依赖**: 只依赖 `react` / `react-dom` (peer deps)
|