sky-ui-kit 0.1.8 → 0.1.9

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,6 +1,6 @@
1
1
  # sky-ui-kit
2
2
 
3
- > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.8. AI tools must explicitly load these files.
3
+ > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.9. AI tools must explicitly load these files.
4
4
 
5
5
  ## Documentation
6
6
 
@@ -258,6 +258,39 @@ MapLayerControl 参考平台 LayerControl/LayerTreeNode,提供底图选择、
258
258
 
259
259
  flat 模式按钮此前错误使用 child 类而内部图标、文字使用 parent 类,导致 active 样式不匹配。统一按钮及内容层级类,保留现有单选、多选及事件逻辑。
260
260
 
261
+ ## 2026-11-03:可配置 VFit 尺寸(源码待发布)
262
+
263
+ 数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
264
+
265
+ 所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
266
+
267
+ | 组件 | 参数与默认值 |
268
+ | --- | --- |
269
+ | MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
270
+ | DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
271
+ | MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
272
+ | ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
273
+ | WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
274
+ | ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
275
+ | AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
276
+ | ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
277
+ | MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
278
+ | MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
279
+ | ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
280
+
281
+ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
282
+
283
+ 地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
284
+
285
+ 示例:
286
+ ```vue
287
+ <MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
288
+ 业务内容
289
+ </MapWorkspacePanel>
290
+ <MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
291
+ ```
292
+ 预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
293
+
261
294
  <!-- GENERATED EXAMPLES -->
262
295
 
263
296
  ### 快速开始:安装最新正式版本
@@ -1001,26 +1034,29 @@ const items = [{ key: 'overview', label: '运行概览' }, { key: 'data', label:
1001
1034
  ```vue
1002
1035
  <script setup lang="ts">
1003
1036
  import { ref } from 'vue'
1004
- import { MapPageLayout, DefenseMapLayout, UiButton, MapTools, WorkbenchPanel } from 'sky-ui-kit'
1037
+ import { MapPageLayout, DefenseMapLayout, UiButton, MapTools, WorkbenchPanel, MapWorkspacePanel } from 'sky-ui-kit'
1005
1038
  const rightOpen = ref(true)
1006
1039
  const showTimeline = ref(true)
1007
1040
  const overlap = ref(false)
1041
+ const compactDimensions = ref(false)
1008
1042
  </script>
1009
1043
  <template>
1010
1044
  <div class="layout-demo-controls">
1045
+ <UiButton @click="compactDimensions = !compactDimensions">{{ compactDimensions ? '切回默认尺寸' : '查看紧凑尺寸' }}</UiButton>
1011
1046
  <UiButton @click="rightOpen = !rightOpen">{{ rightOpen ? '收起右栏' : '展开右栏' }}</UiButton>
1012
1047
  <UiButton @click="showTimeline = !showTimeline">{{ showTimeline ? '隐藏时间轴' : '显示时间轴' }}</UiButton>
1013
1048
  <UiButton @click="overlap = !overlap">{{ overlap ? '恢复正常避让' : '模拟模块遮挡' }}</UiButton>
1014
1049
  </div>
1015
1050
  <div class="layout-demo-map" >
1016
- <MapPageLayout v-model:right-open="rightOpen" :timeline-right="overlap ? 'var(--map-layout-edge)' : ''">
1051
+ <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)' : ''">
1017
1052
  <template #top><span>地图标题 / 查询区域</span></template>
1018
1053
  <template #toolbar><MapTools :items="[{ key: 'layers', label: '图层' }]" /><WorkbenchPanel v-if="overlap" class="layout-demo-expanded">右上展开面板<br>鼠标移入时整个工具区域置顶</WorkbenchPanel></template>
1019
- <template #right><WorkbenchPanel style="height: 100%">右栏 · 放参数表单或业务列表<br>鼠标移入当前区域时置顶</WorkbenchPanel></template>
1054
+ <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>
1020
1055
  <template #legend><WorkbenchPanel :class="{ 'layout-demo-overlap-legend': overlap }">图例 · 鼠标移入置顶</WorkbenchPanel></template>
1021
1056
  <template v-if="showTimeline" #timeline><WorkbenchPanel class="layout-demo-timeline">时间轴 / 过程图区域 · 鼠标移入置顶</WorkbenchPanel></template>
1022
1057
  </MapPageLayout>
1023
1058
  </div>
1059
+ <p>尺寸参数:数字自动跟随 VFit,数组为上/右/下/左间距,CSS 字符串原样使用。例如 :body-padding="[8, 12]"、:gap="8"。</p>
1024
1060
  <h3>会商布局 · 顶部操作区 + 四个地图位置</h3>
1025
1061
  <p>以下仅展示区域,不创建地图。保持两列布局,尺寸沿用 VFit 缩放变量;四个地图位置均分剩余高度,不产生内部滚动条。</p>
1026
1062
  <div class="layout-demo-map" >
@@ -3482,10 +3518,49 @@ SVG 图库从主入口移到可选 icons 入口,SvgIcon 不再自动注册;
3482
3518
  ## 2026-10-30 · HTML / Vue 双接入文档
3483
3519
 
3484
3520
  新增独立 model-workspace.css 发布出口,原生 HTML 用 CSS 和结构类,Vue 用主题组件与公共 CSS。补齐两套完整示例、主题切换、事件绑定和部署路径说明,未构建发布。
3521
+
3522
+ ## 2026-11-02 · 0.1.8 发布准备
3523
+
3524
+ - 发布当前组件源码、按需入口及模型工作区主题;HTML 使用 model-workspace.css,Vue 使用组件与 style.css。清除旧消费项目锁记录。发布状态以 npm 注册表为准。
3525
+
3526
+
3527
+
3528
+ ## 2026-11-03:可配置 VFit 尺寸(源码待发布)
3529
+
3530
+ 数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
3531
+
3532
+ 所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
3533
+
3534
+ | 组件 | 参数与默认值 |
3535
+ | --- | --- |
3536
+ | MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
3537
+ | DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
3538
+ | MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
3539
+ | ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
3540
+ | WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
3541
+ | ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
3542
+ | AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
3543
+ | ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
3544
+ | MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
3545
+ | MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
3546
+ | ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
3547
+
3548
+ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
3549
+
3550
+ 地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
3551
+
3552
+ 示例:
3553
+ ```vue
3554
+ <MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
3555
+ 业务内容
3556
+ </MapWorkspacePanel>
3557
+ <MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
3558
+ ```
3559
+ 预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
3485
3560
 
3486
- ## 2026-11-02 · 0.1.8 发布准备
3561
+ ## 2026-11-03 · 0.1.9 发布准备
3487
3562
 
3488
- - 发布当前组件源码、按需入口及模型工作区主题;HTML 使用 model-workspace.css,Vue 使用组件与 style.css。清除旧消费项目锁记录。发布状态以 npm 注册表为准。
3563
+ - 将当前布局、面板、尺寸适配与主题调整纳入新版,重新生成 AI 文档并检查组件包。发布结果以 npm 注册表为准。
3489
3564
 
3490
3565
 
3491
3566
  # Component API reference
@@ -3517,6 +3592,9 @@ Slots: No declared content slots.
3517
3592
 
3518
3593
  | Name | Type | Required | Default expression |
3519
3594
  |---|---|---|---|
3595
+ | width | DesignLength | false | '100%' |
3596
+ | controlHeight | DesignLength | false | '' |
3597
+ | controlPadding | DesignSpacing | false | () => [0, 10] |
3520
3598
  | modelValue | AppSelectValue | false | undefined |
3521
3599
  | options | AppSelectOption[] | false | () => [] |
3522
3600
  | emptyLabel | string | false | '暂无可选项' |
@@ -3531,6 +3609,10 @@ Slots: No declared content slots.
3531
3609
  Slots: No declared content slots.
3532
3610
 
3533
3611
  ```ts
3612
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
3613
+ export type DesignLength = number | string
3614
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
3615
+
3534
3616
  export type AppSelectValue = string | number | boolean | Record<string, unknown> | AppSelectValue[] | null | undefined
3535
3617
  export type AppSelectOption = {
3536
3618
  label: string
@@ -3545,6 +3627,10 @@ export type AppSelectOption = {
3545
3627
 
3546
3628
  | Name | Type | Required | Default expression |
3547
3629
  |---|---|---|---|
3630
+ | padding | DesignSpacing | false | () => [10, 12] |
3631
+ | gap | DesignLength | false | 9 |
3632
+ | trackHeight | DesignLength | false | 88 |
3633
+ | controlHeight | DesignLength | false | 30 |
3548
3634
  | modelValue | number | false | 0 |
3549
3635
  | startTime | TimelineTimeInput | false | () => new Date() |
3550
3636
  | points | TimelinePoint[] | false | () => [] |
@@ -3579,6 +3665,10 @@ export type AppSelectOption = {
3579
3665
  Slots: date-select
3580
3666
 
3581
3667
  ```ts
3668
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
3669
+ export type DesignLength = number | string
3670
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
3671
+
3582
3672
  type IntervalUnit = 'minute' | 'hour' | 'day' | 'month' | 'year'
3583
3673
  type TimelineKind = 'observed' | 'forecast'
3584
3674
  type TimelineTimeInput = string | number | Date
@@ -3668,6 +3758,11 @@ export type TimeRangeQuickOption = {
3668
3758
 
3669
3759
  | Name | Type | Required | Default expression |
3670
3760
  |---|---|---|---|
3761
+ | width | DesignLength | false | '' |
3762
+ | itemHeight | DesignLength | false | '' |
3763
+ | itemPadding | DesignSpacing | false | '' |
3764
+ | padding | DesignSpacing | false | '' |
3765
+ | gap | DesignLength | false | 2 |
3671
3766
  | direction | 'horizontal' &#124; 'vertical' | false | 'horizontal' |
3672
3767
  | active | string | false | '' |
3673
3768
  | items | ProjectMenuItem[] | false | () => [] |
@@ -3681,6 +3776,10 @@ export type TimeRangeQuickOption = {
3681
3776
  Slots: No declared content slots.
3682
3777
 
3683
3778
  ```ts
3779
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
3780
+ export type DesignLength = number | string
3781
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
3782
+
3684
3783
  export interface ProjectMenuItem { key: string; label: string; disabled?: boolean; icon?: Component; children?: ProjectMenuItem[] }
3685
3784
  export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
3686
3785
  ```
@@ -3788,6 +3887,9 @@ Slots: No declared content slots.
3788
3887
  | times | string[] | true | undefined / no declared default |
3789
3888
  | series | { name: string; data: (number &#124; null)[] }[] | true | undefined / no declared default |
3790
3889
  | loading | boolean | false | undefined / no declared default |
3890
+ | cellPadding | DesignSpacing | false | () => [6, 10] |
3891
+ | paginationGap | DesignLength | false | 12 |
3892
+ | paginationPadding | DesignSpacing | false | 5 |
3791
3893
 
3792
3894
  ### Events
3793
3895
 
@@ -3795,6 +3897,13 @@ No declared events.
3795
3897
 
3796
3898
  Slots: No declared content slots.
3797
3899
 
3900
+ ```ts
3901
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
3902
+ export type DesignLength = number | string
3903
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
3904
+
3905
+ ```
3906
+
3798
3907
  ## WorkbenchShell
3799
3908
 
3800
3909
  ### Props
@@ -3822,6 +3931,10 @@ Slots: header, sidebar-footer, workspace, default
3822
3931
  |---|---|---|---|
3823
3932
  | as | 'section' &#124; 'aside' &#124; 'div' | false | 'section' |
3824
3933
  | floating | boolean | false | true |
3934
+ | width | DesignLength | false | 'auto' |
3935
+ | height | DesignLength | false | 'auto' |
3936
+ | padding | DesignSpacing | false | 0 |
3937
+ | gap | DesignLength | false | 0 |
3825
3938
 
3826
3939
  ### Events
3827
3940
 
@@ -3829,6 +3942,13 @@ No declared events.
3829
3942
 
3830
3943
  Slots: default
3831
3944
 
3945
+ ```ts
3946
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
3947
+ export type DesignLength = number | string
3948
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
3949
+
3950
+ ```
3951
+
3832
3952
  ## MetricCard
3833
3953
 
3834
3954
  ### Props
@@ -3933,17 +4053,18 @@ Slots: left, top, toolbar, right, legend, timeline, content, default
3933
4053
 
3934
4054
  | Name | Type | Required | Default expression |
3935
4055
  |---|---|---|---|
4056
+ | gap | DesignLength | false | 12 |
3936
4057
  | rightOpen | boolean | false | false |
3937
4058
  | rightPanelEnabled | boolean | false | true |
3938
- | rightPanelWidth | string | false | 'calc(var(--cp-font-1, 1px) * 328)' |
3939
- | leftPanelWidth | string | false | 'calc(var(--cp-font-1, 1px) * 320)' |
3940
- | edge | string | false | 'calc(var(--cp-font-1, 1px) * 12)' |
3941
- | topOffset | string | false | '' |
3942
- | bottomOffset | string | false | '' |
3943
- | toolbarTop | string | false | '' |
3944
- | timelineLeft | string | false | '' |
3945
- | timelineRight | string | false | '' |
3946
- | timelineBottom | string | false | '' |
4059
+ | rightPanelWidth | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 328)' |
4060
+ | leftPanelWidth | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 320)' |
4061
+ | edge | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 12)' |
4062
+ | topOffset | DesignLength | false | '' |
4063
+ | bottomOffset | DesignLength | false | '' |
4064
+ | toolbarTop | DesignLength | false | '' |
4065
+ | timelineLeft | DesignLength | false | '' |
4066
+ | timelineRight | DesignLength | false | '' |
4067
+ | timelineBottom | DesignLength | false | '' |
3947
4068
 
3948
4069
  ### Events
3949
4070
 
@@ -3952,6 +4073,13 @@ Slots: left, top, toolbar, right, legend, timeline, content, default
3952
4073
 
3953
4074
  Slots: left, top, toolbar, right, legend, timeline, content, default
3954
4075
 
4076
+ ```ts
4077
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4078
+ export type DesignLength = number | string
4079
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4080
+
4081
+ ```
4082
+
3955
4083
  ## RainfallRankingTable
3956
4084
 
3957
4085
  ### Props
@@ -4290,6 +4418,15 @@ Slots: message, primary, default, footer
4290
4418
  | title | string | false | undefined / no declared default |
4291
4419
  | description | string | false | undefined / no declared default |
4292
4420
  | showIntro | boolean | false | true |
4421
+ | gap | DesignLength | false | 20 |
4422
+ | padding | DesignSpacing | false | () => [0, 24, 20] |
4423
+ | introPadding | DesignSpacing | false | 24 |
4424
+ | filterGap | DesignLength | false | 20 |
4425
+ | filterPadding | DesignSpacing | false | () => [20, 24] |
4426
+ | inputWidth | DesignLength | false | 260 |
4427
+ | selectWidth | DesignLength | false | 160 |
4428
+ | cascaderWidth | DesignLength | false | 280 |
4429
+ | responsive | boolean | false | false |
4293
4430
 
4294
4431
  ### Events
4295
4432
 
@@ -4297,6 +4434,13 @@ No declared events.
4297
4434
 
4298
4435
  Slots: summary, filters, heading, actions, default
4299
4436
 
4437
+ ```ts
4438
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4439
+ export type DesignLength = number | string
4440
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4441
+
4442
+ ```
4443
+
4300
4444
  ## GlobalMapLayerDock
4301
4445
 
4302
4446
  ### Props
@@ -4362,6 +4506,11 @@ Slots: footer
4362
4506
 
4363
4507
  | Name | Type | Required | Default expression |
4364
4508
  |---|---|---|---|
4509
+ | height | DesignLength | false | 320 |
4510
+ | maxHeight | DesignLength | false | '42dvh' |
4511
+ | headerPadding | DesignSpacing | false | ()=>[10,16] |
4512
+ | metaPadding | DesignSpacing | false | ()=>[8,16,0] |
4513
+ | gap | DesignLength | false | 12 |
4365
4514
  | title | string | true | undefined / no declared default |
4366
4515
  | subtitle | string | false | '' |
4367
4516
  | demo | boolean | false | false |
@@ -4377,6 +4526,13 @@ Slots: footer
4377
4526
 
4378
4527
  Slots: No declared content slots.
4379
4528
 
4529
+ ```ts
4530
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4531
+ export type DesignLength = number | string
4532
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4533
+
4534
+ ```
4535
+
4380
4536
  ## MapWorkspacePanel
4381
4537
 
4382
4538
  ### Props
@@ -4385,6 +4541,10 @@ Slots: No declared content slots.
4385
4541
  |---|---|---|---|
4386
4542
  | title | string | true | undefined / no declared default |
4387
4543
  | subtitle | string | false | undefined / no declared default |
4544
+ | headerPadding | DesignSpacing | false | 16 |
4545
+ | bodyPadding | DesignSpacing | false | 16 |
4546
+ | footerPadding | DesignSpacing | false | () => [12, 16] |
4547
+ | gap | DesignLength | false | 16 |
4388
4548
 
4389
4549
  ### Events
4390
4550
 
@@ -4392,6 +4552,13 @@ No declared events.
4392
4552
 
4393
4553
  Slots: actions, default, footer
4394
4554
 
4555
+ ```ts
4556
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4557
+ export type DesignLength = number | string
4558
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4559
+
4560
+ ```
4561
+
4395
4562
  ## NationalHydroSidebar
4396
4563
 
4397
4564
  ### Props
@@ -4461,7 +4628,11 @@ Slots: No declared content slots.
4461
4628
  |---|---|---|---|
4462
4629
  | structured | boolean | false | false |
4463
4630
  | columns | 1 &#124; 2 | false | 2 |
4464
- | topOffset | string | false | 'calc(var(--cp-font-1, 1px) * 64)' |
4631
+ | gap | DesignLength | false | 4 |
4632
+ | padding | DesignSpacing | false | 4 |
4633
+ | toolbarGap | DesignLength | false | 12 |
4634
+ | toolbarPadding | DesignSpacing | false | 12 |
4635
+ | topOffset | DesignLength | false | 'calc(var(--cp-font-1, 1px) * 64)' |
4465
4636
 
4466
4637
  ### Events
4467
4638
 
@@ -4469,6 +4640,13 @@ No declared events.
4469
4640
 
4470
4641
  Slots: toolbar, default
4471
4642
 
4643
+ ```ts
4644
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4645
+ export type DesignLength = number | string
4646
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4647
+
4648
+ ```
4649
+
4472
4650
  ## ModelWorkspace
4473
4651
 
4474
4652
  ### Props
@@ -4506,6 +4684,10 @@ Slots: title, actions
4506
4684
  | Name | Type | Required | Default expression |
4507
4685
  |---|---|---|---|
4508
4686
  | title | string | false | undefined / no declared default |
4687
+ | headerPadding | DesignSpacing | false | () => [12, 16] |
4688
+ | bodyPadding | DesignSpacing | false | 16 |
4689
+ | footerPadding | DesignSpacing | false | () => [12, 16] |
4690
+ | gap | DesignLength | false | 12 |
4509
4691
 
4510
4692
  ### Events
4511
4693
 
@@ -4513,6 +4695,13 @@ No declared events.
4513
4695
 
4514
4696
  Slots: header, actions, default, footer
4515
4697
 
4698
+ ```ts
4699
+ /** Numeric dimensions are VFit design units; CSS strings pass through unchanged. */
4700
+ export type DesignLength = number | string
4701
+ export type DesignSpacing = DesignLength | readonly [DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength] | readonly [DesignLength, DesignLength, DesignLength, DesignLength]
4702
+
4703
+ ```
4704
+
4516
4705
  ## UiAffix
4517
4706
 
4518
4707
  固钉 · 导航组件. Original: ElAffix. Import from: sky-ui-kit. [API](https://element-plus.org/zh-CN/component/affix.html). See dist/components/element-plus.d.ts.
@@ -5895,6 +6084,40 @@ import { DefenseMapLayout, UiButton } from 'sky-ui-kit'
5895
6084
 
5896
6085
 
5897
6086
  独立 model-workspace.css 面向原生 HTML,无 Vue/Element Plus 样式依赖;与 style.css 的模型主题来自同一源文件,Vue 无需重复导入。
6087
+
6088
+
6089
+ ## 2026-11-03:可配置 VFit 尺寸(源码待发布)
6090
+
6091
+ 数字尺寸代表设计单位,由组件转换为 `calc(var(--cp-font-1, 1px) * n)`;CSS 字符串原样使用,不额外注册 VFit 或 transform。DesignSpacing 支持单值及2/3/4项数组,遵循CSS间距顺序。0是有效值。调用方传裸字符串 `"12"` 不是合法CSS长度,应使用 `:gap="12"`;`"12px"` 是固定CSS像素。
6092
+
6093
+ 所有新增参数有默认值;下表空字符串表示使用组件现有布局/样式默认值,不是0。根style可控制组件根尺寸,内部内边距通过对应props调整,无需deep覆盖。
6094
+
6095
+ | 组件 | 参数与默认值 |
6096
+ | --- | --- |
6097
+ | MapPageLayout | 新增gap=12;已有rightPanelWidth=328、leftPanelWidth=320、edge=12等参数兼容字符串并支持数字;top/bottom/toolbar/timeline偏移默认空字符串,沿用自动避让 |
6098
+ | DefenseMapLayout | gap=4、padding=4、toolbarGap=12、toolbarPadding=12;topOffset默认64设计单位,兼容数字/字符串 |
6099
+ | MapWorkspacePanel | headerPadding=16、bodyPadding=16、footerPadding=[12,16]、gap=16 |
6100
+ | ModelWorkspacePanel | headerPadding=[12,16]、bodyPadding=16、footerPadding=[12,16]、gap=12 |
6101
+ | WorkbenchPanel | width='auto'、height='auto'、padding=0、gap=0;gap只在调用方使用flex/grid时产生间距,不强改display |
6102
+ | ManagementResourceLayout | gap=20、padding=[0,24,20](内容区域)、introPadding=24、filterGap=20、filterPadding=[20,24]、inputWidth=260、selectWidth=160、cascaderWidth=280、responsive=false |
6103
+ | AppSelect | width='100%'、controlHeight=''(按size取主题小/中/大高度)、controlPadding=[0,10];多选内容可增高;浮层不再设100%最小宽度,使用底层fit-input-width等配置 |
6104
+ | ProjectMenu | width=''、itemHeight=''、itemPadding=''、padding=''(分别保留横/纵菜单已有默认值)、gap=2 |
6105
+ | MapTimeline | padding=[10,12]、gap=9、trackHeight=88、controlHeight=30;不改变播放/时次数据API |
6106
+ | MapBottomProcessPanel | height=320、maxHeight='42dvh'、headerPadding=[10,16]、metaPadding=[8,16,0]、gap=12 |
6107
+ | ProcessDataTable | cellPadding=[6,10]、paginationGap=12、paginationPadding=5 |
6108
+
6109
+ ManagementResourceLayout默认按VFit保持结构,不在700px阈值自动切换;旧调用方如需原断点布局显式传responsive=true。这是需要在升级说明中说明的行为变化。其内容区域padding与介绍区padding分开,避免改变原默认留白。
6110
+
6111
+ 地图布局时间轴测量改为offsetHeight,使用布局坐标而非transform后的视口像素,防止再次乘入缩放系数。UiButton/UiSelect/UiTable等基础组件继续使用底层size、width、height及主题token,无重复同义接口。旧TemplateLayout保留兼容接口,不冒充MapPageLayout别名。
6112
+
6113
+ 示例:
6114
+ ```vue
6115
+ <MapWorkspacePanel title="降水统计" :header-padding="[12, 16]" :body-padding="[8, 12]" :gap="8">
6116
+ 业务内容
6117
+ </MapWorkspacePanel>
6118
+ <MapPageLayout :right-panel-width="320" :edge="12" :gap="8" />
6119
+ ```
6120
+ 预览入口:MapPageLayout布局演示,点击“查看紧凑尺寸”比较右栏宽度、边距与面板内边距。其他组件参数与默认值可在生成API查询。当前未构建、打包、发布或浏览器验证,用户预览确认后自行发版。
5898
6121
 
5899
6122
  # 按需引入
5900
6123
 
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # sky-ui-kit
2
2
 
3
- > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.8. AI tools must explicitly load these files.
3
+ > Vue 3 components compatible with Element Plus, project menus, timeline and map tools. Version 0.1.9. AI tools must explicitly load these files.
4
4
 
5
5
  ## Documentation
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sky-ui-kit",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Vue UI components compatible with Element Plus and the project theme",
5
5
  "type": "module",
6
6
  "files": [