@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 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 Ue={exports:{}},Gt={};/**
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,_e;_e=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===_e||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 ke(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 ke(u)+".Consumer";case g:var d=t;return ke(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,Se,te,Te,Ce;function St(){}St.__reactDisabledLog=!0;function Oe(){{if(ht===0){K=console.log,ct=console.info,$t=console.warn,Se=console.error,te=console.group,Te=console.groupCollapsed,Ce=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:Se}),group:z({},t,{value:te}),groupCollapsed:z({},t,{value:Te}),groupEnd:z({},t,{value:Ce})})}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,Oe();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(`
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,Pe={},Re=L.ReactDebugCurrentFrame;function Bt(t){if(t){var u=t._owner,d=Nt(t.type,t._source,u?u.type:null);Re.setExtraStackFrame(d)}else Re.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 Pe)&&(Pe[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 Ie(t),!1}catch{return!0}}function Ie(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)),Ie(t)}var ut=L.ReactCurrentOwner,Le={key:!0,ref:!0,__self:!0,__source:!0},Ht,je,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(){je||(je=!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 Fe=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)&&!Le.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 Fe(t,E,O,b,p,ut.current,A)}}var he=L.ReactCurrentOwner,De=L.ReactDebugCurrentFrame;function dt(t){if(t){var u=t._owner,d=Nt(t.type,t._source,u?u.type:null);De.setExtraStackFrame(d)}else De.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`
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 Me(t){{var u=Ut();if(!u){var d=typeof t=="string"?t:t.displayName||t.name;d&&(u=`
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 $e(t,u){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var d=Me(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)&&$e(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)&&$e(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 ze(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 Ne(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:
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=Fe(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}(),$e=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 ze(r,n){if(Array.isArray(n))return n.forEach(function(a){return ze(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)$e.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){ze(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=Re.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=Pe.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=Me,Me.createElement=de;const Ne=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(`
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==="&nbsp;"){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 rr } from "react";
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 sr = { exports: {} }, ue = {};
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 He() {
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 Ue = typeof WeakMap == "function" ? WeakMap : Map;
212
- _t = new Ue();
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, He(), Error.prepareStackTrace = b;
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 We(t, u, d) {
285
+ function Ue(t, u, d) {
286
286
  return Zt(t, !1);
287
287
  }
288
- function Ve(t) {
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, Ve(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 We(t.render);
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 qe(t, u, d, p, b) {
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 Ye = Array.isArray;
348
+ var qe = Array.isArray;
349
349
  function Qt(t) {
350
- return Ye(t);
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 Ge(t) {
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 (Ge(t))
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 Xe(t) {
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 Je(t, u) {
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 Ke(t, u) {
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), Xe(u) && (te(u.key), E = "" + u.key), re(u) && (O = u.ref, Je(u, b));
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 && Ke(A, I), O && ne(A, I);
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 Ze(t) {
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 Qe(t) {
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
- qe(d, t.props, "prop", p, t);
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 = Ze();
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) : Qe(I), 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" ? sr.exports = Xr() : sr.exports = Jr();
636
- var Kr = sr.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 Be = (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), "");
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: Be(),
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 Me(h, e) {
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, ze = "dragging", Ne = "dragstart", Vt = "dragend", ar = "select", lr = "unselect", un = "hover", hn = "unhover", ur = "remove", hr = "add", cn = "cancelDrawing", cr = "update", dn = "link";
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 ? Be() : e.id,
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 } = Me(i, this.ogma.getContainer());
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 = Me(
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: g.x - this.startX, y: g.y - this.startY },
1151
+ { x: i.x - this.startX, y: i.y - this.startY },
1155
1152
  this.ogma.view.getZoom()
1156
1153
  ),
1157
1154
  c
1158
- ), m = l.id === vr, v = l.id === mr, k = l.id === br;
1159
- (m || v) && Rr(this.arrow, this.start.x + y, this.start.y + f), (m || k) && Ir(this.arrow, this.end.x + y, this.end.y + f), this.emit(
1160
- ze,
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
- m ? "line" : v ? "start" : "end"
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(Ne, this.arrow), this.isDragging = !0;
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
- }, nr = {
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: Be(),
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 He = /^[\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) {
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
- } }, Ue = { 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 };
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 We(r) {
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 Ve = /^\s*([^=\s&]+)(?:\s*=\s*("[^"]+"|'[^']+'|[^>\s]+))?/;
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 = Ve.exec(r)) {
1545
- var o = Zt(We(n[2] || "")).replace(/[ \r\n\t]+/g, " ").trim();
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 = /^[^#$%&~_^\\{}]+/, qe = /^\\([&{}$%#_])/, Ye = /(?:\\[\\@,!:;-]|-{2,3}|[!?]`|``?|,,|''?|~|<<|>>)/g, Qt = { "---": "—", "--": "–", "!`": "¡", "?`": "¿", "``": "“", ",,": "„", "''": "”", "`": "‘", "'": "’", "<<": "«", ">>": "»", "~": " ", "\\-": "­", "\\,": " ", "\\;": " ", "\\:": " ", "\\!": " ", "\\@": "\uFEFF", "\\\\": "\\newline{}" }, W = { bf: function(r) {
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 Ge = /[\r\n\xA0]+/g;
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 Xe(r, n) {
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 Je = { middle: 0.5, center: 0.5, bottom: 1, end: 1 };
1657
- function Ke(r, n, a) {
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 = Je[d];
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(Ge, " ")), !(!N && j.whitespace || V && j.whitespace))
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, tr = null; xt > St && (et = b[xt - 1]) && (et.whitespace || !(et.value || et instanceof ut)); )
1790
- et instanceof X && (tr = et), xt--;
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(er) {
1793
- return er.value;
1789
+ var zt = b.slice(St, xt).filter(function(tr) {
1790
+ return tr.value;
1794
1791
  });
1795
- return tr && zt.push(tr), zt.width = zt.reduce(function(er, Vr) {
1796
- return er + Vr.width;
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 ? Ke(o.text, this, o.ctx) : Xe(o.text, this);
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 Ze(r, n) {
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 && Ze(n.prototype, a), Object.defineProperty(n, "prototype", { writable: !1 }), r;
1956
+ } }], a && Ke(n.prototype, a), Object.defineProperty(n, "prototype", { writable: !1 }), r;
1960
1957
  }(), Ce = Object.prototype.hasOwnProperty, Dt = {};
1961
- function Qe(r) {
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" : Qe(o), n[o]);
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 = Ue[E];
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 || He.test(t[I].value)); )
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(Ye, function(M, F, $) {
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 = qe.exec(r))
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 ir(h) {
2094
+ function nr(h) {
2098
2095
  return h.replace(/…$/, "");
2099
2096
  }
2100
- function or(h) {
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(or(f[m]));
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(or(T))));
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 = ir(D.children[0].innerHTML).length;
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 = or(D), D.children[0].innerHTML = "", D.children[0].appendChild(L);
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", { ...nr }), 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", () => {
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 = { ...nr }, this.draggedHandle = Y, this.isDragging = !1, this.emit(Vt, 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(Ne, this.annotation), this.isDragging = !0;
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 } = Me(l, this.ogma.getContainer());
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 } = Me(
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(ze, this.annotation, "text"), this.refreshEditor(), this.layer.refresh();
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 nr;
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 = Be(), y = e.id, f = {
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(ze, i, l);
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(Ne, i);
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(Ne, this._onFeatureDragStart).on(ze, 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);
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 rr(() => {
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]), rr(() => {
2766
+ }, [e]), er(() => {
2770
2767
  v && l && (l == null ? void 0 : l.properties.type) === "arrow" && v.updateStyle(l.id, g);
2771
- }, [v, g, l]), rr(() => {
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.18",
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.18",
54
+ "@linkurious/ogma-annotations": "^1.1.19",
55
55
  "@linkurious/ogma-react": ">=5",
56
56
  "react": ">=17"
57
57
  },