@antv/aimapui 0.3.3 → 0.3.5

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/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Component } from 'react';
2
2
  import { default as default_2 } from 'react';
3
3
  import { Feature } from 'geojson';
4
- import { JSX as JSX_2 } from 'react/jsx-runtime';
5
4
  import { ReactNode } from 'react';
6
5
  import { RefObject } from 'react';
7
6
  import { Scene } from '@antv/l7';
@@ -159,7 +158,7 @@ export declare type AdministrativeLevel = 'province' | 'city' | 'district';
159
158
  * <AiMap schema={fullSchema} />
160
159
  * ```
161
160
  */
162
- export declare function AiMap({ map, schema, theme, onSceneReady, onLayerClick, onLayerMouseMove, onLayerMouseEnter, onLayerMouseLeave, onMapMove, onMapZoom, autoFit, events, children, className, style, }: AiMapProps): JSX_2.Element;
161
+ export declare function AiMap({ map, schema, theme, onSceneReady, onLayerClick, onLayerMouseMove, onLayerMouseEnter, onLayerMouseLeave, onMapMove, onMapZoom, autoFit, events, children, className, style, }: AiMapProps): default_2.JSX.Element;
163
162
 
164
163
  /**
165
164
  * JSON Schema 导出 — 供 AI / LLM 理解 Schema 结构
@@ -959,7 +958,7 @@ export declare interface ArcFlowDataItem {
959
958
  * />
960
959
  * ```
961
960
  */
962
- export declare function ArcFlowLayer({ source, sourceType, sourceConfig, shape, color, gradientColors, colorMode, colorField, colorValues, lineWidth, lineWidthRange, weightField, opacity, blur, animate, animateSpeed, animateTrailLength, animateDuration, showNodes, nodeColor, nodeSize, nodeSizeRange, nodePulse, showTooltip, showNodePopup, activeColor, onArcHover, onArcClick, onNodeClick, style: extraStyle, }: ArcFlowLayerProps): JSX_2.Element;
961
+ export declare function ArcFlowLayer({ source, sourceType, sourceConfig, shape, color, gradientColors, colorMode, colorField, colorValues, lineWidth, lineWidthRange, weightField, opacity, blur, animate, animateSpeed, animateTrailLength, animateDuration, showNodes, nodeColor, nodeSize, nodeSizeRange, nodePulse, showTooltip, showNodePopup, activeColor, onArcHover, onArcClick, onNodeClick, style: extraStyle, }: ArcFlowLayerProps): default_2.JSX.Element;
963
962
 
964
963
  export declare interface ArcFlowLayerProps {
965
964
  /** OD 数据源 — JSON 数组 */
@@ -1055,7 +1054,7 @@ export declare type BasemapType = 'gaode' | 'mapbox' | 'maplibre' | 'tianditu' |
1055
1054
  * </BottomSheet>
1056
1055
  * ```
1057
1056
  */
1058
- export declare function BottomSheet({ children, defaultSnap, collapsedHeight, halfRatio, expandedRatio, onSnapChange, className, showHandle, borderRadius, }: BottomSheetProps): JSX_2.Element;
1057
+ export declare function BottomSheet({ children, defaultSnap, collapsedHeight, halfRatio, expandedRatio, onSnapChange, className, showHandle, borderRadius, }: BottomSheetProps): default_2.JSX.Element;
1059
1058
 
1060
1059
  export declare interface BottomSheetProps {
1061
1060
  /** 子内容 */
@@ -1096,7 +1095,7 @@ declare type BubbleAnchor = 'center' | 'top' | 'right' | 'bottom' | 'left' | 'to
1096
1095
  * - bubbleAnchor='center', labelAnchor='center' — 标签居中覆盖气泡(适合短文本)
1097
1096
  * - bubbleAnchor='bottom', labelAnchor='top' — 标签在气泡上方(经典布局)
1098
1097
  */
1099
- export declare function BubbleLayer({ source, sourceType, sourceConfig, labelField, labelColor, labelSize, showLabel, labelOffset, sizeDomain, bubbleAnchor, labelAnchor, hoverEffect, clickEffect, tooltipEffect, tooltipFields, tooltipTemplate, semanticColorField, color, size, sizeField, sizeValues, style, active, select, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: BubbleLayerProps): JSX_2.Element;
1098
+ export declare function BubbleLayer({ source, sourceType, sourceConfig, labelField, labelColor, labelSize, showLabel, labelOffset, sizeDomain, bubbleAnchor, labelAnchor, hoverEffect, clickEffect, tooltipEffect, tooltipFields, tooltipTemplate, semanticColorField, color, size, sizeField, sizeValues, style, active, select, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: BubbleLayerProps): default_2.JSX.Element;
1100
1099
 
1101
1100
  export declare interface BubbleLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1102
1101
  source: LayerSchema['source'];
@@ -1276,7 +1275,7 @@ declare interface ColorConfig {
1276
1275
  * </ControlContainer>
1277
1276
  * ```
1278
1277
  */
1279
- export declare function ControlContainer({ children, className, style }: ControlContainerProps): JSX_2.Element;
1278
+ export declare function ControlContainer({ children, className, style }: ControlContainerProps): default_2.JSX.Element;
1280
1279
 
1281
1280
  declare interface ControlContainerProps {
1282
1281
  children?: ReactNode;
@@ -1314,7 +1313,7 @@ export declare const ControlRegistry: {
1314
1313
  * 使用 ControlContainer 包裹,按 position 自动分组排列,
1315
1314
  * 同一角度的多个控件自动堆叠而不会重叠
1316
1315
  */
1317
- export declare function ControlRenderer({ controls, layers, onLayerToggle, containerRef }: ControlRendererProps): JSX_2.Element;
1316
+ export declare function ControlRenderer({ controls, layers, onLayerToggle, containerRef }: ControlRendererProps): default_2.JSX.Element;
1318
1317
 
1319
1318
  declare interface ControlRendererProps {
1320
1319
  controls: ControlSchema[];
@@ -1327,6 +1326,8 @@ export declare interface ControlSchema {
1327
1326
  type: ControlType;
1328
1327
  position?: ControlPosition;
1329
1328
  options?: Record<string, unknown>;
1329
+ /** 不可序列化的回调函数(仅用于编程式 API,不出现在 JSON Schema 中) */
1330
+ callbacks?: Record<string, unknown>;
1330
1331
  }
1331
1332
 
1332
1333
  export declare type ControlType = 'zoom' | 'scale' | 'fullscreen' | 'geoLocate' | 'mapTheme' | 'mouseLocation' | 'exportImage' | 'layerSwitch' | 'draw' | 'imageCalibration';
@@ -1574,7 +1575,7 @@ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBo
1574
1575
  state: ErrorBoundaryState;
1575
1576
  static getDerivedStateFromError(error: Error): ErrorBoundaryState;
1576
1577
  componentDidCatch(error: Error, errorInfo: default_2.ErrorInfo): void;
1577
- render(): string | number | boolean | Iterable<default_2.ReactNode> | JSX_2.Element | null | undefined;
1578
+ render(): string | number | boolean | Iterable<default_2.ReactNode> | default_2.JSX.Element | null | undefined;
1578
1579
  }
1579
1580
 
1580
1581
  declare interface ErrorBoundaryProps {
@@ -1617,7 +1618,7 @@ export declare class EventBus {
1617
1618
  clear(): void;
1618
1619
  }
1619
1620
 
1620
- export declare function EventBusProvider({ events, children }: EventBusProviderProps): JSX_2.Element;
1621
+ export declare function EventBusProvider({ events, children }: EventBusProviderProps): default_2.JSX.Element;
1621
1622
 
1622
1623
  declare interface EventBusProviderProps {
1623
1624
  /** 初始事件监听(从 AiMap events prop 传入) */
@@ -1703,12 +1704,33 @@ export declare interface ExportResult {
1703
1704
  outputHeight: number;
1704
1705
  }
1705
1706
 
1707
+ /** 导出上传数据包 */
1708
+ declare interface ExportUploadData {
1709
+ /** 所有瓦片切片 */
1710
+ tiles: Array<{
1711
+ blob: Blob;
1712
+ row: number;
1713
+ col: number;
1714
+ extent: [number, number, number, number];
1715
+ corners: GeoCorners;
1716
+ width: number;
1717
+ height: number;
1718
+ }>;
1719
+ /** 完整配准后的图片 Blob */
1720
+ fullBlob: Blob;
1721
+ /** 完整图片的地理范围 */
1722
+ extent: [number, number, number, number];
1723
+ /** 输出尺寸 */
1724
+ outputWidth: number;
1725
+ outputHeight: number;
1726
+ }
1727
+
1706
1728
  declare type FillColorMapping = 'sequential' | 'diverging' | 'categorical';
1707
1729
 
1708
1730
  /**
1709
1731
  * 填充图组件(填充 + 描边 + 文字)
1710
1732
  */
1711
- export declare function FillLayer({ source, sourceType, colorMapping, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, stickySelection, tooltipEffect, tooltipFields, tooltipTemplate, regionIdField, highlightStrokeColor, highlightStrokeWidth, zoomToRegionOnClick, clickZoomPadding, clickZoomDelta, onRegionClick, onDrilldown, onLayerCreated, showLabel, labelField, labelColor, labelSize, labelAreaThreshold, labelHaloWidth, minLabelZoom, valueField, percentageField, nameField, color, colorField, colorValues, active, select, events, style, ...rest }: FillLayerProps): JSX_2.Element;
1733
+ export declare function FillLayer({ source, sourceType, colorMapping, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, stickySelection, tooltipEffect, tooltipFields, tooltipTemplate, regionIdField, highlightStrokeColor, highlightStrokeWidth, zoomToRegionOnClick, clickZoomPadding, clickZoomDelta, onRegionClick, onDrilldown, onLayerCreated, showLabel, labelField, labelColor, labelSize, labelAreaThreshold, labelHaloWidth, minLabelZoom, valueField, percentageField, nameField, color, colorField, colorValues, active, select, events, style, ...rest }: FillLayerProps): default_2.JSX.Element;
1712
1734
 
1713
1735
  export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1714
1736
  source: LayerSchema['source'];
@@ -1744,7 +1766,7 @@ export declare interface FillLayerProps extends Omit<LayerSchema, 'type' | 'sour
1744
1766
  nameField?: string;
1745
1767
  }
1746
1768
 
1747
- export declare function FullscreenControl({ position, container, className, style, }: FullscreenControlProps): JSX_2.Element;
1769
+ export declare function FullscreenControl({ position, container, className, style, }: FullscreenControlProps): default_2.JSX.Element;
1748
1770
 
1749
1771
  /**
1750
1772
  * Fullscreen 全屏控件
@@ -1790,7 +1812,7 @@ number
1790
1812
  ]
1791
1813
  ];
1792
1814
 
1793
- export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): JSX_2.Element;
1815
+ export declare function GeoLocateControl({ position, transform, className, style, }: GeoLocateControlProps): default_2.JSX.Element;
1794
1816
 
1795
1817
  /**
1796
1818
  * GeoLocate 定位控件
@@ -1838,7 +1860,7 @@ export declare function getPopperDirection(pos: L7ControlPosition): string;
1838
1860
  * - 碰撞检测:图标始终可见,仅文本被避让
1839
1861
  * - 缩放适配:L1(14+) 全显示 → L2(10-13) 仅图标 → L3(<10) 降级圆点
1840
1862
  */
1841
- export declare function GlyphLayer({ source, sourceType, sourceConfig, iconField, iconFontFamily, iconFontPath, iconFontMap, iconColor, iconSize, iconHaloColor, iconHaloWidth, iconStyle, iconAnchor, iconBgShape, iconBgShapeColor, iconBgShapeSize, iconBgStrokeColor, iconBgStrokeWidth, iconBgPadding, iconBgCornerRadius, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: GlyphLayerProps): JSX_2.Element | null;
1863
+ export declare function GlyphLayer({ source, sourceType, sourceConfig, iconField, iconFontFamily, iconFontPath, iconFontMap, iconColor, iconSize, iconHaloColor, iconHaloWidth, iconStyle, iconAnchor, iconBgShape, iconBgShapeColor, iconBgShapeSize, iconBgStrokeColor, iconBgStrokeWidth, iconBgPadding, iconBgCornerRadius, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: GlyphLayerProps): default_2.JSX.Element | null;
1842
1864
 
1843
1865
  export declare interface GlyphLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1844
1866
  source: LayerSchema['source'];
@@ -1929,7 +1951,7 @@ export declare interface H3DataItem {
1929
1951
  [key: string]: unknown;
1930
1952
  }
1931
1953
 
1932
- export declare function H3Layer({ source, h3Field, color, colorField, colorValues, opacity, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, showLabel, labelField, labelColor, labelSize, active, select, style, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: H3LayerProps): JSX_2.Element;
1954
+ export declare function H3Layer({ source, h3Field, color, colorField, colorValues, opacity, showStroke, strokeColor, strokeWidth, hoverEffect, clickEffect, showLabel, labelField, labelColor, labelSize, active, select, style, onClick, onMouseMove, onMouseEnter, onMouseLeave, ...rest }: H3LayerProps): default_2.JSX.Element;
1933
1955
 
1934
1956
  export declare interface H3LayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig' | 'shape' | 'shapeField' | 'shapeValues'> {
1935
1957
  source: H3DataItem[];
@@ -1954,7 +1976,7 @@ export declare interface H3LayerProps extends Omit<LayerSchema, 'type' | 'source
1954
1976
  *
1955
1977
  * 支持悬停高亮交互(对齐蜂窝热力图设计规范)
1956
1978
  */
1957
- export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: HeatmapLayerProps): JSX_2.Element | null;
1979
+ export declare function HeatmapLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: HeatmapLayerProps): default_2.JSX.Element | null;
1958
1980
 
1959
1981
  export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
1960
1982
  source: LayerSchema['source'];
@@ -1974,8 +1996,14 @@ export declare interface HeatmapLayerProps extends Omit<LayerSchema, 'type' | 's
1974
1996
 
1975
1997
  /**
1976
1998
  * 蜂窝热力图(六边形聚合)
1999
+ *
2000
+ * 遵循设计规范:
2001
+ * - 2D 模式:平面正六边形,可选描边
2002
+ * - 3D 模式:立体挤压柱体,高度映射权重
2003
+ * - 默认 hexSize=20(屏幕空间 20-40px 范围)
2004
+ * - 支持 hover 高亮反馈
1977
2005
  */
1978
- declare function HexagonLayer({ source, sourceType, sourceConfig, hexSize, weightField, weightMethod, onClick, onMouseMove, style, ...rest }: HexagonLayerProps): JSX_2.Element;
2006
+ declare function HexagonLayer({ source, sourceType, sourceConfig, mode, hexSize, weightField, weightMethod, showStroke, strokeColor, strokeWidth, hoverEffect, activeColor, onClick, onMouseMove, onMouseEnter, onMouseLeave, style, ...rest }: HexagonLayerProps): default_2.JSX.Element;
1979
2007
  export { HexagonLayer as HeatmapHexagonLayer }
1980
2008
  export { HexagonLayer }
1981
2009
 
@@ -1983,15 +2011,39 @@ declare interface HexagonLayerProps extends Omit<LayerSchema, 'type' | 'shape' |
1983
2011
  source: LayerSchema['source'];
1984
2012
  sourceType?: LayerSchema['sourceType'];
1985
2013
  sourceConfig?: LayerSchema['sourceConfig'];
2014
+ /** 渲染模式,默认 '3d'(立体挤压) */
2015
+ mode?: HexagonMode;
2016
+ /** 六边形半径(像素),默认 20(符合规范 20-40px 范围) */
1986
2017
  hexSize?: number;
2018
+ /** 权重字段,默认 'value' */
1987
2019
  weightField?: string;
2020
+ /** 聚合方法,默认 'sum' */
1988
2021
  weightMethod?: 'sum' | 'mean' | 'min' | 'max' | 'count';
2022
+ /** 是否显示描边,默认 false(2D 模式可开启) */
2023
+ showStroke?: boolean;
2024
+ /** 描边颜色,默认 'rgba(255,255,255,0.3)' */
2025
+ strokeColor?: string;
2026
+ /** 描边宽度,默认 0.5 */
2027
+ strokeWidth?: number;
2028
+ /** 是否启用 hover 高亮,默认 true */
2029
+ hoverEffect?: boolean;
2030
+ /** hover 高亮色,默认 '#fbbf24' (secondary) */
2031
+ activeColor?: string;
1989
2032
  onClick?: (payload: LayerEventPayload) => void;
1990
2033
  onMouseMove?: (payload: LayerEventPayload) => void;
2034
+ onMouseEnter?: (payload: LayerEventPayload) => void;
2035
+ onMouseLeave?: (payload: LayerEventPayload) => void;
1991
2036
  }
1992
2037
  export { HexagonLayerProps as HeatmapHexagonLayerProps }
1993
2038
  export { HexagonLayerProps }
1994
2039
 
2040
+ /**
2041
+ * 蜂窝热力图渲染模式
2042
+ * - 2d: 平面六边形,适合密度分布展示
2043
+ * - 3d: 立体挤压柱体,高度映射权重,增强视觉对比
2044
+ */
2045
+ declare type HexagonMode = '2d' | '3d';
2046
+
1995
2047
  /**
1996
2048
  * 将十六进制颜色转为 RGBA
1997
2049
  */
@@ -2018,7 +2070,7 @@ declare type IconAnchor_2 = 'center' | 'top' | 'bottom' | 'left' | 'right';
2018
2070
  * - 缩放适配:Zoom15+ 全显示 → 10-14 仅图标 → <10 降级圆点
2019
2071
  * - 碰撞检测:重叠时隐藏低优先级文本
2020
2072
  */
2021
- export declare function IconLayer({ source, sourceType, sourceConfig, iconField, iconMap, iconSize, iconAnchor, size, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: IconLayerProps): JSX_2.Element | null;
2073
+ export declare function IconLayer({ source, sourceType, sourceConfig, iconField, iconMap, iconSize, iconAnchor, size, showLabel, labelField, labelColor, labelSize, labelAnchor, labelOffset, labelHaloColor, labelHaloWidth, labelStyle, textAllowOverlap, iconAllowOverlap, zoomAdaption, zoomShowLabel, zoomDegradeToPoint, onClick, onMouseEnter, onMouseLeave, ...rest }: IconLayerProps): default_2.JSX.Element | null;
2022
2074
 
2023
2075
  export declare interface IconLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2024
2076
  source: LayerSchema['source'];
@@ -2132,6 +2184,12 @@ export declare interface ImageCalibrationControlProps {
2132
2184
  onImageAdd?: (image: RegisteredImage) => void;
2133
2185
  /** 删除图片回调 */
2134
2186
  onImageRemove?: (imageId: string) => void;
2187
+ /** 文件上传到 CDN 的回调。提供时,组件会将原始 File 传给此回调,用返回的 CDN URL 进入后续流程 */
2188
+ onImageUpload?: OnImageUpload;
2189
+ /** 裁剪后上传到 CDN 的回调。提供时,裁剪后的 Blob 先传给此回调,返回的 CDN URL 作为最终图片源 */
2190
+ onCropUpload?: OnCropUpload;
2191
+ /** 导出上传到 CDN 的回调。提供时,导出对话框中展示"上传到云端"按钮,瓦片和完整图片传给此回调 */
2192
+ onExportUpload?: OnExportUpload;
2135
2193
  }
2136
2194
 
2137
2195
  /** 命令式 Handle */
@@ -2154,7 +2212,7 @@ export declare interface ImageCalibrationHandle {
2154
2212
  /**
2155
2213
  * 图片图层组件
2156
2214
  */
2157
- export declare function ImageLayer({ source, sourceType, sourceConfig, onClick, ...rest }: ImageLayerProps): JSX_2.Element | null;
2215
+ export declare function ImageLayer({ source, sourceType, sourceConfig, onClick, ...rest }: ImageLayerProps): default_2.JSX.Element | null;
2158
2216
 
2159
2217
  export declare interface ImageLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2160
2218
  source: LayerSchema['source'];
@@ -2177,7 +2235,7 @@ export declare const INDEPENDENT_MAP_THEME_PRESETS: ThemeOption[];
2177
2235
  *
2178
2236
  * 参考 L7 实现:使用 mapsService.getMarkerContainer() 作为 Marker/Popup 的 DOM 容器
2179
2237
  */
2180
- export declare function InteractionRenderer({ interactions }: InteractionRendererProps): JSX_2.Element;
2238
+ export declare function InteractionRenderer({ interactions }: InteractionRendererProps): default_2.JSX.Element;
2181
2239
 
2182
2240
  declare interface InteractionRendererProps {
2183
2241
  interactions: InteractionSchema[];
@@ -2259,7 +2317,7 @@ export declare interface LayerItem {
2259
2317
  /**
2260
2318
  * 批量渲染图层
2261
2319
  */
2262
- export declare function LayerRenderer({ layers, eventHandlers }: LayerRendererProps): JSX_2.Element | null;
2320
+ export declare function LayerRenderer({ layers, eventHandlers }: LayerRendererProps): default_2.JSX.Element | null;
2263
2321
 
2264
2322
  declare interface LayerRendererProps {
2265
2323
  layers: LayerSchema[];
@@ -2301,7 +2359,7 @@ export declare interface LayerSchema {
2301
2359
  events?: LayerEventSchema;
2302
2360
  }
2303
2361
 
2304
- export declare function LayerSwitchControl({ position, layers, onToggle, onOpacityChange, className, style, }: LayerSwitchControlProps): JSX_2.Element | null;
2362
+ export declare function LayerSwitchControl({ position, layers, onToggle, onOpacityChange, className, style, }: LayerSwitchControlProps): default_2.JSX.Element | null;
2305
2363
 
2306
2364
  export declare interface LayerSwitchControlProps {
2307
2365
  /** 控件位置,默认 topright */
@@ -2329,7 +2387,7 @@ export declare type LayerType = 'point' | 'line' | 'polygon' | 'heatmap' | 'rast
2329
2387
  *
2330
2388
  * @see legend.md §2 分类与枚举图例
2331
2389
  */
2332
- export declare function LegendCategories({ title, labels, colors, swatchShape, grid, className, interaction, }: LegendCategoriesProps): JSX_2.Element;
2390
+ export declare function LegendCategories({ title, labels, colors, swatchShape, grid, className, interaction, }: LegendCategoriesProps): default_2.JSX.Element;
2333
2391
 
2334
2392
  declare interface LegendCategoriesProps extends LegendCategoriesSchema {
2335
2393
  className?: string;
@@ -2348,7 +2406,7 @@ export declare interface LegendCategoriesSchema {
2348
2406
  grid?: boolean;
2349
2407
  }
2350
2408
 
2351
- export declare function LegendControl({ position, className, style, children, }: LegendControlProps): JSX_2.Element | null;
2409
+ export declare function LegendControl({ position, className, style, children, }: LegendControlProps): default_2.JSX.Element | null;
2352
2410
 
2353
2411
  export declare interface LegendControlProps {
2354
2412
  position?: L7ControlPosition;
@@ -2370,7 +2428,7 @@ export declare interface LegendControlProps {
2370
2428
  *
2371
2429
  * @see legend.md §4 离散与发散图例
2372
2430
  */
2373
- export declare function LegendDiverging({ title, colors, labels, middleLabel, className, }: LegendDivergingProps): JSX_2.Element;
2431
+ export declare function LegendDiverging({ title, colors, labels, middleLabel, className, }: LegendDivergingProps): default_2.JSX.Element;
2374
2432
 
2375
2433
  declare interface LegendDivergingProps extends LegendDivergingSchema {
2376
2434
  className?: string;
@@ -2401,7 +2459,7 @@ export declare interface LegendDivergingSchema {
2401
2459
  *
2402
2460
  * @see legend.md §2 分类与枚举图例 (图标变体)
2403
2461
  */
2404
- export declare function LegendIcon({ title, items, className, interaction }: LegendIconProps): JSX_2.Element;
2462
+ export declare function LegendIcon({ title, items, className, interaction }: LegendIconProps): default_2.JSX.Element;
2405
2463
 
2406
2464
  export declare interface LegendIconItem {
2407
2465
  icon: string;
@@ -2442,7 +2500,7 @@ export declare interface LegendInteractionCallbacks {
2442
2500
  *
2443
2501
  * @see legend.md — LineWidth 类型图例
2444
2502
  */
2445
- export declare function LegendLineWidth({ title, color, items, className, interaction, }: LegendLineWidthProps): JSX_2.Element;
2503
+ export declare function LegendLineWidth({ title, color, items, className, interaction, }: LegendLineWidthProps): default_2.JSX.Element;
2446
2504
 
2447
2505
  declare interface LegendLineWidthProps extends LegendLineWidthSchema {
2448
2506
  className?: string;
@@ -2474,7 +2532,7 @@ export declare interface LegendLineWidthSchema {
2474
2532
  *
2475
2533
  * @see LegendSize 为新版推荐的替代组件,提供更灵活的 items 配置
2476
2534
  */
2477
- export declare function LegendProportion({ title, labels, fillColor, className, }: LegendProportionProps): JSX_2.Element;
2535
+ export declare function LegendProportion({ title, labels, fillColor, className, }: LegendProportionProps): default_2.JSX.Element;
2478
2536
 
2479
2537
  declare interface LegendProportionProps extends LegendProportionSchema {
2480
2538
  className?: string;
@@ -2500,7 +2558,7 @@ export declare interface LegendProportionSchema {
2500
2558
  *
2501
2559
  * @see legend.md §3 连续与分级图例
2502
2560
  */
2503
- export declare function LegendRamp({ title, labels, colors, isContinuous, showTicks, brushable, className, interaction, }: LegendRampProps): JSX_2.Element;
2561
+ export declare function LegendRamp({ title, labels, colors, isContinuous, showTicks, brushable, className, interaction, }: LegendRampProps): default_2.JSX.Element;
2504
2562
 
2505
2563
  declare interface LegendRampProps extends LegendRampSchema {
2506
2564
  className?: string;
@@ -2532,7 +2590,7 @@ export declare interface LegendRampSchema {
2532
2590
  *
2533
2591
  * @see legend.md §1 基础视觉准则
2534
2592
  */
2535
- export declare function LegendRenderer({ legends, className, style, interaction, }: LegendRendererProps): JSX_2.Element | null;
2593
+ export declare function LegendRenderer({ legends, className, style, interaction, }: LegendRendererProps): default_2.JSX.Element | null;
2536
2594
 
2537
2595
  declare interface LegendRendererProps {
2538
2596
  legends: LegendSchema[];
@@ -2558,7 +2616,7 @@ export declare type LegendSchema = LegendCategoriesSchema | LegendRampSchema | L
2558
2616
  *
2559
2617
  * @see legend.md — Size / Proportion 类型图例
2560
2618
  */
2561
- export declare function LegendSize({ title, fillColor, items, className, }: LegendSizeProps): JSX_2.Element;
2619
+ export declare function LegendSize({ title, fillColor, items, className, }: LegendSizeProps): default_2.JSX.Element;
2562
2620
 
2563
2621
  declare interface LegendSizeProps extends LegendSizeSchema {
2564
2622
  className?: string;
@@ -2594,7 +2652,7 @@ export declare type LegendSwatchShape = 'square' | 'circle';
2594
2652
  *
2595
2653
  * @see legend.md §3.3 Threshold 自定义分段
2596
2654
  */
2597
- export declare function LegendThreshold({ title, ranges, colors, className, interaction, }: LegendThresholdProps): JSX_2.Element;
2655
+ export declare function LegendThreshold({ title, ranges, colors, className, interaction, }: LegendThresholdProps): default_2.JSX.Element;
2598
2656
 
2599
2657
  declare interface LegendThresholdProps extends LegendThresholdSchema {
2600
2658
  className?: string;
@@ -2620,7 +2678,7 @@ export declare interface LegendThresholdSchema {
2620
2678
  * </AiMap>
2621
2679
  * ```
2622
2680
  */
2623
- export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: LineLayerProps): JSX_2.Element | null;
2681
+ export declare function LineLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: LineLayerProps): default_2.JSX.Element | null;
2624
2682
 
2625
2683
  export declare interface LineLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2626
2684
  source: LayerSchema['source'];
@@ -2639,7 +2697,7 @@ declare interface LinkAnnotationProperties extends AnnotationPropertiesBase {
2639
2697
  title?: string;
2640
2698
  }
2641
2699
 
2642
- export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): JSX_2.Element;
2700
+ export declare function LogoControl({ logos, position, className, style, }: LogoControlProps): default_2.JSX.Element;
2643
2701
 
2644
2702
  export declare interface LogoControlProps {
2645
2703
  /** Logo 列表,支持多张 */
@@ -2728,7 +2786,7 @@ export declare interface MapEventPayload {
2728
2786
  rotation: number;
2729
2787
  }
2730
2788
 
2731
- export declare function MapSceneRenderer({ mapSchema, children, onSceneReady, mapEventHandlers, events, className, style, }: MapSceneRendererProps): JSX_2.Element;
2789
+ export declare function MapSceneRenderer({ mapSchema, children, onSceneReady, mapEventHandlers, events, className, style, }: MapSceneRendererProps): default_2.JSX.Element;
2732
2790
 
2733
2791
  declare interface MapSceneRendererProps {
2734
2792
  mapSchema: MapSchema;
@@ -2761,7 +2819,7 @@ export declare type MapStylePreset = 'light' | 'dark' | 'normal' | 'darkblue' |
2761
2819
 
2762
2820
  export declare type MapTheme = 'light' | 'dark' | 'system';
2763
2821
 
2764
- export declare function MapThemeControl({ position, options: propOptions, defaultValue, onThemeChange, className, style, }: MapThemeControlProps): JSX_2.Element;
2822
+ export declare function MapThemeControl({ position, options: propOptions, defaultValue, onThemeChange, className, style, }: MapThemeControlProps): default_2.JSX.Element;
2765
2823
 
2766
2824
  export declare interface MapThemeControlProps {
2767
2825
  /** 控件位置,默认 topright */
@@ -2797,7 +2855,7 @@ declare interface MarkerAnnotationProperties extends AnnotationPropertiesBase {
2797
2855
  * - 视觉分级:小规模(2-99)、中规模(100-999)、大规模(1000+)
2798
2856
  * - 交互:悬停放大(scale-110)、点击缩放、最大级别蜘蛛布局展开
2799
2857
  */
2800
- export declare function MarkerClusterLayer({ source, sourceType, sourceConfig, gridSize, minClusterSize, animationDuration, easing, onPointClick, onClusterClick, }: MarkerClusterLayerProps): JSX_2.Element;
2858
+ export declare function MarkerClusterLayer({ source, sourceType, sourceConfig, gridSize, minClusterSize, animationDuration, easing, onPointClick, onClusterClick, }: MarkerClusterLayerProps): default_2.JSX.Element;
2801
2859
 
2802
2860
  export declare interface MarkerClusterLayerProps {
2803
2861
  source: LayerSchema['source'];
@@ -2909,7 +2967,7 @@ export declare interface MobileLegendConfig {
2909
2967
  * - 展开时 max-h-[65vh],收起时 max-h-14
2910
2968
  * - 支持所有图例类型
2911
2969
  */
2912
- export declare function MobileSheetLegend({ legends, className, interaction, }: MobileSheetLegendProps): JSX_2.Element | null;
2970
+ export declare function MobileSheetLegend({ legends, className, interaction, }: MobileSheetLegendProps): default_2.JSX.Element | null;
2913
2971
 
2914
2972
  declare interface MobileSheetLegendProps {
2915
2973
  legends: LegendSchema[];
@@ -2920,7 +2978,7 @@ declare interface MobileSheetLegendProps {
2920
2978
  /**
2921
2979
  * 移动端底部工具栏
2922
2980
  */
2923
- export declare function MobileToolbar({ config, className }: MobileToolbarProps): JSX_2.Element;
2981
+ export declare function MobileToolbar({ config, className }: MobileToolbarProps): default_2.JSX.Element;
2924
2982
 
2925
2983
  export declare interface MobileToolbarConfig {
2926
2984
  items: string[];
@@ -2932,7 +2990,7 @@ declare interface MobileToolbarProps {
2932
2990
  className?: string;
2933
2991
  }
2934
2992
 
2935
- export declare function MouseLocationControl({ position, precision, transform, className, style, }: MouseLocationControlProps): JSX_2.Element;
2993
+ export declare function MouseLocationControl({ position, precision, transform, className, style, }: MouseLocationControlProps): default_2.JSX.Element;
2936
2994
 
2937
2995
  /**
2938
2996
  * MouseLocation 鼠标坐标控件
@@ -2962,6 +3020,18 @@ declare interface NoteAnnotationProperties extends AnnotationPropertiesBase {
2962
3020
  body?: string;
2963
3021
  }
2964
3022
 
3023
+ /** 裁剪后 Blob 上传到 CDN 的回调 */
3024
+ declare type OnCropUpload = (blob: Blob, dimensions: {
3025
+ width: number;
3026
+ height: number;
3027
+ }) => Promise<UploadResult>;
3028
+
3029
+ /** 导出上传到 CDN 的回调 */
3030
+ declare type OnExportUpload = (exportData: ExportUploadData) => Promise<void>;
3031
+
3032
+ /** 文件上传到 CDN 的回调 */
3033
+ declare type OnImageUpload = (file: File) => Promise<UploadResult>;
3034
+
2965
3035
  /**
2966
3036
  * Mapbox / Maplibre 主题预设 — 基于 openfreemap 样式
2967
3037
  */
@@ -2981,7 +3051,7 @@ export declare function parseSchema(schema: AiMapSchema): AiMapSchema;
2981
3051
  * </AiMap>
2982
3052
  * ```
2983
3053
  */
2984
- export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PointLayerProps): JSX_2.Element | null;
3054
+ export declare function PointLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PointLayerProps): default_2.JSX.Element | null;
2985
3055
 
2986
3056
  export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
2987
3057
  /** 数据源 — JSON 数组、GeoJSON 或 URL */
@@ -3005,7 +3075,7 @@ export declare interface PointLayerProps extends Omit<LayerSchema, 'type' | 'sou
3005
3075
  /**
3006
3076
  * 面图层组件
3007
3077
  */
3008
- export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PolygonLayerProps): JSX_2.Element | null;
3078
+ export declare function PolygonLayer({ source, sourceType, sourceConfig, onClick, onMouseMove, onMouseEnter, onMouseLeave, onLayerCreated, ...rest }: PolygonLayerProps): default_2.JSX.Element | null;
3009
3079
 
3010
3080
  export declare interface PolygonLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
3011
3081
  source: LayerSchema['source'];
@@ -3138,7 +3208,7 @@ export declare interface RampColors {
3138
3208
  /**
3139
3209
  * 栅格图层组件
3140
3210
  */
3141
- export declare function RasterLayer({ source, sourceType, sourceConfig, onClick, ...rest }: RasterLayerProps): JSX_2.Element | null;
3211
+ export declare function RasterLayer({ source, sourceType, sourceConfig, onClick, ...rest }: RasterLayerProps): default_2.JSX.Element | null;
3142
3212
 
3143
3213
  export declare interface RasterLayerProps extends Omit<LayerSchema, 'type' | 'source' | 'sourceType' | 'sourceConfig'> {
3144
3214
  source: LayerSchema['source'];
@@ -3195,7 +3265,7 @@ declare interface ResponsiveContextValue {
3195
3265
  schema: ResponsiveSchema | undefined;
3196
3266
  }
3197
3267
 
3198
- export declare function ResponsiveProvider({ responsive, children }: ResponsiveProviderProps): JSX_2.Element;
3268
+ export declare function ResponsiveProvider({ responsive, children }: ResponsiveProviderProps): default_2.JSX.Element;
3199
3269
 
3200
3270
  declare interface ResponsiveProviderProps {
3201
3271
  responsive?: ResponsiveSchema;
@@ -3229,7 +3299,7 @@ export declare interface ResponsiveSchema {
3229
3299
  * />
3230
3300
  * ```
3231
3301
  */
3232
- export declare function RouteLayer({ path, segments, stops, routeType, onRouteQuery, onRouteResult, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, showStopName, stopNameColor, stopNameSize, stopRenderer, stopMarkerVariant, stopIconMap, stopIconField, stopIconSize, stopIconAnchor, showStopPopup, activeColor, onPathClick, onStopClick, }: RouteLayerProps): JSX_2.Element | null;
3302
+ export declare function RouteLayer({ path, segments, stops, routeType, onRouteQuery, onRouteResult, color, lineWidth, opacity, glow, animate, animateSpeed, stopSize, stopColor, endColor, showStopIndex, showStopName, stopNameColor, stopNameSize, stopRenderer, stopMarkerVariant, stopIconMap, stopIconField, stopIconSize, stopIconAnchor, showStopPopup, activeColor, onPathClick, onStopClick, }: RouteLayerProps): default_2.JSX.Element | null;
3233
3303
 
3234
3304
  export declare interface RouteLayerProps {
3235
3305
  /** 路径坐标 — 完整线坐标或分段 */
@@ -3367,13 +3437,64 @@ export declare const SATELLITE_PROVIDER_NAMES: Record<SatelliteProvider, string>
3367
3437
  * </AiMap>
3368
3438
  * ```
3369
3439
  */
3370
- export declare function SatelliteLayer({ provider, zIndex, opacity, tiandituToken, visible, }: SatelliteLayerProps): JSX_2.Element | null;
3440
+ export declare function SatelliteLayer({ provider, zIndex, opacity, tiandituToken, visible, }: SatelliteLayerProps): default_2.JSX.Element | null;
3441
+
3442
+ /**
3443
+ * 卫星影像图层控件
3444
+ *
3445
+ * 提供卫星影像提供商切换、可见性开关和透明度调节功能。
3446
+ * 通常与 SatelliteLayer 组件配合使用。
3447
+ *
3448
+ * @example
3449
+ * ```tsx
3450
+ * const [provider, setProvider] = useState<SatelliteProvider>('gaode');
3451
+ * const [visible, setVisible] = useState(true);
3452
+ * const [opacity, setOpacity] = useState(1);
3453
+ *
3454
+ * <AiMap map={{ basemap: 'map' }}>
3455
+ * <SatelliteLayer provider={provider} visible={visible} opacity={opacity} />
3456
+ * <SatelliteLayerControl
3457
+ * activeProvider={provider}
3458
+ * visible={visible}
3459
+ * opacity={opacity}
3460
+ * onProviderChange={setProvider}
3461
+ * onVisibleChange={setVisible}
3462
+ * onOpacityChange={setOpacity}
3463
+ * />
3464
+ * </AiMap>
3465
+ * ```
3466
+ */
3467
+ export declare function SatelliteLayerControl({ position, activeProvider, visible, opacity, onProviderChange, onVisibleChange, onOpacityChange, providers, className, style, }: SatelliteLayerControlProps): default_2.JSX.Element;
3468
+
3469
+ /**
3470
+ * 卫星影像控件配置
3471
+ */
3472
+ export declare interface SatelliteLayerControlProps {
3473
+ /** 控件位置,默认 topright */
3474
+ position?: L7ControlPosition;
3475
+ /** 当前激活的提供商 */
3476
+ activeProvider?: SatelliteProvider;
3477
+ /** 是否可见,默认 true */
3478
+ visible?: boolean;
3479
+ /** 透明度 0~1,默认 1 */
3480
+ opacity?: number;
3481
+ /** 提供商切换回调 */
3482
+ onProviderChange?: (provider: SatelliteProvider) => void;
3483
+ /** 可见性切换回调 */
3484
+ onVisibleChange?: (visible: boolean) => void;
3485
+ /** 透明度变化回调 */
3486
+ onOpacityChange?: (opacity: number) => void;
3487
+ /** 支持的提供商列表,默认全部 */
3488
+ providers?: SatelliteProvider[];
3489
+ className?: string;
3490
+ style?: default_2.CSSProperties;
3491
+ }
3371
3492
 
3372
3493
  /** 卫星影像图层配置 */
3373
3494
  export declare interface SatelliteLayerProps {
3374
3495
  /** 影像提供商,默认 'gaode' */
3375
3496
  provider?: SatelliteProvider;
3376
- /** 图层层级,默认 0(底层) */
3497
+ /** 图层层级,默认 -1(最底层,确保不覆盖矢量图层) */
3377
3498
  zIndex?: number;
3378
3499
  /** 图层透明度 0~1,默认 1 */
3379
3500
  opacity?: number;
@@ -3386,7 +3507,7 @@ export declare interface SatelliteLayerProps {
3386
3507
  /** 卫星影像数据源类型 */
3387
3508
  export declare type SatelliteProvider = 'gaode' | 'tianditu' | 'google';
3388
3509
 
3389
- export declare function ScaleControl({ position, maxWidth, metric, imperial, updateWhenIdle, className, style, }: ScaleControlProps): JSX_2.Element;
3510
+ export declare function ScaleControl({ position, maxWidth, metric, imperial, updateWhenIdle, className, style, }: ScaleControlProps): default_2.JSX.Element;
3390
3511
 
3391
3512
  /**
3392
3513
  * Scale 比例尺控件
@@ -3413,7 +3534,7 @@ export declare interface ScaleControlProps {
3413
3534
  style?: default_2.CSSProperties;
3414
3535
  }
3415
3536
 
3416
- export declare function SceneProvider({ scene, children }: SceneProviderProps): JSX_2.Element;
3537
+ export declare function SceneProvider({ scene, children }: SceneProviderProps): default_2.JSX.Element;
3417
3538
 
3418
3539
  declare interface SceneProviderProps {
3419
3540
  scene: Scene | null;
@@ -3443,7 +3564,7 @@ export declare interface SchemaDiffResult {
3443
3564
  legendsChanged: boolean;
3444
3565
  }
3445
3566
 
3446
- export declare function SchemaProvider({ schema, children }: SchemaProviderProps): JSX_2.Element;
3567
+ export declare function SchemaProvider({ schema, children }: SchemaProviderProps): default_2.JSX.Element;
3447
3568
 
3448
3569
  declare interface SchemaProviderProps {
3449
3570
  schema: AiMapSchema;
@@ -3464,7 +3585,7 @@ export declare interface ScreenPosition {
3464
3585
  * <SearchBar placeholder="搜索地点..." onSearch={(v) => console.log(v)} />
3465
3586
  * ```
3466
3587
  */
3467
- export declare function SearchBar({ placeholder, onSearch, onFilter, className, trailing, }: SearchBarProps): JSX_2.Element;
3588
+ export declare function SearchBar({ placeholder, onSearch, onFilter, className, trailing, }: SearchBarProps): default_2.JSX.Element;
3468
3589
 
3469
3590
  export declare interface SearchBarProps {
3470
3591
  /** 占位文本 */
@@ -3547,7 +3668,7 @@ export declare interface ThemeOption {
3547
3668
  * - `dark`: 暗色主题
3548
3669
  * - `system`: 跟随系统 prefers-color-scheme
3549
3670
  */
3550
- export declare function ThemeProvider({ defaultTheme, target, children, }: ThemeProviderProps): JSX_2.Element;
3671
+ export declare function ThemeProvider({ defaultTheme, target, children, }: ThemeProviderProps): default_2.JSX.Element;
3551
3672
 
3552
3673
  export declare interface ThemeProviderProps {
3553
3674
  /** 默认主题,默认 'light' */
@@ -3717,6 +3838,12 @@ export declare interface TooltipSchema {
3717
3838
  */
3718
3839
  export declare type TooltipVariant = 'dark' | 'glass' | 'light';
3719
3840
 
3841
+ /** 上传回调返回值:简单 URL 字符串或包含元数据的对象 */
3842
+ declare type UploadResult = string | {
3843
+ url: string;
3844
+ [key: string]: unknown;
3845
+ };
3846
+
3720
3847
  export declare function useControlContainer(): boolean;
3721
3848
 
3722
3849
  export declare function useEventBus(): EventBus;
@@ -3816,7 +3943,7 @@ declare interface VisualConfig {
3816
3943
  style?: Record<string, unknown>;
3817
3944
  }
3818
3945
 
3819
- export declare function ZoomControl({ position, zoomInText, zoomInTitle, zoomOutText, zoomOutTitle, showZoom, className, style, }: ZoomControlProps): JSX_2.Element;
3946
+ export declare function ZoomControl({ position, zoomInText, zoomInTitle, zoomOutText, zoomOutTitle, showZoom, className, style, }: ZoomControlProps): default_2.JSX.Element;
3820
3947
 
3821
3948
  /**
3822
3949
  * Zoom 控件