/**
 * 资源项形状
 * @description 展示层支持的基础形状
 */

/**
 * 底层背景类型
 * @description 地图底层的展示方式
 */

/**
 * 平移边界策略
 * @description 拖拽/手势平移时的边界行为
 */

/**
 * 资源项坐标/尺寸单位
 * - cell：x/y/width/height 为格子数，由 cellSize 转为像素
 * - pixel：x/y/width/height 为像素
 */

/**
 * 资源项基础类型
 * @description 每个资源至少包含 id 与坐标 (x, y)，其余由外部扩展。
 * 单位由布局的 itemUnit 决定：cell 时为格子数，pixel 时为像素。
 */

/**
 * 底层（MapLayer）配置
 */

/**
 * 缩放配置
 */

/**
 * 平移配置
 */

/**
 * 视图控制显隐（默认仅显示放大/缩小，复位与区域定位需配置开启）
 */

/**
 * 布局模式（规则网格 vs 完全自由坐标）
 */

/**
 * 规则网格布局配置（layoutMode 为 grid 时可用）
 */

// ---------- 方案：画布 / 图元 / 视图配置 ----------

/** 图元类型：是否绑定业务资源 */

/**
 * 画布名称多语言结构（与低代码 Translation 字段一致）
 */

/** 画布（对应一个 Tab，如 1楼、2楼） */

/** 文字槽位（编辑时在 SVG 上添加，阅读态通过参数传文案） */

/** 地图图元：资源或装饰，编辑与阅读共用（name/zIndex 继承自 FloorMapItemBase） */

/** 单门店 Floor Map 数据（编辑/阅读共用） */

/** 多数据源：key 为数据源标识，value 为该数据源下的记录列表 */

/**
 * 画布图元与可选数据源行的绑定（无绑定时仅展示图元种类默认态）
 */

/**
 * 画布上的单一图元实例（原 dataSourcePlacements + decorations 合并为同一结构）
 */

/**
 * 矩形区域类装饰（无数据源绑定），如画布上的「舞台/舞池」等。
 * 在 `elementKinds` 中配置 `{ value: 'stage', label: '…', showInPalette: true }`，名称在编辑面板「显示名称」中修改。
 */
export var FLOOR_MAP_STAGE_ELEMENT_KIND = 'stage';

/**
 * 图片图元：无数据源绑定，通过 `imageUrl` 展示位图；适合铺底图或与业务图元叠放（调 `zIndex`）。
 */
export var FLOOR_MAP_IMAGE_ELEMENT_KIND = 'floorMapImage';

/** 图元是否接受数据源及是否必填 */

/** 图元种类所属分类（调色板分组） */

/** 无数据源行时的占位展示文案/扩展（与 defaultShape 等并列） */

/** 图元间连线（边） */

/** 图元种类配置（由后端或上层注入） */

/**
 * 画布/编辑器层能力：新建图元、布局与画布 Tab 的编辑权限
 * @description 与 `canvases` 列表配合使用，统一挂在平面图配置的「画布 UI」下
 */

/** Floor Map 视图配置（仅平面图视图需要持久化） */

/** 编辑态：选中图元种类后的放置模式（点击画布落点） */

/** 阅读态 renderItem 可选第三参数 */

/** 数据源记录表单列配置（用于编辑面板中的「数据源记录」区块） */

/**
 * 自定义「数据源记录」表单（ReactNode 或 render prop）可用的上下文
 * @description 与内置 {@link FloorMapDataForm} 数据源一致，便于复杂表单、多步校验、联动等
 */

/**
 * 按 dataSourceKey 替换「数据源记录」区块的表单内容：静态节点或通过 context 渲染
 */

/** 选中图元后编辑面板参数 */

/**
 * 合并当前画布的 sceneElements 为 items（用于 Layout 渲染）
 */

/**
 * 平面图编辑态全屏 UI 策略（`floorMapFullscreenMode`）
 *
 * - **toggle**（默认）：顶栏提供进入/退出全屏，与浏览器 Fullscreen API 联动
 * - **locked**：始终使用全屏顶栏（Tab + 保存等），**不提供退出全屏**；适合外层遮罩铺满
 * - **disabled**：**不提供全屏按钮**，仅小屏顶栏 + 侧栏保存
 */

/**
 * 平面图 Layout 注入上下文：数据、保存、侧栏表单与状态等（不包含 renderItem/mapLayer 等展示向 props）。
 * 由 `FloorMapLayoutProvider` / RecordBoard `floorMapLayoutContext` 提供，与 `PisellFloorMapLayout` props 按 `??` 合并，props 优先。
 */

/**
 * PisellFloorMapLayout 组件 Props
 * @template T - 资源项类型，需继承 FloorMapItemBase 或兼容 id/x/y
 */

/**
 * {@link PisellFloorMapLayoutProps.floorMapViewportOverlay} 函数形态时的参数
 */

/**
 * PisellFloorMapLayout Ref 方法
 * @description 供外部调用缩放、复位、区域定位等
 */