@excalidraw/element 0.18.0-4e471c107 → 0.18.0-6d75c4b34
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/dev/index.js +1 -1
- package/dist/dev/index.js.map +2 -2
- package/dist/prod/index.js +1 -1
- package/package.json +3 -3
package/dist/prod/index.js
CHANGED
|
@@ -2,7 +2,7 @@ var cd=Object.create;var bs=Object.defineProperty;var dd=Object.getOwnPropertyDe
|
|
|
2
2
|
`).map(a=>a||" ").join(`
|
|
3
3
|
`),o=parseFloat(t),r=xu(i,o,n);return{width:fa(i,t),height:r}},ua="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),pa=(e,t)=>{let n=wu(e);return n===0?Qe(ua.split("").join(`
|
|
4
4
|
`),e,t).width+Fi*2:n+Fi*2},Ni=(e,t)=>Qe("",e,t).width+Fi*2,kx=()=>fa(ua,hu({fontSize:mu,fontFamily:fu}))>0,tr=e=>gu(e).replace(/\t/g," "),nr=e=>tr(e).split(`
|
|
5
|
-
`),Rx=e=>{let t=nr(e.text).length;return e.height/t/e.fontSize},zi=(e,t)=>e*t,ma=(e,t)=>zi(e,t)+Fi*2,Ri,Fx=e=>{Ri=e},er=class{canvas;constructor(){this.canvas=document.createElement("canvas")}getLineWidth(t,n){let i=this.canvas.getContext("2d");i.font=n;let r=i.measureText(t).width;return Eu()?r*10:r}},Ht=(e,t)=>(Ri||(Ri=new er),Ri.getLineWidth(e,t)),fa=(e,t)=>{let n=nr(e),i=0;return n.forEach(o=>{i=Math.max(i,Ht(o,t))}),i},xu=(e,t,n)=>{if(e==="")return 0;let i=nr(e).length;return zi(t,n)*i},Pn=(()=>{let e={};return{calculate:(o,r)=>{let s=o.charCodeAt(0);if(e[r]||(e[r]=[]),!e[r][s]){let a=Ht(o,r);e[r][s]=a}return e[r][s]},getCache:o=>e[o],clearCache:o=>{e[o]=[]}}})(),Nx=e=>{let t=Pn.getCache(e);if(!t)return 0;let n=t.filter(i=>i!==void 0);return Math.min(...n)},wu=e=>{let t=Pn.getCache(e);if(!t)return 0;let n=t.filter(i=>i!==void 0);return Math.max(...n)};P();import{isDevEnv as yu,isTestEnv as bu}from"@excalidraw/common";var ir,Hi,or,Ux=e=>(ir||(ir=Q.class(...Object.values(bt))),ir.test(e)),Pu=()=>{if(!Hi)try{Hi=Su()}catch{Hi=Iu()}return Hi},rr=()=>(or||(or=Mu()),or),je={WHITESPACE:/\s/u,HYPHEN:/-/u,OPENING:/<\(\[\{/u,CLOSING:/>\)\]\}.,:;!\?…\//u},bt={CHAR:/\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}`'^〃〰〆#&*+-ー/\=|¦〒¬ ̄/u,OPENING:/([{〈《⦅「「『【〖〔〘〚<〝/u,CLOSING:/)]}〉》⦆」」』】〗〕〙〛>。.,、〟‥?!:;・〜〞/u,CURRENCY:/¥₩£¢$/u},dn={FLAG:/\p{RI}\p{RI}/u,JOINER:/(?:\p{Emoji_Modifier}|\uFE0F\u20E3?|[\u{E0020}-\u{E007E}]+\u{E007F})?/u,ZWJ:/\u200D/u,ANY:/[\p{Emoji}]/u,MOST:/[\p{Extended_Pictographic}\p{Emoji_Presentation}]/u},Iu=()=>Q.or(rr(),de.On(je.HYPHEN,je.WHITESPACE,bt.CHAR)),Su=()=>Q.or(rr(),de.Before(je.WHITESPACE).Build(),de.After(je.WHITESPACE,je.HYPHEN).Build(),de.Before(bt.CHAR,bt.CURRENCY).NotPrecededBy(je.OPENING,bt.OPENING).Build(),de.After(bt.CHAR).NotFollowedBy(je.HYPHEN,je.CLOSING,bt.CLOSING).Build(),de.BeforeMany(bt.OPENING).NotPrecededBy(je.OPENING).Build(),de.AfterMany(bt.CLOSING).NotFollowedBy(je.CLOSING).Build(),de.AfterMany(je.CLOSING).FollowedBy(je.OPENING).Build()),Mu=()=>Q.group(Q.or(dn.FLAG,Q.and(dn.MOST,dn.JOINER,Q.build(`(?:${dn.ZWJ.source}(?:${dn.FLAG.source}|${dn.ANY.source}${dn.JOINER.source}))*`)))),Q={build:e=>new RegExp(e,"u"),join:(...e)=>e.map(t=>t.source).join(""),and:(...e)=>Q.build(Q.join(...e)),or:(...e)=>Q.build(e.map(t=>t.source).join("|")),group:(...e)=>Q.build(`(${Q.join(...e)})`),class:(...e)=>Q.build(`[${Q.join(...e)}]`)},de={On:(...e)=>{let t=Q.join(...e);return Q.build(`([${t}])`)},Before:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?=[${t}])`);return de.Chain(n)},After:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<=[${t}])`);return de.Chain(n)},BeforeMany:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<![${t}])(?=[${t}])`);return de.Chain(n)},AfterMany:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<=[${t}])(?![${t}])`);return de.Chain(n)},NotBefore:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?![${t}])`);return de.Chain(n)},NotAfter:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<![${t}])`);return de.Chain(n)},Chain:e=>({Build:e,PreceededBy:(...t)=>{let n=e(),i=de.After(...t).Build(),o=()=>Q.and(i,n);return de.Chain(o)},FollowedBy:(...t)=>{let n=e(),i=de.Before(...t).Build(),o=()=>Q.and(n,i);return de.Chain(o)},NotPrecededBy:(...t)=>{let n=e(),i=de.NotAfter(...t).Build(),o=()=>Q.and(i,n);return de.Chain(o)},NotFollowedBy:(...t)=>{let n=e(),i=de.NotBefore(...t).Build(),o=()=>Q.and(n,i);return de.Chain(o)}})},Tu=e=>{let t=Pu();return e.normalize("NFC").split(t).filter(Boolean)},Pt=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let i=[],o=e.split(`
|
|
5
|
+
`),Rx=e=>{let t=nr(e.text).length;return e.height/t/e.fontSize},zi=(e,t)=>e*t,ma=(e,t)=>zi(e,t)+Fi*2,Ri,Fx=e=>{Ri=e},er=class{canvas;constructor(){this.canvas=document.createElement("canvas")}getLineWidth(t,n){let i=this.canvas.getContext("2d");i.font=n;let r=i.measureText(t).width;return Eu()?r*10:r}},Ht=(e,t)=>(Ri||(Ri=new er),Ri.getLineWidth(e,t)),fa=(e,t)=>{let n=nr(e),i=0;return n.forEach(o=>{i=Math.max(i,Ht(o,t))}),i},xu=(e,t,n)=>{if(e.trim()==="")return 0;let i=nr(e).length;return zi(t,n)*i},Pn=(()=>{let e={};return{calculate:(o,r)=>{let s=o.charCodeAt(0);if(e[r]||(e[r]=[]),!e[r][s]){let a=Ht(o,r);e[r][s]=a}return e[r][s]},getCache:o=>e[o],clearCache:o=>{e[o]=[]}}})(),Nx=e=>{let t=Pn.getCache(e);if(!t)return 0;let n=t.filter(i=>i!==void 0);return Math.min(...n)},wu=e=>{let t=Pn.getCache(e);if(!t)return 0;let n=t.filter(i=>i!==void 0);return Math.max(...n)};P();import{isDevEnv as yu,isTestEnv as bu}from"@excalidraw/common";var ir,Hi,or,Ux=e=>(ir||(ir=Q.class(...Object.values(bt))),ir.test(e)),Pu=()=>{if(!Hi)try{Hi=Su()}catch{Hi=Iu()}return Hi},rr=()=>(or||(or=Mu()),or),je={WHITESPACE:/\s/u,HYPHEN:/-/u,OPENING:/<\(\[\{/u,CLOSING:/>\)\]\}.,:;!\?…\//u},bt={CHAR:/\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}`'^〃〰〆#&*+-ー/\=|¦〒¬ ̄/u,OPENING:/([{〈《⦅「「『【〖〔〘〚<〝/u,CLOSING:/)]}〉》⦆」」』】〗〕〙〛>。.,、〟‥?!:;・〜〞/u,CURRENCY:/¥₩£¢$/u},dn={FLAG:/\p{RI}\p{RI}/u,JOINER:/(?:\p{Emoji_Modifier}|\uFE0F\u20E3?|[\u{E0020}-\u{E007E}]+\u{E007F})?/u,ZWJ:/\u200D/u,ANY:/[\p{Emoji}]/u,MOST:/[\p{Extended_Pictographic}\p{Emoji_Presentation}]/u},Iu=()=>Q.or(rr(),de.On(je.HYPHEN,je.WHITESPACE,bt.CHAR)),Su=()=>Q.or(rr(),de.Before(je.WHITESPACE).Build(),de.After(je.WHITESPACE,je.HYPHEN).Build(),de.Before(bt.CHAR,bt.CURRENCY).NotPrecededBy(je.OPENING,bt.OPENING).Build(),de.After(bt.CHAR).NotFollowedBy(je.HYPHEN,je.CLOSING,bt.CLOSING).Build(),de.BeforeMany(bt.OPENING).NotPrecededBy(je.OPENING).Build(),de.AfterMany(bt.CLOSING).NotFollowedBy(je.CLOSING).Build(),de.AfterMany(je.CLOSING).FollowedBy(je.OPENING).Build()),Mu=()=>Q.group(Q.or(dn.FLAG,Q.and(dn.MOST,dn.JOINER,Q.build(`(?:${dn.ZWJ.source}(?:${dn.FLAG.source}|${dn.ANY.source}${dn.JOINER.source}))*`)))),Q={build:e=>new RegExp(e,"u"),join:(...e)=>e.map(t=>t.source).join(""),and:(...e)=>Q.build(Q.join(...e)),or:(...e)=>Q.build(e.map(t=>t.source).join("|")),group:(...e)=>Q.build(`(${Q.join(...e)})`),class:(...e)=>Q.build(`[${Q.join(...e)}]`)},de={On:(...e)=>{let t=Q.join(...e);return Q.build(`([${t}])`)},Before:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?=[${t}])`);return de.Chain(n)},After:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<=[${t}])`);return de.Chain(n)},BeforeMany:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<![${t}])(?=[${t}])`);return de.Chain(n)},AfterMany:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<=[${t}])(?![${t}])`);return de.Chain(n)},NotBefore:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?![${t}])`);return de.Chain(n)},NotAfter:(...e)=>{let t=Q.join(...e),n=()=>Q.build(`(?<![${t}])`);return de.Chain(n)},Chain:e=>({Build:e,PreceededBy:(...t)=>{let n=e(),i=de.After(...t).Build(),o=()=>Q.and(i,n);return de.Chain(o)},FollowedBy:(...t)=>{let n=e(),i=de.Before(...t).Build(),o=()=>Q.and(n,i);return de.Chain(o)},NotPrecededBy:(...t)=>{let n=e(),i=de.NotAfter(...t).Build(),o=()=>Q.and(i,n);return de.Chain(o)},NotFollowedBy:(...t)=>{let n=e(),i=de.NotBefore(...t).Build(),o=()=>Q.and(n,i);return de.Chain(o)}})},Tu=e=>{let t=Pu();return e.normalize("NFC").split(t).filter(Boolean)},Pt=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let i=[],o=e.split(`
|
|
6
6
|
`);for(let r of o){if(Ht(r,t)<=n){i.push(r);continue}let a=Au(r,t,n);i.push(...a)}return i.join(`
|
|
7
7
|
`)},Au=(e,t,n)=>{let i=[],r=Tu(e)[Symbol.iterator](),s="",a=0,l=r.next();for(;!l.done;){let c=l.value,d=s+c,u=Lu(c)?a+Pn.calculate(c,t):Ht(d,t);if(/\s/.test(c)||u<=n){s=d,a=u,l=r.next();continue}if(s)i.push(s.trimEnd()),s="",a=0;else{let p=vu(c,t,n),m=p[p.length-1]??"",f=p.slice(0,-1);i.push(...f),s=m,a=Ht(m,t),l=r.next()}}if(s){let c=Du(s,t,n);i.push(c)}return i},vu=(e,t,n)=>{if(rr().test(e))return[e];Cu(e);let i=[],o=Array.from(e),r="",s=0;for(let a of o){let l=Pn.calculate(a,t),c=s+l;if(c<=n){r=r+a,s=c;continue}r&&i.push(r),r=a,s=l}return r&&i.push(r),i},Du=(e,t,n)=>{if(!(Ht(e,t)>n))return e;let[,o,r]=e.match(/^(.+?)(\s+)$/)??[e,e.trimEnd(),""],s=Ht(o,t);for(let a of Array.from(r)){let l=Pn.calculate(a,t),c=s+l;if(c>n)break;o=o+a,s=c}return o},Lu=e=>e.codePointAt(0)!==void 0&&e.codePointAt(1)===void 0,Cu=e=>{if((bu()||yu())&&/\s/.test(e))throw new Error("Word should not contain any whitespaces!")};var ga=(e,t,n)=>{let i=n.getNonDeletedElementsMap(),o;ku()||Ru(!t||!_(t)||e.angle===0,"text element angle must be 0 if bound to arrow container");let r={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height,angle:t?_(t)?0:t.angle:e.angle};r.text=e.text,(t||!e.autoResize)&&(o=t?Je(t,e):e.width,r.text=Pt(e.originalText,_i(e),o));let s=Qe(r.text,_i(e),e.lineHeight);if(e.autoResize&&(r.width=s.width),r.height=s.height,t){let a=ei(t,e),l=Je(t,e);if(!_(t)&&s.height>a){let p=sr(s.height,t.type);n.mutateElement(t,{height:p}),ca(t.id,p)}if(s.width>l){let p=sr(s.width,t.type);n.mutateElement(t,{width:p})}let c={...e,...r},{x:d,y:u}=xa(t,c,i);r.x=d,r.y=u}n.mutateElement(e,r)},un=(e,t,n,i=!1)=>{let o=t.getNonDeletedElementsMap();if(!It(e))return;da(e.id);let s=Z(e,o);if(s&&s.text){if(!e)return;let a=s.text,l=s.height,c=s.width,d=Je(e,s),u=ei(e,s),p=e.height;if(i||n!=="n"&&n!=="s"){a&&(a=Pt(s.originalText,_i(s),d));let m=Qe(a,_i(s),s.lineHeight);l=m.height,c=m.width}if(l>u){p=sr(l,e.type);let m=p-e.height,f=!_(e)&&(n==="ne"||n==="nw"||n==="n")?e.y-m:e.y;t.mutateElement(e,{height:p,y:f})}t.mutateElement(s,{text:a,width:c,height:l}),_(e)||t.mutateElement(s,xa(e,s,o))}},xa=(e,t,n)=>{if(_(e))return Y.getBoundTextElementPosition(e,t,n);let i=ar(e),o=ei(e,t),r=Je(e,t),s,a;return t.verticalAlign===Ea.TOP?a=i.y:t.verticalAlign===Ea.BOTTOM?a=i.y+(o-t.height):a=i.y+(o/2-t.height/2),t.textAlign===ha.LEFT?s=i.x:t.textAlign===ha.RIGHT?s=i.x+(r-t.width):s=i.x+(r/2-t.width/2),{x:s,y:a}},It=e=>e?.boundElements?.length&&e?.boundElements?.find(t=>t.type==="text")?.id||null,Z=(e,t)=>{if(!e)return null;let n=It(e);return n&&t.get(n)||null},Ce=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,Qx=(e,t,n)=>{if(!_(e))return{x:e.x+e.width/2,y:e.y+e.height/2};if(Y.getPointsGlobalCoordinates(e,n).length%2===1){let s=Math.floor(e.points.length/2),a=Y.getPointGlobalCoordinates(e,e.points[s],n);return{x:a[0],y:a[1]}}let o=e.points.length/2-1,r=Y.getEditorMidPoints(e,n,t)[o];return r||(r=Y.getSegmentMidPoint(e,o+1)),{x:r[0],y:r[1]}},ar=e=>{let t=at,n=at;return e.type==="ellipse"&&(t+=e.width/2*(1-Math.sqrt(2)/2),n+=e.height/2*(1-Math.sqrt(2)/2)),e.type==="diamond"&&(t+=e.width/4,n+=e.height/4),{x:e.x+t,y:e.y+n}},Jx=(e,t)=>_(t)?0:t?t.angle:e.angle,ew=(e,t,n)=>{if(_(e))return Y.getBoundTextElementPosition(e,t,n)},tw=(e,t)=>e.some(n=>{if(fe(n)){let i=Ce(n,t);return!_(i)}return!1}),nw=(e,t)=>e.some(n=>{if(fe(n)){let i=Ce(n,t);return!_(i)}return ne(n)}),Fu=new Set(["rectangle","ellipse","diamond","arrow"]),iw=e=>Fu.has(e.type),sr=(e,t)=>{e=Math.ceil(e);let n=at*2;return t==="ellipse"?Math.round((e+n)/Math.sqrt(2)*2):t==="arrow"?e+n*8:t==="diamond"?2*(e+n):e+n},Je=(e,t)=>{let{width:n}=e;if(_(e)){let i=(t?.fontSize??Ou)*Bu;return Math.max(Gu*n,i)}return e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-at*2:e.type==="diamond"?Math.round(n/2)-at*2:n-at*2},ei=(e,t)=>{let{height:n}=e;return _(e)?n-at*8*2<=0?t.height:n:e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-at*2:e.type==="diamond"?Math.round(n/2)-at*2:n-at*2},ow=(e,t=`
|
|
8
8
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@excalidraw/element",
|
|
3
|
-
"version": "0.18.0-
|
|
3
|
+
"version": "0.18.0-6d75c4b34",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/types/element/src/index.d.ts",
|
|
6
6
|
"main": "./dist/prod/index.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"build:esm": "rimraf dist && node ../../scripts/buildBase.js && yarn gen:types"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@excalidraw/common": "0.18.0-
|
|
61
|
-
"@excalidraw/math": "0.18.0-
|
|
60
|
+
"@excalidraw/common": "0.18.0-6d75c4b34",
|
|
61
|
+
"@excalidraw/math": "0.18.0-6d75c4b34"
|
|
62
62
|
}
|
|
63
63
|
}
|