'use strict';

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

"use strict";
const watermarkProps = runtime.buildProps({
  /** 水印文字内容 */
  content: {
    type: runtime.definePropType([Array, String]),
    default: ""
  },
  /** 层级控制  true 文字在上层 / false 图片在上层*/
  layer: {
    type: Boolean,
    default: true
  },
  /** 水印图片 URL */
  image: {
    type: String,
    default: ""
  },
  /** 水印单元宽度 */
  width: {
    type: Number,
    default: 0
  },
  /** 水印单元高度 */
  height: {
    type: Number,
    default: 0
  },
  /** 水印旋转角度 */
  rotate: {
    type: Number,
    default: -22
  },
  /** z-index 层级 */
  zIndex: {
    type: Number,
    default: 0
  },
  /** 水印间距 [水平, 垂直] */
  gap: {
    type: runtime.definePropType(Array),
    default: () => [100, 40]
  },
  /** 水印偏移量 [x, y] */
  offset: {
    type: runtime.definePropType(Array),
    default: () => [0, 0]
  },
  /** 文字大小 */
  fontSize: {
    type: Number,
    default: 16
  },
  /** 文字颜色（不含透明度） */
  fontColor: {
    type: String,
    default: "#000000"
  },
  /** 文字透明度（0-1） */
  textAlpha: {
    type: Number,
    default: 0.15
  },
  /** 字体 */
  fontFamily: {
    type: String,
    default: "sans-serif"
  },
  /** 字体粗细 */
  fontWeight: {
    type: runtime.definePropType([Number, String]),
    default: "normal"
  },
  /** 图片缩放 */
  imageZoom: {
    type: Number,
    default: 0.2
  },
  /** 图片透明度（0-1） */
  imageOpacity: {
    type: Number,
    default: 0.15
  },
  /** 是否开启防篡改监控 */
  monitor: {
    type: Boolean,
    default: true
  },
  /** 是否响应式调整 */
  responsive: {
    type: Boolean,
    default: true
  },
  // 是否为单一水印
  single: {
    type: Boolean,
    default: false
  },
  /** 单一水印缩放比例 */
  singleScale: {
    type: Number,
    default: 1
  },
  // 单一水印下位置 (仅在 single=true 时生效)
  position: {
    type: String,
    default: "center",
    validator: (value) => [
      "topLeft",
      "top",
      "topRight",
      "leftTop",
      "left",
      "leftBottom",
      "rightTop",
      "right",
      "rightBottom",
      "bottomLeft",
      "bottom",
      "bottomRight",
      "center"
    ].includes(value)
  }
});

exports.watermarkProps = watermarkProps;
//# sourceMappingURL=watermark.js.map
