sky-ui-kit 0.1.8 → 0.1.10
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 +6 -0
- package/components.json +314 -19
- package/dist/components/AppSelect.vue.d.ts +7 -0
- package/dist/components/DefenseMapLayout.vue.d.ts +11 -2
- package/dist/components/ManagementResourceLayout.vue.d.ts +19 -0
- package/dist/components/MapBottomProcessPanel.vue.d.ts +11 -0
- package/dist/components/MapPageLayout.vue.d.ts +21 -18
- package/dist/components/MapTimeline.vue.d.ts +9 -0
- package/dist/components/MapWorkspacePanel.vue.d.ts +11 -1
- package/dist/components/ModelWorkspacePanel.vue.d.ts +11 -1
- package/dist/components/ProcessDataTable.vue.d.ts +9 -1
- package/dist/components/ProjectMenu.vue.d.ts +11 -0
- package/dist/components/WorkbenchPanel.vue.d.ts +9 -0
- package/dist/components/index.d.ts +303 -67
- package/dist/components.js +2199 -2127
- package/dist/html/button.css +12 -0
- package/dist/html/input.css +39 -0
- package/dist/html/number.css +8 -0
- package/dist/html/number.js +31 -0
- package/dist/html/panel.css +12 -0
- package/dist/html/theme.css +218 -0
- package/dist/model-workspace.css +254 -17
- package/dist/style.css +257 -20
- package/dist/utils/dimensions.d.ts +5 -0
- package/docs/AI-CHANGELOG.md +77 -2
- package/docs/AI-GUIDE.md +47 -3
- package/docs/COMPONENT-API.md +124 -10
- package/docs/CSS-THEME.md +62 -0
- package/docs/HTML-FORM-CATALOG.md +225 -0
- package/docs/HTML-INTEGRATION.md +69 -0
- package/docs/INTEGRATION.md +42 -0
- package/docs/ON-DEMAND.md +8 -0
- package/examples/html/index.html +41 -0
- package/llms-full.txt +664 -16
- package/llms.txt +5 -1
- package/package.json +102 -93
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
2
|
+
export type DesignLength = number | string;
|
|
3
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength];
|
|
4
|
+
export declare function designLength(value: DesignLength): string;
|
|
5
|
+
export declare function designSpacing(value: DesignSpacing): string;
|
package/docs/AI-CHANGELOG.md
CHANGED
|
@@ -437,8 +437,83 @@ SVG 图库从主入口移到可选 icons 入口,SvgIcon 不再自动注册;
|
|
|
437
437
|
## 2026-10-30 · HTML / Vue 双接入文档
|
|
438
438
|
|
|
439
439
|
新增独立 model-workspace.css 发布出口,原生 HTML 用 CSS 和结构类,Vue 用主题组件与公共 CSS。补齐两套完整示例、主题切换、事件绑定和部署路径说明,未构建发布。
|
|
440
|
+
|
|
441
|
+
## 2026-11-02 · 0.1.8 发布准备
|
|
442
|
+
|
|
443
|
+
- 发布当前组件源码、按需入口及模型工作区主题;HTML 使用 model-workspace.css,Vue 使用组件与 style.css。清除旧消费项目锁记录。发布状态以 npm 注册表为准。
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
## 2026-11-03:可配置 VFit 尺寸(源码待发布)
|
|
448
|
+
|
|
449
|
+
数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
|
|
450
|
+
|
|
451
|
+
所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
|
|
452
|
+
|
|
453
|
+
| 组件 | 参数与默认值 |
|
|
454
|
+
| --- | --- |
|
|
455
|
+
| MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
|
|
456
|
+
| DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
|
|
457
|
+
| MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
|
|
458
|
+
| ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
|
|
459
|
+
| WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
|
|
460
|
+
| ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
|
|
461
|
+
| AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
|
|
462
|
+
| ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
|
|
463
|
+
| MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
|
|
464
|
+
| MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
|
|
465
|
+
| ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
|
|
466
|
+
|
|
467
|
+
ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
|
|
468
|
+
|
|
469
|
+
地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
|
|
470
|
+
|
|
471
|
+
示例:
|
|
472
|
+
```vue
|
|
473
|
+
<MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
|
|
474
|
+
业务内容
|
|
475
|
+
</MapWorkspacePanel>
|
|
476
|
+
<MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
|
|
477
|
+
```
|
|
478
|
+
预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
|
|
440
479
|
|
|
441
|
-
## 2026-11-
|
|
480
|
+
## 2026-11-03 · 0.1.9 发布准备
|
|
442
481
|
|
|
443
|
-
-
|
|
482
|
+
- 将当前布局、面板、尺寸适配与主题调整纳入新版,重新生成 AI 文档并检查组件包。发布结果以 npm 注册表为准。
|
|
444
483
|
|
|
484
|
+
|
|
485
|
+
## 2026-11-04:HTML 按需样式接入(未发布)
|
|
486
|
+
|
|
487
|
+
新增 theme/panel/button/input 四个 CSS 出口,完整 model-workspace.css 与拆分入口共享源码;网站新增隔离 HTML 示例。外观模式保留原 DOM/事件,不能当作 Vue 组件接入。结构、安装、状态、主题、浮层及 AGENTS.md 规则见 [HTML 接入](HTML-INTEGRATION.md)。仅生成文档和静态检查,未构建、发布或浏览器验证;历史“CSS 未拆分”对 Vue style.css 仍成立。
|
|
488
|
+
|
|
489
|
+
### 原生控件自动换肤调整(未发布)
|
|
490
|
+
|
|
491
|
+
新增 sky-html 容器入口,按需样式直接匹配原生 button/input/select/textarea;支持 data-sky-native="off" 本身及后代退出、Element Plus/地图内部控件排除,保留旧工作区 opt-in。主题默认低优先级,特殊按钮使用 data-variant,支持只读、禁用、错误及焦点状态;面板继续使用明确结构类,不覆盖所有 div。示例网站展示完整原生 HTML 状态及退出区域,详见 HTML-INTEGRATION.md。
|
|
492
|
+
|
|
493
|
+
### HTML 控件未换肤修复
|
|
494
|
+
|
|
495
|
+
此前 Element Plus 排除规则使用 class 包含 el-,误命中 sky-model-panel,导致整块面板内原生控件不应用样式。改为类名开头或空格后的 el- 前缀匹配,保留显式局部退出和第三方控件隔离。补充 DOM 选择器回归检查;未进行浏览器视觉验证。
|
|
496
|
+
|
|
497
|
+
### HTML / Vue 控件视觉统一(未发布)
|
|
498
|
+
|
|
499
|
+
HTML 控件直接复用 scoped-theme.css 的 userssite 主题变量,与 Vue 共用字体、默认 32px 高度、4px 圆角、主色/危险色及派生状态色;危险按钮为实底,禁用状态不再整体透明。补充复选框、单选框及 data-sky-error 错误文案。HTML 示例同步网站根主题变量。只验证源码和 DOM 选择器,未进行浏览器像素对比;原生 select 弹出菜单、日期选择器仍由浏览器提供。
|
|
500
|
+
|
|
501
|
+
## HTML 表单控件逐项验收模块
|
|
502
|
+
|
|
503
|
+
网站新增独立“HTML 表单控件”导航,22 项按编号定位,每项包含真实原生标签、可操作状态、可复制代码及当前页核对标记。目录与生成文档共享 src/html-form-catalog.ts,详见 HTML-FORM-CATALOG.md。滑块/颜色/上传仍为原生外观;复杂 Vue 组件没有等价原生标签,不宣称实现对应交互。仅做类型和文档检查,等待用户逐项核对。
|
|
504
|
+
|
|
505
|
+
### HTML 输入聚焦双框修复
|
|
506
|
+
|
|
507
|
+
文本输入、select、textarea 聚焦时取消外扩 outline 和额外阴影,仅将已有边框改为主题主色;错误状态聚焦/悬停继续保持危险色。复选框、单选框的键盘焦点提示不变。未进行浏览器验证。
|
|
508
|
+
|
|
509
|
+
### 原生数字、选择和上传控件完善(未发布)
|
|
510
|
+
|
|
511
|
+
多选 select 恢复列表高度,保留系统弹出菜单;file-selector-button 使用共享主题及禁用/聚焦状态。新增可选 html/number.js 与 number.css,enhanceNumbers 保留原 input、min/max/step 与事件,返回清理函数;step=any 禁用增减,动态新增节点需再次初始化。验收第 8/10/20 项同步更新。未构建或浏览器验证。
|
|
512
|
+
|
|
513
|
+
### HTML 原生多选列表外观调整
|
|
514
|
+
|
|
515
|
+
多选/size 列表设置可覆盖的 220px 宽度、选项留白和主题选中背景,补充悬停、选项禁用、整组禁用和高对比度规则;保留 size 与原生多选语义,不修改单选系统弹出菜单。第 10 项示例增加滚动及多选操作说明。未进行浏览器视觉验证。
|
|
516
|
+
|
|
517
|
+
## 0.1.10 发布内容
|
|
518
|
+
|
|
519
|
+
包含 HTML 按需主题/面板/按钮/输入样式、数字输入增强脚本、原生选择与上传样式、22 项表单验收目录及 AI 接入规则。发布前重新生成文档和构建,并检查包内出口。浏览器视觉验收及独立消费业务项目测试仍由用户继续完成。
|
package/docs/AI-GUIDE.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
# sky-ui-kit:AI 使用指南
|
|
2
|
+
|
|
3
|
+
## AI 接入入口:先选择使用方式
|
|
4
|
+
|
|
5
|
+
当用户要求安装、引入 sky-ui-kit 时,请先读取当前安装包的 llms.txt 和 [HTML / Vue 接入判断](docs/HTML-INTEGRATION.md),检查项目及真实 exports。只需外观时使用正式 HTML 样式接口(新版容器 sky-html 内原生控件自动换肤,data-sky-native="off" 局部退出);需要交互时使用真实 Vue 组件,HTML 项目可局部挂载。需求不明确时先询问,接入后合并项目 AGENTS.md 规则,不能把 npm install 或仅加载 CSS 报告为完整组件接入。
|
|
6
|
+
|
|
7
|
+
HTML 按需入口从 0.1.10 提供;0.1.9 使用完整 model-workspace.css。示例网站快速开始下方提供“HTML 按需样式接入”演示和完整可复制代码。
|
|
2
8
|
|
|
3
9
|
MapPageLayout 沿用参考项目 D:/Work/01-项目code/一体化平台/webv1/src/components/layout/TemplateLayout.vue 的 1/2/3/4/5/6 层级约定,并补齐底部时间轴和右侧面板。层级按区域统一管理:鼠标移入 left/top/toolbar/right/legend/timeline 时提升整个区域到 hover 层,优先于 focus-within;子展开面板随所属区域一起提升,移出后恢复。普通 content 限定在底层独立堆叠上下文,透明工具间隙穿透地图。图例和时间轴外层不再 overflow:auto 裁剪浮层;长内容滚动由内部业务组件负责。Teleport 到 body 的浮层仍由组件自身管理层级。预览“模拟模块遮挡”可核对重叠交互;完全被覆盖的部分不接收鼠标,应从模块可见区域移入。
|
|
4
10
|
|
|
@@ -231,6 +237,41 @@ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、
|
|
|
231
237
|
|
|
232
238
|
flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
|
|
233
239
|
|
|
240
|
+
## 2026-11-03:可配置 VFit 尺寸(源码待发布)
|
|
241
|
+
|
|
242
|
+
数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
|
|
243
|
+
|
|
244
|
+
所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
|
|
245
|
+
|
|
246
|
+
| 组件 | 参数与默认值 |
|
|
247
|
+
| --- | --- |
|
|
248
|
+
| MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
|
|
249
|
+
| DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
|
|
250
|
+
| MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
|
|
251
|
+
| ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
|
|
252
|
+
| WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
|
|
253
|
+
| ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
|
|
254
|
+
| AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
|
|
255
|
+
| ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
|
|
256
|
+
| MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
|
|
257
|
+
| MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
|
|
258
|
+
| ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
|
|
259
|
+
|
|
260
|
+
ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
|
|
261
|
+
|
|
262
|
+
地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
|
|
263
|
+
|
|
264
|
+
示例:
|
|
265
|
+
```vue
|
|
266
|
+
<MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
|
|
267
|
+
业务内容
|
|
268
|
+
</MapWorkspacePanel>
|
|
269
|
+
<MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
|
|
270
|
+
```
|
|
271
|
+
预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
|
|
272
|
+
|
|
273
|
+
HTML 表单逐项示例见 [验收目录](HTML-FORM-CATALOG.md),网站独立导航按编号核对;原生与 Vue 的边界见各项说明。
|
|
274
|
+
|
|
234
275
|
<!-- GENERATED EXAMPLES -->
|
|
235
276
|
|
|
236
277
|
### 快速开始:安装最新正式版本
|
|
@@ -974,26 +1015,29 @@ const items = [{ key: 'overview', label: '运行概览' }, { key: 'data', label:
|
|
|
974
1015
|
```vue
|
|
975
1016
|
<script setup lang="ts">
|
|
976
1017
|
import { ref } from 'vue'
|
|
977
|
-
import { MapPageLayout, DefenseMapLayout, UiButton, MapTools, WorkbenchPanel } from 'sky-ui-kit'
|
|
1018
|
+
import { MapPageLayout, DefenseMapLayout, UiButton, MapTools, WorkbenchPanel, MapWorkspacePanel } from 'sky-ui-kit'
|
|
978
1019
|
const rightOpen = ref(true)
|
|
979
1020
|
const showTimeline = ref(true)
|
|
980
1021
|
const overlap = ref(false)
|
|
1022
|
+
const compactDimensions = ref(false)
|
|
981
1023
|
</script>
|
|
982
1024
|
<template>
|
|
983
1025
|
<div class="layout-demo-controls">
|
|
1026
|
+
<UiButton @click="compactDimensions = !compactDimensions">{{ compactDimensions ? '切回默认尺寸' : '查看紧凑尺寸' }}</UiButton>
|
|
984
1027
|
<UiButton @click="rightOpen = !rightOpen">{{ rightOpen ? '收起右栏' : '展开右栏' }}</UiButton>
|
|
985
1028
|
<UiButton @click="showTimeline = !showTimeline">{{ showTimeline ? '隐藏时间轴' : '显示时间轴' }}</UiButton>
|
|
986
1029
|
<UiButton @click="overlap = !overlap">{{ overlap ? '恢复正常避让' : '模拟模块遮挡' }}</UiButton>
|
|
987
1030
|
</div>
|
|
988
1031
|
<div class="layout-demo-map" >
|
|
989
|
-
<MapPageLayout v-model:right-open="rightOpen" :timeline-right="overlap ? 'var(--map-layout-edge)' : ''">
|
|
1032
|
+
<MapPageLayout v-model:right-open="rightOpen" :gap="compactDimensions ? 6 : 12" :edge="compactDimensions ? 6 : 12" :right-panel-width="compactDimensions ? 280 : 328" :timeline-right="overlap ? 'var(--map-layout-edge)' : ''">
|
|
990
1033
|
<template #top><span>地图标题 / 查询区域</span></template>
|
|
991
1034
|
<template #toolbar><MapTools :items="[{ key: 'layers', label: '图层' }]" /><WorkbenchPanel v-if="overlap" class="layout-demo-expanded">右上展开面板<br>鼠标移入时整个工具区域置顶</WorkbenchPanel></template>
|
|
992
|
-
<template #right><
|
|
1035
|
+
<template #right><MapWorkspacePanel title="可配置面板" :header-padding="compactDimensions ? [8, 12] : 16" :body-padding="compactDimensions ? [8, 12] : 16" :gap="compactDimensions ? 8 : 16">数字为 VFit 设计尺寸;默认值无需重复传入。<template #footer>鼠标移入当前区域时置顶</template></MapWorkspacePanel></template>
|
|
993
1036
|
<template #legend><WorkbenchPanel :class="{ 'layout-demo-overlap-legend': overlap }">图例 · 鼠标移入置顶</WorkbenchPanel></template>
|
|
994
1037
|
<template v-if="showTimeline" #timeline><WorkbenchPanel class="layout-demo-timeline">时间轴 / 过程图区域 · 鼠标移入置顶</WorkbenchPanel></template>
|
|
995
1038
|
</MapPageLayout>
|
|
996
1039
|
</div>
|
|
1040
|
+
<p>尺寸参数:数字自动跟随 VFit,数组为上/右/下/左间距,CSS 字符串原样使用。例如 :body-padding="[8, 12]"、:gap="8"。</p>
|
|
997
1041
|
<h3>会商布局 · 顶部操作区 + 四个地图位置</h3>
|
|
998
1042
|
<p>以下仅展示区域,不创建地图。保持两列布局,尺寸沿用 VFit 缩放变量;四个地图位置均分剩余高度,不产生内部滚动条。</p>
|
|
999
1043
|
<div class="layout-demo-map" >
|
package/docs/COMPONENT-API.md
CHANGED
|
@@ -27,6 +27,9 @@ Slots: No declared content slots.
|
|
|
27
27
|
|
|
28
28
|
| Name | Type | Required | Default expression |
|
|
29
29
|
|---|---|---|---|
|
|
30
|
+
| width | DesignLength | false | '100%' |
|
|
31
|
+
| controlHeight | DesignLength | false | '' |
|
|
32
|
+
| controlPadding | DesignSpacing | false | () => [0, 10] |
|
|
30
33
|
| modelValue | AppSelectValue | false | undefined |
|
|
31
34
|
| options | AppSelectOption[] | false | () => [] |
|
|
32
35
|
| emptyLabel | string | false | '暂无可选项' |
|
|
@@ -41,6 +44,10 @@ Slots: No declared content slots.
|
|
|
41
44
|
Slots: No declared content slots.
|
|
42
45
|
|
|
43
46
|
```ts
|
|
47
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
48
|
+
export type DesignLength = number | string
|
|
49
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
50
|
+
|
|
44
51
|
export type AppSelectValue = string | number | boolean | Record<string, unknown> | AppSelectValue[] | null | undefined
|
|
45
52
|
export type AppSelectOption = {
|
|
46
53
|
label: string
|
|
@@ -55,6 +62,10 @@ export type AppSelectOption = {
|
|
|
55
62
|
|
|
56
63
|
| Name | Type | Required | Default expression |
|
|
57
64
|
|---|---|---|---|
|
|
65
|
+
| padding | DesignSpacing | false | () => [10, 12] |
|
|
66
|
+
| gap | DesignLength | false | 9 |
|
|
67
|
+
| trackHeight | DesignLength | false | 88 |
|
|
68
|
+
| controlHeight | DesignLength | false | 30 |
|
|
58
69
|
| modelValue | number | false | 0 |
|
|
59
70
|
| startTime | TimelineTimeInput | false | () => new Date() |
|
|
60
71
|
| points | TimelinePoint[] | false | () => [] |
|
|
@@ -89,6 +100,10 @@ export type AppSelectOption = {
|
|
|
89
100
|
Slots: date-select
|
|
90
101
|
|
|
91
102
|
```ts
|
|
103
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
104
|
+
export type DesignLength = number | string
|
|
105
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
106
|
+
|
|
92
107
|
type IntervalUnit = 'minute' | 'hour' | 'day' | 'month' | 'year'
|
|
93
108
|
type TimelineKind = 'observed' | 'forecast'
|
|
94
109
|
type TimelineTimeInput = string | number | Date
|
|
@@ -178,6 +193,11 @@ export type TimeRangeQuickOption = {
|
|
|
178
193
|
|
|
179
194
|
| Name | Type | Required | Default expression |
|
|
180
195
|
|---|---|---|---|
|
|
196
|
+
| width | DesignLength | false | '' |
|
|
197
|
+
| itemHeight | DesignLength | false | '' |
|
|
198
|
+
| itemPadding | DesignSpacing | false | '' |
|
|
199
|
+
| padding | DesignSpacing | false | '' |
|
|
200
|
+
| gap | DesignLength | false | 2 |
|
|
181
201
|
| direction | 'horizontal' | 'vertical' | false | 'horizontal' |
|
|
182
202
|
| active | string | false | '' |
|
|
183
203
|
| items | ProjectMenuItem[] | false | () => [] |
|
|
@@ -191,6 +211,10 @@ export type TimeRangeQuickOption = {
|
|
|
191
211
|
Slots: No declared content slots.
|
|
192
212
|
|
|
193
213
|
```ts
|
|
214
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
215
|
+
export type DesignLength = number | string
|
|
216
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
217
|
+
|
|
194
218
|
export interface ProjectMenuItem { key: string; label: string; disabled?: boolean; icon?: Component; children?: ProjectMenuItem[] }
|
|
195
219
|
export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
|
|
196
220
|
```
|
|
@@ -298,6 +322,9 @@ Slots: No declared content slots.
|
|
|
298
322
|
| times | string[] | true | undefined / no declared default |
|
|
299
323
|
| series | { name: string; data: (number | null)[] }[] | true | undefined / no declared default |
|
|
300
324
|
| loading | boolean | false | undefined / no declared default |
|
|
325
|
+
| cellPadding | DesignSpacing | false | () => [6, 10] |
|
|
326
|
+
| paginationGap | DesignLength | false | 12 |
|
|
327
|
+
| paginationPadding | DesignSpacing | false | 5 |
|
|
301
328
|
|
|
302
329
|
### Events
|
|
303
330
|
|
|
@@ -305,6 +332,13 @@ No declared events.
|
|
|
305
332
|
|
|
306
333
|
Slots: No declared content slots.
|
|
307
334
|
|
|
335
|
+
```ts
|
|
336
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
337
|
+
export type DesignLength = number | string
|
|
338
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
|
|
308
342
|
## WorkbenchShell
|
|
309
343
|
|
|
310
344
|
### Props
|
|
@@ -332,6 +366,10 @@ Slots: header, sidebar-footer, workspace, default
|
|
|
332
366
|
|---|---|---|---|
|
|
333
367
|
| as | 'section' | 'aside' | 'div' | false | 'section' |
|
|
334
368
|
| floating | boolean | false | true |
|
|
369
|
+
| width | DesignLength | false | 'auto' |
|
|
370
|
+
| height | DesignLength | false | 'auto' |
|
|
371
|
+
| padding | DesignSpacing | false | 0 |
|
|
372
|
+
| gap | DesignLength | false | 0 |
|
|
335
373
|
|
|
336
374
|
### Events
|
|
337
375
|
|
|
@@ -339,6 +377,13 @@ No declared events.
|
|
|
339
377
|
|
|
340
378
|
Slots: default
|
|
341
379
|
|
|
380
|
+
```ts
|
|
381
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
382
|
+
export type DesignLength = number | string
|
|
383
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
|
|
342
387
|
## MetricCard
|
|
343
388
|
|
|
344
389
|
### Props
|
|
@@ -443,17 +488,18 @@ Slots: left, top, toolbar, right, legend, timeline, content, default
|
|
|
443
488
|
|
|
444
489
|
| Name | Type | Required | Default expression |
|
|
445
490
|
|---|---|---|---|
|
|
491
|
+
| gap | DesignLength | false | 12 |
|
|
446
492
|
| rightOpen | boolean | false | false |
|
|
447
493
|
| rightPanelEnabled | boolean | false | true |
|
|
448
|
-
| rightPanelWidth |
|
|
449
|
-
| leftPanelWidth |
|
|
450
|
-
| edge |
|
|
451
|
-
| topOffset |
|
|
452
|
-
| bottomOffset |
|
|
453
|
-
| toolbarTop |
|
|
454
|
-
| timelineLeft |
|
|
455
|
-
| timelineRight |
|
|
456
|
-
| timelineBottom |
|
|
494
|
+
| rightPanelWidth | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 328)' |
|
|
495
|
+
| leftPanelWidth | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 320)' |
|
|
496
|
+
| edge | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 12)' |
|
|
497
|
+
| topOffset | DesignLength | false | '' |
|
|
498
|
+
| bottomOffset | DesignLength | false | '' |
|
|
499
|
+
| toolbarTop | DesignLength | false | '' |
|
|
500
|
+
| timelineLeft | DesignLength | false | '' |
|
|
501
|
+
| timelineRight | DesignLength | false | '' |
|
|
502
|
+
| timelineBottom | DesignLength | false | '' |
|
|
457
503
|
|
|
458
504
|
### Events
|
|
459
505
|
|
|
@@ -462,6 +508,13 @@ Slots: left, top, toolbar, right, legend, timeline, content, default
|
|
|
462
508
|
|
|
463
509
|
Slots: left, top, toolbar, right, legend, timeline, content, default
|
|
464
510
|
|
|
511
|
+
```ts
|
|
512
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
513
|
+
export type DesignLength = number | string
|
|
514
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
515
|
+
|
|
516
|
+
```
|
|
517
|
+
|
|
465
518
|
## RainfallRankingTable
|
|
466
519
|
|
|
467
520
|
### Props
|
|
@@ -800,6 +853,15 @@ Slots: message, primary, default, footer
|
|
|
800
853
|
| title | string | false | undefined / no declared default |
|
|
801
854
|
| description | string | false | undefined / no declared default |
|
|
802
855
|
| showIntro | boolean | false | true |
|
|
856
|
+
| gap | DesignLength | false | 20 |
|
|
857
|
+
| padding | DesignSpacing | false | () => [0, 24, 20] |
|
|
858
|
+
| introPadding | DesignSpacing | false | 24 |
|
|
859
|
+
| filterGap | DesignLength | false | 20 |
|
|
860
|
+
| filterPadding | DesignSpacing | false | () => [20, 24] |
|
|
861
|
+
| inputWidth | DesignLength | false | 260 |
|
|
862
|
+
| selectWidth | DesignLength | false | 160 |
|
|
863
|
+
| cascaderWidth | DesignLength | false | 280 |
|
|
864
|
+
| responsive | boolean | false | false |
|
|
803
865
|
|
|
804
866
|
### Events
|
|
805
867
|
|
|
@@ -807,6 +869,13 @@ No declared events.
|
|
|
807
869
|
|
|
808
870
|
Slots: summary, filters, heading, actions, default
|
|
809
871
|
|
|
872
|
+
```ts
|
|
873
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
874
|
+
export type DesignLength = number | string
|
|
875
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
876
|
+
|
|
877
|
+
```
|
|
878
|
+
|
|
810
879
|
## GlobalMapLayerDock
|
|
811
880
|
|
|
812
881
|
### Props
|
|
@@ -872,6 +941,11 @@ Slots: footer
|
|
|
872
941
|
|
|
873
942
|
| Name | Type | Required | Default expression |
|
|
874
943
|
|---|---|---|---|
|
|
944
|
+
| height | DesignLength | false | 320 |
|
|
945
|
+
| maxHeight | DesignLength | false | '42dvh' |
|
|
946
|
+
| headerPadding | DesignSpacing | false | ()=>[10,16] |
|
|
947
|
+
| metaPadding | DesignSpacing | false | ()=>[8,16,0] |
|
|
948
|
+
| gap | DesignLength | false | 12 |
|
|
875
949
|
| title | string | true | undefined / no declared default |
|
|
876
950
|
| subtitle | string | false | '' |
|
|
877
951
|
| demo | boolean | false | false |
|
|
@@ -887,6 +961,13 @@ Slots: footer
|
|
|
887
961
|
|
|
888
962
|
Slots: No declared content slots.
|
|
889
963
|
|
|
964
|
+
```ts
|
|
965
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
966
|
+
export type DesignLength = number | string
|
|
967
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
968
|
+
|
|
969
|
+
```
|
|
970
|
+
|
|
890
971
|
## MapWorkspacePanel
|
|
891
972
|
|
|
892
973
|
### Props
|
|
@@ -895,6 +976,10 @@ Slots: No declared content slots.
|
|
|
895
976
|
|---|---|---|---|
|
|
896
977
|
| title | string | true | undefined / no declared default |
|
|
897
978
|
| subtitle | string | false | undefined / no declared default |
|
|
979
|
+
| headerPadding | DesignSpacing | false | 16 |
|
|
980
|
+
| bodyPadding | DesignSpacing | false | 16 |
|
|
981
|
+
| footerPadding | DesignSpacing | false | () => [12, 16] |
|
|
982
|
+
| gap | DesignLength | false | 16 |
|
|
898
983
|
|
|
899
984
|
### Events
|
|
900
985
|
|
|
@@ -902,6 +987,13 @@ No declared events.
|
|
|
902
987
|
|
|
903
988
|
Slots: actions, default, footer
|
|
904
989
|
|
|
990
|
+
```ts
|
|
991
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
992
|
+
export type DesignLength = number | string
|
|
993
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
994
|
+
|
|
995
|
+
```
|
|
996
|
+
|
|
905
997
|
## NationalHydroSidebar
|
|
906
998
|
|
|
907
999
|
### Props
|
|
@@ -971,7 +1063,11 @@ Slots: No declared content slots.
|
|
|
971
1063
|
|---|---|---|---|
|
|
972
1064
|
| structured | boolean | false | false |
|
|
973
1065
|
| columns | 1 | 2 | false | 2 |
|
|
974
|
-
|
|
|
1066
|
+
| gap | DesignLength | false | 4 |
|
|
1067
|
+
| padding | DesignSpacing | false | 4 |
|
|
1068
|
+
| toolbarGap | DesignLength | false | 12 |
|
|
1069
|
+
| toolbarPadding | DesignSpacing | false | 12 |
|
|
1070
|
+
| topOffset | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 64)' |
|
|
975
1071
|
|
|
976
1072
|
### Events
|
|
977
1073
|
|
|
@@ -979,6 +1075,13 @@ No declared events.
|
|
|
979
1075
|
|
|
980
1076
|
Slots: toolbar, default
|
|
981
1077
|
|
|
1078
|
+
```ts
|
|
1079
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
1080
|
+
export type DesignLength = number | string
|
|
1081
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
1082
|
+
|
|
1083
|
+
```
|
|
1084
|
+
|
|
982
1085
|
## ModelWorkspace
|
|
983
1086
|
|
|
984
1087
|
### Props
|
|
@@ -1016,6 +1119,10 @@ Slots: title, actions
|
|
|
1016
1119
|
| Name | Type | Required | Default expression |
|
|
1017
1120
|
|---|---|---|---|
|
|
1018
1121
|
| title | string | false | undefined / no declared default |
|
|
1122
|
+
| headerPadding | DesignSpacing | false | () => [12, 16] |
|
|
1123
|
+
| bodyPadding | DesignSpacing | false | 16 |
|
|
1124
|
+
| footerPadding | DesignSpacing | false | () => [12, 16] |
|
|
1125
|
+
| gap | DesignLength | false | 12 |
|
|
1019
1126
|
|
|
1020
1127
|
### Events
|
|
1021
1128
|
|
|
@@ -1023,6 +1130,13 @@ No declared events.
|
|
|
1023
1130
|
|
|
1024
1131
|
Slots: header, actions, default, footer
|
|
1025
1132
|
|
|
1133
|
+
```ts
|
|
1134
|
+
/** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
|
|
1135
|
+
export type DesignLength = number | string
|
|
1136
|
+
export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
|
|
1137
|
+
|
|
1138
|
+
```
|
|
1139
|
+
|
|
1026
1140
|
## UiAffix
|
|
1027
1141
|
|
|
1028
1142
|
固钉 · 导航组件. Original: ElAffix. Import from: sky-ui-kit. [API](https://element-plus.org/zh-CN/component/affix.html). See dist/components/element-plus.d.ts.
|
package/docs/CSS-THEME.md
CHANGED
|
@@ -248,3 +248,65 @@ import { DefenseMapLayout, UiButton } from 'sky-ui-kit'
|
|
|
248
248
|
|
|
249
249
|
|
|
250
250
|
独立 model-workspace.css 面向原生 HTML,无 Vue/Element Plus 样式依赖;与 style.css 的模型主题来自同一源文件,Vue 无需重复导入。
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
## 2026-11-03:可配置 VFit 尺寸(源码待发布)
|
|
254
|
+
|
|
255
|
+
数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
|
|
256
|
+
|
|
257
|
+
所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
|
|
258
|
+
|
|
259
|
+
| 组件 | 参数与默认值 |
|
|
260
|
+
| --- | --- |
|
|
261
|
+
| MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
|
|
262
|
+
| DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
|
|
263
|
+
| MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
|
|
264
|
+
| ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
|
|
265
|
+
| WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
|
|
266
|
+
| ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
|
|
267
|
+
| AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
|
|
268
|
+
| ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
|
|
269
|
+
| MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
|
|
270
|
+
| MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
|
|
271
|
+
| ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
|
|
272
|
+
|
|
273
|
+
ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
|
|
274
|
+
|
|
275
|
+
地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
|
|
276
|
+
|
|
277
|
+
示例:
|
|
278
|
+
```vue
|
|
279
|
+
<MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
|
|
280
|
+
业务内容
|
|
281
|
+
</MapWorkspacePanel>
|
|
282
|
+
<MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
|
|
283
|
+
```
|
|
284
|
+
预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
|
|
285
|
+
|
|
286
|
+
## 2026-11-04:HTML 按需样式接入(未发布)
|
|
287
|
+
|
|
288
|
+
新增 theme/panel/button/input 四个 CSS 出口,完整 model-workspace.css 与拆分入口共享源码;网站新增隔离 HTML 示例。外观模式保留原 DOM/事件,不能当作 Vue 组件接入。结构、安装、状态、主题、浮层及 AGENTS.md 规则见 [HTML 接入](HTML-INTEGRATION.md)。仅生成文档和静态检查,未构建、发布或浏览器验证;历史“CSS 未拆分”对 Vue style.css 仍成立。
|
|
289
|
+
|
|
290
|
+
### 原生控件自动换肤调整(未发布)
|
|
291
|
+
|
|
292
|
+
新增 sky-html 容器入口,按需样式直接匹配原生 button/input/select/textarea;支持 data-sky-native="off" 本身及后代退出、Element Plus/地图内部控件排除,保留旧工作区 opt-in。主题默认低优先级,特殊按钮使用 data-variant,支持只读、禁用、错误及焦点状态;面板继续使用明确结构类,不覆盖所有 div。示例网站展示完整原生 HTML 状态及退出区域,详见 HTML-INTEGRATION.md。
|
|
293
|
+
|
|
294
|
+
### HTML 控件未换肤修复
|
|
295
|
+
|
|
296
|
+
此前 Element Plus 排除规则使用 class 包含 el-,误命中 sky-model-panel,导致整块面板内原生控件不应用样式。改为类名开头或空格后的 el- 前缀匹配,保留显式局部退出和第三方控件隔离。补充 DOM 选择器回归检查;未进行浏览器视觉验证。
|
|
297
|
+
|
|
298
|
+
### HTML / Vue 控件视觉统一(未发布)
|
|
299
|
+
|
|
300
|
+
HTML 控件直接复用 scoped-theme.css 的 userssite 主题变量,与 Vue 共用字体、默认 32px 高度、4px 圆角、主色/危险色及派生状态色;危险按钮为实底,禁用状态不再整体透明。补充复选框、单选框及 data-sky-error 错误文案。HTML 示例同步网站根主题变量。只验证源码和 DOM 选择器,未进行浏览器像素对比;原生 select 弹出菜单、日期选择器仍由浏览器提供。
|
|
301
|
+
|
|
302
|
+
### HTML 输入聚焦双框修复
|
|
303
|
+
|
|
304
|
+
文本输入、select、textarea 聚焦时取消外扩 outline 和额外阴影,仅将已有边框改为主题主色;错误状态聚焦/悬停继续保持危险色。复选框、单选框的键盘焦点提示不变。未进行浏览器验证。
|
|
305
|
+
|
|
306
|
+
### 原生数字、选择和上传控件完善(未发布)
|
|
307
|
+
|
|
308
|
+
多选 select 恢复列表高度,保留系统弹出菜单;file-selector-button 使用共享主题及禁用/聚焦状态。新增可选 html/number.js 与 number.css,enhanceNumbers 保留原 input、min/max/step 与事件,返回清理函数;step=any 禁用增减,动态新增节点需再次初始化。验收第 8/10/20 项同步更新。未构建或浏览器验证。
|
|
309
|
+
|
|
310
|
+
### HTML 原生多选列表外观调整
|
|
311
|
+
|
|
312
|
+
多选/size 列表设置可覆盖的 220px 宽度、选项留白和主题选中背景,补充悬停、选项禁用、整组禁用和高对比度规则;保留 size 与原生多选语义,不修改单选系统弹出菜单。第 10 项示例增加滚动及多选操作说明。未进行浏览器视觉验证。
|