{"version":3,"file":"watermark.mjs","sources":["../../../../../../packages/components/watermark/src/watermark.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\r\nimport { ExtractPropTypes } from 'vue'\r\nimport type Watermark from './watermark.vue'\r\n\r\n//props\r\nexport const watermarkProps = buildProps({\r\n  /** 水印文字内容 */\r\n  content: {\r\n    type: definePropType<string | string[]>([Array, String]),\r\n    default: '',\r\n  },\r\n  /** 层级控制  true 文字在上层 / false 图片在上层*/\r\n  layer: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /** 水印图片 URL */\r\n  image: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  /** 水印单元宽度 */\r\n  width: {\r\n    type: Number,\r\n    default: 0,\r\n  },\r\n  /** 水印单元高度 */\r\n  height: {\r\n    type: Number,\r\n    default: 0,\r\n  },\r\n  /** 水印旋转角度 */\r\n  rotate: {\r\n    type: Number,\r\n    default: -22,\r\n  },\r\n  /** z-index 层级 */\r\n  zIndex: {\r\n    type: Number,\r\n    default: 0,\r\n  },\r\n  /** 水印间距 [水平, 垂直] */\r\n  gap: {\r\n    type: definePropType<number[]>(Array),\r\n    default: () => [100, 40],\r\n  },\r\n  /** 水印偏移量 [x, y] */\r\n  offset: {\r\n    type: definePropType<number[]>(Array),\r\n    default: () => [0, 0],\r\n  },\r\n  /** 文字大小 */\r\n  fontSize: {\r\n    type: Number,\r\n    default: 16,\r\n  },\r\n  /** 文字颜色（不含透明度） */\r\n  fontColor: {\r\n    type: String,\r\n    default: '#000000',\r\n  },\r\n  /** 文字透明度（0-1） */\r\n  textAlpha: {\r\n    type: Number,\r\n    default: 0.15,\r\n  },\r\n  /** 字体 */\r\n  fontFamily: {\r\n    type: String,\r\n    default: 'sans-serif',\r\n  },\r\n  /** 字体粗细 */\r\n  fontWeight: {\r\n    type: definePropType<number | string>([Number, String]),\r\n    default: 'normal',\r\n  },\r\n  /** 图片缩放 */\r\n  imageZoom: {\r\n    type: Number,\r\n    default: 0.2,\r\n  },\r\n  /** 图片透明度（0-1） */\r\n  imageOpacity: {\r\n    type: Number,\r\n    default: 0.15,\r\n  },\r\n  /** 是否开启防篡改监控 */\r\n  monitor: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /** 是否响应式调整 */\r\n  responsive: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n\r\n  // 是否为单一水印\r\n  single: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n\r\n  /** 单一水印缩放比例 */\r\n  singleScale: {\r\n    type: Number,\r\n    default: 1,\r\n  },\r\n\r\n  // 单一水印下位置 (仅在 single=true 时生效)\r\n  position: {\r\n    type: String,\r\n    default: 'center',\r\n    validator: (value: string) =>\r\n      [\r\n        'topLeft',\r\n        'top',\r\n        'topRight',\r\n        'leftTop',\r\n        'left',\r\n        'leftBottom',\r\n        'rightTop',\r\n        'right',\r\n        'rightBottom',\r\n        'bottomLeft',\r\n        'bottom',\r\n        'bottomRight',\r\n        'center',\r\n      ].includes(value),\r\n  },\r\n})\r\n\r\nexport type WatermarkProps = ExtractPropTypes<typeof watermarkProps>\r\n\r\n// instance\r\nexport type WatermarkInstance = InstanceType<typeof Watermark>\r\n"],"names":[],"mappings":"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"}