qrstylelib 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<symbol id="${s}" viewBox="${o}">
|
|
24
24
|
<path d="${n}" />
|
|
25
25
|
</symbol>
|
|
26
|
-
`}return""}function nt(s){return[{id:"top-left",x:0,y:0},{id:"top-right",x:s-7,y:0},{id:"bottom-left",x:0,y:s-7}]}function gt(s,t,e,r,n){for(let o of nt(n))if(s<o.x+7&&s+e>o.x&&t<o.y+7&&t+r>o.y)return!0;return!1}function kt(s,t,e){let r=s.x,n=s.y;for(let o of nt(e)){let i=r<o.x+7&&r+s.width>o.x,c=n<o.y+7&&n+s.height>o.y;if(!i||!c)continue;let l=[{axis:"x",dir:1,depth:o.x+7-r},{axis:"x",dir:-1,depth:r+s.width-o.x},{axis:"y",dir:1,depth:o.y+7-n},{axis:"y",dir:-1,depth:n+s.height-o.y}].filter(p=>p.depth>0).sort((p,h)=>p.depth-h.depth);if(!l.length)continue;let u=l[0],y=r,$=n;u.axis==="x"?r=u.dir>0?o.x+7:o.x-s.width:n=u.dir>0?o.y+7:o.y-s.height,console.warn(`[QR] images[${t}] overlaps the "${o.id}" eye zone. Auto-adjusted: (${y.toFixed(1)}, ${$.toFixed(1)}) \u2192 (${r.toFixed(1)}, ${n.toFixed(1)}).`)}return{...s,x:r,y:n}}function Ft(s,t){let e=s.filter(h=>h.x!=null&&h.y!=null),r=s.filter(h=>h.x==null||h.y==null),n=e.map(h=>{let C=s.indexOf(h);return gt(h.x,h.y,h.width,h.height,t)?kt(h,C,t):h});if(r.length===0)return[...n];let o=8,c=t-8-o,l=t/2,u=t/2,y=[{x:l,y:u},{x:o+c*.25,y:u},{x:o+c*.75,y:u},{x:l,y:o+c*.25},{x:l,y:o+c*.75},{x:o+c*.75,y:o+c*.75},{x:o+c*.75,y:o+c*.25},{x:o+c*.25,y:o+c*.75},{x:o+c*.25,y:o+c*.25}],$=[],p=0;for(let h of r){let C=!1;for(;p<y.length;){let m=y[p++],E=m.x-h.width/2,N=m.y-h.height/2;if(!gt(E,N,h.width,h.height,t)){$.push({...h,x:E,y:N}),C=!0;break}}C||$.push({...h,x:(t-h.width)/2,y:(t-h.height)/2})}return[...n,...$]}function qt(s,t,e,r){return{t:t>0&&e[t-1][s]?.isDark,r:s<r-1&&e[t][s+1]?.isDark,b:t<r-1&&e[t+1][s]?.isDark,l:s>0&&e[t][s-1]?.isDark}}function $t(s,t,e){let r=[{ex:0,ey:0},{ex:e-7,ey:0},{ex:0,ey:e-7}];for(let n of r)if(s>=n.ex&&s<n.ex+7&&t>=n.ey&&t<n.ey+7)return n;return null}async function Ut(s){let t={...bt,...s},r=new G(t.data,t.qrOptions?.errorCorrectionLevel||"H").getMatrix(),n=r.length,o=t.margin??4,i=nt(n).map(d=>({...d,width:7,height:7})),c=(d,b)=>({maxX:Math.max(0,n-d),maxY:Math.max(0,n-b)}),l=d=>({svg:d,matrixSize:n,eyeZones:i,getMaxPos:c}),u=n+o*2,y=t.width??1e3,$=t.height??1e3,p=Tt(n,o),h=7,C=3,m="";t.backgroundOptions?.gradient&&(m+=rt("grad-bg",t.backgroundOptions.gradient,0,0,u,u)),t.dotsOptions.gradient&&(m+=rt("grad-dots",t.dotsOptions.gradient,0,0,u,u)),p.forEach(d=>{t.cornersSquareOptions.gradient&&(m+=rt(`grad-sq-${d.id}`,t.cornersSquareOptions.gradient,d.x,d.y,h,h)),t.cornersDotOptions.gradient&&(m+=rt(`grad-dot-${d.id}`,t.cornersDotOptions.gradient,d.x+2,d.y+2,C,C))}),m+=at("icon-dots",t.dotsOptions),m+=at("icon-sq",t.cornersSquareOptions),m+=at("icon-dot",t.cornersDotOptions);let E={dots:"",cornerSquare:"",cornerDot:""},N={dots:"",cornerSquare:"",cornerDot:""},_=Array(n).fill(!1).map(()=>Array(n).fill(!1)),W=new Set,ct=Ft(t.images||[],n);for(let d=0;d<n;d++)for(let b=0;b<n;b++){if(_[d][b]||!r[d][b].isDark||ct.some(w=>{if(!w.excludeDots)return!1;let S=w.x,q=w.y;return b>=S-.5&&b<=S+w.width-.5&&d>=q-.5&&d<=q+w.height-.5}))continue;let R=It(b,d,n),v,I="";R==="dots"?(v=t.dotsOptions,I="#icon-dots"):R==="cornerSquare"?(v=t.cornersSquareOptions,I="#icon-sq"):(v=t.cornersDotOptions,I="#icon-dot");let Y=v.shape?.type??"figure",B=v.shape?.path??"square",V=v.scale??1;if(Y==="figure"){if(R==="dots"){let w=qt(b,d,r,n),S=st[B]??st.square;N.dots+=S(b+o,d+o,w,V)}else if(R==="cornerSquare"){let w=$t(b,d,n);if(!w)continue;let S=`sq-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=et[B]??et.square;N.cornerSquare+=q(w.ex+o,w.ey+o,7)}}else{let w=$t(b,d,n);if(!w)continue;let S=`dot-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=tt[B]??tt.square;N.cornerDot+=q(w.ex+2+o,w.ey+2+o,3)}}continue}let H=1;if(R==="cornerDot"&&v.isSingle){if(!Vt(b,d,n))continue;H=3;for(let w=0;w<3;w++)for(let S=0;S<3;S++)d+w<n&&b+S<n&&(_[d+w][b+S]=!0)}let F=b+o,ot=d+o,z=H*V,X=H*V,At=(H-z)/2,Rt=(H-X)/2;E[R]+=`<use href="${I}" x="${F+At}" y="${ot+Rt}" width="${z}" height="${X}" />`}let wt=()=>{let d=!!E.dots,b=!!N.dots;if(!d&&!b)return"";let A=t.dotsOptions.gradient?"url(#grad-dots)":t.dotsOptions.color;return`
|
|
26
|
+
`}return""}function nt(s){return[{id:"top-left",x:0,y:0},{id:"top-right",x:s-7,y:0},{id:"bottom-left",x:0,y:s-7}]}function gt(s,t,e,r,n){for(let o of nt(n))if(s<o.x+7&&s+e>o.x&&t<o.y+7&&t+r>o.y)return!0;return!1}function kt(s,t,e){let r=s.x,n=s.y;for(let o of nt(e)){let i=r<o.x+7&&r+s.width>o.x,c=n<o.y+7&&n+s.height>o.y;if(!i||!c)continue;let l=[{axis:"x",dir:1,depth:o.x+7-r},{axis:"x",dir:-1,depth:r+s.width-o.x},{axis:"y",dir:1,depth:o.y+7-n},{axis:"y",dir:-1,depth:n+s.height-o.y}].filter(p=>p.depth>0).sort((p,h)=>p.depth-h.depth);if(!l.length)continue;let u=l[0],y=r,$=n;u.axis==="x"?r=u.dir>0?o.x+7:o.x-s.width:n=u.dir>0?o.y+7:o.y-s.height,console.warn(`[QR] images[${t}] overlaps the "${o.id}" eye zone. Auto-adjusted: (${y.toFixed(1)}, ${$.toFixed(1)}) \u2192 (${r.toFixed(1)}, ${n.toFixed(1)}).`)}return{...s,x:r,y:n}}function Ft(s,t){let e=s.filter(h=>h.x!=null&&h.y!=null),r=s.filter(h=>h.x==null||h.y==null),n=e.map(h=>{let C=s.indexOf(h);return gt(h.x,h.y,h.width,h.height,t)?kt(h,C,t):h});if(r.length===0)return[...n];let o=8,c=t-8-o,l=t/2,u=t/2,y=[{x:l,y:u},{x:o+c*.25,y:u},{x:o+c*.75,y:u},{x:l,y:o+c*.25},{x:l,y:o+c*.75},{x:o+c*.75,y:o+c*.75},{x:o+c*.75,y:o+c*.25},{x:o+c*.25,y:o+c*.75},{x:o+c*.25,y:o+c*.25}],$=[],p=0;for(let h of r){let C=!1;for(;p<y.length;){let m=y[p++],E=m.x-h.width/2,N=m.y-h.height/2;if(!gt(E,N,h.width,h.height,t)){$.push({...h,x:E,y:N}),C=!0;break}}C||$.push({...h,x:(t-h.width)/2,y:(t-h.height)/2})}return[...n,...$]}function qt(s,t,e,r){return{t:t>0&&e[t-1][s]?.isDark,r:s<r-1&&e[t][s+1]?.isDark,b:t<r-1&&e[t+1][s]?.isDark,l:s>0&&e[t][s-1]?.isDark}}function $t(s,t,e){let r=[{ex:0,ey:0},{ex:e-7,ey:0},{ex:0,ey:e-7}];for(let n of r)if(s>=n.ex&&s<n.ex+7&&t>=n.ey&&t<n.ey+7)return n;return null}async function Ut(s){let t={...bt,...s},r=new G(t.data??"",t.qrOptions?.errorCorrectionLevel||"H").getMatrix(),n=r.length,o=t.margin??4,i=nt(n).map(d=>({...d,width:7,height:7})),c=(d,b)=>({maxX:Math.max(0,n-d),maxY:Math.max(0,n-b)}),l=d=>({svg:d,matrixSize:n,eyeZones:i,getMaxPos:c}),u=n+o*2,y=t.width??1e3,$=t.height??1e3,p=Tt(n,o),h=7,C=3,m="";t.backgroundOptions?.gradient&&(m+=rt("grad-bg",t.backgroundOptions.gradient,0,0,u,u)),t.dotsOptions.gradient&&(m+=rt("grad-dots",t.dotsOptions.gradient,0,0,u,u)),p.forEach(d=>{t.cornersSquareOptions.gradient&&(m+=rt(`grad-sq-${d.id}`,t.cornersSquareOptions.gradient,d.x,d.y,h,h)),t.cornersDotOptions.gradient&&(m+=rt(`grad-dot-${d.id}`,t.cornersDotOptions.gradient,d.x+2,d.y+2,C,C))}),m+=at("icon-dots",t.dotsOptions),m+=at("icon-sq",t.cornersSquareOptions),m+=at("icon-dot",t.cornersDotOptions);let E={dots:"",cornerSquare:"",cornerDot:""},N={dots:"",cornerSquare:"",cornerDot:""},_=Array(n).fill(!1).map(()=>Array(n).fill(!1)),W=new Set,ct=Ft(t.images||[],n);for(let d=0;d<n;d++)for(let b=0;b<n;b++){if(_[d][b]||!r[d][b].isDark||ct.some(w=>{if(!w.excludeDots)return!1;let S=w.x,q=w.y;return b>=S-.5&&b<=S+w.width-.5&&d>=q-.5&&d<=q+w.height-.5}))continue;let R=It(b,d,n),v,I="";R==="dots"?(v=t.dotsOptions,I="#icon-dots"):R==="cornerSquare"?(v=t.cornersSquareOptions,I="#icon-sq"):(v=t.cornersDotOptions,I="#icon-dot");let Y=v.shape?.type??"figure",B=v.shape?.path??"square",V=v.scale??1;if(Y==="figure"){if(R==="dots"){let w=qt(b,d,r,n),S=st[B]??st.square;N.dots+=S(b+o,d+o,w,V)}else if(R==="cornerSquare"){let w=$t(b,d,n);if(!w)continue;let S=`sq-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=et[B]??et.square;N.cornerSquare+=q(w.ex+o,w.ey+o,7)}}else{let w=$t(b,d,n);if(!w)continue;let S=`dot-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=tt[B]??tt.square;N.cornerDot+=q(w.ex+2+o,w.ey+2+o,3)}}continue}let H=1;if(R==="cornerDot"&&v.isSingle){if(!Vt(b,d,n))continue;H=3;for(let w=0;w<3;w++)for(let S=0;S<3;S++)d+w<n&&b+S<n&&(_[d+w][b+S]=!0)}let F=b+o,ot=d+o,z=H*V,X=H*V,At=(H-z)/2,Rt=(H-X)/2;E[R]+=`<use href="${I}" x="${F+At}" y="${ot+Rt}" width="${z}" height="${X}" />`}let wt=()=>{let d=!!E.dots,b=!!N.dots;if(!d&&!b)return"";let A=t.dotsOptions.gradient?"url(#grad-dots)":t.dotsOptions.color;return`
|
|
27
27
|
<mask id="mask-dots">
|
|
28
28
|
<rect width="100%" height="100%" fill="black" />
|
|
29
29
|
<g fill="white">${(d?E.dots:"")+(b?`<path d="${N.dots}" />`:"")}</g>
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var f=class f{constructor(t,e,r,n){this.version=t;this.errorCorrectionLevel=e;th
|
|
|
23
23
|
<symbol id="${a}" viewBox="${o}">
|
|
24
24
|
<path d="${n}" />
|
|
25
25
|
</symbol>
|
|
26
|
-
`}return""}function rt(a){return[{id:"top-left",x:0,y:0},{id:"top-right",x:a-7,y:0},{id:"bottom-left",x:0,y:a-7}]}function pt(a,t,e,r,n){for(let o of rt(n))if(a<o.x+7&&a+e>o.x&&t<o.y+7&&t+r>o.y)return!0;return!1}function Lt(a,t,e){let r=a.x,n=a.y;for(let o of rt(e)){let i=r<o.x+7&&r+a.width>o.x,c=n<o.y+7&&n+a.height>o.y;if(!i||!c)continue;let l=[{axis:"x",dir:1,depth:o.x+7-r},{axis:"x",dir:-1,depth:r+a.width-o.x},{axis:"y",dir:1,depth:o.y+7-n},{axis:"y",dir:-1,depth:n+a.height-o.y}].filter(p=>p.depth>0).sort((p,h)=>p.depth-h.depth);if(!l.length)continue;let u=l[0],y=r,$=n;u.axis==="x"?r=u.dir>0?o.x+7:o.x-a.width:n=u.dir>0?o.y+7:o.y-a.height,console.warn(`[QR] images[${t}] overlaps the "${o.id}" eye zone. Auto-adjusted: (${y.toFixed(1)}, ${$.toFixed(1)}) \u2192 (${r.toFixed(1)}, ${n.toFixed(1)}).`)}return{...a,x:r,y:n}}function Nt(a,t){let e=a.filter(h=>h.x!=null&&h.y!=null),r=a.filter(h=>h.x==null||h.y==null),n=e.map(h=>{let C=a.indexOf(h);return pt(h.x,h.y,h.width,h.height,t)?Lt(h,C,t):h});if(r.length===0)return[...n];let o=8,c=t-8-o,l=t/2,u=t/2,y=[{x:l,y:u},{x:o+c*.25,y:u},{x:o+c*.75,y:u},{x:l,y:o+c*.25},{x:l,y:o+c*.75},{x:o+c*.75,y:o+c*.75},{x:o+c*.75,y:o+c*.25},{x:o+c*.25,y:o+c*.75},{x:o+c*.25,y:o+c*.25}],$=[],p=0;for(let h of r){let C=!1;for(;p<y.length;){let m=y[p++],E=m.x-h.width/2,N=m.y-h.height/2;if(!pt(E,N,h.width,h.height,t)){$.push({...h,x:E,y:N}),C=!0;break}}C||$.push({...h,x:(t-h.width)/2,y:(t-h.height)/2})}return[...n,...$]}function Dt(a,t,e,r){return{t:t>0&&e[t-1][a]?.isDark,r:a<r-1&&e[t][a+1]?.isDark,b:t<r-1&&e[t+1][a]?.isDark,l:a>0&&e[t][a-1]?.isDark}}function yt(a,t,e){let r=[{ex:0,ey:0},{ex:e-7,ey:0},{ex:0,ey:e-7}];for(let n of r)if(a>=n.ex&&a<n.ex+7&&t>=n.ey&&t<n.ey+7)return n;return null}async function te(a){let t={...ft,...a},r=new G(t.data,t.qrOptions?.errorCorrectionLevel||"H").getMatrix(),n=r.length,o=t.margin??4,i=rt(n).map(d=>({...d,width:7,height:7})),c=(d,b)=>({maxX:Math.max(0,n-d),maxY:Math.max(0,n-b)}),l=d=>({svg:d,matrixSize:n,eyeZones:i,getMaxPos:c}),u=n+o*2,y=t.width??1e3,$=t.height??1e3,p=St(n,o),h=7,C=3,m="";t.backgroundOptions?.gradient&&(m+=et("grad-bg",t.backgroundOptions.gradient,0,0,u,u)),t.dotsOptions.gradient&&(m+=et("grad-dots",t.dotsOptions.gradient,0,0,u,u)),p.forEach(d=>{t.cornersSquareOptions.gradient&&(m+=et(`grad-sq-${d.id}`,t.cornersSquareOptions.gradient,d.x,d.y,h,h)),t.cornersDotOptions.gradient&&(m+=et(`grad-dot-${d.id}`,t.cornersDotOptions.gradient,d.x+2,d.y+2,C,C))}),m+=st("icon-dots",t.dotsOptions),m+=st("icon-sq",t.cornersSquareOptions),m+=st("icon-dot",t.cornersDotOptions);let E={dots:"",cornerSquare:"",cornerDot:""},N={dots:"",cornerSquare:"",cornerDot:""},_=Array(n).fill(!1).map(()=>Array(n).fill(!1)),W=new Set,at=Nt(t.images||[],n);for(let d=0;d<n;d++)for(let b=0;b<n;b++){if(_[d][b]||!r[d][b].isDark||at.some(w=>{if(!w.excludeDots)return!1;let S=w.x,q=w.y;return b>=S-.5&&b<=S+w.width-.5&&d>=q-.5&&d<=q+w.height-.5}))continue;let R=vt(b,d,n),v,I="";R==="dots"?(v=t.dotsOptions,I="#icon-dots"):R==="cornerSquare"?(v=t.cornersSquareOptions,I="#icon-sq"):(v=t.cornersDotOptions,I="#icon-dot");let Y=v.shape?.type??"figure",B=v.shape?.path??"square",V=v.scale??1;if(Y==="figure"){if(R==="dots"){let w=Dt(b,d,r,n),S=it[B]??it.square;N.dots+=S(b+o,d+o,w,V)}else if(R==="cornerSquare"){let w=yt(b,d,n);if(!w)continue;let S=`sq-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=tt[B]??tt.square;N.cornerSquare+=q(w.ex+o,w.ey+o,7)}}else{let w=yt(b,d,n);if(!w)continue;let S=`dot-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=J[B]??J.square;N.cornerDot+=q(w.ex+2+o,w.ey+2+o,3)}}continue}let H=1;if(R==="cornerDot"&&v.isSingle){if(!Ot(b,d,n))continue;H=3;for(let w=0;w<3;w++)for(let S=0;S<3;S++)d+w<n&&b+S<n&&(_[d+w][b+S]=!0)}let F=b+o,nt=d+o,z=H*V,X=H*V,$t=(H-z)/2,wt=(H-X)/2;E[R]+=`<use href="${I}" x="${F+$t}" y="${nt+wt}" width="${z}" height="${X}" />`}let mt=()=>{let d=!!E.dots,b=!!N.dots;if(!d&&!b)return"";let A=t.dotsOptions.gradient?"url(#grad-dots)":t.dotsOptions.color;return`
|
|
26
|
+
`}return""}function rt(a){return[{id:"top-left",x:0,y:0},{id:"top-right",x:a-7,y:0},{id:"bottom-left",x:0,y:a-7}]}function pt(a,t,e,r,n){for(let o of rt(n))if(a<o.x+7&&a+e>o.x&&t<o.y+7&&t+r>o.y)return!0;return!1}function Lt(a,t,e){let r=a.x,n=a.y;for(let o of rt(e)){let i=r<o.x+7&&r+a.width>o.x,c=n<o.y+7&&n+a.height>o.y;if(!i||!c)continue;let l=[{axis:"x",dir:1,depth:o.x+7-r},{axis:"x",dir:-1,depth:r+a.width-o.x},{axis:"y",dir:1,depth:o.y+7-n},{axis:"y",dir:-1,depth:n+a.height-o.y}].filter(p=>p.depth>0).sort((p,h)=>p.depth-h.depth);if(!l.length)continue;let u=l[0],y=r,$=n;u.axis==="x"?r=u.dir>0?o.x+7:o.x-a.width:n=u.dir>0?o.y+7:o.y-a.height,console.warn(`[QR] images[${t}] overlaps the "${o.id}" eye zone. Auto-adjusted: (${y.toFixed(1)}, ${$.toFixed(1)}) \u2192 (${r.toFixed(1)}, ${n.toFixed(1)}).`)}return{...a,x:r,y:n}}function Nt(a,t){let e=a.filter(h=>h.x!=null&&h.y!=null),r=a.filter(h=>h.x==null||h.y==null),n=e.map(h=>{let C=a.indexOf(h);return pt(h.x,h.y,h.width,h.height,t)?Lt(h,C,t):h});if(r.length===0)return[...n];let o=8,c=t-8-o,l=t/2,u=t/2,y=[{x:l,y:u},{x:o+c*.25,y:u},{x:o+c*.75,y:u},{x:l,y:o+c*.25},{x:l,y:o+c*.75},{x:o+c*.75,y:o+c*.75},{x:o+c*.75,y:o+c*.25},{x:o+c*.25,y:o+c*.75},{x:o+c*.25,y:o+c*.25}],$=[],p=0;for(let h of r){let C=!1;for(;p<y.length;){let m=y[p++],E=m.x-h.width/2,N=m.y-h.height/2;if(!pt(E,N,h.width,h.height,t)){$.push({...h,x:E,y:N}),C=!0;break}}C||$.push({...h,x:(t-h.width)/2,y:(t-h.height)/2})}return[...n,...$]}function Dt(a,t,e,r){return{t:t>0&&e[t-1][a]?.isDark,r:a<r-1&&e[t][a+1]?.isDark,b:t<r-1&&e[t+1][a]?.isDark,l:a>0&&e[t][a-1]?.isDark}}function yt(a,t,e){let r=[{ex:0,ey:0},{ex:e-7,ey:0},{ex:0,ey:e-7}];for(let n of r)if(a>=n.ex&&a<n.ex+7&&t>=n.ey&&t<n.ey+7)return n;return null}async function te(a){let t={...ft,...a},r=new G(t.data??"",t.qrOptions?.errorCorrectionLevel||"H").getMatrix(),n=r.length,o=t.margin??4,i=rt(n).map(d=>({...d,width:7,height:7})),c=(d,b)=>({maxX:Math.max(0,n-d),maxY:Math.max(0,n-b)}),l=d=>({svg:d,matrixSize:n,eyeZones:i,getMaxPos:c}),u=n+o*2,y=t.width??1e3,$=t.height??1e3,p=St(n,o),h=7,C=3,m="";t.backgroundOptions?.gradient&&(m+=et("grad-bg",t.backgroundOptions.gradient,0,0,u,u)),t.dotsOptions.gradient&&(m+=et("grad-dots",t.dotsOptions.gradient,0,0,u,u)),p.forEach(d=>{t.cornersSquareOptions.gradient&&(m+=et(`grad-sq-${d.id}`,t.cornersSquareOptions.gradient,d.x,d.y,h,h)),t.cornersDotOptions.gradient&&(m+=et(`grad-dot-${d.id}`,t.cornersDotOptions.gradient,d.x+2,d.y+2,C,C))}),m+=st("icon-dots",t.dotsOptions),m+=st("icon-sq",t.cornersSquareOptions),m+=st("icon-dot",t.cornersDotOptions);let E={dots:"",cornerSquare:"",cornerDot:""},N={dots:"",cornerSquare:"",cornerDot:""},_=Array(n).fill(!1).map(()=>Array(n).fill(!1)),W=new Set,at=Nt(t.images||[],n);for(let d=0;d<n;d++)for(let b=0;b<n;b++){if(_[d][b]||!r[d][b].isDark||at.some(w=>{if(!w.excludeDots)return!1;let S=w.x,q=w.y;return b>=S-.5&&b<=S+w.width-.5&&d>=q-.5&&d<=q+w.height-.5}))continue;let R=vt(b,d,n),v,I="";R==="dots"?(v=t.dotsOptions,I="#icon-dots"):R==="cornerSquare"?(v=t.cornersSquareOptions,I="#icon-sq"):(v=t.cornersDotOptions,I="#icon-dot");let Y=v.shape?.type??"figure",B=v.shape?.path??"square",V=v.scale??1;if(Y==="figure"){if(R==="dots"){let w=Dt(b,d,r,n),S=it[B]??it.square;N.dots+=S(b+o,d+o,w,V)}else if(R==="cornerSquare"){let w=yt(b,d,n);if(!w)continue;let S=`sq-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=tt[B]??tt.square;N.cornerSquare+=q(w.ex+o,w.ey+o,7)}}else{let w=yt(b,d,n);if(!w)continue;let S=`dot-${w.ex}-${w.ey}`;if(!W.has(S)){W.add(S);let q=J[B]??J.square;N.cornerDot+=q(w.ex+2+o,w.ey+2+o,3)}}continue}let H=1;if(R==="cornerDot"&&v.isSingle){if(!Ot(b,d,n))continue;H=3;for(let w=0;w<3;w++)for(let S=0;S<3;S++)d+w<n&&b+S<n&&(_[d+w][b+S]=!0)}let F=b+o,nt=d+o,z=H*V,X=H*V,$t=(H-z)/2,wt=(H-X)/2;E[R]+=`<use href="${I}" x="${F+$t}" y="${nt+wt}" width="${z}" height="${X}" />`}let mt=()=>{let d=!!E.dots,b=!!N.dots;if(!d&&!b)return"";let A=t.dotsOptions.gradient?"url(#grad-dots)":t.dotsOptions.color;return`
|
|
27
27
|
<mask id="mask-dots">
|
|
28
28
|
<rect width="100%" height="100%" fill="black" />
|
|
29
29
|
<g fill="white">${(d?E.dots:"")+(b?`<path d="${N.dots}" />`:"")}</g>
|