export var DEVICE_ICON_COLOR = {
  smart: '#1677ff',
  dumb: '#faad14',
  integrated: '#389e0d'
};
export var CONNECTION_TYPE_OPTIONS = [{
  label: 'USB',
  value: 'usb'
}, {
  label: 'Ethernet',
  value: 'ethernet'
}, {
  label: 'WiFi',
  value: 'wifi'
}, {
  label: 'Bluetooth',
  value: 'bluetooth'
}, {
  label: 'Serial',
  value: 'serial'
}];
export var BRAND_OPTION_SEPARATOR = '__';

/** 把品牌 id 和 code 编码成 Select value，避免 code 中特殊字符与 id 冲突。 */
export var getBrandOptionValue = function getBrandOptionValue(brand) {
  return "".concat(brand.id).concat(BRAND_OPTION_SEPARATOR).concat(brand.code);
};

/** 从品牌 Select value 中还原 brand_code。 */
export var getBrandCodeFromOptionValue = function getBrandCodeFromOptionValue(value) {
  return value === null || value === void 0 ? void 0 : value.split(BRAND_OPTION_SEPARATOR).slice(1).join(BRAND_OPTION_SEPARATOR);
};

/** 读取型号支持的连接方式，用于外设型号筛选和连接配置展示。 */
export var getModelConnectionTypes = function getModelConnectionTypes(model) {
  var _model$data;
  var connections = (_model$data = model.data) === null || _model$data === void 0 ? void 0 : _model$data.connection_types;
  return Array.isArray(connections) ? connections.map(function (item) {
    return String(item || '').trim();
  }).filter(Boolean) : [];
};

/** 把连接方式 code 转成 UI 展示文案。 */
export var getConnectionTypeLabel = function getConnectionTypeLabel(value) {
  var _CONNECTION_TYPE_OPTI;
  if (!value) return '-';
  var normalizedValue = value.toLowerCase().trim();
  return ((_CONNECTION_TYPE_OPTI = CONNECTION_TYPE_OPTIONS.find(function (option) {
    return option.value === normalizedValue;
  })) === null || _CONNECTION_TYPE_OPTI === void 0 ? void 0 : _CONNECTION_TYPE_OPTI.label) || value;
};

/** 判断当前型号是否必须选择 profile。 */
export var isProfileRequired = function isProfileRequired(model) {
  var _model$data2;
  return Boolean(model === null || model === void 0 || (_model$data2 = model.data) === null || _model$data2 === void 0 || (_model$data2 = _model$data2.profile_structure) === null || _model$data2 === void 0 ? void 0 : _model$data2.required);
};

/** 判断多语言表单值是否至少有一个非空语言值。 */
export var hasI18nValue = function hasI18nValue(value) {
  if (!value) return false;
  return Object.values(value).some(function (item) {
    return String(item || '').trim();
  });
};