| 1 |
- import{bY as R,bZ as z,b_ as N,aS as v,bk as T}from"./entry/index-CRWhxBeP.js";import{f as p,u as c,s as L,j as U,g as F,d as P,b as V,a6 as _,Z as j,a4 as D,a5 as g,k as b,G as W}from"./vue-DM5HGU8Z.js";import{P as G}from"./index-C0mnMlct.js";import"./antd-BfqWtMX3.js";import"./useContentViewHeight-D9So7_ch.js";import"./useWindowSizeFn-CEueHQop.js";import"./onMountedOrActivated-Ckq_czNf.js";const $="watermark-dom",h=p(null),d=new Map;function S(o){return Array.from(d.values()).find(t=>t.targetElement===o)}function A(o,t){const a=document.createElement("canvas"),m=300,i=240;Object.assign(a,{width:m,height:i});const l=a.getContext("2d");if(l){const s=(t==null?void 0:t.fontFamily)||"Vedana",y=(t==null?void 0:t.fontSize)||15,n=(t==null?void 0:t.fontColor)||"rgba(0, 0, 0, 0.15)",f=(t==null?void 0:t.textAlign)||"left",e=(t==null?void 0:t.textBaseline)||"middle",r=(t==null?void 0:t.rotate)||20;l.rotate(-r*Math.PI/180),l.font=`${y}px ${s}`,l.fillStyle=n,l.textAlign=f,l.textBaseline=e,l.fillText(o,m/20,i)}return a.toDataURL("image/png")}const H=(o,t,a)=>{o.className="__"+$,o.style.pointerEvents="none",o.style.display="block",o.style.visibility="visible",o.style.top="0px",o.style.left="0px",o.style.position="absolute",o.style.zIndex="100000",o.style.height="100%",o.style.width="100%",o.style.background=`url(${A(c(h)||t,a)}) left top repeat`},Z=()=>new MutationObserver(t=>{var a,m;for(const i of t){for(const l of Array.from(i.removedNodes)){const s=S(l);if(!s)return;const{targetElement:y,parentElement:n}=s;n!=null&&n.contains(y)||(a=s==null?void 0:s.parentElement)==null||a.appendChild(l)}if(i.type==="attributes"&&i.target){const l=i.target,s=S(l);s&&(k(),s.setWatermark((m=s.targetElement)==null?void 0:m["data-watermark-text"]))}}});function x(o=p(document.body),t={}){const a=Symbol($);if(c(o)&&d.has(a)){const{setWatermark:e,clear:r}=d.get(a);return{setWatermark:e,clear:r,clearAll:k}}const i=N(function(){const e=c(o);if(!e)return;const{clientHeight:r,clientWidth:u}=e;y({height:r,width:u})}),l=L(),s=()=>{var u,C;const e=c(l);l.value=void 0;const r=c(o);d.has(a)&&((C=(u=d.get(a))==null?void 0:u.obInstance)==null||C.disconnect()),d.delete(a),r&&(e&&r.removeChild(e),R(r,i))};function y(e={}){const r=c(l);r&&(v(e.width)&&(r.style.width=`${e.width}px`),v(e.height)&&(r.style.height=`${e.height}px`),v(e.str)&&(r.style.background=`url(${A(e.str,t)}) left top repeat`))}const n=e=>{var I,E;if(c(l)&&d.has(a)){h.value=e,y({str:e});return}const r=document.createElement("div");r["data-watermark-text"]=e,h.value=e,l.value=r,H(r,e,t);const u=c(o);if(!u)return;const{clientHeight:C,clientWidth:B}=u;y({str:e,width:B,height:C}),u.appendChild(r),d.set(a,{setWatermark:f,clear:s,parentElement:u,targetElement:r,obInstance:Z(),waterMarkOptions:t}),(E=(I=d.get(a))==null?void 0:I.obInstance)==null||E.observe(u,{childList:!0,subtree:!0,attributes:!0})};function f(e){n(e),z(document.documentElement,i),F()&&U(()=>{s()})}return{setWatermark:f,clear:s,clearAll:k}}function k(){Array.from(d.values()).forEach(o=>{var t;(t=o==null?void 0:o.obInstance)==null||t.disconnect(),o.clear()})}const M=P({__name:"index",setup(o){const t=p(document.body),{setWatermark:a,clear:m,clearAll:i}=x(),{setWatermark:l}=x(),{setWatermark:s}=x(t,{fontColor:"red",fontSize:12,rotate:30});return V(()=>{i()}),(y,n)=>{const f=_("a-button");return j(),D(c(G),{title:"水印示例"},{default:g(()=>[b(c(T),{class:"w-full h-32 bg-white rounded-md",title:"Global WaterMark"},{default:g(()=>[b(f,{type:"primary",class:"mr-2",onClick:n[0]||(n[0]=e=>c(a)("WaterMark Info1"))},{default:g(()=>n[4]||(n[4]=[W(" Create Watermark1 ")])),_:1}),b(f,{type:"primary",class:"mr-2",onClick:n[1]||(n[1]=e=>c(l)("WaterMark Info2"))},{default:g(()=>n[5]||(n[5]=[W(" Create Watermark2 ")])),_:1}),b(f,{type:"primary",class:"mr-2",onClick:n[2]||(n[2]=e=>c(s)("Custome Style WaterMark"))},{default:g(()=>n[6]||(n[6]=[W(" Create custom style Watermark ")])),_:1}),b(f,{color:"error",class:"mr-2",onClick:c(m)},{default:g(()=>n[7]||(n[7]=[W(" Clear Watermark1 ")])),_:1},8,["onClick"]),b(f,{color:"error",class:"mr-2",onClick:c(i)},{default:g(()=>n[8]||(n[8]=[W(" ClearAll ")])),_:1},8,["onClick"]),b(f,{color:"warning",class:"mr-2",onClick:n[3]||(n[3]=e=>c(a)("WaterMark Info New"))},{default:g(()=>n[9]||(n[9]=[W(" Update Watermark1 ")])),_:1})]),_:1})]),_:1})}}});export{M as default};
|