sky-ui-kit 0.1.11 → 0.1.13

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.
Files changed (203) hide show
  1. package/README.md +18 -13
  2. package/components.json +158 -1
  3. package/dist/chunks/{UiScrollbar-67b064c7.js → UiScrollbar-450d1521.js} +118 -118
  4. package/dist/components/MapCategoryMenu.vue.d.ts +36 -0
  5. package/dist/components/MapPageLayout.vue.d.ts +9 -9
  6. package/dist/components/MapSideMenu.vue.d.ts +4 -0
  7. package/dist/components/PlatformLayout.vue.d.ts +55 -0
  8. package/dist/components/index.d.ts +152 -0
  9. package/dist/components.js +2537 -2239
  10. package/dist/entries/AppSelect.js +1 -1
  11. package/dist/entries/AtlasMapTitle.js +1 -1
  12. package/dist/entries/AtlasProcessChart.js +1 -1
  13. package/dist/entries/AtlasProcessPanel.js +1 -1
  14. package/dist/entries/AtlasRankingPanel.js +1 -1
  15. package/dist/entries/AtlasRightToggleButton.js +1 -1
  16. package/dist/entries/DefenseMapLayout.js +1 -1
  17. package/dist/entries/GlobalMapLayerDock.js +1 -1
  18. package/dist/entries/ManagementFormDialog.js +1 -1
  19. package/dist/entries/ManagementResourceLayout.js +1 -1
  20. package/dist/entries/MapBottomProcessPanel.js +1 -1
  21. package/dist/entries/MapCategoryMenu.d.ts +1 -0
  22. package/dist/entries/MapCategoryMenu.js +10 -0
  23. package/dist/entries/MapEditorDialog.js +1 -1
  24. package/dist/entries/MapFeatureListPanel.js +1 -1
  25. package/dist/entries/MapLayerControl.js +1 -1
  26. package/dist/entries/MapOperationPanel.js +1 -1
  27. package/dist/entries/MapPageLayout.js +1 -1
  28. package/dist/entries/MapPointProcessDialog.js +1 -1
  29. package/dist/entries/MapSchemeSelect.js +1 -1
  30. package/dist/entries/MapSideMenu.js +1 -1
  31. package/dist/entries/MapTimeline.js +1 -1
  32. package/dist/entries/MapTools.js +1 -1
  33. package/dist/entries/MapValueLegend.js +1 -1
  34. package/dist/entries/MapWorkspacePanel.js +1 -1
  35. package/dist/entries/MetricCard.js +1 -1
  36. package/dist/entries/ModelWorkspace.js +1 -1
  37. package/dist/entries/ModelWorkspaceHeader.js +1 -1
  38. package/dist/entries/ModelWorkspacePanel.js +1 -1
  39. package/dist/entries/NationalHydroSidebar.js +1 -1
  40. package/dist/entries/PlatformLayout.d.ts +1 -0
  41. package/dist/entries/PlatformLayout.js +10 -0
  42. package/dist/entries/ProcessChart.js +1 -1
  43. package/dist/entries/ProcessDataTable.js +1 -1
  44. package/dist/entries/ProjectMenu.js +1 -1
  45. package/dist/entries/RainfallProcessChart.js +1 -1
  46. package/dist/entries/RainfallRankingTable.js +1 -1
  47. package/dist/entries/SpaceAnalysisPanel.js +1 -1
  48. package/dist/entries/SpatialScopeInput.js +1 -1
  49. package/dist/entries/StationComparisonPanel.js +1 -1
  50. package/dist/entries/SvgIcon.js +1 -1
  51. package/dist/entries/TemplateLayout.js +1 -1
  52. package/dist/entries/TimeRangeQuickSelect.js +1 -1
  53. package/dist/entries/TreeSelectPanel.js +1 -1
  54. package/dist/entries/UiAffix.js +3 -3
  55. package/dist/entries/UiAlert.js +3 -3
  56. package/dist/entries/UiAnchor.js +1 -1
  57. package/dist/entries/UiAnchorLink.js +1 -1
  58. package/dist/entries/UiAside.js +1 -1
  59. package/dist/entries/UiAutoResizer.js +1 -1
  60. package/dist/entries/UiAutocomplete.js +3 -3
  61. package/dist/entries/UiAvatar.js +3 -3
  62. package/dist/entries/UiAvatarGroup.js +2 -2
  63. package/dist/entries/UiBacktop.js +1 -1
  64. package/dist/entries/UiBadge.js +1 -1
  65. package/dist/entries/UiBreadcrumb.js +1 -1
  66. package/dist/entries/UiBreadcrumbItem.js +1 -1
  67. package/dist/entries/UiButton.js +1 -1
  68. package/dist/entries/UiButtonGroup.js +1 -1
  69. package/dist/entries/UiCalendar.js +1 -1
  70. package/dist/entries/UiCard.js +1 -1
  71. package/dist/entries/UiCarousel.js +1 -1
  72. package/dist/entries/UiCarouselItem.js +1 -1
  73. package/dist/entries/UiCascader.js +2 -2
  74. package/dist/entries/UiCascaderPanel.js +1 -1
  75. package/dist/entries/UiCheckTag.js +1 -1
  76. package/dist/entries/UiCheckbox.js +2 -2
  77. package/dist/entries/UiCheckboxButton.js +1 -1
  78. package/dist/entries/UiCheckboxGroup.js +1 -1
  79. package/dist/entries/UiCol.js +1 -1
  80. package/dist/entries/UiCollapse.js +1 -1
  81. package/dist/entries/UiCollapseItem.js +1 -1
  82. package/dist/entries/UiCollapseTransition.js +1 -1
  83. package/dist/entries/UiColorPicker.js +1 -1
  84. package/dist/entries/UiColorPickerPanel.js +1 -1
  85. package/dist/entries/UiConfigProvider.js +1 -1
  86. package/dist/entries/UiContainer.js +1 -1
  87. package/dist/entries/UiCountdown.js +1 -1
  88. package/dist/entries/UiDatePicker.js +1 -1
  89. package/dist/entries/UiDatePickerPanel.js +1 -1
  90. package/dist/entries/UiDescriptions.js +1 -1
  91. package/dist/entries/UiDescriptionsItem.js +1 -1
  92. package/dist/entries/UiDialog.js +3 -3
  93. package/dist/entries/UiDivider.js +1 -1
  94. package/dist/entries/UiDrawer.js +1 -1
  95. package/dist/entries/UiDropdown.js +1 -1
  96. package/dist/entries/UiDropdownItem.js +1 -1
  97. package/dist/entries/UiDropdownMenu.js +1 -1
  98. package/dist/entries/UiEmpty.js +1 -1
  99. package/dist/entries/UiFooter.js +1 -1
  100. package/dist/entries/UiForm.js +3 -3
  101. package/dist/entries/UiFormItem.js +2 -2
  102. package/dist/entries/UiHeader.js +1 -1
  103. package/dist/entries/UiIcon.js +1 -1
  104. package/dist/entries/UiImage.js +2 -2
  105. package/dist/entries/UiImageViewer.js +1 -1
  106. package/dist/entries/UiInput.js +2 -2
  107. package/dist/entries/UiInputNumber.js +3 -3
  108. package/dist/entries/UiInputOtp.js +3 -3
  109. package/dist/entries/UiInputTag.js +1 -1
  110. package/dist/entries/UiLink.js +1 -1
  111. package/dist/entries/UiLoading.js +1 -1
  112. package/dist/entries/UiMain.js +1 -1
  113. package/dist/entries/UiMention.js +1 -1
  114. package/dist/entries/UiMenu.js +3 -3
  115. package/dist/entries/UiMenuItem.js +3 -3
  116. package/dist/entries/UiMenuItemGroup.js +1 -1
  117. package/dist/entries/UiMessage.js +1 -1
  118. package/dist/entries/UiMessageBox.js +1 -1
  119. package/dist/entries/UiNotification.js +1 -1
  120. package/dist/entries/UiOption.js +3 -3
  121. package/dist/entries/UiOptionGroup.js +1 -1
  122. package/dist/entries/UiPageHeader.js +3 -3
  123. package/dist/entries/UiPagination.js +2 -2
  124. package/dist/entries/UiPopconfirm.js +1 -1
  125. package/dist/entries/UiPopover.js +1 -1
  126. package/dist/entries/UiPopper.js +1 -1
  127. package/dist/entries/UiProgress.js +3 -3
  128. package/dist/entries/UiRadio.js +1 -1
  129. package/dist/entries/UiRadioButton.js +1 -1
  130. package/dist/entries/UiRadioGroup.js +1 -1
  131. package/dist/entries/UiRate.js +3 -3
  132. package/dist/entries/UiResult.js +1 -1
  133. package/dist/entries/UiRow.js +1 -1
  134. package/dist/entries/UiScrollbar.js +3 -3
  135. package/dist/entries/UiSegmented.js +1 -1
  136. package/dist/entries/UiSelect.js +3 -3
  137. package/dist/entries/UiSelectV2.js +3 -3
  138. package/dist/entries/UiSkeleton.js +2 -2
  139. package/dist/entries/UiSkeletonItem.js +1 -1
  140. package/dist/entries/UiSlider.js +1 -1
  141. package/dist/entries/UiSpace.js +1 -1
  142. package/dist/entries/UiSplitter.js +1 -1
  143. package/dist/entries/UiSplitterPanel.js +1 -1
  144. package/dist/entries/UiStatistic.js +1 -1
  145. package/dist/entries/UiStep.js +1 -1
  146. package/dist/entries/UiSteps.js +1 -1
  147. package/dist/entries/UiSubMenu.js +1 -1
  148. package/dist/entries/UiSwitch.js +3 -3
  149. package/dist/entries/UiTabPane.js +1 -1
  150. package/dist/entries/UiTable.js +1 -1
  151. package/dist/entries/UiTableColumn.js +1 -1
  152. package/dist/entries/UiTableV2.js +1 -1
  153. package/dist/entries/UiTabs.js +1 -1
  154. package/dist/entries/UiTag.js +1 -1
  155. package/dist/entries/UiText.js +1 -1
  156. package/dist/entries/UiTimePicker.js +1 -1
  157. package/dist/entries/UiTimeSelect.js +1 -1
  158. package/dist/entries/UiTimeline.js +1 -1
  159. package/dist/entries/UiTimelineItem.js +1 -1
  160. package/dist/entries/UiTooltip.js +2 -2
  161. package/dist/entries/UiTour.js +1 -1
  162. package/dist/entries/UiTourStep.js +1 -1
  163. package/dist/entries/UiTransfer.js +1 -1
  164. package/dist/entries/UiTree.js +1 -1
  165. package/dist/entries/UiTreeSelect.js +1 -1
  166. package/dist/entries/UiTreeV2.js +1 -1
  167. package/dist/entries/UiUpload.js +3 -3
  168. package/dist/entries/UiWatermark.js +1 -1
  169. package/dist/entries/WorkbenchPanel.js +1 -1
  170. package/dist/entries/WorkbenchShell.js +1 -1
  171. package/dist/entries/vUiInfiniteScroll.js +1 -1
  172. package/dist/entries/vUiLoading.js +1 -1
  173. package/dist/entries/vUiPopover.js +1 -1
  174. package/dist/style.css +1 -1
  175. package/docs/AI-CHANGELOG.md +159 -51
  176. package/docs/AI-GUIDE.md +23 -25
  177. package/docs/COMPONENT-API.md +46 -0
  178. package/docs/CSS-THEME.md +104 -32
  179. package/docs/ELEMENT-PLUS-COVERAGE.md +1 -1
  180. package/docs/HTML-INTEGRATION.md +5 -1
  181. package/docs/INTEGRATION.md +112 -12
  182. package/docs/ON-DEMAND.md +2 -0
  183. package/docs/START-HERE.md +68 -0
  184. package/docs/VUE-TEMPLATES.md +33 -0
  185. package/examples/vue-starter/.env.example +2 -0
  186. package/examples/vue-starter/AGENTS.md +3 -0
  187. package/examples/vue-starter/README.md +12 -0
  188. package/examples/vue-starter/index.html +1 -0
  189. package/examples/vue-starter/package.json +26 -0
  190. package/examples/vue-starter/src/App.vue +26 -0
  191. package/examples/vue-starter/src/ForecastPage.vue +65 -0
  192. package/examples/vue-starter/src/ManagementPage.vue +30 -0
  193. package/examples/vue-starter/src/MapPage.vue +34 -0
  194. package/examples/vue-starter/src/StarterBasemap.vue +52 -0
  195. package/examples/vue-starter/src/env.d.ts +1 -0
  196. package/examples/vue-starter/src/layout.css +12 -0
  197. package/examples/vue-starter/src/main.ts +8 -0
  198. package/examples/vue-starter/src/router.ts +14 -0
  199. package/examples/vue-starter/tsconfig.json +22 -0
  200. package/examples/vue-starter/vite.config.ts +3 -0
  201. package/llms-full.txt +448 -111
  202. package/llms.txt +8 -2
  203. package/package.json +107 -104
@@ -1,5 +1,9 @@
1
+ > 当前版本 0.1.13:完整 Vue 模板与 PlatformLayout / MapCategoryMenu 已纳入本次发布,使用包内 examples/vue-starter。当前配置以 docs/VUE-TEMPLATES.md 为准;下文“未发布”“源码快照”“未接入地图”等为此前开发阶段记录,不作为本版接入指令。
2
+
1
3
  # 团队 AI 模块变更记录
2
4
 
5
+ 本轮新增 PlatformLayout 平台外壳(未发布):统一头部、地图贯穿背景、悬浮导航及管理分组侧栏。起步模板依赖该新出口,npm 0.1.12 尚不可直接使用;详见 [Vue 模板](VUE-TEMPLATES.md)。
6
+
3
7
  ## 2026-11-02 · 沿用原平台浮动区域层级
4
8
 
5
9
  - MapPageLayout 对齐 metrics/TemplateLayout.vue 的聚焦 5、移入 6;沿用内容 1、普通区域 2、图例 3、工具栏 4,统一覆盖时间轴与右栏,保持透明工具间隙穿透与子面板随区域置顶。
@@ -476,54 +480,158 @@ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切
476
480
  <MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
477
481
  ```
478
482
  预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
479
-
480
- ## 2026-11-03 · 0.1.9 发布准备
481
-
482
- - 将当前布局、面板、尺寸适配与主题调整纳入新版,重新生成 AI 文档并检查组件包。发布结果以 npm 注册表为准。
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 接入规则。发布前重新生成文档和构建,并检查包内出口。浏览器视觉验收及独立消费业务项目测试仍由用户继续完成。
520
-
521
- ## 2026-11-04:0.1.10 原生 HTML 迁移文档修订(未发布)
522
-
523
- 修正 AI 指南相对链接及 README 发布状态;新增透明地图覆盖层/主题面板/body 浮层示例,补齐旧页面 CSS 皮肤移除、布局保留和逐状态验收。迁移前后共用布局及业务脚本,不要求 Vue、不增加业务项目专用全局覆盖。详见 [HTML 迁移](HTML-INTEGRATION.md)和[迁移后示例](../examples/html/migration/after.html)。本轮仅文档、示例及生成器修订,未构建、发布或浏览器验证。
524
-
525
- 本轮验证:相对链接检查覆盖源码文档、生成 AI 文档及 npm files 清单;迁移前后 DOM 检查覆盖相同 ID、查询/重置、地图点击监听、弹窗事件接线和主题同步。弹窗方法使用测试替身,未验证实际焦点、地图拖拽、布局或视觉状态。没有改动库样式代码或业务消费项目,版本仍为 0.1.10,修订尚未发布。
526
-
527
- ## 0.1.11 发布内容
528
-
529
- 修正 AI 指南及合并文档相对链接,更新 README 当前发布状态并归档历史说明。原生 HTML 路线明确保留 DOM/事件/表单且无需 Vue;新增透明地图覆盖层、独立浮层主题、旧皮肤移除及前后迁移示例。发布检查包括生成文档、相对链接/包内路径、类型和库构建;未进行浏览器视觉或真实地图验收。
483
+
484
+ ## 2026-11-03 · 0.1.9 发布准备
485
+
486
+ - 将当前布局、面板、尺寸适配与主题调整纳入新版,重新生成 AI 文档并检查组件包。发布结果以 npm 注册表为准。
487
+
488
+
489
+ ## 2026-11-04:HTML 按需样式接入(未发布)
490
+
491
+ 新增 theme/panel/button/input 四个 CSS 出口,完整 model-workspace.css 与拆分入口共享源码;网站新增隔离 HTML 示例。外观模式保留原 DOM/事件,不能当作 Vue 组件接入。结构、安装、状态、主题、浮层及 AGENTS.md 规则见 [HTML 接入](HTML-INTEGRATION.md)。仅生成文档和静态检查,未构建、发布或浏览器验证;历史“CSS 未拆分”对 Vue style.css 仍成立。
492
+
493
+ ### 原生控件自动换肤调整(未发布)
494
+
495
+ 新增 sky-html 容器入口,按需样式直接匹配原生 button/input/select/textarea;支持 data-sky-native="off" 本身及后代退出、Element Plus/地图内部控件排除,保留旧工作区 opt-in。主题默认低优先级,特殊按钮使用 data-variant,支持只读、禁用、错误及焦点状态;面板继续使用明确结构类,不覆盖所有 div。示例网站展示完整原生 HTML 状态及退出区域,详见 HTML-INTEGRATION.md。
496
+
497
+ ### HTML 控件未换肤修复
498
+
499
+ 此前 Element Plus 排除规则使用 class 包含 el-,误命中 sky-model-panel,导致整块面板内原生控件不应用样式。改为类名开头或空格后的 el- 前缀匹配,保留显式局部退出和第三方控件隔离。补充 DOM 选择器回归检查;未进行浏览器视觉验证。
500
+
501
+ ### HTML / Vue 控件视觉统一(未发布)
502
+
503
+ HTML 控件直接复用 scoped-theme.css 的 userssite 主题变量,与 Vue 共用字体、默认 32px 高度、4px 圆角、主色/危险色及派生状态色;危险按钮为实底,禁用状态不再整体透明。补充复选框、单选框及 data-sky-error 错误文案。HTML 示例同步网站根主题变量。只验证源码和 DOM 选择器,未进行浏览器像素对比;原生 select 弹出菜单、日期选择器仍由浏览器提供。
504
+
505
+ ## HTML 表单控件逐项验收模块
506
+
507
+ 网站新增独立“HTML 表单控件”导航,22 项按编号定位,每项包含真实原生标签、可操作状态、可复制代码及当前页核对标记。目录与生成文档共享 src/html-form-catalog.ts,详见 HTML-FORM-CATALOG.md。滑块/颜色/上传仍为原生外观;复杂 Vue 组件没有等价原生标签,不宣称实现对应交互。仅做类型和文档检查,等待用户逐项核对。
508
+
509
+ ### HTML 输入聚焦双框修复
510
+
511
+ 文本输入、select、textarea 聚焦时取消外扩 outline 和额外阴影,仅将已有边框改为主题主色;错误状态聚焦/悬停继续保持危险色。复选框、单选框的键盘焦点提示不变。未进行浏览器验证。
512
+
513
+ ### 原生数字、选择和上传控件完善(未发布)
514
+
515
+ 多选 select 恢复列表高度,保留系统弹出菜单;file-selector-button 使用共享主题及禁用/聚焦状态。新增可选 html/number.js 与 number.css,enhanceNumbers 保留原 input、min/max/step 与事件,返回清理函数;step=any 禁用增减,动态新增节点需再次初始化。验收第 8/10/20 项同步更新。未构建或浏览器验证。
516
+
517
+ ### HTML 原生多选列表外观调整
518
+
519
+ 多选/size 列表设置可覆盖的 220px 宽度、选项留白和主题选中背景,补充悬停、选项禁用、整组禁用和高对比度规则;保留 size 与原生多选语义,不修改单选系统弹出菜单。第 10 项示例增加滚动及多选操作说明。未进行浏览器视觉验证。
520
+
521
+ ## 0.1.10 发布内容
522
+
523
+ 包含 HTML 按需主题/面板/按钮/输入样式、数字输入增强脚本、原生选择与上传样式、22 项表单验收目录及 AI 接入规则。发布前重新生成文档和构建,并检查包内出口。浏览器视觉验收及独立消费业务项目测试仍由用户继续完成。
524
+
525
+ ## 2026-11-04:0.1.10 原生 HTML 迁移文档修订(未发布)
526
+
527
+ 修正 AI 指南相对链接及 README 发布状态;新增透明地图覆盖层/主题面板/body 浮层示例,补齐旧页面 CSS 皮肤移除、布局保留和逐状态验收。迁移前后共用布局及业务脚本,不要求 Vue、不增加业务项目专用全局覆盖。详见 [HTML 迁移](HTML-INTEGRATION.md)和[迁移后示例](../examples/html/migration/after.html)。本轮仅文档、示例及生成器修订,未构建、发布或浏览器验证。
528
+
529
+ 本轮验证:相对链接检查覆盖源码文档、生成 AI 文档及 npm files 清单;迁移前后 DOM 检查覆盖相同 ID、查询/重置、地图点击监听、弹窗事件接线和主题同步。弹窗方法使用测试替身,未验证实际焦点、地图拖拽、布局或视觉状态。没有改动库样式代码或业务消费项目,版本仍为 0.1.10,修订尚未发布。
530
+
531
+ ## 0.1.11 发布内容
532
+
533
+ 修正 AI 指南及合并文档相对链接,更新 README 当前发布状态并归档历史说明。原生 HTML 路线明确保留 DOM/事件/表单且无需 Vue;新增透明地图覆盖层、独立浮层主题、旧皮肤移除及前后迁移示例。发布检查包括生成文档、相对链接/包内路径、类型和库构建;未进行浏览器视觉或真实地图验收。
534
+
535
+ ## 0.1.12 引导式接入
536
+
537
+ 新增唯一 START-HERE.md 入口,要求先询问 HTML/JavaScript 或 Vue 并等待用户回答,再确认目标与范围;明确回答不重复问,不确定时只读检查后请用户确认。README、llms 生成源、AI/HTML/迁移/主题/按需指南及网站快速开始共用此规则。HTML 保留已有交互,Vue 为用户明确选择的路线。包不会自行弹出问答,需 AI 阅读文档后执行。
538
+
539
+ ## Vue 地图与系统管理起步模板(未发布)
540
+
541
+ 新增模板选择问答及 examples/vue-starter 完整组合项目。使用真实库布局,包含地图待配置说明、查询/详情/过程区和管理查询/分页/新增编辑。实际地图引擎和底图须用户确认,不自行生成其他业务工作台。见 [模板指南](VUE-TEMPLATES.md)。本轮不构建、发布或浏览器验证。
542
+
543
+ ## Vue 平台路由与页面隔离修复(未发布)
544
+
545
+ 起步项目使用 Vue Router hash 路由区分地图页与管理页,RouterView + KeepAlive 缓存页面。管理页增加唯一根容器,修复多根节点配合 v-show 导致两页同时显示;头部改为按内容宽度排列、修正地图模式高度及管理滚动边界,配置中文组件语言。不声称已通过浏览器视觉验收。
546
+
547
+ ## WorkbenchPanel 独立悬浮面板表面修复(未发布)
548
+
549
+ 面板组件此前缺少自身表面规则,单独用于地图外壳时只有内容和内边距。新增组件内背景、主题文字、边框、圆角及 floating 阴影,不依赖祖先工作区、不添加消费页皮肤补丁。地图查询与表格之间补充布局间距。预览使用显式源码快照;待浏览器视觉验收。
550
+
551
+ ## 一张图参考模板组合完善(未发布)
552
+
553
+ 起步地图页复用 AtlasMapTitle、RainfallRankingTable、MapValueLegend、AtlasRightToggleButton 及 MapTools,替换通用表格/卡片。新增 MapCategoryMenu 组合分类胶囊菜单:groups/activeGroup/active/compact/dark,update:activeGroup/update:active/update:compact,无插槽;分类皮肤复用 MapSideMenu。PlatformLayout 顶部收紧为参考平台的独立品牌/导航/工具胶囊。数据均显式为示例,图例开关只更新示例图例,不声称操控真实图层;尚无真实地图/测站接口。未修改参考项目,不构建或发布。
554
+
555
+
556
+ ## 地图分类栈内容高度修正(未发布)
557
+
558
+ MapSideMenu 新增 embedded(默认 false)和 showTools(默认 true)。embedded 按内容撑高、工具栏参与文档流;showTools=false 不渲染工具栏也不预留工具空间。独立菜单默认行为保持不变。MapCategoryMenu 为每组启用 embedded,只有活动组显示工具,分类栈不设置内部滚动,由 MapPageLayout 左侧区域统一滚动,避免重复工具留白和双滚动条。消费项目无需补写菜单皮肤 CSS。已同步本地 Vue 起步预览源码;地图底图、业务站点数据仍需消费方接入,不代表完整地图效果已验证。
559
+
560
+
561
+ ## 起步项目真实底图接入(未发布)
562
+
563
+ Vue 起步项目的地图路线现通过 StarterBasemap.vue 初始化 MapLibre GL JS(^5.24.0),不再显示空占位层。默认使用 https://demotiles.maplibre.org/style.json 公共演示底图,中心为中国区域;它不等同于参考平台的中文底图、行政边界或业务测站。复制 .env.example 为 .env.local 后,可通过 VITE_MAP_STYLE_URL 指向自己的 MapLibre style JSON,修改后重启开发服务器。公共演示服务依赖外网,仅供起步验证,不承诺生产可用性;生产需配置自有或授权服务,保留数据署名。底图不添加原生导航控件,数据署名保留在左下角,避免右侧排行覆盖;容器变化自动 resize,离开地图页销毁实例,失败通过库 UiAlert 展示。CSS 顺序:MapLibre CSS、Element Plus CSS、库 style.css、应用布局 CSS,各导入一次。
564
+
565
+ sky-ui-kit 的地图 UI 组件不包含 initMap/createMap 引擎导出;参考平台的 initMap 属于其地图核心。地图引擎由起步应用依赖,不新增库的强制引擎依赖。本文更新覆盖此前“默认不加载地图”的起步说明。业务测站、行政区选择及图例仍为独立示例,尚未绑定底图操作。未进行浏览器视觉验证,也未构建发布。
566
+
567
+
568
+ ### 地图左侧滚动条统一(未发布)
569
+
570
+ MapPageLayout 左侧插槽改用库公开 UiScrollbar(封装 Element Plus ElScrollbar),高度跟随左右边距限定的可视区域。移除外层 overflow:auto,避免原生粗滚动条;MapCategoryMenu 仍按内容撑高,不创建第二个滚动容器。滚轮、触摸及键盘聚焦滚动沿用 ElScrollbar,滚动条皮肤使用现有主题,不在消费项目仿写。已同步本地起步预览;未进行浏览器视觉验证、构建或发布。
571
+
572
+
573
+ ## MapCategoryMenu 完整分类导航(未发布)
574
+
575
+ 替代此前逐分类嵌套 MapSideMenu 的实现。组件使用与 MapSideMenu 共用的 scoped map-side-menu.css,内部固定唯一搜索/图标切换工具区,下面由 UiScrollbar 滚动;放入 MapPageLayout 左侧时高度为100%,不依赖消费方复制皮肤。搜索覆盖全部分类、子项及其 children:分类命中显示整组,否则保留匹配分支,搜索时展开匹配组;清空或关闭搜索后恢复之前展开状态。点击分类展开/收起,选中分类和选中子项分别管理;切换分类不会自动选择子项。compact 只隐藏文字,按钮保留 title/可访问名称及焦点样式。无子项分类作为一级入口,不展开空内容,无匹配显示“未找到匹配菜单”。
576
+
577
+ API:groups 必填,为 {key,label,items:MapMenuItem[]}[];activeGroup/active 默认空字符串,compact/dark 默认 false。支持 v-model:active-group、v-model:active、v-model:compact;新增 select({groupKey,item}) 事件,仅点击具体子项触发。无插槽。分类 key 应唯一,组内子项 key 应唯一;本版展示子项及其一层 children,不提供任意深度树编辑或地图业务加载。
578
+
579
+ ```vue
580
+ <script setup>
581
+ import { ref } from 'vue'
582
+ import { MapPageLayout, MapCategoryMenu } from 'sky-ui-kit'
583
+ const group = ref('observed'), active = ref('rain'), compact = ref(false)
584
+ const groups = [{ key:'observed', label:'实况测站', items:[{key:'rain',label:'降水'},{key:'water',label:'水位'}] }, {key:'satellite',label:'卫星产品',items:[]}]
585
+ function select({groupKey,item}) { console.log('消费方加载图层',groupKey,item.key) }
586
+ </script>
587
+ <template>
588
+ <MapPageLayout :left-panel-width="230">
589
+ <template #left><MapCategoryMenu v-model:active-group="group" v-model:active="active" v-model:compact="compact" :groups="groups" @select="select" /></template>
590
+ </MapPageLayout>
591
+ </template>
592
+ ```
593
+
594
+ 组件父容器须有明确高度;上例 MapPageLayout 须放在有明确高度且 position:relative 的工作区。起步项目移除“布局预览”假子项,未接入分类保留一级入口,标题提示尚未接入业务图层。源码与本地预览同步,生成AI文档;浏览器视觉和交互仍待验证,未构建打包发布。
595
+
596
+
597
+ MapCategoryMenu 叶子分类修正(未发布):items=[] 为一级可选入口,仅触发 update:activeGroup,不显示子列表、连线、aria-expanded 或空菜单提示;有子项的分类才展开/收起。全局搜索无匹配仍显示“未找到匹配菜单”。业务是否接入由消费页说明,不由导航组件伪装为子菜单。
598
+
599
+
600
+ ### 起步项目顶部菜单收敛(未发布)
601
+
602
+ 顶部仅保留“一张图”“预报”“系统设置”三个入口,分别对应 /map/atlas、/map/forecast、/management/users。系统设置继续使用管理布局与已有用户管理示例。预报目前复用地图布局,尚未接入真实预报数据或独立预报工作流;不再把中尺度、水文、中长期、调度及模型等条目直接铺在顶部。本次只修改示例菜单配置,不把具体业务栏目写死在 PlatformLayout 组件中。未构建发布或浏览器验证。
603
+
604
+
605
+ 起步地图交互调整(未发布):不注册 MapLibre NavigationControl,不显示原生放大、缩小、指南针按钮;滚轮缩放、拖动及触摸手势保留。数据署名 AttributionControl 保留,未通过隐藏控件容器的全局 CSS 移除署名。同步起步示例及本地预览,未构建发布或浏览器验证。
606
+
607
+
608
+ ### 平台顶部导航切换稳定性(未发布)
609
+
610
+ PlatformLayout 地图/管理两种模式统一头部高度(header-height 默认52px加6px顶部留白)、品牌/导航/工具胶囊的边框、圆角、内边距和阴影;主导航相对整个平台头部水平居中,不受行政区选择器显示隐藏影响。导航默认、悬停、聚焦与选中保持相同边框宽度和字重,不使用位移反馈。管理内容区同步避让统一头部高度。模式仍保留地图透明背景和管理实底背景,仅改变内容布局而不重设顶部导航尺寸。源码预览和AI文档同步,类型检查验证;未浏览器验证、构建发布,实际切换效果待确认。
611
+
612
+
613
+ ### 起步地图菜单精简(未发布)
614
+
615
+ 起步项目左侧仅保留“实况(测站) → 降水”,移除其余气象、水文分类和子菜单。排行、图例及过程区继续使用明确标记的模拟数据,无实况接口;通用 MapCategoryMenu 的多分类能力保持可配置,不将示例精简写死进组件。已同步本地预览,未构建发布或浏览器验证。
616
+
617
+
618
+ ### 起步地图模拟菜单(未发布)
619
+
620
+ 在“实况(测站) → 降水”之外,增加三个明确标记的模拟入口:“预报产品(模拟)”(逐小时/逐日两个模拟子项)、“卫星影像(模拟)”、“视频监控(模拟)”。用于检查分组展开、叶子入口选中及搜索;标题明确提示未接入业务图层,不模拟真实接口,右侧仍为降水示例数据。共四个一级分类,避免恢复此前过长菜单。同步本地预览及AI文档,未构建发布或浏览器验证。
621
+
622
+
623
+ ### 地图工具栏统一与演示测站(未发布)
624
+
625
+ 起步项目使用 MapTools.before 插槽容纳 AtlasRightToggleButton,折叠按钮与其他工具共用一个背景面板,不再拼接不同宽度的两组控件。两组件使用 --userssite-map-tool-size(默认34个cp单位)、border-box、相同图标字号;hover/active不向上位移。颜色和边框继续使用库主题变量,不添加消费方仿写皮肤。工具仍由消费方处理业务动作。
626
+
627
+ StarterBasemap 增加六个固定演示测站标记,点击显示站名、模拟雨量及非实况/演示坐标说明;使用 MapLibre Marker/Popup,卸载时清理。站点不代表真实观测,不与右侧排行或图例联动。同步本地预览与AI文档,未构建发布或浏览器验证。
628
+
629
+
630
+ ### 预报独立录入/结果布局(未发布)
631
+
632
+ 起步项目 /map/forecast 使用独立 ForecastPage.vue,不再复用一张图菜单、排行或底部过程表。左侧 MapWorkspacePanel(320)承载 UiForm 信息录入:方案名称、区域、演示模型、时长、输出间隔及底部生成/重置;右侧面板(420)承载结果空状态、参数快照、累计模拟降水与分时表格,中间保留真实底图。使用现有库组件,不新增业务皮肤。点击生成使用固定规则生成模拟结果,无真实预报API;名称必填,间隔不可大于时长。参数变化标记结果过期,重置同时清空结果。模拟区域尚未与地图范围联动,地图演示测站仍为独立数据。顶部预报高亮由独立路由控制。类型检查,未浏览器验证、构建发布。本文覆盖此前预报复用地图页的说明。
633
+
634
+
635
+ ### 预报工具栏补齐(未发布)
636
+
637
+ ForecastPage 在 MapPageLayout.toolbar 中复用 MapTools 和 before 插槽内的 AtlasRightToggleButton,统一显示在右侧结果面板左边。支持结果面板收起/展开、生成模拟结果、重置参数及结果;面板收起后工具栏随布局贴近右边缘,生成成功自动展开结果。与一张图共用组件皮肤,不添加页面级工具栏外观。同步起步源码、本地预览与AI文档,未浏览器验证或构建发布。
package/docs/AI-GUIDE.md CHANGED
@@ -1,10 +1,16 @@
1
+ > 当前版本 0.1.13:完整 Vue 模板与 PlatformLayout / MapCategoryMenu 已纳入本次发布,使用包内 examples/vue-starter。当前配置以 docs/VUE-TEMPLATES.md 为准;下文“未发布”“源码快照”“未接入地图”等为此前开发阶段记录,不作为本版接入指令。
2
+
1
3
  # sky-ui-kit:AI 使用指南
2
-
3
- ## AI 接入入口:先选择使用方式
4
-
5
- 当用户要求引入 sky-ui-kit 时,先读取当前安装包的 llms.txt 和 [原生 HTML 接入与迁移](HTML-INTEGRATION.md),检查项目和真实 exports。原生 HTML 路线统一库支持的控件样式,保留原 DOM、事件和表单行为,无需 Vue。仅在用户明确需要真实 Vue 组件时,才选择 Vue 直接接入或局部挂载。目标不明确时询问;接入后合并项目 AGENTS.md 规则,按实际视觉状态和业务行为验收,不能只以安装成功或 CSS 已加载作为完成依据。
6
-
7
- HTML 按需入口从 0.1.10 提供;0.1.9 使用完整 model-workspace.css。示例网站快速开始下方提供“HTML 按需样式接入”演示和完整可复制代码。
4
+
5
+ 本轮新增 PlatformLayout 平台外壳(未发布):统一头部、地图贯穿背景、悬浮导航及管理分组侧栏。起步模板依赖该新出口,npm 0.1.12 尚不可直接使用;详见 [Vue 模板](VUE-TEMPLATES.md)。
6
+
7
+ ## AI 接入入口:先询问用户
8
+
9
+ 创建 Vue 项目时还需询问地图一张图、系统管理或组合模板,见 [Vue 起步模板](VUE-TEMPLATES.md);用户未选择时不得自行生成其他业务工作台。
10
+
11
+ 当用户要求引入 sky-ui-kit 时,必须先读取[引导式接入流程](START-HERE.md),先询问用户接入 HTML/JavaScript 还是 Vue,再询问页面范围及接入目标,等待回答后配置。不得仅根据项目文件猜测路线;用户在当前对话已经明确的答案不重复询问。HTML 换肤保留原 DOM、业务事件和表单,不要求 Vue。按所选路线读取后续指南并合并项目 AGENTS.md;不能以安装成功或 CSS 已加载代替视觉及行为验收。
12
+
13
+ HTML 按需入口从 0.1.10 提供;0.1.9 使用完整 model-workspace.css。示例网站快速开始下方提供“HTML 按需样式接入”演示和完整可复制代码。
8
14
 
9
15
  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 的浮层仍由组件自身管理层级。预览“模拟模块遮挡”可核对重叠交互;完全被覆盖的部分不接收鼠标,应从模块可见区域移入。
10
16
 
@@ -270,8 +276,8 @@ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切
270
276
  ```
271
277
  预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
272
278
 
273
- HTML 表单逐项示例见 [验收目录](HTML-FORM-CATALOG.md),网站独立导航按编号核对;原生与 Vue 的边界见各项说明。
274
-
279
+ HTML 表单逐项示例见 [验收目录](HTML-FORM-CATALOG.md),网站独立导航按编号核对;原生与 Vue 的边界见各项说明。
280
+
275
281
  <!-- GENERATED EXAMPLES -->
276
282
 
277
283
  ### 快速开始:安装最新正式版本
@@ -319,23 +325,15 @@ function confirm() { UiMessage.success('当前站点:' + station.value) }
319
325
  ### 快速开始:团队 AI 读取提示
320
326
 
321
327
  ```text
322
- 请先读取 node_modules/sky-ui-kit/llms.txt,确认当前项目目标:
323
- - 原生 HTML:先读 docs/HTML-INTEGRATION.md,保留现有 DOM、业务事件和表单,仅接入支持的控件样式;不要求 Vue。
324
- - 地图悬浮面板:透明覆盖层保留布局,主题放在实际面板及独立浮层;清理旧控件皮肤并按状态验收。
325
- - 明确需要真实 Vue 组件时,才按以下 Vue 索引读取:
326
- - components.json:当前已安装版本的公开组件与 API 清单
327
- - docs/AI-GUIDE.md:使用规则和完整示例
328
- - docs/AI-CHANGELOG.md:模块变更及接入影响
329
- - docs/COMPONENT-API.md:属性、事件、插槽与类型
330
- - docs/CSS-THEME.md:主题变量、样式隔离与浮层限制
331
- - docs/INTEGRATION.md:原项目替换和业务接线
332
- - docs/COMPONENT-USAGE.md:原项目实际使用的组件与调用位置
333
- - docs/ADAPTATION.md:逐模块替换、Vite 图标配置、主题及业务适配方案
334
-
335
- 请依据当前已安装包的版本与文档生成代码,不要虚构组件名称或 API。
336
- CSS 在当前项目公共入口只引入一次(HTML 可使用 link;Vue 使用 main.ts)。
337
- 不能只以安装成功或 CSS 已加载作为视觉接入完成依据;按默认/悬停/聚焦/禁用/选中和原业务行为核对。
338
- 业务请求、路由、权限由应用接入。
328
+ 请读取 node_modules/sky-ui-kit/llms.txt 和 docs/START-HERE.md。
329
+ 请先问我这次接入 HTML/JavaScript 还是 Vue,等待我的回答,不要根据项目文件直接猜测。
330
+ 然后按我的选择询问页面范围和目标:HTML 保留现有 DOM/事件/表单,仅统一支持的控件样式;
331
+ Vue 询问是使用真实组件还是仅给原生控件换肤。
332
+ 创建 Vue 项目还须询问地图一张图、系统管理、两者组合或空项目,按 docs/VUE-TEMPLATES.md 使用包内模板。
333
+ 地图引擎和底图须用户明确选择,也可先保留待配置状态;不要自行生成通用项目工作台。已经明确提供的信息不重复询问。
334
+ 我选择“不确定”时再检查项目并请我确认。回答前只做文档读取和只读检查,不执行路线相关配置。
335
+ 按所选路线查阅包内指南及真实 exports,保留已有项目规则并合并到 AGENTS.md。
336
+ 完成后报告状态外观、原有业务行为的验证结果与剩余限制,不把安装成功视为接入完成。
339
337
  ```
340
338
 
341
339
  ### 图标安装:内置与自有资源
@@ -226,6 +226,8 @@ export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
226
226
  | Name | Type | Required | Default expression |
227
227
  |---|---|---|---|
228
228
  | flat | boolean | false | false |
229
+ | embedded | boolean | false | false |
230
+ | showTools | boolean | false | true |
229
231
  | title | string | false | '实况(测站)' |
230
232
  | active | string | false | 'rain' |
231
233
  | multiple | boolean | false | false |
@@ -1137,6 +1139,50 @@ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength]
1137
1139
 
1138
1140
  ```
1139
1141
 
1142
+ ## PlatformLayout
1143
+
1144
+ ### Props
1145
+
1146
+ | Name | Type | Required | Default expression |
1147
+ |---|---|---|---|
1148
+ | mode | 'map' &#124; 'management' | false | 'map' |
1149
+ | title | string | false | '业务平台' |
1150
+ | active | string | false | '' |
1151
+ | items | ProjectMenuItem[] | false | ()=>[] |
1152
+ | groups | ProjectMenuGroup[] | false | ()=>[] |
1153
+ | menuActive | string | false | '' |
1154
+ | sidebarOpen | boolean | false | true |
1155
+
1156
+ ### Events
1157
+
1158
+ - `update:active` — `[key:string]`
1159
+ - `update:menuActive` — `[key:string]`
1160
+ - `update:sidebarOpen` — `[open:boolean]`
1161
+ - `select` — `[item:ProjectMenuItem]`
1162
+
1163
+ Slots: map, brand, region, utilities, sidebar-heading, sidebar, sidebar-footer, default
1164
+
1165
+ ## MapCategoryMenu
1166
+
1167
+ ### Props
1168
+
1169
+ | Name | Type | Required | Default expression |
1170
+ |---|---|---|---|
1171
+ | groups | { key: string; label: string; items: MapMenuItem[] }[] | true | undefined / no declared default |
1172
+ | activeGroup | string | false | '' |
1173
+ | active | string | false | '' |
1174
+ | compact | boolean | false | false |
1175
+ | dark | boolean | false | false |
1176
+
1177
+ ### Events
1178
+
1179
+ - `update:activeGroup` — `[key: string]`
1180
+ - `update:active` — `[key: string]`
1181
+ - `update:compact` — `[value: boolean]`
1182
+ - `select` — `[selection: { groupKey: string; item: MapMenuItem }]`
1183
+
1184
+ Slots: No declared content slots.
1185
+
1140
1186
  ## UiAffix
1141
1187
 
1142
1188
  固钉 · 导航组件. 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
@@ -1,5 +1,9 @@
1
1
  # CSS 变量主题与样式隔离
2
2
 
3
+ 本轮新增 PlatformLayout 平台外壳(未发布):统一头部、地图贯穿背景、悬浮导航及管理分组侧栏。起步模板依赖该新出口,npm 0.1.12 尚不可直接使用;详见 [Vue 模板](VUE-TEMPLATES.md)。
4
+
5
+ 接入前必须先按 [引导式接入流程](START-HERE.md)询问用户 HTML/Vue 和目标范围,等待答案后再采用本文对应路线;不得从项目结构自行猜测。
6
+
3
7
  MapPageLayout 使用 --map-layout-layer-content/panel/legend/toolbar/focus/hover 统一区域层级。与原平台一致:content=1、panel=2、legend=3、toolbar=4、focus=5、hover=6,时间轴和右栏同样参与;hover 高于 focus;content 内部即使使用较大 z-index 也不跨越区域堆叠上下文。图例和底部外层允许内容溢出,避免浮层被父区域裁剪;内部滚动由业务组件负责。
4
8
 
5
9
  MapPageLayout 是新增独立区域布局,读取现有主题变量及库作用域默认变量,不改写全局颜色。所有面板的 hover 层级高于 focus-within;右栏始终按固定区域关系避让。旧 TemplateLayout 的业务选择器保留以兼容已有消费者,新布局不继承这些选择器。MapPageLayout 与 DefenseMapLayout structured 模式继承 VFit 尺寸变量,不在 720px 以下切换布局;会商网格按 minmax(0, 1fr) 均分剩余高度,默认模式保留兼容。
@@ -282,35 +286,103 @@ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切
282
286
  <MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
283
287
  ```
284
288
  预览入口: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 项示例增加滚动及多选操作说明。未进行浏览器视觉验证。
313
-
314
- ## 2026-11-04:0.1.10 原生 HTML 迁移文档修订(未发布)
315
-
316
- 修正 AI 指南相对链接及 README 发布状态;新增透明地图覆盖层/主题面板/body 浮层示例,补齐旧页面 CSS 皮肤移除、布局保留和逐状态验收。迁移前后共用布局及业务脚本,不要求 Vue、不增加业务项目专用全局覆盖。详见 [HTML 迁移](HTML-INTEGRATION.md)和[迁移后示例](../examples/html/migration/after.html)。本轮仅文档、示例及生成器修订,未构建、发布或浏览器验证。
289
+
290
+ ## 2026-11-04:HTML 按需样式接入(未发布)
291
+
292
+ 新增 theme/panel/button/input 四个 CSS 出口,完整 model-workspace.css 与拆分入口共享源码;网站新增隔离 HTML 示例。外观模式保留原 DOM/事件,不能当作 Vue 组件接入。结构、安装、状态、主题、浮层及 AGENTS.md 规则见 [HTML 接入](HTML-INTEGRATION.md)。仅生成文档和静态检查,未构建、发布或浏览器验证;历史“CSS 未拆分”对 Vue style.css 仍成立。
293
+
294
+ ### 原生控件自动换肤调整(未发布)
295
+
296
+ 新增 sky-html 容器入口,按需样式直接匹配原生 button/input/select/textarea;支持 data-sky-native="off" 本身及后代退出、Element Plus/地图内部控件排除,保留旧工作区 opt-in。主题默认低优先级,特殊按钮使用 data-variant,支持只读、禁用、错误及焦点状态;面板继续使用明确结构类,不覆盖所有 div。示例网站展示完整原生 HTML 状态及退出区域,详见 HTML-INTEGRATION.md。
297
+
298
+ ### HTML 控件未换肤修复
299
+
300
+ 此前 Element Plus 排除规则使用 class 包含 el-,误命中 sky-model-panel,导致整块面板内原生控件不应用样式。改为类名开头或空格后的 el- 前缀匹配,保留显式局部退出和第三方控件隔离。补充 DOM 选择器回归检查;未进行浏览器视觉验证。
301
+
302
+ ### HTML / Vue 控件视觉统一(未发布)
303
+
304
+ HTML 控件直接复用 scoped-theme.css 的 userssite 主题变量,与 Vue 共用字体、默认 32px 高度、4px 圆角、主色/危险色及派生状态色;危险按钮为实底,禁用状态不再整体透明。补充复选框、单选框及 data-sky-error 错误文案。HTML 示例同步网站根主题变量。只验证源码和 DOM 选择器,未进行浏览器像素对比;原生 select 弹出菜单、日期选择器仍由浏览器提供。
305
+
306
+ ### HTML 输入聚焦双框修复
307
+
308
+ 文本输入、select、textarea 聚焦时取消外扩 outline 和额外阴影,仅将已有边框改为主题主色;错误状态聚焦/悬停继续保持危险色。复选框、单选框的键盘焦点提示不变。未进行浏览器验证。
309
+
310
+ ### 原生数字、选择和上传控件完善(未发布)
311
+
312
+ 多选 select 恢复列表高度,保留系统弹出菜单;file-selector-button 使用共享主题及禁用/聚焦状态。新增可选 html/number.js 与 number.css,enhanceNumbers 保留原 input、min/max/step 与事件,返回清理函数;step=any 禁用增减,动态新增节点需再次初始化。验收第 8/10/20 项同步更新。未构建或浏览器验证。
313
+
314
+ ### HTML 原生多选列表外观调整
315
+
316
+ 多选/size 列表设置可覆盖的 220px 宽度、选项留白和主题选中背景,补充悬停、选项禁用、整组禁用和高对比度规则;保留 size 与原生多选语义,不修改单选系统弹出菜单。第 10 项示例增加滚动及多选操作说明。未进行浏览器视觉验证。
317
+
318
+ ## 2026-11-04:0.1.10 原生 HTML 迁移文档修订(未发布)
319
+
320
+ 修正 AI 指南相对链接及 README 发布状态;新增透明地图覆盖层/主题面板/body 浮层示例,补齐旧页面 CSS 皮肤移除、布局保留和逐状态验收。迁移前后共用布局及业务脚本,不要求 Vue、不增加业务项目专用全局覆盖。详见 [HTML 迁移](HTML-INTEGRATION.md)和[迁移后示例](../examples/html/migration/after.html)。本轮仅文档、示例及生成器修订,未构建、发布或浏览器验证。
321
+
322
+ ### PlatformLayout 头部与滚动边界(未发布)
323
+
324
+ 头部品牌/导航/工具按内容宽度分配,地图模式胶囊不拉伸整行;地图工作区扣除头部偏移,管理内容独立滚动。样式在库中维护,消费模板仅布局。页面切换使用路由,不能在多根组件上依赖 v-show 实现隔离。
325
+
326
+ ## WorkbenchPanel 独立悬浮面板表面修复(未发布)
327
+
328
+ 面板组件此前缺少自身表面规则,单独用于地图外壳时只有内容和内边距。新增组件内背景、主题文字、边框、圆角及 floating 阴影,不依赖祖先工作区、不添加消费页皮肤补丁。地图查询与表格之间补充布局间距。预览使用显式源码快照;待浏览器视觉验收。
329
+
330
+ ## 一张图参考模板组合完善(未发布)
331
+
332
+ 起步地图页复用 AtlasMapTitle、RainfallRankingTable、MapValueLegend、AtlasRightToggleButton 及 MapTools,替换通用表格/卡片。新增 MapCategoryMenu 组合分类胶囊菜单:groups/activeGroup/active/compact/dark,update:activeGroup/update:active/update:compact,无插槽;分类皮肤复用 MapSideMenu。PlatformLayout 顶部收紧为参考平台的独立品牌/导航/工具胶囊。数据均显式为示例,图例开关只更新示例图例,不声称操控真实图层;尚无真实地图/测站接口。未修改参考项目,不构建或发布。
333
+
334
+
335
+ ## 地图分类栈内容高度修正(未发布)
336
+
337
+ MapSideMenu 新增 embedded(默认 false)和 showTools(默认 true)。embedded 按内容撑高、工具栏参与文档流;showTools=false 不渲染工具栏也不预留工具空间。独立菜单默认行为保持不变。MapCategoryMenu 为每组启用 embedded,只有活动组显示工具,分类栈不设置内部滚动,由 MapPageLayout 左侧区域统一滚动,避免重复工具留白和双滚动条。消费项目无需补写菜单皮肤 CSS。已同步本地 Vue 起步预览源码;地图底图、业务站点数据仍需消费方接入,不代表完整地图效果已验证。
338
+
339
+
340
+ ## 起步项目真实底图接入(未发布)
341
+
342
+ Vue 起步项目的地图路线现通过 StarterBasemap.vue 初始化 MapLibre GL JS(^5.24.0),不再显示空占位层。默认使用 https://demotiles.maplibre.org/style.json 公共演示底图,中心为中国区域;它不等同于参考平台的中文底图、行政边界或业务测站。复制 .env.example 为 .env.local 后,可通过 VITE_MAP_STYLE_URL 指向自己的 MapLibre style JSON,修改后重启开发服务器。公共演示服务依赖外网,仅供起步验证,不承诺生产可用性;生产需配置自有或授权服务,保留数据署名。底图控件及署名放在左下角,避免右侧排行覆盖;容器变化自动 resize,离开地图页销毁实例,失败通过库 UiAlert 展示。CSS 顺序:MapLibre CSS、Element Plus CSS、库 style.css、应用布局 CSS,各导入一次。
343
+
344
+ sky-ui-kit 的地图 UI 组件不包含 initMap/createMap 引擎导出;参考平台的 initMap 属于其地图核心。地图引擎由起步应用依赖,不新增库的强制引擎依赖。本文更新覆盖此前“默认不加载地图”的起步说明。业务测站、行政区选择及图例仍为独立示例,尚未绑定底图操作。未进行浏览器视觉验证,也未构建发布。
345
+
346
+
347
+ ### 地图左侧滚动条统一(未发布)
348
+
349
+ MapPageLayout 左侧插槽改用库公开 UiScrollbar(封装 Element Plus ElScrollbar),高度跟随左右边距限定的可视区域。移除外层 overflow:auto,避免原生粗滚动条;MapCategoryMenu 仍按内容撑高,不创建第二个滚动容器。滚轮、触摸及键盘聚焦滚动沿用 ElScrollbar,滚动条皮肤使用现有主题,不在消费项目仿写。已同步本地起步预览;未进行浏览器视觉验证、构建或发布。
350
+
351
+
352
+ ## MapCategoryMenu 完整分类导航(未发布)
353
+
354
+ 替代此前逐分类嵌套 MapSideMenu 的实现。组件使用与 MapSideMenu 共用的 scoped map-side-menu.css,内部固定唯一搜索/图标切换工具区,下面由 UiScrollbar 滚动;放入 MapPageLayout 左侧时高度为100%,不依赖消费方复制皮肤。搜索覆盖全部分类、子项及其 children:分类命中显示整组,否则保留匹配分支,搜索时展开匹配组;清空或关闭搜索后恢复之前展开状态。点击分类展开/收起,选中分类和选中子项分别管理;切换分类不会自动选择子项。compact 只隐藏文字,按钮保留 title/可访问名称及焦点样式。无子项分类作为一级入口,不展开空内容,无匹配显示“未找到匹配菜单”。
355
+
356
+ API:groups 必填,为 {key,label,items:MapMenuItem[]}[];activeGroup/active 默认空字符串,compact/dark 默认 false。支持 v-model:active-group、v-model:active、v-model:compact;新增 select({groupKey,item}) 事件,仅点击具体子项触发。无插槽。分类 key 应唯一,组内子项 key 应唯一;本版展示子项及其一层 children,不提供任意深度树编辑或地图业务加载。
357
+
358
+ ```vue
359
+ <script setup>
360
+ import { ref } from 'vue'
361
+ import { MapPageLayout, MapCategoryMenu } from 'sky-ui-kit'
362
+ const group = ref('observed'), active = ref('rain'), compact = ref(false)
363
+ const groups = [{ key:'observed', label:'实况测站', items:[{key:'rain',label:'降水'},{key:'water',label:'水位'}] }, {key:'satellite',label:'卫星产品',items:[]}]
364
+ function select({groupKey,item}) { console.log('消费方加载图层',groupKey,item.key) }
365
+ </script>
366
+ <template>
367
+ <MapPageLayout :left-panel-width="230">
368
+ <template #left><MapCategoryMenu v-model:active-group="group" v-model:active="active" v-model:compact="compact" :groups="groups" @select="select" /></template>
369
+ </MapPageLayout>
370
+ </template>
371
+ ```
372
+
373
+ 组件父容器须有明确高度;上例 MapPageLayout 须放在有明确高度且 position:relative 的工作区。起步项目移除“布局预览”假子项,未接入分类保留一级入口,标题提示尚未接入业务图层。源码与本地预览同步,生成AI文档;浏览器视觉和交互仍待验证,未构建打包发布。
374
+
375
+
376
+ MapCategoryMenu 叶子分类修正(未发布):items=[] 为一级可选入口,仅触发 update:activeGroup,不显示子列表、连线、aria-expanded 或空菜单提示;有子项的分类才展开/收起。全局搜索无匹配仍显示“未找到匹配菜单”。业务是否接入由消费页说明,不由导航组件伪装为子菜单。
377
+
378
+
379
+ ### 平台顶部导航切换稳定性(未发布)
380
+
381
+ PlatformLayout 地图/管理两种模式统一头部高度(header-height 默认52px加6px顶部留白)、品牌/导航/工具胶囊的边框、圆角、内边距和阴影;主导航相对整个平台头部水平居中,不受行政区选择器显示隐藏影响。导航默认、悬停、聚焦与选中保持相同边框宽度和字重,不使用位移反馈。管理内容区同步避让统一头部高度。模式仍保留地图透明背景和管理实底背景,仅改变内容布局而不重设顶部导航尺寸。源码预览和AI文档同步,类型检查验证;未浏览器验证、构建发布,实际切换效果待确认。
382
+
383
+
384
+ ### 地图工具栏统一与演示测站(未发布)
385
+
386
+ 起步项目使用 MapTools.before 插槽容纳 AtlasRightToggleButton,折叠按钮与其他工具共用一个背景面板,不再拼接不同宽度的两组控件。两组件使用 --userssite-map-tool-size(默认34个cp单位)、border-box、相同图标字号;hover/active不向上位移。颜色和边框继续使用库主题变量,不添加消费方仿写皮肤。工具仍由消费方处理业务动作。
387
+
388
+ StarterBasemap 增加六个固定演示测站标记,点击显示站名、模拟雨量及非实况/演示坐标说明;使用 MapLibre Marker/Popup,卸载时清理。站点不代表真实观测,不与右侧排行或图例联动。同步本地预览与AI文档,未构建发布或浏览器验证。
@@ -1,6 +1,6 @@
1
1
  # Element Plus 完整组件目录
2
2
 
3
- 基准版本:2.14.7。共 111 个主 / 子组件、4 个服务出口、3 个指令出口。另保留 42 个项目特色组件。
3
+ 基准版本:2.14.7。共 111 个主 / 子组件、4 个服务出口、3 个指令出口。另保留 44 个项目特色组件。
4
4
 
5
5
  清单覆盖官方组件注册表及服务 / 指令,不包含内部工具函数。出口覆盖不代表所有组件的交互、独立示例和视觉状态均已验证。网站每项均提供导入和官方 API 索引,新增组合示例见 AI-GUIDE.md。
6
6
 
@@ -1,5 +1,9 @@
1
1
  # 原生 HTML 样式接入与旧页面迁移
2
2
 
3
+ ## 开始前先完成接入问答
4
+
5
+ 先按 [引导式接入流程](START-HERE.md)询问用户 HTML/Vue 和目标范围,等待答案再配置。本文是用户选择原生控件换肤后的实施指南,不用于 AI 自行选择技术路线。
6
+
3
7
  ## 目标、版本与路线
4
8
 
5
9
  本路线适用于已有 HTML/JavaScript 页面、服务端模板以及 Vue 页面中的原生元素:统一库支持的控件表面样式,保留原 DOM、id/name/data 属性、监听器、表单提交和业务行为。不要求迁移 Vue,也不因页面包含查询、校验、弹窗等交互而切换技术栈。
@@ -104,7 +108,7 @@ data-sky-native="off" 使节点及其后代退出控件皮肤;内层 sky-html
104
108
 
105
109
  合并以下规则并保留原有内容;文档路径相对安装包根目录:
106
110
 
107
- > 本项目采用 sky-ui-kit 原生 HTML 样式路线。先读当前安装包 llms.txt、docs/HTML-INTEGRATION.md、docs/HTML-FORM-CATALOG.md 并核对 exports。保留原 DOM、监听器、表单与地图行为;使用受支持的库控件皮肤,删除冲突的旧默认及状态皮肤声明,保留布局。透明地图覆盖层不得因主题变为实底;浮层主题边界明确设置。不得通过叠加仿写皮肤补丁实现一致性。只有明确需要真实 Vue 组件才选择可选 Vue 路线。按视觉状态和原有业务行为验收,记录系统控件差异和未支持项。升级后重新核对当前包。
111
+ > 本项目经用户确认采用 sky-ui-kit 原生 HTML 样式路线,接入范围按本项目记录。后续新增接入先按 docs/START-HERE.md 确认未明确的路线及范围,不从项目结构自行猜测。先读当前安装包 llms.txt、docs/HTML-INTEGRATION.md、docs/HTML-FORM-CATALOG.md 并核对 exports。保留原 DOM、监听器、表单与地图行为;使用受支持的库控件皮肤,删除冲突的旧默认及状态皮肤声明,保留布局。透明地图覆盖层不得因主题变为实底;浮层主题边界明确设置。不得通过叠加仿写皮肤补丁实现一致性。只有明确需要真实 Vue 组件才选择可选 Vue 路线。按视觉状态和原有业务行为验收,记录系统控件差异和未支持项。升级后重新核对当前包。
108
112
 
109
113
  ## 验收:视觉和业务均通过才完成
110
114