'use strict';

require('../../../utils/index.js');
var runtime = require('../../../utils/props/runtime.js');

"use strict";
const qrcodeProps = runtime.buildProps({
  // 是否有边框
  bordered: {
    type: Boolean,
    default: true
  },
  // 二维码组件的尺寸（像素）
  size: {
    type: Number,
    default: 200
  },
  // 二维码与容器边缘的内边距（像素）
  padding: {
    type: Number,
    default: 8
  },
  // 二维码包含的数据（必需）
  data: {
    type: String,
    required: true,
    default: ""
  },
  /**
   * 二维码内容与边缘的外边距（像素）
   * 增加此值会使二维码点远离边缘
   */
  margin: {
    type: Number,
    default: 0
  },
  // ============= 点样式相关 =============
  /**
   * 二维码点的形状
   * 'square'（方形）, 'dots'（圆点）, 'rounded'（圆角）,
   * 'extra-rounded'（超大圆角）, 'classy'（经典）, 'classy-rounded'（经典圆角）
   */
  dotsType: {
    type: String,
    default: "rounded"
  },
  /**
   * 二维码点的颜色 （若设置了渐变，此颜色将被忽略）
   */
  dotsColor: {
    type: String,
    default: "#000000"
  },
  /**
   * 二维码点的渐变类型
   * 可选值: 'single'（单色）, 'linear'（线性渐变）, 'radial'（径向渐变）
   */
  dotsGradientType: {
    type: runtime.definePropType(String),
    default: "single"
  },
  /**
   * 二维码点渐变的起始颜色
   */
  dotsGradientStartColor: {
    type: String,
    default: "#ff0000"
  },
  /**
   * 二维码点渐变的结束颜色
   */
  dotsGradientEndColor: {
    type: String,
    default: "#0000ff"
  },
  /**
   * 二维码点渐变的旋转角度（度）
   * 仅对线性渐变有效
   */
  dotsGradientRotation: {
    type: Number,
    default: 0
  },
  // ============= 边角方块相关 =============
  /**
   * 二维码边角方块的形状
   * 'square'（方形）, 'dot'（圆点）, 'rounded'（圆角）, 'extra-rounded'（超大圆角）
   */
  cornersSquareType: {
    type: String,
    default: "square"
  },
  /**
   * 边角方块的颜色
   */
  cornersSquareColor: {
    type: String,
    default: "#000000"
  },
  /**
   * 边角方块的渐变类型
   * 可选值: 'single'（单色）, 'linear'（线性渐变）, 'radial'（径向渐变）
   */
  cornersSquareGradientType: {
    type: runtime.definePropType(String),
    default: "single"
  },
  /**
   * 边角方块渐变的起始颜色
   */
  cornersSquareGradientStartColor: {
    type: String,
    default: "#ff0000"
  },
  /**
   * 边角方块渐变的结束颜色
   */
  cornersSquareGradientEndColor: {
    type: String,
    default: "#0000ff"
  },
  /**
   * 边角方块渐变的旋转角度（度）
   * 仅对线性渐变有效
   */
  cornersSquareGradientRotation: {
    type: Number,
    default: 0
  },
  // ============= 边角点相关 =============
  /**
   * 二维码边角点的形状
   * 可选值: 'square'（方形）, 'dot'（圆点） 'rounded'（圆角），'extra-rounded'（超大圆角）
   */
  cornersDotType: {
    type: String,
    default: "square"
  },
  /**
   * 边角点的颜色
   */
  cornersDotColor: {
    type: String,
    default: "#000000"
  },
  /**
   * 边角点的渐变类型
   * 可选值: 'single'（单色）, 'linear'（线性渐变）, 'radial'（径向渐变）
   */
  cornersDotGradientType: {
    type: runtime.definePropType(String),
    default: "single"
  },
  /**
   * 边角点渐变的起始颜色
   */
  cornersDotGradientStartColor: {
    type: String,
    default: "#ff0000"
  },
  /**
   * 边角点渐变的结束颜色
   */
  cornersDotGradientEndColor: {
    type: String,
    default: "#0000ff"
  },
  /**
   * 边角点渐变的旋转角度
   * 仅对线性渐变有效
   */
  cornersDotGradientRotation: {
    type: Number,
    default: 0
  },
  // ============= 背景相关 =============
  // 二维码背景颜色
  bgColor: {
    type: String,
    default: "#ffffff"
  },
  /**
   * 背景渐变类型
   * 可选值: 'single'（单色）, 'linear'（线性渐变）, 'radial'（径向渐变）
   */
  bgGradientType: {
    type: runtime.definePropType(String),
    default: "single"
  },
  /**
   * 背景渐变的起始颜色
   */
  bgGradientStartColor: {
    type: String,
    default: "#ff0000"
  },
  /**
   * 背景渐变的结束颜色
   */
  bgGradientEndColor: {
    type: String,
    default: "#0000ff"
  },
  /**
   * 背景渐变的旋转角度
   * 仅对线性渐变有效
   */
  bgGradientRotation: {
    type: Number,
    default: 0
  },
  // ============= 图像相关 =============
  /**
   * 二维码中心图标的URL
   */
  image: {
    type: String,
    default: void 0
  },
  /**
   * 是否隐藏图标下方的二维码点
   */
  imageHideBgDots: {
    type: Boolean,
    default: true
  },
  /**
   * 图标大小（相对二维码的比例）
   * 0.1表示图标占二维码宽度的10%
   */
  imageSize: {
    type: Number,
    default: 0.4
  },
  /**
   * 图标与二维码点的外边距（像素）
   */
  imageMargin: {
    type: Number,
    default: 0
  },
  // ============= 二维码选项相关 =============
  /**
   * 错误纠正级别 级别越高，二维码容错能力越强，但数据容量越小
   * 可选值: 'L' (低, 7%), 'M' (中, 15%), 'Q' (高, 25%), 'H' (最高, 30%)
   */
  errorLevel: {
    type: String,
    default: "M"
  }
});

exports.qrcodeProps = qrcodeProps;
//# sourceMappingURL=qrcode.js.map
