function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
import { getText } from "../../../../../locales";

/**
 * PisellTabbar 工具函数
 */

/**
 * 默认的特殊项配置
 */
var defaultItems = {
  all: {
    id: '0',
    shop_id: 9,
    parent_id: 0,
    name: getText('pisell-tabbar-all'),
    slug: 'all',
    icon: ''
  },
  search: {
    id: -1,
    shop_id: 9,
    parent_id: 0,
    name: 'Search',
    slug: 'Search',
    key: 'search',
    icon: '',
    customClick: true
  },
  expand: {
    id: -2,
    shop_id: 9,
    parent_id: 0,
    key: 'expand',
    icon: 'pisell2-expand-01',
    name: 'Expand',
    slug: 'expand',
    customClick: true
  }
};

/**
 * 向数据源添加特殊项（如 all、search、expand 按钮）
 * 
 * @param dataSource - 原始数据源
 * @param keys - 要添加的特殊项 key 数组
 * @returns 添加了特殊项的新数据源
 * 
 * @example
 * ```tsx
 * const newData = addDataSourceItemsByKey(categoryData, ['expand', 'all']);
 * // 返回: [expandItem, allItem, ...categoryData]
 * ```
 */
export var addDataSourceItemsByKey = function addDataSourceItemsByKey(dataSource, keys) {
  return [].concat(_toConsumableArray(keys.map(function (key) {
    return defaultItems[key];
  })), _toConsumableArray(dataSource));
};

/**
 * 获取默认激活的 key 数组
 * 
 * @param dataSource - 数据源
 * @param rowKey - 用作唯一标识的字段名
 * @returns 默认激活的 key 数组（多层级）
 * 
 * @description
 * 默认选中第一项，如果第一项有子级，同时选中第一个子级
 * 
 * @example
 * ```tsx
 * const defaultKeys = getDefaultActiveKey(categoryData, 'id');
 * // 返回: [1, 0] (第一层级的第一项ID，第二层级的第一项ID)
 * ```
 */
export var getDefaultActiveKey = function getDefaultActiveKey(dataSource, rowKey) {
  var _activeKey = ['0'];

  // if (dataSource.length) {
  //   // 添加第一层级的第一项
  //   _activeKey.push(dataSource[0][rowKey as keyof TabbarDataSource] as string | number);

  //   // 如果第一项有子级，添加第二层级的第一项
  //   if (dataSource[0].children?.length) {
  //     _activeKey.push(0);
  //   }
  // }

  return _activeKey;
};