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 { PRESET_COUNTRY_CODES } from "../constants/countryCodes";
/**
 * 根据国家码获取国旗 emoji
 * @param countryCode 国家码
 * @returns 国旗 emoji
 */
export function getCountryFlag(countryCode) {
  var country = PRESET_COUNTRY_CODES.find(function (c) {
    return c.code === countryCode;
  });
  return (country === null || country === void 0 ? void 0 : country.flag) || '🌐';
}

/**
 * 根据国家码获取最大长度
 * @param countryCode 国家码
 * @param countryCodes 国家码列表
 * @returns 最大长度
 */
export function getMaxLength(countryCode, countryCodes) {
  var country = countryCodes.find(function (c) {
    return c.code === countryCode;
  });
  return (country === null || country === void 0 ? void 0 : country.maxLength) || 15;
}

/**
 * 根据国家码获取配置
 * @param countryCode 国家码
 * @param countryCodes 国家码列表
 * @returns 国家码配置
 */
export function getCountryConfig(countryCode, countryCodes) {
  return countryCodes.find(function (c) {
    return c.code === countryCode;
  });
}

/**
 * 获取最终的国家码列表
 * 
 * 优先级：
 * 1. props.countryCodes（完全自定义）
 * 2. props.availableCountryCodes（从预设中过滤）
 * 3. PRESET_COUNTRY_CODES（默认全部24个）
 * 
 * 然后根据 props.commonCountryCodes 排序（置顶）
 * 
 * @param props 组件 Props
 * @returns 国家码列表
 */
export function getCountryCodes(props) {
  var codes;

  // 1. 优先使用完全自定义列表
  if (props.countryCodes && props.countryCodes.length > 0) {
    codes = props.countryCodes;
  }
  // 2. 根据 availableCountryCodes 从预设中过滤
  else if (props.availableCountryCodes && props.availableCountryCodes.length > 0) {
    codes = PRESET_COUNTRY_CODES.filter(function (c) {
      return props.availableCountryCodes.includes(c.code);
    });
  }
  // 3. 默认使用全部预设（24个）
  else {
    codes = PRESET_COUNTRY_CODES;
  }

  // 根据 commonCountryCodes 排序（置顶）
  if (props.commonCountryCodes && props.commonCountryCodes.length > 0) {
    var common = codes.filter(function (c) {
      return props.commonCountryCodes.includes(c.code);
    });
    var others = codes.filter(function (c) {
      return !props.commonCountryCodes.includes(c.code);
    });
    codes = [].concat(_toConsumableArray(common), _toConsumableArray(others));
  }
  return codes;
}