sky-ui-kit 0.1.2 → 0.1.4

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/llms-full.txt CHANGED
@@ -1,9 +1,10 @@
1
1
  # sky-ui-kit
2
2
 
3
- > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.2. AI tools must explicitly load these files.
3
+ > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.4. AI tools must explicitly load these files.
4
4
 
5
5
  ## Documentation
6
6
 
7
+ - [Consumers](docs/CONSUMERS.md): shared project convention and local integration.
7
8
  - [AI guide](docs/AI-GUIDE.md): setup, examples, icon/event bindings and limits.
8
9
  - [Component API](docs/COMPONENT-API.md): props, defaults, events, slots and types.
9
10
  - [AI module changes](docs/AI-CHANGELOG.md): module updates and integration impact.
@@ -26,6 +27,8 @@ Import element-plus/dist/index.css then sky-ui-kit/style.css once in main.ts. Im
26
27
 
27
28
  适用于 Vue 3 + TypeScript。此文件描述包的真实 API 和约束,不是自动执行的代理指令。AI 工具需要主动读取这些文档;安装包不会自动改变其上下文。
28
29
 
30
+ 管理布局:WorkbenchShell 使用 collapsed=false 和 management-layout 类,顶部 app-header、management-sidebar 和 workspace 组成后台布局。management-metrics / management-card 为共享信息展示样式;由消费方提供账号、菜单及数据,组件库不提供认证。新增样式在 0.1.3-dev.12 测试包中,尚未发布 npm。
31
+
29
32
  预览站已移除“统一组件入口 / 组件入口与兼容”菜单与展示示例。安装和导入方式查看快速开始,组件效果查看各组件页面;此调整不改变组件包出口或 API。
30
33
 
31
34
  项目选择与时间展示为 AppSelect、TreeSelectPanel、TimeRangeQuickSelect、MapTimeline 分别提供查看代码与复制入口;各自代码从 src/examples.ts 同步生成,使用 sky-ui-kit 公开封装组件,包含状态与 change 事件处理。
@@ -149,6 +152,81 @@ SvgIcon 保留 name、size、title、decorative,新增 color 和 prefix。默
149
152
 
150
153
  维护 SVG 快照:node scripts/sync-project-icons.mjs "原项目/src/assets/icons",仅只读读取参考项目;生成后核对重复名称与配色并运行 npm run docs:ai。
151
154
 
155
+
156
+ ## 一体机工作台组件
157
+
158
+ WorkbenchShell 提供隔离的工作台布局;WorkbenchPanel 提供面板结构;MetricCard 提供指标展示。ProcessChart 接收 rows、kind、unit 以及应用注入的 engine(init/setOption/resize/dispose),不内置业务 API。MapTools 的可选 items 提供 key/label/icon,不传时保持默认工具。消费约定见 docs/CONSUMERS.md。
159
+
160
+
161
+ ```vue
162
+ <script setup>
163
+ import { WorkbenchShell, WorkbenchPanel, MetricCard, ProcessChart } from "sky-ui-kit"
164
+ // engine 由应用创建;rows 由业务查询提供。
165
+ defineProps(["engine", "rows"])
166
+ </script>
167
+ <template>
168
+ <WorkbenchShell>
169
+ <WorkbenchPanel :floating="false"><MetricCard label="接入站点" :value="3060" unit="个" /></WorkbenchPanel>
170
+ <WorkbenchPanel><ProcessChart :engine="engine" :rows="rows" kind="rain" unit="mm" /></WorkbenchPanel>
171
+ </WorkbenchShell>
172
+ </template>
173
+ ```
174
+
175
+
176
+ ## 2026-10-13:顶部菜单修复(0.1.3-dev.1)
177
+
178
+ 删除工作台残留的 primary-nav 样式,选中效果由 ProjectMenu 统一负责。顶部菜单按内容宽度居中,不再拉满或撑满头部高度;横向菜单不换行,仅允许横向滚动并隐藏滚动条,保留滚轮、触摸和键盘操作。应用升级本地开发包,未发布 npm。
179
+
180
+
181
+ ## 2026-10-13:左侧胶囊布局(0.1.3-dev.2)
182
+
183
+ 工作台左侧采用留白悬浮圆角侧栏,内部菜单使用胶囊圆角,移除选中项侧边竖线和嵌套菜单外框。数据范围卡片统一圆角。样式限定 sky-workbench,不改变独立 ProjectMenu。更新本地消费包,未发布 npm。
184
+
185
+
186
+ ## 2026-10-13:地图布局(0.1.3-dev.3)
187
+
188
+ 一体机应用彻底移除左侧工作台、数据范围及侧栏开关,导航由顶部菜单提供。WorkbenchShell collapsed=true 使用单列布局,地图占满导航下方;指标、列表、工具和过程图保持悬浮。修复 collapsed 根节点选择器,取消地图定位的侧栏留白。该布局替代此前胶囊侧栏方案。
189
+
190
+
191
+ ## 地图左侧胶囊导航(0.1.3-dev.4)
192
+
193
+ 移除顶部横向菜单,使用 ProjectMenu 在地图左侧悬浮展示五个胶囊入口;不占侧栏列、不恢复数据范围与终端信息。工作台提供 map-capsule-menu 样式变体。
194
+
195
+
196
+ ## 透明地图顶部栏(0.1.3-dev.5)
197
+
198
+ 地图布局下头部绝对定位悬浮,无背景、边框或阴影;地图延伸至页面顶部。业务标题、指标、列表保留顶部避让。独立带侧栏布局不受影响。
199
+
200
+
201
+ ## 地图排版统一(0.1.3-dev.6)
202
+
203
+ 左侧标题与胶囊导航对齐,去除重复面包屑及介绍;四项指标合为紧凑统计栏。右侧与过程面板使用实底、统一圆角和留白,图例固定左下。过程图初始隐藏,查询站点或预报后打开。
204
+
205
+
206
+ ## 顶部可读性与地图穿透(0.1.3-dev.7)
207
+
208
+ 品牌和操作按钮分组使用实底胶囊,顶部整条容器 pointer-events:none,仅品牌及操作区恢复 auto。空白处拖拽、滚轮交给地图;去掉冗余本地应用文字和分隔线。
209
+
210
+
211
+ ## 使用正式地图胶囊菜单(0.1.3-dev.8)
212
+
213
+ 一体机左侧改用已有 MapSideMenu,保留搜索、图标模式、分组折叠及选中样式。替代此前 ProjectMenu 的自定义胶囊变体。工作台只提供定位,不另写菜单皮肤。
214
+
215
+
216
+ ## 一级地图胶囊菜单(0.1.3-dev.9)
217
+
218
+ MapSideMenu 新增 flat:boolean,默认 false 保持分组模式。flat=true 隐藏父节点,将各项显示为一级胶囊,去除缩进及连线。一体机使用 flat=true 展示五个主菜单。
219
+
220
+
221
+ ## 图层控制封装(0.1.3-dev.10)
222
+
223
+ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、注记、树分组、搜索、显隐、拖拽排序、透明度、定位与可移除图层事件。数据及地图操作由消费方提供,未绑定平台 Pinia 或假服务。
224
+
225
+
226
+ ## 地图胶囊选中修复(0.1.3-dev.11)
227
+
228
+ flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
229
+
152
230
  <!-- GENERATED EXAMPLES -->
153
231
 
154
232
  ### 快速开始:安装最新正式版本
@@ -892,34 +970,20 @@ const items = [{ key: 'overview', label: '运行概览' }, { key: 'data', label:
892
970
  ```vue
893
971
  <script setup lang="ts">
894
972
  import { ref } from 'vue'
895
- import { UiButton } from 'sky-ui-kit'
973
+ import { TemplateLayout, UiButton, MapTools, WorkbenchPanel } from 'sky-ui-kit'
896
974
  const rightOpen = ref(true)
897
- const timelineVisible = ref(true)
898
975
  </script>
899
976
  <template>
900
- <div class="template-demo" :class="{ 'right-open': rightOpen }">
901
- <div class="map-placeholder">地图宿主(由 MainLayoutMap 提供)</div>
902
- <div class="top-region">top · 标题 / 查询条件</div>
903
- <div class="toolbar-region"><span>toolbar · 地图工具</span><UiButton size="small" @click="rightOpen = !rightOpen">{{ rightOpen ? '收起右栏' : '展开右栏' }}</UiButton><UiButton size="small" @click="timelineVisible = !timelineVisible">切换时间轴</UiButton></div>
904
- <aside v-if="rightOpen" class="right-region">right · 业务面板<br>测站详情 / 过程数据</aside>
905
- <div class="content-region">content · 业务浮层</div>
906
- <div class="legend-region" :class="{ 'above-timeline': timelineVisible }">legend · 图例</div>
907
- <div v-if="timelineVisible" class="timeline-region">timeline · 实况 / 预报时间轴</div>
977
+ <div style="position: relative; height: 460px">
978
+ <TemplateLayout :right-open="rightOpen">
979
+ <template #top><UiButton @click="rightOpen = !rightOpen">{{ rightOpen ? '收起右栏' : '展开右栏' }}</UiButton></template>
980
+ <template #toolbar><MapTools :items="[{ key: 'layers', label: '图层' }]" /></template>
981
+ <template #right><WorkbenchPanel style="height: 100%">right · 业务面板</WorkbenchPanel></template>
982
+ <template #legend>legend · 图例</template>
983
+ <template #timeline>timeline · 时间轴</template>
984
+ </TemplateLayout>
908
985
  </div>
909
986
  </template>
910
- <style scoped>
911
- .template-demo { position: relative; height: 360px; overflow: hidden; border: 2px solid var(--color-border, #c5d2e5); border-radius: 8px; --demo-panel-width: min(220px, 30%); --demo-right-offset: 12px; }
912
- .right-open { --demo-right-offset: calc(var(--demo-panel-width) + 24px); }
913
- .map-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: var(--color-muted, #748096); background-color: var(--color-surface, #f4f7fb); background-image: linear-gradient(var(--color-border, #dbe3ef) 1px, transparent 1px), linear-gradient(90deg, var(--color-border, #dbe3ef) 1px, transparent 1px); background-size: 32px 32px; }
914
- .top-region, .toolbar-region, .right-region, .content-region, .legend-region, .timeline-region { position: absolute; padding: 12px; box-sizing: border-box; border: 1px solid var(--color-primary, #1677ff); border-radius: 6px; background: var(--color-panel, white); color: var(--color-text, #1f2937); }
915
- .top-region { top: 12px; left: 12px; }
916
- .toolbar-region { top: 64px; right: var(--demo-right-offset); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; max-width: 65%; }
917
- .right-region { top: 12px; right: 12px; bottom: 12px; width: var(--demo-panel-width); }
918
- .content-region { top: 124px; left: 12px; }
919
- .legend-region { bottom: 12px; right: var(--demo-right-offset); }
920
- .legend-region.above-timeline { bottom: 76px; }
921
- .timeline-region { bottom: 12px; left: 12px; right: var(--demo-right-offset); text-align: center; }
922
- </style>
923
987
 
924
988
  ```
925
989
 
@@ -2872,6 +2936,34 @@ const popoverRef = ref()
2872
2936
 
2873
2937
  ```
2874
2938
 
2939
+ ### 地图菜单多选示例
2940
+
2941
+ ```vue
2942
+ <script setup lang="ts">
2943
+ import { ref } from 'vue'
2944
+ import { Pouring, List, Sunny } from '@element-plus/icons-vue'
2945
+ import { MapSideMenu, UiButton } from 'sky-ui-kit'
2946
+ const activeKeys = ref(['rain', 'water'])
2947
+ const compactKeys = ref(['rain', 'temperature'])
2948
+ const message = ref('可同时选择多个监测要素,再次点击取消')
2949
+ const items = [{ key: 'rain', label: '降水', icon: Pouring }, { key: 'water', label: '水位', icon: List }, { key: 'temperature', label: '气温', icon: Sunny }]
2950
+ </script>
2951
+ <template>
2952
+ <h3>地图胶囊菜单 · 多选</h3>
2953
+ <div class="multi-menu"><MapSideMenu multiple v-model:active-keys="activeKeys" :items="items" @change="message = '已选:' + $event.join('、')" /></div>
2954
+ <p>当前选择:{{ activeKeys.join('、') || '无' }}</p>
2955
+ <UiButton @click="activeKeys = []">清空选择</UiButton>
2956
+ <h3>纯图标 · 多选</h3>
2957
+ <div class="multi-menu"><MapSideMenu multiple compact v-model:active-keys="compactKeys" :items="items" /></div>
2958
+ <p>图标选择:{{ compactKeys.join('、') || '无' }}</p>
2959
+ <p role="status">{{ message }}</p>
2960
+ </template>
2961
+ <style scoped>
2962
+ .multi-menu { height: 260px; border: 1px solid var(--color-border, #dbe3ef); border-radius: 8px; background: var(--surface-subtle, #eef5ff); }
2963
+ </style>
2964
+
2965
+ ```
2966
+
2875
2967
  # 团队 AI 模块变更记录
2876
2968
 
2877
2969
  本文件记录源码模块调整与接入影响,不作为 npm 发布完成的依据。团队使用安装包时以包内文档及 package.json 版本为准;使用当前源码时读取仓库中的同名文档。
@@ -3010,6 +3102,84 @@ const popoverRef = ref()
3010
3102
  - UiIcon 页面补充 Element Plus 全量图标、业务 SVG 分类搜索、名称复制、尺寸颜色、按钮状态和菜单绑定示例;项目特色组件新增 SVG 入口。
3011
3103
  - 同步生成 API、AI 示例、主题及原项目反向接入说明。未构建、发布或提交,原业务项目未修改。
3012
3104
 
3105
+
3106
+ ## 2026-10-13:一体机本地开发接入
3107
+
3108
+ 新增四个工作台组件和 MapTools.items。工作台 CSS 在 .sky-workbench 下隔离,使用库主题变量;应用消费本地 0.1.3-dev.0,未发布。详情见 [消费项目记录](CONSUMERS.md)。
3109
+
3110
+ ## 2026-10-13:顶部菜单修复(0.1.3-dev.1)
3111
+
3112
+ 删除工作台残留的 primary-nav 样式,选中效果由 ProjectMenu 统一负责。顶部菜单按内容宽度居中,不再拉满或撑满头部高度;横向菜单不换行,仅允许横向滚动并隐藏滚动条,保留滚轮、触摸和键盘操作。应用升级本地开发包,未发布 npm。
3113
+
3114
+ ## 2026-10-13:左侧胶囊布局(0.1.3-dev.2)
3115
+
3116
+ 工作台左侧采用留白悬浮圆角侧栏,内部菜单使用胶囊圆角,移除选中项侧边竖线和嵌套菜单外框。数据范围卡片统一圆角。样式限定 sky-workbench,不改变独立 ProjectMenu。更新本地消费包,未发布 npm。
3117
+
3118
+ ## 2026-10-13:地图布局(0.1.3-dev.3)
3119
+
3120
+ 一体机应用彻底移除左侧工作台、数据范围及侧栏开关,导航由顶部菜单提供。WorkbenchShell collapsed=true 使用单列布局,地图占满导航下方;指标、列表、工具和过程图保持悬浮。修复 collapsed 根节点选择器,取消地图定位的侧栏留白。该布局替代此前胶囊侧栏方案。
3121
+
3122
+ ## 地图左侧胶囊导航(0.1.3-dev.4)
3123
+
3124
+ 移除顶部横向菜单,使用 ProjectMenu 在地图左侧悬浮展示五个胶囊入口;不占侧栏列、不恢复数据范围与终端信息。工作台提供 map-capsule-menu 样式变体。
3125
+
3126
+ ## 透明地图顶部栏(0.1.3-dev.5)
3127
+
3128
+ 地图布局下头部绝对定位悬浮,无背景、边框或阴影;地图延伸至页面顶部。业务标题、指标、列表保留顶部避让。独立带侧栏布局不受影响。
3129
+
3130
+ ## 地图排版统一(0.1.3-dev.6)
3131
+
3132
+ 左侧标题与胶囊导航对齐,去除重复面包屑及介绍;四项指标合为紧凑统计栏。右侧与过程面板使用实底、统一圆角和留白,图例固定左下。过程图初始隐藏,查询站点或预报后打开。
3133
+
3134
+ ## 顶部可读性与地图穿透(0.1.3-dev.7)
3135
+
3136
+ 品牌和操作按钮分组使用实底胶囊,顶部整条容器 pointer-events:none,仅品牌及操作区恢复 auto。空白处拖拽、滚轮交给地图;去掉冗余本地应用文字和分隔线。
3137
+
3138
+ ## 使用正式地图胶囊菜单(0.1.3-dev.8)
3139
+
3140
+ 一体机左侧改用已有 MapSideMenu,保留搜索、图标模式、分组折叠及选中样式。替代此前 ProjectMenu 的自定义胶囊变体。工作台只提供定位,不另写菜单皮肤。
3141
+
3142
+
3143
+ ## 2026-10-13 · 地图胶囊菜单多选
3144
+
3145
+ 新增 multiple、activeKeys、update:activeKeys 和 change,保留单选 active/select;支持取消、清空、搜索和图标模式,新增可复制双模式示例。未构建或发布。
3146
+
3147
+ ## 一级地图胶囊菜单(0.1.3-dev.9)
3148
+
3149
+ MapSideMenu 新增 flat:boolean,默认 false 保持分组模式。flat=true 隐藏父节点,将各项显示为一级胶囊,去除缩进及连线。一体机使用 flat=true 展示五个主菜单。
3150
+
3151
+ ## 图层控制封装(0.1.3-dev.10)
3152
+
3153
+ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、注记、树分组、搜索、显隐、拖拽排序、透明度、定位与可移除图层事件。数据及地图操作由消费方提供,未绑定平台 Pinia 或假服务。
3154
+
3155
+ ## 地图胶囊选中修复(0.1.3-dev.11)
3156
+
3157
+ flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
3158
+ # 管理布局(2026-10-13)
3159
+
3160
+ WorkbenchShell 添加 management-layout 样式变体:顶部栏、侧栏、滚动内容区、管理指标和信息卡片;management.css 提供共享样式。业务账号登录与数据由消费方提供,一体机当前使用明确标注的演示登录和模拟信息。
3161
+
3162
+
3163
+ ## 独立演示登录页(0.1.3-dev.13)
3164
+
3165
+ 账号入口:当前会话已演示登录则直接进入管理平台;未登录显示独立登录页,移除原弹窗。模拟账号通过 sessionStorage 保存,退出时清除,不是真实认证。登录页共享样式由库 management.css 提供,当前本地 dev.13 测试包;登录、刷新后直达管理平台及构建已验证。
3166
+
3167
+ 0.1.3-dev.14:添加 business-embed 业务 iframe 共享布局,用于一体机水库调度接入。
3168
+
3169
+ 0.1.3-dev.15:工作台没有 status-bar 时取消地图底部 30px 预留,避免空白边。保留带状态栏消费方的布局。
3170
+
3171
+ 2026-10-14:新增工作台 map-top-navigation 浮动顶部导航、forecast-form 预报表单与 forecast-product-switch 产品选择布局。四个顶部菜单由消费方提供;地图交互仍通过未覆盖区域。窄屏导航换行,右侧面板避让。无业务接口进入组件库。
3172
+
3173
+ 0.1.3-dev.17:预报表单补充两列色带与评价图例布局;forecast-workspace 的过程面板取消左侧菜单预留。消费方负责真实色阶、指标分类和过程查询。
3174
+
3175
+ 0.1.3-dev.18:ProcessChart 增加 kind=line 与 label 可选属性,用于温度、风速等通用过程线与可访问名称;保留 rain/flow 现有行为,不将所有非降雨要素称为流量。
3176
+
3177
+
3178
+ 2026-10-14 / dev.19:公开 TemplateLayout 地图叠加布局。提供 top、toolbar、right、legend、timeline、content 与默认插槽;rightOpen 为受控右栏状态,rightPanelEnabled 默认 true,rightPanelWidth 可覆盖响应式宽度。工具栏、图例、时间轴随右栏自动避让;空白区域透传地图事件。布局不初始化地图、不依赖业务 store,不内置业务工具;消费方将 MapTools 和 MapLayerControl 放到 toolbar,将业务面板放到 right。
3179
+
3180
+ ## 2026-10-14 · 0.1.4 发布准备
3181
+
3182
+ 汇集当前工作区地图布局 TemplateLayout、工作台与管理样式、图层控制、过程图 line/label 以及菜单修订。重新生成 API 与 AI 文档,发布状态以 npm 注册表为准。
3013
3183
 
3014
3184
  # Component API reference
3015
3185
 
@@ -3214,8 +3384,11 @@ export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
3214
3384
 
3215
3385
  | Name | Type | Required | Default expression |
3216
3386
  |---|---|---|---|
3387
+ | flat | boolean | false | false |
3217
3388
  | title | string | false | '实况(测站)' |
3218
3389
  | active | string | false | 'rain' |
3390
+ | multiple | boolean | false | false |
3391
+ | activeKeys | string[] | false | () => [] |
3219
3392
  | dark | boolean | false | false |
3220
3393
  | compact | boolean | false | false |
3221
3394
  | items | MapMenuItem[] | false | () => [
@@ -3231,6 +3404,8 @@ export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
3231
3404
  ### Events
3232
3405
 
3233
3406
  - `update:active` — `[key: string]`
3407
+ - `update:activeKeys` — `[keys: string[]]`
3408
+ - `change` — `[keys: string[]]`
3234
3409
  - `update:compact` — `[value: boolean]`
3235
3410
  - `select` — `[item: MapMenuItem]`
3236
3411
 
@@ -3249,6 +3424,7 @@ export interface MapMenuItem { key: string; label: string; icon?: Component }
3249
3424
  | active | string | false | 'layers' |
3250
3425
  | horizontal | boolean | false | false |
3251
3426
  | icons | Record<string, Component> | false | () => ({}) |
3427
+ | items | MapToolItem[] | false | undefined / no declared default |
3252
3428
 
3253
3429
  ### Events
3254
3430
 
@@ -3258,6 +3434,10 @@ export interface MapMenuItem { key: string; label: string; icon?: Component }
3258
3434
 
3259
3435
  Slots: No declared content slots.
3260
3436
 
3437
+ ```ts
3438
+ export interface MapToolItem { key: string; label: string; icon?: Component }
3439
+ ```
3440
+
3261
3441
  ## AtlasMapTitle
3262
3442
 
3263
3443
  ### Props
@@ -3306,6 +3486,120 @@ No declared events.
3306
3486
 
3307
3487
  Slots: No declared content slots.
3308
3488
 
3489
+ ## WorkbenchShell
3490
+
3491
+ ### Props
3492
+
3493
+ | Name | Type | Required | Default expression |
3494
+ |---|---|---|---|
3495
+ | collapsed | boolean | false | false |
3496
+
3497
+ ### Events
3498
+
3499
+ No declared events.
3500
+
3501
+ Slots: default
3502
+
3503
+ ## WorkbenchPanel
3504
+
3505
+ ### Props
3506
+
3507
+ | Name | Type | Required | Default expression |
3508
+ |---|---|---|---|
3509
+ | as | 'section' &#124; 'aside' &#124; 'div' | false | 'section' |
3510
+ | floating | boolean | false | true |
3511
+
3512
+ ### Events
3513
+
3514
+ No declared events.
3515
+
3516
+ Slots: default
3517
+
3518
+ ## MetricCard
3519
+
3520
+ ### Props
3521
+
3522
+ | Name | Type | Required | Default expression |
3523
+ |---|---|---|---|
3524
+ | label | string | true | undefined / no declared default |
3525
+ | value | string &#124; number | false | '—' |
3526
+ | unit | string | false | '' |
3527
+ | tone | 'blue' &#124; 'cyan' &#124; 'green' &#124; 'purple' | false | 'blue' |
3528
+ | compact | boolean | false | false |
3529
+
3530
+ ### Events
3531
+
3532
+ No declared events.
3533
+
3534
+ Slots: icon
3535
+
3536
+ ## ProcessChart
3537
+
3538
+ ### Props
3539
+
3540
+ | Name | Type | Required | Default expression |
3541
+ |---|---|---|---|
3542
+ | rows | ProcessChartRow[] | true | undefined / no declared default |
3543
+ | engine | ProcessChartEngine | true | undefined / no declared default |
3544
+ | kind | 'rain' &#124; 'flow' &#124; 'line' | false | 'rain' |
3545
+ | unit | string | false | '' |
3546
+ | label | string | false | undefined / no declared default |
3547
+
3548
+ ### Events
3549
+
3550
+ No declared events.
3551
+
3552
+ Slots: No declared content slots.
3553
+
3554
+ ```ts
3555
+ export interface ProcessChartRow { time: string; value: number | null }
3556
+ export interface ProcessChartInstance { setOption: (option: Record<string, unknown>, notMerge?: boolean) => void; resize: () => void; dispose: () => void }
3557
+ export interface ProcessChartEngine { init: (element: HTMLElement) => ProcessChartInstance }
3558
+ ```
3559
+
3560
+ ## MapLayerControl
3561
+
3562
+ ### Props
3563
+
3564
+ | Name | Type | Required | Default expression |
3565
+ |---|---|---|---|
3566
+ | nodes | MapLayerNode[] | true | undefined / no declared default |
3567
+ | basemap | string | false | 'imagery' |
3568
+ | annotation | boolean | false | true |
3569
+
3570
+ ### Events
3571
+
3572
+ - `update:basemap` — `[value: string]`
3573
+ - `update:annotation` — `[value: boolean]`
3574
+ - `visibility` — `[node: MapLayerNode, visible: boolean]`
3575
+ - `opacity` — `[node: MapLayerNode, value: number]`
3576
+ - `move` — `[dragId: string, targetId: string, position: string]`
3577
+ - `remove` — `[node: MapLayerNode]`
3578
+ - `locate` — `[node: MapLayerNode]`
3579
+ - `close` — `[]`
3580
+
3581
+ Slots: No declared content slots.
3582
+
3583
+ ```ts
3584
+ export interface MapLayerNode { id: string; name: string; visible?: boolean; opacity?: number; disabled?: boolean; removable?: boolean; children?: MapLayerNode[] }
3585
+ ```
3586
+
3587
+ ## TemplateLayout
3588
+
3589
+ ### Props
3590
+
3591
+ | Name | Type | Required | Default expression |
3592
+ |---|---|---|---|
3593
+ | rightOpen | boolean | false | false |
3594
+ | rightPanelEnabled | boolean | false | true |
3595
+ | rightPanelWidth | string | false | '' |
3596
+
3597
+ ### Events
3598
+
3599
+ No declared events.
3600
+
3601
+ Slots: top, toolbar, right, legend, timeline, content, default
3602
+
3309
3603
  ## UiAffix
3310
3604
 
3311
3605
  固钉 · 导航组件. Original: ElAffix. Import from: sky-ui-kit. [API](https://element-plus.org/zh-CN/component/affix.html). See dist/components/element-plus.d.ts.
@@ -4023,7 +4317,7 @@ Preserves upstream structure and context. Structural children inherit theme from
4023
4317
 
4024
4318
  # Element Plus 完整组件目录
4025
4319
 
4026
- 基准版本:2.14.7。共 111 个主 / 子组件、4 个服务出口、3 个指令出口。另保留 11 个项目特色组件。
4320
+ 基准版本:2.14.7。共 111 个主 / 子组件、4 个服务出口、3 个指令出口。另保留 17 个项目特色组件。
4027
4321
 
4028
4322
  清单覆盖官方组件注册表及服务 / 指令,不包含内部工具函数。出口覆盖不代表所有组件的交互、独立示例和视觉状态均已验证。网站每项均提供导入和官方 API 索引,新增组合示例见 AI-GUIDE.md。
4029
4323
 
@@ -4503,4 +4797,155 @@ import 'sky-ui-kit/global.css'
4503
4797
 
4504
4798
  全局缩放/主题融合以 GLOBAL-ADAPTATION.md 为准:原 App.vue 写根 --cp-vfit-scale,scoped-vfit 不重置它;保留原主题 store。不要在已消费 cp token 的组件外再增加第二套缩放。body 浮层核对根变量,局部变量需显式接入。
4505
4799
 
4506
- SvgIcon 样式仅作用于 scoped 的 .sky-svg-icon,不覆盖原生 ElIcon 或原项目 .svg-icon。默认继承 currentColor;数字 size 读取 --cp-font-1,缺失回退 1px;固定色 / 多色路径保持原配色。公共样式仍只在 main.ts 引入一次。
4800
+ SvgIcon 样式仅作用于 scoped 的 .sky-svg-icon,不覆盖原生 ElIcon 或原项目 .svg-icon。默认继承 currentColor;数字 size 读取 --cp-font-1,缺失回退 1px;固定色 / 多色路径保持原配色。公共样式仍只在 main.ts 引入一次。
4801
+
4802
+ ## 2026-10-13:一体机本地开发接入
4803
+
4804
+ 新增四个工作台组件和 MapTools.items。工作台 CSS 在 .sky-workbench 下隔离,使用库主题变量;应用消费本地 0.1.3-dev.0,未发布。详情见 [消费项目记录](CONSUMERS.md)。
4805
+
4806
+ ## 2026-10-13:顶部菜单修复(0.1.3-dev.1)
4807
+
4808
+ 删除工作台残留的 primary-nav 样式,选中效果由 ProjectMenu 统一负责。顶部菜单按内容宽度居中,不再拉满或撑满头部高度;横向菜单不换行,仅允许横向滚动并隐藏滚动条,保留滚轮、触摸和键盘操作。应用升级本地开发包,未发布 npm。
4809
+
4810
+ ## 2026-10-13:左侧胶囊布局(0.1.3-dev.2)
4811
+
4812
+ 工作台左侧采用留白悬浮圆角侧栏,内部菜单使用胶囊圆角,移除选中项侧边竖线和嵌套菜单外框。数据范围卡片统一圆角。样式限定 sky-workbench,不改变独立 ProjectMenu。更新本地消费包,未发布 npm。
4813
+
4814
+ ## 2026-10-13:地图布局(0.1.3-dev.3)
4815
+
4816
+ 一体机应用彻底移除左侧工作台、数据范围及侧栏开关,导航由顶部菜单提供。WorkbenchShell collapsed=true 使用单列布局,地图占满导航下方;指标、列表、工具和过程图保持悬浮。修复 collapsed 根节点选择器,取消地图定位的侧栏留白。该布局替代此前胶囊侧栏方案。
4817
+
4818
+ ## 地图左侧胶囊导航(0.1.3-dev.4)
4819
+
4820
+ 移除顶部横向菜单,使用 ProjectMenu 在地图左侧悬浮展示五个胶囊入口;不占侧栏列、不恢复数据范围与终端信息。工作台提供 map-capsule-menu 样式变体。
4821
+
4822
+ ## 透明地图顶部栏(0.1.3-dev.5)
4823
+
4824
+ 地图布局下头部绝对定位悬浮,无背景、边框或阴影;地图延伸至页面顶部。业务标题、指标、列表保留顶部避让。独立带侧栏布局不受影响。
4825
+
4826
+ ## 地图排版统一(0.1.3-dev.6)
4827
+
4828
+ 左侧标题与胶囊导航对齐,去除重复面包屑及介绍;四项指标合为紧凑统计栏。右侧与过程面板使用实底、统一圆角和留白,图例固定左下。过程图初始隐藏,查询站点或预报后打开。
4829
+
4830
+ ## 顶部可读性与地图穿透(0.1.3-dev.7)
4831
+
4832
+ 品牌和操作按钮分组使用实底胶囊,顶部整条容器 pointer-events:none,仅品牌及操作区恢复 auto。空白处拖拽、滚轮交给地图;去掉冗余本地应用文字和分隔线。
4833
+
4834
+ ## 使用正式地图胶囊菜单(0.1.3-dev.8)
4835
+
4836
+ 一体机左侧改用已有 MapSideMenu,保留搜索、图标模式、分组折叠及选中样式。替代此前 ProjectMenu 的自定义胶囊变体。工作台只提供定位,不另写菜单皮肤。
4837
+
4838
+ ## 一级地图胶囊菜单(0.1.3-dev.9)
4839
+
4840
+ MapSideMenu 新增 flat:boolean,默认 false 保持分组模式。flat=true 隐藏父节点,将各项显示为一级胶囊,去除缩进及连线。一体机使用 flat=true 展示五个主菜单。
4841
+
4842
+ ## 图层控制封装(0.1.3-dev.10)
4843
+
4844
+ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、注记、树分组、搜索、显隐、拖拽排序、透明度、定位与可移除图层事件。数据及地图操作由消费方提供,未绑定平台 Pinia 或假服务。
4845
+
4846
+ ## 地图胶囊选中修复(0.1.3-dev.11)
4847
+
4848
+ flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
4849
+ # 管理平台布局
4850
+
4851
+ management.css 由 WorkbenchShell 引入,management-layout 提供管理平台顶部栏、侧栏与可滚动内容区;management-metrics、management-card、account-entry 为相关共享样式。遵循工作台现有主题变量,登录表单使用 UiDialog / UiForm。业务认证与数据不在库中。
4852
+
4853
+ 独立登录页共享样式:management-login-page、login-layout、login-card 在 management.css 内维护,桌面双列、窄屏单卡。
4854
+
4855
+ business-embed:management.css 提供工作台业务 iframe 布局,保留顶部与左侧导航操作区域。
4856
+
4857
+ 0.1.3-dev.15:工作台没有 status-bar 时取消地图底部 30px 预留,避免空白边。保留带状态栏消费方的布局。
4858
+
4859
+ 2026-10-14:新增工作台 map-top-navigation 浮动顶部导航、forecast-form 预报表单与 forecast-product-switch 产品选择布局。四个顶部菜单由消费方提供;地图交互仍通过未覆盖区域。窄屏导航换行,右侧面板避让。无业务接口进入组件库。
4860
+
4861
+ 0.1.3-dev.17:预报表单补充两列色带与评价图例布局;forecast-workspace 的过程面板取消左侧菜单预留。消费方负责真实色阶、指标分类和过程查询。
4862
+
4863
+
4864
+ 2026-10-14 / dev.19:公开 TemplateLayout 地图叠加布局。提供 top、toolbar、right、legend、timeline、content 与默认插槽;rightOpen 为受控右栏状态,rightPanelEnabled 默认 true,rightPanelWidth 可覆盖响应式宽度。工具栏、图例、时间轴随右栏自动避让;空白区域透传地图事件。布局不初始化地图、不依赖业务 store,不内置业务工具;消费方将 MapTools 和 MapLayerControl 放到 toolbar,将业务面板放到 right。
4865
+
4866
+ # 一体机组件库接入约定
4867
+
4868
+ 用户要求:一体机 Web 的通用组件全部使用 sky-ui-kit,缺失能力先补充库,再由应用消费。
4869
+
4870
+ 消费项目:D:/Work/01-项目code/一体化平台/一体机项目。库源码:D:/sky-ui-kit。参考业务平台只读。
4871
+
4872
+ 新增 WorkbenchShell、WorkbenchPanel、MetricCard、ProcessChart;MapTools 支持 items 自定义工具。ProcessChart 由应用注入 ECharts engine,库不耦合业务 API。基础表单、按钮、导航、表格、卡片使用库公开出口。地图引擎、业务查询、数据快照留在应用。
4873
+
4874
+ CSS 入口按顺序仅导入一次 Element Plus CSS 和 sky-ui-kit/style.css。暗色使用 html.theme-dark。工作台样式隔离在 .sky-workbench 内。
4875
+
4876
+ 本次使用 0.1.3-dev.0 本地开发包,未发布 npm。npm 正式版本仍为 0.1.2。后续修改必须同步 AI 文档,构建、打包后更新应用 vendor 包及锁文件。不要提交、推送或发布,除非用户明确要求。
4877
+
4878
+ 其他对话进入上述目录时应读取 AGENTS.md 和本文件;这是磁盘上的共享约定,不代表自动向其他聊天发送消息。
4879
+
4880
+ 验证:库完整类型检查、包构建、应用 ui:check 与生产构建通过。浏览器验证 RID 563666 返回流量过程,深浅色组件切换正常,数据卡片可显示。构建存在大体积 chunk 提示,后续可继续拆分。
4881
+
4882
+ ## 2026-10-13:顶部菜单修复(0.1.3-dev.1)
4883
+
4884
+ 删除工作台残留的 primary-nav 样式,选中效果由 ProjectMenu 统一负责。顶部菜单按内容宽度居中,不再拉满或撑满头部高度;横向菜单不换行,仅允许横向滚动并隐藏滚动条,保留滚轮、触摸和键盘操作。应用升级本地开发包,未发布 npm。
4885
+
4886
+ ## 2026-10-13:左侧胶囊布局(0.1.3-dev.2)
4887
+
4888
+ 工作台左侧采用留白悬浮圆角侧栏,内部菜单使用胶囊圆角,移除选中项侧边竖线和嵌套菜单外框。数据范围卡片统一圆角。样式限定 sky-workbench,不改变独立 ProjectMenu。更新本地消费包,未发布 npm。
4889
+
4890
+ ## 2026-10-13:地图布局(0.1.3-dev.3)
4891
+
4892
+ 一体机应用彻底移除左侧工作台、数据范围及侧栏开关,导航由顶部菜单提供。WorkbenchShell collapsed=true 使用单列布局,地图占满导航下方;指标、列表、工具和过程图保持悬浮。修复 collapsed 根节点选择器,取消地图定位的侧栏留白。该布局替代此前胶囊侧栏方案。
4893
+
4894
+ ## 地图左侧胶囊导航(0.1.3-dev.4)
4895
+
4896
+ 移除顶部横向菜单,使用 ProjectMenu 在地图左侧悬浮展示五个胶囊入口;不占侧栏列、不恢复数据范围与终端信息。工作台提供 map-capsule-menu 样式变体。
4897
+
4898
+ ## 透明地图顶部栏(0.1.3-dev.5)
4899
+
4900
+ 地图布局下头部绝对定位悬浮,无背景、边框或阴影;地图延伸至页面顶部。业务标题、指标、列表保留顶部避让。独立带侧栏布局不受影响。
4901
+
4902
+ ## 地图排版统一(0.1.3-dev.6)
4903
+
4904
+ 左侧标题与胶囊导航对齐,去除重复面包屑及介绍;四项指标合为紧凑统计栏。右侧与过程面板使用实底、统一圆角和留白,图例固定左下。过程图初始隐藏,查询站点或预报后打开。
4905
+
4906
+ ## 顶部可读性与地图穿透(0.1.3-dev.7)
4907
+
4908
+ 品牌和操作按钮分组使用实底胶囊,顶部整条容器 pointer-events:none,仅品牌及操作区恢复 auto。空白处拖拽、滚轮交给地图;去掉冗余本地应用文字和分隔线。
4909
+
4910
+ ## 使用正式地图胶囊菜单(0.1.3-dev.8)
4911
+
4912
+ 一体机左侧改用已有 MapSideMenu,保留搜索、图标模式、分组折叠及选中样式。替代此前 ProjectMenu 的自定义胶囊变体。工作台只提供定位,不另写菜单皮肤。
4913
+
4914
+ ## 一级地图胶囊菜单(0.1.3-dev.9)
4915
+
4916
+ MapSideMenu 新增 flat:boolean,默认 false 保持分组模式。flat=true 隐藏父节点,将各项显示为一级胶囊,去除缩进及连线。一体机使用 flat=true 展示五个主菜单。
4917
+
4918
+ ## 图层控制封装(0.1.3-dev.10)
4919
+
4920
+ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、注记、树分组、搜索、显隐、拖拽排序、透明度、定位与可移除图层事件。数据及地图操作由消费方提供,未绑定平台 Pinia 或假服务。
4921
+
4922
+ ## 地图胶囊选中修复(0.1.3-dev.11)
4923
+
4924
+ flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
4925
+
4926
+ ## 一体机正式包接入(2026-10-13)
4927
+
4928
+ D:/dev/TasksBot 已从本地 tgz 切换为 npm sky-ui-kit@0.1.3。安装包多选的选中、取消、清空和外部 activeKeys 同步已浏览器验证。五个主菜单继续作为单选业务导航;多选消费者使用 change/activeKeys 获取最终集合,select 在取消时也会触发。具体交接见消费项目 docs/UI-KIT-INTEGRATION.md。
4929
+ # 一体机管理布局演示(2026-10-13)
4930
+
4931
+ 四个地图主菜单保留;数据接入移至右上角账号演示登录后的管理平台。管理信息为固定假数据,无真实认证和后台修改。WorkbenchShell 的 management-layout 及 management.css 由共享库维护;演示业务留在消费项目。
4932
+
4933
+
4934
+ ## 独立演示登录页(0.1.3-dev.13)
4935
+
4936
+ 账号入口:当前会话已演示登录则直接进入管理平台;未登录显示独立登录页,移除原弹窗。模拟账号通过 sessionStorage 保存,退出时清除,不是真实认证。登录页共享样式由库 management.css 提供,当前本地 dev.13 测试包;登录、刷新后直达管理平台及构建已验证。
4937
+
4938
+ ## 平台业务菜单接入(2026-10-13)
4939
+
4940
+ 删除实时雨水情独立入口,综合一张图保留雨量站/水库/河道/视频及历史查询。气象预报入口更名中尺度数值预报,沿用已接入的 WRF 小时产品。水库调度沿用参考平台 ReservoirDispatch.vue 的外部 dashboard iframe,不执行调度写操作。气象大模型接入 GraphCast 六要素、发布批次、时次 WMS 与点位过程接口,参考 weatherLlm/api/weatherLlm.ts、weatherLlmConfig.ts;不虚构新批次。图层依赖 geoserver 65255 服务,生产需同样配置 /graphcast-wms 反向代理。业务 iframe 共享布局样式在 management.css。当前共享库为 dev.14 本地测试包,未发布 npm。
4941
+
4942
+ 0.1.3-dev.15:工作台没有 status-bar 时取消地图底部 30px 预留,避免空白边。保留带状态栏消费方的布局。
4943
+
4944
+ 2026-10-14:新增工作台 map-top-navigation 浮动顶部导航、forecast-form 预报表单与 forecast-product-switch 产品选择布局。四个顶部菜单由消费方提供;地图交互仍通过未覆盖区域。窄屏导航换行,右侧面板避让。无业务接口进入组件库。
4945
+
4946
+ 0.1.3-dev.17:预报表单补充两列色带与评价图例布局;forecast-workspace 的过程面板取消左侧菜单预留。消费方负责真实色阶、指标分类和过程查询。
4947
+
4948
+ 0.1.3-dev.18:ProcessChart 增加 kind=line 与 label 可选属性,用于温度、风速等通用过程线与可访问名称;保留 rain/flow 现有行为,不将所有非降雨要素称为流量。
4949
+
4950
+
4951
+ 2026-10-14 / dev.19:公开 TemplateLayout 地图叠加布局。提供 top、toolbar、right、legend、timeline、content 与默认插槽;rightOpen 为受控右栏状态,rightPanelEnabled 默认 true,rightPanelWidth 可覆盖响应式宽度。工具栏、图例、时间轴随右栏自动避让;空白区域透传地图事件。布局不初始化地图、不依赖业务 store,不内置业务工具;消费方将 MapTools 和 MapLayerControl 放到 toolbar,将业务面板放到 right。
package/llms.txt CHANGED
@@ -1,9 +1,10 @@
1
1
  # sky-ui-kit
2
2
 
3
- > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.2. AI tools must explicitly load these files.
3
+ > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.4. AI tools must explicitly load these files.
4
4
 
5
5
  ## Documentation
6
6
 
7
+ - [Consumers](docs/CONSUMERS.md): shared project convention and local integration.
7
8
  - [AI guide](docs/AI-GUIDE.md): setup, examples, icon/event bindings and limits.
8
9
  - [Component API](docs/COMPONENT-API.md): props, defaults, events, slots and types.
9
10
  - [AI module changes](docs/AI-CHANGELOG.md): module updates and integration impact.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sky-ui-kit",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Vue UI components compatible with Element Plus and the project theme",
5
5
  "type": "module",
6
6
  "files": [
@@ -22,7 +22,8 @@
22
22
  "components.json",
23
23
  "docs/AI-GUIDE.md",
24
24
  "docs/AI-CHANGELOG.md",
25
- "docs/COMPONENT-API.md"
25
+ "docs/COMPONENT-API.md",
26
+ "docs/CONSUMERS.md"
26
27
  ],
27
28
  "exports": {
28
29
  ".": {
@@ -54,10 +55,10 @@
54
55
  "components:sync": "node scripts/sync-element-plus.mjs"
55
56
  },
56
57
  "peerDependencies": {
57
- "element-plus": "^2.14.7",
58
- "vue": "^3.4.21",
59
58
  "@element-plus/icons-vue": "^2.3.2",
60
- "motion-v": "^2.3.0"
59
+ "element-plus": "^2.14.7",
60
+ "motion-v": "^2.3.0",
61
+ "vue": "^3.4.21"
61
62
  },
62
63
  "devDependencies": {
63
64
  "@element-plus/icons-vue": "^2.3.2",
@@ -76,5 +77,8 @@
76
77
  "access": "public",
77
78
  "registry": "https://registry.npmjs.org/"
78
79
  },
79
- "license": "UNLICENSED"
80
+ "license": "UNLICENSED",
81
+ "dependencies": {
82
+ "reservoir-hydromet-terminal": "file:../Work/01-项目code/一体化平台/一体机项目"
83
+ }
80
84
  }