/**
 * 平面图资源选择槽位的通用类型与工具。
 * 默认由 `@pisell/materials` 的 `PisellResourcePickerModal` 承担；
 * 业务可通过 `renderFilterBar` 注入 Tabbar 等筛选区，或通过 `renderResourcePickerModal` 整页覆盖。
 */

/** 选择模式 */

/** 可选条目：至少包含稳定主键 id */

/** 分类路径，最多 3 级（不足时后续为 null；未选层级表示「全部」） */

/** 单级分类配置（最多 3 级） */

/**
 * nested：同一维度嵌套分级（广东 → 中山 → 三乡），子级依赖父级已选。
 * parallel：三个独立维度（每级互不影响）。
 */

/** 分类筛选配置（最多 3 级；数据只有 1 级时 UI 只展示有值的那一行） */

/**
 * 卡片小标签（如人数、状态、面积等）。
 * - text：必填，纯文本内容
 * - icon：可选 ReactNode，前置图标（如 TeamOutlined）
 * 业务自由组合多个；空数组等价于不展示。
 */

/**
 * 平面图工具栏「打开资源选择」槽位 props。
 * 与 `PisellProResourcePickerModalProps` 字段对齐；业务注入 modal 时可透传
 * `categoryConfig` / `getSearchText` / `getCardMeta` 等扩展项。
 */

/** 将「广东/中山/三乡」类字符串拆成最多 3 段（嵌套路径，非三个独立维度） */
var NESTED_PATH_SPLIT = /(?:\s*\/\s*|\s*>\s*|\s*\\\s*|\s*\|\s*|\s*·\s*)/;

/**
 * 把单字段中的层级路径解析为 [L1, L2, L3]。
 * 例：`广东/中山/三乡` → `['广东','中山','三乡']`；不足三级后续为 null。
 */
export function parseNestedPathSegments(raw) {
  var _parts$, _parts$2, _parts$3;
  var maxDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
  if (raw == null) return [null, null, null];
  var t = String(raw).trim();
  if (!t) return [null, null, null];
  var parts = t.split(NESTED_PATH_SPLIT).map(function (s) {
    return s.trim();
  }).filter(Boolean).slice(0, maxDepth);
  return [(_parts$ = parts[0]) !== null && _parts$ !== void 0 ? _parts$ : null, (_parts$2 = parts[1]) !== null && _parts$2 !== void 0 ? _parts$2 : null, (_parts$3 = parts[2]) !== null && _parts$3 !== void 0 ? _parts$3 : null];
}