@linkurious/ogma-annotations-react 1.1.18 → 1.1.19
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.js +11 -11
- package/dist/index.mjs +90 -93
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(H,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("react"),require("@linkurious/ogma-react")):typeof define=="function"&&define.amd?define(["exports","react","@linkurious/ogma-react"],X):(H=typeof globalThis<"u"?globalThis:H||self,X((H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"]=H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"]||{},H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"].ts={}),H.React,H.OgmaReact))})(this,function(H,X,Gr){"use strict";var
|
|
1
|
+
(function(H,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("react"),require("@linkurious/ogma-react")):typeof define=="function"&&define.amd?define(["exports","react","@linkurious/ogma-react"],X):(H=typeof globalThis<"u"?globalThis:H||self,X((H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"]=H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"]||{},H["/home/jenkins/agent/workspace/_ogma-annotations-control_master/packages/ogma-annotations-react/src/index"].ts={}),H.React,H.OgmaReact))})(this,function(H,X,Gr){"use strict";var He={exports:{}},Gt={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -14,28 +14,28 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var vr;function Xr(){return vr||(vr=1,process.env.NODE_ENV!=="production"&&function(){var h=X,e=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),y=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),_=Symbol.for("react.offscreen"),R=Symbol.iterator,T="@@iterator";function M(t){if(t===null||typeof t!="object")return null;var u=R&&t[R]||t[T];return typeof u=="function"?u:null}var L=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S(t){{for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p<u;p++)d[p-1]=arguments[p];W("error",t,d)}}function W(t,u,d){{var p=L.ReactDebugCurrentFrame,b=p.getStackAddendum();b!==""&&(u+="%s",d=d.concat([b]));var w=d.map(function(A){return String(A)});w.unshift("Warning: "+u),Function.prototype.apply.call(console[t],console,w)}}var U=!1,lt=!1,kt=!1,Zt=!1,Qt=!1,
|
|
18
|
-
`+re+t}}var ne=!1,Tt;{var nr=typeof WeakMap=="function"?WeakMap:Map;Tt=new nr}function ie(t,u){if(!t||ne)return"";{var d=Tt.get(t);if(d!==void 0)return d}var p;ne=!0;var b=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var w;w=ee.current,ee.current=null,
|
|
17
|
+
*/var vr;function Xr(){return vr||(vr=1,process.env.NODE_ENV!=="production"&&function(){var h=X,e=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),y=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),_=Symbol.for("react.offscreen"),R=Symbol.iterator,T="@@iterator";function M(t){if(t===null||typeof t!="object")return null;var u=R&&t[R]||t[T];return typeof u=="function"?u:null}var L=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S(t){{for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p<u;p++)d[p-1]=arguments[p];W("error",t,d)}}function W(t,u,d){{var p=L.ReactDebugCurrentFrame,b=p.getStackAddendum();b!==""&&(u+="%s",d=d.concat([b]));var w=d.map(function(A){return String(A)});w.unshift("Warning: "+u),Function.prototype.apply.call(console[t],console,w)}}var U=!1,lt=!1,kt=!1,Zt=!1,Qt=!1,Ee;Ee=Symbol.for("react.module.reference");function Dt(t){return!!(typeof t=="string"||typeof t=="function"||t===i||t===c||Qt||t===l||t===m||t===v||Zt||t===_||U||lt||kt||typeof t=="object"&&t!==null&&(t.$$typeof===C||t.$$typeof===k||t.$$typeof===g||t.$$typeof===y||t.$$typeof===f||t.$$typeof===Ee||t.getModuleId!==void 0))}function Mt(t,u,d){var p=t.displayName;if(p)return p;var b=u.displayName||u.name||"";return b!==""?d+"("+b+")":d}function _e(t){return t.displayName||"Context"}function rt(t){if(t==null)return null;if(typeof t.tag=="number"&&S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case i:return"Fragment";case s:return"Portal";case c:return"Profiler";case l:return"StrictMode";case m:return"Suspense";case v:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case y:var u=t;return _e(u)+".Consumer";case g:var d=t;return _e(d._context)+".Provider";case f:return Mt(t,t.render,"ForwardRef");case k:var p=t.displayName||null;return p!==null?p:rt(t.type)||"Memo";case C:{var b=t,w=b._payload,A=b._init;try{return rt(A(w))}catch{return null}}}return null}var z=Object.assign,ht=0,K,ct,$t,ke,te,Se,Te;function St(){}St.__reactDisabledLog=!0;function Ce(){{if(ht===0){K=console.log,ct=console.info,$t=console.warn,ke=console.error,te=console.group,Se=console.groupCollapsed,Te=console.groupEnd;var t={configurable:!0,enumerable:!0,value:St,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}ht++}}function rr(){{if(ht--,ht===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:z({},t,{value:K}),info:z({},t,{value:ct}),warn:z({},t,{value:$t}),error:z({},t,{value:ke}),group:z({},t,{value:te}),groupCollapsed:z({},t,{value:Se}),groupEnd:z({},t,{value:Te})})}ht<0&&S("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ee=L.ReactCurrentDispatcher,re;function zt(t,u,d){{if(re===void 0)try{throw Error()}catch(b){var p=b.stack.trim().match(/\n( *(at )?)/);re=p&&p[1]||""}return`
|
|
18
|
+
`+re+t}}var ne=!1,Tt;{var nr=typeof WeakMap=="function"?WeakMap:Map;Tt=new nr}function ie(t,u){if(!t||ne)return"";{var d=Tt.get(t);if(d!==void 0)return d}var p;ne=!0;var b=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var w;w=ee.current,ee.current=null,Ce();try{if(u){var A=function(){throw Error()};if(Object.defineProperty(A.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(A,[])}catch(D){p=D}Reflect.construct(t,[],A)}else{try{A.call()}catch(D){p=D}t.call(A.prototype)}}else{try{throw Error()}catch(D){p=D}t()}}catch(D){if(D&&p&&typeof D.stack=="string"){for(var E=D.stack.split(`
|
|
19
19
|
`),O=p.stack.split(`
|
|
20
20
|
`),P=E.length-1,I=O.length-1;P>=1&&I>=0&&E[P]!==O[I];)I--;for(;P>=1&&I>=0;P--,I--)if(E[P]!==O[I]){if(P!==1||I!==1)do if(P--,I--,I<0||E[P]!==O[I]){var B=`
|
|
21
|
-
`+E[P].replace(" at new "," at ");return t.displayName&&B.includes("<anonymous>")&&(B=B.replace("<anonymous>",t.displayName)),typeof t=="function"&&Tt.set(t,B),B}while(P>=1&&I>=0);break}}}finally{ne=!1,ee.current=w,rr(),Error.prepareStackTrace=b}var $=t?t.displayName||t.name:"",j=$?zt($):"";return typeof t=="function"&&Tt.set(t,j),j}function ir(t,u,d){return ie(t,!1)}function or(t){var u=t.prototype;return!!(u&&u.isReactComponent)}function Nt(t,u,d){if(t==null)return"";if(typeof t=="function")return ie(t,or(t));if(typeof t=="string")return zt(t);switch(t){case m:return zt("Suspense");case v:return zt("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case f:return ir(t.render);case k:return Nt(t.type,u,d);case C:{var p=t,b=p._payload,w=p._init;try{return Nt(w(b),u,d)}catch{}}}return""}var xt=Object.prototype.hasOwnProperty,
|
|
21
|
+
`+E[P].replace(" at new "," at ");return t.displayName&&B.includes("<anonymous>")&&(B=B.replace("<anonymous>",t.displayName)),typeof t=="function"&&Tt.set(t,B),B}while(P>=1&&I>=0);break}}}finally{ne=!1,ee.current=w,rr(),Error.prepareStackTrace=b}var $=t?t.displayName||t.name:"",j=$?zt($):"";return typeof t=="function"&&Tt.set(t,j),j}function ir(t,u,d){return ie(t,!1)}function or(t){var u=t.prototype;return!!(u&&u.isReactComponent)}function Nt(t,u,d){if(t==null)return"";if(typeof t=="function")return ie(t,or(t));if(typeof t=="string")return zt(t);switch(t){case m:return zt("Suspense");case v:return zt("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case f:return ir(t.render);case k:return Nt(t.type,u,d);case C:{var p=t,b=p._payload,w=p._init;try{return Nt(w(b),u,d)}catch{}}}return""}var xt=Object.prototype.hasOwnProperty,Oe={},Pe=L.ReactDebugCurrentFrame;function Bt(t){if(t){var u=t._owner,d=Nt(t.type,t._source,u?u.type:null);Pe.setExtraStackFrame(d)}else Pe.setExtraStackFrame(null)}function sr(t,u,d,p,b){{var w=Function.call.bind(xt);for(var A in t)if(w(t,A)){var E=void 0;try{if(typeof t[A]!="function"){var O=Error((p||"React class")+": "+d+" type `"+A+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[A]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw O.name="Invariant Violation",O}E=t[A](u,A,p,d,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(P){E=P}E&&!(E instanceof Error)&&(Bt(b),S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",p||"React class",d,A,typeof E),Bt(null)),E instanceof Error&&!(E.message in Oe)&&(Oe[E.message]=!0,Bt(b),S("Failed %s type: %s",d,E.message),Bt(null))}}}var ar=Array.isArray;function oe(t){return ar(t)}function V(t){{var u=typeof Symbol=="function"&&Symbol.toStringTag,d=u&&t[Symbol.toStringTag]||t.constructor.name||"Object";return d}}function lr(t){try{return Re(t),!1}catch{return!0}}function Re(t){return""+t}function se(t){if(lr(t))return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",V(t)),Re(t)}var ut=L.ReactCurrentOwner,Ie={key:!0,ref:!0,__self:!0,__source:!0},Ht,Le,ae;ae={};function le(t){if(xt.call(t,"ref")){var u=Object.getOwnPropertyDescriptor(t,"ref").get;if(u&&u.isReactWarning)return!1}return t.ref!==void 0}function ur(t){if(xt.call(t,"key")){var u=Object.getOwnPropertyDescriptor(t,"key").get;if(u&&u.isReactWarning)return!1}return t.key!==void 0}function hr(t,u){if(typeof t.ref=="string"&&ut.current&&u&&ut.current.stateNode!==u){var d=rt(ut.current.type);ae[d]||(S('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',rt(ut.current.type),t.ref),ae[d]=!0)}}function cr(t,u){{var d=function(){Ht||(Ht=!0,S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",u))};d.isReactWarning=!0,Object.defineProperty(t,"key",{get:d,configurable:!0})}}function ue(t,u){{var d=function(){Le||(Le=!0,S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",u))};d.isReactWarning=!0,Object.defineProperty(t,"ref",{get:d,configurable:!0})}}var je=function(t,u,d,p,b,w,A){var E={$$typeof:e,type:t,key:u,ref:d,props:A,_owner:w};return E._store={},Object.defineProperty(E._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(E,"_self",{configurable:!1,enumerable:!1,writable:!1,value:p}),Object.defineProperty(E,"_source",{configurable:!1,enumerable:!1,writable:!1,value:b}),Object.freeze&&(Object.freeze(E.props),Object.freeze(E)),E};function Ct(t,u,d,p,b){{var w,A={},E=null,O=null;d!==void 0&&(se(d),E=""+d),ur(u)&&(se(u.key),E=""+u.key),le(u)&&(O=u.ref,hr(u,b));for(w in u)xt.call(u,w)&&!Ie.hasOwnProperty(w)&&(A[w]=u[w]);if(t&&t.defaultProps){var P=t.defaultProps;for(w in P)A[w]===void 0&&(A[w]=P[w])}if(E||O){var I=typeof t=="function"?t.displayName||t.name||"Unknown":t;E&&cr(A,I),O&&ue(A,I)}return je(t,E,O,b,p,ut.current,A)}}var he=L.ReactCurrentOwner,Fe=L.ReactDebugCurrentFrame;function dt(t){if(t){var u=t._owner,d=Nt(t.type,t._source,u?u.type:null);Fe.setExtraStackFrame(d)}else Fe.setExtraStackFrame(null)}var Z;Z=!1;function vt(t){return typeof t=="object"&&t!==null&&t.$$typeof===e}function Ut(){{if(he.current){var t=rt(he.current.type);if(t)return`
|
|
22
22
|
|
|
23
|
-
Check the render method of \``+t+"`."}return""}}function dr(t){return""}var ce={};function
|
|
23
|
+
Check the render method of \``+t+"`."}return""}}function dr(t){return""}var ce={};function De(t){{var u=Ut();if(!u){var d=typeof t=="string"?t:t.displayName||t.name;d&&(u=`
|
|
24
24
|
|
|
25
|
-
Check the top-level render call using <`+d+">.")}return u}}function
|
|
25
|
+
Check the top-level render call using <`+d+">.")}return u}}function Me(t,u){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var d=De(u);if(ce[d])return;ce[d]=!0;var p="";t&&t._owner&&t._owner!==he.current&&(p=" It was passed a child from "+rt(t._owner.type)+"."),dt(t),S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,p),dt(null)}}function Wt(t,u){{if(typeof t!="object")return;if(oe(t))for(var d=0;d<t.length;d++){var p=t[d];vt(p)&&Me(p,u)}else if(vt(t))t._store&&(t._store.validated=!0);else if(t){var b=M(t);if(typeof b=="function"&&b!==t.entries)for(var w=b.call(t),A;!(A=w.next()).done;)vt(A.value)&&Me(A.value,u)}}}function fr(t){{var u=t.type;if(u==null||typeof u=="string")return;var d;if(typeof u=="function")d=u.propTypes;else if(typeof u=="object"&&(u.$$typeof===f||u.$$typeof===k))d=u.propTypes;else return;if(d){var p=rt(u);sr(d,t.props,"prop",p,t)}else if(u.PropTypes!==void 0&&!Z){Z=!0;var b=rt(u);S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",b||"Unknown")}typeof u.getDefaultProps=="function"&&!u.getDefaultProps.isReactClassApproved&&S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function $e(t){{for(var u=Object.keys(t.props),d=0;d<u.length;d++){var p=u[d];if(p!=="children"&&p!=="key"){dt(t),S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",p),dt(null);break}}t.ref!==null&&(dt(t),S("Invalid attribute `ref` supplied to `React.Fragment`."),dt(null))}}var de={};function ze(t,u,d,p,b,w){{var A=Dt(t);if(!A){var E="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(E+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var O=dr();O?E+=O:E+=Ut();var P;t===null?P="null":oe(t)?P="array":t!==void 0&&t.$$typeof===e?(P="<"+(rt(t.type)||"Unknown")+" />",E=" Did you accidentally export a JSX literal instead of a component?"):P=typeof t,S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",P,E)}var I=Ct(t,u,d,b,w);if(I==null)return I;if(A){var B=u.children;if(B!==void 0)if(p)if(oe(B)){for(var $=0;$<B.length;$++)Wt(B[$],t);Object.freeze&&Object.freeze(B)}else S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Wt(B,t)}if(xt.call(u,"key")){var j=rt(t),D=Object.keys(u).filter(function(J){return J!=="key"}),N=D.length>0?"{key: someKey, "+D.join(": ..., ")+": ...}":"{key: someKey}";if(!de[j+N]){var Q=D.length>0?"{"+D.join(": ..., ")+": ...}":"{}";S(`A props object containing a "key" prop is being spread into JSX:
|
|
26
26
|
let props = %s;
|
|
27
27
|
<%s {...props} />
|
|
28
28
|
React keys must be passed directly to JSX without using spread:
|
|
29
29
|
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,N,j,Q,j),de[j+N]=!0}}return t===i?ze(I):fr(I),I}}function r(t,u,d){return Ne(t,u,d,!0)}function n(t,u,d){return Ne(t,u,d,!1)}var a=n,o=r;qt.Fragment=i,qt.jsx=a,qt.jsxs=o}()),qt}process.env.NODE_ENV==="production"?Ue.exports=qr():Ue.exports=Xr();var Jr=Ue.exports,Kr=Object.defineProperty,Zr=(h,e,s)=>e in h?Kr(h,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):h[e]=s,x=(h,e,s)=>(Zr(h,typeof e!="symbol"?e+"":e,s),s);let pe=(h=21)=>crypto.getRandomValues(new Uint8Array(h)).reduce((e,s)=>(s&=63,s<36?e+=s.toString(36):s<62?e+=(s-26).toString(36).toUpperCase():s>62?e+="-":e+="_",e),"");const Xt={strokeType:"plain",strokeColor:"black",strokeWidth:1,head:"none",tail:"none"},mr={id:0,type:"Feature",properties:{type:"arrow",style:{...Xt}},geometry:{type:"LineString",coordinates:[[0,0],[100,100]]}},Qr=(h=0,e=0,s=0,i=0,l={...Xt})=>({id:pe(),type:"Feature",properties:{type:"arrow",style:{...Xt,...l}},geometry:{type:"LineString",coordinates:[[h,e],[s,i]]}}),tn="http://www.w3.org/2000/svg";function Jt(h){return document.createElementNS(tn,h)}function br(h){return h.geometry.bbox||en(h),h.geometry.bbox}function gt(h){const e=br(h);return{width:e[2]-e[0],height:e[3]-e[1]}}function pt(h){const e=br(h);return{x:e[0],y:e[1]}}function en(h){const[e,s]=h.geometry.coordinates[0][0],[i,l]=h.geometry.coordinates[0][2];h.geometry.bbox=[e,s,i,l]}function rn(h,e,s,i,l){h.geometry.bbox=[e,s,e+i,s+l],h.geometry.coordinates=[[[e,s],[e+i,s],[e+i,s+l],[e,s+l],[e,s]]]}function Kt(h){const[e,s]=h.geometry.coordinates[0];return{x:e,y:s}}function ye(h,e){const[s,i]=h.geometry.coordinates[e==="start"?0:1];return{x:s,y:i}}function ve(h){const[e,s]=h.geometry.coordinates[1];return{x:e,y:s}}function wr(h,e,s){h.geometry.coordinates[0]=[e,s]}function xr(h,e,s){h.geometry.coordinates[1]=[e,s]}function me(h){return{start:Kt(h),end:ve(h)}}function Rt(h,e,s,i){e==="start"?wr(h,s,i):xr(h,s,i)}const Ar=h=>parseInt(h.getAttribute("data-handle-id")||"-1");function nn(h){return Array.isArray(h)&&h.length===2&&h.every(isFinite)}function on(h,e,s,i){for(let l=0;l<h.coordinates.length;l++){const c=h.coordinates[l];if(nn(c))c[0]=s+(c[0]-s)*e,c[1]=i+(c[1]-i)*e;else for(let g=0;g<c.length;g++){const y=c[g];y[0]=s+(y[0]-s)*e,y[1]=i+(y[1]-i)*e}}return h}function be(h,e,s){const i=Math.atan2(h.y-e.y,h.x-e.x);return{x:e.x+s*Math.cos(i),y:e.y+s*Math.sin(i)}}function we(h,e){if(!e)return{x:h.clientX,y:h.clientY};const s=e.getBoundingClientRect();return{x:h.clientX-s.left-e.clientLeft,y:h.clientY-s.top-e.clientTop}}const _t=(h,e)=>({x:h.x-e.x,y:h.y-e.y}),It=h=>Math.sqrt(h.x*h.x+h.y*h.y),Er=h=>({x:-h.x,y:-h.y}),_r=h=>{const e=It(h);return e===0?{x:0,y:0}:{x:h.x/e,y:h.y/e}},Lt=(h,e)=>({x:h.x+e.x,y:h.y+e.y}),kr=(h,e)=>({x:h.x*e,y:h.y*e}),xe=(h,e)=>({x:h.x*e.x,y:h.y*e.y}),st=(h,e)=>{const s=Math.sin(e),i=Math.cos(e);return{x:h.x*i-h.y*s,y:h.x*s+h.y*i}},sn=(h,e)=>({x:h.x/e,y:h.y/e}),Sr=(h,e)=>h.x*e.x+h.y*e.y;function Tr(h,e=5,s=30){var i;const{start:l,end:c}=me(h),g=_t(c,l),y=h.properties.style&&h.properties.style.strokeWidth?(i=h.properties.style)==null?void 0:i.strokeWidth:0;return Math.min(s,Math.max(3*y,It(g)*.1,e))}function Cr(h,e,s,i){const l=kr(Er(_r(e)),i);if(!s||s==="none")return"";const c=Lt(h,st(l,Math.PI/8)),g=Lt(h,st(l,-Math.PI/8)),y=`${h.x} ${h.y}`;return`M ${c.x} ${c.y} L ${y} ${g.x} ${g.y} ${s==="arrow"?"":`${c.x} ${c.y}`}`}function an(h,e,s,i,l){const{start:c,end:g}=me(h),{tail:y,head:f,strokeColor:m,strokeWidth:v}=h.properties.style||s,k=_t(g,c),C=Tr(h,i,l),_=Jt("path");_.setAttribute("data-annotation",`${h.id}`),_.setAttribute("data-annotation-type","arrow");const R=f==="arrow-plain"||y==="arrow";_.setAttribute("stroke",m||"none"),_.setAttribute("stroke-width",`${v}`),_.setAttribute("fill",R?m||"":"none"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-linejoin","round");const T=Cr(c,Er(k),y,C),M=Cr(g,k,f,C),L=T+`M ${c.x} ${c.y} ${g.x} ${g.y}`+M;_.setAttribute("d",L),e.appendChild(_)}const G=-1,Ae="dragging",Ee="dragstart",jt="dragend",We="select",Ve="unselect",ln="hover",un="unhover",Ye="remove",Ge="add",hn="cancelDrawing",qe="update",cn="link";var dn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Or(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Pr={exports:{}};(function(h){var e=Object.prototype.hasOwnProperty,s="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(s=!1));function l(f,m,v){this.fn=f,this.context=m,this.once=v||!1}function c(f,m,v,k,C){if(typeof v!="function")throw new TypeError("The listener must be a function");var _=new l(v,k||f,C),R=s?s+m:m;return f._events[R]?f._events[R].fn?f._events[R]=[f._events[R],_]:f._events[R].push(_):(f._events[R]=_,f._eventsCount++),f}function g(f,m){--f._eventsCount===0?f._events=new i:delete f._events[m]}function y(){this._events=new i,this._eventsCount=0}y.prototype.eventNames=function(){var f=[],m,v;if(this._eventsCount===0)return f;for(v in m=this._events)e.call(m,v)&&f.push(s?v.slice(1):v);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(m)):f},y.prototype.listeners=function(f){var m=s?s+f:f,v=this._events[m];if(!v)return[];if(v.fn)return[v.fn];for(var k=0,C=v.length,_=new Array(C);k<C;k++)_[k]=v[k].fn;return _},y.prototype.listenerCount=function(f){var m=s?s+f:f,v=this._events[m];return v?v.fn?1:v.length:0},y.prototype.emit=function(f,m,v,k,C,_){var R=s?s+f:f;if(!this._events[R])return!1;var T=this._events[R],M=arguments.length,L,S;if(T.fn){switch(T.once&&this.removeListener(f,T.fn,void 0,!0),M){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,m),!0;case 3:return T.fn.call(T.context,m,v),!0;case 4:return T.fn.call(T.context,m,v,k),!0;case 5:return T.fn.call(T.context,m,v,k,C),!0;case 6:return T.fn.call(T.context,m,v,k,C,_),!0}for(S=1,L=new Array(M-1);S<M;S++)L[S-1]=arguments[S];T.fn.apply(T.context,L)}else{var W=T.length,U;for(S=0;S<W;S++)switch(T[S].once&&this.removeListener(f,T[S].fn,void 0,!0),M){case 1:T[S].fn.call(T[S].context);break;case 2:T[S].fn.call(T[S].context,m);break;case 3:T[S].fn.call(T[S].context,m,v);break;case 4:T[S].fn.call(T[S].context,m,v,k);break;default:if(!L)for(U=1,L=new Array(M-1);U<M;U++)L[U-1]=arguments[U];T[S].fn.apply(T[S].context,L)}}return!0},y.prototype.on=function(f,m,v){return c(this,f,m,v,!1)},y.prototype.once=function(f,m,v){return c(this,f,m,v,!0)},y.prototype.removeListener=function(f,m,v,k){var C=s?s+f:f;if(!this._events[C])return this;if(!m)return g(this,C),this;var _=this._events[C];if(_.fn)_.fn===m&&(!k||_.once)&&(!v||_.context===v)&&g(this,C);else{for(var R=0,T=[],M=_.length;R<M;R++)(_[R].fn!==m||k&&!_[R].once||v&&_[R].context!==v)&&T.push(_[R]);T.length?this._events[C]=T.length===1?T[0]:T:g(this,C)}return this},y.prototype.removeAllListeners=function(f){var m;return f?(m=s?s+f:f,this._events[m]&&g(this,m)):(this._events=new i,this._eventsCount=0),this},y.prototype.off=y.prototype.removeListener,y.prototype.addListener=y.prototype.on,y.prefixed=s,y.EventEmitter=y,h.exports=y})(Pr);var fn=Pr.exports;const Rr=Or(fn);class Ir extends Rr{constructor(e,s){super(),x(this,"ogma"),x(this,"elements"),x(this,"layer"),x(this,"editor"),x(this,"selectedId",G),x(this,"hoveredId",G),x(this,"ogmaOptions"),x(this,"shouldDetect"),x(this,"isDragging"),x(this,"showeditorOnHover"),x(this,"_onKeyUp",i=>{i.code===27&&this.selectedId!==G?this.unselect():(i.code===46||i.code===8)&&this.selectedId!==G&&this._canRemove()&&this.remove(this.selectedId)}),x(this,"_onClickMouseMove",i=>{if(!i.domEvent||this.isDragging||!this.shouldDetect||i.domEvent.type!=="mousemove"&&i.domEvent.target&&i.domEvent.target.tagName==="a")return;const l=this.ogma.view.screenToGraphCoordinates(i),c=this.shouldDetect||!this.shouldDetect&&+this.selectedId>-1?this.detect(l,0):void 0;i.domEvent.type==="mousemove"?c?this.hover(c.id):this.hoveredId!==G&&this.unhover():c?this.select(c.id):this.selectedId!==G&&this.unselect()}),this.ogma=e,this.elements=[],this.shouldDetect=!0,this.isDragging=!1,this.showeditorOnHover=!0,this.ogmaOptions=e.getOptions(),e.events.on(["click","mousemove"],this._onClickMouseMove).on("keyup",this._onKeyUp).on("frame",()=>{this.refreshEditor(),this.refreshDrawing()}),this.layer=e.layers.addSVGLayer({draw:i=>this.draw(i)}),this.layer.moveToTop(),this.editor=e.layers.addLayer(s),this.editor.hide()}_canRemove(){return!0}add(e){const s=this.getDefaultOptions(),i=Object.assign(e,{id:e.id===void 0?pe():e.id,type:e.type,properties:{...s.properties,...e.properties||{},style:{...s.properties.style,...e.properties.style||{}}},geometry:{...s.geometry,...e.geometry}});return this.elements.push(i),this.layer.refresh(),this.emit(Ge,i),i}updateStyle(e,s){this.updateAnnotation(e,{properties:{style:s}})}updateGeometry(e,s){this.updateAnnotation(e,{geometry:s})}scale(e,s,i,l){this.updateGeometry(e,on(e.geometry,s,i,l))}update(e,s){const i=this.getById(e);this.updateAnnotation(i,s)}updateAnnotation(e,s){if(!e)return;const i=e.id;Object.keys(s).forEach(l=>{if(l!=="id")if(l==="properties"){const c=s.properties||{style:{}};e.properties={...e.properties||{},...c||{},style:{...e.properties.style||{},...c.style||{}}}}else l==="geometry"?e.geometry={...e.geometry,...s.geometry}:e[l]=s[l]}),i===this.selectedId&&this.refreshEditor(),this.layer.refresh()}getById(e){const s=Number(e);for(let i=0;i<this.elements.length;i++){const l=this.elements[i];if(!(l.id!==e&&l.id!==s))return l}}select(e){const s=this.getById(e);s&&(this.editor.show(),this.selectedId=e,this.refreshEditor(),this.layer.refresh(),this.emit(We,s))}hover(e){const s=this.getById(e);s&&(this.showeditorOnHover&&this.editor.show(),this.hoveredId=e,this.refreshEditor(),this.layer.refresh(),this.emit(ln,s))}getSelectedFeature(){return this.selectedId===G?null:this.getById(this.selectedId)}unselect(){const e=this.getById(this.selectedId);return e&&this.emit(Ve,e),this.selectedId=G,this.hoveredId===G&&this.editor.hide(),this.layer.refresh(),this}unhover(){const e=this.getById(this.hoveredId);return this.emit(un,e),this.hoveredId=G,this.selectedId===G&&this.editor.hide(),this.layer.refresh(),this}remove(e){const s=this.getById(e);e===this.hoveredId&&this.unhover(),e===this.selectedId&&this.unselect(),this.elements=this.elements.filter(i=>i.id!==e),s&&this.emit(Ye,s),this.layer.refresh()}disableDragging(){this.ogma.setOptions({interactions:{drag:{enabled:!1},pan:{enabled:!1}},detect:{nodes:!1,edges:!1,nodeTexts:!1,edgeTexts:!1}})}restoreDragging(){this.ogma.setOptions(this.ogmaOptions)}enableDetection(){this.shouldDetect=!0}disableDetection(){this.shouldDetect=!1}refreshLayer(){this.layer.refresh()}refreshDrawing(){}getElements(){return[...this.elements]}destroy(){this.ogma.events.off(this._onClickMouseMove).off(this._onKeyUp),this.layer.destroy()}}const Lr="handle-line",jr="handle-start",Fr="handle-end";class gn extends Ir{constructor(e,s={}){super(e,`
|
|
30
|
+
<%s key={someKey} {...props} />`,N,j,Q,j),de[j+N]=!0}}return t===i?$e(I):fr(I),I}}function r(t,u,d){return ze(t,u,d,!0)}function n(t,u,d){return ze(t,u,d,!1)}var a=n,o=r;qt.Fragment=i,qt.jsx=a,qt.jsxs=o}()),qt}process.env.NODE_ENV==="production"?He.exports=qr():He.exports=Xr();var Jr=He.exports,Kr=Object.defineProperty,Zr=(h,e,s)=>e in h?Kr(h,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):h[e]=s,x=(h,e,s)=>(Zr(h,typeof e!="symbol"?e+"":e,s),s);let pe=(h=21)=>crypto.getRandomValues(new Uint8Array(h)).reduce((e,s)=>(s&=63,s<36?e+=s.toString(36):s<62?e+=(s-26).toString(36).toUpperCase():s>62?e+="-":e+="_",e),"");const Xt={strokeType:"plain",strokeColor:"black",strokeWidth:1,head:"none",tail:"none"},mr={id:0,type:"Feature",properties:{type:"arrow",style:{...Xt}},geometry:{type:"LineString",coordinates:[[0,0],[100,100]]}},Qr=(h=0,e=0,s=0,i=0,l={...Xt})=>({id:pe(),type:"Feature",properties:{type:"arrow",style:{...Xt,...l}},geometry:{type:"LineString",coordinates:[[h,e],[s,i]]}}),tn="http://www.w3.org/2000/svg";function Jt(h){return document.createElementNS(tn,h)}function br(h){return h.geometry.bbox||en(h),h.geometry.bbox}function gt(h){const e=br(h);return{width:e[2]-e[0],height:e[3]-e[1]}}function pt(h){const e=br(h);return{x:e[0],y:e[1]}}function en(h){const[e,s]=h.geometry.coordinates[0][0],[i,l]=h.geometry.coordinates[0][2];h.geometry.bbox=[e,s,i,l]}function rn(h,e,s,i,l){h.geometry.bbox=[e,s,e+i,s+l],h.geometry.coordinates=[[[e,s],[e+i,s],[e+i,s+l],[e,s+l],[e,s]]]}function Kt(h){const[e,s]=h.geometry.coordinates[0];return{x:e,y:s}}function ye(h,e){const[s,i]=h.geometry.coordinates[e==="start"?0:1];return{x:s,y:i}}function ve(h){const[e,s]=h.geometry.coordinates[1];return{x:e,y:s}}function wr(h,e,s){h.geometry.coordinates[0]=[e,s]}function xr(h,e,s){h.geometry.coordinates[1]=[e,s]}function me(h){return{start:Kt(h),end:ve(h)}}function Rt(h,e,s,i){e==="start"?wr(h,s,i):xr(h,s,i)}const Ar=h=>parseInt(h.getAttribute("data-handle-id")||"-1");function nn(h){return Array.isArray(h)&&h.length===2&&h.every(isFinite)}function on(h,e,s,i){for(let l=0;l<h.coordinates.length;l++){const c=h.coordinates[l];if(nn(c))c[0]=s+(c[0]-s)*e,c[1]=i+(c[1]-i)*e;else for(let g=0;g<c.length;g++){const y=c[g];y[0]=s+(y[0]-s)*e,y[1]=i+(y[1]-i)*e}}return h}function be(h,e,s){const i=Math.atan2(h.y-e.y,h.x-e.x);return{x:e.x+s*Math.cos(i),y:e.y+s*Math.sin(i)}}function Ue(h,e){if(!e)return{x:h.clientX,y:h.clientY};const s=e.getBoundingClientRect();return{x:h.clientX-s.left-e.clientLeft,y:h.clientY-s.top-e.clientTop}}const _t=(h,e)=>({x:h.x-e.x,y:h.y-e.y}),It=h=>Math.sqrt(h.x*h.x+h.y*h.y),Er=h=>({x:-h.x,y:-h.y}),_r=h=>{const e=It(h);return e===0?{x:0,y:0}:{x:h.x/e,y:h.y/e}},Lt=(h,e)=>({x:h.x+e.x,y:h.y+e.y}),kr=(h,e)=>({x:h.x*e,y:h.y*e}),we=(h,e)=>({x:h.x*e.x,y:h.y*e.y}),st=(h,e)=>{const s=Math.sin(e),i=Math.cos(e);return{x:h.x*i-h.y*s,y:h.x*s+h.y*i}},sn=(h,e)=>({x:h.x/e,y:h.y/e}),Sr=(h,e)=>h.x*e.x+h.y*e.y;function Tr(h,e=5,s=30){var i;const{start:l,end:c}=me(h),g=_t(c,l),y=h.properties.style&&h.properties.style.strokeWidth?(i=h.properties.style)==null?void 0:i.strokeWidth:0;return Math.min(s,Math.max(3*y,It(g)*.1,e))}function Cr(h,e,s,i){const l=kr(Er(_r(e)),i);if(!s||s==="none")return"";const c=Lt(h,st(l,Math.PI/8)),g=Lt(h,st(l,-Math.PI/8)),y=`${h.x} ${h.y}`;return`M ${c.x} ${c.y} L ${y} ${g.x} ${g.y} ${s==="arrow"?"":`${c.x} ${c.y}`}`}function an(h,e,s,i,l){const{start:c,end:g}=me(h),{tail:y,head:f,strokeColor:m,strokeWidth:v}=h.properties.style||s,k=_t(g,c),C=Tr(h,i,l),_=Jt("path");_.setAttribute("data-annotation",`${h.id}`),_.setAttribute("data-annotation-type","arrow");const R=f==="arrow-plain"||y==="arrow";_.setAttribute("stroke",m||"none"),_.setAttribute("stroke-width",`${v}`),_.setAttribute("fill",R?m||"":"none"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-linejoin","round");const T=Cr(c,Er(k),y,C),M=Cr(g,k,f,C),L=T+`M ${c.x} ${c.y} ${g.x} ${g.y}`+M;_.setAttribute("d",L),e.appendChild(_)}const G=-1,xe="dragging",Ae="dragstart",jt="dragend",We="select",Ve="unselect",ln="hover",un="unhover",Ye="remove",Ge="add",hn="cancelDrawing",qe="update",cn="link";var dn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Or(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Pr={exports:{}};(function(h){var e=Object.prototype.hasOwnProperty,s="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(s=!1));function l(f,m,v){this.fn=f,this.context=m,this.once=v||!1}function c(f,m,v,k,C){if(typeof v!="function")throw new TypeError("The listener must be a function");var _=new l(v,k||f,C),R=s?s+m:m;return f._events[R]?f._events[R].fn?f._events[R]=[f._events[R],_]:f._events[R].push(_):(f._events[R]=_,f._eventsCount++),f}function g(f,m){--f._eventsCount===0?f._events=new i:delete f._events[m]}function y(){this._events=new i,this._eventsCount=0}y.prototype.eventNames=function(){var f=[],m,v;if(this._eventsCount===0)return f;for(v in m=this._events)e.call(m,v)&&f.push(s?v.slice(1):v);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(m)):f},y.prototype.listeners=function(f){var m=s?s+f:f,v=this._events[m];if(!v)return[];if(v.fn)return[v.fn];for(var k=0,C=v.length,_=new Array(C);k<C;k++)_[k]=v[k].fn;return _},y.prototype.listenerCount=function(f){var m=s?s+f:f,v=this._events[m];return v?v.fn?1:v.length:0},y.prototype.emit=function(f,m,v,k,C,_){var R=s?s+f:f;if(!this._events[R])return!1;var T=this._events[R],M=arguments.length,L,S;if(T.fn){switch(T.once&&this.removeListener(f,T.fn,void 0,!0),M){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,m),!0;case 3:return T.fn.call(T.context,m,v),!0;case 4:return T.fn.call(T.context,m,v,k),!0;case 5:return T.fn.call(T.context,m,v,k,C),!0;case 6:return T.fn.call(T.context,m,v,k,C,_),!0}for(S=1,L=new Array(M-1);S<M;S++)L[S-1]=arguments[S];T.fn.apply(T.context,L)}else{var W=T.length,U;for(S=0;S<W;S++)switch(T[S].once&&this.removeListener(f,T[S].fn,void 0,!0),M){case 1:T[S].fn.call(T[S].context);break;case 2:T[S].fn.call(T[S].context,m);break;case 3:T[S].fn.call(T[S].context,m,v);break;case 4:T[S].fn.call(T[S].context,m,v,k);break;default:if(!L)for(U=1,L=new Array(M-1);U<M;U++)L[U-1]=arguments[U];T[S].fn.apply(T[S].context,L)}}return!0},y.prototype.on=function(f,m,v){return c(this,f,m,v,!1)},y.prototype.once=function(f,m,v){return c(this,f,m,v,!0)},y.prototype.removeListener=function(f,m,v,k){var C=s?s+f:f;if(!this._events[C])return this;if(!m)return g(this,C),this;var _=this._events[C];if(_.fn)_.fn===m&&(!k||_.once)&&(!v||_.context===v)&&g(this,C);else{for(var R=0,T=[],M=_.length;R<M;R++)(_[R].fn!==m||k&&!_[R].once||v&&_[R].context!==v)&&T.push(_[R]);T.length?this._events[C]=T.length===1?T[0]:T:g(this,C)}return this},y.prototype.removeAllListeners=function(f){var m;return f?(m=s?s+f:f,this._events[m]&&g(this,m)):(this._events=new i,this._eventsCount=0),this},y.prototype.off=y.prototype.removeListener,y.prototype.addListener=y.prototype.on,y.prefixed=s,y.EventEmitter=y,h.exports=y})(Pr);var fn=Pr.exports;const Rr=Or(fn);class Ir extends Rr{constructor(e,s){super(),x(this,"ogma"),x(this,"elements"),x(this,"layer"),x(this,"editor"),x(this,"selectedId",G),x(this,"hoveredId",G),x(this,"ogmaOptions"),x(this,"shouldDetect"),x(this,"isDragging"),x(this,"showeditorOnHover"),x(this,"_onKeyUp",i=>{i.code===27&&this.selectedId!==G?this.unselect():(i.code===46||i.code===8)&&this.selectedId!==G&&this._canRemove()&&this.remove(this.selectedId)}),x(this,"_onClickMouseMove",i=>{if(!i.domEvent||this.isDragging||!this.shouldDetect||i.domEvent.type!=="mousemove"&&i.domEvent.target&&i.domEvent.target.tagName==="a")return;const l=this.ogma.view.screenToGraphCoordinates(i),c=this.shouldDetect||!this.shouldDetect&&+this.selectedId>-1?this.detect(l,0):void 0;i.domEvent.type==="mousemove"?c?this.hover(c.id):this.hoveredId!==G&&this.unhover():c?this.select(c.id):this.selectedId!==G&&this.unselect()}),this.ogma=e,this.elements=[],this.shouldDetect=!0,this.isDragging=!1,this.showeditorOnHover=!0,this.ogmaOptions=e.getOptions(),e.events.on(["click","mousemove"],this._onClickMouseMove).on("keyup",this._onKeyUp).on("frame",()=>{this.refreshEditor(),this.refreshDrawing()}),this.layer=e.layers.addSVGLayer({draw:i=>this.draw(i)}),this.layer.moveToTop(),this.editor=e.layers.addLayer(s),this.editor.hide()}_canRemove(){return!0}add(e){const s=this.getDefaultOptions(),i=Object.assign(e,{id:e.id===void 0?pe():e.id,type:e.type,properties:{...s.properties,...e.properties||{},style:{...s.properties.style,...e.properties.style||{}}},geometry:{...s.geometry,...e.geometry}});return this.elements.push(i),this.layer.refresh(),this.emit(Ge,i),i}updateStyle(e,s){this.updateAnnotation(e,{properties:{style:s}})}updateGeometry(e,s){this.updateAnnotation(e,{geometry:s})}scale(e,s,i,l){this.updateGeometry(e,on(e.geometry,s,i,l))}update(e,s){const i=this.getById(e);this.updateAnnotation(i,s)}updateAnnotation(e,s){if(!e)return;const i=e.id;Object.keys(s).forEach(l=>{if(l!=="id")if(l==="properties"){const c=s.properties||{style:{}};e.properties={...e.properties||{},...c||{},style:{...e.properties.style||{},...c.style||{}}}}else l==="geometry"?e.geometry={...e.geometry,...s.geometry}:e[l]=s[l]}),i===this.selectedId&&this.refreshEditor(),this.layer.refresh()}getById(e){const s=Number(e);for(let i=0;i<this.elements.length;i++){const l=this.elements[i];if(!(l.id!==e&&l.id!==s))return l}}select(e){const s=this.getById(e);s&&(this.editor.show(),this.selectedId=e,this.refreshEditor(),this.layer.refresh(),this.emit(We,s))}hover(e){const s=this.getById(e);s&&(this.showeditorOnHover&&this.editor.show(),this.hoveredId=e,this.refreshEditor(),this.layer.refresh(),this.emit(ln,s))}getSelectedFeature(){return this.selectedId===G?null:this.getById(this.selectedId)}unselect(){const e=this.getById(this.selectedId);return e&&this.emit(Ve,e),this.selectedId=G,this.hoveredId===G&&this.editor.hide(),this.layer.refresh(),this}unhover(){const e=this.getById(this.hoveredId);return this.emit(un,e),this.hoveredId=G,this.selectedId===G&&this.editor.hide(),this.layer.refresh(),this}remove(e){const s=this.getById(e);e===this.hoveredId&&this.unhover(),e===this.selectedId&&this.unselect(),this.elements=this.elements.filter(i=>i.id!==e),s&&this.emit(Ye,s),this.layer.refresh()}disableDragging(){this.ogma.setOptions({interactions:{drag:{enabled:!1},pan:{enabled:!1}},detect:{nodes:!1,edges:!1,nodeTexts:!1,edgeTexts:!1}})}restoreDragging(){this.ogma.setOptions(this.ogmaOptions)}enableDetection(){this.shouldDetect=!0}disableDetection(){this.shouldDetect=!1}refreshLayer(){this.layer.refresh()}refreshDrawing(){}getElements(){return[...this.elements]}destroy(){this.ogma.events.off(this._onClickMouseMove).off(this._onKeyUp),this.layer.destroy()}}const Lr="handle-line",jr="handle-start",Fr="handle-end";class gn extends Ir{constructor(e,s={}){super(e,`
|
|
31
31
|
<div class="arrow-handle">
|
|
32
32
|
<div id="${Lr}" data-handle-id="0" class="handle line"></div>
|
|
33
33
|
<div id="${jr}" data-handle-id="1" class="handle point"></div>
|
|
34
34
|
<div id="${Fr}" data-handle-id="2" class="handle point"></div>
|
|
35
35
|
</div>
|
|
36
|
-
`),x(this,"draggedHandle",G),x(this,"start",{x:0,y:0}),x(this,"end",{x:0,y:0}),x(this,"arrow",{...mr}),x(this,"startX",0),x(this,"startY",0),x(this,"minArrowHeight",0),x(this,"maxArrowHeight",0),x(this,"handles",[]),x(this,"onHandleMouseDown",i=>{const l=this.getById(this.selectedId)||this.getById(this.hoveredId);if(!l)return;const{x:c,y:g}=we(i,this.ogma.getContainer());this.startDragging(l,c,g),this.draggedHandle=Ar(i.target)}),x(this,"onMouseUp",()=>{this.draggedHandle!==-1&&(this.restoreDragging(),this.isDragging=!1,this.draggedHandle=G,this.emit(jt,this.arrow))}),x(this,"onMouseMove",i=>{if(!this.isDragging||this.draggedHandle===G)return;const l=this.handles[this.draggedHandle],c=this.ogma.view.getAngle(),g=we(i,this.ogma.getContainer()),{x:y,y:f}=st(sn({x:g.x-this.startX,y:g.y-this.startY},this.ogma.view.getZoom()),c),m=l.id===Lr,v=l.id===jr,k=l.id===Fr;(m||v)&&wr(this.arrow,this.start.x+y,this.start.y+f),(m||k)&&xr(this.arrow,this.end.x+y,this.end.y+f),this.emit(Ae,this.arrow,m?"line":v?"start":"end"),this.refreshEditor(),this.layer.refresh()}),this.minArrowHeight=s.minArrowHeight||0,this.maxArrowHeight=s.maxArrowHeight||1e6,this.handles=Array.prototype.slice.call(this.editor.element.querySelectorAll(".arrow-handle>.handle")),this.handles.forEach(i=>i.addEventListener("mousedown",this.onHandleMouseDown)),document.addEventListener("mousemove",this.onMouseMove,!0),document.addEventListener("mouseup",this.onMouseUp)}startDrawing(e,s,i=Qr(e,s,e,s,Xt)){var l;this.disableDragging(),this.add(i),this.hoveredId=i.id;const c=this.ogma.view.graphToScreenCoordinates({x:e,y:s}),g=((l=this.ogma.getContainer())==null?void 0:l.getBoundingClientRect())||{left:0,top:0};this.startDragging(this.getById(i.id),c.x+(g==null?void 0:g.left),c.y+g.top),this.draggedHandle=2}cancelDrawing(){this.isDragging&&(this.remove(this.arrow.id),this.emit(jt,this.arrow),this.restoreDragging(),this.isDragging=!1,this.draggedHandle=G)}startDragging(e,s,i){this.selectedId!==e.id&&this.select(this.hoveredId),this.arrow=e,this.startX=s,this.startY=i,this.start=Kt(this.arrow),this.end=ve(this.arrow),this.disableDragging(),this.emit(Ee,this.arrow),this.isDragging=!0}detect(e,s=0){return this.elements.find(i=>{const{start:l,end:c}=me(i),g=_t(e,{x:(l.x+c.x)/2,y:(l.y+c.y)/2}),y=_t(c,l),f=It(y),m=_r(y),v=Tr(i);return Math.abs(Sr(m,g))<f/2+s&&Math.abs(Sr(st(m,Math.PI/2),g))<v/2+s})}refreshEditor(){if(+this.selectedId<0&&+this.hoveredId<0)return;const e=this.selectedId!==G?this.getById(this.selectedId):this.getById(this.hoveredId),s=me(e),i=this.ogma.view.graphToScreenCoordinates(s.start),l=this.ogma.view.graphToScreenCoordinates(s.end),[c,g,y]=Array.prototype.slice.call(this.editor.element.querySelectorAll(".handle"));g.style.transform=`translate(${i.x}px, ${i.y}px) translate(-50%, -50%)`,y.style.transform=`translate(${l.x}px, ${l.y}px) translate(-50%, -50%)`;const f={x:(l.x+i.x)/2,y:(l.y+i.y)/2},m=_t(l,i),v=kr(m,1/It(m)),k=Math.atan2(v.y,v.x);c.style.width=`${It(m)}px`,c.style.left=`${f.x}px`,c.style.top=`${f.y}px`,c.style.transform=`translate(-50%, -50%) rotate(${k}rad)`}getDefaultOptions(){return mr}draw(e){e.innerHTML="";const s=Jt("g"),i=this.ogma.view.getAngle();s.setAttribute("transform",`rotate(${-i*(180/Math.PI)})`),this.elements.forEach(l=>an(l,s,Xt,this.minArrowHeight,this.maxArrowHeight)),e.appendChild(s)}refreshDrawing(){const e=this.ogma.view.getAngle();this.layer.element!==null&&this.layer.element.children[0].setAttribute("transform",`rotate(${-e*(180/Math.PI)})`)}destroy(){super.destroy(),document.removeEventListener("mousemove",this.onMouseMove,!0),document.removeEventListener("mouseup",this.onMouseUp)}}const Ft={font:"sans-serif",fontSize:12,color:"black",background:"",strokeWidth:1,strokeColor:"#000",strokeType:"plain"},Xe={id:0,type:"Feature",properties:{type:"text",content:"",style:{...Ft}},geometry:{type:"Polygon",coordinates:[[[0,0],[100,0],[100,50],[0,50],[0,0]]]}},Dr={handleSize:3.5,placeholder:"Your text..."},pn=(h=0,e=0,s=100,i=50,l="",c={...Ft})=>({id:pe(),type:"Feature",properties:{type:"text",content:l,style:{...Ft,...c}},geometry:{type:"Polygon",coordinates:[[[h,e],[h+s,e],[h+s,e+i],[h,e+i],[h,e]]]}});var Mr={exports:{}};(function(h,e){(function(s,i){h.exports=i()})(dn,()=>(()=>{var s={d:(r,n)=>{for(var a in n)s.o(n,a)&&!s.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:n[a]})},o:(r,n)=>Object.prototype.hasOwnProperty.call(r,n)},i={};function l(r){return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},l(r)}s.d(i,{default:()=>Ne});var c=/^((?:[a-z\d-]+\s+)*)([\d.]+(%|em|px)|(?:x+-)?large|(?:x+-)?small|medium)(?:\s*\/\s*(normal|[\d.]+(%|px|em)?))?(\s.+)?$/,g=/\bsmall-caps\b/,y=/\b(?:italic|oblique)\b/,f=/\bbold(?:er)?\b/,m=13.3333333,v={"xx-small":9,"x-small":10,smaller:13.3333,small:13,medium:16,large:18,larger:19.2,"x-large":24,"xx-large":32};function k(r){var n="",a=this;return a.style&&a.style!=="normal"&&(n+=a.style),a.variant&&a.variant!=="normal"&&(n+=(n?" ":"")+a.variant),a.weight&&a.weight!=="normal"&&(n+=(n?" ":"")+a.weight),a.size&&(n+=(n?" ":"")+a.size+"px",a.height!==a.size&&(n+="/"+a.height+"px")),a.family&&(n+=(n?" ":"")+a.family),r&&(n+="::"+a.baseline),r&&(n+="::"+a.color),n}var C={id:"",family:"sans-serif",height:14,size:12,variant:"",style:"",weight:"",baseline:"",color:null,toString:k,valueOf:k};function _(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=c.exec(r);n.family=(a[6]||"").trim();var o=v[a[2]]||parseFloat(a[2]);a[3]==="%"?o*=.16:a[3]==="em"?o*=16:a[3]==="pt"&&(o*=m),n.size=o;var t=parseFloat(a[4]);if(t!=="normal"&&t!=="inherit"&&t?a[5]&&a[5]!=="em"?a[5]==="pt"?n.height=t*m:a[5]==="%"?n.height=.01*o:n.height=t:n.height=t*o:n.height=Math.round(o*(7/6)),g.test(a[1])&&(n.variant="small-caps"),y.test(a[1])&&(n.style="italic"),f.test(a[1]))n.weight="bold";else{var u=parseInt(/\b(\d+)\b/.exec(a[1]),10);u>=100&&u!==400&&(n.weight=u)}return n}function R(){var r,n,a,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"12px/14px sans-serif",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=14,d=12,p=null,b=null,w="";if(o&&o.nodeType){var A=o&&(o.ownerDocument&&o.ownerDocument.defaultView||o.document&&o||o.defaultView),E=A.getComputedStyle(o,null);r=E.getPropertyValue("font-family")||"",d=parseFloat(E.getPropertyValue("font-size")),u=E.getPropertyValue("line-height"),p=E.getPropertyValue("font-weight"),b=E.getPropertyValue("font-style"),w=E.getPropertyValue("font-variant")||""}else if(typeof o=="string"){var O=_(o);r=O.family,d=O.size,u=O.height,w=O.variant,b=O.style,p=O.weight}else l(o)==="object"&&(r=o.family,d=o.size,u=o.height,w=o.variant,p=o.weight,b=o.style,n=o.baseline,a=o.color);t.size&&t.size<3&&(d*=t.size),u=u!=="normal"&&u?parseFloat(u):d*(7/6),t.height&&t.height<3&&(u*=t.height);var P=Object.create(C);return P.family=t.family||r||"sans-serif",P.height=u??14,P.size=d??12,P.variant=t.variant||w||"",P.style=t.style||b||"",P.weight=t.weight||p||"",P.baseline=n||0,t.baseline!=null&&(P.baseline=t.baseline),P.color=t.color||a||"",P.id=k.call(P,!0),P}const T={"\n":.28,"\r":.28," ":.28," ":.28," ":.28,"":0," ":.5," ":1," ":.5," ":1," ":.33," ":.25," ":.16," ":.56," ":.28," ":.2," ":.15,"":0," ":.16," ":.22," ":1,"\uFEFF":0};var M,L=function(r){var n=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(100,100)||r&&r.createElement("canvas");if(n&&n.getContext){var a=n.getContext("2d");if(a&&typeof a.measureText=="function")return function(o,t){return a.font=String(t),a.measureText(o).width}}}(typeof document<"u"?document:null)||(M={},function(r,n){if(!M[n]){var a=R(n);M[n]=a,/\bmonospace\b/.test(a.family)?a.size*=.6:(a.size*=.45,a.weight&&(a.size*=1.18))}return r.length*M[n].size}),S={},W={trim:!0,collapse:!0};function U(r,n,a){var o=Object.assign({},W,a),t=String(r);if(!t)return 0;if(t in T){var u=n.id+"/"+t;return u in S||(S[u]=L("_".concat(t,"_"),n)-L("__",n)),S[u]}return o.trim&&o.collapse?o.trim?t=t.trim():o.collapse&&(t=t.replace(/\s+/g," ")):t=t.replace(/\n/g," "),L(t,n)+n.size*(r.tracking||0)}function lt(r){return lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},lt(r)}function kt(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),n&&Zt(r,n)}function Zt(r,n){return Zt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,o){return a.__proto__=o,a},Zt(r,n)}function Qt(r){var n=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var a,o=Dt(r);if(n){var t=Dt(this).constructor;a=Reflect.construct(o,arguments,t)}else a=o.apply(this,arguments);return _e(this,a)}}function _e(r,n){if(n&&(lt(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(r)}function Dt(r){return Dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dt(r)}function Mt(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function ke(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(lt(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(lt(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),lt(t)==="symbol"?t:String(t)),o)}var t}function rt(r,n,a){return n&&ke(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r}var z=function(){function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";Mt(this,r),this.value=n,this.weight=null,this.style=null,this.font=null,this.href=null,this.sub=!1,this.sup=!1}return rt(r,[{key:"clone",value:function(){var n=new r(this.value);return n.value=this.value,n.weight=this.weight,n.style=this.style,n.font=this.font,n.href=this.href,n.sub=this.sub,n.sup=this.sup,n}},{key:"valueOf",value:function(){return this.value}},{key:"toString",value:function(){return this.value}}]),r}(),ht=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),K=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),ct=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),$t=/^[\n\r\t\x20\xA0\u2000-\u200B\u205F\u3000]/,Se=/^[^\n\r\t\u0020\u2000-\u200B\u205F\u3000]{2,}/,te=/^[\xA0\u2011\u202F\u2060\uFEFF]/,Te=/^(?:[;\xAD%?…]|,(?!\d))/,Ce=/^[´±°¢£¤$¥\u2212]/;function St(r,n){n!==!1&&(r=r.trim());for(var a,o,t=[],u=r.charAt(0),d=0,p=1,b=r.length;p<b;p++){a=r.charAt(p),o=r.charAt(p+1);var w=$t.test(u),A=$t.test(a),E=A||w,O=void 0;if((Ce.test(a)&&!te.test(u)||Te.test(u+o)&&!te.test(a))&&(E=!0),u!=="-"&&u!=="‐"&&u!=="–"&&u!=="—"||((O=$t.test(r.charAt(p-2)))&&!A&&(E=!1),!O&&Se.test(a+o)&&(E=!0)),E){var P=r.slice(d,p);/\u00AD$/.test(P)?(t.push(new z(P.slice(0,-1))),t.push(new ct)):(t.push(new z(P)),t.push(new ht)),d=p}u=a}return t.push(new z(r.slice(d))),t}const Oe={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"⊥",or:"⊦",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›"};var rr=/^[\n\r\x20\u2000-\u200B\u205F\u3000]/,ee=/^<\/([a-zA-Z0-9]+)([^>]*)>/,re=/^<([a-zA-Z0-9]+)((?:\s[^=\s/]+(?:\s*=\s*(?:"[^"]+"|'[^']+'|[^>\\s]+))?)+)?\s*(\/?)>(\n*)/,zt=/^<!--(.+?)-->/,ne=/&(?:#(\d\d{2,})|#x([\da-fA-F]{2,})|([a-zA-Z][a-zA-Z1-4]{1,8}));/g,Tt={b:function(r){r.weight="bold"},strong:function(r){r.weight="bold"},i:function(r){r.style="italic"},em:function(r){r.style="italic"},dfn:function(r){r.style="italic"},cite:function(r){r.style="italic"},code:function(r){r.family="monospace"},kbd:function(r){r.family="monospace"},samp:function(r){r.family="monospace"},var:function(r){r.family="monospace"},tt:function(r){r.family="monospace"},sub:function(r){r.sub=!0},sup:function(r){r.sup=!0}},nr={div:1,li:1,blockquote:2,h1:2,h2:2,h3:2,h4:2,h5:2,h6:2,ul:2,ol:2,hr:2,p:2};function ie(r){return r.replace(ne,function(n,a,o,t){if(a||o){var u=a?10:16;return String.fromCharCode(parseInt(a||o,u))}return t in Oe?Oe[t]:n})}function ir(r){return r&&r.length>1&&(r[0]==='"'&&r[r.length-1]==='"'||r[0]==="'"&&r[r.length-1]==="'")?r.slice(1,-1):r}var or=/^\s*([^=\s&]+)(?:\s*=\s*("[^"]+"|'[^']+'|[^>\s]+))?/;function Nt(r){var n,a={};if(r){do if(n=or.exec(r)){var o=ie(ir(n[2]||"")).replace(/[ \r\n\t]+/g," ").trim();if(a[n[1]]=o,(r=r.slice(n[0].length)).length&&/^\S/.test(r[0]))throw new Error("Attribute error")}while(n&&r.length);if(/\S/.test(r))throw new Error("Attribute error")}return a}const xt={copyright:"©",textcopyright:"©",dag:"†",textdagger:"†",ddag:"‡",textdaggerdbl:"‡",guillemotleft:"«",guillemotright:"»",guilsinglleft:"‹",guilsinglright:"›",ldots:"…",dots:"…",textellipsis:"…",lq:"‘",P:"¶",textparagraph:"¶",pounds:"£",textsterling:"£",quotedblbase:"„",quotesinglbase:"‚",rq:"’",S:"§",sim:"~",textasciicircum:"^",textasciitilde:"˜",texttildelow:"~",textasteriskcentered:"*",textbackslash:"'",textbar:"|",textbardbl:"╎",textbigcircle:"◯",textbraceleft:"{",textbraceright:"}",textbullet:"•",textdollar:"$",textemdash:"—",textendash:"—",texteuro:"€",eurosym:"€",euro:"€",textexclamdown:"¡",textgreater:">",textless:"<",textordfeminine:"ª",textordmasculine:"º",textperiodcentered:"·",cdot:"·",textquestiondown:"¿",textquotedblleft:"“",textquotedblright:"”",textquoteleft:"‘",textquoteright:"’",textquotestraightbase:"‚",textquotestraightdblbase:"„",textregistered:"®",textthreequartersemdash:"-",texttrademark:"™",texttwelveudash:"-",textunderscore:"_",textvisiblespace:"␣",gets:"←",textleftarrow:"←",to:"→",textrightarrow:"→",textdegree:"°",infty:"∞",triangle:"△",triangledown:"▽",blacktriangle:"▲",blacktriangledown:"▼",angle:"∠",sphericalangle:"∢",aleph:"ℵ",hbar:"ħ",imath:"𝚤",jmath:"𝚥",ell:"ℓ",wp:"℘",Re:"ℜ",Im:"ℑ",mho:"℧",prime:"′",emptyset:"∅",nabla:"∇",surd:"√",partial:"∂",top:"⟙",bot:"⟂",vdash:"⟝",dashv:"⟞",forall:"∀",exists:"∃",nexists:"∄",neg:"¬",lnot:"¬",flat:"♭",natural:"♮",sharp:"♯",backslash:"\\",Box:"□",Diamond:"♢",clubsuit:"♣",diamondsuit:"♦",heartsuit:"♥",spadesuit:"♠",Join:"⨝",blacksquare:"■",bigstar:"★",diagdown:"╲",diagup:"╱",blacklozenge:"⧫",rfloor:"⌋",lfloor:"⌊",rceil:"⌉",lceil:"⌈",rangle:"⟩",langle:"⟨",sum:"∑",int:"∫",oint:"∮",prod:"∏",coprod:"∏",bigcap:"∩",bigcup:"∪",bigsqcup:"⊔",bigvee:"∨",bigwedge:"∧",bigodot:"⊙",bigotimes:"⊗",bigoplus:"⊕",biguplus:"⊎",alpha:"α",beta:"β",chi:"χ",delta:"δ",epsilon:"ε",eta:"η",gamma:"γ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",omega:"ω",phi:"φ",pi:"π",psi:"ψ",rho:"ρ",sigma:"σ",tau:"τ",theta:"θ",upsilon:"υ",xi:"ξ",zeta:"ζ",Alpha:"Α",Beta:"Β",Chi:"Χ",Delta:"Δ",Epsilon:"Ε",Eta:"Η",Gamma:"Γ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Omega:"Ω",Phi:"Φ",Pi:"Π",Psi:"Ψ",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Theta:"Θ",Upsilon:"Υ",Xi:"Ξ",Zeta:"Ζ",aa:"å",AA:"Å",ae:"æ",AE:"Æ",dh:"ð",DH:"Ð",dj:"đ",DJ:"Đ",ij:"ij",IJ:"IJ",l:"ł",L:"Ł",ng:"ŋ",NG:"Ŋ",o:"ø",O:"Ø",oe:"œ",OE:"Œ",ss:"ß",SS:"SS",th:"þ",TH:"Þ"};var Pe=/^(\^|_|\\[^#$%&~_^\\{}()\s]+)(\{)?/,Re=/^%[^\n]+(?:\n|$)/,Bt=/^[^#$%&~_^\\{}]+/,sr=/^\\([&{}$%#_])/,ar=/(?:\\[\\@,!:;-]|-{2,3}|[!?]`|``?|,,|''?|~|<<|>>)/g,oe={"---":"—","--":"–","!`":"¡","?`":"¿","``":"“",",,":"„","''":"”","`":"‘","'":"’","<<":"«",">>":"»","~":" ","\\-":"","\\,":" ","\\;":" ","\\:":" ","\\!":" ","\\@":"\uFEFF","\\\\":"\\newline{}"},V={bf:function(r){r.weight="bold"},it:function(r){r.style="italic"},sl:function(r){r.style="italic"},color:function(r,n){r.color=n},href:function(r,n){r.href=n},"^":function(r){r.sup=!0},_:function(r){r.sub=!0},par:function(r){this.tokens.push(new K,new K)},newline:function(r){this.tokens.push(new K)},url:function(r,n){this.open_context().href=n,this.add_token(new z(n)),this.close_context()}};V.textsuperscript=V["^"],V.textsubscript=V._,V.textsl=V.sl,V.mathbf=V.bf,V.mathit=V.it,V.textbf=V.bf,V.textit=V.it,V.textcolor=V.color;var lr=/[\r\n\xA0]+/g;function Ie(r,n){r.sup&&(r.baseline=.45,r.size=.7),r.sub&&(r.baseline=-.3,r.size=.7);var a=n;return(r.style||r.weight||r.baseline||r.color||r.size||r.family)&&(a=R(n,r)),a}function se(r,n,a){for(var o,t,u=r.width;u+a.width>n&&r.length;)t=(o=r[r.length-1]).width,o.width>a.width?(o.value=o.value.slice(0,-1),o.width=U(o,o.font),u+=o.width):r.pop(),u-=t;r[r.length-1]instanceof ct&&r.pop(),o=r[r.length-1]||o||{},a.font=R(a.font,o.bold,o.italic,""),a.href=r.length?o.href:null,a.rel=r.length?o.rel:null,a.target=r.length?o.target:null,r.push(a)}function ut(r){return Math.round(1e6*r)/1e6}function Le(r){return function(n){if(Array.isArray(n))return Ht(n)}(r)||function(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}(r)||function(n,a){if(n){if(typeof n=="string")return Ht(n,a);var o=Object.prototype.toString.call(n).slice(8,-1);return o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set"?Array.from(n):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Ht(n,a):void 0}}(r)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
37
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Ht(r,n){(n==null||n>r.length)&&(n=r.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=r[a];return o}var je={center:"middle",right:"end"},ae={middle:.5,center:.5,bottom:1,end:1},le=function(r,n){return!r&&!n||r===n};function ur(r,n){var a=[],o=n.font(),t=o.size,u=o.family,d=n.align(),p=n.createElement();if(r.length){var b=o.height,w=n.valign(),A=n.height()(),E=n.width()(0),O=!isFinite(E)&&r.length===1,P=O?null:n.x(),I=ut(b/t),B=O?null:ut(b/(1.15*t+(b-t)/2));if(ae[w]&&isFinite(A)){var $=w==="bottom"?1:.5;B+=(A*$-b*r.length*$)/t}var j=d==="justify",D=0;d==="right"?D=E:d==="center"&&(D=E/2);for(var N=[],Q="tspan",J=null,Y="",F=function(){if(Y){var Ot=p(Q,J,Y);N.push(Ot)}Q="tspan",J=null,Y=""},ot=0,it=r.length;ot<it;ot++){var mt="",At="",ft=0,bt=r[ot];if(bt.length){N=[];for(var Vt=0,fe=0,wt=void 0,tt=0,Be=bt.length;tt<Be;tt++){var q=bt[tt],et=q.font;q.whitespace&&Vt++,fe+=q.width,tt&&!q.tracking&&!ft&&le(et.id,mt)&&le(q.class,At)&&le(wt,q.href)?Y+=q.value:(F(),Y=q.value,J={fontFamily:et.family!==u?et.family:null,fontSize:et.size!==t?et.size:null,fontWeight:et.weight||null,fontStyle:et.style||null,fontVariant:et.variant!=="normal"&&et.variant||null,fill:et.color||null,baselineShift:et.baseline?100*et.baseline+"%":null,className:q.class||null},ft&&(J.dx=ut(ft),ft=0),q.tracking&&(ft=et.size*q.tracking),q.href&&!wt?(wt=q.href,Q="a",J.href=wt,J.rel=q.rel,J.target=q.target):wt=null,mt=et.id,At=q.class)}if(F(),O)a.push.apply(a,Le(N));else{var He=null,ge=ot===it-1||bt[bt.length-1]instanceof K;j&&bt.length>1&&!ge&&(He=ut((E-fe)/Vt)),a.push(p.apply(void 0,["tspan",{wordSpacing:He,x:P(ot)+D,dy:ut(ot?I:B)+"em"}].concat(Le(N))))}}else a.push(p("tspan",{x:P(ot),dy:ut(ot?I:B)+"em"}," "))}}return p.apply(void 0,["text",{fontFamily:u,fontSize:t,textAnchor:je[d]||"start"}].concat(a))}var hr={middle:.5,center:.5,bottom:1,end:1};function cr(r,n,a){if(r.length){a.textBaseline="middle";var o=n.font(),t=o.height,u=o.size,d=n.valign(),p=n.height()(),b=n.width()(0),w=n.align(),A=w==="justify",E=.5*t,O=hr[d];if(O&&isFinite(p)){var P=r.length*t;E+=p*O-P*O}r.forEach(function(I,B){var $=n.x()(B),j=B*t+E,D=0,N=0;I.forEach(function(Y){Y.whitespace&&D++,N+=Y.width});var Q=0,J=B===r.length-1||I[I.length-1]instanceof K;A&&I.length>1&&!J&&(Q=(b-N)/D),I.forEach(function(Y){a.font=Y.font;var F=Y.font,ot=F.baseline?u*-F.baseline+.15*u:0;a.fillStyle=function(At,ft){return At.color?At.color:ft.href?"#00C":"#000"}(F,Y);var it=0;if(w==="right"?it+=b-N:w==="center"?it+=b/2-N/2:w==="justify"&&(Y.whitespace||Y instanceof K)&&($+=Q),a.fillText(Y.value,$+it,j+ot),Y.href){a.beginPath(),a.strokeStyle=a.fillStyle;var mt=Math.floor(j+.45*u)+.5;a.moveTo($+it,mt),a.lineTo($+it+Y.width,mt),a.stroke()}$+=Y.width})})}}function ue(r){return ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ue(r)}function Fe(r){for(var n={},a=0;a<r.length;a++){var o=r[a];typeof o!="number"&&o!=null&&(typeof o=="string"?n.text=o:typeof o=="function"?n.fn=o:ue(o)==="object"&&o._groups?n.d3=o:o&&o.nodeType&&o.getContext?n.ctx=o.getContext("2d"):o&&o.fillText&&o.beginPath?n.ctx=o:o&&(n.text=o))}return n}function Ct(r){return Ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ct(r)}function he(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(Ct(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(Ct(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),Ct(t)==="symbol"?t:String(t)),o)}var t}var De=R(),dt=function(r){return typeof r=="function"?r:function(){return r}},Z=function(){function r(o){if(function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,r),this.props={overflow:"ellipsis",lineclamp:null,align:"left",wordBreak:null,valign:"top",width:function(){return 1/0},height:function(){return 1/0},x:function(){return 0},font:null,tAnchor:0,parser:r.defaultparser},o)for(var t in o)typeof this[t]=="function"&&this[t](o[t])}var n,a;return n=r,a=[{key:"linebreak",value:function(o){var t=this,u=this.props.parser(String(o)),d=this.font(),p=function(b,w,A){if(!b.length)return[];var E=w.height(),O=w.width(),P=w.overflowLine(),I=w.overflowWrap(),B=R(A,!0,!1),$=isFinite(E())?Math.floor(E()/A.height):1/0;if(!E()&&!O(0)||!$)return[];for(var j=0,D=0,N=0,Q=[],J=[],Y=!1;j<b.length&&D<$;){var F=b[j],ot=Ie(F,A);if(F.width=U(F,ot),F.font=ot,F.line=D,F.whitespace=F.value in T,F.value&&(F.value=F.value.replace(lr," ")),!(!N&&F.whitespace||Y&&F.whitespace))if(F instanceof K)N=0,J=[],Q.push(j+1),D++;else if(F instanceof ht||F instanceof ct)J.push({index:j,width:N});else if(F.whitespace||N+F.width<O(D))N+=F.width;else if(J.length){var it=void 0,mt=void 0;do{mt=!0,it=J.pop();var At=b[it.index],ft=void 0;At instanceof ct&&(ft=U("-",At.font),it.width+ft>O(D)&&(mt=!J.length))}while(!mt);Q.push(it.index+1),N=0,D++,j=it.index,J=[]}else if(I==="break-word"){var bt=O(D);if(N+F.width>bt){var Vt=F.clone();do F.value=F.value.slice(0,-1),F.width=U(F,F.font),N+=F.width;while(F.value&&F.width>bt);Vt.value=Vt.value.slice(F.value.length),b.splice(j+1,0,new ht,Vt)}Q.push(j+1),N=0,D++}else N+=F.width;j++,Y=F.whitespace}j!==Q[Q.length-1]&&Q.push(j);var fe=0,wt=0,tt=Q.map(function(Ot){for(var nt,Pt=fe;(nt=b[Pt])&&(nt.whitespace||!nt.value);)Pt++;for(var Et=Ot,gr=null;Et>Pt&&(nt=b[Et-1])&&(nt.whitespace||!(nt.value||nt instanceof ct));)nt instanceof K&&(gr=nt),Et--;nt instanceof ct&&(nt.value="-",nt.width=U("-",nt.font)),fe=Ot;var Yt=b.slice(Pt,Et).filter(function(pr){return pr.value});return gr&&Yt.push(gr),Yt.width=Yt.reduce(function(pr,Pn){return pr+Pn.width},0),Yt.width>wt&&(wt=Yt.width),Yt});if(tt.hasLineOverflow=!1,P){var Be=P==="ellipsis"?"…":P;tt.forEach(function(Ot,nt){var Pt=O(nt);if(Ot.width>Pt){var Et=new z(Be);Et.font=A,Et.width=U(Be,B),se(Ot,Pt,Et),tt.hasLineOverflow=!0}})}var q=w.overflow()==="ellipsis"?"…":w.overflow();if(q&&j!==b.length){var et=O(tt.length-1),He=tt[tt.length-1],ge=new z(q);ge.font=A,ge.width=U(q,B),se(He,et,ge),tt.hasOverflow=!0}else tt.hasOverflow=!1;return tt.font=A,tt.width=wt,tt}(u,this,d);return p.height=p.length*d.height,p.render=function(b){return t.render(p,b)},p.svg=p.render,p.draw=p.render,p}},{key:"font",value:function(o){return arguments.length?(this.props.font=R(o),this):this.props.font||R(De)}},{key:"overflow",value:function(o){return arguments.length?(this.props.overflow=String(o),this):this.props.overflow}},{key:"overflowLine",value:function(o){return arguments.length?(this.props.lineclamp=String(o),this):this.props.lineclamp}},{key:"valign",value:function(o){return arguments.length?(this.props.valign=o,this):this.props.valign}},{key:"align",value:function(o){if(!arguments.length)return this.props.align;var t=String(o).toLowerCase();return t==="left"||t==="start"?(this.props.align="left",this.props.tAnchor=0):t==="center"||t==="middle"?(this.props.align="center",this.props.tAnchor=-.5):t==="end"||t==="right"?(this.props.align="right",this.props.tAnchor=-1):t==="justify"&&(this.props.align=o,this.props.tAnchor=0),this}},{key:"overflowWrap",value:function(o){if(!arguments.length)return this.props.overflowWrap||"normal";var t=String(o).toLowerCase();return t==="break-word"?this.props.overflowWrap="break-word":t!=="normal"&&o!=null||(this.props.overflowWrap=null),this}},{key:"width",value:function(o){return arguments.length?(this.props.width=dt(o),this):this.props.width}},{key:"height",value:function(o){return arguments.length?(this.props.height=dt(o),this):this.props.height}},{key:"x",value:function(o){return arguments.length?(this.props.x=dt(o),this):this.props.x}},{key:"parser",value:function(o){if(!arguments.length)return this.props.parser;if(typeof o=="string"){var t=r[o]||r[o+"parser"];typeof t=="function"&&(o=t)}if(typeof o!="function")throw new Error("Unknown parser: "+o);return this.props.parser=o,this}},{key:"createElement",value:function(o){return arguments.length?(this.props.createElement=o,this):this.props.createElement||r.createElement}},{key:"render",value:function(){var o=Fe(arguments);return typeof o.text=="string"&&(o.text=this.linebreak(o.text)),o.ctx?cr(o.text,this,o.ctx):ur(o.text,this)}}],a&&he(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),r}();function vt(r){return vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},vt(r)}function Ut(r,n){(n==null||n>r.length)&&(n=r.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=r[a];return o}function dr(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(vt(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(vt(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),vt(t)==="symbol"?t:String(t)),o)}var t}var ce=function(r){return typeof r=="function"?r:function(){return r}},Me=function(){function r(o){if(function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,r),this.props={width:function(){return 1/0},height:function(){return 1/0},rotation:0,vAnchor:0,hAnchor:0},o)for(var t in o)typeof this[t]=="function"&&this[t](o[t]);this.render=this.render.bind(this)}var n,a;return n=r,a=[{key:"anchor",value:function(o){var t=this.props,u=t.hAnchor,d=t.vAnchor,p=t.width,b=t.height;if(!arguments.length)return[u*p(0),d*b(0)];if(typeof o=="string"){var w=this.props;o.toLowerCase().trim().split(/\s+/).forEach(function(A){A==="top"&&(w.vAnchor=-0),A==="middle"&&(w.vAnchor=-.5),A==="bottom"&&(w.vAnchor=-1),A==="left"&&(w.hAnchor=-0),A==="center"&&(w.hAnchor=-.5),A==="right"&&(w.hAnchor=-1)})}return this}},{key:"width",value:function(o){return arguments.length?(this.props.width=ce(o),this):this.props.width}},{key:"height",value:function(o){return arguments.length?(this.props.height=ce(o),this):this.props.height}},{key:"rotate",value:function(o){return arguments.length?(this.props.rotation=o,this):this.props.rotation}},{key:"createElement",value:function(o){return arguments.length?(this.props.createElement=o,this):this.props.createElement||r.createElement}},{key:"canvas",value:function(o,t){var u,d=o.getContext?o.getContext("2d"):o;return d.save(),d.rotate(this.rotate()*Math.PI/180),d.translate.apply(d,function(p){if(Array.isArray(p))return Ut(p)}(u=this.anchor())||function(p){if(typeof Symbol<"u"&&p[Symbol.iterator]!=null||p["@@iterator"]!=null)return Array.from(p)}(u)||function(p,b){if(p){if(typeof p=="string")return Ut(p,b);var w=Object.prototype.toString.call(p).slice(8,-1);return w==="Object"&&p.constructor&&(w=p.constructor.name),w==="Map"||w==="Set"?Array.from(p):w==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w)?Ut(p,b):void 0}}(u)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
38
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()),t(d),d.restore(),d}},{key:"render",value:function(){var o=
|
|
36
|
+
`),x(this,"draggedHandle",G),x(this,"start",{x:0,y:0}),x(this,"end",{x:0,y:0}),x(this,"arrow",{...mr}),x(this,"startX",0),x(this,"startY",0),x(this,"minArrowHeight",0),x(this,"maxArrowHeight",0),x(this,"handles",[]),x(this,"onHandleMouseDown",i=>{const l=this.getById(this.selectedId)||this.getById(this.hoveredId);if(!l)return;const{x:c,y:g}=Ue(i,this.ogma.getContainer());this.startDragging(l,c,g),this.draggedHandle=Ar(i.target)}),x(this,"onMouseUp",()=>{this.draggedHandle!==-1&&(this.restoreDragging(),this.isDragging=!1,this.draggedHandle=G,this.emit(jt,this.arrow))}),x(this,"onMouseMove",i=>{if(!this.isDragging||this.draggedHandle===G)return;const l=this.handles[this.draggedHandle],c=this.ogma.view.getAngle(),{x:g,y}=st(sn({x:i.x-this.startX,y:i.y-this.startY},this.ogma.view.getZoom()),c),f=l.id===Lr,m=l.id===jr,v=l.id===Fr;(f||m)&&wr(this.arrow,this.start.x+g,this.start.y+y),(f||v)&&xr(this.arrow,this.end.x+g,this.end.y+y),this.emit(xe,this.arrow,f?"line":m?"start":"end"),this.refreshEditor(),this.layer.refresh()}),this.minArrowHeight=s.minArrowHeight||0,this.maxArrowHeight=s.maxArrowHeight||1e6,this.handles=Array.prototype.slice.call(this.editor.element.querySelectorAll(".arrow-handle>.handle")),this.handles.forEach(i=>i.addEventListener("mousedown",this.onHandleMouseDown)),document.addEventListener("mousemove",this.onMouseMove,!0),document.addEventListener("mouseup",this.onMouseUp)}startDrawing(e,s,i=Qr(e,s,e,s,Xt)){var l;this.disableDragging(),this.add(i),this.hoveredId=i.id;const c=this.ogma.view.graphToScreenCoordinates({x:e,y:s}),g=((l=this.ogma.getContainer())==null?void 0:l.getBoundingClientRect())||{left:0,top:0};this.startDragging(this.getById(i.id),c.x+(g==null?void 0:g.left),c.y+g.top),this.draggedHandle=2}cancelDrawing(){this.isDragging&&(this.remove(this.arrow.id),this.emit(jt,this.arrow),this.restoreDragging(),this.isDragging=!1,this.draggedHandle=G)}startDragging(e,s,i){this.selectedId!==e.id&&this.select(this.hoveredId),this.arrow=e,this.startX=s,this.startY=i,this.start=Kt(this.arrow),this.end=ve(this.arrow),this.disableDragging(),this.emit(Ae,this.arrow),this.isDragging=!0}detect(e,s=0){return this.elements.find(i=>{const{start:l,end:c}=me(i),g=_t(e,{x:(l.x+c.x)/2,y:(l.y+c.y)/2}),y=_t(c,l),f=It(y),m=_r(y),v=Tr(i);return Math.abs(Sr(m,g))<f/2+s&&Math.abs(Sr(st(m,Math.PI/2),g))<v/2+s})}refreshEditor(){if(+this.selectedId<0&&+this.hoveredId<0)return;const e=this.selectedId!==G?this.getById(this.selectedId):this.getById(this.hoveredId),s=me(e),i=this.ogma.view.graphToScreenCoordinates(s.start),l=this.ogma.view.graphToScreenCoordinates(s.end),[c,g,y]=Array.prototype.slice.call(this.editor.element.querySelectorAll(".handle"));g.style.transform=`translate(${i.x}px, ${i.y}px) translate(-50%, -50%)`,y.style.transform=`translate(${l.x}px, ${l.y}px) translate(-50%, -50%)`;const f={x:(l.x+i.x)/2,y:(l.y+i.y)/2},m=_t(l,i),v=kr(m,1/It(m)),k=Math.atan2(v.y,v.x);c.style.width=`${It(m)}px`,c.style.left=`${f.x}px`,c.style.top=`${f.y}px`,c.style.transform=`translate(-50%, -50%) rotate(${k}rad)`}getDefaultOptions(){return mr}draw(e){e.innerHTML="";const s=Jt("g"),i=this.ogma.view.getAngle();s.setAttribute("transform",`rotate(${-i*(180/Math.PI)})`),this.elements.forEach(l=>an(l,s,Xt,this.minArrowHeight,this.maxArrowHeight)),e.appendChild(s)}refreshDrawing(){const e=this.ogma.view.getAngle();this.layer.element!==null&&this.layer.element.children[0].setAttribute("transform",`rotate(${-e*(180/Math.PI)})`)}destroy(){super.destroy(),document.removeEventListener("mousemove",this.onMouseMove,!0),document.removeEventListener("mouseup",this.onMouseUp)}}const Ft={font:"sans-serif",fontSize:12,color:"black",background:"",strokeWidth:1,strokeColor:"#000",strokeType:"plain"},Xe={id:0,type:"Feature",properties:{type:"text",content:"",style:{...Ft}},geometry:{type:"Polygon",coordinates:[[[0,0],[100,0],[100,50],[0,50],[0,0]]]}},Dr={handleSize:3.5,placeholder:"Your text..."},pn=(h=0,e=0,s=100,i=50,l="",c={...Ft})=>({id:pe(),type:"Feature",properties:{type:"text",content:l,style:{...Ft,...c}},geometry:{type:"Polygon",coordinates:[[[h,e],[h+s,e],[h+s,e+i],[h,e+i],[h,e]]]}});var Mr={exports:{}};(function(h,e){(function(s,i){h.exports=i()})(dn,()=>(()=>{var s={d:(r,n)=>{for(var a in n)s.o(n,a)&&!s.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:n[a]})},o:(r,n)=>Object.prototype.hasOwnProperty.call(r,n)},i={};function l(r){return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},l(r)}s.d(i,{default:()=>ze});var c=/^((?:[a-z\d-]+\s+)*)([\d.]+(%|em|px)|(?:x+-)?large|(?:x+-)?small|medium)(?:\s*\/\s*(normal|[\d.]+(%|px|em)?))?(\s.+)?$/,g=/\bsmall-caps\b/,y=/\b(?:italic|oblique)\b/,f=/\bbold(?:er)?\b/,m=13.3333333,v={"xx-small":9,"x-small":10,smaller:13.3333,small:13,medium:16,large:18,larger:19.2,"x-large":24,"xx-large":32};function k(r){var n="",a=this;return a.style&&a.style!=="normal"&&(n+=a.style),a.variant&&a.variant!=="normal"&&(n+=(n?" ":"")+a.variant),a.weight&&a.weight!=="normal"&&(n+=(n?" ":"")+a.weight),a.size&&(n+=(n?" ":"")+a.size+"px",a.height!==a.size&&(n+="/"+a.height+"px")),a.family&&(n+=(n?" ":"")+a.family),r&&(n+="::"+a.baseline),r&&(n+="::"+a.color),n}var C={id:"",family:"sans-serif",height:14,size:12,variant:"",style:"",weight:"",baseline:"",color:null,toString:k,valueOf:k};function _(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=c.exec(r);n.family=(a[6]||"").trim();var o=v[a[2]]||parseFloat(a[2]);a[3]==="%"?o*=.16:a[3]==="em"?o*=16:a[3]==="pt"&&(o*=m),n.size=o;var t=parseFloat(a[4]);if(t!=="normal"&&t!=="inherit"&&t?a[5]&&a[5]!=="em"?a[5]==="pt"?n.height=t*m:a[5]==="%"?n.height=.01*o:n.height=t:n.height=t*o:n.height=Math.round(o*(7/6)),g.test(a[1])&&(n.variant="small-caps"),y.test(a[1])&&(n.style="italic"),f.test(a[1]))n.weight="bold";else{var u=parseInt(/\b(\d+)\b/.exec(a[1]),10);u>=100&&u!==400&&(n.weight=u)}return n}function R(){var r,n,a,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"12px/14px sans-serif",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=14,d=12,p=null,b=null,w="";if(o&&o.nodeType){var A=o&&(o.ownerDocument&&o.ownerDocument.defaultView||o.document&&o||o.defaultView),E=A.getComputedStyle(o,null);r=E.getPropertyValue("font-family")||"",d=parseFloat(E.getPropertyValue("font-size")),u=E.getPropertyValue("line-height"),p=E.getPropertyValue("font-weight"),b=E.getPropertyValue("font-style"),w=E.getPropertyValue("font-variant")||""}else if(typeof o=="string"){var O=_(o);r=O.family,d=O.size,u=O.height,w=O.variant,b=O.style,p=O.weight}else l(o)==="object"&&(r=o.family,d=o.size,u=o.height,w=o.variant,p=o.weight,b=o.style,n=o.baseline,a=o.color);t.size&&t.size<3&&(d*=t.size),u=u!=="normal"&&u?parseFloat(u):d*(7/6),t.height&&t.height<3&&(u*=t.height);var P=Object.create(C);return P.family=t.family||r||"sans-serif",P.height=u??14,P.size=d??12,P.variant=t.variant||w||"",P.style=t.style||b||"",P.weight=t.weight||p||"",P.baseline=n||0,t.baseline!=null&&(P.baseline=t.baseline),P.color=t.color||a||"",P.id=k.call(P,!0),P}const T={"\n":.28,"\r":.28," ":.28," ":.28," ":.28,"":0," ":.5," ":1," ":.5," ":1," ":.33," ":.25," ":.16," ":.56," ":.28," ":.2," ":.15,"":0," ":.16," ":.22," ":1,"\uFEFF":0};var M,L=function(r){var n=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(100,100)||r&&r.createElement("canvas");if(n&&n.getContext){var a=n.getContext("2d");if(a&&typeof a.measureText=="function")return function(o,t){return a.font=String(t),a.measureText(o).width}}}(typeof document<"u"?document:null)||(M={},function(r,n){if(!M[n]){var a=R(n);M[n]=a,/\bmonospace\b/.test(a.family)?a.size*=.6:(a.size*=.45,a.weight&&(a.size*=1.18))}return r.length*M[n].size}),S={},W={trim:!0,collapse:!0};function U(r,n,a){var o=Object.assign({},W,a),t=String(r);if(!t)return 0;if(t in T){var u=n.id+"/"+t;return u in S||(S[u]=L("_".concat(t,"_"),n)-L("__",n)),S[u]}return o.trim&&o.collapse?o.trim?t=t.trim():o.collapse&&(t=t.replace(/\s+/g," ")):t=t.replace(/\n/g," "),L(t,n)+n.size*(r.tracking||0)}function lt(r){return lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},lt(r)}function kt(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),n&&Zt(r,n)}function Zt(r,n){return Zt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,o){return a.__proto__=o,a},Zt(r,n)}function Qt(r){var n=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var a,o=Dt(r);if(n){var t=Dt(this).constructor;a=Reflect.construct(o,arguments,t)}else a=o.apply(this,arguments);return Ee(this,a)}}function Ee(r,n){if(n&&(lt(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(r)}function Dt(r){return Dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dt(r)}function Mt(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function _e(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(lt(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(lt(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),lt(t)==="symbol"?t:String(t)),o)}var t}function rt(r,n,a){return n&&_e(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r}var z=function(){function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";Mt(this,r),this.value=n,this.weight=null,this.style=null,this.font=null,this.href=null,this.sub=!1,this.sup=!1}return rt(r,[{key:"clone",value:function(){var n=new r(this.value);return n.value=this.value,n.weight=this.weight,n.style=this.style,n.font=this.font,n.href=this.href,n.sub=this.sub,n.sup=this.sup,n}},{key:"valueOf",value:function(){return this.value}},{key:"toString",value:function(){return this.value}}]),r}(),ht=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),K=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),ct=function(r){kt(a,r);var n=Qt(a);function a(){return Mt(this,a),n.apply(this,arguments)}return rt(a)}(z),$t=/^[\n\r\t\x20\xA0\u2000-\u200B\u205F\u3000]/,ke=/^[^\n\r\t\u0020\u2000-\u200B\u205F\u3000]{2,}/,te=/^[\xA0\u2011\u202F\u2060\uFEFF]/,Se=/^(?:[;\xAD%?…]|,(?!\d))/,Te=/^[´±°¢£¤$¥\u2212]/;function St(r,n){n!==!1&&(r=r.trim());for(var a,o,t=[],u=r.charAt(0),d=0,p=1,b=r.length;p<b;p++){a=r.charAt(p),o=r.charAt(p+1);var w=$t.test(u),A=$t.test(a),E=A||w,O=void 0;if((Te.test(a)&&!te.test(u)||Se.test(u+o)&&!te.test(a))&&(E=!0),u!=="-"&&u!=="‐"&&u!=="–"&&u!=="—"||((O=$t.test(r.charAt(p-2)))&&!A&&(E=!1),!O&&ke.test(a+o)&&(E=!0)),E){var P=r.slice(d,p);/\u00AD$/.test(P)?(t.push(new z(P.slice(0,-1))),t.push(new ct)):(t.push(new z(P)),t.push(new ht)),d=p}u=a}return t.push(new z(r.slice(d))),t}const Ce={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"⊥",or:"⊦",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›"};var rr=/^[\n\r\x20\u2000-\u200B\u205F\u3000]/,ee=/^<\/([a-zA-Z0-9]+)([^>]*)>/,re=/^<([a-zA-Z0-9]+)((?:\s[^=\s/]+(?:\s*=\s*(?:"[^"]+"|'[^']+'|[^>\\s]+))?)+)?\s*(\/?)>(\n*)/,zt=/^<!--(.+?)-->/,ne=/&(?:#(\d\d{2,})|#x([\da-fA-F]{2,})|([a-zA-Z][a-zA-Z1-4]{1,8}));/g,Tt={b:function(r){r.weight="bold"},strong:function(r){r.weight="bold"},i:function(r){r.style="italic"},em:function(r){r.style="italic"},dfn:function(r){r.style="italic"},cite:function(r){r.style="italic"},code:function(r){r.family="monospace"},kbd:function(r){r.family="monospace"},samp:function(r){r.family="monospace"},var:function(r){r.family="monospace"},tt:function(r){r.family="monospace"},sub:function(r){r.sub=!0},sup:function(r){r.sup=!0}},nr={div:1,li:1,blockquote:2,h1:2,h2:2,h3:2,h4:2,h5:2,h6:2,ul:2,ol:2,hr:2,p:2};function ie(r){return r.replace(ne,function(n,a,o,t){if(a||o){var u=a?10:16;return String.fromCharCode(parseInt(a||o,u))}return t in Ce?Ce[t]:n})}function ir(r){return r&&r.length>1&&(r[0]==='"'&&r[r.length-1]==='"'||r[0]==="'"&&r[r.length-1]==="'")?r.slice(1,-1):r}var or=/^\s*([^=\s&]+)(?:\s*=\s*("[^"]+"|'[^']+'|[^>\s]+))?/;function Nt(r){var n,a={};if(r){do if(n=or.exec(r)){var o=ie(ir(n[2]||"")).replace(/[ \r\n\t]+/g," ").trim();if(a[n[1]]=o,(r=r.slice(n[0].length)).length&&/^\S/.test(r[0]))throw new Error("Attribute error")}while(n&&r.length);if(/\S/.test(r))throw new Error("Attribute error")}return a}const xt={copyright:"©",textcopyright:"©",dag:"†",textdagger:"†",ddag:"‡",textdaggerdbl:"‡",guillemotleft:"«",guillemotright:"»",guilsinglleft:"‹",guilsinglright:"›",ldots:"…",dots:"…",textellipsis:"…",lq:"‘",P:"¶",textparagraph:"¶",pounds:"£",textsterling:"£",quotedblbase:"„",quotesinglbase:"‚",rq:"’",S:"§",sim:"~",textasciicircum:"^",textasciitilde:"˜",texttildelow:"~",textasteriskcentered:"*",textbackslash:"'",textbar:"|",textbardbl:"╎",textbigcircle:"◯",textbraceleft:"{",textbraceright:"}",textbullet:"•",textdollar:"$",textemdash:"—",textendash:"—",texteuro:"€",eurosym:"€",euro:"€",textexclamdown:"¡",textgreater:">",textless:"<",textordfeminine:"ª",textordmasculine:"º",textperiodcentered:"·",cdot:"·",textquestiondown:"¿",textquotedblleft:"“",textquotedblright:"”",textquoteleft:"‘",textquoteright:"’",textquotestraightbase:"‚",textquotestraightdblbase:"„",textregistered:"®",textthreequartersemdash:"-",texttrademark:"™",texttwelveudash:"-",textunderscore:"_",textvisiblespace:"␣",gets:"←",textleftarrow:"←",to:"→",textrightarrow:"→",textdegree:"°",infty:"∞",triangle:"△",triangledown:"▽",blacktriangle:"▲",blacktriangledown:"▼",angle:"∠",sphericalangle:"∢",aleph:"ℵ",hbar:"ħ",imath:"𝚤",jmath:"𝚥",ell:"ℓ",wp:"℘",Re:"ℜ",Im:"ℑ",mho:"℧",prime:"′",emptyset:"∅",nabla:"∇",surd:"√",partial:"∂",top:"⟙",bot:"⟂",vdash:"⟝",dashv:"⟞",forall:"∀",exists:"∃",nexists:"∄",neg:"¬",lnot:"¬",flat:"♭",natural:"♮",sharp:"♯",backslash:"\\",Box:"□",Diamond:"♢",clubsuit:"♣",diamondsuit:"♦",heartsuit:"♥",spadesuit:"♠",Join:"⨝",blacksquare:"■",bigstar:"★",diagdown:"╲",diagup:"╱",blacklozenge:"⧫",rfloor:"⌋",lfloor:"⌊",rceil:"⌉",lceil:"⌈",rangle:"⟩",langle:"⟨",sum:"∑",int:"∫",oint:"∮",prod:"∏",coprod:"∏",bigcap:"∩",bigcup:"∪",bigsqcup:"⊔",bigvee:"∨",bigwedge:"∧",bigodot:"⊙",bigotimes:"⊗",bigoplus:"⊕",biguplus:"⊎",alpha:"α",beta:"β",chi:"χ",delta:"δ",epsilon:"ε",eta:"η",gamma:"γ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",omega:"ω",phi:"φ",pi:"π",psi:"ψ",rho:"ρ",sigma:"σ",tau:"τ",theta:"θ",upsilon:"υ",xi:"ξ",zeta:"ζ",Alpha:"Α",Beta:"Β",Chi:"Χ",Delta:"Δ",Epsilon:"Ε",Eta:"Η",Gamma:"Γ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Omega:"Ω",Phi:"Φ",Pi:"Π",Psi:"Ψ",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Theta:"Θ",Upsilon:"Υ",Xi:"Ξ",Zeta:"Ζ",aa:"å",AA:"Å",ae:"æ",AE:"Æ",dh:"ð",DH:"Ð",dj:"đ",DJ:"Đ",ij:"ij",IJ:"IJ",l:"ł",L:"Ł",ng:"ŋ",NG:"Ŋ",o:"ø",O:"Ø",oe:"œ",OE:"Œ",ss:"ß",SS:"SS",th:"þ",TH:"Þ"};var Oe=/^(\^|_|\\[^#$%&~_^\\{}()\s]+)(\{)?/,Pe=/^%[^\n]+(?:\n|$)/,Bt=/^[^#$%&~_^\\{}]+/,sr=/^\\([&{}$%#_])/,ar=/(?:\\[\\@,!:;-]|-{2,3}|[!?]`|``?|,,|''?|~|<<|>>)/g,oe={"---":"—","--":"–","!`":"¡","?`":"¿","``":"“",",,":"„","''":"”","`":"‘","'":"’","<<":"«",">>":"»","~":" ","\\-":"","\\,":" ","\\;":" ","\\:":" ","\\!":" ","\\@":"\uFEFF","\\\\":"\\newline{}"},V={bf:function(r){r.weight="bold"},it:function(r){r.style="italic"},sl:function(r){r.style="italic"},color:function(r,n){r.color=n},href:function(r,n){r.href=n},"^":function(r){r.sup=!0},_:function(r){r.sub=!0},par:function(r){this.tokens.push(new K,new K)},newline:function(r){this.tokens.push(new K)},url:function(r,n){this.open_context().href=n,this.add_token(new z(n)),this.close_context()}};V.textsuperscript=V["^"],V.textsubscript=V._,V.textsl=V.sl,V.mathbf=V.bf,V.mathit=V.it,V.textbf=V.bf,V.textit=V.it,V.textcolor=V.color;var lr=/[\r\n\xA0]+/g;function Re(r,n){r.sup&&(r.baseline=.45,r.size=.7),r.sub&&(r.baseline=-.3,r.size=.7);var a=n;return(r.style||r.weight||r.baseline||r.color||r.size||r.family)&&(a=R(n,r)),a}function se(r,n,a){for(var o,t,u=r.width;u+a.width>n&&r.length;)t=(o=r[r.length-1]).width,o.width>a.width?(o.value=o.value.slice(0,-1),o.width=U(o,o.font),u+=o.width):r.pop(),u-=t;r[r.length-1]instanceof ct&&r.pop(),o=r[r.length-1]||o||{},a.font=R(a.font,o.bold,o.italic,""),a.href=r.length?o.href:null,a.rel=r.length?o.rel:null,a.target=r.length?o.target:null,r.push(a)}function ut(r){return Math.round(1e6*r)/1e6}function Ie(r){return function(n){if(Array.isArray(n))return Ht(n)}(r)||function(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}(r)||function(n,a){if(n){if(typeof n=="string")return Ht(n,a);var o=Object.prototype.toString.call(n).slice(8,-1);return o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set"?Array.from(n):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Ht(n,a):void 0}}(r)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
37
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Ht(r,n){(n==null||n>r.length)&&(n=r.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=r[a];return o}var Le={center:"middle",right:"end"},ae={middle:.5,center:.5,bottom:1,end:1},le=function(r,n){return!r&&!n||r===n};function ur(r,n){var a=[],o=n.font(),t=o.size,u=o.family,d=n.align(),p=n.createElement();if(r.length){var b=o.height,w=n.valign(),A=n.height()(),E=n.width()(0),O=!isFinite(E)&&r.length===1,P=O?null:n.x(),I=ut(b/t),B=O?null:ut(b/(1.15*t+(b-t)/2));if(ae[w]&&isFinite(A)){var $=w==="bottom"?1:.5;B+=(A*$-b*r.length*$)/t}var j=d==="justify",D=0;d==="right"?D=E:d==="center"&&(D=E/2);for(var N=[],Q="tspan",J=null,Y="",F=function(){if(Y){var Ot=p(Q,J,Y);N.push(Ot)}Q="tspan",J=null,Y=""},ot=0,it=r.length;ot<it;ot++){var mt="",At="",ft=0,bt=r[ot];if(bt.length){N=[];for(var Vt=0,fe=0,wt=void 0,tt=0,Ne=bt.length;tt<Ne;tt++){var q=bt[tt],et=q.font;q.whitespace&&Vt++,fe+=q.width,tt&&!q.tracking&&!ft&&le(et.id,mt)&&le(q.class,At)&&le(wt,q.href)?Y+=q.value:(F(),Y=q.value,J={fontFamily:et.family!==u?et.family:null,fontSize:et.size!==t?et.size:null,fontWeight:et.weight||null,fontStyle:et.style||null,fontVariant:et.variant!=="normal"&&et.variant||null,fill:et.color||null,baselineShift:et.baseline?100*et.baseline+"%":null,className:q.class||null},ft&&(J.dx=ut(ft),ft=0),q.tracking&&(ft=et.size*q.tracking),q.href&&!wt?(wt=q.href,Q="a",J.href=wt,J.rel=q.rel,J.target=q.target):wt=null,mt=et.id,At=q.class)}if(F(),O)a.push.apply(a,Ie(N));else{var Be=null,ge=ot===it-1||bt[bt.length-1]instanceof K;j&&bt.length>1&&!ge&&(Be=ut((E-fe)/Vt)),a.push(p.apply(void 0,["tspan",{wordSpacing:Be,x:P(ot)+D,dy:ut(ot?I:B)+"em"}].concat(Ie(N))))}}else a.push(p("tspan",{x:P(ot),dy:ut(ot?I:B)+"em"}," "))}}return p.apply(void 0,["text",{fontFamily:u,fontSize:t,textAnchor:Le[d]||"start"}].concat(a))}var hr={middle:.5,center:.5,bottom:1,end:1};function cr(r,n,a){if(r.length){a.textBaseline="middle";var o=n.font(),t=o.height,u=o.size,d=n.valign(),p=n.height()(),b=n.width()(0),w=n.align(),A=w==="justify",E=.5*t,O=hr[d];if(O&&isFinite(p)){var P=r.length*t;E+=p*O-P*O}r.forEach(function(I,B){var $=n.x()(B),j=B*t+E,D=0,N=0;I.forEach(function(Y){Y.whitespace&&D++,N+=Y.width});var Q=0,J=B===r.length-1||I[I.length-1]instanceof K;A&&I.length>1&&!J&&(Q=(b-N)/D),I.forEach(function(Y){a.font=Y.font;var F=Y.font,ot=F.baseline?u*-F.baseline+.15*u:0;a.fillStyle=function(At,ft){return At.color?At.color:ft.href?"#00C":"#000"}(F,Y);var it=0;if(w==="right"?it+=b-N:w==="center"?it+=b/2-N/2:w==="justify"&&(Y.whitespace||Y instanceof K)&&($+=Q),a.fillText(Y.value,$+it,j+ot),Y.href){a.beginPath(),a.strokeStyle=a.fillStyle;var mt=Math.floor(j+.45*u)+.5;a.moveTo($+it,mt),a.lineTo($+it+Y.width,mt),a.stroke()}$+=Y.width})})}}function ue(r){return ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ue(r)}function je(r){for(var n={},a=0;a<r.length;a++){var o=r[a];typeof o!="number"&&o!=null&&(typeof o=="string"?n.text=o:typeof o=="function"?n.fn=o:ue(o)==="object"&&o._groups?n.d3=o:o&&o.nodeType&&o.getContext?n.ctx=o.getContext("2d"):o&&o.fillText&&o.beginPath?n.ctx=o:o&&(n.text=o))}return n}function Ct(r){return Ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ct(r)}function he(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(Ct(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(Ct(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),Ct(t)==="symbol"?t:String(t)),o)}var t}var Fe=R(),dt=function(r){return typeof r=="function"?r:function(){return r}},Z=function(){function r(o){if(function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,r),this.props={overflow:"ellipsis",lineclamp:null,align:"left",wordBreak:null,valign:"top",width:function(){return 1/0},height:function(){return 1/0},x:function(){return 0},font:null,tAnchor:0,parser:r.defaultparser},o)for(var t in o)typeof this[t]=="function"&&this[t](o[t])}var n,a;return n=r,a=[{key:"linebreak",value:function(o){var t=this,u=this.props.parser(String(o)),d=this.font(),p=function(b,w,A){if(!b.length)return[];var E=w.height(),O=w.width(),P=w.overflowLine(),I=w.overflowWrap(),B=R(A,!0,!1),$=isFinite(E())?Math.floor(E()/A.height):1/0;if(!E()&&!O(0)||!$)return[];for(var j=0,D=0,N=0,Q=[],J=[],Y=!1;j<b.length&&D<$;){var F=b[j],ot=Re(F,A);if(F.width=U(F,ot),F.font=ot,F.line=D,F.whitespace=F.value in T,F.value&&(F.value=F.value.replace(lr," ")),!(!N&&F.whitespace||Y&&F.whitespace))if(F instanceof K)N=0,J=[],Q.push(j+1),D++;else if(F instanceof ht||F instanceof ct)J.push({index:j,width:N});else if(F.whitespace||N+F.width<O(D))N+=F.width;else if(J.length){var it=void 0,mt=void 0;do{mt=!0,it=J.pop();var At=b[it.index],ft=void 0;At instanceof ct&&(ft=U("-",At.font),it.width+ft>O(D)&&(mt=!J.length))}while(!mt);Q.push(it.index+1),N=0,D++,j=it.index,J=[]}else if(I==="break-word"){var bt=O(D);if(N+F.width>bt){var Vt=F.clone();do F.value=F.value.slice(0,-1),F.width=U(F,F.font),N+=F.width;while(F.value&&F.width>bt);Vt.value=Vt.value.slice(F.value.length),b.splice(j+1,0,new ht,Vt)}Q.push(j+1),N=0,D++}else N+=F.width;j++,Y=F.whitespace}j!==Q[Q.length-1]&&Q.push(j);var fe=0,wt=0,tt=Q.map(function(Ot){for(var nt,Pt=fe;(nt=b[Pt])&&(nt.whitespace||!nt.value);)Pt++;for(var Et=Ot,gr=null;Et>Pt&&(nt=b[Et-1])&&(nt.whitespace||!(nt.value||nt instanceof ct));)nt instanceof K&&(gr=nt),Et--;nt instanceof ct&&(nt.value="-",nt.width=U("-",nt.font)),fe=Ot;var Yt=b.slice(Pt,Et).filter(function(pr){return pr.value});return gr&&Yt.push(gr),Yt.width=Yt.reduce(function(pr,Pn){return pr+Pn.width},0),Yt.width>wt&&(wt=Yt.width),Yt});if(tt.hasLineOverflow=!1,P){var Ne=P==="ellipsis"?"…":P;tt.forEach(function(Ot,nt){var Pt=O(nt);if(Ot.width>Pt){var Et=new z(Ne);Et.font=A,Et.width=U(Ne,B),se(Ot,Pt,Et),tt.hasLineOverflow=!0}})}var q=w.overflow()==="ellipsis"?"…":w.overflow();if(q&&j!==b.length){var et=O(tt.length-1),Be=tt[tt.length-1],ge=new z(q);ge.font=A,ge.width=U(q,B),se(Be,et,ge),tt.hasOverflow=!0}else tt.hasOverflow=!1;return tt.font=A,tt.width=wt,tt}(u,this,d);return p.height=p.length*d.height,p.render=function(b){return t.render(p,b)},p.svg=p.render,p.draw=p.render,p}},{key:"font",value:function(o){return arguments.length?(this.props.font=R(o),this):this.props.font||R(Fe)}},{key:"overflow",value:function(o){return arguments.length?(this.props.overflow=String(o),this):this.props.overflow}},{key:"overflowLine",value:function(o){return arguments.length?(this.props.lineclamp=String(o),this):this.props.lineclamp}},{key:"valign",value:function(o){return arguments.length?(this.props.valign=o,this):this.props.valign}},{key:"align",value:function(o){if(!arguments.length)return this.props.align;var t=String(o).toLowerCase();return t==="left"||t==="start"?(this.props.align="left",this.props.tAnchor=0):t==="center"||t==="middle"?(this.props.align="center",this.props.tAnchor=-.5):t==="end"||t==="right"?(this.props.align="right",this.props.tAnchor=-1):t==="justify"&&(this.props.align=o,this.props.tAnchor=0),this}},{key:"overflowWrap",value:function(o){if(!arguments.length)return this.props.overflowWrap||"normal";var t=String(o).toLowerCase();return t==="break-word"?this.props.overflowWrap="break-word":t!=="normal"&&o!=null||(this.props.overflowWrap=null),this}},{key:"width",value:function(o){return arguments.length?(this.props.width=dt(o),this):this.props.width}},{key:"height",value:function(o){return arguments.length?(this.props.height=dt(o),this):this.props.height}},{key:"x",value:function(o){return arguments.length?(this.props.x=dt(o),this):this.props.x}},{key:"parser",value:function(o){if(!arguments.length)return this.props.parser;if(typeof o=="string"){var t=r[o]||r[o+"parser"];typeof t=="function"&&(o=t)}if(typeof o!="function")throw new Error("Unknown parser: "+o);return this.props.parser=o,this}},{key:"createElement",value:function(o){return arguments.length?(this.props.createElement=o,this):this.props.createElement||r.createElement}},{key:"render",value:function(){var o=je(arguments);return typeof o.text=="string"&&(o.text=this.linebreak(o.text)),o.ctx?cr(o.text,this,o.ctx):ur(o.text,this)}}],a&&he(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),r}();function vt(r){return vt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},vt(r)}function Ut(r,n){(n==null||n>r.length)&&(n=r.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=r[a];return o}function dr(r,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(r,(t=function(u,d){if(vt(u)!=="object"||u===null)return u;var p=u[Symbol.toPrimitive];if(p!==void 0){var b=p.call(u,d);if(vt(b)!=="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}(o.key,"string"),vt(t)==="symbol"?t:String(t)),o)}var t}var ce=function(r){return typeof r=="function"?r:function(){return r}},De=function(){function r(o){if(function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,r),this.props={width:function(){return 1/0},height:function(){return 1/0},rotation:0,vAnchor:0,hAnchor:0},o)for(var t in o)typeof this[t]=="function"&&this[t](o[t]);this.render=this.render.bind(this)}var n,a;return n=r,a=[{key:"anchor",value:function(o){var t=this.props,u=t.hAnchor,d=t.vAnchor,p=t.width,b=t.height;if(!arguments.length)return[u*p(0),d*b(0)];if(typeof o=="string"){var w=this.props;o.toLowerCase().trim().split(/\s+/).forEach(function(A){A==="top"&&(w.vAnchor=-0),A==="middle"&&(w.vAnchor=-.5),A==="bottom"&&(w.vAnchor=-1),A==="left"&&(w.hAnchor=-0),A==="center"&&(w.hAnchor=-.5),A==="right"&&(w.hAnchor=-1)})}return this}},{key:"width",value:function(o){return arguments.length?(this.props.width=ce(o),this):this.props.width}},{key:"height",value:function(o){return arguments.length?(this.props.height=ce(o),this):this.props.height}},{key:"rotate",value:function(o){return arguments.length?(this.props.rotation=o,this):this.props.rotation}},{key:"createElement",value:function(o){return arguments.length?(this.props.createElement=o,this):this.props.createElement||r.createElement}},{key:"canvas",value:function(o,t){var u,d=o.getContext?o.getContext("2d"):o;return d.save(),d.rotate(this.rotate()*Math.PI/180),d.translate.apply(d,function(p){if(Array.isArray(p))return Ut(p)}(u=this.anchor())||function(p){if(typeof Symbol<"u"&&p[Symbol.iterator]!=null||p["@@iterator"]!=null)return Array.from(p)}(u)||function(p,b){if(p){if(typeof p=="string")return Ut(p,b);var w=Object.prototype.toString.call(p).slice(8,-1);return w==="Object"&&p.constructor&&(w=p.constructor.name),w==="Map"||w==="Set"?Array.from(p):w==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w)?Ut(p,b):void 0}}(u)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
38
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()),t(d),d.restore(),d}},{key:"render",value:function(){var o=je(arguments);if(o.d3)return o.d3.attr("transform","rotate(".concat(this.rotate(),") translate(").concat(this.anchor(),")"));if(o.ctx)return this.canvas(o.ctx,o.fn);if(o.text){var t=typeof o.text.render=="function"?o.text.render():o.text;return this.createElement()("g",{transform:"rotate(".concat(this.rotate(),") translate(").concat(this.anchor(),")")},t)}}}],a&&dr(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),r}(),Me=Object.prototype.hasOwnProperty,Wt={};function fr(r){return Wt[r]||(Wt[r]=r.replace(/([a-z])([A-Z])/g,function(n,a,o){return a+"-"+o.toLowerCase()})),Wt[r]}function $e(r,n){if(Array.isArray(n))return n.forEach(function(a){return $e(r,a)});typeof n=="string"&&(n=document.createTextNode(n)),r.appendChild(n)}function de(r,n){if(typeof document<"u"){var a=typeof r=="string"?document.createElementNS("http://www.w3.org/2000/svg",r):r;if(n&&a.setAttribute)for(var o in n)Me.call(n,o)&&n[o]!=null&&a.setAttribute(o==="className"?"class":fr(o),n[o]);for(var t=arguments.length,u=new Array(t>2?t-2:0),d=2;d<t;d++)u[d-2]=arguments[d];return u!=null&&u.length&&u.forEach(function(p){$e(a,p)}),a}}Z.createElement=de,Z.textparser=St,Z.defaultparser=St,Z.htmlparser=function(r){r=String(r||"").trim();for(var n,a,o={weight:null,style:null,sub:!1,sup:!1,href:null,color:null,rel:null,target:null},t=[],u=[],d=function(E){for(var O in o)o[O]&&(E[O]=o[O]);t.push(E)},p=function(E){var O=t.length,P=nr[E];if(O&&P){for(var I=O-1;t[I]&&(t[I]instanceof ht||rr.test(t[I].value));)I--;for(;P&&t[I]&&t[I]instanceof K;)I--,P--;for(;P-- >0;)t.push(new K)}};r.length;){if(n=/^[^<]+/.exec(r))St(ie(n[0]),!1).forEach(d);else if(!(n=zt.exec(r)))if(n=ee.exec(r))u.length&&(o=u.pop()),p(n[1]);else if(n=re.exec(r)){var b=n[1];p(b),u.push(o),o=Object.create(o),Tt[b]&&Tt[b](o,"");var w=Nt(n[2]);b==="a"&&(w.href&&(o.href=w.href),w.rel&&(o.rel=w.rel),w.target&&(o.target=w.target)),w.class&&(o.class=o.class?o.class+" "+w.class:w.class),w.style&&(a=/(?:^|\s|;)color\s*:\s*([^;\s"']+)/.exec(w.style))&&a[1]&&(o.color=a[1]),b==="br"&&t.push(new K)}else n=[r.slice(0,1)],d(new z(n[0]));r=r.slice(n[0].length)}for(var A=t[t.length-1];A instanceof K;)t.pop(),A=t[t.length-1];return t},Z.latexparser=function(r){r=String(r||"").trim();var n=[0];r=r.replace(/\\verb,(.*?),/,function($,j){return n.push(j),"\\verb,"+(n.length-1)+","}).replace(/\\\\\n/g,function(){return"\\\\"}).replace(ar,function($,j,D){return D.charAt(j-1)==="\\"?$:oe[$]}).replace(/\n\s+/g,function($){return/\n/.test($.slice(1))?"\\par ":$}).replace(/\\symbol\{(\d+)\}/,function($,j,D,N){return N.charAt(D-1)==="\\"?$:String.fromCharCode(1*j)}).replace(/(^|[^\\])(\^|_)(\d|[^{]\S*)/g,function($,j,D,N){return j+D+"{"+N+"}"}).replace(/\\verb,(.*?),/,function($,j){return"\\verb,".concat(n[+j],",")});for(var a,o={weight:null,italic:null,variant:null,sub:!1,sup:!1,href:null},t=[],u=[],d=function($){for(var j in o)o[j]&&($[j]=o[j]);return t.push($),$},p=function(){u.push(o),o=Object.create(o)},b=function(){if(!u.length)throw new Error("Unexpected }");o=u.pop()},w={tokens:t,open_context:p,close_context:b,add_token:d};r.length;){if(a=Bt.exec(r))St(a[0],!1).forEach(d);else if(a=sr.exec(r))d(new z(a[1]));else if(!(a=Pe.exec(r))){if(a=/^\{/.exec(r))p();else if(a=/^\}/.exec(r))b();else if(!(a=/^\$/.exec(r)))if(a=/^\\verb,([^,]+),/.exec(r))d(new z(a[1]));else if(a=Oe.exec(r)){var A=a[1].slice(1)||a[1],E=!!a[2];if(/^(La)?TeX$/i.test(A)){p(),o.family="serif";var O=void 0;A==="LaTeX"&&((O=d(new z("L"))).tracking=-.25,(O=d(new z("A"))).size=.7,O.baseline=.3,O.tracking=-.1),(O=d(new z("T"))).tracking=-.17,(O=d(new z("E"))).baseline=-.22,O.tracking=-.13,O=d(new z("X")),b()}else if(A in xt)d(new z(xt[A])),E&&p();else if(A in V){var P=[],I=V[A].length-1,B=void 0;if(I){for(E=!1,r=r.slice(a[0].length-1);I--;){if(!(B=/^\{([^}]+)\}/.exec(r)))throw new Error(A+" is missing an argument");P.push(B[1]),r=r.slice(B[0].length)}a[0]=/^\{/.exec(r)?"{":"",E=!!a[0]}E&&p(),V[A].apply(w,[o].concat(P))}else console.warn("unknown latex command",A),d(new z(a[1])),E&&p()}else a=[r.slice(0,1)],d(new z(a[0]))}r=r.slice(a[0].length)}return t},Z.measureText=function(r,n,a){return U(r,R(n),a)},Z.Token=z,Z.Break=ht,Z.LineBreak=K,Z.SoftHyphen=ct,Z.Rotator=De,De.createElement=de;const ze=Z;return i.default})())})(Mr);var yn=Mr.exports;const $r=Or(yn);function Je(h){return h.replace(/…$/,"")}function Ke(h){return h.children[0].innerHTML}function vn(h,e){const s=gt(h),{fontSize:i,font:l,padding:c=0}=h.properties.style||{};if(s.width===s.height&&s.width===0)return;const g=new $r({font:`${i}px/${i}px ${l}`.replace(/(px)+/g,"px"),width:s.width-c*2,height:s.height-c*2,align:"left",valign:"top",x:0,overflow:"ellipsis",parser:"html",createElement:$r.createElement});g.overflowWrap("break-word");const y=g.linebreak(h.properties.content.replaceAll(`
|
|
39
39
|
`,"<br>")).render(),f=[...y.children];let m=0;const v=[];h.properties.content.split(`
|
|
40
40
|
`).forEach(_=>{let R=_;for(;R.length&&m<f.length;){if(f[m].innerHTML===" "){R.startsWith(`
|
|
41
41
|
`)||v.push(m),m++;break}const T=Je(Ke(f[m]));R.startsWith(T)&&(R=R.slice(T.length).trim()),m++}}),v.forEach(_=>y.removeChild(f[_]));const k=h.properties.content.match(/(https?:\/\/.*)/gm),C=k?k.map(_=>_.split(" ")[0]):[];y.setAttribute("transform",`translate(${c}, ${c})`),C.forEach(_=>{let R=_;const T=[];for(;R.length>0;){const M=f.find(S=>!!S.children[0]&&S.children[0].tagName==="tspan"&&R.startsWith(Je(Ke(S))));if(!M)break;T.push(M);const L=Je(M.children[0].innerHTML).length;if(!L)break;R=R.slice(L)}T.forEach(M=>{const L=document.createElementNS("http://www.w3.org/2000/svg","a");L.setAttribute("href",_),L.setAttribute("target","_blank"),L.innerHTML=Ke(M),M.children[0].innerHTML="",M.children[0].appendChild(L)})}),e.appendChild(y)}const zr=20;class mn extends Ir{constructor(e,s={}){super(e,`
|
|
@@ -50,4 +50,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
50
50
|
<span class="handle left bottom left-handle point-handle bottom-left" data-handle-id="7"></span>
|
|
51
51
|
<textarea wrap="on"></textarea>
|
|
52
52
|
</div>
|
|
53
|
-
`),x(this,"textArea"),x(this,"handleSize"),x(this,"rect",{x:0,y:0,width:0,height:0}),x(this,"annotation",{...Xe}),x(this,"startX",0),x(this,"startY",0),x(this,"handles",[]),x(this,"draggedHandle",G),x(this,"isFocused",!1),x(this,"placeholder","Type your text here..."),x(this,"_onFocus",()=>{this.textArea.value===this.placeholder&&(this.textArea.value=""),this.isFocused=!0}),x(this,"_onBlur",()=>{this.isFocused=!1}),x(this,"startDrawing",(l,c,g=pn(l,c,0,0,"",Ft))=>{this.add(g);const y=this.ogma.view.graphToScreenCoordinates({x:l,y:c});this.select(g.id),this.startDragging(this.getById(g.id),y.x,y.y),this.draggedHandle=6}),x(this,"cancelDrawing",()=>{this.isDragging&&(this.remove(this.annotation.id),this.annotation={...Xe},this.draggedHandle=G,this.isDragging=!1,this.emit(jt,this.annotation))}),x(this,"startDragging",(l,c,g)=>{this.annotation=l;const y=pt(this.annotation),f=gt(this.annotation);this.rect.x=y.x,this.rect.y=y.y,this.rect.width=f.width,this.rect.height=f.height,this.startX=c,this.startY=g,this.disableDragging(),this.textArea.classList.add("noevents"),this.textArea.setAttribute("disabled","disabled"),this.emit(Ee,this.annotation),this.isDragging=!0}),x(this,"onHandleMouseDown",l=>{const c=this.getById(this.selectedId)||this.getById(this.hoveredId);if(!c)return;this.selectedId!==c.id&&this.select(this.hoveredId);const{x:g,y}=we(l,this.ogma.getContainer());this.startDragging(c,g,y),this.draggedHandle=Ar(l.target)}),x(this,"onMouseMove",l=>{requestAnimationFrame(()=>this._onMouseMove(l))}),x(this,"_onMouseMove",l=>{if(!this.isDragging)return;l.stopPropagation(),l.preventDefault();const c=this.handles[this.draggedHandle],g=c.classList.contains("top"),y=c.classList.contains("left"),f=c.classList.contains("right"),m=c.classList.contains("bottom"),v=c.classList.contains("line-handle"),{x:k,y:C}=we(l,this.ogma.getContainer()),_=this.ogma.view.getZoom(),R=(k-this.startX)/_,T=(C-this.startY)/_,M=this.ogma.view.getAngle(),L=st({x:R,y:T},M);(m&&y||g&&f)&&(L.y=0,L.x=0);const S=y||v?this.rect.x+L.x:this.rect.x,W=g||v?this.rect.y+L.y:this.rect.y,U=Math.max(this.rect.width+R*(v||y?0:1),zr),lt=Math.max(this.rect.height+T*(v||g?0:1),zr);rn(this.annotation,S,W,U,lt),this.emit(Ae,this.annotation,"text"),this.refreshEditor(),this.layer.refresh()}),x(this,"onMouseUp",()=>{!this.isDragging||this.draggedHandle===G||(this.restoreDragging(),this.textArea.classList.remove("noevents"),this.textArea.removeAttribute("disabled"),this.emit(jt,this.annotation),this.isDragging=!1,this.draggedHandle=G)}),x(this,"_onMousedown",l=>{l.stopPropagation()}),x(this,"onViewChanged",()=>{const l=Math.max(2,this.handleSize/this.ogma.view.getZoom());document.documentElement.style.setProperty("--handle-scale",`${1/l}`)}),x(this,"_onInput",()=>{const l=this.getById(this.selectedId);l&&(this.textArea.value=this.textArea.value.replace(/ +(?= )/g,""),this.textArea.focus(),l.properties.content=this.textArea.value,this.emit(qe,l),this.layer.refresh())}),this.showeditorOnHover=!1,this.handleSize=Dr.handleSize,this.placeholder=Dr.placeholder;const i=this.textArea=this.editor.element.querySelector("textarea");i.addEventListener("input",this._onInput),i.addEventListener("focus",this._onFocus),i.addEventListener("blur",this._onBlur),i.addEventListener("mousedown",this._onMousedown),i.spellcheck=!1,this.handles=Array.prototype.slice.call(this.editor.element.querySelectorAll(".annotation-text-handle > .handle")),this.handles.forEach(l=>l.addEventListener("mousedown",this.onHandleMouseDown)),document.addEventListener("mouseup",this.onMouseUp),document.addEventListener("mousemove",this.onMouseMove,!0),e.events.on(["viewChanged","zoom"],this.onViewChanged)}_canRemove(){return!this.isFocused}detect({x:e,y:s},i=0){const l={x:e,y:s},c=this.ogma.view.getAngle();return this.elements.find(g=>{const{x:y,y:f}=pt(g),{width:m,height:v}=gt(g),k={x:y,y:f},{x:C,y:_}=st(_t(l,k),-c);return C>-i&&C<m+i&&_>-i&&_<v+i})}draw(e){e.innerHTML="";const s="",i=this.ogma.view.getAngle();this.elements.forEach((c,g)=>{const y=`class${g}`,f=gt(c),m=pt(c),v=c.id,{color:k,fontSize:C,font:_,strokeColor:R,strokeWidth:T,strokeType:M,background:L}=c.properties.style||Ft;if(v===this.selectedId)return;const S=Jt("g");S.classList.add("annotation-text"),S.setAttribute("fill",`${k}`),S.setAttribute("font-size",`${C}px`),S.setAttribute("font-family",`${_}`);const W=Jt("rect");let U=!1;M&&M!=="none"&&(U=!0,W.setAttribute("stroke",R||"black"),W.setAttribute("stroke-width",`${T}`),M==="dashed"&&W.setAttribute("stroke-dasharray","5,5")),(L&&L.length||U)&&(U=!0,W.setAttribute("fill",L||"transparent")),U&&(W.setAttribute("width",`${f.width}`),W.setAttribute("height",`${f.height}`)),S.appendChild(W),vn(c,S);const{x:lt,y:kt}=st(m,-i);S.setAttribute("transform",`translate(${lt},${kt})`),S.classList.add(y),S.setAttribute("data-annotation",`${c.id}`),S.setAttribute("data-annotation-type","text"),e.appendChild(S)});const l=Jt("style");l.innerHTML=s,e.firstChild&&e.insertBefore(l,e.firstChild)}refreshDrawing(){const e=this.ogma.view.getAngle();[...this.layer.element.children].forEach(s=>{const i=s.getAttribute("data-annotation");if(!i)return;const l=pt(this.getById(i)),{x:c,y:g}=st(l,-e);s.setAttribute("transform",`translate(${c},${g})`)})}getDefaultOptions(){return Xe}refreshEditor(){if(+this.selectedId<0&&+this.hoveredId<0)return;const e=this.getById(this.selectedId)||this.getById(this.hoveredId),s=gt(e),i=this.ogma.view.graphToScreenCoordinates(pt(e)),l=this.ogma.view.getZoom(),{font:c,fontSize:g,color:y,background:f,padding:m=0}=e.properties.style||Ft,v=(g||1)*l;this.textArea.value=e.properties.content,this.editor.element.style.transform=`translate(${i.x}px, ${i.y}px)translate(-50%, -50%)translate(${s.width/2*l}px, ${s.height/2*l}px)`,this.editor.element.style.width=`${s.width*l}px`,this.editor.element.style.height=`${s.height*l}px`,this.textArea.style.font=`${v} ${c}`,this.textArea.style.fontFamily=c||"sans-serif",this.textArea.style.fontSize=`${v}px`,this.textArea.style.padding=`${l*m}px`,this.textArea.style.lineHeight=`${v}px`,this.textArea.style.boxSizing="border-box",this.textArea.style.color=y||"black",this.textArea.style.background=f||"transparent",this.textArea.placeholder=this.placeholder,this.layer.refresh()}select(e){super.select(e),this.textArea.focus()}destroy(){super.destroy(),document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove,!0),this.ogma.events.off(this.onViewChanged)}}class bn{constructor(){x(this,"links",{}),x(this,"linksByTargetId",{}),x(this,"linksByArrowId",{})}add(e,s,i,l,c){const g=pe(),y=e.id,f={id:g,arrow:y,target:i,targetType:l,connectionPoint:c,side:s};return this.links[g]=f,this.linksByTargetId[i]||(this.linksByTargetId[i]=[]),this.linksByTargetId[i].push(g),this.linksByArrowId[y]||(this.linksByArrowId[y]={}),this.linksByArrowId[y][s]=g,e.properties.link=e.properties.link||{},e.properties.link[s]={id:i,side:s,type:l,magnet:c},this}arrowIsLinked(e,s){var i;return!!((i=this.linksByArrowId[e])!=null&&i[s])}remove(e,s){var i,l;const c=e.id,g=(i=this.linksByArrowId[c])==null?void 0:i[s];if((l=e.properties.link)==null||delete l[s],!g)return this;const y=this.links[g];delete this.links[g];const f=this.linksByTargetId[y.target];for(let m=0;m<f.length;m++)if(f[m]===g){f.splice(m,1);break}return delete this.linksByArrowId[c][s],this}getArrowLink(e,s){var i;const l=(i=this.linksByArrowId[e])==null?void 0:i[s];return l?this.links[l]:null}getTargetLinks(e,s){var i;return((i=this.linksByTargetId[e])==null?void 0:i.map(l=>this.links[l]).filter(l=>l.targetType===s))??[]}forEach(e){Object.values(this.links).forEach(e)}}const at=h=>h.properties.type==="arrow",yt=h=>h.properties.type==="text",Nr=h=>h.type==="FeatureCollection",wn={magnetColor:"#3e8",detectMargin:20,magnetHandleRadius:5,magnetRadius:10,textPlaceholder:"Type here",arrowHandleSize:3.5,textHandleSize:3.5,minArrowHeight:20,maxArrowHeight:30},Br=["start","end"],Hr=[{x:0,y:0},{x:.5,y:0},{x:1,y:0},{x:0,y:.5},{x:1,y:.5},{x:0,y:1},{x:.5,y:1},{x:1,y:1}];class xn extends Rr{constructor(e,s={}){super(),x(this,"arrows"),x(this,"texts"),x(this,"links",new bn),x(this,"layer"),x(this,"annotations"),x(this,"ogma"),x(this,"options"),x(this,"selected",null),x(this,"updateTimeout",0),x(this,"hoveredNode",null),x(this,"dragged",null),x(this,"textToMagnet"),x(this,"activeLinks",[]),x(this,"_render",i=>{if(!this.dragged||this.textToMagnet===void 0)return;i.beginPath(),i.fillStyle="green";const l=this.ogma.view.getZoom();Hr.forEach(c=>{if(!this.textToMagnet)return;const g=gt(this.textToMagnet),y=pt(this.textToMagnet),f=xe(c,{x:g.width,y:g.height}),m=st(f,this.ogma.view.getAngle()),{x:v,y:k}=Lt(m,y);i.moveTo(v,k),i.arc(v,k,this.options.magnetHandleRadius/l,0,Math.PI*2)}),i.fill(),i.closePath()}),x(this,"_onFeatureDrag",(i,l)=>{const c=l;if(at(i)&&c==="line")["start","end"].find(g=>{const y=g==="start"?Kt(i):ve(i);return this._snapToText(i,c,y)||this._findAndSnapToNode(i,g,y)});else if(at(i)&&c!=="line"){const g=c==="start"?Kt(i):ve(i);this._snapToText(i,c,g)||this._findAndSnapToNode(i,c,g)}else yt(i)&&(this.activeLinks.forEach(({arrow:g,side:y,connectionPoint:f})=>{const m=this.getAnnotation(g),v=gt(i),k=pt(i),C=xe(f,{x:v.width,y:v.height}),_=st(C,this.ogma.view.getAngle()),R=Lt(_,k);m.geometry.coordinates[y==="start"?0:1]=[R.x,R.y]}),this.activeLinks.length&&this.arrows.refreshLayer());this.layer.refresh(),this.emit(Ae,i,l)}),x(this,"_onFeatureDragEnd",i=>{this.dragged!==null&&at(i)&&Kt(this.dragged)&&Br.forEach(l=>{this.links.getArrowLink(i.id,l)&&this.emit(cn,{arrow:i,link:this.links.getArrowLink(i.id,l)})}),(yt(i)||at(i))&&this.onUpdate(i),this.dragged=null,this.activeLinks=[],this.textToMagnet=void 0,this.annotations.forEach(l=>l.enableDetection()),this.layer.refresh(),this.emit(jt,i)}),x(this,"_onFeatureDragStart",i=>{this.textToMagnet=void 0,at(i)?this.dragged=i:yt(i)&&this.activeLinks.push(...this.links.getTargetLinks(i.id,"text")),this.annotations.forEach(l=>{const c=l.getSelectedFeature();c&&c!==i&&l.unhover().unselect(),l.disableDetection()}),this.emit(Ee,i)}),x(this,"_onNodesDragStart",()=>{this.arrows.unhover().unselect(),this.texts.unhover().unselect()}),x(this,"_onNodesDrag",i=>{const{dx:l,dy:c}=i;this._moveNodes(i.nodes,l,c)}),x(this,"_onLayoutEnd",i=>{i.ids.forEach((l,c)=>{this.links.getTargetLinks(l,"node").forEach(g=>{const y=this.getAnnotation(g.arrow),f=g.side,m=ye(y,f==="start"?"end":"start"),v=i.positions.current[c],k=this.ogma.getNode(l).getAttribute("radius"),C=be(m,v,+k);Rt(y,f,C.x,C.y)})}),this.arrows.refreshLayer(),this.texts.refreshLayer()}),x(this,"_onAdded",i=>{this.emit(Ge,i)}),x(this,"_onRemoved",i=>{this.emit(Ye,i)}),x(this,"_onUnselect",i=>{this.selected=null,this.emit(Ve,i)}),x(this,"_onSelect",i=>{this.selected!==i&&(this.selected=i,this.emit(We,this.selected))}),x(this,"onUpdate",i=>{cancelAnimationFrame(this.updateTimeout),this.updateTimeout=requestAnimationFrame(()=>this._onUpdate(i))}),x(this,"_onUpdate",i=>{this.emit(qe,i)}),this.options=this.setOptions({...wn,...s}),this.ogma=e,this.arrows=new gn(e,this.options),this.texts=new mn(e,this.options),this.annotations=[this.arrows,this.texts],this.annotations.forEach(i=>{i.on(Ee,this._onFeatureDragStart).on(Ae,this._onFeatureDrag).on(jt,this._onFeatureDragEnd).on(qe,this.onUpdate).on(Ve,this._onUnselect).on(We,this._onSelect).on(Ge,this._onAdded).on(Ye,this._onRemoved)}),this.ogma.events.on("nodesDragStart",this._onNodesDragStart).on("nodesDragProgress",this._onNodesDrag).on("layoutEnd",this._onLayoutEnd).on(["viewChanged","rotate"],()=>{this.refreshTextLinks()}),this.layer=e.layers.addCanvasLayer(this._render),this.layer.moveToBottom()}_moveNodes(e,s,i){e.forEach(l=>{const c=this.links.getTargetLinks(l.getId(),"node"),g=l.getPosition();c.forEach(y=>{const f=this.getAnnotation(y.arrow),m=y.side,v=ye(f,m==="start"?"end":"start");let k=g;const C=+l.getAttribute("radius"),_=1e-6;(y.connectionPoint.x-(g.x-s)>_||y.connectionPoint.y-(g.y-i)>_)&&(k=be(v,g,C)),Rt(f,m,k.x,k.y)})}),this.arrows.refreshLayer()}_snapToText(e,s,i){const l=this.texts.detect(i,this.options.detectMargin);if(this.links.remove(e,s),!l)return!1;this.textToMagnet=l;const c=this.findMagnetPoint(Hr,l,i);return c?(Rt(e,s,c.point.x,c.point.y),this.links.add(e,s,l.id,"text",c.magnet),!0):!1}_findAndSnapToNode(e,s,i){var l,c;const g=this.ogma.view.graphToScreenCoordinates(i),y=this.ogma.view.getElementAt(g);this.links.remove(e,s),y&&y.isNode?((l=this.hoveredNode)==null||l.setSelected(!1),this.hoveredNode=y,y.setSelected(!0),this._snapToNode(e,s,y,g)):((c=this.hoveredNode)==null||c.setSelected(!1),this.hoveredNode=null)}_snapToNode(e,s,i,l){const c=i.getPositionOnScreen(),g=+i.getAttribute("radius"),y=g*this.ogma.view.getZoom(),f=l.x-c.x,m=l.y-c.y,v=Math.sqrt(f*f+m*m),k=i.getPosition();if(v<y+this.options.detectMargin){let C=k;if(v>y/2){const _=ye(e,s==="end"?"start":"end");C=be(_,C,g)}Rt(e,s,C.x,C.y),this.links.add(e,s,i.getId(),"node",C)}}refreshTextLinks(){let e=!1;this.links.forEach(({connectionPoint:s,targetType:i,target:l,arrow:c,side:g})=>{if(i!=="text")return;e=!0;const y=this.getAnnotation(l),f=this.getAnnotation(c),m=gt(y),v=pt(y),k=xe(s,{x:m.width,y:m.height}),C=st(k,this.ogma.view.getAngle()),_=Lt(C,v);Rt(f,g,_.x,_.y)}),e&&this.arrows.refreshLayer()}getSelected(){return this.selected}findMagnetPoint(e,s,i){let l;for(const c of e){const g=gt(s),y=pt(s),f=xe(c,{x:g.width,y:g.height}),m=st(f,this.ogma.view.getAngle()),v=Lt(m,y),k=It(_t(v,i)),C=Math.min(this.options.magnetRadius*this.ogma.view.getZoom(),g.width/2,g.height/2);if(k<Math.max(C,this.options.magnetHandleRadius)){l={point:v,magnet:c};break}}return l}setOptions(e={}){return this.options={...this.options||{},...e},this.options}select(e){const s=this.getAnnotations().features.find(i=>i.id===e);return s?(at(s)?this.arrows.select(s.id):yt(s)&&this.texts.select(s.id),this):this}unselect(){return this.selected?(at(this.selected)?this.arrows.unselect():yt(this.selected)&&this.texts.unselect(),this):this}add(e){if(Nr(e)){const[s,i]=e.features.reduce((l,c)=>(at(c)?l[1].push(c):yt(c)&&l[0].push(c),l),[[],[]]);return s.forEach(l=>this.add(l)),i.forEach(l=>this.add(l)),this.arrows.refreshLayer(),this}switch(e.properties.type){case"text":this.texts.add(e);break;default:this.arrows.add(e),this.loadLink(e);break}return this}remove(e){return Nr(e)?(e.features.forEach(s=>this.remove(s)),this):(at(e)?(this.links.remove(e,"start"),this.links.remove(e,"end"),this.arrows.remove(e.id)):this.texts.remove(e.id),this)}loadLink(e){if(e.properties.link)for(const s of Br){const i=e.properties.link[s];if(!i)continue;const l=this.getAnnotation(i.id);if(i.type==="text"&&l)this.links.add(e,s,i.id,i.type,i.magnet);else if(i.type==="node"){const c=this.ogma.getNode(i.id);if(!c)continue;this.links.add(e,s,i.id,i.type,i.magnet);const g=c.getPosition(),y=c.getAttribute("radius")||0,f=ye(e,s==="start"?"end":"start"),m=be(f,g,+y);Rt(e,s,m.x,m.y)}}}startArrow(e,s,i){this.cancelDrawing(),this.arrows.startDrawing(e,s,i)}startText(e,s,i){this.cancelDrawing(),this.texts.startDrawing(e,s,i)}cancelDrawing(){this.annotations.forEach(e=>e.cancelDrawing()),this.emit(hn)}updateStyle(e,s){const i=this.getAnnotations().features.find(l=>l.id===e);return i?(at(i)?this.arrows.updateStyle(i,s):yt(i)&&this.texts.updateStyle(i,s),this.onUpdate(i),this):this}setScale(e,s,i,l){const c=this.getAnnotations().features.find(g=>g.id===e);return c?(at(c)?this.arrows.scale(c,s,i,l):yt(c)&&this.texts.scale(c,s,i,l),this.onUpdate(c),this):this}getAnnotations(){const e={type:"FeatureCollection",features:[]};return this.annotations.forEach(s=>{e.features=[...e.features,...s.getElements()]}),e}getAnnotation(e){return this.getAnnotations().features.find(s=>s.id===e)}destroy(){this.annotations.forEach(e=>e.destroy()),this.layer.destroy()}}const Ze=[8,10,12,14,16,24,32,48,64,72],Qe="none",tr="#333333",An=["#FFFFFF","#F44E3B","#FE9200","#FCDC00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#1E88E5","#333333","#808080","#cccccc"],En=["Roboto","Helvetica Neue","Helvetica","Arial","sans-serif","Georgia, serif","Menlo","Monaco","Consolas","Courier New","monospace"].sort((h,e)=>h.toLocaleLowerCase().localeCompare(e.toLocaleLowerCase())),Ur={head:"arrow",strokeColor:tr,strokeWidth:5},Wr=.25,Vr={font:"Roboto",fontSize:Ze[2],padding:Ze[2]*Wr,color:tr,strokeType:Qe,background:Qe};function Yr(h){return h.reduce((e,s)=>e+s,0)/h.length}function _n(h,e=0,s=1){return e+(s-e)*h}function kn(h,e=0,s=1){return(h-e)/(s-e)}function Sn(){return X.createContext(null)}const er=X.createContext(void 0),Tn=()=>X.useContext(er),Cn=(h,e)=>{switch(e.type){case"add":return{...h,features:[...h.features,e.payload]};case"remove":return{...h,features:h.features.filter(s=>s.id!==e.payload.id)};case"update":return{...h,features:h.features.map(s=>s.id===e.payload.id?e.payload:s)};default:return h}},On=({children:h})=>{const e=Gr.useOgma(),[s,i]=X.useReducer(Cn,{type:"FeatureCollection",features:[]}),[l,c]=X.useState(null),[g,y]=X.useState(Ur),[f,m]=X.useState(Vr),[v,k]=X.useState(),[C,_]=X.useState(1),[R,T]=X.useState(1);return X.useEffect(()=>{if(!e)return;const M=new xn(e,{minArrowHeight:1}),L=Yr(e.getNodes().getAttribute("radius"))/5,S=C;return y({...g,strokeWidth:(g.strokeWidth||1)*S}),_(S),T(L),M.on("select",W=>{at(W)?y({...W.properties.style||{}}):yt(W)&&m({...W.properties.style||{}}),c(W)}).on("unselect",()=>{c(null)}),k(M),()=>{v==null||v.destroy()}},[e]),X.useEffect(()=>{v&&l&&(l==null?void 0:l.properties.type)==="arrow"&&v.updateStyle(l.id,g)},[v,g,l]),X.useEffect(()=>{v&&l&&(l==null?void 0:l.properties.type)==="text"&&v.updateStyle(l.id,f)},[v,f,l]),Jr.jsx(er.Provider,{value:{annotations:s,updateAnnotations:i,currentAnnotation:l,setCurrentAnnotation:c,textStyle:f,setTextStyle:m,arrowStyle:g,setArrowStyle:y,arrowWidthFactor:C,setArrowWidthFactor:_,textSizeFactor:R,setTextSizeFactor:T,editor:v,setEditor:k},children:h})};H.AnnotationsContext=er,H.AnnotationsContextProvider=On,H.BLACK=tr,H.RELATIVE_PADDING=Wr,H.TRANSPARENT=Qe,H.createAnnotationsContext=Sn,H.defaultArrowStyle=Ur,H.defaultColors=An,H.defaultTextStyle=Vr,H.fontSizes=Ze,H.fonts=En,H.interpolate=_n,H.mean=Yr,H.normalize=kn,H.useAnnotationsContext=Tn,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
|
|
53
|
+
`),x(this,"textArea"),x(this,"handleSize"),x(this,"rect",{x:0,y:0,width:0,height:0}),x(this,"annotation",{...Xe}),x(this,"startX",0),x(this,"startY",0),x(this,"handles",[]),x(this,"draggedHandle",G),x(this,"isFocused",!1),x(this,"placeholder","Type your text here..."),x(this,"_onFocus",()=>{this.textArea.value===this.placeholder&&(this.textArea.value=""),this.isFocused=!0}),x(this,"_onBlur",()=>{this.isFocused=!1}),x(this,"startDrawing",(l,c,g=pn(l,c,0,0,"",Ft))=>{this.add(g);const y=this.ogma.view.graphToScreenCoordinates({x:l,y:c});this.select(g.id),this.startDragging(this.getById(g.id),y.x,y.y),this.draggedHandle=6}),x(this,"cancelDrawing",()=>{this.isDragging&&(this.remove(this.annotation.id),this.annotation={...Xe},this.draggedHandle=G,this.isDragging=!1,this.emit(jt,this.annotation))}),x(this,"startDragging",(l,c,g)=>{this.annotation=l;const y=pt(this.annotation),f=gt(this.annotation);this.rect.x=y.x,this.rect.y=y.y,this.rect.width=f.width,this.rect.height=f.height,this.startX=c,this.startY=g,this.disableDragging(),this.textArea.classList.add("noevents"),this.textArea.setAttribute("disabled","disabled"),this.emit(Ae,this.annotation),this.isDragging=!0}),x(this,"onHandleMouseDown",l=>{const c=this.getById(this.selectedId)||this.getById(this.hoveredId);if(!c)return;this.selectedId!==c.id&&this.select(this.hoveredId);const{x:g,y}=Ue(l,this.ogma.getContainer());this.startDragging(c,g,y),this.draggedHandle=Ar(l.target)}),x(this,"onMouseMove",l=>{requestAnimationFrame(()=>this._onMouseMove(l))}),x(this,"_onMouseMove",l=>{if(!this.isDragging)return;l.stopPropagation(),l.preventDefault();const c=this.handles[this.draggedHandle],g=c.classList.contains("top"),y=c.classList.contains("left"),f=c.classList.contains("right"),m=c.classList.contains("bottom"),v=c.classList.contains("line-handle"),{x:k,y:C}=Ue(l,this.ogma.getContainer()),_=this.ogma.view.getZoom(),R=(k-this.startX)/_,T=(C-this.startY)/_,M=this.ogma.view.getAngle(),L=st({x:R,y:T},M);(m&&y||g&&f)&&(L.y=0,L.x=0);const S=y||v?this.rect.x+L.x:this.rect.x,W=g||v?this.rect.y+L.y:this.rect.y,U=Math.max(this.rect.width+R*(v||y?0:1),zr),lt=Math.max(this.rect.height+T*(v||g?0:1),zr);rn(this.annotation,S,W,U,lt),this.emit(xe,this.annotation,"text"),this.refreshEditor(),this.layer.refresh()}),x(this,"onMouseUp",()=>{!this.isDragging||this.draggedHandle===G||(this.restoreDragging(),this.textArea.classList.remove("noevents"),this.textArea.removeAttribute("disabled"),this.emit(jt,this.annotation),this.isDragging=!1,this.draggedHandle=G)}),x(this,"_onMousedown",l=>{l.stopPropagation()}),x(this,"onViewChanged",()=>{const l=Math.max(2,this.handleSize/this.ogma.view.getZoom());document.documentElement.style.setProperty("--handle-scale",`${1/l}`)}),x(this,"_onInput",()=>{const l=this.getById(this.selectedId);l&&(this.textArea.value=this.textArea.value.replace(/ +(?= )/g,""),this.textArea.focus(),l.properties.content=this.textArea.value,this.emit(qe,l),this.layer.refresh())}),this.showeditorOnHover=!1,this.handleSize=Dr.handleSize,this.placeholder=Dr.placeholder;const i=this.textArea=this.editor.element.querySelector("textarea");i.addEventListener("input",this._onInput),i.addEventListener("focus",this._onFocus),i.addEventListener("blur",this._onBlur),i.addEventListener("mousedown",this._onMousedown),i.spellcheck=!1,this.handles=Array.prototype.slice.call(this.editor.element.querySelectorAll(".annotation-text-handle > .handle")),this.handles.forEach(l=>l.addEventListener("mousedown",this.onHandleMouseDown)),document.addEventListener("mouseup",this.onMouseUp),document.addEventListener("mousemove",this.onMouseMove,!0),e.events.on(["viewChanged","zoom"],this.onViewChanged)}_canRemove(){return!this.isFocused}detect({x:e,y:s},i=0){const l={x:e,y:s},c=this.ogma.view.getAngle();return this.elements.find(g=>{const{x:y,y:f}=pt(g),{width:m,height:v}=gt(g),k={x:y,y:f},{x:C,y:_}=st(_t(l,k),-c);return C>-i&&C<m+i&&_>-i&&_<v+i})}draw(e){e.innerHTML="";const s="",i=this.ogma.view.getAngle();this.elements.forEach((c,g)=>{const y=`class${g}`,f=gt(c),m=pt(c),v=c.id,{color:k,fontSize:C,font:_,strokeColor:R,strokeWidth:T,strokeType:M,background:L}=c.properties.style||Ft;if(v===this.selectedId)return;const S=Jt("g");S.classList.add("annotation-text"),S.setAttribute("fill",`${k}`),S.setAttribute("font-size",`${C}px`),S.setAttribute("font-family",`${_}`);const W=Jt("rect");let U=!1;M&&M!=="none"&&(U=!0,W.setAttribute("stroke",R||"black"),W.setAttribute("stroke-width",`${T}`),M==="dashed"&&W.setAttribute("stroke-dasharray","5,5")),(L&&L.length||U)&&(U=!0,W.setAttribute("fill",L||"transparent")),U&&(W.setAttribute("width",`${f.width}`),W.setAttribute("height",`${f.height}`)),S.appendChild(W),vn(c,S);const{x:lt,y:kt}=st(m,-i);S.setAttribute("transform",`translate(${lt},${kt})`),S.classList.add(y),S.setAttribute("data-annotation",`${c.id}`),S.setAttribute("data-annotation-type","text"),e.appendChild(S)});const l=Jt("style");l.innerHTML=s,e.firstChild&&e.insertBefore(l,e.firstChild)}refreshDrawing(){const e=this.ogma.view.getAngle();[...this.layer.element.children].forEach(s=>{const i=s.getAttribute("data-annotation");if(!i)return;const l=pt(this.getById(i)),{x:c,y:g}=st(l,-e);s.setAttribute("transform",`translate(${c},${g})`)})}getDefaultOptions(){return Xe}refreshEditor(){if(+this.selectedId<0&&+this.hoveredId<0)return;const e=this.getById(this.selectedId)||this.getById(this.hoveredId),s=gt(e),i=this.ogma.view.graphToScreenCoordinates(pt(e)),l=this.ogma.view.getZoom(),{font:c,fontSize:g,color:y,background:f,padding:m=0}=e.properties.style||Ft,v=(g||1)*l;this.textArea.value=e.properties.content,this.editor.element.style.transform=`translate(${i.x}px, ${i.y}px)translate(-50%, -50%)translate(${s.width/2*l}px, ${s.height/2*l}px)`,this.editor.element.style.width=`${s.width*l}px`,this.editor.element.style.height=`${s.height*l}px`,this.textArea.style.font=`${v} ${c}`,this.textArea.style.fontFamily=c||"sans-serif",this.textArea.style.fontSize=`${v}px`,this.textArea.style.padding=`${l*m}px`,this.textArea.style.lineHeight=`${v}px`,this.textArea.style.boxSizing="border-box",this.textArea.style.color=y||"black",this.textArea.style.background=f||"transparent",this.textArea.placeholder=this.placeholder,this.layer.refresh()}select(e){super.select(e),this.textArea.focus()}destroy(){super.destroy(),document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove,!0),this.ogma.events.off(this.onViewChanged)}}class bn{constructor(){x(this,"links",{}),x(this,"linksByTargetId",{}),x(this,"linksByArrowId",{})}add(e,s,i,l,c){const g=pe(),y=e.id,f={id:g,arrow:y,target:i,targetType:l,connectionPoint:c,side:s};return this.links[g]=f,this.linksByTargetId[i]||(this.linksByTargetId[i]=[]),this.linksByTargetId[i].push(g),this.linksByArrowId[y]||(this.linksByArrowId[y]={}),this.linksByArrowId[y][s]=g,e.properties.link=e.properties.link||{},e.properties.link[s]={id:i,side:s,type:l,magnet:c},this}arrowIsLinked(e,s){var i;return!!((i=this.linksByArrowId[e])!=null&&i[s])}remove(e,s){var i,l;const c=e.id,g=(i=this.linksByArrowId[c])==null?void 0:i[s];if((l=e.properties.link)==null||delete l[s],!g)return this;const y=this.links[g];delete this.links[g];const f=this.linksByTargetId[y.target];for(let m=0;m<f.length;m++)if(f[m]===g){f.splice(m,1);break}return delete this.linksByArrowId[c][s],this}getArrowLink(e,s){var i;const l=(i=this.linksByArrowId[e])==null?void 0:i[s];return l?this.links[l]:null}getTargetLinks(e,s){var i;return((i=this.linksByTargetId[e])==null?void 0:i.map(l=>this.links[l]).filter(l=>l.targetType===s))??[]}forEach(e){Object.values(this.links).forEach(e)}}const at=h=>h.properties.type==="arrow",yt=h=>h.properties.type==="text",Nr=h=>h.type==="FeatureCollection",wn={magnetColor:"#3e8",detectMargin:20,magnetHandleRadius:5,magnetRadius:10,textPlaceholder:"Type here",arrowHandleSize:3.5,textHandleSize:3.5,minArrowHeight:20,maxArrowHeight:30},Br=["start","end"],Hr=[{x:0,y:0},{x:.5,y:0},{x:1,y:0},{x:0,y:.5},{x:1,y:.5},{x:0,y:1},{x:.5,y:1},{x:1,y:1}];class xn extends Rr{constructor(e,s={}){super(),x(this,"arrows"),x(this,"texts"),x(this,"links",new bn),x(this,"layer"),x(this,"annotations"),x(this,"ogma"),x(this,"options"),x(this,"selected",null),x(this,"updateTimeout",0),x(this,"hoveredNode",null),x(this,"dragged",null),x(this,"textToMagnet"),x(this,"activeLinks",[]),x(this,"_render",i=>{if(!this.dragged||this.textToMagnet===void 0)return;i.beginPath(),i.fillStyle="green";const l=this.ogma.view.getZoom();Hr.forEach(c=>{if(!this.textToMagnet)return;const g=gt(this.textToMagnet),y=pt(this.textToMagnet),f=we(c,{x:g.width,y:g.height}),m=st(f,this.ogma.view.getAngle()),{x:v,y:k}=Lt(m,y);i.moveTo(v,k),i.arc(v,k,this.options.magnetHandleRadius/l,0,Math.PI*2)}),i.fill(),i.closePath()}),x(this,"_onFeatureDrag",(i,l)=>{const c=l;if(at(i)&&c==="line")["start","end"].find(g=>{const y=g==="start"?Kt(i):ve(i);return this._snapToText(i,c,y)||this._findAndSnapToNode(i,g,y)});else if(at(i)&&c!=="line"){const g=c==="start"?Kt(i):ve(i);this._snapToText(i,c,g)||this._findAndSnapToNode(i,c,g)}else yt(i)&&(this.activeLinks.forEach(({arrow:g,side:y,connectionPoint:f})=>{const m=this.getAnnotation(g),v=gt(i),k=pt(i),C=we(f,{x:v.width,y:v.height}),_=st(C,this.ogma.view.getAngle()),R=Lt(_,k);m.geometry.coordinates[y==="start"?0:1]=[R.x,R.y]}),this.activeLinks.length&&this.arrows.refreshLayer());this.layer.refresh(),this.emit(xe,i,l)}),x(this,"_onFeatureDragEnd",i=>{this.dragged!==null&&at(i)&&Kt(this.dragged)&&Br.forEach(l=>{this.links.getArrowLink(i.id,l)&&this.emit(cn,{arrow:i,link:this.links.getArrowLink(i.id,l)})}),(yt(i)||at(i))&&this.onUpdate(i),this.dragged=null,this.activeLinks=[],this.textToMagnet=void 0,this.annotations.forEach(l=>l.enableDetection()),this.layer.refresh(),this.emit(jt,i)}),x(this,"_onFeatureDragStart",i=>{this.textToMagnet=void 0,at(i)?this.dragged=i:yt(i)&&this.activeLinks.push(...this.links.getTargetLinks(i.id,"text")),this.annotations.forEach(l=>{const c=l.getSelectedFeature();c&&c!==i&&l.unhover().unselect(),l.disableDetection()}),this.emit(Ae,i)}),x(this,"_onNodesDragStart",()=>{this.arrows.unhover().unselect(),this.texts.unhover().unselect()}),x(this,"_onNodesDrag",i=>{const{dx:l,dy:c}=i;this._moveNodes(i.nodes,l,c)}),x(this,"_onLayoutEnd",i=>{i.ids.forEach((l,c)=>{this.links.getTargetLinks(l,"node").forEach(g=>{const y=this.getAnnotation(g.arrow),f=g.side,m=ye(y,f==="start"?"end":"start"),v=i.positions.current[c],k=this.ogma.getNode(l).getAttribute("radius"),C=be(m,v,+k);Rt(y,f,C.x,C.y)})}),this.arrows.refreshLayer(),this.texts.refreshLayer()}),x(this,"_onAdded",i=>{this.emit(Ge,i)}),x(this,"_onRemoved",i=>{this.emit(Ye,i)}),x(this,"_onUnselect",i=>{this.selected=null,this.emit(Ve,i)}),x(this,"_onSelect",i=>{this.selected!==i&&(this.selected=i,this.emit(We,this.selected))}),x(this,"onUpdate",i=>{cancelAnimationFrame(this.updateTimeout),this.updateTimeout=requestAnimationFrame(()=>this._onUpdate(i))}),x(this,"_onUpdate",i=>{this.emit(qe,i)}),this.options=this.setOptions({...wn,...s}),this.ogma=e,this.arrows=new gn(e,this.options),this.texts=new mn(e,this.options),this.annotations=[this.arrows,this.texts],this.annotations.forEach(i=>{i.on(Ae,this._onFeatureDragStart).on(xe,this._onFeatureDrag).on(jt,this._onFeatureDragEnd).on(qe,this.onUpdate).on(Ve,this._onUnselect).on(We,this._onSelect).on(Ge,this._onAdded).on(Ye,this._onRemoved)}),this.ogma.events.on("nodesDragStart",this._onNodesDragStart).on("nodesDragProgress",this._onNodesDrag).on("layoutEnd",this._onLayoutEnd).on(["viewChanged","rotate"],()=>{this.refreshTextLinks()}),this.layer=e.layers.addCanvasLayer(this._render),this.layer.moveToBottom()}_moveNodes(e,s,i){e.forEach(l=>{const c=this.links.getTargetLinks(l.getId(),"node"),g=l.getPosition();c.forEach(y=>{const f=this.getAnnotation(y.arrow),m=y.side,v=ye(f,m==="start"?"end":"start");let k=g;const C=+l.getAttribute("radius"),_=1e-6;(y.connectionPoint.x-(g.x-s)>_||y.connectionPoint.y-(g.y-i)>_)&&(k=be(v,g,C)),Rt(f,m,k.x,k.y)})}),this.arrows.refreshLayer()}_snapToText(e,s,i){const l=this.texts.detect(i,this.options.detectMargin);if(this.links.remove(e,s),!l)return!1;this.textToMagnet=l;const c=this.findMagnetPoint(Hr,l,i);return c?(Rt(e,s,c.point.x,c.point.y),this.links.add(e,s,l.id,"text",c.magnet),!0):!1}_findAndSnapToNode(e,s,i){var l,c;const g=this.ogma.view.graphToScreenCoordinates(i),y=this.ogma.view.getElementAt(g);this.links.remove(e,s),y&&y.isNode?((l=this.hoveredNode)==null||l.setSelected(!1),this.hoveredNode=y,y.setSelected(!0),this._snapToNode(e,s,y,g)):((c=this.hoveredNode)==null||c.setSelected(!1),this.hoveredNode=null)}_snapToNode(e,s,i,l){const c=i.getPositionOnScreen(),g=+i.getAttribute("radius"),y=g*this.ogma.view.getZoom(),f=l.x-c.x,m=l.y-c.y,v=Math.sqrt(f*f+m*m),k=i.getPosition();if(v<y+this.options.detectMargin){let C=k;if(v>y/2){const _=ye(e,s==="end"?"start":"end");C=be(_,C,g)}Rt(e,s,C.x,C.y),this.links.add(e,s,i.getId(),"node",C)}}refreshTextLinks(){let e=!1;this.links.forEach(({connectionPoint:s,targetType:i,target:l,arrow:c,side:g})=>{if(i!=="text")return;e=!0;const y=this.getAnnotation(l),f=this.getAnnotation(c),m=gt(y),v=pt(y),k=we(s,{x:m.width,y:m.height}),C=st(k,this.ogma.view.getAngle()),_=Lt(C,v);Rt(f,g,_.x,_.y)}),e&&this.arrows.refreshLayer()}getSelected(){return this.selected}findMagnetPoint(e,s,i){let l;for(const c of e){const g=gt(s),y=pt(s),f=we(c,{x:g.width,y:g.height}),m=st(f,this.ogma.view.getAngle()),v=Lt(m,y),k=It(_t(v,i)),C=Math.min(this.options.magnetRadius*this.ogma.view.getZoom(),g.width/2,g.height/2);if(k<Math.max(C,this.options.magnetHandleRadius)){l={point:v,magnet:c};break}}return l}setOptions(e={}){return this.options={...this.options||{},...e},this.options}select(e){const s=this.getAnnotations().features.find(i=>i.id===e);return s?(at(s)?this.arrows.select(s.id):yt(s)&&this.texts.select(s.id),this):this}unselect(){return this.selected?(at(this.selected)?this.arrows.unselect():yt(this.selected)&&this.texts.unselect(),this):this}add(e){if(Nr(e)){const[s,i]=e.features.reduce((l,c)=>(at(c)?l[1].push(c):yt(c)&&l[0].push(c),l),[[],[]]);return s.forEach(l=>this.add(l)),i.forEach(l=>this.add(l)),this.arrows.refreshLayer(),this}switch(e.properties.type){case"text":this.texts.add(e);break;default:this.arrows.add(e),this.loadLink(e);break}return this}remove(e){return Nr(e)?(e.features.forEach(s=>this.remove(s)),this):(at(e)?(this.links.remove(e,"start"),this.links.remove(e,"end"),this.arrows.remove(e.id)):this.texts.remove(e.id),this)}loadLink(e){if(e.properties.link)for(const s of Br){const i=e.properties.link[s];if(!i)continue;const l=this.getAnnotation(i.id);if(i.type==="text"&&l)this.links.add(e,s,i.id,i.type,i.magnet);else if(i.type==="node"){const c=this.ogma.getNode(i.id);if(!c)continue;this.links.add(e,s,i.id,i.type,i.magnet);const g=c.getPosition(),y=c.getAttribute("radius")||0,f=ye(e,s==="start"?"end":"start"),m=be(f,g,+y);Rt(e,s,m.x,m.y)}}}startArrow(e,s,i){this.cancelDrawing(),this.arrows.startDrawing(e,s,i)}startText(e,s,i){this.cancelDrawing(),this.texts.startDrawing(e,s,i)}cancelDrawing(){this.annotations.forEach(e=>e.cancelDrawing()),this.emit(hn)}updateStyle(e,s){const i=this.getAnnotations().features.find(l=>l.id===e);return i?(at(i)?this.arrows.updateStyle(i,s):yt(i)&&this.texts.updateStyle(i,s),this.onUpdate(i),this):this}setScale(e,s,i,l){const c=this.getAnnotations().features.find(g=>g.id===e);return c?(at(c)?this.arrows.scale(c,s,i,l):yt(c)&&this.texts.scale(c,s,i,l),this.onUpdate(c),this):this}getAnnotations(){const e={type:"FeatureCollection",features:[]};return this.annotations.forEach(s=>{e.features=[...e.features,...s.getElements()]}),e}getAnnotation(e){return this.getAnnotations().features.find(s=>s.id===e)}destroy(){this.annotations.forEach(e=>e.destroy()),this.layer.destroy()}}const Ze=[8,10,12,14,16,24,32,48,64,72],Qe="none",tr="#333333",An=["#FFFFFF","#F44E3B","#FE9200","#FCDC00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#1E88E5","#333333","#808080","#cccccc"],En=["Roboto","Helvetica Neue","Helvetica","Arial","sans-serif","Georgia, serif","Menlo","Monaco","Consolas","Courier New","monospace"].sort((h,e)=>h.toLocaleLowerCase().localeCompare(e.toLocaleLowerCase())),Ur={head:"arrow",strokeColor:tr,strokeWidth:5},Wr=.25,Vr={font:"Roboto",fontSize:Ze[2],padding:Ze[2]*Wr,color:tr,strokeType:Qe,background:Qe};function Yr(h){return h.reduce((e,s)=>e+s,0)/h.length}function _n(h,e=0,s=1){return e+(s-e)*h}function kn(h,e=0,s=1){return(h-e)/(s-e)}function Sn(){return X.createContext(null)}const er=X.createContext(void 0),Tn=()=>X.useContext(er),Cn=(h,e)=>{switch(e.type){case"add":return{...h,features:[...h.features,e.payload]};case"remove":return{...h,features:h.features.filter(s=>s.id!==e.payload.id)};case"update":return{...h,features:h.features.map(s=>s.id===e.payload.id?e.payload:s)};default:return h}},On=({children:h})=>{const e=Gr.useOgma(),[s,i]=X.useReducer(Cn,{type:"FeatureCollection",features:[]}),[l,c]=X.useState(null),[g,y]=X.useState(Ur),[f,m]=X.useState(Vr),[v,k]=X.useState(),[C,_]=X.useState(1),[R,T]=X.useState(1);return X.useEffect(()=>{if(!e)return;const M=new xn(e,{minArrowHeight:1}),L=Yr(e.getNodes().getAttribute("radius"))/5,S=C;return y({...g,strokeWidth:(g.strokeWidth||1)*S}),_(S),T(L),M.on("select",W=>{at(W)?y({...W.properties.style||{}}):yt(W)&&m({...W.properties.style||{}}),c(W)}).on("unselect",()=>{c(null)}),k(M),()=>{v==null||v.destroy()}},[e]),X.useEffect(()=>{v&&l&&(l==null?void 0:l.properties.type)==="arrow"&&v.updateStyle(l.id,g)},[v,g,l]),X.useEffect(()=>{v&&l&&(l==null?void 0:l.properties.type)==="text"&&v.updateStyle(l.id,f)},[v,f,l]),Jr.jsx(er.Provider,{value:{annotations:s,updateAnnotations:i,currentAnnotation:l,setCurrentAnnotation:c,textStyle:f,setTextStyle:m,arrowStyle:g,setArrowStyle:y,arrowWidthFactor:C,setArrowWidthFactor:_,textSizeFactor:R,setTextSizeFactor:T,editor:v,setEditor:k},children:h})};H.AnnotationsContext=er,H.AnnotationsContextProvider=On,H.BLACK=tr,H.RELATIVE_PADDING=Wr,H.TRANSPARENT=Qe,H.createAnnotationsContext=Sn,H.defaultArrowStyle=Ur,H.defaultColors=An,H.defaultTextStyle=Vr,H.fontSizes=Ze,H.fonts=En,H.interpolate=_n,H.mean=Yr,H.normalize=kn,H.useAnnotationsContext=Tn,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Cr, { createContext as Or, useContext as qr, useReducer as Yr, useState as Nt, useEffect as
|
|
1
|
+
import Cr, { createContext as Or, useContext as qr, useReducer as Yr, useState as Nt, useEffect as er } from "react";
|
|
2
2
|
import { useOgma as Gr } from "@linkurious/ogma-react";
|
|
3
|
-
var
|
|
3
|
+
var or = { exports: {} }, ue = {};
|
|
4
4
|
/**
|
|
5
5
|
* @license React
|
|
6
6
|
* react-jsx-runtime.production.min.js
|
|
@@ -157,7 +157,7 @@ function Jr() {
|
|
|
157
157
|
lt++;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
function
|
|
160
|
+
function Be() {
|
|
161
161
|
{
|
|
162
162
|
if (lt--, lt === 0) {
|
|
163
163
|
var t = {
|
|
@@ -208,8 +208,8 @@ function Jr() {
|
|
|
208
208
|
}
|
|
209
209
|
var Kt = !1, _t;
|
|
210
210
|
{
|
|
211
|
-
var
|
|
212
|
-
_t = new
|
|
211
|
+
var He = typeof WeakMap == "function" ? WeakMap : Map;
|
|
212
|
+
_t = new He();
|
|
213
213
|
}
|
|
214
214
|
function Zt(t, u) {
|
|
215
215
|
if (!t || Kt)
|
|
@@ -277,15 +277,15 @@ function Jr() {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
} finally {
|
|
280
|
-
Kt = !1, Xt.current = w,
|
|
280
|
+
Kt = !1, Xt.current = w, Be(), Error.prepareStackTrace = b;
|
|
281
281
|
}
|
|
282
282
|
var M = t ? t.displayName || t.name : "", F = M ? It(M) : "";
|
|
283
283
|
return typeof t == "function" && _t.set(t, F), F;
|
|
284
284
|
}
|
|
285
|
-
function
|
|
285
|
+
function Ue(t, u, d) {
|
|
286
286
|
return Zt(t, !1);
|
|
287
287
|
}
|
|
288
|
-
function
|
|
288
|
+
function We(t) {
|
|
289
289
|
var u = t.prototype;
|
|
290
290
|
return !!(u && u.isReactComponent);
|
|
291
291
|
}
|
|
@@ -293,7 +293,7 @@ function Jr() {
|
|
|
293
293
|
if (t == null)
|
|
294
294
|
return "";
|
|
295
295
|
if (typeof t == "function")
|
|
296
|
-
return Zt(t,
|
|
296
|
+
return Zt(t, We(t));
|
|
297
297
|
if (typeof t == "string")
|
|
298
298
|
return It(t);
|
|
299
299
|
switch (t) {
|
|
@@ -305,7 +305,7 @@ function Jr() {
|
|
|
305
305
|
if (typeof t == "object")
|
|
306
306
|
switch (t.$$typeof) {
|
|
307
307
|
case f:
|
|
308
|
-
return
|
|
308
|
+
return Ue(t.render);
|
|
309
309
|
case k:
|
|
310
310
|
return Lt(t.type, u, d);
|
|
311
311
|
case C: {
|
|
@@ -326,7 +326,7 @@ function Jr() {
|
|
|
326
326
|
} else
|
|
327
327
|
xe.setExtraStackFrame(null);
|
|
328
328
|
}
|
|
329
|
-
function
|
|
329
|
+
function Ve(t, u, d, p, b) {
|
|
330
330
|
{
|
|
331
331
|
var w = Function.call.bind(bt);
|
|
332
332
|
for (var A in t)
|
|
@@ -345,9 +345,9 @@ function Jr() {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
|
-
var
|
|
348
|
+
var qe = Array.isArray;
|
|
349
349
|
function Qt(t) {
|
|
350
|
-
return
|
|
350
|
+
return qe(t);
|
|
351
351
|
}
|
|
352
352
|
function W(t) {
|
|
353
353
|
{
|
|
@@ -355,7 +355,7 @@ function Jr() {
|
|
|
355
355
|
return d;
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
function
|
|
358
|
+
function Ye(t) {
|
|
359
359
|
try {
|
|
360
360
|
return Ae(t), !1;
|
|
361
361
|
} catch {
|
|
@@ -366,7 +366,7 @@ function Jr() {
|
|
|
366
366
|
return "" + t;
|
|
367
367
|
}
|
|
368
368
|
function te(t) {
|
|
369
|
-
if (
|
|
369
|
+
if (Ye(t))
|
|
370
370
|
return T("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", W(t)), Ae(t);
|
|
371
371
|
}
|
|
372
372
|
var ot = L.ReactCurrentOwner, Ee = {
|
|
@@ -384,7 +384,7 @@ function Jr() {
|
|
|
384
384
|
}
|
|
385
385
|
return t.ref !== void 0;
|
|
386
386
|
}
|
|
387
|
-
function
|
|
387
|
+
function Ge(t) {
|
|
388
388
|
if (bt.call(t, "key")) {
|
|
389
389
|
var u = Object.getOwnPropertyDescriptor(t, "key").get;
|
|
390
390
|
if (u && u.isReactWarning)
|
|
@@ -392,13 +392,13 @@ function Jr() {
|
|
|
392
392
|
}
|
|
393
393
|
return t.key !== void 0;
|
|
394
394
|
}
|
|
395
|
-
function
|
|
395
|
+
function Xe(t, u) {
|
|
396
396
|
if (typeof t.ref == "string" && ot.current && u && ot.current.stateNode !== u) {
|
|
397
397
|
var d = tt(ot.current.type);
|
|
398
398
|
ee[d] || (T('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', tt(ot.current.type), t.ref), ee[d] = !0);
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
|
-
function
|
|
401
|
+
function Je(t, u) {
|
|
402
402
|
{
|
|
403
403
|
var d = function() {
|
|
404
404
|
jt || (jt = !0, T("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", u));
|
|
@@ -452,7 +452,7 @@ function Jr() {
|
|
|
452
452
|
function kt(t, u, d, p, b) {
|
|
453
453
|
{
|
|
454
454
|
var w, A = {}, E = null, O = null;
|
|
455
|
-
d !== void 0 && (te(d), E = "" + d),
|
|
455
|
+
d !== void 0 && (te(d), E = "" + d), Ge(u) && (te(u.key), E = "" + u.key), re(u) && (O = u.ref, Xe(u, b));
|
|
456
456
|
for (w in u)
|
|
457
457
|
bt.call(u, w) && !Ee.hasOwnProperty(w) && (A[w] = u[w]);
|
|
458
458
|
if (t && t.defaultProps) {
|
|
@@ -462,7 +462,7 @@ function Jr() {
|
|
|
462
462
|
}
|
|
463
463
|
if (E || O) {
|
|
464
464
|
var I = typeof t == "function" ? t.displayName || t.name || "Unknown" : t;
|
|
465
|
-
E &&
|
|
465
|
+
E && Je(A, I), O && ne(A, I);
|
|
466
466
|
}
|
|
467
467
|
return ke(t, E, O, b, p, ot.current, A);
|
|
468
468
|
}
|
|
@@ -492,7 +492,7 @@ Check the render method of \`` + t + "`.";
|
|
|
492
492
|
return "";
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
|
-
function
|
|
495
|
+
function Ke(t) {
|
|
496
496
|
return "";
|
|
497
497
|
}
|
|
498
498
|
var oe = {};
|
|
@@ -540,7 +540,7 @@ Check the top-level render call using <` + d + ">.");
|
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
542
|
}
|
|
543
|
-
function
|
|
543
|
+
function Ze(t) {
|
|
544
544
|
{
|
|
545
545
|
var u = t.type;
|
|
546
546
|
if (u == null || typeof u == "string")
|
|
@@ -556,7 +556,7 @@ Check the top-level render call using <` + d + ">.");
|
|
|
556
556
|
return;
|
|
557
557
|
if (d) {
|
|
558
558
|
var p = tt(u);
|
|
559
|
-
|
|
559
|
+
Ve(d, t.props, "prop", p, t);
|
|
560
560
|
} else if (u.PropTypes !== void 0 && !J) {
|
|
561
561
|
J = !0;
|
|
562
562
|
var b = tt(u);
|
|
@@ -584,7 +584,7 @@ Check the top-level render call using <` + d + ">.");
|
|
|
584
584
|
if (!A) {
|
|
585
585
|
var E = "";
|
|
586
586
|
(t === void 0 || typeof t == "object" && t !== null && Object.keys(t).length === 0) && (E += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
587
|
-
var O =
|
|
587
|
+
var O = Ke();
|
|
588
588
|
O ? E += O : E += $t();
|
|
589
589
|
var P;
|
|
590
590
|
t === null ? P = "null" : Qt(t) ? P = "array" : t !== void 0 && t.$$typeof === e ? (P = "<" + (tt(t.type) || "Unknown") + " />", E = " Did you accidentally export a JSX literal instead of a component?") : P = typeof t, T("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", P, E);
|
|
@@ -619,7 +619,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
619
619
|
<%s key={someKey} {...props} />`, N, F, K, F), se[F + N] = !0;
|
|
620
620
|
}
|
|
621
621
|
}
|
|
622
|
-
return t === i ? Oe(I) :
|
|
622
|
+
return t === i ? Oe(I) : Ze(I), I;
|
|
623
623
|
}
|
|
624
624
|
}
|
|
625
625
|
function r(t, u, d) {
|
|
@@ -632,9 +632,9 @@ React keys must be passed directly to JSX without using spread:
|
|
|
632
632
|
he.Fragment = i, he.jsx = a, he.jsxs = o;
|
|
633
633
|
}()), he;
|
|
634
634
|
}
|
|
635
|
-
process.env.NODE_ENV === "production" ?
|
|
636
|
-
var Kr =
|
|
637
|
-
let
|
|
635
|
+
process.env.NODE_ENV === "production" ? or.exports = Xr() : or.exports = Jr();
|
|
636
|
+
var Kr = or.exports, Zr = Object.defineProperty, Qr = (h, e, s) => e in h ? Zr(h, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : h[e] = s, x = (h, e, s) => (Qr(h, typeof e != "symbol" ? e + "" : e, s), s);
|
|
637
|
+
let Ne = (h = 21) => crypto.getRandomValues(new Uint8Array(h)).reduce((e, s) => (s &= 63, s < 36 ? e += s.toString(36) : s < 62 ? e += (s - 26).toString(36).toUpperCase() : s > 62 ? e += "-" : e += "_", e), "");
|
|
638
638
|
const fe = {
|
|
639
639
|
strokeType: "plain",
|
|
640
640
|
strokeColor: "black",
|
|
@@ -668,7 +668,7 @@ const fe = {
|
|
|
668
668
|
// start: { x: 0, y: 0 },
|
|
669
669
|
// end: { x: 100, y: 100 }
|
|
670
670
|
}, tn = (h = 0, e = 0, s = 0, i = 0, l = { ...fe }) => ({
|
|
671
|
-
id:
|
|
671
|
+
id: Ne(),
|
|
672
672
|
type: "Feature",
|
|
673
673
|
properties: {
|
|
674
674
|
type: "arrow",
|
|
@@ -765,7 +765,7 @@ function Fe(h, e, s) {
|
|
|
765
765
|
y: e.y + s * Math.sin(i)
|
|
766
766
|
};
|
|
767
767
|
}
|
|
768
|
-
function
|
|
768
|
+
function sr(h, e) {
|
|
769
769
|
if (!e)
|
|
770
770
|
return { x: h.clientX, y: h.clientY };
|
|
771
771
|
const s = e.getBoundingClientRect();
|
|
@@ -825,7 +825,7 @@ function ln(h, e, s, i, l) {
|
|
|
825
825
|
const S = yr(c, Fr(k), y, C), D = yr(g, k, f, C), L = S + `M ${c.x} ${c.y} ${g.x} ${g.y}` + D;
|
|
826
826
|
_.setAttribute("d", L), e.appendChild(_);
|
|
827
827
|
}
|
|
828
|
-
const Y = -1,
|
|
828
|
+
const Y = -1, Me = "dragging", ze = "dragstart", Vt = "dragend", ar = "select", lr = "unselect", un = "hover", hn = "unhover", ur = "remove", hr = "add", cn = "cancelDrawing", cr = "update", dn = "link";
|
|
829
829
|
var fn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
830
830
|
function Mr(h) {
|
|
831
831
|
return h && h.__esModule && Object.prototype.hasOwnProperty.call(h, "default") ? h.default : h;
|
|
@@ -968,7 +968,7 @@ class Br extends Nr {
|
|
|
968
968
|
*/
|
|
969
969
|
add(e) {
|
|
970
970
|
const s = this.getDefaultOptions(), i = Object.assign(e, {
|
|
971
|
-
id: e.id === void 0 ?
|
|
971
|
+
id: e.id === void 0 ? Ne() : e.id,
|
|
972
972
|
type: e.type,
|
|
973
973
|
properties: {
|
|
974
974
|
...s.properties,
|
|
@@ -1139,27 +1139,24 @@ class pn extends Br {
|
|
|
1139
1139
|
const l = this.getById(this.selectedId) || this.getById(this.hoveredId);
|
|
1140
1140
|
if (!l)
|
|
1141
1141
|
return;
|
|
1142
|
-
const { x: c, y: g } =
|
|
1142
|
+
const { x: c, y: g } = sr(i, this.ogma.getContainer());
|
|
1143
1143
|
this.startDragging(l, c, g), this.draggedHandle = Lr(i.target);
|
|
1144
1144
|
}), x(this, "onMouseUp", () => {
|
|
1145
1145
|
this.draggedHandle !== -1 && (this.restoreDragging(), this.isDragging = !1, this.draggedHandle = Y, this.emit(Vt, this.arrow));
|
|
1146
1146
|
}), x(this, "onMouseMove", (i) => {
|
|
1147
1147
|
if (!this.isDragging || this.draggedHandle === Y)
|
|
1148
1148
|
return;
|
|
1149
|
-
const l = this.handles[this.draggedHandle], c = this.ogma.view.getAngle(), g =
|
|
1150
|
-
i,
|
|
1151
|
-
this.ogma.getContainer()
|
|
1152
|
-
), { x: y, y: f } = at(
|
|
1149
|
+
const l = this.handles[this.draggedHandle], c = this.ogma.view.getAngle(), { x: g, y } = at(
|
|
1153
1150
|
an(
|
|
1154
|
-
{ x:
|
|
1151
|
+
{ x: i.x - this.startX, y: i.y - this.startY },
|
|
1155
1152
|
this.ogma.view.getZoom()
|
|
1156
1153
|
),
|
|
1157
1154
|
c
|
|
1158
|
-
),
|
|
1159
|
-
(
|
|
1160
|
-
|
|
1155
|
+
), f = l.id === vr, m = l.id === mr, v = l.id === br;
|
|
1156
|
+
(f || m) && Rr(this.arrow, this.start.x + g, this.start.y + y), (f || v) && Ir(this.arrow, this.end.x + g, this.end.y + y), this.emit(
|
|
1157
|
+
Me,
|
|
1161
1158
|
this.arrow,
|
|
1162
|
-
|
|
1159
|
+
f ? "line" : m ? "start" : "end"
|
|
1163
1160
|
), this.refreshEditor(), this.layer.refresh();
|
|
1164
1161
|
}), this.minArrowHeight = s.minArrowHeight || 0, this.maxArrowHeight = s.maxArrowHeight || 1e6, this.handles = Array.prototype.slice.call(
|
|
1165
1162
|
this.editor.element.querySelectorAll(".arrow-handle>.handle")
|
|
@@ -1190,7 +1187,7 @@ class pn extends Br {
|
|
|
1190
1187
|
this.isDragging && (this.remove(this.arrow.id), this.emit(Vt, this.arrow), this.restoreDragging(), this.isDragging = !1, this.draggedHandle = Y);
|
|
1191
1188
|
}
|
|
1192
1189
|
startDragging(e, s, i) {
|
|
1193
|
-
this.selectedId !== e.id && this.select(this.hoveredId), this.arrow = e, this.startX = s, this.startY = i, this.start = de(this.arrow), this.end = $e(this.arrow), this.disableDragging(), this.emit(
|
|
1190
|
+
this.selectedId !== e.id && this.select(this.hoveredId), this.arrow = e, this.startX = s, this.startY = i, this.start = de(this.arrow), this.end = $e(this.arrow), this.disableDragging(), this.emit(ze, this.arrow), this.isDragging = !0;
|
|
1194
1191
|
}
|
|
1195
1192
|
detect(e, s = 0) {
|
|
1196
1193
|
return this.elements.find((i) => {
|
|
@@ -1243,7 +1240,7 @@ const Wt = {
|
|
|
1243
1240
|
strokeWidth: 1,
|
|
1244
1241
|
strokeColor: "#000",
|
|
1245
1242
|
strokeType: "plain"
|
|
1246
|
-
},
|
|
1243
|
+
}, rr = {
|
|
1247
1244
|
id: 0,
|
|
1248
1245
|
type: "Feature",
|
|
1249
1246
|
properties: {
|
|
@@ -1269,7 +1266,7 @@ const Wt = {
|
|
|
1269
1266
|
handleSize: 3.5,
|
|
1270
1267
|
placeholder: "Your text..."
|
|
1271
1268
|
}, yn = (h = 0, e = 0, s = 100, i = 50, l = "", c = { ...Wt }) => ({
|
|
1272
|
-
id:
|
|
1269
|
+
id: Ne(),
|
|
1273
1270
|
type: "Feature",
|
|
1274
1271
|
properties: {
|
|
1275
1272
|
type: "text",
|
|
@@ -1497,7 +1494,7 @@ var Hr = { exports: {} };
|
|
|
1497
1494
|
return t.push(new z(r.slice(d))), t;
|
|
1498
1495
|
}
|
|
1499
1496
|
const be = { nbsp: " ", iexcl: "¡", cent: "¢", pound: "£", curren: "¤", yen: "¥", brvbar: "¦", sect: "§", uml: "¨", copy: "©", ordf: "ª", laquo: "«", not: "¬", shy: "", reg: "®", macr: "¯", deg: "°", plusmn: "±", sup2: "²", sup3: "³", acute: "´", micro: "µ", para: "¶", middot: "·", cedil: "¸", sup1: "¹", ordm: "º", raquo: "»", frac14: "¼", frac12: "½", frac34: "¾", iquest: "¿", Agrave: "À", Aacute: "Á", Acirc: "Â", Atilde: "Ã", Auml: "Ä", Aring: "Å", AElig: "Æ", Ccedil: "Ç", Egrave: "È", Eacute: "É", Ecirc: "Ê", Euml: "Ë", Igrave: "Ì", Iacute: "Í", Icirc: "Î", Iuml: "Ï", ETH: "Ð", Ntilde: "Ñ", Ograve: "Ò", Oacute: "Ó", Ocirc: "Ô", Otilde: "Õ", Ouml: "Ö", times: "×", Oslash: "Ø", Ugrave: "Ù", Uacute: "Ú", Ucirc: "Û", Uuml: "Ü", Yacute: "Ý", THORN: "Þ", szlig: "ß", agrave: "à", aacute: "á", acirc: "â", atilde: "ã", auml: "ä", aring: "å", aelig: "æ", ccedil: "ç", egrave: "è", eacute: "é", ecirc: "ê", euml: "ë", igrave: "ì", iacute: "í", icirc: "î", iuml: "ï", eth: "ð", ntilde: "ñ", ograve: "ò", oacute: "ó", ocirc: "ô", otilde: "õ", ouml: "ö", divide: "÷", oslash: "ø", ugrave: "ù", uacute: "ú", ucirc: "û", uuml: "ü", yacute: "ý", thorn: "þ", yuml: "ÿ", fnof: "ƒ", Alpha: "Α", Beta: "Β", Gamma: "Γ", Delta: "Δ", Epsilon: "Ε", Zeta: "Ζ", Eta: "Η", Theta: "Θ", Iota: "Ι", Kappa: "Κ", Lambda: "Λ", Mu: "Μ", Nu: "Ν", Xi: "Ξ", Omicron: "Ο", Pi: "Π", Rho: "Ρ", Sigma: "Σ", Tau: "Τ", Upsilon: "Υ", Phi: "Φ", Chi: "Χ", Psi: "Ψ", Omega: "Ω", alpha: "α", beta: "β", gamma: "γ", delta: "δ", epsilon: "ε", zeta: "ζ", eta: "η", theta: "θ", iota: "ι", kappa: "κ", lambda: "λ", mu: "μ", nu: "ν", xi: "ξ", omicron: "ο", pi: "π", rho: "ρ", sigmaf: "ς", sigma: "σ", tau: "τ", upsilon: "υ", phi: "φ", chi: "χ", psi: "ψ", omega: "ω", thetasym: "ϑ", upsih: "ϒ", piv: "ϖ", bull: "•", hellip: "…", prime: "′", Prime: "″", oline: "‾", frasl: "⁄", weierp: "℘", image: "ℑ", real: "ℜ", trade: "™", alefsym: "ℵ", larr: "←", uarr: "↑", rarr: "→", darr: "↓", harr: "↔", crarr: "↵", lArr: "⇐", uArr: "⇑", rArr: "⇒", dArr: "⇓", hArr: "⇔", forall: "∀", part: "∂", exist: "∃", empty: "∅", nabla: "∇", isin: "∈", notin: "∉", ni: "∋", prod: "∏", sum: "∑", minus: "−", lowast: "∗", radic: "√", prop: "∝", infin: "∞", ang: "∠", and: "⊥", or: "⊦", cap: "∩", cup: "∪", int: "∫", there4: "∴", sim: "∼", cong: "≅", asymp: "≈", ne: "≠", equiv: "≡", le: "≤", ge: "≥", sub: "⊂", sup: "⊃", nsub: "⊄", sube: "⊆", supe: "⊇", oplus: "⊕", otimes: "⊗", perp: "⊥", sdot: "⋅", lceil: "⌈", rceil: "⌉", lfloor: "⌊", rfloor: "⌋", lang: "〈", rang: "〉", loz: "◊", spades: "♠", clubs: "♣", hearts: "♥", diams: "♦", quot: '"', amp: "&", lt: "<", gt: ">", OElig: "Œ", oelig: "œ", Scaron: "Š", scaron: "š", Yuml: "Ÿ", circ: "ˆ", tilde: "˜", ensp: " ", emsp: " ", thinsp: " ", zwnj: "", zwj: "", lrm: "", rlm: "", ndash: "–", mdash: "—", lsquo: "‘", rsquo: "’", sbquo: "‚", ldquo: "“", rdquo: "”", bdquo: "„", dagger: "†", Dagger: "‡", permil: "‰", lsaquo: "‹", rsaquo: "›" };
|
|
1500
|
-
var
|
|
1497
|
+
var Be = /^[\n\r\x20\u2000-\u200B\u205F\u3000]/, Xt = /^<\/([a-zA-Z0-9]+)([^>]*)>/, Jt = /^<([a-zA-Z0-9]+)((?:\s[^=\s/]+(?:\s*=\s*(?:"[^"]+"|'[^']+'|[^>\\s]+))?)+)?\s*(\/?)>(\n*)/, It = /^<!--(.+?)-->/, Kt = /&(?:#(\d\d{2,})|#x([\da-fA-F]{2,})|([a-zA-Z][a-zA-Z1-4]{1,8}));/g, _t = { b: function(r) {
|
|
1501
1498
|
r.weight = "bold";
|
|
1502
1499
|
}, strong: function(r) {
|
|
1503
1500
|
r.weight = "bold";
|
|
@@ -1523,7 +1520,7 @@ var Hr = { exports: {} };
|
|
|
1523
1520
|
r.sub = !0;
|
|
1524
1521
|
}, sup: function(r) {
|
|
1525
1522
|
r.sup = !0;
|
|
1526
|
-
} },
|
|
1523
|
+
} }, He = { div: 1, li: 1, blockquote: 2, h1: 2, h2: 2, h3: 2, h4: 2, h5: 2, h6: 2, ul: 2, ol: 2, hr: 2, p: 2 };
|
|
1527
1524
|
function Zt(r) {
|
|
1528
1525
|
return r.replace(Kt, function(n, a, o, t) {
|
|
1529
1526
|
if (a || o) {
|
|
@@ -1533,16 +1530,16 @@ var Hr = { exports: {} };
|
|
|
1533
1530
|
return t in be ? be[t] : n;
|
|
1534
1531
|
});
|
|
1535
1532
|
}
|
|
1536
|
-
function
|
|
1533
|
+
function Ue(r) {
|
|
1537
1534
|
return r && r.length > 1 && (r[0] === '"' && r[r.length - 1] === '"' || r[0] === "'" && r[r.length - 1] === "'") ? r.slice(1, -1) : r;
|
|
1538
1535
|
}
|
|
1539
|
-
var
|
|
1536
|
+
var We = /^\s*([^=\s&]+)(?:\s*=\s*("[^"]+"|'[^']+'|[^>\s]+))?/;
|
|
1540
1537
|
function Lt(r) {
|
|
1541
1538
|
var n, a = {};
|
|
1542
1539
|
if (r) {
|
|
1543
1540
|
do
|
|
1544
|
-
if (n =
|
|
1545
|
-
var o = Zt(
|
|
1541
|
+
if (n = We.exec(r)) {
|
|
1542
|
+
var o = Zt(Ue(n[2] || "")).replace(/[ \r\n\t]+/g, " ").trim();
|
|
1546
1543
|
if (a[n[1]] = o, (r = r.slice(n[0].length)).length && /^\S/.test(r[0]))
|
|
1547
1544
|
throw new Error("Attribute error");
|
|
1548
1545
|
}
|
|
@@ -1553,7 +1550,7 @@ var Hr = { exports: {} };
|
|
|
1553
1550
|
return a;
|
|
1554
1551
|
}
|
|
1555
1552
|
const bt = { copyright: "©", textcopyright: "©", dag: "†", textdagger: "†", ddag: "‡", textdaggerdbl: "‡", guillemotleft: "«", guillemotright: "»", guilsinglleft: "‹", guilsinglright: "›", ldots: "…", dots: "…", textellipsis: "…", lq: "‘", P: "¶", textparagraph: "¶", pounds: "£", textsterling: "£", quotedblbase: "„", quotesinglbase: "‚", rq: "’", S: "§", sim: "~", textasciicircum: "^", textasciitilde: "˜", texttildelow: "~", textasteriskcentered: "*", textbackslash: "'", textbar: "|", textbardbl: "╎", textbigcircle: "◯", textbraceleft: "{", textbraceright: "}", textbullet: "•", textdollar: "$", textemdash: "—", textendash: "—", texteuro: "€", eurosym: "€", euro: "€", textexclamdown: "¡", textgreater: ">", textless: "<", textordfeminine: "ª", textordmasculine: "º", textperiodcentered: "·", cdot: "·", textquestiondown: "¿", textquotedblleft: "“", textquotedblright: "”", textquoteleft: "‘", textquoteright: "’", textquotestraightbase: "‚", textquotestraightdblbase: "„", textregistered: "®", textthreequartersemdash: "-", texttrademark: "™", texttwelveudash: "-", textunderscore: "_", textvisiblespace: "␣", gets: "←", textleftarrow: "←", to: "→", textrightarrow: "→", textdegree: "°", infty: "∞", triangle: "△", triangledown: "▽", blacktriangle: "▲", blacktriangledown: "▼", angle: "∠", sphericalangle: "∢", aleph: "ℵ", hbar: "ħ", imath: "𝚤", jmath: "𝚥", ell: "ℓ", wp: "℘", Re: "ℜ", Im: "ℑ", mho: "℧", prime: "′", emptyset: "∅", nabla: "∇", surd: "√", partial: "∂", top: "⟙", bot: "⟂", vdash: "⟝", dashv: "⟞", forall: "∀", exists: "∃", nexists: "∄", neg: "¬", lnot: "¬", flat: "♭", natural: "♮", sharp: "♯", backslash: "\\", Box: "□", Diamond: "♢", clubsuit: "♣", diamondsuit: "♦", heartsuit: "♥", spadesuit: "♠", Join: "⨝", blacksquare: "■", bigstar: "★", diagdown: "╲", diagup: "╱", blacklozenge: "⧫", rfloor: "⌋", lfloor: "⌊", rceil: "⌉", lceil: "⌈", rangle: "⟩", langle: "⟨", sum: "∑", int: "∫", oint: "∮", prod: "∏", coprod: "∏", bigcap: "∩", bigcup: "∪", bigsqcup: "⊔", bigvee: "∨", bigwedge: "∧", bigodot: "⊙", bigotimes: "⊗", bigoplus: "⊕", biguplus: "⊎", alpha: "α", beta: "β", chi: "χ", delta: "δ", epsilon: "ε", eta: "η", gamma: "γ", iota: "ι", kappa: "κ", lambda: "λ", mu: "μ", nu: "ν", omega: "ω", phi: "φ", pi: "π", psi: "ψ", rho: "ρ", sigma: "σ", tau: "τ", theta: "θ", upsilon: "υ", xi: "ξ", zeta: "ζ", Alpha: "Α", Beta: "Β", Chi: "Χ", Delta: "Δ", Epsilon: "Ε", Eta: "Η", Gamma: "Γ", Iota: "Ι", Kappa: "Κ", Lambda: "Λ", Mu: "Μ", Nu: "Ν", Omega: "Ω", Phi: "Φ", Pi: "Π", Psi: "Ψ", Rho: "Ρ", Sigma: "Σ", Tau: "Τ", Theta: "Θ", Upsilon: "Υ", Xi: "Ξ", Zeta: "Ζ", aa: "å", AA: "Å", ae: "æ", AE: "Æ", dh: "ð", DH: "Ð", dj: "đ", DJ: "Đ", ij: "ij", IJ: "IJ", l: "ł", L: "Ł", ng: "ŋ", NG: "Ŋ", o: "ø", O: "Ø", oe: "œ", OE: "Œ", ss: "ß", SS: "SS", th: "þ", TH: "Þ" };
|
|
1556
|
-
var we = /^(\^|_|\\[^#$%&~_^\\{}()\s]+)(\{)?/, xe = /^%[^\n]+(?:\n|$)/, Ft = /^[^#$%&~_^\\{}]+/,
|
|
1553
|
+
var we = /^(\^|_|\\[^#$%&~_^\\{}()\s]+)(\{)?/, xe = /^%[^\n]+(?:\n|$)/, Ft = /^[^#$%&~_^\\{}]+/, Ve = /^\\([&{}$%#_])/, qe = /(?:\\[\\@,!:;-]|-{2,3}|[!?]`|``?|,,|''?|~|<<|>>)/g, Qt = { "---": "—", "--": "–", "!`": "¡", "?`": "¿", "``": "“", ",,": "„", "''": "”", "`": "‘", "'": "’", "<<": "«", ">>": "»", "~": " ", "\\-": "", "\\,": " ", "\\;": " ", "\\:": " ", "\\!": " ", "\\@": "\uFEFF", "\\\\": "\\newline{}" }, W = { bf: function(r) {
|
|
1557
1554
|
r.weight = "bold";
|
|
1558
1555
|
}, it: function(r) {
|
|
1559
1556
|
r.style = "italic";
|
|
@@ -1575,7 +1572,7 @@ var Hr = { exports: {} };
|
|
|
1575
1572
|
this.open_context().href = n, this.add_token(new z(n)), this.close_context();
|
|
1576
1573
|
} };
|
|
1577
1574
|
W.textsuperscript = W["^"], W.textsubscript = W._, W.textsl = W.sl, W.mathbf = W.bf, W.mathit = W.it, W.textbf = W.bf, W.textit = W.it, W.textcolor = W.color;
|
|
1578
|
-
var
|
|
1575
|
+
var Ye = /[\r\n\xA0]+/g;
|
|
1579
1576
|
function Ae(r, n) {
|
|
1580
1577
|
r.sup && (r.baseline = 0.45, r.size = 0.7), r.sub && (r.baseline = -0.3, r.size = 0.7);
|
|
1581
1578
|
var a = n;
|
|
@@ -1617,7 +1614,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1617
1614
|
var _e = { center: "middle", right: "end" }, ee = { middle: 0.5, center: 0.5, bottom: 1, end: 1 }, re = function(r, n) {
|
|
1618
1615
|
return !r && !n || r === n;
|
|
1619
1616
|
};
|
|
1620
|
-
function
|
|
1617
|
+
function Ge(r, n) {
|
|
1621
1618
|
var a = [], o = n.font(), t = o.size, u = o.family, d = n.align(), p = n.createElement();
|
|
1622
1619
|
if (r.length) {
|
|
1623
1620
|
var b = o.height, w = n.valign(), A = n.height()(), E = n.width()(0), O = !isFinite(E) && r.length === 1, P = O ? null : n.x(), I = ot(b / t), B = O ? null : ot(b / (1.15 * t + (b - t) / 2));
|
|
@@ -1653,11 +1650,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1653
1650
|
}
|
|
1654
1651
|
return p.apply(void 0, ["text", { fontFamily: u, fontSize: t, textAnchor: _e[d] || "start" }].concat(a));
|
|
1655
1652
|
}
|
|
1656
|
-
var
|
|
1657
|
-
function
|
|
1653
|
+
var Xe = { middle: 0.5, center: 0.5, bottom: 1, end: 1 };
|
|
1654
|
+
function Je(r, n, a) {
|
|
1658
1655
|
if (r.length) {
|
|
1659
1656
|
a.textBaseline = "middle";
|
|
1660
|
-
var o = n.font(), t = o.height, u = o.size, d = n.valign(), p = n.height()(), b = n.width()(0), w = n.align(), A = w === "justify", E = 0.5 * t, O =
|
|
1657
|
+
var o = n.font(), t = o.height, u = o.size, d = n.valign(), p = n.height()(), b = n.width()(0), w = n.align(), A = w === "justify", E = 0.5 * t, O = Xe[d];
|
|
1661
1658
|
if (O && isFinite(p)) {
|
|
1662
1659
|
var P = r.length * t;
|
|
1663
1660
|
E += p * O - P * O;
|
|
@@ -1753,7 +1750,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1753
1750
|
return [];
|
|
1754
1751
|
for (var F = 0, $ = 0, N = 0, K = [], G = [], V = !1; F < b.length && $ < M; ) {
|
|
1755
1752
|
var j = b[F], nt = Ae(j, A);
|
|
1756
|
-
if (j.width = H(j, nt), j.font = nt, j.line = $, j.whitespace = j.value in S, j.value && (j.value = j.value.replace(
|
|
1753
|
+
if (j.width = H(j, nt), j.font = nt, j.line = $, j.whitespace = j.value in S, j.value && (j.value = j.value.replace(Ye, " ")), !(!N && j.whitespace || V && j.whitespace))
|
|
1757
1754
|
if (j instanceof X)
|
|
1758
1755
|
N = 0, G = [], K.push(F + 1), $++;
|
|
1759
1756
|
else if (j instanceof lt || j instanceof ut)
|
|
@@ -1786,14 +1783,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1786
1783
|
var ae = 0, pt = 0, Z = K.map(function(Tt) {
|
|
1787
1784
|
for (var et, St = ae; (et = b[St]) && (et.whitespace || !et.value); )
|
|
1788
1785
|
St++;
|
|
1789
|
-
for (var xt = Tt,
|
|
1790
|
-
et instanceof X && (
|
|
1786
|
+
for (var xt = Tt, Qe = null; xt > St && (et = b[xt - 1]) && (et.whitespace || !(et.value || et instanceof ut)); )
|
|
1787
|
+
et instanceof X && (Qe = et), xt--;
|
|
1791
1788
|
et instanceof ut && (et.value = "-", et.width = H("-", et.font)), ae = Tt;
|
|
1792
|
-
var zt = b.slice(St, xt).filter(function(
|
|
1793
|
-
return
|
|
1789
|
+
var zt = b.slice(St, xt).filter(function(tr) {
|
|
1790
|
+
return tr.value;
|
|
1794
1791
|
});
|
|
1795
|
-
return
|
|
1796
|
-
return
|
|
1792
|
+
return Qe && zt.push(Qe), zt.width = zt.reduce(function(tr, Vr) {
|
|
1793
|
+
return tr + Vr.width;
|
|
1797
1794
|
}, 0), zt.width > pt && (pt = zt.width), zt;
|
|
1798
1795
|
});
|
|
1799
1796
|
if (Z.hasLineOverflow = !1, P) {
|
|
@@ -1855,7 +1852,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1855
1852
|
return arguments.length ? (this.props.createElement = o, this) : this.props.createElement || r.createElement;
|
|
1856
1853
|
} }, { key: "render", value: function() {
|
|
1857
1854
|
var o = ke(arguments);
|
|
1858
|
-
return typeof o.text == "string" && (o.text = this.linebreak(o.text)), o.ctx ?
|
|
1855
|
+
return typeof o.text == "string" && (o.text = this.linebreak(o.text)), o.ctx ? Je(o.text, this, o.ctx) : Ge(o.text, this);
|
|
1859
1856
|
} }], a && ie(n.prototype, a), Object.defineProperty(n, "prototype", { writable: !1 }), r;
|
|
1860
1857
|
}();
|
|
1861
1858
|
function dt(r) {
|
|
@@ -1871,7 +1868,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1871
1868
|
o[a] = r[a];
|
|
1872
1869
|
return o;
|
|
1873
1870
|
}
|
|
1874
|
-
function
|
|
1871
|
+
function Ke(r, n) {
|
|
1875
1872
|
for (var a = 0; a < n.length; a++) {
|
|
1876
1873
|
var o = n[a];
|
|
1877
1874
|
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(r, (t = function(u, d) {
|
|
@@ -1956,9 +1953,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1956
1953
|
var t = typeof o.text.render == "function" ? o.text.render() : o.text;
|
|
1957
1954
|
return this.createElement()("g", { transform: "rotate(".concat(this.rotate(), ") translate(").concat(this.anchor(), ")") }, t);
|
|
1958
1955
|
}
|
|
1959
|
-
} }], a &&
|
|
1956
|
+
} }], a && Ke(n.prototype, a), Object.defineProperty(n, "prototype", { writable: !1 }), r;
|
|
1960
1957
|
}(), Ce = Object.prototype.hasOwnProperty, Dt = {};
|
|
1961
|
-
function
|
|
1958
|
+
function Ze(r) {
|
|
1962
1959
|
return Dt[r] || (Dt[r] = r.replace(/([a-z])([A-Z])/g, function(n, a, o) {
|
|
1963
1960
|
return a + "-" + o.toLowerCase();
|
|
1964
1961
|
})), Dt[r];
|
|
@@ -1975,7 +1972,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1975
1972
|
var a = typeof r == "string" ? document.createElementNS("http://www.w3.org/2000/svg", r) : r;
|
|
1976
1973
|
if (n && a.setAttribute)
|
|
1977
1974
|
for (var o in n)
|
|
1978
|
-
Ce.call(n, o) && n[o] != null && a.setAttribute(o === "className" ? "class" :
|
|
1975
|
+
Ce.call(n, o) && n[o] != null && a.setAttribute(o === "className" ? "class" : Ze(o), n[o]);
|
|
1979
1976
|
for (var t = arguments.length, u = new Array(t > 2 ? t - 2 : 0), d = 2; d < t; d++)
|
|
1980
1977
|
u[d - 2] = arguments[d];
|
|
1981
1978
|
return u != null && u.length && u.forEach(function(p) {
|
|
@@ -1990,9 +1987,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1990
1987
|
o[O] && (E[O] = o[O]);
|
|
1991
1988
|
t.push(E);
|
|
1992
1989
|
}, p = function(E) {
|
|
1993
|
-
var O = t.length, P =
|
|
1990
|
+
var O = t.length, P = He[E];
|
|
1994
1991
|
if (O && P) {
|
|
1995
|
-
for (var I = O - 1; t[I] && (t[I] instanceof lt ||
|
|
1992
|
+
for (var I = O - 1; t[I] && (t[I] instanceof lt || Be.test(t[I].value)); )
|
|
1996
1993
|
I--;
|
|
1997
1994
|
for (; P && t[I] && t[I] instanceof X; )
|
|
1998
1995
|
I--, P--;
|
|
@@ -2024,7 +2021,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2024
2021
|
return n.push(F), "\\verb," + (n.length - 1) + ",";
|
|
2025
2022
|
}).replace(/\\\\\n/g, function() {
|
|
2026
2023
|
return "\\\\";
|
|
2027
|
-
}).replace(
|
|
2024
|
+
}).replace(qe, function(M, F, $) {
|
|
2028
2025
|
return $.charAt(F - 1) === "\\" ? M : Qt[M];
|
|
2029
2026
|
}).replace(/\n\s+/g, function(M) {
|
|
2030
2027
|
return /\n/.test(M.slice(1)) ? "\\par " : M;
|
|
@@ -2048,7 +2045,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2048
2045
|
}, w = { tokens: t, open_context: p, close_context: b, add_token: d }; r.length; ) {
|
|
2049
2046
|
if (a = Ft.exec(r))
|
|
2050
2047
|
Et(a[0], !1).forEach(d);
|
|
2051
|
-
else if (a =
|
|
2048
|
+
else if (a = Ve.exec(r))
|
|
2052
2049
|
d(new z(a[1]));
|
|
2053
2050
|
else if (!(a = xe.exec(r))) {
|
|
2054
2051
|
if (a = /^\{/.exec(r))
|
|
@@ -2094,10 +2091,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2094
2091
|
})(Hr);
|
|
2095
2092
|
var vn = Hr.exports;
|
|
2096
2093
|
const xr = /* @__PURE__ */ Mr(vn);
|
|
2097
|
-
function
|
|
2094
|
+
function nr(h) {
|
|
2098
2095
|
return h.replace(/…$/, "");
|
|
2099
2096
|
}
|
|
2100
|
-
function
|
|
2097
|
+
function ir(h) {
|
|
2101
2098
|
return h.children[0].innerHTML;
|
|
2102
2099
|
}
|
|
2103
2100
|
function mn(h, e) {
|
|
@@ -2131,7 +2128,7 @@ function mn(h, e) {
|
|
|
2131
2128
|
`) || v.push(m), m++;
|
|
2132
2129
|
break;
|
|
2133
2130
|
}
|
|
2134
|
-
const S = ir(
|
|
2131
|
+
const S = nr(ir(f[m]));
|
|
2135
2132
|
R.startsWith(S) && (R = R.slice(S.length).trim()), m++;
|
|
2136
2133
|
}
|
|
2137
2134
|
}), v.forEach((_) => y.removeChild(f[_]));
|
|
@@ -2140,18 +2137,18 @@ function mn(h, e) {
|
|
|
2140
2137
|
let R = _;
|
|
2141
2138
|
const S = [];
|
|
2142
2139
|
for (; R.length > 0; ) {
|
|
2143
|
-
const D = f.find((T) => !!T.children[0] && T.children[0].tagName === "tspan" && R.startsWith(ir(
|
|
2140
|
+
const D = f.find((T) => !!T.children[0] && T.children[0].tagName === "tspan" && R.startsWith(nr(ir(T))));
|
|
2144
2141
|
if (!D)
|
|
2145
2142
|
break;
|
|
2146
2143
|
S.push(D);
|
|
2147
|
-
const L =
|
|
2144
|
+
const L = nr(D.children[0].innerHTML).length;
|
|
2148
2145
|
if (!L)
|
|
2149
2146
|
break;
|
|
2150
2147
|
R = R.slice(L);
|
|
2151
2148
|
}
|
|
2152
2149
|
S.forEach((D) => {
|
|
2153
2150
|
const L = document.createElementNS("http://www.w3.org/2000/svg", "a");
|
|
2154
|
-
L.setAttribute("href", _), L.setAttribute("target", "_blank"), L.innerHTML =
|
|
2151
|
+
L.setAttribute("href", _), L.setAttribute("target", "_blank"), L.innerHTML = ir(D), D.children[0].innerHTML = "", D.children[0].appendChild(L);
|
|
2155
2152
|
});
|
|
2156
2153
|
}), e.appendChild(y);
|
|
2157
2154
|
}
|
|
@@ -2173,7 +2170,7 @@ class bn extends Br {
|
|
|
2173
2170
|
<textarea wrap="on"></textarea>
|
|
2174
2171
|
</div>
|
|
2175
2172
|
`
|
|
2176
|
-
), x(this, "textArea"), x(this, "handleSize"), x(this, "rect", { x: 0, y: 0, width: 0, height: 0 }), x(this, "annotation", { ...
|
|
2173
|
+
), x(this, "textArea"), x(this, "handleSize"), x(this, "rect", { x: 0, y: 0, width: 0, height: 0 }), x(this, "annotation", { ...rr }), x(this, "startX", 0), x(this, "startY", 0), x(this, "handles", []), x(this, "draggedHandle", Y), x(this, "isFocused", !1), x(this, "placeholder", "Type your text here..."), x(this, "_onFocus", () => {
|
|
2177
2174
|
this.textArea.value === this.placeholder && (this.textArea.value = ""), this.isFocused = !0;
|
|
2178
2175
|
}), x(this, "_onBlur", () => {
|
|
2179
2176
|
this.isFocused = !1;
|
|
@@ -2182,17 +2179,17 @@ class bn extends Br {
|
|
|
2182
2179
|
const y = this.ogma.view.graphToScreenCoordinates({ x: l, y: c });
|
|
2183
2180
|
this.select(g.id), this.startDragging(this.getById(g.id), y.x, y.y), this.draggedHandle = 6;
|
|
2184
2181
|
}), x(this, "cancelDrawing", () => {
|
|
2185
|
-
this.isDragging && (this.remove(this.annotation.id), this.annotation = { ...
|
|
2182
|
+
this.isDragging && (this.remove(this.annotation.id), this.annotation = { ...rr }, this.draggedHandle = Y, this.isDragging = !1, this.emit(Vt, this.annotation));
|
|
2186
2183
|
}), x(this, "startDragging", (l, c, g) => {
|
|
2187
2184
|
this.annotation = l;
|
|
2188
2185
|
const y = vt(this.annotation), f = mt(this.annotation);
|
|
2189
|
-
this.rect.x = y.x, this.rect.y = y.y, this.rect.width = f.width, this.rect.height = f.height, this.startX = c, this.startY = g, this.disableDragging(), this.textArea.classList.add("noevents"), this.textArea.setAttribute("disabled", "disabled"), this.emit(
|
|
2186
|
+
this.rect.x = y.x, this.rect.y = y.y, this.rect.width = f.width, this.rect.height = f.height, this.startX = c, this.startY = g, this.disableDragging(), this.textArea.classList.add("noevents"), this.textArea.setAttribute("disabled", "disabled"), this.emit(ze, this.annotation), this.isDragging = !0;
|
|
2190
2187
|
}), x(this, "onHandleMouseDown", (l) => {
|
|
2191
2188
|
const c = this.getById(this.selectedId) || this.getById(this.hoveredId);
|
|
2192
2189
|
if (!c)
|
|
2193
2190
|
return;
|
|
2194
2191
|
this.selectedId !== c.id && this.select(this.hoveredId);
|
|
2195
|
-
const { x: g, y } =
|
|
2192
|
+
const { x: g, y } = sr(l, this.ogma.getContainer());
|
|
2196
2193
|
this.startDragging(c, g, y), this.draggedHandle = Lr(l.target);
|
|
2197
2194
|
}), x(this, "onMouseMove", (l) => {
|
|
2198
2195
|
requestAnimationFrame(() => this._onMouseMove(l));
|
|
@@ -2200,7 +2197,7 @@ class bn extends Br {
|
|
|
2200
2197
|
if (!this.isDragging)
|
|
2201
2198
|
return;
|
|
2202
2199
|
l.stopPropagation(), l.preventDefault();
|
|
2203
|
-
const c = this.handles[this.draggedHandle], g = c.classList.contains("top"), y = c.classList.contains("left"), f = c.classList.contains("right"), m = c.classList.contains("bottom"), v = c.classList.contains("line-handle"), { x: k, y: C } =
|
|
2200
|
+
const c = this.handles[this.draggedHandle], g = c.classList.contains("top"), y = c.classList.contains("left"), f = c.classList.contains("right"), m = c.classList.contains("bottom"), v = c.classList.contains("line-handle"), { x: k, y: C } = sr(
|
|
2204
2201
|
l,
|
|
2205
2202
|
this.ogma.getContainer()
|
|
2206
2203
|
), _ = this.ogma.view.getZoom(), R = (k - this.startX) / _, S = (C - this.startY) / _, D = this.ogma.view.getAngle(), L = at({ x: R, y: S }, D);
|
|
@@ -2212,7 +2209,7 @@ class bn extends Br {
|
|
|
2212
2209
|
this.rect.height + S * (v || g ? 0 : 1),
|
|
2213
2210
|
Ar
|
|
2214
2211
|
);
|
|
2215
|
-
nn(this.annotation, T, U, H, it), this.emit(
|
|
2212
|
+
nn(this.annotation, T, U, H, it), this.emit(Me, this.annotation, "text"), this.refreshEditor(), this.layer.refresh();
|
|
2216
2213
|
}), x(this, "onMouseUp", () => {
|
|
2217
2214
|
!this.isDragging || this.draggedHandle === Y || (this.restoreDragging(), this.textArea.classList.remove("noevents"), this.textArea.removeAttribute("disabled"), this.emit(Vt, this.annotation), this.isDragging = !1, this.draggedHandle = Y);
|
|
2218
2215
|
}), x(this, "_onMousedown", (l) => {
|
|
@@ -2278,7 +2275,7 @@ class bn extends Br {
|
|
|
2278
2275
|
});
|
|
2279
2276
|
}
|
|
2280
2277
|
getDefaultOptions() {
|
|
2281
|
-
return
|
|
2278
|
+
return rr;
|
|
2282
2279
|
}
|
|
2283
2280
|
refreshEditor() {
|
|
2284
2281
|
if (+this.selectedId < 0 && +this.hoveredId < 0)
|
|
@@ -2306,7 +2303,7 @@ class wn {
|
|
|
2306
2303
|
x(this, "links", {}), x(this, "linksByTargetId", {}), x(this, "linksByArrowId", {});
|
|
2307
2304
|
}
|
|
2308
2305
|
add(e, s, i, l, c) {
|
|
2309
|
-
const g =
|
|
2306
|
+
const g = Ne(), y = e.id, f = {
|
|
2310
2307
|
id: g,
|
|
2311
2308
|
arrow: y,
|
|
2312
2309
|
target: i,
|
|
@@ -2402,7 +2399,7 @@ class An extends Nr {
|
|
|
2402
2399
|
const m = this.getAnnotation(g), v = mt(i), k = vt(i), C = je(f, { x: v.width, y: v.height }), _ = at(C, this.ogma.view.getAngle()), R = Ht(_, k);
|
|
2403
2400
|
m.geometry.coordinates[y === "start" ? 0 : 1] = [R.x, R.y];
|
|
2404
2401
|
}), this.activeLinks.length && this.arrows.refreshLayer());
|
|
2405
|
-
this.layer.refresh(), this.emit(
|
|
2402
|
+
this.layer.refresh(), this.emit(Me, i, l);
|
|
2406
2403
|
}), x(this, "_onFeatureDragEnd", (i) => {
|
|
2407
2404
|
this.dragged !== null && st(i) && de(this.dragged) && _r.forEach((l) => {
|
|
2408
2405
|
this.links.getArrowLink(i.id, l) && this.emit(dn, {
|
|
@@ -2414,7 +2411,7 @@ class An extends Nr {
|
|
|
2414
2411
|
this.textToMagnet = void 0, st(i) ? this.dragged = i : yt(i) && this.activeLinks.push(...this.links.getTargetLinks(i.id, "text")), this.annotations.forEach((l) => {
|
|
2415
2412
|
const c = l.getSelectedFeature();
|
|
2416
2413
|
c && c !== i && l.unhover().unselect(), l.disableDetection();
|
|
2417
|
-
}), this.emit(
|
|
2414
|
+
}), this.emit(ze, i);
|
|
2418
2415
|
}), x(this, "_onNodesDragStart", () => {
|
|
2419
2416
|
this.arrows.unhover().unselect(), this.texts.unhover().unselect();
|
|
2420
2417
|
}), x(this, "_onNodesDrag", (i) => {
|
|
@@ -2445,7 +2442,7 @@ class An extends Nr {
|
|
|
2445
2442
|
}), x(this, "_onUpdate", (i) => {
|
|
2446
2443
|
this.emit(cr, i);
|
|
2447
2444
|
}), this.options = this.setOptions({ ...xn, ...s }), this.ogma = e, this.arrows = new pn(e, this.options), this.texts = new bn(e, this.options), this.annotations = [this.arrows, this.texts], this.annotations.forEach((i) => {
|
|
2448
|
-
i.on(
|
|
2445
|
+
i.on(ze, this._onFeatureDragStart).on(Me, this._onFeatureDrag).on(Vt, this._onFeatureDragEnd).on(cr, this.onUpdate).on(lr, this._onUnselect).on(ar, this._onSelect).on(hr, this._onAdded).on(ur, this._onRemoved);
|
|
2449
2446
|
}), this.ogma.events.on("nodesDragStart", this._onNodesDragStart).on("nodesDragProgress", this._onNodesDrag).on("layoutEnd", this._onLayoutEnd).on(["viewChanged", "rotate"], () => {
|
|
2450
2447
|
this.refreshTextLinks();
|
|
2451
2448
|
}), this.layer = e.layers.addCanvasLayer(this._render), this.layer.moveToBottom();
|
|
@@ -2746,7 +2743,7 @@ const Wr = Or(
|
|
|
2746
2743
|
type: "FeatureCollection",
|
|
2747
2744
|
features: []
|
|
2748
2745
|
}), [l, c] = Nt(null), [g, y] = Nt(En), [f, m] = Nt(kn), [v, k] = Nt(), [C, _] = Nt(1), [R, S] = Nt(1);
|
|
2749
|
-
return
|
|
2746
|
+
return er(() => {
|
|
2750
2747
|
if (!e)
|
|
2751
2748
|
return;
|
|
2752
2749
|
const D = new An(e, {
|
|
@@ -2766,9 +2763,9 @@ const Wr = Or(
|
|
|
2766
2763
|
}), k(D), () => {
|
|
2767
2764
|
v == null || v.destroy();
|
|
2768
2765
|
};
|
|
2769
|
-
}, [e]),
|
|
2766
|
+
}, [e]), er(() => {
|
|
2770
2767
|
v && l && (l == null ? void 0 : l.properties.type) === "arrow" && v.updateStyle(l.id, g);
|
|
2771
|
-
}, [v, g, l]),
|
|
2768
|
+
}, [v, g, l]), er(() => {
|
|
2772
2769
|
v && l && (l == null ? void 0 : l.properties.type) === "text" && v.updateStyle(l.id, f);
|
|
2773
2770
|
}, [v, f, l]), /* @__PURE__ */ Kr.jsx(
|
|
2774
2771
|
Wr.Provider,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkurious/ogma-annotations-react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.19",
|
|
4
4
|
"description": "A react component to add ogma annotations with react",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"license": "Apache-2.0",
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"@linkurious/ogma": ">=4.5.6 || ^5.0.0",
|
|
54
|
-
"@linkurious/ogma-annotations": "^1.1.
|
|
54
|
+
"@linkurious/ogma-annotations": "^1.1.19",
|
|
55
55
|
"@linkurious/ogma-react": ">=5",
|
|
56
56
|
"react": ">=17"
|
|
57
57
|
},
|