@ray-js/robot-map-sdk 0.0.17-beta.5 → 0.0.17-beta.7

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 (65) hide show
  1. package/dist/constant/methods.js +1 -1
  2. package/dist/index.d.ts +440 -26
  3. package/dist/index.rjs.js +1 -1
  4. package/dist-app/assets/index-eeMSEkAh.js +1 -0
  5. package/dist-app/index.html +1 -1
  6. package/dist-docs/404.html +2 -2
  7. package/dist-docs/assets/{app.CQ3J50so.js → app.Bg2iQqT7.js} +1 -1
  8. package/dist-docs/assets/chunks/@localSearchIndexroot.BPlHhUqM.js +1 -0
  9. package/dist-docs/assets/chunks/{BitmapFont.DC5iaxzi.js → BitmapFont.whV8yWpy.js} +1 -1
  10. package/dist-docs/assets/chunks/{BufferResource.iapJrccg.js → BufferResource.BXjliFRD.js} +1 -1
  11. package/dist-docs/assets/chunks/{CanvasRenderer.Dw0DOupC.js → CanvasRenderer.DY6XCYVt.js} +1 -1
  12. package/dist-docs/assets/chunks/{RenderTargetSystem.D9ItB3vp.js → RenderTargetSystem.BVpN1Rg0.js} +1 -1
  13. package/dist-docs/assets/chunks/{VPLocalSearchBox.DN_rVIfF.js → VPLocalSearchBox.CFI69wMe.js} +1 -1
  14. package/dist-docs/assets/chunks/{WebGLRenderer.CQRlVC-j.js → WebGLRenderer.CHkcy7rw.js} +1 -1
  15. package/dist-docs/assets/chunks/{WebGPURenderer.Bp_eIH__.js → WebGPURenderer.XLqnuQ1l.js} +1 -1
  16. package/dist-docs/assets/chunks/{browserAll.Cbj4PL_h.js → browserAll.BqnQzgur.js} +1 -1
  17. package/dist-docs/assets/chunks/index.1ESJv0w9.js +744 -0
  18. package/dist-docs/assets/chunks/theme.DgXwK1om.js +4 -0
  19. package/dist-docs/assets/chunks/{webworkerAll.LONCU5Cb.js → webworkerAll.CUtNjZCn.js} +1 -1
  20. package/dist-docs/assets/{guide_advanced-usage.md.BrP4iZb-.js → guide_advanced-usage.md.w-yj_56g.js} +2 -7
  21. package/dist-docs/assets/{guide_advanced-usage.md.BrP4iZb-.lean.js → guide_advanced-usage.md.w-yj_56g.lean.js} +1 -1
  22. package/dist-docs/assets/{guide_getting-started.md.rQfH2m10.js → guide_getting-started.md.DyGIIhU9.js} +2 -2
  23. package/dist-docs/assets/guide_getting-started.md.DyGIIhU9.lean.js +1 -0
  24. package/dist-docs/assets/{reference_callbacks.md.BP78Z1wN.js → reference_callbacks.md.5owd-5nN.js} +2 -2
  25. package/dist-docs/assets/{reference_callbacks.md.BP78Z1wN.lean.js → reference_callbacks.md.5owd-5nN.lean.js} +1 -1
  26. package/dist-docs/assets/reference_config.md.W-7brnWs.js +303 -0
  27. package/dist-docs/assets/reference_config.md.W-7brnWs.lean.js +1 -0
  28. package/dist-docs/assets/{reference_methods.md.D2L6f98h.js → reference_methods.md.CXtsI5Rx.js} +12 -4
  29. package/dist-docs/assets/{reference_methods.md.D2L6f98h.lean.js → reference_methods.md.CXtsI5Rx.lean.js} +1 -1
  30. package/dist-docs/assets/reference_runtime.md.CXIbwBrR.js +39 -0
  31. package/dist-docs/assets/reference_runtime.md.CXIbwBrR.lean.js +1 -0
  32. package/dist-docs/guide/advanced-usage.html +6 -11
  33. package/dist-docs/guide/concepts.html +3 -3
  34. package/dist-docs/guide/getting-started.html +5 -5
  35. package/dist-docs/guide/mcp.html +3 -3
  36. package/dist-docs/guide/spot-room-binding.html +3 -3
  37. package/dist-docs/hashmap.json +1 -1
  38. package/dist-docs/index.html +3 -3
  39. package/dist-docs/plans/2026-03-04-detected-objects-visibility-design.html +3 -3
  40. package/dist-docs/plans/2026-03-04-show-detected-objects-implementation-plan.html +3 -3
  41. package/dist-docs/plans/2026-03-10-simulator-debug-design.html +3 -3
  42. package/dist-docs/plans/2026-03-10-simulator-events-console-design.html +3 -3
  43. package/dist-docs/plans/2026-03-10-simulator-events-console-implementation-plan.html +3 -3
  44. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-design.html +3 -3
  45. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-implementation-plan.html +3 -3
  46. package/dist-docs/plans/2026-03-10-testing-rollout-next-steps-plan.html +3 -3
  47. package/dist-docs/plans/2026-03-11-simulator-logger-dump-implementation-plan.html +3 -3
  48. package/dist-docs/reference/callbacks.html +5 -5
  49. package/dist-docs/reference/config.html +68 -12
  50. package/dist-docs/reference/data.html +3 -3
  51. package/dist-docs/reference/methods.html +15 -7
  52. package/dist-docs/reference/runtime.html +24 -5
  53. package/dist-docs/reference/types.html +3 -3
  54. package/dist-docs/reference/utils.html +3 -3
  55. package/dist-docs/simulator/index.html +3 -3
  56. package/package.json +1 -1
  57. package/dist-app/assets/index-DvodeBV_.js +0 -1
  58. package/dist-docs/assets/chunks/@localSearchIndexroot.cQ0R9xid.js +0 -1
  59. package/dist-docs/assets/chunks/index.BhQxRjKz.js +0 -744
  60. package/dist-docs/assets/chunks/theme.XPkZi7-q.js +0 -4
  61. package/dist-docs/assets/guide_getting-started.md.rQfH2m10.lean.js +0 -1
  62. package/dist-docs/assets/reference_config.md.DHyraAQF.js +0 -247
  63. package/dist-docs/assets/reference_config.md.DHyraAQF.lean.js +0 -1
  64. package/dist-docs/assets/reference_runtime.md.g-NWJXS6.js +0 -20
  65. package/dist-docs/assets/reference_runtime.md.g-NWJXS6.lean.js +0 -1
package/dist/index.d.ts CHANGED
@@ -10,6 +10,32 @@ import { TextStyleFontWeight } from 'pixi.js';
10
10
  * 定义了视觉样式、素材资源、交互行为等一次性配置项
11
11
  */
12
12
  export declare type AppConfig = {
13
+ /**
14
+ * 弹性缩放的档位断点(全图共用)
15
+ *
16
+ * 屏幕固定尺寸的元素(房间属性气泡、检测物体图标等)默认在地图缩放时保持
17
+ * 恒定像素大小。弹性缩放在此之上叠一层分档倍数:地图缩到第一个断点以下时
18
+ * 元素略微变小,放大到最后一个断点以上时略微变大,中间保持原状。
19
+ *
20
+ * **断点全图共用,倍数各元素自己给**(见 `room.elasticFactors`、
21
+ * `detectedObject.elasticFactors`)。共用断点保证所有元素在同一刻切档,
22
+ * 否则捏合时气泡和图标会错开变化。
23
+ */
24
+ elasticScale: {
25
+ /**
26
+ * 档位断点,升序排列。`n` 个断点划出 `n + 1` 档。
27
+ *
28
+ * 边界归属**刻意不对称**:`s <= 断点[0]` 归最低档,`s >= 断点[末]` 归最高档,
29
+ * 恰好压在中间某个断点上归上一档。若把 `interaction.zoomRange.max` 设成正好
30
+ * 等于最末断点,捏到顶时会稳定落在最高档。
31
+ *
32
+ * 断点应落在 `interaction.zoomRange` 区间内,否则该档永不触发。
33
+ *
34
+ * @defaultValue [1, 5]
35
+ */
36
+ breakpoints: number[]
37
+ }
38
+
13
39
  /** 全局配置 */
14
40
  global: {
15
41
  /** 容器距离顶部位置 */
@@ -131,6 +157,13 @@ export declare type AppConfig = {
131
157
  inactive: string[]
132
158
  /** 普通状态颜色(非选择模式下使用) */
133
159
  normal?: string[]
160
+ /**
161
+ * 禁用状态(`runtime.disabledRoomIds` 列入的房间)填充色调色板,按四色
162
+ * 索引取用。填单个值即所有禁用房间共用一色;未配置或配置为空数组时回退
163
+ * 到该房间的 `inactive` 色。禁用态优先于选中态,且不受
164
+ * `enableRoomSelection` 影响。
165
+ */
166
+ disabled?: string[]
134
167
  /**
135
168
  * 美化外壳(Shell)填充色的显式覆盖调色板,按四色索引取用(可选)。
136
169
  * 未配置时外壳色由房间基础色向白色按 `map.beautify.shellLightenRatio`
@@ -259,6 +292,14 @@ export declare type AppConfig = {
259
292
  * - 设置为 'auto' 时,文字颜色将自动跟随房间的 active 颜色
260
293
  */
261
294
  color: ColorSource | 'auto'
295
+ /**
296
+ * 圆形序号背景色
297
+ * - 设置为 'auto' 时,背景色跟随房间属性图标的主题色
298
+ * (`room.colors.propertyTheme` / `propertyThemeInactive` /
299
+ * `propertyThemeNormal` 三态)
300
+ * - 设置为固定颜色后与图标颜色解绑,三态一并失效
301
+ */
302
+ backgroundColor: ColorSource | 'auto'
262
303
  /** 字体名称 */
263
304
  fontFamily: string
264
305
  /** 字体粗细 */
@@ -316,24 +357,33 @@ export declare type AppConfig = {
316
357
  /**
317
358
  * 是否启用 RoomInfo 弹性缩放
318
359
  *
319
- * 启用后,RoomInfo 会根据地图缩放程度自动调整大小:
320
- * - 地图缩小到一定程度时,缩小到 elasticMinScale
321
- * - 正常缩放范围内,保持固定大小
322
- * - 地图放大到一定程度时,放大到 elasticMaxScale
360
+ * 启用后,RoomInfo 会按 `elasticScale.breakpoints` 划出的档位调整大小:
361
+ * 地图缩到最低档时缩小、放大到最高档时放大、中间档保持固定大小。
323
362
  */
324
363
  enableElasticScale: boolean
325
364
  /**
326
- * RoomInfo 最小弹性缩放倍数
365
+ * RoomInfo 最小弹性缩放倍数(最低档的倍数)
327
366
  *
328
- * 当地图缩小到一定程度时,RoomInfo 会缩小到此倍数
367
+ * `elasticMaxScale` 一起构成两档式的简写。要控制中间档或使用多于 3 档,
368
+ * 改用 `elasticFactors`。
329
369
  */
330
370
  elasticMinScale: number
331
371
  /**
332
- * RoomInfo 最大弹性缩放倍数
372
+ * RoomInfo 最大弹性缩放倍数(最高档的倍数)
333
373
  *
334
- * 当地图放大到一定程度时,RoomInfo 会放大到此倍数
374
+ * `elasticMinScale` 一起构成两档式的简写。要控制中间档或使用多于 3 档,
375
+ * 改用 `elasticFactors`。
335
376
  */
336
377
  elasticMaxScale: number
378
+ /**
379
+ * RoomInfo 各档倍数,长度须等于 `elasticScale.breakpoints.length + 1`
380
+ *
381
+ * 给了它就以它为准,`elasticMinScale` / `elasticMaxScale` 不再参与。
382
+ * 不给则按 `[elasticMinScale, 1, ..., 1, elasticMaxScale]` 展开。
383
+ *
384
+ * 长度对不上会打 warn 并**整组降级为不启用**(退回纯反向缩放),不会自动补齐。
385
+ */
386
+ elasticFactors?: number[]
337
387
  }
338
388
 
339
389
  /** 路径配置 */
@@ -425,8 +475,6 @@ export declare type AppConfig = {
425
475
  // 地毯材质配置,针对地毯需要不同类型的填充材质的情况,比如羊毛地毯,长毛地毯等等
426
476
  // 优先级比src要高,非必要情况,非必要不要传递,使用src的配置即可
427
477
  material?: { type: number; src: string; opacity: number; scale: number }[]
428
- // 地毯是否支持编辑,默认为false,非必要不要开启,会影响地毯绘制性能
429
- enableEdit?: boolean
430
478
  }
431
479
 
432
480
  /** 机器人配置 */
@@ -581,6 +629,22 @@ export declare type AppConfig = {
581
629
  * - {x: 0.5, y: 1} 表示底部中心(适用于气泡图标)
582
630
  */
583
631
  anchor: Point
632
+ /**
633
+ * 是否启用检测物体图标的弹性缩放
634
+ *
635
+ * 启用后图标会按 `elasticScale.breakpoints` 划出的档位调整大小,
636
+ * 与房间属性气泡在同一刻切档。
637
+ */
638
+ enableElasticScale: boolean
639
+ /**
640
+ * 检测物体图标各档倍数,长度须等于 `elasticScale.breakpoints.length + 1`
641
+ *
642
+ * 倍数与房间属性分开配:图标是小方块、气泡是横向长条,同一个倍数在两者上的
643
+ * 视觉重量不同。倍数乘在最终尺寸上,含单条数据自带的 `width` / `height`。
644
+ *
645
+ * 长度对不上会打 warn 并**整组降级为不启用**(退回纯反向缩放),不会自动补齐。
646
+ */
647
+ elasticFactors: number[]
584
648
  }
585
649
 
586
650
  /** 截图配置 */
@@ -698,19 +762,21 @@ export declare type BaseCustomElementParam = {
698
762
  }
699
763
 
700
764
  /** 区域和地毯配置的基础类型 */
701
- export declare type BaseZoneConfig = {
765
+ export declare type BaseZoneConfig = ZoneBodyStyle & {
702
766
  /** 最小尺寸 (米) */
703
767
  minSize: number
704
768
  /** 最大尺寸 (米),可选。缺省或 ≤ minSize 时不限制。 */
705
769
  maxSize?: number
770
+ /**
771
+ * 区域框中心图标。缺省(`undefined`)时不创建任何 Sprite 子对象。
772
+ *
773
+ * 图标位置实时取四角点的中心(区域容器自身 `rotation` 恒为 0,旋转改的是
774
+ * 四角点),并在地图旋转时反向旋转保持水平;`eventMode` 恒为 `'none'`,
775
+ * 不会挡住区域的体拖拽与点击。
776
+ */
777
+ centerIcon?: ZoneCenterIconConfig
706
778
  /** 图标容器填充颜色 */
707
779
  iconWrapperFillColor: ColorSource
708
- /** 描边颜色 */
709
- strokeColor: ColorSource
710
- /** 描边宽度 */
711
- strokeWidth: number
712
- /** 填充颜色 */
713
- fillColor: ColorSource
714
780
  /** 轮廓偏移 */
715
781
  outlineOffset: number
716
782
  /** 轮廓描边颜色 */
@@ -725,12 +791,39 @@ export declare type BaseZoneConfig = {
725
791
  outlineDashArray: [number, number]
726
792
  /** 是否显示旋转图标 */
727
793
  showRotateButton: boolean
794
+ /**
795
+ * 是否显示删除按钮(编辑态)。缺省 `true`。
796
+ *
797
+ * 纯 UI 显隐,不是能力禁用——按钮隐藏后该按钮通道失效(PIXI 对
798
+ * `visible = false` 的对象跳过命中测试),但元素本体的交互不受影响。
799
+ */
800
+ showDeleteButton?: boolean
801
+ /**
802
+ * 是否显示缩放按钮(编辑态)。缺省 `true`。
803
+ *
804
+ * 对启用了纵横比锁定的地毯,横 / 纵向辅助缩放按钮随本开关一并隐藏。
805
+ */
806
+ showScaleButton?: boolean
807
+ /**
808
+ * 是否显示移动按钮(编辑态)。缺省 `true`。
809
+ *
810
+ * **不禁止平移**:区域本体的拖拽走独立的填充(ControlFill)通道,
811
+ * 隐藏移动按钮只是去掉按钮与它的延长线。
812
+ */
813
+ showMoveButton?: boolean
728
814
  /** 文本颜色 */
729
815
  textColor: ColorSource
730
816
  /** 文本位置 */
731
817
  textPosition: 'top' | 'right' | 'bottom' | 'left'
732
818
  /** 文本偏移 */
733
819
  textOffset: number
820
+ /**
821
+ * 禁用态样式覆盖块(`runtime.disabled*Ids` 列入的元素生效)。
822
+ *
823
+ * 缺省(`undefined`)时禁用态只叠加全局兜底透明度
824
+ * `controls.disabledStyle.opacity`,主体颜色不变。
825
+ */
826
+ disabled?: ZoneDisabledStyle
734
827
  /** 编辑模式样式 */
735
828
  editing: {
736
829
  /** 是否虚线 */
@@ -762,12 +855,19 @@ export declare type Bounds = {
762
855
  /** 地毯配置 */
763
856
  export declare type CarpetConfig = Omit<
764
857
  BaseZoneConfig,
765
- 'strokeColor' | 'strokeWidth'
858
+ 'strokeColor' | 'strokeWidth' | 'disabled'
766
859
  > & {
767
860
  /** 删除图标容器填充颜色,缺省时回退到 iconWrapperFillColor */
768
861
  deleteIconWrapperFillColor?: ColorSource
769
862
  rotateMode: 'step' | 'free'
770
863
  scaleMode: 'free' | 'ratioLocked'
864
+ /**
865
+ * 禁用态样式覆盖块(`runtime.disabledCarpetIds` 列入的地毯生效)。
866
+ *
867
+ * 地毯主体是纹理贴图 + 体填充,没有描边与虚线,故白名单只有 `fillColor`。
868
+ * 缺省时禁用态只叠加全局兜底透明度 `controls.disabledStyle.opacity`。
869
+ */
870
+ disabled?: Partial<Pick<ZoneBodyStyle, 'fillColor'>> & DisabledStyleBase
771
871
  }
772
872
 
773
873
  /** 组件属性类型 */
@@ -832,6 +932,15 @@ export declare type ControlsConfig = {
832
932
  textFontWeight: TextStyleFontWeight
833
933
  /** 控制层内部渲染顺序(从下到上) */
834
934
  renderOrder: ControlRenderItem[]
935
+ /**
936
+ * 禁用态全局兜底样式,只有 `opacity`(唯一跨所有元素类型都成立的视觉
937
+ * 概念,默认 `0.4`)。各类型配置的 `disabled` 块按字段覆盖它;要改颜色
938
+ * 或虚线去类型级。
939
+ */
940
+ disabledStyle: {
941
+ /** 禁用态整体透明度(各类型 `disabled.opacity` 可覆盖) */
942
+ opacity: number
943
+ }
835
944
  /** 禁扫区域配置 */
836
945
  forbiddenSweepZone: ZoneConfig
837
946
  /** 禁拖区域配置 */
@@ -930,6 +1039,18 @@ export declare type DetectedObjectParam = {
930
1039
  /** 方向 */
931
1040
  export declare type Direction = 'horizontal' | 'vertical'
932
1041
 
1042
+ /**
1043
+ * 禁用态样式差量的公共部分。
1044
+ *
1045
+ * `opacity` 是唯一跨所有元素类型都成立的视觉概念:叠加在元素根容器上,
1046
+ * 按 PIXI alpha 级联语义与子对象自身透明度相乘。缺省回退全局兜底
1047
+ * `controls.disabledStyle.opacity`。
1048
+ */
1049
+ export declare type DisabledStyleBase = {
1050
+ /** 禁用态整体透明度,缺省回退 `controls.disabledStyle.opacity` */
1051
+ opacity?: number
1052
+ }
1053
+
933
1054
  /** 分割线配置 */
934
1055
  export declare type DividerConfig = {
935
1056
  /** 线条颜色 */
@@ -940,8 +1061,10 @@ export declare type DividerConfig = {
940
1061
  dashLineDashArray: [number, number]
941
1062
  /** 实线线条宽度 */
942
1063
  solidLineWidth: number
943
- /** 端点大小 */
1064
+ /** 端点大小(外接尺寸,菱形取对角线) */
944
1065
  endPointSize: number
1066
+ /** 端点形状 (默认 'circle')。'diamond' 会反向旋转以在地图旋转时保持正菱形 */
1067
+ endPointShape: 'circle' | 'diamond'
945
1068
  /** 端点颜色 */
946
1069
  endPointColor: ColorSource
947
1070
  /** 端点描边颜色 */
@@ -952,6 +1075,17 @@ export declare type DividerConfig = {
952
1075
  hitAreaThickness: number
953
1076
  /** 当分割线完全处在房间外的时候是否重置分割线 */
954
1077
  resetDividerWhenOutOfRoom: boolean
1078
+ /**
1079
+ * 越界判据 (默认 'boundingBox'),同时决定 onDividerOutOfRoom 何时触发与
1080
+ * resetDividerWhenOutOfRoom 何时把线拖回。
1081
+ *
1082
+ * - `'boundingBox'` 宽松:整条线段与房间包围盒完全不相交才算越界。
1083
+ * - `'solidLine'` 严格:算不出有效实线(分割线切不动这个房间)即算越界,
1084
+ * 按房间真实填充判定,端点被拖进房间内部同样算。
1085
+ *
1086
+ * 两者是包含关系——整条线跑出包围盒必然算不出实线,反之不然。
1087
+ */
1088
+ outOfRoomCriterion: 'boundingBox' | 'solidLine'
955
1089
  /** 默认生成的分割线超出房间包围盒的像素值 */
956
1090
  defaultExtension: number
957
1091
  /** 默认生成的分割线方向 */
@@ -978,6 +1112,23 @@ export declare type FurnitureConfig = {
978
1112
  opacity: number
979
1113
  /** 图标容器填充颜色 */
980
1114
  iconWrapperFillColor: ColorSource
1115
+ /**
1116
+ * 是否显示删除按钮(编辑态)。缺省 `true`。
1117
+ *
1118
+ * 纯 UI 显隐,不是能力禁用。
1119
+ */
1120
+ showDeleteButton?: boolean
1121
+ /** 是否显示旋转按钮(编辑态)。缺省 `true`。 */
1122
+ showRotateButton?: boolean
1123
+ /** 是否显示缩放按钮(编辑态)。缺省 `true`。 */
1124
+ showScaleButton?: boolean
1125
+ /**
1126
+ * 是否显示移动按钮(编辑态)。缺省 `true`。
1127
+ *
1128
+ * **不禁止平移**:本体拖拽走元素自身的命中区域,隐藏移动按钮只是去掉
1129
+ * 按钮与它的延长线。
1130
+ */
1131
+ showMoveButton?: boolean
981
1132
  /** 轮廓偏移 */
982
1133
  outlineOffset: number
983
1134
  /** 轮廓描边颜色 */
@@ -1006,6 +1157,13 @@ export declare type FurnitureConfig = {
1006
1157
  rotateDirection: 'cw' | 'ccw'
1007
1158
  /** 缩放时是否锁定宽高比 (默认 false) */
1008
1159
  lockAspectRatio: boolean
1160
+ /**
1161
+ * 禁用态样式覆盖块(`runtime.disabledFurnitureIds` 列入的家具生效)。
1162
+ *
1163
+ * 家具主体是纹理贴图,唯一有意义的视觉差量是透明度。禁用透明度叠加在
1164
+ * 家具根容器上,与贴图自身的 `opacity` 相乘。
1165
+ */
1166
+ disabled?: DisabledStyleBase
1009
1167
  }
1010
1168
 
1011
1169
  /** 家具参数 */
@@ -1137,9 +1295,9 @@ export declare type LoggerPayload = {
1137
1295
  ts: number
1138
1296
  }
1139
1297
 
1140
- export declare const MAP_API_METHODS: readonly ["areRoomsAdjacent", "getForbiddenSweepZones", "getForbiddenMopZones", "getCleanZones", "getVirtualWalls", "getThresholds", "getRamps", "getSpots", "getRoomAnchors", "getWayPoints", "getViewportCenterPoint", "getMapCenterPoint", "getWallPointsByViewportCenter", "getForbiddenSweepZonePointsByViewportCenter", "getForbiddenMopZonePointsByViewportCenter", "getCleanZonePointsByViewportCenter", "getThresholdPointsByViewportCenter", "getRampPointsByViewportCenter", "getSpotPointByViewportCenter", "getEffectiveDividerPoints", "getDividerEndPoints", "isNearChargerOrRobot", "isPointInAnyRoom", "isWallIntersectsAnyRoom", "isZoneIntersectsAnyRoom", "resetPanZoom", "snapshot", "snapshotByData", "getCustomCarpets", "forceEndGesture", "getFurniturePointsByViewportCenter", "getCustomCarpetPointsByViewportCenter", "getRectPointsByCenter", "getFurnitures", "drawCustomZones", "getCustomZones", "clearCustomZones", "setEditingCustomZones"];
1298
+ export declare const MAP_API_METHODS: readonly ["areRoomsAdjacent", "getAdjacentRoomIds", "getForbiddenSweepZones", "getForbiddenMopZones", "getCleanZones", "getVirtualWalls", "getThresholds", "getRamps", "getSpots", "getRoomAnchors", "getWayPoints", "getViewportCenterPoint", "getMapCenterPoint", "getWallPointsByViewportCenter", "getForbiddenSweepZonePointsByViewportCenter", "getForbiddenMopZonePointsByViewportCenter", "getCleanZonePointsByViewportCenter", "getThresholdPointsByViewportCenter", "getRampPointsByViewportCenter", "getSpotPointByViewportCenter", "getEffectiveDividerPoints", "getDividerEndPoints", "isNearChargerOrRobot", "isPointInAnyRoom", "isWallIntersectsAnyRoom", "isZoneIntersectsAnyRoom", "resetPanZoom", "snapshot", "snapshotByData", "getCustomCarpets", "forceEndGesture", "getFurniturePointsByViewportCenter", "getCustomCarpetPointsByViewportCenter", "getRectPointsByCenter", "getFurnitures", "drawCustomZones", "getCustomZones", "clearCustomZones", "setEditingCustomZones", "setDisabledCustomZones"];
1141
1299
 
1142
- export declare const MAP_CALLBACK_METHODS: readonly ["onMapFirstDrawed", "onMapDrawed", "onPathDrawed", "onRoomPropertiesDrawed", "onRoomsDrawed", "onClickRoom", "onClickRoomProperties", "onRemoveForbiddenSweepZone", "onRemoveForbiddenMopZone", "onRemoveCleanZone", "onRemoveVirtualWall", "onRemoveThreshold", "onRemoveRamp", "onUpdateForbiddenSweepZone", "onUpdateForbiddenMopZone", "onUpdateCleanZone", "onUpdateVirtualWall", "onUpdateThreshold", "onUpdateRamp", "onUpdateSpot", "onUpdateRoomAnchor", "onUpdateWayPoint", "onUpdateDivider", "onClickForbiddenSweepZone", "onClickForbiddenMopZone", "onClickCleanZone", "onClickVirtualWall", "onClickThreshold", "onClickRamp", "onClickSpot", "onClickRoomAnchor", "onClickWayPoint", "onClickDetectedObject", "onClickCustomElement", "onClickMap", "onClickCarpet", "onDeleteCarpet", "onUpdateCustomCarpet", "onDeleteCustomCarpet", "onGestureStart", "onGestureEnd", "onClickRobot", "onClickChargingStation", "onRemoveFurniture", "onUpdateFurniture", "onClickFurniture", "onRemoveCustomZone", "onUpdateCustomZone", "onClickCustomZone"];
1300
+ export declare const MAP_CALLBACK_METHODS: readonly ["onMapFirstDrawed", "onMapDrawed", "onPathDrawed", "onRoomPropertiesDrawed", "onRoomsDrawed", "onClickRoom", "onClickRoomProperties", "onRemoveForbiddenSweepZone", "onRemoveForbiddenMopZone", "onRemoveCleanZone", "onRemoveVirtualWall", "onRemoveThreshold", "onRemoveRamp", "onUpdateForbiddenSweepZone", "onUpdateForbiddenMopZone", "onUpdateCleanZone", "onUpdateVirtualWall", "onUpdateThreshold", "onUpdateRamp", "onUpdateSpot", "onUpdateRoomAnchor", "onUpdateWayPoint", "onUpdateDivider", "onDividerOutOfRoom", "onClickForbiddenSweepZone", "onClickForbiddenMopZone", "onClickCleanZone", "onClickVirtualWall", "onClickThreshold", "onClickRamp", "onClickSpot", "onClickRoomAnchor", "onClickWayPoint", "onClickDetectedObject", "onClickCustomElement", "onClickMap", "onClickCarpet", "onDeleteCarpet", "onUpdateCustomCarpet", "onDeleteCustomCarpet", "onGestureStart", "onGestureEnd", "onClickRobot", "onClickChargingStation", "onRemoveFurniture", "onUpdateFurniture", "onClickFurniture", "onRemoveCustomZone", "onUpdateCustomZone", "onClickCustomZone"];
1143
1301
 
1144
1302
  /**
1145
1303
  * 地图 API 接口定义
@@ -1544,6 +1702,20 @@ export declare interface MapApi {
1544
1702
  * @returns 是否所有指定的房间都相邻(连通)
1545
1703
  */
1546
1704
  areRoomsAdjacent(roomIds: number[]): boolean;
1705
+ /**
1706
+ * 获取与指定房间相邻的房间 ID 列表
1707
+ *
1708
+ * 支持结构化地图和点阵地图两种协议。判定阈值与 `areRoomsAdjacent` 同为
1709
+ * `config.map.adjacencyThreshold`,结论也一致——
1710
+ * `getAdjacentRoomIds(a)` 含 `b` 等价于 `areRoomsAdjacent([a, b])` 为 true。
1711
+ *
1712
+ * 相邻表一次扫描算出:宿主要得到「与某房间不相邻的房间」(例如房间禁用态
1713
+ * 需要的 `disabledRoomIds`),只需一次调用后取补集。
1714
+ *
1715
+ * @param roomId - 目标房间 ID
1716
+ * @returns 相邻房间 ID 数组(按 ID 升序);房间不存在或地图未就绪时返回空数组
1717
+ */
1718
+ getAdjacentRoomIds(roomId: number): number[];
1547
1719
  /**
1548
1720
  * 判断一个点是否与充电桩或机器人距离小于阈值。
1549
1721
  *
@@ -1979,6 +2151,15 @@ export declare interface MapCallbacks {
1979
2151
  * @param.en divider - Updated divider data
1980
2152
  */
1981
2153
  onUpdateDivider?: (divider: Point[]) => void;
2154
+ /**
2155
+ * @description.zh 分割线拖出房间回调
2156
+ * @description.en Callback when the divider is dragged out of the room
2157
+ * @description.zh 当用户操作分割线结束时,若整条线段与房间包围盒完全不相交则触发。回调携带的是重置前的点,即用户实际拖到的位置;开启 divider.resetDividerWhenOutOfRoom 时,重置后的位置随即由 onUpdateDivider 抛出。该回调只负责告知,与是否自动重置正交——关闭自动重置时同样触发。
2158
+ * @description.en Triggered when a divider operation ends and the whole segment no longer intersects the room bounding box. The payload is the position before reset, i.e. where the user actually dragged it; when divider.resetDividerWhenOutOfRoom is enabled, the position after reset is reported right after by onUpdateDivider. This callback only reports the verdict and is orthogonal to the reset behavior - it fires even when auto reset is disabled.
2159
+ * @param.zh divider - 重置前的分割线数据(用户实际拖到的位置)
2160
+ * @param.en divider - Divider data before reset (where the user actually dragged it)
2161
+ */
2162
+ onDividerOutOfRoom?: (divider: Point[]) => void;
1982
2163
  /**
1983
2164
  * @description.zh 点击地图回调
1984
2165
  * @description.en Callback when clicking map
@@ -1991,8 +2172,8 @@ export declare interface MapCallbacks {
1991
2172
  /**
1992
2173
  * @description.zh 点击地毯回调
1993
2174
  * @description.en Callback when clicking carpet
1994
- * @description.zh 当用户点击地毯区域时触发(需要启用 carpet.enableEdit)。
1995
- * @description.en Triggered when user clicks carpet area (requires carpet.enableEdit to be enabled).
2175
+ * @description.zh 当用户点击地毯区域时触发。
2176
+ * @description.en Triggered when user clicks carpet area.
1996
2177
  * @param.zh carpet - 被点击的地毯信息
1997
2178
  * @param.en carpet - Clicked carpet information
1998
2179
  */
@@ -2359,6 +2540,23 @@ export declare type RampConfig = {
2359
2540
  maxHeight?: number
2360
2541
  /** 四角控制按钮图标容器填充颜色(编辑态显示) */
2361
2542
  iconWrapperFillColor: ColorSource
2543
+ /**
2544
+ * 是否显示删除按钮(编辑态)。缺省 `true`。
2545
+ *
2546
+ * 纯 UI 显隐,不是能力禁用。
2547
+ */
2548
+ showDeleteButton?: boolean
2549
+ /** 是否显示旋转按钮(编辑态)。缺省 `true`。 */
2550
+ showRotateButton?: boolean
2551
+ /** 是否显示缩放按钮(编辑态)。缺省 `true`。 */
2552
+ showScaleButton?: boolean
2553
+ /**
2554
+ * 是否显示移动按钮(编辑态)。缺省 `true`。
2555
+ *
2556
+ * **不禁止平移**:本体拖拽走元素自身的命中区域,隐藏移动按钮只是去掉
2557
+ * 按钮与它的延长线。
2558
+ */
2559
+ showMoveButton?: boolean
2362
2560
  /** 编辑态轮廓相对坡道边缘的偏移(屏幕像素) */
2363
2561
  outlineOffset: number
2364
2562
  /** 编辑态轮廓描边颜色 */
@@ -2375,6 +2573,24 @@ export declare type RampConfig = {
2375
2573
  textColor: ColorSource
2376
2574
  /** 尺寸标签相对轮廓边缘向外的偏移(屏幕像素) */
2377
2575
  textOffset: number
2576
+ /**
2577
+ * 禁用态样式覆盖块(`runtime.disabledRampIds` 列入的坡道生效)。
2578
+ *
2579
+ * 白名单只收空闲态真正渲染的坡道本体字段(底色、描边、箭头颜色);
2580
+ * `outline*` / 按钮 / 尺寸文本只在编辑态渲染,类型上不承诺覆盖。坡道
2581
+ * 没有虚线渲染,故无虚线键。缺省时禁用态只叠加全局兜底透明度
2582
+ * `controls.disabledStyle.opacity`。
2583
+ */
2584
+ disabled?: DisabledStyleBase & {
2585
+ /** 禁用态底色 */
2586
+ fillColor?: ColorSource
2587
+ /** 禁用态描边颜色 */
2588
+ strokeColor?: ColorSource
2589
+ /** 禁用态描边线宽(屏幕像素) */
2590
+ strokeWidth?: number
2591
+ /** 禁用态箭头颜色 */
2592
+ arrowColor?: ColorSource
2593
+ }
2378
2594
  }
2379
2595
 
2380
2596
  /** 坡道参数 */
@@ -2682,6 +2898,13 @@ export declare type RuntimeConfig = {
2682
2898
  unitLabel: string
2683
2899
  /** 是否显示房间属性 */
2684
2900
  showRoomProperty: boolean
2901
+ /**
2902
+ * 是否显示房间属性的折叠指示器(折叠态的小三角)
2903
+ *
2904
+ * 只控制小三角画不画,不影响折叠能力本身:设为 false 后
2905
+ * `roomPropertyFoldIds` 里的房间依旧折叠,只是折叠态完全不可见。
2906
+ */
2907
+ showRoomPropertyFoldIndicator: boolean
2685
2908
  /** 是否显示房间顺序 */
2686
2909
  showRoomOrder: boolean
2687
2910
  /** 是否显示路径 */
@@ -2702,6 +2925,55 @@ export declare type RuntimeConfig = {
2702
2925
  showCustomCarpets: boolean
2703
2926
  /** 选中的房间ID列表 */
2704
2927
  selectRoomIds: number[]
2928
+ /**
2929
+ * 禁用的房间ID列表
2930
+ *
2931
+ * 列入的房间填充为禁用色(`config.room.colors.disabled`),与
2932
+ * `enableRoomSelection` 无关:不进选择模式也照样置灰。禁用优先于选中——
2933
+ * 房间同时出现在 `selectRoomIds` 与本列表时渲染为禁用色(两个列表本应由
2934
+ * 宿主保证互斥)。
2935
+ *
2936
+ * SDK 不拦截交互:禁用房间照常触发 `onClickRoom`,「点了不响应」由宿主在
2937
+ * 回调里判断并 return。本期只作用于房间填充,房间名 / 属性气泡 / 选中指示器
2938
+ * 不跟随。
2939
+ */
2940
+ disabledRoomIds: number[]
2941
+ /**
2942
+ * 禁用的禁扫区域ID列表。
2943
+ *
2944
+ * 与房间禁用(`disabledRoomIds`,只渲染不拦截)**同名不同义**:元素禁用
2945
+ * 会拦截编辑手势(本体拖拽与删除 / 旋转 / 缩放 / 移动按钮全部失效,编辑
2946
+ * 控件不渲染),但点击照常上抛 `onClick*`(宿主可借此弹「不可编辑」提示)。
2947
+ * 视觉上按空闲态渲染并叠加禁用样式差量(`controls.disabledStyle` 全局
2948
+ * 兜底 + 各类型 `disabled` 块覆盖)。禁用优先于编辑:元素同时出现在
2949
+ * `editing*Ids` 与本列表时按禁用处理,也不会被升到本层顶部。取舍见
2950
+ * ADR 0007;层级规则(编辑中的元素不被任何东西遮挡)见 ADR 0009。
2951
+ *
2952
+ * 以下 8 个 `disabled*Ids` 与 `disabledCustomZoneIds` 语义相同,不再逐个
2953
+ * 复述。
2954
+ */
2955
+ disabledForbiddenSweepZoneIds: string[]
2956
+ /** 禁用的禁拖区域ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2957
+ disabledForbiddenMopZoneIds: string[]
2958
+ /** 禁用的清洁区域ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2959
+ disabledCleanZoneIds: string[]
2960
+ /**
2961
+ * Disabled ids for custom zone types, keyed by zone type. Built-in types
2962
+ * use their own `disabled*ZoneIds` fields. Write through
2963
+ * `setDisabledCustomZones()` — the runtime subscription compares this key's
2964
+ * reference, so in-place nested writes never notify.
2965
+ */
2966
+ disabledCustomZoneIds?: Record<string, string[]>
2967
+ /** 禁用的虚拟墙ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2968
+ disabledVirtualWallIds: string[]
2969
+ /** 禁用的门槛ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2970
+ disabledThresholdIds: string[]
2971
+ /** 禁用的坡道ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2972
+ disabledRampIds: string[]
2973
+ /** 禁用的地毯ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds};禁用同时压过 `selectedCarpetIds` 的选中框) */
2974
+ disabledCarpetIds: string[]
2975
+ /** 禁用的家具ID列表(语义见 {@link RuntimeConfig.disabledForbiddenSweepZoneIds}) */
2976
+ disabledFurnitureIds: string[]
2705
2977
  /** 是否显示充电桩预警圈 */
2706
2978
  showChargingStationRing: boolean
2707
2979
  /** 是否显示机器人预警圈 */
@@ -2884,6 +3156,23 @@ export declare type ThresholdConfig = {
2884
3156
  maxHeight?: number
2885
3157
  /** 四角控制按钮图标容器填充颜色(编辑态显示) */
2886
3158
  iconWrapperFillColor: ColorSource
3159
+ /**
3160
+ * 是否显示删除按钮(编辑态)。缺省 `true`。
3161
+ *
3162
+ * 纯 UI 显隐,不是能力禁用。
3163
+ */
3164
+ showDeleteButton?: boolean
3165
+ /** 是否显示旋转按钮(编辑态)。缺省 `true`。 */
3166
+ showRotateButton?: boolean
3167
+ /** 是否显示缩放按钮(编辑态)。缺省 `true`。 */
3168
+ showScaleButton?: boolean
3169
+ /**
3170
+ * 是否显示移动按钮(编辑态)。缺省 `true`。
3171
+ *
3172
+ * **不禁止平移**:本体拖拽走元素自身的命中区域,隐藏移动按钮只是去掉
3173
+ * 按钮与它的延长线。
3174
+ */
3175
+ showMoveButton?: boolean
2887
3176
  /**
2888
3177
  * 点击热区在条带每一侧向外扩展的可抓边距(屏幕像素,不随地图缩放)。
2889
3178
  * 热区厚度 = 条带高度 + 2 × 该值,因此条带无论多厚都保有固定的可抓边距,
@@ -2906,6 +3195,20 @@ export declare type ThresholdConfig = {
2906
3195
  textColor: ColorSource
2907
3196
  /** 尺寸标签相对轮廓边缘向外的偏移(屏幕像素) */
2908
3197
  textOffset: number
3198
+ /**
3199
+ * 禁用态样式覆盖块(`runtime.disabledThresholdIds` 列入的门槛生效)。
3200
+ *
3201
+ * 门槛主体是斜纹条带,按通行类型分两套样式,禁用覆盖也按同一结构给:
3202
+ * `passable` / `impassable` 各自可部分覆盖 {@link ThresholdStyle}。条带
3203
+ * 没有虚线渲染,故无虚线键。缺省时禁用态只叠加全局兜底透明度
3204
+ * `controls.disabledStyle.opacity`。
3205
+ */
3206
+ disabled?: DisabledStyleBase & {
3207
+ /** 禁用态的可通行门槛样式覆盖 */
3208
+ passable?: Partial<ThresholdStyle>
3209
+ /** 禁用态的不可通行门槛样式覆盖 */
3210
+ impassable?: Partial<ThresholdStyle>
3211
+ }
2909
3212
  }
2910
3213
 
2911
3214
  /**
@@ -2956,13 +3259,42 @@ export declare type ThresholdStyle = {
2956
3259
  export declare type ThresholdType = 'passable' | 'impassable'
2957
3260
 
2958
3261
  /** 虚拟墙配置 */
2959
- export declare type VirtualWallConfig = {
2960
- /** 图标容器填充颜色 */
2961
- iconWrapperFillColor: ColorSource
3262
+ /**
3263
+ * 虚拟墙主体绘制样式 —— 空闲态真正渲染的部分(墙体线段)。
3264
+ * 单独成型是为了让禁用态覆盖块({@link VirtualWallDisabledStyle})与本体
3265
+ * 字段同源派生,不会漂移。
3266
+ */
3267
+ export declare type VirtualWallBodyStyle = {
2962
3268
  /** 线条宽度 */
2963
3269
  lineWidth: number
2964
3270
  /** 线条颜色 */
2965
3271
  lineColor: ColorSource
3272
+ }
3273
+
3274
+ export declare type VirtualWallConfig = VirtualWallBodyStyle & {
3275
+ /** 图标容器填充颜色 */
3276
+ iconWrapperFillColor: ColorSource
3277
+ /**
3278
+ * 是否显示删除按钮(编辑态)。缺省 `true`。
3279
+ *
3280
+ * 纯 UI 显隐,不是能力禁用。
3281
+ */
3282
+ showDeleteButton?: boolean
3283
+ /**
3284
+ * 是否显示缩放按钮(编辑态)。缺省 `true`。
3285
+ *
3286
+ * 虚拟墙的这颗按钮是**缩放 + 旋转二合一**(拖动同时改长度与朝向,绕固定
3287
+ * 起点旋转),隐藏它等于同时关掉这两个通道。虚拟墙没有独立的旋转按钮,
3288
+ * 因而不支持 `showRotateButton`。
3289
+ */
3290
+ showScaleButton?: boolean
3291
+ /**
3292
+ * 是否显示移动按钮(编辑态)。缺省 `true`。
3293
+ *
3294
+ * **不禁止平移**:墙体本体的拖拽走线段自身的命中区域,隐藏移动按钮只是
3295
+ * 去掉按钮与它的延长线。
3296
+ */
3297
+ showMoveButton?: boolean
2966
3298
  /** 碰撞区域厚度 */
2967
3299
  hitAreaThickness: number
2968
3300
  /** 轮廓偏移 */
@@ -2985,6 +3317,13 @@ export declare type VirtualWallConfig = {
2985
3317
  minWidth: number
2986
3318
  /** 最大宽度 (米),可选。缺省或 ≤ minWidth 时不限制。 */
2987
3319
  maxWidth?: number
3320
+ /**
3321
+ * 禁用态样式覆盖块(`runtime.disabledVirtualWallIds` 列入的虚拟墙生效)。
3322
+ *
3323
+ * 缺省(`undefined`)时禁用态只叠加全局兜底透明度
3324
+ * `controls.disabledStyle.opacity`,墙体颜色不变。
3325
+ */
3326
+ disabled?: VirtualWallDisabledStyle
2988
3327
 
2989
3328
  /** 编辑模式样式 */
2990
3329
  editing: {
@@ -3002,6 +3341,21 @@ export declare type VirtualWallConfig = {
3002
3341
  }
3003
3342
  }
3004
3343
 
3344
+ /**
3345
+ * 虚拟墙禁用态样式覆盖块。
3346
+ *
3347
+ * 白名单只收空闲态真正渲染的墙体线段字段;`outline*` / 按钮 / 长度文本
3348
+ * 只在编辑态渲染,禁用态按空闲切片显示,类型上不承诺覆盖它们。虚线两键
3349
+ * 覆盖墙体线段的虚实,缺省回退 `normal` 块。
3350
+ */
3351
+ export declare type VirtualWallDisabledStyle = Partial<VirtualWallBodyStyle> &
3352
+ DisabledStyleBase & {
3353
+ /** 禁用态墙体是否虚线,缺省回退 `normal.isDashed` */
3354
+ isDashed?: boolean
3355
+ /** 禁用态墙体虚线数组,缺省回退 `normal.dashArray` */
3356
+ dashArray?: [number, number]
3357
+ }
3358
+
3005
3359
  /** 虚拟墙参数 */
3006
3360
  export declare type VirtualWallParam = {
3007
3361
  /** 虚拟墙ID */
@@ -3082,9 +3436,69 @@ export declare type WayPointParam = {
3082
3436
  point: Point
3083
3437
  }
3084
3438
 
3439
+ /**
3440
+ * Zone 主体绘制样式 —— 空闲态真正渲染的部分(体填充与内框描边)。
3441
+ * 单独成型是为了让禁用态覆盖块({@link ZoneDisabledStyle})与本体字段
3442
+ * 同源派生,不会漂移。
3443
+ */
3444
+ export declare type ZoneBodyStyle = {
3445
+ /** 描边颜色 */
3446
+ strokeColor: ColorSource
3447
+ /** 描边宽度 */
3448
+ strokeWidth: number
3449
+ /** 填充颜色 */
3450
+ fillColor: ColorSource
3451
+ }
3452
+
3453
+ /**
3454
+ * 区域中心图标配置(类型级粒度:同一区域类型的所有实例共用一个图标)。
3455
+ *
3456
+ * 字段口径对齐 {@link SpotConfig} 的 `iconSrc` / `iconSize` / `iconSizeFixed` /
3457
+ * `iconAnchor` 与其 `editing.showIcon` / `normal.showIcon`。
3458
+ */
3459
+ export declare type ZoneCenterIconConfig = {
3460
+ /** 图标资源路径 */
3461
+ src: string
3462
+ /** 图标大小(sizeFixed 时为屏幕像素,否则为地图像素),默认 24 */
3463
+ size?: number
3464
+ /** 图标尺寸是否固定(不跟随地图缩放),默认 true */
3465
+ sizeFixed?: boolean
3466
+ /** 图标锚点(x/y 取同一值),0 为左上、0.5 为居中、1 为右下,默认 0.5 */
3467
+ anchor?: number
3468
+ /** 图标不透明度,默认 1 */
3469
+ opacity?: number
3470
+ /** 编辑态是否显示图标,默认 true */
3471
+ showInEditing?: boolean
3472
+ /** 普通态是否显示图标,默认 true */
3473
+ showInNormal?: boolean
3474
+ /**
3475
+ * 禁用态是否显示图标,缺省回退 `showInNormal`。
3476
+ *
3477
+ * 禁用元素整体变淡时,一枚淡化的类型图标(如禁扫区的禁止标)可能被读成
3478
+ * 「这条规则失效了」——语义含混时用本开关把它藏掉。
3479
+ */
3480
+ showInDisabled?: boolean
3481
+ }
3482
+
3085
3483
  /** 区域配置 */
3086
3484
  export declare type ZoneConfig = BaseZoneConfig
3087
3485
 
3486
+ /**
3487
+ * 区域禁用态样式覆盖块。
3488
+ *
3489
+ * 白名单只收空闲态真正渲染的主体绘制字段——`outline*` / 按钮 / 尺寸文本
3490
+ * 只在编辑态渲染,而禁用态按空闲切片显示,覆盖它们不会产生任何效果,
3491
+ * 因此类型上不承诺。虚线两键覆盖内框(zoneBorder)的虚实,缺省回退
3492
+ * `normal` 块。
3493
+ */
3494
+ export declare type ZoneDisabledStyle = Partial<ZoneBodyStyle> &
3495
+ DisabledStyleBase & {
3496
+ /** 禁用态内框是否虚线,缺省回退 `normal.isDashed` */
3497
+ isDashed?: boolean
3498
+ /** 禁用态内框虚线数组,缺省回退 `normal.dashArray` */
3499
+ dashArray?: [number, number]
3500
+ }
3501
+
3088
3502
  /** 区域参数 */
3089
3503
  export declare type ZoneParam = {
3090
3504
  /** 区域ID */