vue-data-ui 3.28.3 → 3.28.4
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/{PackageVersion-CXT-eAuk.js → PackageVersion-DhptF5oD.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/package-CX7pZToh.js +1 -0
- package/dist/{render-common-C70bnUVe.js → render-common-DwEiRIJ0.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/vue-data-ui-CORn0LF6.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-ljsy2rX6.js → vue-ui-3d-bar-CJTKyv3A.js} +1 -1
- package/dist/{vue-ui-age-pyramid-a6CK7z3a.js → vue-ui-age-pyramid-6uZzf1w6.js} +1 -1
- package/dist/{vue-ui-bullet-DX4A2Qwo.js → vue-ui-bullet-CsJcLhmV.js} +1 -1
- package/dist/{vue-ui-bump-IvRdB6MD.js → vue-ui-bump-DXpxBWp_.js} +1 -1
- package/dist/{vue-ui-candlestick-BgyUo13S.js → vue-ui-candlestick-Bn_RSZ0k.js} +1 -1
- package/dist/{vue-ui-carousel-table-D01DGfA0.js → vue-ui-carousel-table-ChNykS-r.js} +1 -1
- package/dist/{vue-ui-chestnut-DYrMSzmQ.js → vue-ui-chestnut-DMYQTkxM.js} +1 -1
- package/dist/{vue-ui-chord-CwzQ7QbP.js → vue-ui-chord-Pp0U0-zV.js} +1 -1
- package/dist/{vue-ui-circle-pack-DQHNM9sC.js → vue-ui-circle-pack-We23fOaF.js} +1 -1
- package/dist/{vue-ui-cursor-CTFfbDX8.js → vue-ui-cursor-3-RTIIl-.js} +1 -1
- package/dist/{vue-ui-dag-DF29_9Gg.js → vue-ui-dag-5fVnwEXd.js} +1 -1
- package/dist/{vue-ui-dashboard-D98rMHjI.js → vue-ui-dashboard-Dlwnintv.js} +1 -1
- package/dist/{vue-ui-digits-AoPCgSfP.js → vue-ui-digits-ZMK0aBxE.js} +1 -1
- package/dist/{vue-ui-donut-BYUkblpv.js → vue-ui-donut-CmLo1r4-.js} +1 -1
- package/dist/{vue-ui-donut-evolution-wxHDTKlg.js → vue-ui-donut-evolution-CYvo7Cww.js} +1 -1
- package/dist/vue-ui-donut-j1bv0KyD.js +22 -0
- package/dist/{vue-ui-dumbbell-DR7rjMt0.js → vue-ui-dumbbell-DigrSGwq.js} +1 -1
- package/dist/{vue-ui-flow-DtQlRSK_.js → vue-ui-flow-D9cc9yXD.js} +1 -1
- package/dist/{vue-ui-funnel-BP3chlZy.js → vue-ui-funnel-U88Hs0nL.js} +1 -1
- package/dist/{vue-ui-galaxy-B7ogrJ6f.js → vue-ui-galaxy-B1Vuz8CA.js} +1 -1
- package/dist/{vue-ui-gauge-CrmzNkjT.js → vue-ui-gauge-1MgZSPXt.js} +1 -1
- package/dist/{vue-ui-geo-BbTvWbfX.js → vue-ui-geo-BV8ARcaX.js} +1 -1
- package/dist/{vue-ui-gizmo-C3wgMKwb.js → vue-ui-gizmo-DtsERB-E.js} +1 -1
- package/dist/{vue-ui-graph-CzUVEiO-.js → vue-ui-graph-BVTPTDl5.js} +1 -1
- package/dist/{vue-ui-heatmap-BxR2ccwd.js → vue-ui-heatmap-6YwaVr3F.js} +1 -1
- package/dist/{vue-ui-hill-BDOd7LrC.js → vue-ui-hill-BvrNT8KZ.js} +1 -1
- package/dist/{vue-ui-history-plot-0-vs_CVn.js → vue-ui-history-plot-CJIILQPt.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-C5pNTRKB.js → vue-ui-horizontal-bar-Dfo-kTqg.js} +1 -1
- package/dist/{vue-ui-kpi-Dfhsk0U1.js → vue-ui-kpi-DHfExr9d.js} +1 -1
- package/dist/{vue-ui-molecule-DUX1NUIY.js → vue-ui-molecule-C8e5IeHG.js} +1 -1
- package/dist/{vue-ui-mood-radar-B1N5AwX_.js → vue-ui-mood-radar-DsnT2U65.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CfHH-cU6.js → vue-ui-nested-donuts-JkpqMhuL.js} +1 -1
- package/dist/{vue-ui-onion-DRN-jIvq.js → vue-ui-onion-CIA2tlff.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-UUPjQABF.js → vue-ui-parallel-coordinate-plot-Bcr3B3NI.js} +1 -1
- package/dist/{vue-ui-quadrant-zmtzn0lM.js → vue-ui-quadrant-DKVFawhC.js} +1 -1
- package/dist/{vue-ui-quick-chart-DgU_IhKY.js → vue-ui-quick-chart-Bk2N8Hmd.js} +1 -1
- package/dist/{vue-ui-radar-BGSoxRaK.js → vue-ui-radar-CdH-BFKA.js} +1 -1
- package/dist/{vue-ui-relation-circle-XUw5UMrt.js → vue-ui-relation-circle-COZpOybS.js} +1 -1
- package/dist/{vue-ui-ridgeline-B5RJcFyA.js → vue-ui-ridgeline-MLknaTUO.js} +1 -1
- package/dist/{vue-ui-rings-BJaCLH2Q.js → vue-ui-rings-ARqLCM_P.js} +1 -1
- package/dist/{vue-ui-scatter-BA0hk_Tf.js → vue-ui-scatter-CX2wsXdE.js} +1 -1
- package/dist/{vue-ui-skeleton-DpzaXPO3.js → vue-ui-skeleton-wyvAru88.js} +1 -1
- package/dist/{vue-ui-spark-trend-DJ63XtgQ.js → vue-ui-spark-trend-C02PmIq_.js} +1 -1
- package/dist/{vue-ui-sparkbar-C5wP9R67.js → vue-ui-sparkbar-CjD57-Xi.js} +1 -1
- package/dist/{vue-ui-sparkgauge-DQcAOGuG.js → vue-ui-sparkgauge-8Eia8T2W.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-BBiCxX6W.js → vue-ui-sparkhistogram-C-0f7XCl.js} +1 -1
- package/dist/{vue-ui-sparkline-B_GkB9V_.js → vue-ui-sparkline-BMMrpUPR.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-DSRXhqhJ.js → vue-ui-sparkstackbar-BmgCVCKG.js} +1 -1
- package/dist/{vue-ui-stackbar-QjOQHbld.js → vue-ui-stackbar-G_zZRAa9.js} +1 -1
- package/dist/{vue-ui-stackline-CoII13bc.js → vue-ui-stackline-DchZoEAg.js} +1 -1
- package/dist/{vue-ui-strip-plot-d3UoFFrf.js → vue-ui-strip-plot-DVyPa3sp.js} +1 -1
- package/dist/{vue-ui-table-CHFjZzW7.js → vue-ui-table-qTF_q-Qu.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BkZ7sn4X.js → vue-ui-table-sparkline-B2Q-7-GQ.js} +1 -1
- package/dist/{vue-ui-thermometer-B--g_Lkt.js → vue-ui-thermometer-CxNoxslq.js} +1 -1
- package/dist/{vue-ui-timer-DmwEWrDh.js → vue-ui-timer-DRjoRidI.js} +1 -1
- package/dist/{vue-ui-tiremarks-160Gx7-3.js → vue-ui-tiremarks-BC_YGp3T.js} +1 -1
- package/dist/{vue-ui-treemap-B-Yjtob0.js → vue-ui-treemap-CNM5ohoO.js} +1 -1
- package/dist/{vue-ui-waffle-BhzLg5ip.js → vue-ui-waffle-BiJshI4O.js} +1 -1
- package/dist/{vue-ui-wheel-DHb4G42X.js → vue-ui-wheel-BxR0_iNZ.js} +1 -1
- package/dist/{vue-ui-word-cloud-BcpreM7A.js → vue-ui-word-cloud-CZzC3R1K.js} +1 -1
- package/dist/{vue-ui-world-BD9acchj.js → vue-ui-world-CJgt0ESz.js} +1 -1
- package/dist/{vue-ui-xy-C-2Phexw.js → vue-ui-xy-B6XNUCzQ.js} +1 -1
- package/dist/{vue-ui-xy-CB3lQs2m.js → vue-ui-xy-DrKVPSg7.js} +1 -1
- package/package.json +1 -1
- package/dist/package-CgIKu3rP.js +0 -1
- package/dist/vue-data-ui-CrOhFey9.js +0 -1
- package/dist/vue-ui-donut-BQGnUso2.js +0 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{Pt as n,S as r,St as i,X as a,Y as o,at as s,in as c,rt as l,t as u,zt as d}from"./lib-rPeBMZrn.js";import{n as f,t as p}from"./BaseScanner-8NdoBs7B.js";import{n as m,t as h}from"./useHints-C-TwxM0Y.js";import{t as g}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ee}from"./resolveChartConfig-CIhClE5R.js";import{t as te}from"./img-D4RQwASc.js";import{t as ne}from"./BaseZoomControls-ByS_7fmI.js";import{n as re}from"./Title-BliHuXfT.js";import{t as ie}from"./useChartExport-BZts4KFb.js";import{n as ae,t as oe}from"./annotationSlots-BRR85CqJ.js";import{n as se,t as ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as le}from"./usePrinter-DVf3YcG5.js";import{c as ue}from"./canvas-lib-22VpOI4_.js";import{t as de}from"./useResponsive-CENUxfEL.js";import{t as fe}from"./A11yDataTable-DWNlWXzs.js";import{t as pe}from"./useUserOptionState-CXlFnwPv.js";import{t as me}from"./useChartAccessibility-DOMuYJfm.js";import{t as he}from"./usePanZoom-BdjP5Suc.js";import{t as ge}from"./vue_ui_dag-1b_dLSym.js";import{Fragment as _e,Teleport as ve,Transition as ye,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as be,createTextVNode as xe,createVNode as Se,defineAsyncComponent as Ce,guardReactiveProps as we,mergeProps as Te,nextTick as Ee,normalizeClass as De,normalizeProps as Oe,normalizeStyle as ke,onBeforeUnmount as Ae,onMounted as je,openBlock as S,ref as C,renderList as Me,renderSlot as w,toDisplayString as Ne,toRefs as Pe,unref as T,watch as Fe,watchEffect as Ie,withCtx as Le,withModifiers as Re}from"vue";var ze=`\0`,Be=`\0`,Ve=``,E=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>void 0;_defaultEdgeLabelFn=()=>void 0;_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(e){e&&(this._isDirected=!Object.hasOwn(e,`directed`)||e.directed,this._isMultigraph=Object.hasOwn(e,`multigraph`)?e.multigraph:!1,this._isCompound=Object.hasOwn(e,`compound`)?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[Be]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,typeof e!=`function`&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){let e=this;return this.nodes().filter(t=>Object.keys(e._in[t]).length===0)}sinks(){let e=this;return this.nodes().filter(t=>Object.keys(e._out[t]).length===0)}setNodes(e,t){let n=arguments,r=this;return e.forEach(e=>{n.length>1?r.setNode(e,t):r.setNode(e)}),this}setNode(e,t){return Object.hasOwn(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=Be,this._children[e]={},this._children[Be][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){let t=this;if(Object.hasOwn(this._nodes,e)){let n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=Be;else{t+=``;for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){let t=this._parent[e];if(t!==Be)return t}}children(e=Be){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else if(e===Be)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t);for(let t of this.successors(e))n.add(t);return Array.from(n.values())}}isLeaf(e){let t;return t=this.isDirected()?this.successors(e):this.neighbors(e),t.length===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());let n=this;Object.entries(this._nodes).forEach(([n,r])=>{e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});let r={};function i(e){let a=n.parent(e);return a===void 0||t.hasNode(a)?(r[e]=a,a):a in r?r[a]:i(a)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,i(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,typeof e!=`function`&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){let n=this,r=arguments;return e.reduce((e,i)=>(r.length>1?n.setEdge(e,i,t):n.setEdge(e,i),i)),this}setEdge(){let e,t,n,r,i=!1,a=arguments[0];typeof a==`object`&&a&&`v`in a?(e=a.v,t=a.w,n=a.name,arguments.length===2&&(r=arguments[1],i=!0)):(e=a,t=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),e=``+e,t=``+t,n!==void 0&&(n=``+n);let o=O(this._isDirected,e,t,n);if(Object.hasOwn(this._edgeLabels,o))return i&&(this._edgeLabels[o]=r),this;if(n!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(e),this.setNode(t),this._edgeLabels[o]=i?r:this._defaultEdgeLabelFn(e,t,n);let s=Ue(this._isDirected,e,t,n);return e=s.v,t=s.w,Object.freeze(s),this._edgeObjs[o]=s,He(this._preds[t],e),He(this._sucs[e],t),this._in[t][o]=s,this._out[e][o]=s,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(){let e=this.edge(...arguments);return typeof e==`object`?e:{label:e}}hasEdge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,r)}removeEdge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],D(this._preds[t],e),D(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,t){let n=this._in[e];if(n){let e=Object.values(n);return t?e.filter(e=>e.v===t):e}}outEdges(e,t){let n=this._out[e];if(n){let e=Object.values(n);return t?e.filter(e=>e.w===t):e}}nodeEdges(e,t){let n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}};function He(e,t){e[t]?e[t]++:e[t]=1}function D(e,t){--e[t]||delete e[t]}function O(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}return i+Ve+a+Ve+(r===void 0?ze:r)}function Ue(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}let o={v:i,w:a};return r&&(o.name=r),o}function We(e,t){return O(e,t.v,t.w,t.name)}var Ge=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Ke(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Ke(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,qe)),n=n._prev;return`[`+e.join(`, `)+`]`}};function Ke(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function qe(e,t){if(e!==`_next`&&e!==`_prev`)return t}var Je=()=>1;function Ye(e,t){if(e.nodeCount()<=1)return[];let n=j(e,t||Je);return k(n.graph,n.buckets,n.zeroIndex).flatMap(t=>e.outEdges(t.v,t.w))}function k(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)A(e,t,n,o);for(;o=i.dequeue();)A(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i].dequeue(),o){r=r.concat(A(e,t,n,o,!0));break}}}return r}function A(e,t,n,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,M(t,n,s)}),e.outEdges(r.v).forEach(r=>{let i=e.edge(r),a=e.node(r.w);a.in-=i,M(t,n,a)}),e.removeNode(r.v),a}function j(e,t){let n=new E,r=0,i=0;e.nodes().forEach(e=>{n.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});let a=Xe(i+r+3).map(()=>new Ge),o=r+1;return n.nodes().forEach(e=>{M(a,o,n.node(e))}),{graph:n,buckets:a,zeroIndex:o}}function M(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function Xe(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function Ze(e,t,n,r){let i=r;for(;e.hasNode(i);)i=B(r);return n.dummy=t,e.setNode(i,n),i}function Qe(e){let t=new E().setGraph(e.graph());return e.nodes().forEach(n=>{t.setNode(n,e.node(n))}),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function N(e){let t=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function P(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return H(e.nodes(),t)}function $e(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return H(e.nodes(),t)}function F(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function I(e){let t=V(it(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i][r.order]=n)}),t}function et(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=R(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function tt(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=R(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>{e.node(t).rank+=i})})}function nt(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Ze(e,`border`,i,t)}var rt=65535;function L(e,t=rt){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}function R(e,t){if(t.length>rt){let n=L(t);return e.apply(null,n.map(t=>e.apply(null,t)))}return e.apply(null,t)}function it(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return R(Math.max,t)}function at(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function z(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function ot(e,t){return t()}var st=0;function B(e){let t=++st;return e+String(t)}function V(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function ct(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function lt(e,t){let n=t;if(typeof t==`string`){let e=t;n=t=>t[e]}return Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function H(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var U={addBorderNode:nt,addDummyNode:Ze,applyWithChunking:R,asNonCompoundGraph:N,buildLayerMatrix:I,intersectRect:F,mapValues:lt,maxRank:it,normalizeRanks:et,notime:ot,partition:at,pick:ct,predecessorWeights:$e,range:V,removeEmptyRanks:tt,simplify:Qe,successorWeights:P,time:z,uniqueId:B,zipObject:H};function W(e){(e.graph().acyclicer===`greedy`?Ye(e,t(e)):dt(e)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,B(`rev`))});function t(e){return t=>e.edge(t).weight}}function ut(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function dt(e){let t=[],n={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,n[a]=!0,e.outEdges(a).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return e.nodes().forEach(i),t}function ft(e){e.graph().dummyChains=[],e.edges().forEach(t=>G(e,t))}function G(e,t){let n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a===r+1)return;e.removeEdge(t);let l,u,d=0;for(++r;r<a;++d,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},l=Ze(e,`edge`,u,`_d`),r===c&&(u.width=s.width,u.height=s.height,u.dummy=`edge-label`,u.labelpos=s.labelpos),e.setEdge(n,l,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,i,{weight:s.weight},o)}function pt(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel;e.setEdge(n.edgeObj,r);let i;for(;n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function mt(e){function t(n){let r=e.node(n);if(r&&Object.prototype.hasOwnProperty.call(r,`rank`))return r.rank;let i=e.outEdges(n)||[];if(!i.length)return r&&(r.rank=0),0;let a=i.map(n=>e.node(n.w)?t(n.w)-e.edge(n).minlen:1/0),o=R(Math.min,a);return o===1/0&&(o=0),r&&(r.rank=o),o}(e.sources()||[]).forEach(t)}function ht(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function gt(e){_t(e);let t=new E;e.nodes().forEach(e=>{t.setNode(e,{})});let n=e.nodes();if(!n.length)return t;let r=n[0],i=/* @__PURE__ */ new Set([r]);for(;i.size<n.length;){let r=vt(e,i);if(!r){let e=n.find(e=>!i.has(e));i.add(e),t.setNode(e,{});continue}let{edgeObject:a,delta:o,attachFrom:s,attachTo:c}=r;yt(e,i,s,o),t.setEdge(a.v,a.w,{}),i.add(c)}return t}function _t(e){e.nodes().forEach(t=>{let n=e.node(t)||{};Object.prototype.hasOwnProperty.call(n,`rank`)||(n.rank=0,e.setNode(t,n))})}function vt(e,t){let n=null;return e.edges().forEach(r=>{let i=t.has(r.v);if(i===t.has(r.w))return;let a=ht(e,r),o=Math.abs(a);if(!n||o<n.absoluteSlack){let e=i?r.v:r.w,t=i?r.w:r.v;n={edgeObject:r,delta:i?a:-a,attachFrom:e,attachTo:t,absoluteSlack:o}}}),n}function yt(e,t,n,r){r&&e.nodes().forEach(n=>{if(!t.has(n)){let t=e.node(n);t.rank+=r}})}function K(e){let t=Qe(e);return mt(t),t.nodes().forEach(n=>{let r=t.node(n),i=e.node(n)||{};i.rank=r.rank,e.setNode(n,i)}),e}function bt(e,t){}function xt(e,t){}function St(e,t,n){return 0}function Ct(e){return null}function wt(e,t){return null}K.initLowLimValues=bt,K.initCutValues=xt,K.calcCutValue=St,K.leaveEdge=Ct,K.enterEdge=wt;var Tt=mt;function Et(e){let t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case`network-simplex`:kt(e);break;case`tight-tree`:Ot(e);break;case`longest-path`:Dt(e);break;case`none`:break;default:kt(e)}}var Dt=Tt;function Ot(e){Tt(e),gt(e)}function kt(e){K(e)}function At(e){let t=jt(e);e.graph().dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=q(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0,d=n;for(;d!==i.w;){if(r=e.node(d),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(d,l),d=e.successors(d)[0]}})}function q(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c,l;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function jt(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children().forEach(r),t}function Mt(e){let t=U.addDummyNode(e,`root`,{},`_root`),n=Nt(e),r=Object.values(n),i=U.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>{e.edge(t).minlen*=a});let o=Pt(e)+1;e.children().forEach(r=>{J(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function J(e,t,n,r,i,a,o){let s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}let c=U.addBorderNode(e,`_bt`),l=U.addBorderNode(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{J(e,t,n,r,i,a,s);let u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function Nt(e){let t={};function n(r,i){let a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children().forEach(e=>n(e,1)),t}function Pt(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Y(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}function Ft(e){function t(n){let r=e.children(n),i=e.node(n);if(r.length&&r.forEach(t),Object.hasOwn(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(let t=i.minRank,r=i.maxRank+1;t<r;++t)It(e,`borderLeft`,`_bl`,n,i,t),It(e,`borderRight`,`_br`,n,i,t)}}e.children().forEach(t)}function It(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Ze(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Lt(e){let t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&zt(e)}function Rt(e){let t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Vt(e),(t===`lr`||t===`rl`)&&(Ut(e),zt(e))}function zt(e){e.nodes().forEach(t=>{Bt(e.node(t))}),e.edges().forEach(t=>{Bt(e.edge(t))})}function Bt(e){let t=e.width;e.width=e.height,e.height=t}function Vt(e){e.nodes().forEach(t=>{Ht(e.node(t))}),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(Ht),Object.hasOwn(n,`y`)&&Ht(n)})}function Ht(e){e.y=-e.y}function Ut(e){e.nodes().forEach(t=>{X(e.node(t))}),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(X),Object.hasOwn(n,`x`)&&X(n)})}function X(e){let t=e.x;e.x=e.y,e.y=t}var Wt={adjust:Lt,undo:Rt};function Gt(e){let t={},n=e.nodes().filter(t=>e.children(t).length===0),r=n.map(t=>e.node(t).rank),i=V(R(Math.max,r)+1).map(()=>[]);function a(n){if(t[n])return;t[n]=!0;let r=e.node(n);i[r.rank].push(n),e.successors(n).forEach(a)}return n.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(a),i}function Kt(e,t){let n=0;for(let r=1;r<t.length;++r)n+=qt(e,t[r-1],t[r]);return n}function qt(e,t,n){let r=H(n,n.map((e,t)=>t)),i=t.flatMap(t=>e.outEdges(t).map(t=>({pos:r[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos)),a=1;for(;a<n.length;)a<<=1;let o=2*a-1;--a;let s=Array(o).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;s[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n}),c}function Jt(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(!n.length)return{v:t};let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}})}function Yt(e,t){let n={};return e.forEach((e,t)=>{let r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight)}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(r))}),Xt(Object.values(n).filter(e=>!e.indegree))}function Xt(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&Zt(e,t)}}function r(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(r(i))}return t.filter(e=>!e.merged).map(e=>ct(e,[`vs`,`i`,`barycenter`,`weight`]))}function Zt(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Z(e,t){let n=at(e,e=>Object.hasOwn(e,`barycenter`)),r=n.lhs,i=n.rhs.sort((e,t)=>t.i-e.i),a=[],o=0,s=0,c=0;r.sort($t(!!t)),c=Qt(a,i,c),r.forEach(e=>{c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=Qt(a,i,c)});let l={vs:a.flat(!0)};return s&&(l.barycenter=o/s,l.weight=s),l}function Qt(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function $t(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}function en(e,t,n,r){let i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=i.filter(e=>e!==o&&e!==s));let l=Jt(e,i);l.forEach(t=>{if(e.children(t.v).length){let i=en(e,t.v,n,r);c[t.v]=i,Object.hasOwn(i,`barycenter`)&&nn(t,i)}});let u=Yt(l,n);tn(u,c);let d=Z(u,r);if(o&&(d.vs=[o,d.vs,s].flat(!0),e.predecessors(o).length)){let t=e.node(e.predecessors(o)[0]),n=e.node(e.predecessors(s)[0]);Object.hasOwn(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+t.order+n.order)/(d.weight+2),d.weight+=2}return d}function tn(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function nn(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function rn(e,t,n,r){r||=e.nodes();let i=an(e),a=new E({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t));return r.forEach(r=>{let o=e.node(r),s=e.parent(r);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(a.setNode(r),a.setParent(r,s||i),e[n](r).forEach(t=>{let n=t.v===r?t.w:t.v,i=a.edge(n,r),o=i?i.weight:0;a.setEdge(n,r,{weight:e.edge(t).weight+o})}),Object.hasOwn(o,`minRank`)&&a.setNode(r,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),a}function an(e){let t;for(;e.hasNode(t=B(`_root`)););return t}function on(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function sn(e,t={}){if(typeof t.customOrder==`function`){t.customOrder(e,sn);return}let n=it(e),r=cn(e,V(1,n+1),`inEdges`),i=cn(e,V(n-1,-1,-1),`outEdges`),a=Gt(e);if(un(e,a),t.disableOptimalOrderHeuristic)return;let o=1/0,s,c=t.constraints||[];for(let t=0,n=0;n<4;++t,++n){ln(t%2==0?r:i,t%4>=2,c),a=I(e);let l=Kt(e,a);l<o?(o=l,n=0,s=structuredClone(a)):l===o&&(s=structuredClone(a))}un(e,s)}function cn(e,t,n){let r=/* @__PURE__ */ new Map;function i(e,t){r.has(e)||r.set(e,[]),r.get(e).push(t)}for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(t=>rn(e,t,n,r.get(t)||[]))}function ln(e,t,n){let r=new E;e.forEach(e=>{n.forEach(e=>r.setEdge(e.left,e.right));let i=e.graph().root,a=en(e,i,r,t);a.vs.forEach((t,n)=>{e.node(t).order=n}),on(e,r,a.vs)})}function un(e,t){Object.values(t).forEach(t=>{t.forEach((t,n)=>{e.node(t).order=n})})}function dn(e,t){let n={};function r(t,r){let i=0,a=0,o=t.length,s=r[r.length-1];return r.forEach((t,c)=>{let l=pn(e,t),u=l?e.node(l).order:o;(l||t===s)&&(r.slice(a,c+1).forEach(t=>{e.predecessors(t).forEach(r=>{let a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&mn(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function fn(e,t){let n={};function r(t,r,i,a,o){let s;V(r,i).forEach(r=>{s=t[r],e.node(s).dummy&&e.predecessors(s).forEach(t=>{let r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&mn(n,t,s)})})}function i(t,n){let i=-1,a,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);t.length&&(a=e.node(t[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(i),n}function pn(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}function mn(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function Q(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function hn(e,t,n,r){let i={},a={},o={};return t.forEach(e=>{e.forEach((e,t)=>{i[e]=e,a[e]=e,o[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let s=r(e);if(s.length){s=s.sort((e,t)=>o[e]-o[t]);let r=(s.length-1)/2;for(let c=Math.floor(r),l=Math.ceil(r);c<=l;++c){let r=s[c];a[e]===e&&t<o[r]&&!Q(n,e,r)&&(a[r]=e,a[e]=i[e]=i[r],t=o[r])}}})}),{root:i,align:a}}function gn(e,t,n,r,i){let a={},o=_n(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes().slice(),r={},i=n.pop();for(;i;){if(r[i])e(i);else{r[i]=!0,n.push(i);for(let e of t(i))n.push(e)}i=n.pop()}}function l(e){a[e]=o.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+o.edge(t)),0)}function u(t){let n=o.outEdges(t).reduce((e,t)=>Math.min(e,a[t.w]-o.edge(t)),1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),Object.keys(r).forEach(e=>{a[e]=a[n[e]]}),a}function _n(e,t,n,r){let i=new e.constructor,a=e.graph(),o=Sn(a.nodesep,a.edgesep,r);return t.forEach(t=>{let r;t.forEach(t=>{let a=n[t];if(i.setNode(a),r){let s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function vn(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=Cn(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function yn(e,t){let n=Object.values(t),r=R(Math.min,n),i=R(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(a=>{let o=n+a,s=e[o];if(s===t)return;let c=Object.values(s),l=r-R(Math.min,c);a!==`l`&&(l=i-R(Math.max,c)),l&&(s=lt(s,e=>e+l),e[o]=s)})})}function bn(e,t){return lt(e.ul,(n,r)=>{if(t)return e[t.toLowerCase()][r];let i=Object.values(e).map(e=>e[r]).sort((e,t)=>e-t);return(i[1]+i[2])/2})}function xn(e){let t=I(e),n=Object.assign(dn(e,t),fn(e,t)),r={},i;return[`u`,`d`].forEach(a=>{i=a===`u`?t:Object.values(t).reverse(),[`l`,`r`].forEach(t=>{let o=i;t===`r`&&(o=o.map(e=>Object.values(e).reverse()));let s=(a===`u`?e.predecessors:e.successors).bind(e),c=hn(e,o,n,s),l=gn(e,o,c.root,c.align,t===`r`);t===`r`&&(l=lt(l,e=>-e)),r[a+t]=l})}),yn(r,vn(e,r)),bn(r,e.graph().align)}function Sn(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function Cn(e,t){return e.node(t).width}function wn(e){let t=N(e);Tn(t);let n=xn(t);Object.entries(n).forEach(([t,n])=>{e.node(t).x=n})}function Tn(e){let t=I(e),n=e.graph().ranksep,r=0;t.forEach(t=>{let i=t.reduce((t,n)=>{let r=e.node(n).height;return t>r?t:r},0);t.forEach(t=>{e.node(t).y=r+i/2}),r+=i+n})}function En(e,t={}){let n=t.debugTiming?z:ot;return n(`layout`,()=>{let r=n(` buildLayoutGraph`,()=>In(e));return n(` runLayout`,()=>Dn(r,n,t)),n(` updateInputGraph`,()=>On(e,r)),r})}function Dn(e,t,n){t(` makeSpaceForEdgeLabels`,()=>Ln(e)),t(` removeSelfEdges`,()=>qn(e)),t(` acyclic`,()=>W(e)),t(` nestingGraph.run`,()=>Mt(e)),t(` rank`,()=>Et(N(e))),t(` injectEdgeLabelProxies`,()=>Rn(e)),t(` removeEmptyRanks`,()=>tt(e)),t(` nestingGraph.cleanup`,()=>Y(e)),t(` normalizeRanks`,()=>et(e)),t(` assignRankMinMax`,()=>zn(e)),t(` removeEdgeLabelProxies`,()=>Bn(e)),t(` normalize.run`,()=>ft(e)),t(` parentDummyChains`,()=>At(e)),t(` addBorderSegments`,()=>Ft(e)),t(` order`,()=>sn(e,n)),t(` insertSelfEdges`,()=>Jn(e)),t(` adjustCoordinateSystem`,()=>Wt.adjust(e)),t(` position`,()=>wn(e)),t(` positionSelfEdges`,()=>Yn(e)),t(` removeBorderNodes`,()=>Kn(e)),t(` normalize.undo`,()=>pt(e)),t(` fixupEdgeLabelCoords`,()=>Wn(e)),t(` undoCoordinateSystem`,()=>Wt.undo(e)),t(` translateGraph`,()=>Vn(e)),t(` assignNodeIntersects`,()=>Un(e)),t(` reversePoints`,()=>Gn(e)),t(` acyclic.undo`,()=>ut(e))}function On(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.order=i.order,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)});let n=t.graph(),r=e.graph();r.width=n.width,r.height=n.height}var kn=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],An={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},$=[`acyclicer`,`ranker`,`rankdir`,`align`],jn=[`width`,`height`,`rank`],Mn={width:0,height:0},Nn=[`minlen`,`weight`,`width`,`height`,`labeloffset`],Pn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Fn=[`labelpos`,`arrowshape`];function In(e){let t=Zn(e.graph()),n={...An,...Xn(t,kn),...ct(t,$)},r=new E({multigraph:!0,compound:!0});return r.setGraph(n),e.nodes().forEach(t=>{let n=Xn(Zn(e.node(t)),jn);Object.keys(Mn).forEach(e=>{n[e]===void 0&&(n[e]=Mn[e])}),r.setNode(t,n),r.setParent(t,e.parent(t))}),e.edges().forEach(t=>{let n=Zn(e.edge(t));r.setEdge(t,{...Pn,...Xn(n,Nn),...ct(n,Fn)})}),r}function Ln(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Rn(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);Ze(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function zn(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function Bn(e){e.nodes().forEach(t=>{let n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function Vn(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function Hn(e,t,n){if(!n||!t)return e;let r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i);if(!a||a<=n)return e;let o=n/a;return{x:e.x+r*o,y:e.y+i*o}}function Un(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;!n.points||!n.points.length?(n.points=[],a=i,o=r):(a=n.points[0],o=n.points[n.points.length-1]);let s=F(r,a),c=F(i,o),l=n.points.length?n.points[0]:a,u=n.points.length?n.points[n.points.length-1]:o,d=n.arrowshape,f=d===`normal`||d===`vee`,p=!!n.reversed,m=s,h=c;f&&(p?m=Hn(s,l,4):h=Hn(c,u,4)),n.points.unshift(m),n.points.push(h)})}function Wn(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function Gn(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Kn(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function qn(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Jn(e){I(e).forEach(t=>{let n=0;t.forEach((t,r)=>{let i=e.node(t);i.order=r+n,(i.selfEdges||[]).forEach(t=>{Ze(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function Yn(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy===`selfedge`){let r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function Xn(e,t){return lt(ct(e,t),Number)}function Zn(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{let r=e;typeof r==`string`&&(r=r.toLowerCase()),t[r]=n}),t}var Qn={rankDirection:`TB`,nodeSeparation:50,rankSeparation:50,edgeSeparation:10,align:void 0,nodeWidth:100,nodeHeight:40,curvedEdges:!1,padding:20,arrowShape:`normal`,arrowSize:10};function $n(e){return e.length?e.map((e,t)=>`${t===0?`M`:`L`} ${e.x} ${e.y}`).join(` `):``}function er(e){if(!e.length)return``;if(e.length===1){let t=e[0];return`M ${t.x} ${t.y}`}if(e.length===2)return`M ${e[0].x} ${e[0].y} L ${e[1].x} ${e[1].y}`;let[t]=e,n=`M ${t.x} ${t.y}`;for(let t=1;t<e.length-1;t+=1){e[t-1];let r=e[t],i=e[t+1],a=r.x,o=r.y,s=(r.x+i.x)/2,c=(r.y+i.y)/2;n+=` Q ${a} ${o} ${s} ${c}`}let r=e[e.length-1];return n+=` L ${r.x} ${r.y}`,n}function tr(e){let{nodes:t,edges:n,configuration:r}=e,o=C(null),s=C(null),c=`dag-arrow-${a()}`;function l(e,t,n){s.value=null,o.value=null;let r={...Qn,...n},l=new E({multigraph:!0,compound:!0});l.setGraph({rankdir:r.rankDirection,nodesep:r.nodeSeparation,ranksep:r.rankSeparation,edgesep:r.edgeSeparation,align:r.align}),e.forEach(e=>{l.setNode(e.id,{label:e.label,width:e.width??r.nodeWidth,height:e.height??r.nodeHeight})}),t.forEach(e=>{l.setEdge(e.from,e.to,{weight:e.weight??1,minlen:e.minLength??1,arrowShape:r.arrowShape??`normal`})}),En(l);let u=e.map(e=>{let t=l.node(e.id);return{id:e.id,label:e.label,x:t.x,y:t.y,width:t.width,height:t.height,original:e}}),d=l.edges().map(e=>{let n=l.edge(e),i=n.points||[];if(!i.length)return null;let o=r.curvedEdges?er(i):$n(i),s=r.arrowShape===`undirected`?null:`url(#${c})`,u=t.find(t=>t?.from===e.v&&t?.to===e.w);return{id:`${e.v}->${e.w}->${a()}`,from:e.v,to:e.w,points:i,pathData:o,markerEnd:s,original:{...u,...n}}}).filter(Boolean),f=r.padding;if(!u.length){o.value={nodes:[],edges:d,viewBox:`0 0 0 0`,arrowShape:r.arrowShape,arrowSize:r.arrowSize};return}let p=u.flatMap(e=>[e.x-e.width/2,e.x+e.width/2]),m=u.flatMap(e=>[e.y-e.height/2,e.y+e.height/2]),h=Math.min(...p)-f,g=Math.max(...p)+f,ee=Math.min(...m)-f,te=Math.max(...m)+f;o.value={nodes:u,edges:d.map(e=>({...e,midpoint:e.pathData?i(e.pathData):{x:0,y:0}})),viewBox:`${h} ${ee} ${g-h} ${te-ee}`,arrowShape:r.arrowShape,arrowSize:r.arrowSize}}return Ie(()=>{try{l(T(t)||[],T(n)||[],T(r)||{})}catch(e){console.error(`[useDag] layout error:`,e),s.value=e,o.value=null}}),{layoutData:o,lastError:s,arrowMarkerIdentifier:c,recomputeLayout:()=>{l(T(t)||[],T(n)||[],T(r)||{})}}}var nr=/* @__PURE__ */ e({default:()=>Ir}),rr=[`id`],ir=[`id`],ar={key:1,class:`dag-chart-error`},or={style:{position:`relative`}},sr=[`viewBox`,`xmlns`,`aria-describedby`],cr={key:0},lr=[`id`,`width`,`height`],ur=[`cx`,`cy`,`r`,`fill`],dr=[`x`,`y`,`width`,`height`,`fill`],fr={key:2},pr=[`id`,`markerWidth`,`markerHeight`,`refX`,`refY`],mr=[`d`,`fill`,`stroke`],hr=[`d`,`fill`,`stroke`],gr={class:`vue-ui-dag-edges`},_r=[`data-a11y-midpoint-id`,`aria-label`,`onMouseenter`],vr={class:`vue-ui-dag-nodes`},yr=[`onClick`,`onMouseenter`,`onMouseleave`],br=[`data-a11y-node-id`,`aria-label`],xr=[`x`,`y`,`width`,`height`],Sr={class:`vue-ui-dag-edges`},Cr=[`d`,`stroke-width`,`marker-end`],wr={class:`vue-ui-dag-node-labels`},Tr=[`onClick`,`onMouseenter`,`onMouseleave`],Er=[`x`,`y`,`font-size`,`fill`,`font-weight`],Dr=[`x`,`y`,`font-size`,`fill`,`font-weight`,`innerHTML`],Or={key:1},kr={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ar={key:6,class:`vue-data-ui-watermark`},jr=[`data-position`],Mr={key:0},Nr=[`data-position`],Pr={key:0},Fr=1.5,Ir=/*#__PURE__*/ g({__name:`vue-ui-dag`,props:{dataset:{type:Object,default(){return{nodes:[],edges:[]}}},config:{type:Object,default(){return{}}}},emits:[`onNodeClick`,`onMidpointEnter`,`onMidpointLeave`,`copyAlt`,`rotate`],setup(e,{expose:i,emit:g}){let Ie=Ce(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ze=Ce(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Be=Ce(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_dag:Ve}=t(),E=e,He=g,D=C(null),O=C(a()),Ue=C(null),We=C(null),Ge=C(null),Ke=C(0),qe=C(0),Je=C(!1),Ye=C(!1),k=C(null),A=C(null),j=C(null),M=C(null),Xe=C(null),Ze=C(`pointer`),Qe=C(!1),N=C(_t()),P=_(()=>N.value.style.chart.nodes),$e=_(()=>N.value.style.chart.edges),F=_(()=>N.value.style.chart.midpoints),I=_(()=>N.value.style.chart);m({config:()=>N.value,dataset:()=>E.dataset,component:`VueUiDag`,rules:[h.noHint]});let et=_(()=>N.value.userOptions.useCursorPointer),tt=C(N.value.style.chart.width),nt=C(N.value.style.chart.height),rt=C({x:0,y:0}),L=C(null),R=C(null),it=C({left:`0px`,top:`0px`}),at=C(`top`),z=C(!1),ot=C({x:0,y:0}),st=C({x:0,y:0}),B=C(null),V=C(null),ct=C({left:`0px`,top:`0px`}),lt=C(`top`),H=C(!1),U=C(!1),{svgRef:W}=me({config:I.value.title}),{userOptionsVisible:ut,setUserOptionsVisibility:dt,keepUserOptionState:ft}=pe({config:N.value}),G=C(N.value.style.chart.layout.rankDirection),pt=_(()=>c({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,nodes:{stroke:`#CCCCCC`,backgroundColor:`#DDDDDD50`},edges:{stroke:`#CCCCCC`},midpoints:{stroke:`#CCCCCC`,fill:`#CCCCCC`}}}},userConfig:N.value.skeletonConfig??{}})),{loading:mt,FINAL_DATASET:ht,manualLoading:gt}=f({...Pe(E),FINAL_CONFIG:N,prepareConfig:_t,skeletonDataset:E.config?.skeletonDataset??{nodes:[{id:`A`,label:``},{id:`B`,label:``},{id:`C`,label:``}],edges:[{from:`A`,to:`B`},{from:`A`,to:`C`}]},skeletonConfig:c({defaultConfig:N.value,userConfig:pt.value})});function _t(){return ee(E.config,Ve,ge)}let vt=_(()=>N.value.debug);je(async()=>{d(E.dataset)&&(s({componentName:`VueUiDag`,type:`dataset`,debug:vt.value}),Ye.value=!1,gt.value=!0),E.dataset.nodes&&E.dataset.nodes.length!==0||(s({componentName:`VueUiDag`,type:`datasetAttributeEmpty`,property:`nodes`,index:0,debug:vt.value}),Ye.value=!1,gt.value=!0),Ye.value=!0,await Ee(),an()}),Fe(()=>E.config,async e=>{mt.value||(N.value=_t()),ut.value=!N.value.userOptions.showOnChartHover,Ke.value+=1,G.value=I.value.layout.rankDirection,tt.value=I.value.width,nt.value=I.value.height,Pt.value=I.value.zoom.active,await Ee(),an()},{deep:!0});let{isPrinting:yt,isImaging:K,generatePdf:bt,generateImage:xt}=le({elementId:`dag_${O.value}`,fileName:I.value.title.text||`vue-ui-dag`,options:N.value.userOptions.print}),St=_(()=>I.value.backgroundColor),Ct=_(()=>I.value.title),{isCallbackImaging:wt,isCallbackSvg:Tt,generateSvg:Et,onGenerateImage:Dt}=ie({svg:W,title:Ct,legend:null,legendItems:null,backgroundColor:St,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:xt});function Ot(){Je.value=!0,dt(!0)}function kt(){dt(!1),Je.value=!1}function At({tooltipRef:e,isVisibleRef:t,anchorRef:n,styleRef:r,placementRef:i,offsetRef:a,margin:o=24}){return function(){let s=e.value;if(!s||!t.value)return;let c=s.getBoundingClientRect(),l=window.innerWidth,u=window.innerHeight,d=n.value.x,f=n.value.y,p=a?.value?.x??0,m=a?.value?.y??0,h=f-m-c.height-o,g=d-c.width/2,ee=`top`;if(h<o){let e=f+m+o;e+c.height<=u-o?(h=e,ee=`bottom`):(h=f-c.height/2,h<o&&(h=o),h+c.height>u-o&&(h=u-c.height-o),ee=`center`)}g<o&&(g=o),g+c.width>l-o&&(g=l-c.width-o);let te=g<=o,ne=g+c.width>=l-o;if((te||ne)&&ee!==`center`){let e,t,n=d-p-o;l-(d+p)-o>=n?(e=`right`,t=d+p+o):(e=`left`,t=d-p-o-c.width),t>=o&&t+c.width<=l-o&&(g=t,h=f-c.height/2,h<o&&(h=o),h+c.height>u-o&&(h=u-c.height-o),ee=e)}i.value=ee,r.value={left:`${g}px`,top:`${h}px`}}}let{layoutData:q,lastError:jt,arrowMarkerIdentifier:Mt}=tr({nodes:_(()=>ht.value.nodes.map(e=>({...e,backgroundColor:e.backgroundColor?r(e.backgroundColor):P.value.backgroundColor,color:e.color?r(e.color):P.value.labels.color}))),edges:_(()=>ht.value.edges),configuration:_(()=>({...I.value.layout,rankDirection:G.value}))});function J(e){return q.value?q.value.nodes.find(t=>t.id===e):null}_(()=>{if(!q.value)return[];let e=$e.value.stroke,t=/* @__PURE__ */ new Set;return q.value.edges.forEach(n=>{t.add({id:n.id,from:n.from,to:n.to,color:n.original?.color||e})}),Array.from(t)});let Nt=_(()=>{let e=tt.value,t=nt.value,n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0,a=Number.isFinite(r)&&r>0;return!i&&!a?null:{width:i?n:null,height:a?r:null}}),Pt=C(I.value.zoom.active),{viewBox:Y,resetZoom:Ft,setInitialViewBox:It,scale:Lt,zoomByFactor:Rt}=he(W,{x:0,y:0,width:100,height:100},1,Pt,()=>{z.value=!1}),zt=null;async function Bt(e,{smooth:t=!0,duration:r=300,zoomReset:i=!1,zoom:a=null}={}){let o=J(e);if(!o)return!1;let s=Y.value;if(!s)return!1;let c={x:Number(s.x),y:Number(s.y),width:Number(s.width),height:Number(s.height)},u=Lt.value,d=c.width,f=c.height,p=u;if(Number.isFinite(a)&&a>0||i){Ft(!1);let e=Y.value,t=Number.isFinite(a)&&a>0?a/100:1;d=Number(e.width)/t,f=Number(e.height)/t,p=t,Y.value={...c},Lt.value=u}let m=Number(o.x),h=Number(o.y);if(!Number.isFinite(c.x)||!Number.isFinite(c.y)||!Number.isFinite(c.width)||!Number.isFinite(c.height)||!Number.isFinite(d)||!Number.isFinite(f)||!Number.isFinite(m)||!Number.isFinite(h))return!1;let g={x:m-d/2,y:h-f/2,width:d,height:f};if(zt!==null&&(cancelAnimationFrame(zt),zt=null),z.value=!1,!t||r<=0)return Y.value=g,Lt.value=p,!0;let ee=performance.now();function te(e){let t=Math.min((e-ee)/r,1),i=l(t);Y.value={x:n(c.x,g.x,i),y:n(c.y,g.y,i),width:n(c.width,g.width,i),height:n(c.height,g.height,i)},Lt.value=n(u,p,i),t<1?zt=requestAnimationFrame(te):(Y.value=g,Lt.value=p,zt=null)}return zt=requestAnimationFrame(te),!0}function Vt(){Pt.value=!Pt.value}function Ht(){let e=q.value&&q.value.viewBox;if(!e)return;let t=String(e).split(` `).map(Number);if(t.length!==4)return;let[n,r,i,a]=t;if(!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a))return;let o=i,s=a,c=n,l=r,u=Nt.value;u&&(u.width!==null&&(o=u.width),u.height!==null&&(s=u.height),c=n-(o-i)/2,l=r-(s-a)/2),It({x:c,y:l,width:o,height:s},{overwriteCurrentIfNotZoomed:!0})}Fe(()=>q.value&&q.value.viewBox,()=>{Ht()},{immediate:!0}),Fe(()=>Nt.value,()=>{Ht()}),Fe(()=>U.value,e=>{Pt.value=!e});let Ut=_(()=>{let e=Y.value;return e?`${e.x} ${e.y} ${e.width} ${e.height}`:`0 0 0 0`}),X=C(!1);function Wt(e){X.value=e,qe.value+=1}function Gt(){U.value=!U.value}function Kt(){Rt(Fr,!0)}function qt(){Rt(1/Fr,!0)}let Jt=[`TB`,`RL`,`BT`,`LR`];function Yt(){G.value=Jt[(Jt.indexOf(G.value)+1)%Jt.length],Ft(),He(`rotate`,G.value)}let Xt=At({tooltipRef:R,isVisibleRef:H,anchorRef:rt,styleRef:it,placementRef:at,isNode:!1}),Zt=At({tooltipRef:V,isVisibleRef:z,anchorRef:ot,styleRef:ct,placementRef:lt,offsetRef:st}),Z=C(null);async function Qt(e){He(`onMidpointEnter`,e);let t=W.value;if(!t||!e?.midpoint)return;let n=t.createSVGPoint();n.x=e.midpoint.x,n.y=e.midpoint.y;let r=t.getScreenCTM();if(!r)return;let i=n.matrixTransform(r);rt.value={x:i.x,y:i.y},L.value=e,H.value=!0,F.value.selectedEdge.animated===!0&&(Z.value=e.id,dn()),await Ee(),Xt()}function $t(){H.value=!1,L.value=null,He(`onMidpointLeave`),F.value.selectedEdge.animated===!0&&(Z.value=null,dn())}async function en(e){if(He(`onNodeClick`,e),!P.value.tooltip.showOnClick)return;let t=W.value;if(!t)return;let n=t.createSVGPoint();n.x=e.x,n.y=e.y;let r=t.getScreenCTM();if(!r)return;let i=n.matrixTransform(r),a=I.value.layout.nodeWidth,o=I.value.layout.nodeHeight,s=r.a,c=r.d,l=a*s,u=o*c;st.value={x:l/2,y:u/2},ot.value={x:i.x,y:i.y},B.value=e,z.value=!0,await Ee(),Zt()}function tn(){z.value=!1,B.value=null}function nn(e){if(!(z.value||H.value))return;let t=V.value;if(t&&t.contains(e.target))return;let n=R.value;if(n&&n.contains(e.target))return;let r=W.value;if(r&&r.contains(e.target)){let t=e.target.closest(`.vue-ui-dag-node`),n=e.target.closest(`.vue-ui-dag-edge-midpoint`);if(t||n)return}tn(),$t(),Qe.value||Ln()}function rn(e){e.key===`Escape`&&(z.value&&tn(),H.value&&$t())}je(()=>{document.addEventListener(`mousedown`,nn),document.addEventListener(`keydown`,rn)}),Ae(()=>{document.removeEventListener(`mousedown`,nn),document.removeEventListener(`keydown`,rn),k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect())});function an(){if(!N.value.responsive){k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect(),k.value=null,A.value=null);return}let e=ue(()=>{if(!D.value)return;let{width:e,height:t}=de({chart:D.value,title:I.value.title.text?Ue.value:null,legend:I.value.controls.show?Ge.value?.$el:null,source:We.value});requestAnimationFrame(()=>{tt.value=Math.max(.1,e),nt.value=Math.max(.1,t-12)})});k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect()),k.value=new ResizeObserver(e),A.value=D.value?D.value.parentNode:null,A.value&&k.value.observe(A.value),e()}function on(e,t={}){let{direction:n=-1,mode:r=`oneLapNearest`,dasharray:i=null}=t;if(!e||typeof e.getTotalLength!=`function`)return vt.value&&console.warn(`VueUiDag @getIdealDashoffsetDelta: invalid path element`,e),0;let a=e.getTotalLength(),o=d(i??e.getAttribute(`stroke-dasharray`)??(typeof getComputedStyle==`function`?getComputedStyle(e).strokeDasharray:``));if(!Number.isFinite(o)||o<=0)return n*a;let s=Math.max(1,Math.round(a/o)),c=Math.max(1,Math.ceil(a/o)),l=Math.max(1,Math.floor(a/o)),u;return u=r===`pattern`?o:r===`oneLapCeil`?c*o:r===`oneLapFloor`?l*o:s*o,n*u;function d(e){if(!e||e===`none`)return NaN;let t=String(e).replace(/,/g,` `).trim().split(/\s+/).map(e=>Number.parseFloat(e)).filter(e=>Number.isFinite(e));if(!t.length)return NaN;let n=t.reduce((e,t)=>e+t,0);return t.length%2==1?n*2:n}}let sn=C(/* @__PURE__ */ new Map),cn=C(/* @__PURE__ */ new Map);function ln(e){return function(t){t?sn.value.set(e,t):sn.value.delete(e)}}function un(){cn.value.forEach(e=>{try{e.cancel()}catch{}}),cn.value.clear()}function dn(){un();let e=q.value?.edges??[];if(!e.length)return;let t=$e.value.animations,n=Number(t.referenceDistance)>0?Number(t.referenceDistance):24;e.forEach(e=>{let r=F.value.selectedEdge.animated===!0&&Z.value!=null&&e.id===Z.value,i=!!e?.original?.animated||!!e?.animated||r,a=sn.value.get(e.id);if(!a)return;if(!i){a.style.strokeDasharray=`0`,a.style.strokeDashoffset=`0`;return}let o=e?.original?.dasharray??t.dasharray;a.style.strokeDasharray=String(o),a.style.strokeDashoffset=`0`;let s=![void 0,null].includes(e?.original?.animationDirection),c=![void 0,null].includes(t.animationDirection),l=on(a,{direction:s?Number(e.original.animationDirection):c?Number(t.animationDirection):-1,mode:`oneLapNearest`,dasharray:String(o)}),u=e?.original?.animationDurationMs??t.animationDurationMs??1e3,d=Number(u),f=Number.isFinite(d)&&d>0?n/d:n/1e3,p=Math.max(1,Math.round(Math.abs(l)/Math.max(1e-9,f))),m=a.animate([{strokeDashoffset:0},{strokeDashoffset:l}],{duration:p,iterations:1/0,easing:`linear`});cn.value.set(e.id,m)})}Fe(()=>q.value&&q.value.edges,async()=>{await Ee(),dn()},{deep:!0,immediate:!0}),Ae(()=>{un()});async function fn({scale:e=2}={}){if(!D.value)return;let{width:t,height:n}=D.value.getBoundingClientRect(),r=t/n,{imageUri:i,base64:a}=await te({domElement:D.value,base64:!0,img:!0,scale:e});return{imageUri:i,base64:a,title:I.value.title.text??`vue-ui-dag`,width:t,height:n,aspectRatio:r}}let pn=_(()=>{let e=Number(I.value.layout.nodeHeight);return Number.isFinite(e)&&e>0?e/I.value.backgroundPattern.spacingRatio:12}),mn=_(()=>pn.value*(I.value.backgroundPattern.dotRadiusRatio/100)),Q=C(null),hn=null,gn=0;function _n(e){hn&&=(clearTimeout(hn),null),Q.value!==e&&(Q.value=e,(P.value.selected.downstreamEdges.animated===!0||P.value.selected.upstreamEdges.animated===!0)&&dn())}function vn(e){Ze.value=`pointer`,Z.value=null,_n(e)}async function yn(e){Ze.value=`pointer`,Q.value=null,await Qt(e)}function bn(e){let t=++gn;hn&&clearTimeout(hn),hn=setTimeout(()=>{t===gn&&Q.value===e&&(Q.value=null,(P.value.selected.downstreamEdges.animated===!0||P.value.selected.upstreamEdges.animated===!0)&&dn())},20)}function xn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.original.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),e.animated=t&&P.value.selected.downstreamEdges.animated===!0||n&&P.value.selected.upstreamEdges.animated===!0||r&&F.value.selectedEdge.animated===!0?!0:(q.value?.edges.find(t=>t.id===e.id))?.original?.animated??!1,{d:e.pathData,fill:`none`,stroke:a,"stroke-width":$e.value.strokeWidth*(i||e.from===Q.value?2:1),"stroke-linecap":`round`,"stroke-linejoin":`round`}}function Sn(e){return M.value===`node`&&j.value===e}function Cn(e){let t=Q.value===e.id,n=M.value===`node`&&j.value===e.id,r=t||n,i=r&&P.value.selected.backgroundColor!=null?P.value.selected.backgroundColor:e.original.backgroundColor,a=r&&P.value.selected.stroke!=null?P.value.selected.stroke:P.value.stroke,o=r&&P.value.selected.strokeWidth!=null?P.value.selected.strokeWidth:P.value.strokeWidth;return{x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:P.value.borderRadius,fill:i,stroke:a,"stroke-width":o}}function wn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.original.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),{cx:e?.midpoint?.x,cy:e?.midpoint?.y,r:F.value.radius,fill:r?F.value.selectedEdge.stroke??F.value.fill:F.value.fill,stroke:a,"stroke-width":$e.value.strokeWidth*(i||e.from===Q.value?2:1)}}function Tn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.color??e.original?.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),a}function En(e){return`${Mt}-${String(e).replace(/[^a-zA-Z0-9_-]/g,`_`)}`}function Dn(){return q.value}async function On(){He(`copyAlt`,{config:N.value,dataset:ht.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:ht.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let kn=_(()=>(q.value?.nodes??[]).map(e=>({id:e.id,type:`node`,x:e.x,y:e.y,label:e.label??e.id,raw:e}))),An=_(()=>F.value.show?(q.value?.edges??[]).filter(e=>e?.midpoint).map(e=>({id:e.id,type:`midpoint`,x:e.midpoint.x,y:e.midpoint.y,label:`${J(e.from)?.label??e.from} → ${J(e.to)?.label??e.to}`,raw:e})):[]),$=_(()=>[...kn.value,...An.value].sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x)),jn=_(()=>{let e=/* @__PURE__ */ new Map;return $.value.forEach((t,n)=>{e.set(`${t.type}:${t.id}`,n)}),e}),Mn=_(()=>{let e=q.value?.nodes??[],t=q.value?.edges??[];return{headers:[N.value.a11y?.translations?.node??`Node`,N.value.a11y?.translations?.parents??`Parents`,N.value.a11y?.translations?.children??`Children`],rows:e.map(e=>{let n=t.filter(t=>t.to===e.id).map(e=>J(e.from)?.label??e.from).join(`, `),r=t.filter(t=>t.from===e.id).map(e=>J(e.to)?.label??e.to).join(`, `);return[e.label??e.id,n||`—`,r||`—`]})}});function Nn(e){return`${e.type}:${e.id}`}function Pn(){return j.value==null||M.value==null?null:$.value.find(e=>e.id===j.value&&e.type===M.value)??null}async function Fn(e){e&&(e.type===`node`?$t():e.type===`midpoint`&&(tn(),await Qt(e.raw)))}function In(e){e&&(j.value=e.id,M.value=e.type,Xe.value=jn.value.get(Nn(e))??null,e.type===`node`?(_n(e.id),Z.value=null):e.type===`midpoint`&&(Q.value=null,Z.value=e.id,F.value.selectedEdge.animated===!0&&dn()))}function Ln(){j.value=null,M.value=null,Xe.value=null,z.value||(Q.value=null),H.value||(Z.value=null,F.value.selectedEdge.animated===!0&&dn())}function Rn(){Qe.value=!0,Ln()}function zn(){Qe.value=!1,tn(),$t(),Ln()}function Bn(e,t,n){let r=t.x-e.x,i=t.y-e.y;return n===`right`&&r<=0||n===`left`&&r>=0||n===`down`&&i<=0||n===`up`&&i>=0?1/0:n===`right`||n===`left`?Math.abs(r)*1e3+Math.abs(i):Math.abs(i)*1e3+Math.abs(r)}function Vn(e,t){let n=$.value.filter(t=>Nn(t)!==Nn(e));if(!n.length)return null;let r=null,i=1/0;return n.forEach(n=>{let a=Bn(e,n,t);a<i&&(i=a,r=n)}),r||(t===`right`||t===`down`?$.value[0]??null:$.value[$.value.length-1]??null)}async function Hn(e){e&&(Ze.value=`keyboard`,e.type===`node`&&($t(),await en(e.raw)))}async function Un(e){if(!W.value||U.value||document.activeElement!==W.value||!$.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){tn(),$t(),Ln();return}let s=Pn();if(a){if(!s)return;s.type===`node`&&await Hn(s);return}if(!s){let e=$.value[0];if(!e)return;In(e),await Fn(e);return}let c=null;n?c=Vn(s,`right`):t?c=Vn(s,`left`):i?c=Vn(s,`down`):r&&(c=Vn(s,`up`)),c&&(tn(),$t(),In(c),await Fn(c))}return i({getData:Dn,getImage:fn,generatePdf:bt,generateSvg:Et,generateImage:xt,toggleAnnotator:Gt,toggleFullscreen:Wt,zoomIn:Kt,zoomOut:qt,resetZoom:Ft,switchDirection:Yt,copyAlt:On,focusOnNode:Bt}),(e,t)=>(S(),b(`div`,{class:De(`vue-data-ui-component vue-ui-dag ${X.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.responsive?`vue-ui-dag-responsive`:``}`),id:`dag_${O.value}`,ref_key:`dagChart`,ref:D,style:ke({fontFamily:N.value.style.fontFamily,backgroundColor:I.value.backgroundColor,padding:`0.5rem`}),onMouseenter:Ot,onMouseleave:kt},[x(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[x(`p`,null,Ne(N.value.a11y.translations.keyboardNavigation),1)],8,ir),Mn.value?.rows?.length?(S(),v(fe,{key:0,uid:O.value,head:Mn.value.headers,body:Mn.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):y(``,!0),T(jt)?(S(),b(`div`,ar,Ne(String(T(jt))),1)):y(``,!0),N.value.userOptions.buttons.annotator?(S(),v(T(Ie),{key:2,svgRef:T(W),backgroundColor:I.value.backgroundColor,color:I.value.color,active:U.value,isCursorPointer:et.value,palette:N.value.userOptions.annotatorPalette,onClose:Gt},be({_:2},[Me(T(oe),t=>({name:t,fn:Le(n=>[w(e.$slots,t,Oe(we(T(ae)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):y(``,!0),N.value.userOptions.show&&Ye.value&&(T(ft)||T(ut))?(S(),v(T(ze),{ref:`userOptionsRef`,key:`user_option_${qe.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:T(yt),isImaging:T(K),uid:O.value,hasTooltip:!1,hasTable:!1,hasXls:!1,hasLabel:!1,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:X.value,chartElement:D.value,position:N.value.userOptions.position,titles:{...N.value.userOptions.buttonTitles},hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:U.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,hasZoom:N.value.userOptions.buttons.zoom,isZoom:Pt.value,isCursorPointer:et.value,onToggleFullscreen:Wt,onGeneratePdf:T(bt),onGenerateImage:T(Dt),onGenerateSvg:T(Et),onToggleAnnotator:Gt,onToggleZoom:Vt,onCopyAlt:On,style:ke({visibility:T(ft)?T(ut)?`visible`:`hidden`:`visible`})},be({_:2},[Me(T(se)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Le(n=>[w(e.$slots,t,Oe(we(T(ce)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`chartElement`,`position`,`titles`,`hasAnnotator`,`isAnnotation`,`callbacks`,`printScale`,`hasZoom`,`isZoom`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):y(``,!0),I.value.title.text?(S(),b(`div`,{key:4,ref_key:`chartTitle`,ref:Ue,style:`width:100%;background:transparent;`},[(S(),v(re,{key:`title_${Ke.value}`,config:{title:{cy:`dag-title`,...I.value.title},subtitle:{cy:`dag-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):y(``,!0),I.value.controls.position===`top`&&!T(mt)&&I.value.controls.show?(S(),v(ne,{key:5,ref_key:`zoomControls`,ref:Ge,config:N.value,scale:T(Lt),isFullscreen:X.value,withDirection:``,onZoomIn:Kt,onZoomOut:qt,onResetZoom:t[0]||=()=>T(Ft)(!0),onSwitchDirection:Yt},null,8,[`config`,`scale`,`isFullscreen`])):y(``,!0),x(`div`,or,[T(q)?(S(),b(`svg`,{key:0,ref_key:`svgRef`,ref:W,class:De({"vue-ui-dag-svg":!0,"vue-data-ui-loading":T(mt)}),viewBox:Ut.value,xmlns:T(u),style:ke({backgroundColor:I.value.backgroundColor,height:`100%`,width:`100%`}),tabindex:`0`,"aria-describedby":`chart-instructions-${O.value}`,onFocus:Rn,onBlur:zn,onKeydown:Un},[Se(T(Be)),w(e.$slots,`svg-underlayer`,{svg:{drawingArea:T(Y),data:T(q),orientation:G.value,isPrintingImg:T(yt)||T(K)||T(wt),isPrintingSvg:T(Tt)}},void 0,!0),I.value.backgroundPattern.show?(S(),b(`defs`,cr,[x(`pattern`,{id:`dag_bg_pattern_${O.value}`,patternUnits:`userSpaceOnUse`,width:pn.value,height:pn.value},[w(e.$slots,`background-pattern`,Oe(we({x:pn.value/2,y:pn.value/2,color:I.value.backgroundPattern.dotColor})),()=>[x(`circle`,{cx:pn.value/2,cy:pn.value/2,r:mn.value,fill:I.value.backgroundPattern.dotColor},null,8,ur)],!0)],8,lr)])):y(``,!0),I.value.backgroundPattern.show?(S(),b(`rect`,{key:1,x:T(Y)?.x??0,y:T(Y)?.y??0,width:T(Y)?.width??0,height:T(Y)?.height??0,fill:`url(#dag_bg_pattern_${O.value})`,style:ke({pointerEvents:`none`,opacity:I.value.backgroundPattern.opacity})},null,12,dr)):y(``,!0),T(q).arrowShape===`undirected`?y(``,!0):(S(),b(`defs`,fr,[(S(!0),b(_e,null,Me(T(q).edges,e=>(S(),b(`marker`,{key:`marker_${e.id}`,id:En(e.id),markerWidth:T(q).arrowSize,markerHeight:T(q).arrowSize,refX:T(q).arrowSize-3,refY:T(q).arrowSize/2,orient:`auto`,markerUnits:`strokeWidth`},[T(q).arrowShape===`normal`?(S(),b(`path`,{key:0,d:`M 0 0 L ${T(q).arrowSize} ${T(q).arrowSize/2} L 0 ${T(q).arrowSize} Z`,fill:Tn(e),stroke:Tn(e),"stroke-width":`0`,style:{transition:`stroke 0.2s ease-in-out,
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{Pt as n,S as r,St as i,X as a,Y as o,at as s,in as c,rt as l,t as u,zt as d}from"./lib-rPeBMZrn.js";import{n as f,t as p}from"./BaseScanner-8NdoBs7B.js";import{n as m,t as h}from"./useHints-C-TwxM0Y.js";import{t as g}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ee}from"./resolveChartConfig-CIhClE5R.js";import{t as te}from"./img-D4RQwASc.js";import{t as ne}from"./BaseZoomControls-ByS_7fmI.js";import{n as re}from"./Title-BliHuXfT.js";import{t as ie}from"./useChartExport-BZts4KFb.js";import{n as ae,t as oe}from"./annotationSlots-BRR85CqJ.js";import{n as se,t as ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as le}from"./usePrinter-DVf3YcG5.js";import{c as ue}from"./canvas-lib-22VpOI4_.js";import{t as de}from"./useResponsive-CENUxfEL.js";import{t as fe}from"./A11yDataTable-DWNlWXzs.js";import{t as pe}from"./useUserOptionState-CXlFnwPv.js";import{t as me}from"./useChartAccessibility-DOMuYJfm.js";import{t as he}from"./usePanZoom-BdjP5Suc.js";import{t as ge}from"./vue_ui_dag-1b_dLSym.js";import{Fragment as _e,Teleport as ve,Transition as ye,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as be,createTextVNode as xe,createVNode as Se,defineAsyncComponent as Ce,guardReactiveProps as we,mergeProps as Te,nextTick as Ee,normalizeClass as De,normalizeProps as Oe,normalizeStyle as ke,onBeforeUnmount as Ae,onMounted as je,openBlock as S,ref as C,renderList as Me,renderSlot as w,toDisplayString as Ne,toRefs as Pe,unref as T,watch as Fe,watchEffect as Ie,withCtx as Le,withModifiers as Re}from"vue";var ze=`\0`,Be=`\0`,Ve=``,E=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>void 0;_defaultEdgeLabelFn=()=>void 0;_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(e){e&&(this._isDirected=!Object.hasOwn(e,`directed`)||e.directed,this._isMultigraph=Object.hasOwn(e,`multigraph`)?e.multigraph:!1,this._isCompound=Object.hasOwn(e,`compound`)?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[Be]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,typeof e!=`function`&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){let e=this;return this.nodes().filter(t=>Object.keys(e._in[t]).length===0)}sinks(){let e=this;return this.nodes().filter(t=>Object.keys(e._out[t]).length===0)}setNodes(e,t){let n=arguments,r=this;return e.forEach(e=>{n.length>1?r.setNode(e,t):r.setNode(e)}),this}setNode(e,t){return Object.hasOwn(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=Be,this._children[e]={},this._children[Be][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){let t=this;if(Object.hasOwn(this._nodes,e)){let n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=Be;else{t+=``;for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){let t=this._parent[e];if(t!==Be)return t}}children(e=Be){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else if(e===Be)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t);for(let t of this.successors(e))n.add(t);return Array.from(n.values())}}isLeaf(e){let t;return t=this.isDirected()?this.successors(e):this.neighbors(e),t.length===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());let n=this;Object.entries(this._nodes).forEach(([n,r])=>{e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});let r={};function i(e){let a=n.parent(e);return a===void 0||t.hasNode(a)?(r[e]=a,a):a in r?r[a]:i(a)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,i(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,typeof e!=`function`&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){let n=this,r=arguments;return e.reduce((e,i)=>(r.length>1?n.setEdge(e,i,t):n.setEdge(e,i),i)),this}setEdge(){let e,t,n,r,i=!1,a=arguments[0];typeof a==`object`&&a&&`v`in a?(e=a.v,t=a.w,n=a.name,arguments.length===2&&(r=arguments[1],i=!0)):(e=a,t=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),e=``+e,t=``+t,n!==void 0&&(n=``+n);let o=O(this._isDirected,e,t,n);if(Object.hasOwn(this._edgeLabels,o))return i&&(this._edgeLabels[o]=r),this;if(n!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(e),this.setNode(t),this._edgeLabels[o]=i?r:this._defaultEdgeLabelFn(e,t,n);let s=Ue(this._isDirected,e,t,n);return e=s.v,t=s.w,Object.freeze(s),this._edgeObjs[o]=s,He(this._preds[t],e),He(this._sucs[e],t),this._in[t][o]=s,this._out[e][o]=s,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(){let e=this.edge(...arguments);return typeof e==`object`?e:{label:e}}hasEdge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,r)}removeEdge(e,t,n){let r=arguments.length===1?We(this._isDirected,arguments[0]):O(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],D(this._preds[t],e),D(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,t){let n=this._in[e];if(n){let e=Object.values(n);return t?e.filter(e=>e.v===t):e}}outEdges(e,t){let n=this._out[e];if(n){let e=Object.values(n);return t?e.filter(e=>e.w===t):e}}nodeEdges(e,t){let n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}};function He(e,t){e[t]?e[t]++:e[t]=1}function D(e,t){--e[t]||delete e[t]}function O(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}return i+Ve+a+Ve+(r===void 0?ze:r)}function Ue(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}let o={v:i,w:a};return r&&(o.name=r),o}function We(e,t){return O(e,t.v,t.w,t.name)}var Ge=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Ke(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Ke(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,qe)),n=n._prev;return`[`+e.join(`, `)+`]`}};function Ke(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function qe(e,t){if(e!==`_next`&&e!==`_prev`)return t}var Je=()=>1;function Ye(e,t){if(e.nodeCount()<=1)return[];let n=j(e,t||Je);return k(n.graph,n.buckets,n.zeroIndex).flatMap(t=>e.outEdges(t.v,t.w))}function k(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)A(e,t,n,o);for(;o=i.dequeue();)A(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i].dequeue(),o){r=r.concat(A(e,t,n,o,!0));break}}}return r}function A(e,t,n,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,M(t,n,s)}),e.outEdges(r.v).forEach(r=>{let i=e.edge(r),a=e.node(r.w);a.in-=i,M(t,n,a)}),e.removeNode(r.v),a}function j(e,t){let n=new E,r=0,i=0;e.nodes().forEach(e=>{n.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});let a=Xe(i+r+3).map(()=>new Ge),o=r+1;return n.nodes().forEach(e=>{M(a,o,n.node(e))}),{graph:n,buckets:a,zeroIndex:o}}function M(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function Xe(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function Ze(e,t,n,r){let i=r;for(;e.hasNode(i);)i=B(r);return n.dummy=t,e.setNode(i,n),i}function Qe(e){let t=new E().setGraph(e.graph());return e.nodes().forEach(n=>{t.setNode(n,e.node(n))}),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function N(e){let t=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function P(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return H(e.nodes(),t)}function $e(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return H(e.nodes(),t)}function F(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function I(e){let t=V(it(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i][r.order]=n)}),t}function et(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=R(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function tt(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=R(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>{e.node(t).rank+=i})})}function nt(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Ze(e,`border`,i,t)}var rt=65535;function L(e,t=rt){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}function R(e,t){if(t.length>rt){let n=L(t);return e.apply(null,n.map(t=>e.apply(null,t)))}return e.apply(null,t)}function it(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return R(Math.max,t)}function at(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function z(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function ot(e,t){return t()}var st=0;function B(e){let t=++st;return e+String(t)}function V(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function ct(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function lt(e,t){let n=t;if(typeof t==`string`){let e=t;n=t=>t[e]}return Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function H(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var U={addBorderNode:nt,addDummyNode:Ze,applyWithChunking:R,asNonCompoundGraph:N,buildLayerMatrix:I,intersectRect:F,mapValues:lt,maxRank:it,normalizeRanks:et,notime:ot,partition:at,pick:ct,predecessorWeights:$e,range:V,removeEmptyRanks:tt,simplify:Qe,successorWeights:P,time:z,uniqueId:B,zipObject:H};function W(e){(e.graph().acyclicer===`greedy`?Ye(e,t(e)):dt(e)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,B(`rev`))});function t(e){return t=>e.edge(t).weight}}function ut(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function dt(e){let t=[],n={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,n[a]=!0,e.outEdges(a).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return e.nodes().forEach(i),t}function ft(e){e.graph().dummyChains=[],e.edges().forEach(t=>G(e,t))}function G(e,t){let n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a===r+1)return;e.removeEdge(t);let l,u,d=0;for(++r;r<a;++d,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},l=Ze(e,`edge`,u,`_d`),r===c&&(u.width=s.width,u.height=s.height,u.dummy=`edge-label`,u.labelpos=s.labelpos),e.setEdge(n,l,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,i,{weight:s.weight},o)}function pt(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel;e.setEdge(n.edgeObj,r);let i;for(;n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function mt(e){function t(n){let r=e.node(n);if(r&&Object.prototype.hasOwnProperty.call(r,`rank`))return r.rank;let i=e.outEdges(n)||[];if(!i.length)return r&&(r.rank=0),0;let a=i.map(n=>e.node(n.w)?t(n.w)-e.edge(n).minlen:1/0),o=R(Math.min,a);return o===1/0&&(o=0),r&&(r.rank=o),o}(e.sources()||[]).forEach(t)}function ht(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function gt(e){_t(e);let t=new E;e.nodes().forEach(e=>{t.setNode(e,{})});let n=e.nodes();if(!n.length)return t;let r=n[0],i=/* @__PURE__ */ new Set([r]);for(;i.size<n.length;){let r=vt(e,i);if(!r){let e=n.find(e=>!i.has(e));i.add(e),t.setNode(e,{});continue}let{edgeObject:a,delta:o,attachFrom:s,attachTo:c}=r;yt(e,i,s,o),t.setEdge(a.v,a.w,{}),i.add(c)}return t}function _t(e){e.nodes().forEach(t=>{let n=e.node(t)||{};Object.prototype.hasOwnProperty.call(n,`rank`)||(n.rank=0,e.setNode(t,n))})}function vt(e,t){let n=null;return e.edges().forEach(r=>{let i=t.has(r.v);if(i===t.has(r.w))return;let a=ht(e,r),o=Math.abs(a);if(!n||o<n.absoluteSlack){let e=i?r.v:r.w,t=i?r.w:r.v;n={edgeObject:r,delta:i?a:-a,attachFrom:e,attachTo:t,absoluteSlack:o}}}),n}function yt(e,t,n,r){r&&e.nodes().forEach(n=>{if(!t.has(n)){let t=e.node(n);t.rank+=r}})}function K(e){let t=Qe(e);return mt(t),t.nodes().forEach(n=>{let r=t.node(n),i=e.node(n)||{};i.rank=r.rank,e.setNode(n,i)}),e}function bt(e,t){}function xt(e,t){}function St(e,t,n){return 0}function Ct(e){return null}function wt(e,t){return null}K.initLowLimValues=bt,K.initCutValues=xt,K.calcCutValue=St,K.leaveEdge=Ct,K.enterEdge=wt;var Tt=mt;function Et(e){let t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case`network-simplex`:kt(e);break;case`tight-tree`:Ot(e);break;case`longest-path`:Dt(e);break;case`none`:break;default:kt(e)}}var Dt=Tt;function Ot(e){Tt(e),gt(e)}function kt(e){K(e)}function At(e){let t=jt(e);e.graph().dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=q(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0,d=n;for(;d!==i.w;){if(r=e.node(d),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(d,l),d=e.successors(d)[0]}})}function q(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c,l;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function jt(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children().forEach(r),t}function Mt(e){let t=U.addDummyNode(e,`root`,{},`_root`),n=Nt(e),r=Object.values(n),i=U.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>{e.edge(t).minlen*=a});let o=Pt(e)+1;e.children().forEach(r=>{J(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function J(e,t,n,r,i,a,o){let s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}let c=U.addBorderNode(e,`_bt`),l=U.addBorderNode(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{J(e,t,n,r,i,a,s);let u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function Nt(e){let t={};function n(r,i){let a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children().forEach(e=>n(e,1)),t}function Pt(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Y(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}function Ft(e){function t(n){let r=e.children(n),i=e.node(n);if(r.length&&r.forEach(t),Object.hasOwn(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(let t=i.minRank,r=i.maxRank+1;t<r;++t)It(e,`borderLeft`,`_bl`,n,i,t),It(e,`borderRight`,`_br`,n,i,t)}}e.children().forEach(t)}function It(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Ze(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Lt(e){let t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&zt(e)}function Rt(e){let t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Vt(e),(t===`lr`||t===`rl`)&&(Ut(e),zt(e))}function zt(e){e.nodes().forEach(t=>{Bt(e.node(t))}),e.edges().forEach(t=>{Bt(e.edge(t))})}function Bt(e){let t=e.width;e.width=e.height,e.height=t}function Vt(e){e.nodes().forEach(t=>{Ht(e.node(t))}),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(Ht),Object.hasOwn(n,`y`)&&Ht(n)})}function Ht(e){e.y=-e.y}function Ut(e){e.nodes().forEach(t=>{X(e.node(t))}),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(X),Object.hasOwn(n,`x`)&&X(n)})}function X(e){let t=e.x;e.x=e.y,e.y=t}var Wt={adjust:Lt,undo:Rt};function Gt(e){let t={},n=e.nodes().filter(t=>e.children(t).length===0),r=n.map(t=>e.node(t).rank),i=V(R(Math.max,r)+1).map(()=>[]);function a(n){if(t[n])return;t[n]=!0;let r=e.node(n);i[r.rank].push(n),e.successors(n).forEach(a)}return n.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(a),i}function Kt(e,t){let n=0;for(let r=1;r<t.length;++r)n+=qt(e,t[r-1],t[r]);return n}function qt(e,t,n){let r=H(n,n.map((e,t)=>t)),i=t.flatMap(t=>e.outEdges(t).map(t=>({pos:r[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos)),a=1;for(;a<n.length;)a<<=1;let o=2*a-1;--a;let s=Array(o).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;s[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n}),c}function Jt(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(!n.length)return{v:t};let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}})}function Yt(e,t){let n={};return e.forEach((e,t)=>{let r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight)}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(r))}),Xt(Object.values(n).filter(e=>!e.indegree))}function Xt(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&Zt(e,t)}}function r(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(r(i))}return t.filter(e=>!e.merged).map(e=>ct(e,[`vs`,`i`,`barycenter`,`weight`]))}function Zt(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Z(e,t){let n=at(e,e=>Object.hasOwn(e,`barycenter`)),r=n.lhs,i=n.rhs.sort((e,t)=>t.i-e.i),a=[],o=0,s=0,c=0;r.sort($t(!!t)),c=Qt(a,i,c),r.forEach(e=>{c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=Qt(a,i,c)});let l={vs:a.flat(!0)};return s&&(l.barycenter=o/s,l.weight=s),l}function Qt(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function $t(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}function en(e,t,n,r){let i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=i.filter(e=>e!==o&&e!==s));let l=Jt(e,i);l.forEach(t=>{if(e.children(t.v).length){let i=en(e,t.v,n,r);c[t.v]=i,Object.hasOwn(i,`barycenter`)&&nn(t,i)}});let u=Yt(l,n);tn(u,c);let d=Z(u,r);if(o&&(d.vs=[o,d.vs,s].flat(!0),e.predecessors(o).length)){let t=e.node(e.predecessors(o)[0]),n=e.node(e.predecessors(s)[0]);Object.hasOwn(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+t.order+n.order)/(d.weight+2),d.weight+=2}return d}function tn(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function nn(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function rn(e,t,n,r){r||=e.nodes();let i=an(e),a=new E({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t));return r.forEach(r=>{let o=e.node(r),s=e.parent(r);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(a.setNode(r),a.setParent(r,s||i),e[n](r).forEach(t=>{let n=t.v===r?t.w:t.v,i=a.edge(n,r),o=i?i.weight:0;a.setEdge(n,r,{weight:e.edge(t).weight+o})}),Object.hasOwn(o,`minRank`)&&a.setNode(r,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),a}function an(e){let t;for(;e.hasNode(t=B(`_root`)););return t}function on(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function sn(e,t={}){if(typeof t.customOrder==`function`){t.customOrder(e,sn);return}let n=it(e),r=cn(e,V(1,n+1),`inEdges`),i=cn(e,V(n-1,-1,-1),`outEdges`),a=Gt(e);if(un(e,a),t.disableOptimalOrderHeuristic)return;let o=1/0,s,c=t.constraints||[];for(let t=0,n=0;n<4;++t,++n){ln(t%2==0?r:i,t%4>=2,c),a=I(e);let l=Kt(e,a);l<o?(o=l,n=0,s=structuredClone(a)):l===o&&(s=structuredClone(a))}un(e,s)}function cn(e,t,n){let r=/* @__PURE__ */ new Map;function i(e,t){r.has(e)||r.set(e,[]),r.get(e).push(t)}for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(t=>rn(e,t,n,r.get(t)||[]))}function ln(e,t,n){let r=new E;e.forEach(e=>{n.forEach(e=>r.setEdge(e.left,e.right));let i=e.graph().root,a=en(e,i,r,t);a.vs.forEach((t,n)=>{e.node(t).order=n}),on(e,r,a.vs)})}function un(e,t){Object.values(t).forEach(t=>{t.forEach((t,n)=>{e.node(t).order=n})})}function dn(e,t){let n={};function r(t,r){let i=0,a=0,o=t.length,s=r[r.length-1];return r.forEach((t,c)=>{let l=pn(e,t),u=l?e.node(l).order:o;(l||t===s)&&(r.slice(a,c+1).forEach(t=>{e.predecessors(t).forEach(r=>{let a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&mn(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function fn(e,t){let n={};function r(t,r,i,a,o){let s;V(r,i).forEach(r=>{s=t[r],e.node(s).dummy&&e.predecessors(s).forEach(t=>{let r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&mn(n,t,s)})})}function i(t,n){let i=-1,a,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);t.length&&(a=e.node(t[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(i),n}function pn(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}function mn(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function Q(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function hn(e,t,n,r){let i={},a={},o={};return t.forEach(e=>{e.forEach((e,t)=>{i[e]=e,a[e]=e,o[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let s=r(e);if(s.length){s=s.sort((e,t)=>o[e]-o[t]);let r=(s.length-1)/2;for(let c=Math.floor(r),l=Math.ceil(r);c<=l;++c){let r=s[c];a[e]===e&&t<o[r]&&!Q(n,e,r)&&(a[r]=e,a[e]=i[e]=i[r],t=o[r])}}})}),{root:i,align:a}}function gn(e,t,n,r,i){let a={},o=_n(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes().slice(),r={},i=n.pop();for(;i;){if(r[i])e(i);else{r[i]=!0,n.push(i);for(let e of t(i))n.push(e)}i=n.pop()}}function l(e){a[e]=o.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+o.edge(t)),0)}function u(t){let n=o.outEdges(t).reduce((e,t)=>Math.min(e,a[t.w]-o.edge(t)),1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),Object.keys(r).forEach(e=>{a[e]=a[n[e]]}),a}function _n(e,t,n,r){let i=new e.constructor,a=e.graph(),o=Sn(a.nodesep,a.edgesep,r);return t.forEach(t=>{let r;t.forEach(t=>{let a=n[t];if(i.setNode(a),r){let s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function vn(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=Cn(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function yn(e,t){let n=Object.values(t),r=R(Math.min,n),i=R(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(a=>{let o=n+a,s=e[o];if(s===t)return;let c=Object.values(s),l=r-R(Math.min,c);a!==`l`&&(l=i-R(Math.max,c)),l&&(s=lt(s,e=>e+l),e[o]=s)})})}function bn(e,t){return lt(e.ul,(n,r)=>{if(t)return e[t.toLowerCase()][r];let i=Object.values(e).map(e=>e[r]).sort((e,t)=>e-t);return(i[1]+i[2])/2})}function xn(e){let t=I(e),n=Object.assign(dn(e,t),fn(e,t)),r={},i;return[`u`,`d`].forEach(a=>{i=a===`u`?t:Object.values(t).reverse(),[`l`,`r`].forEach(t=>{let o=i;t===`r`&&(o=o.map(e=>Object.values(e).reverse()));let s=(a===`u`?e.predecessors:e.successors).bind(e),c=hn(e,o,n,s),l=gn(e,o,c.root,c.align,t===`r`);t===`r`&&(l=lt(l,e=>-e)),r[a+t]=l})}),yn(r,vn(e,r)),bn(r,e.graph().align)}function Sn(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function Cn(e,t){return e.node(t).width}function wn(e){let t=N(e);Tn(t);let n=xn(t);Object.entries(n).forEach(([t,n])=>{e.node(t).x=n})}function Tn(e){let t=I(e),n=e.graph().ranksep,r=0;t.forEach(t=>{let i=t.reduce((t,n)=>{let r=e.node(n).height;return t>r?t:r},0);t.forEach(t=>{e.node(t).y=r+i/2}),r+=i+n})}function En(e,t={}){let n=t.debugTiming?z:ot;return n(`layout`,()=>{let r=n(` buildLayoutGraph`,()=>In(e));return n(` runLayout`,()=>Dn(r,n,t)),n(` updateInputGraph`,()=>On(e,r)),r})}function Dn(e,t,n){t(` makeSpaceForEdgeLabels`,()=>Ln(e)),t(` removeSelfEdges`,()=>qn(e)),t(` acyclic`,()=>W(e)),t(` nestingGraph.run`,()=>Mt(e)),t(` rank`,()=>Et(N(e))),t(` injectEdgeLabelProxies`,()=>Rn(e)),t(` removeEmptyRanks`,()=>tt(e)),t(` nestingGraph.cleanup`,()=>Y(e)),t(` normalizeRanks`,()=>et(e)),t(` assignRankMinMax`,()=>zn(e)),t(` removeEdgeLabelProxies`,()=>Bn(e)),t(` normalize.run`,()=>ft(e)),t(` parentDummyChains`,()=>At(e)),t(` addBorderSegments`,()=>Ft(e)),t(` order`,()=>sn(e,n)),t(` insertSelfEdges`,()=>Jn(e)),t(` adjustCoordinateSystem`,()=>Wt.adjust(e)),t(` position`,()=>wn(e)),t(` positionSelfEdges`,()=>Yn(e)),t(` removeBorderNodes`,()=>Kn(e)),t(` normalize.undo`,()=>pt(e)),t(` fixupEdgeLabelCoords`,()=>Wn(e)),t(` undoCoordinateSystem`,()=>Wt.undo(e)),t(` translateGraph`,()=>Vn(e)),t(` assignNodeIntersects`,()=>Un(e)),t(` reversePoints`,()=>Gn(e)),t(` acyclic.undo`,()=>ut(e))}function On(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.order=i.order,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)});let n=t.graph(),r=e.graph();r.width=n.width,r.height=n.height}var kn=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],An={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},$=[`acyclicer`,`ranker`,`rankdir`,`align`],jn=[`width`,`height`,`rank`],Mn={width:0,height:0},Nn=[`minlen`,`weight`,`width`,`height`,`labeloffset`],Pn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Fn=[`labelpos`,`arrowshape`];function In(e){let t=Zn(e.graph()),n={...An,...Xn(t,kn),...ct(t,$)},r=new E({multigraph:!0,compound:!0});return r.setGraph(n),e.nodes().forEach(t=>{let n=Xn(Zn(e.node(t)),jn);Object.keys(Mn).forEach(e=>{n[e]===void 0&&(n[e]=Mn[e])}),r.setNode(t,n),r.setParent(t,e.parent(t))}),e.edges().forEach(t=>{let n=Zn(e.edge(t));r.setEdge(t,{...Pn,...Xn(n,Nn),...ct(n,Fn)})}),r}function Ln(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Rn(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);Ze(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function zn(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function Bn(e){e.nodes().forEach(t=>{let n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function Vn(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function Hn(e,t,n){if(!n||!t)return e;let r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i);if(!a||a<=n)return e;let o=n/a;return{x:e.x+r*o,y:e.y+i*o}}function Un(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;!n.points||!n.points.length?(n.points=[],a=i,o=r):(a=n.points[0],o=n.points[n.points.length-1]);let s=F(r,a),c=F(i,o),l=n.points.length?n.points[0]:a,u=n.points.length?n.points[n.points.length-1]:o,d=n.arrowshape,f=d===`normal`||d===`vee`,p=!!n.reversed,m=s,h=c;f&&(p?m=Hn(s,l,4):h=Hn(c,u,4)),n.points.unshift(m),n.points.push(h)})}function Wn(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function Gn(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Kn(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function qn(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Jn(e){I(e).forEach(t=>{let n=0;t.forEach((t,r)=>{let i=e.node(t);i.order=r+n,(i.selfEdges||[]).forEach(t=>{Ze(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function Yn(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy===`selfedge`){let r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function Xn(e,t){return lt(ct(e,t),Number)}function Zn(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{let r=e;typeof r==`string`&&(r=r.toLowerCase()),t[r]=n}),t}var Qn={rankDirection:`TB`,nodeSeparation:50,rankSeparation:50,edgeSeparation:10,align:void 0,nodeWidth:100,nodeHeight:40,curvedEdges:!1,padding:20,arrowShape:`normal`,arrowSize:10};function $n(e){return e.length?e.map((e,t)=>`${t===0?`M`:`L`} ${e.x} ${e.y}`).join(` `):``}function er(e){if(!e.length)return``;if(e.length===1){let t=e[0];return`M ${t.x} ${t.y}`}if(e.length===2)return`M ${e[0].x} ${e[0].y} L ${e[1].x} ${e[1].y}`;let[t]=e,n=`M ${t.x} ${t.y}`;for(let t=1;t<e.length-1;t+=1){e[t-1];let r=e[t],i=e[t+1],a=r.x,o=r.y,s=(r.x+i.x)/2,c=(r.y+i.y)/2;n+=` Q ${a} ${o} ${s} ${c}`}let r=e[e.length-1];return n+=` L ${r.x} ${r.y}`,n}function tr(e){let{nodes:t,edges:n,configuration:r}=e,o=C(null),s=C(null),c=`dag-arrow-${a()}`;function l(e,t,n){s.value=null,o.value=null;let r={...Qn,...n},l=new E({multigraph:!0,compound:!0});l.setGraph({rankdir:r.rankDirection,nodesep:r.nodeSeparation,ranksep:r.rankSeparation,edgesep:r.edgeSeparation,align:r.align}),e.forEach(e=>{l.setNode(e.id,{label:e.label,width:e.width??r.nodeWidth,height:e.height??r.nodeHeight})}),t.forEach(e=>{l.setEdge(e.from,e.to,{weight:e.weight??1,minlen:e.minLength??1,arrowShape:r.arrowShape??`normal`})}),En(l);let u=e.map(e=>{let t=l.node(e.id);return{id:e.id,label:e.label,x:t.x,y:t.y,width:t.width,height:t.height,original:e}}),d=l.edges().map(e=>{let n=l.edge(e),i=n.points||[];if(!i.length)return null;let o=r.curvedEdges?er(i):$n(i),s=r.arrowShape===`undirected`?null:`url(#${c})`,u=t.find(t=>t?.from===e.v&&t?.to===e.w);return{id:`${e.v}->${e.w}->${a()}`,from:e.v,to:e.w,points:i,pathData:o,markerEnd:s,original:{...u,...n}}}).filter(Boolean),f=r.padding;if(!u.length){o.value={nodes:[],edges:d,viewBox:`0 0 0 0`,arrowShape:r.arrowShape,arrowSize:r.arrowSize};return}let p=u.flatMap(e=>[e.x-e.width/2,e.x+e.width/2]),m=u.flatMap(e=>[e.y-e.height/2,e.y+e.height/2]),h=Math.min(...p)-f,g=Math.max(...p)+f,ee=Math.min(...m)-f,te=Math.max(...m)+f;o.value={nodes:u,edges:d.map(e=>({...e,midpoint:e.pathData?i(e.pathData):{x:0,y:0}})),viewBox:`${h} ${ee} ${g-h} ${te-ee}`,arrowShape:r.arrowShape,arrowSize:r.arrowSize}}return Ie(()=>{try{l(T(t)||[],T(n)||[],T(r)||{})}catch(e){console.error(`[useDag] layout error:`,e),s.value=e,o.value=null}}),{layoutData:o,lastError:s,arrowMarkerIdentifier:c,recomputeLayout:()=>{l(T(t)||[],T(n)||[],T(r)||{})}}}var nr=/* @__PURE__ */ e({default:()=>Ir}),rr=[`id`],ir=[`id`],ar={key:1,class:`dag-chart-error`},or={style:{position:`relative`}},sr=[`viewBox`,`xmlns`,`aria-describedby`],cr={key:0},lr=[`id`,`width`,`height`],ur=[`cx`,`cy`,`r`,`fill`],dr=[`x`,`y`,`width`,`height`,`fill`],fr={key:2},pr=[`id`,`markerWidth`,`markerHeight`,`refX`,`refY`],mr=[`d`,`fill`,`stroke`],hr=[`d`,`fill`,`stroke`],gr={class:`vue-ui-dag-edges`},_r=[`data-a11y-midpoint-id`,`aria-label`,`onMouseenter`],vr={class:`vue-ui-dag-nodes`},yr=[`onClick`,`onMouseenter`,`onMouseleave`],br=[`data-a11y-node-id`,`aria-label`],xr=[`x`,`y`,`width`,`height`],Sr={class:`vue-ui-dag-edges`},Cr=[`d`,`stroke-width`,`marker-end`],wr={class:`vue-ui-dag-node-labels`},Tr=[`onClick`,`onMouseenter`,`onMouseleave`],Er=[`x`,`y`,`font-size`,`fill`,`font-weight`],Dr=[`x`,`y`,`font-size`,`fill`,`font-weight`,`innerHTML`],Or={key:1},kr={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ar={key:6,class:`vue-data-ui-watermark`},jr=[`data-position`],Mr={key:0},Nr=[`data-position`],Pr={key:0},Fr=1.5,Ir=/*#__PURE__*/ g({__name:`vue-ui-dag`,props:{dataset:{type:Object,default(){return{nodes:[],edges:[]}}},config:{type:Object,default(){return{}}}},emits:[`onNodeClick`,`onMidpointEnter`,`onMidpointLeave`,`copyAlt`,`rotate`],setup(e,{expose:i,emit:g}){let Ie=Ce(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ze=Ce(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Be=Ce(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),{vue_ui_dag:Ve}=t(),E=e,He=g,D=C(null),O=C(a()),Ue=C(null),We=C(null),Ge=C(null),Ke=C(0),qe=C(0),Je=C(!1),Ye=C(!1),k=C(null),A=C(null),j=C(null),M=C(null),Xe=C(null),Ze=C(`pointer`),Qe=C(!1),N=C(_t()),P=_(()=>N.value.style.chart.nodes),$e=_(()=>N.value.style.chart.edges),F=_(()=>N.value.style.chart.midpoints),I=_(()=>N.value.style.chart);m({config:()=>N.value,dataset:()=>E.dataset,component:`VueUiDag`,rules:[h.noHint]});let et=_(()=>N.value.userOptions.useCursorPointer),tt=C(N.value.style.chart.width),nt=C(N.value.style.chart.height),rt=C({x:0,y:0}),L=C(null),R=C(null),it=C({left:`0px`,top:`0px`}),at=C(`top`),z=C(!1),ot=C({x:0,y:0}),st=C({x:0,y:0}),B=C(null),V=C(null),ct=C({left:`0px`,top:`0px`}),lt=C(`top`),H=C(!1),U=C(!1),{svgRef:W}=me({config:I.value.title}),{userOptionsVisible:ut,setUserOptionsVisibility:dt,keepUserOptionState:ft}=pe({config:N.value}),G=C(N.value.style.chart.layout.rankDirection),pt=_(()=>c({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,nodes:{stroke:`#CCCCCC`,backgroundColor:`#DDDDDD50`},edges:{stroke:`#CCCCCC`},midpoints:{stroke:`#CCCCCC`,fill:`#CCCCCC`}}}},userConfig:N.value.skeletonConfig??{}})),{loading:mt,FINAL_DATASET:ht,manualLoading:gt}=f({...Pe(E),FINAL_CONFIG:N,prepareConfig:_t,skeletonDataset:E.config?.skeletonDataset??{nodes:[{id:`A`,label:``},{id:`B`,label:``},{id:`C`,label:``}],edges:[{from:`A`,to:`B`},{from:`A`,to:`C`}]},skeletonConfig:c({defaultConfig:N.value,userConfig:pt.value})});function _t(){return ee(E.config,Ve,ge)}let vt=_(()=>N.value.debug);je(async()=>{d(E.dataset)&&(s({componentName:`VueUiDag`,type:`dataset`,debug:vt.value}),Ye.value=!1,gt.value=!0),E.dataset.nodes&&E.dataset.nodes.length!==0||(s({componentName:`VueUiDag`,type:`datasetAttributeEmpty`,property:`nodes`,index:0,debug:vt.value}),Ye.value=!1,gt.value=!0),Ye.value=!0,await Ee(),an()}),Fe(()=>E.config,async e=>{mt.value||(N.value=_t()),ut.value=!N.value.userOptions.showOnChartHover,Ke.value+=1,G.value=I.value.layout.rankDirection,tt.value=I.value.width,nt.value=I.value.height,Pt.value=I.value.zoom.active,await Ee(),an()},{deep:!0});let{isPrinting:yt,isImaging:K,generatePdf:bt,generateImage:xt}=le({elementId:`dag_${O.value}`,fileName:I.value.title.text||`vue-ui-dag`,options:N.value.userOptions.print}),St=_(()=>I.value.backgroundColor),Ct=_(()=>I.value.title),{isCallbackImaging:wt,isCallbackSvg:Tt,generateSvg:Et,onGenerateImage:Dt}=ie({svg:W,title:Ct,legend:null,legendItems:null,backgroundColor:St,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:xt});function Ot(){Je.value=!0,dt(!0)}function kt(){dt(!1),Je.value=!1}function At({tooltipRef:e,isVisibleRef:t,anchorRef:n,styleRef:r,placementRef:i,offsetRef:a,margin:o=24}){return function(){let s=e.value;if(!s||!t.value)return;let c=s.getBoundingClientRect(),l=window.innerWidth,u=window.innerHeight,d=n.value.x,f=n.value.y,p=a?.value?.x??0,m=a?.value?.y??0,h=f-m-c.height-o,g=d-c.width/2,ee=`top`;if(h<o){let e=f+m+o;e+c.height<=u-o?(h=e,ee=`bottom`):(h=f-c.height/2,h<o&&(h=o),h+c.height>u-o&&(h=u-c.height-o),ee=`center`)}g<o&&(g=o),g+c.width>l-o&&(g=l-c.width-o);let te=g<=o,ne=g+c.width>=l-o;if((te||ne)&&ee!==`center`){let e,t,n=d-p-o;l-(d+p)-o>=n?(e=`right`,t=d+p+o):(e=`left`,t=d-p-o-c.width),t>=o&&t+c.width<=l-o&&(g=t,h=f-c.height/2,h<o&&(h=o),h+c.height>u-o&&(h=u-c.height-o),ee=e)}i.value=ee,r.value={left:`${g}px`,top:`${h}px`}}}let{layoutData:q,lastError:jt,arrowMarkerIdentifier:Mt}=tr({nodes:_(()=>ht.value.nodes.map(e=>({...e,backgroundColor:e.backgroundColor?r(e.backgroundColor):P.value.backgroundColor,color:e.color?r(e.color):P.value.labels.color}))),edges:_(()=>ht.value.edges),configuration:_(()=>({...I.value.layout,rankDirection:G.value}))});function J(e){return q.value?q.value.nodes.find(t=>t.id===e):null}_(()=>{if(!q.value)return[];let e=$e.value.stroke,t=/* @__PURE__ */ new Set;return q.value.edges.forEach(n=>{t.add({id:n.id,from:n.from,to:n.to,color:n.original?.color||e})}),Array.from(t)});let Nt=_(()=>{let e=tt.value,t=nt.value,n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0,a=Number.isFinite(r)&&r>0;return!i&&!a?null:{width:i?n:null,height:a?r:null}}),Pt=C(I.value.zoom.active),{viewBox:Y,resetZoom:Ft,setInitialViewBox:It,scale:Lt,zoomByFactor:Rt}=he(W,{x:0,y:0,width:100,height:100},1,Pt,()=>{z.value=!1}),zt=null;async function Bt(e,{smooth:t=!0,duration:r=300,zoomReset:i=!1,zoom:a=null}={}){let o=J(e);if(!o)return!1;let s=Y.value;if(!s)return!1;let c={x:Number(s.x),y:Number(s.y),width:Number(s.width),height:Number(s.height)},u=Lt.value,d=c.width,f=c.height,p=u;if(Number.isFinite(a)&&a>0||i){Ft(!1);let e=Y.value,t=Number.isFinite(a)&&a>0?a/100:1;d=Number(e.width)/t,f=Number(e.height)/t,p=t,Y.value={...c},Lt.value=u}let m=Number(o.x),h=Number(o.y);if(!Number.isFinite(c.x)||!Number.isFinite(c.y)||!Number.isFinite(c.width)||!Number.isFinite(c.height)||!Number.isFinite(d)||!Number.isFinite(f)||!Number.isFinite(m)||!Number.isFinite(h))return!1;let g={x:m-d/2,y:h-f/2,width:d,height:f};if(zt!==null&&(cancelAnimationFrame(zt),zt=null),z.value=!1,!t||r<=0)return Y.value=g,Lt.value=p,!0;let ee=performance.now();function te(e){let t=Math.min((e-ee)/r,1),i=l(t);Y.value={x:n(c.x,g.x,i),y:n(c.y,g.y,i),width:n(c.width,g.width,i),height:n(c.height,g.height,i)},Lt.value=n(u,p,i),t<1?zt=requestAnimationFrame(te):(Y.value=g,Lt.value=p,zt=null)}return zt=requestAnimationFrame(te),!0}function Vt(){Pt.value=!Pt.value}function Ht(){let e=q.value&&q.value.viewBox;if(!e)return;let t=String(e).split(` `).map(Number);if(t.length!==4)return;let[n,r,i,a]=t;if(!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a))return;let o=i,s=a,c=n,l=r,u=Nt.value;u&&(u.width!==null&&(o=u.width),u.height!==null&&(s=u.height),c=n-(o-i)/2,l=r-(s-a)/2),It({x:c,y:l,width:o,height:s},{overwriteCurrentIfNotZoomed:!0})}Fe(()=>q.value&&q.value.viewBox,()=>{Ht()},{immediate:!0}),Fe(()=>Nt.value,()=>{Ht()}),Fe(()=>U.value,e=>{Pt.value=!e});let Ut=_(()=>{let e=Y.value;return e?`${e.x} ${e.y} ${e.width} ${e.height}`:`0 0 0 0`}),X=C(!1);function Wt(e){X.value=e,qe.value+=1}function Gt(){U.value=!U.value}function Kt(){Rt(Fr,!0)}function qt(){Rt(1/Fr,!0)}let Jt=[`TB`,`RL`,`BT`,`LR`];function Yt(){G.value=Jt[(Jt.indexOf(G.value)+1)%Jt.length],Ft(),He(`rotate`,G.value)}let Xt=At({tooltipRef:R,isVisibleRef:H,anchorRef:rt,styleRef:it,placementRef:at,isNode:!1}),Zt=At({tooltipRef:V,isVisibleRef:z,anchorRef:ot,styleRef:ct,placementRef:lt,offsetRef:st}),Z=C(null);async function Qt(e){He(`onMidpointEnter`,e);let t=W.value;if(!t||!e?.midpoint)return;let n=t.createSVGPoint();n.x=e.midpoint.x,n.y=e.midpoint.y;let r=t.getScreenCTM();if(!r)return;let i=n.matrixTransform(r);rt.value={x:i.x,y:i.y},L.value=e,H.value=!0,F.value.selectedEdge.animated===!0&&(Z.value=e.id,dn()),await Ee(),Xt()}function $t(){H.value=!1,L.value=null,He(`onMidpointLeave`),F.value.selectedEdge.animated===!0&&(Z.value=null,dn())}async function en(e){if(He(`onNodeClick`,e),!P.value.tooltip.showOnClick)return;let t=W.value;if(!t)return;let n=t.createSVGPoint();n.x=e.x,n.y=e.y;let r=t.getScreenCTM();if(!r)return;let i=n.matrixTransform(r),a=I.value.layout.nodeWidth,o=I.value.layout.nodeHeight,s=r.a,c=r.d,l=a*s,u=o*c;st.value={x:l/2,y:u/2},ot.value={x:i.x,y:i.y},B.value=e,z.value=!0,await Ee(),Zt()}function tn(){z.value=!1,B.value=null}function nn(e){if(!(z.value||H.value))return;let t=V.value;if(t&&t.contains(e.target))return;let n=R.value;if(n&&n.contains(e.target))return;let r=W.value;if(r&&r.contains(e.target)){let t=e.target.closest(`.vue-ui-dag-node`),n=e.target.closest(`.vue-ui-dag-edge-midpoint`);if(t||n)return}tn(),$t(),Qe.value||Ln()}function rn(e){e.key===`Escape`&&(z.value&&tn(),H.value&&$t())}je(()=>{document.addEventListener(`mousedown`,nn),document.addEventListener(`keydown`,rn)}),Ae(()=>{document.removeEventListener(`mousedown`,nn),document.removeEventListener(`keydown`,rn),k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect())});function an(){if(!N.value.responsive){k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect(),k.value=null,A.value=null);return}let e=ue(()=>{if(!D.value)return;let{width:e,height:t}=de({chart:D.value,title:I.value.title.text?Ue.value:null,legend:I.value.controls.show?Ge.value?.$el:null,source:We.value});requestAnimationFrame(()=>{tt.value=Math.max(.1,e),nt.value=Math.max(.1,t-12)})});k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect()),k.value=new ResizeObserver(e),A.value=D.value?D.value.parentNode:null,A.value&&k.value.observe(A.value),e()}function on(e,t={}){let{direction:n=-1,mode:r=`oneLapNearest`,dasharray:i=null}=t;if(!e||typeof e.getTotalLength!=`function`)return vt.value&&console.warn(`VueUiDag @getIdealDashoffsetDelta: invalid path element`,e),0;let a=e.getTotalLength(),o=d(i??e.getAttribute(`stroke-dasharray`)??(typeof getComputedStyle==`function`?getComputedStyle(e).strokeDasharray:``));if(!Number.isFinite(o)||o<=0)return n*a;let s=Math.max(1,Math.round(a/o)),c=Math.max(1,Math.ceil(a/o)),l=Math.max(1,Math.floor(a/o)),u;return u=r===`pattern`?o:r===`oneLapCeil`?c*o:r===`oneLapFloor`?l*o:s*o,n*u;function d(e){if(!e||e===`none`)return NaN;let t=String(e).replace(/,/g,` `).trim().split(/\s+/).map(e=>Number.parseFloat(e)).filter(e=>Number.isFinite(e));if(!t.length)return NaN;let n=t.reduce((e,t)=>e+t,0);return t.length%2==1?n*2:n}}let sn=C(/* @__PURE__ */ new Map),cn=C(/* @__PURE__ */ new Map);function ln(e){return function(t){t?sn.value.set(e,t):sn.value.delete(e)}}function un(){cn.value.forEach(e=>{try{e.cancel()}catch{}}),cn.value.clear()}function dn(){un();let e=q.value?.edges??[];if(!e.length)return;let t=$e.value.animations,n=Number(t.referenceDistance)>0?Number(t.referenceDistance):24;e.forEach(e=>{let r=F.value.selectedEdge.animated===!0&&Z.value!=null&&e.id===Z.value,i=!!e?.original?.animated||!!e?.animated||r,a=sn.value.get(e.id);if(!a)return;if(!i){a.style.strokeDasharray=`0`,a.style.strokeDashoffset=`0`;return}let o=e?.original?.dasharray??t.dasharray;a.style.strokeDasharray=String(o),a.style.strokeDashoffset=`0`;let s=![void 0,null].includes(e?.original?.animationDirection),c=![void 0,null].includes(t.animationDirection),l=on(a,{direction:s?Number(e.original.animationDirection):c?Number(t.animationDirection):-1,mode:`oneLapNearest`,dasharray:String(o)}),u=e?.original?.animationDurationMs??t.animationDurationMs??1e3,d=Number(u),f=Number.isFinite(d)&&d>0?n/d:n/1e3,p=Math.max(1,Math.round(Math.abs(l)/Math.max(1e-9,f))),m=a.animate([{strokeDashoffset:0},{strokeDashoffset:l}],{duration:p,iterations:1/0,easing:`linear`});cn.value.set(e.id,m)})}Fe(()=>q.value&&q.value.edges,async()=>{await Ee(),dn()},{deep:!0,immediate:!0}),Ae(()=>{un()});async function fn({scale:e=2}={}){if(!D.value)return;let{width:t,height:n}=D.value.getBoundingClientRect(),r=t/n,{imageUri:i,base64:a}=await te({domElement:D.value,base64:!0,img:!0,scale:e});return{imageUri:i,base64:a,title:I.value.title.text??`vue-ui-dag`,width:t,height:n,aspectRatio:r}}let pn=_(()=>{let e=Number(I.value.layout.nodeHeight);return Number.isFinite(e)&&e>0?e/I.value.backgroundPattern.spacingRatio:12}),mn=_(()=>pn.value*(I.value.backgroundPattern.dotRadiusRatio/100)),Q=C(null),hn=null,gn=0;function _n(e){hn&&=(clearTimeout(hn),null),Q.value!==e&&(Q.value=e,(P.value.selected.downstreamEdges.animated===!0||P.value.selected.upstreamEdges.animated===!0)&&dn())}function vn(e){Ze.value=`pointer`,Z.value=null,_n(e)}async function yn(e){Ze.value=`pointer`,Q.value=null,await Qt(e)}function bn(e){let t=++gn;hn&&clearTimeout(hn),hn=setTimeout(()=>{t===gn&&Q.value===e&&(Q.value=null,(P.value.selected.downstreamEdges.animated===!0||P.value.selected.upstreamEdges.animated===!0)&&dn())},20)}function xn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.original.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),e.animated=t&&P.value.selected.downstreamEdges.animated===!0||n&&P.value.selected.upstreamEdges.animated===!0||r&&F.value.selectedEdge.animated===!0?!0:(q.value?.edges.find(t=>t.id===e.id))?.original?.animated??!1,{d:e.pathData,fill:`none`,stroke:a,"stroke-width":$e.value.strokeWidth*(i||e.from===Q.value?2:1),"stroke-linecap":`round`,"stroke-linejoin":`round`}}function Sn(e){return M.value===`node`&&j.value===e}function Cn(e){let t=Q.value===e.id,n=M.value===`node`&&j.value===e.id,r=t||n,i=r&&P.value.selected.backgroundColor!=null?P.value.selected.backgroundColor:e.original.backgroundColor,a=r&&P.value.selected.stroke!=null?P.value.selected.stroke:P.value.stroke,o=r&&P.value.selected.strokeWidth!=null?P.value.selected.strokeWidth:P.value.strokeWidth;return{x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:P.value.borderRadius,fill:i,stroke:a,"stroke-width":o}}function wn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.original.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),{cx:e?.midpoint?.x,cy:e?.midpoint?.y,r:F.value.radius,fill:r?F.value.selectedEdge.stroke??F.value.fill:F.value.fill,stroke:a,"stroke-width":$e.value.strokeWidth*(i||e.from===Q.value?2:1)}}function Tn(e){let t=e.from===Q.value,n=e.to===Q.value,r=M.value===`midpoint`&&j.value===e.id,i=Z.value===e.id||L.value?.id===e.id||r,a=e.color??e.original?.color??$e.value.stroke;return i&&F.value.selectedEdge.stroke!=null?a=F.value.selectedEdge.stroke:t&&P.value.selected.downstreamEdges.stroke!=null?a=P.value.selected.downstreamEdges.stroke:n&&P.value.selected.upstreamEdges.stroke!=null&&(a=P.value.selected.upstreamEdges.stroke),a}function En(e){return`${Mt}-${String(e).replace(/[^a-zA-Z0-9_-]/g,`_`)}`}function Dn(){return q.value}async function On(){He(`copyAlt`,{config:N.value,dataset:ht.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:ht.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let kn=_(()=>(q.value?.nodes??[]).map(e=>({id:e.id,type:`node`,x:e.x,y:e.y,label:e.label??e.id,raw:e}))),An=_(()=>F.value.show?(q.value?.edges??[]).filter(e=>e?.midpoint).map(e=>({id:e.id,type:`midpoint`,x:e.midpoint.x,y:e.midpoint.y,label:`${J(e.from)?.label??e.from} → ${J(e.to)?.label??e.to}`,raw:e})):[]),$=_(()=>[...kn.value,...An.value].sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x)),jn=_(()=>{let e=/* @__PURE__ */ new Map;return $.value.forEach((t,n)=>{e.set(`${t.type}:${t.id}`,n)}),e}),Mn=_(()=>{let e=q.value?.nodes??[],t=q.value?.edges??[];return{headers:[N.value.a11y?.translations?.node??`Node`,N.value.a11y?.translations?.parents??`Parents`,N.value.a11y?.translations?.children??`Children`],rows:e.map(e=>{let n=t.filter(t=>t.to===e.id).map(e=>J(e.from)?.label??e.from).join(`, `),r=t.filter(t=>t.from===e.id).map(e=>J(e.to)?.label??e.to).join(`, `);return[e.label??e.id,n||`—`,r||`—`]})}});function Nn(e){return`${e.type}:${e.id}`}function Pn(){return j.value==null||M.value==null?null:$.value.find(e=>e.id===j.value&&e.type===M.value)??null}async function Fn(e){e&&(e.type===`node`?$t():e.type===`midpoint`&&(tn(),await Qt(e.raw)))}function In(e){e&&(j.value=e.id,M.value=e.type,Xe.value=jn.value.get(Nn(e))??null,e.type===`node`?(_n(e.id),Z.value=null):e.type===`midpoint`&&(Q.value=null,Z.value=e.id,F.value.selectedEdge.animated===!0&&dn()))}function Ln(){j.value=null,M.value=null,Xe.value=null,z.value||(Q.value=null),H.value||(Z.value=null,F.value.selectedEdge.animated===!0&&dn())}function Rn(){Qe.value=!0,Ln()}function zn(){Qe.value=!1,tn(),$t(),Ln()}function Bn(e,t,n){let r=t.x-e.x,i=t.y-e.y;return n===`right`&&r<=0||n===`left`&&r>=0||n===`down`&&i<=0||n===`up`&&i>=0?1/0:n===`right`||n===`left`?Math.abs(r)*1e3+Math.abs(i):Math.abs(i)*1e3+Math.abs(r)}function Vn(e,t){let n=$.value.filter(t=>Nn(t)!==Nn(e));if(!n.length)return null;let r=null,i=1/0;return n.forEach(n=>{let a=Bn(e,n,t);a<i&&(i=a,r=n)}),r||(t===`right`||t===`down`?$.value[0]??null:$.value[$.value.length-1]??null)}async function Hn(e){e&&(Ze.value=`keyboard`,e.type===`node`&&($t(),await en(e.raw)))}async function Un(e){if(!W.value||U.value||document.activeElement!==W.value||!$.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){tn(),$t(),Ln();return}let s=Pn();if(a){if(!s)return;s.type===`node`&&await Hn(s);return}if(!s){let e=$.value[0];if(!e)return;In(e),await Fn(e);return}let c=null;n?c=Vn(s,`right`):t?c=Vn(s,`left`):i?c=Vn(s,`down`):r&&(c=Vn(s,`up`)),c&&(tn(),$t(),In(c),await Fn(c))}return i({getData:Dn,getImage:fn,generatePdf:bt,generateSvg:Et,generateImage:xt,toggleAnnotator:Gt,toggleFullscreen:Wt,zoomIn:Kt,zoomOut:qt,resetZoom:Ft,switchDirection:Yt,copyAlt:On,focusOnNode:Bt}),(e,t)=>(S(),b(`div`,{class:De(`vue-data-ui-component vue-ui-dag ${X.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.responsive?`vue-ui-dag-responsive`:``}`),id:`dag_${O.value}`,ref_key:`dagChart`,ref:D,style:ke({fontFamily:N.value.style.fontFamily,backgroundColor:I.value.backgroundColor,padding:`0.5rem`}),onMouseenter:Ot,onMouseleave:kt},[x(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[x(`p`,null,Ne(N.value.a11y.translations.keyboardNavigation),1)],8,ir),Mn.value?.rows?.length?(S(),v(fe,{key:0,uid:O.value,head:Mn.value.headers,body:Mn.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):y(``,!0),T(jt)?(S(),b(`div`,ar,Ne(String(T(jt))),1)):y(``,!0),N.value.userOptions.buttons.annotator?(S(),v(T(Ie),{key:2,svgRef:T(W),backgroundColor:I.value.backgroundColor,color:I.value.color,active:U.value,isCursorPointer:et.value,palette:N.value.userOptions.annotatorPalette,onClose:Gt},be({_:2},[Me(T(oe),t=>({name:t,fn:Le(n=>[w(e.$slots,t,Oe(we(T(ae)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):y(``,!0),N.value.userOptions.show&&Ye.value&&(T(ft)||T(ut))?(S(),v(T(ze),{ref:`userOptionsRef`,key:`user_option_${qe.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:T(yt),isImaging:T(K),uid:O.value,hasTooltip:!1,hasTable:!1,hasXls:!1,hasLabel:!1,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:X.value,chartElement:D.value,position:N.value.userOptions.position,titles:{...N.value.userOptions.buttonTitles},hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:U.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,hasZoom:N.value.userOptions.buttons.zoom,isZoom:Pt.value,isCursorPointer:et.value,onToggleFullscreen:Wt,onGeneratePdf:T(bt),onGenerateImage:T(Dt),onGenerateSvg:T(Et),onToggleAnnotator:Gt,onToggleZoom:Vt,onCopyAlt:On,style:ke({visibility:T(ft)?T(ut)?`visible`:`hidden`:`visible`})},be({_:2},[Me(T(se)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Le(n=>[w(e.$slots,t,Oe(we(T(ce)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`chartElement`,`position`,`titles`,`hasAnnotator`,`isAnnotation`,`callbacks`,`printScale`,`hasZoom`,`isZoom`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):y(``,!0),I.value.title.text?(S(),b(`div`,{key:4,ref_key:`chartTitle`,ref:Ue,style:`width:100%;background:transparent;`},[(S(),v(re,{key:`title_${Ke.value}`,config:{title:{cy:`dag-title`,...I.value.title},subtitle:{cy:`dag-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):y(``,!0),I.value.controls.position===`top`&&!T(mt)&&I.value.controls.show?(S(),v(ne,{key:5,ref_key:`zoomControls`,ref:Ge,config:N.value,scale:T(Lt),isFullscreen:X.value,withDirection:``,onZoomIn:Kt,onZoomOut:qt,onResetZoom:t[0]||=()=>T(Ft)(!0),onSwitchDirection:Yt},null,8,[`config`,`scale`,`isFullscreen`])):y(``,!0),x(`div`,or,[T(q)?(S(),b(`svg`,{key:0,ref_key:`svgRef`,ref:W,class:De({"vue-ui-dag-svg":!0,"vue-data-ui-loading":T(mt)}),viewBox:Ut.value,xmlns:T(u),style:ke({backgroundColor:I.value.backgroundColor,height:`100%`,width:`100%`}),tabindex:`0`,"aria-describedby":`chart-instructions-${O.value}`,onFocus:Rn,onBlur:zn,onKeydown:Un},[Se(T(Be)),w(e.$slots,`svg-underlayer`,{svg:{drawingArea:T(Y),data:T(q),orientation:G.value,isPrintingImg:T(yt)||T(K)||T(wt),isPrintingSvg:T(Tt)}},void 0,!0),I.value.backgroundPattern.show?(S(),b(`defs`,cr,[x(`pattern`,{id:`dag_bg_pattern_${O.value}`,patternUnits:`userSpaceOnUse`,width:pn.value,height:pn.value},[w(e.$slots,`background-pattern`,Oe(we({x:pn.value/2,y:pn.value/2,color:I.value.backgroundPattern.dotColor})),()=>[x(`circle`,{cx:pn.value/2,cy:pn.value/2,r:mn.value,fill:I.value.backgroundPattern.dotColor},null,8,ur)],!0)],8,lr)])):y(``,!0),I.value.backgroundPattern.show?(S(),b(`rect`,{key:1,x:T(Y)?.x??0,y:T(Y)?.y??0,width:T(Y)?.width??0,height:T(Y)?.height??0,fill:`url(#dag_bg_pattern_${O.value})`,style:ke({pointerEvents:`none`,opacity:I.value.backgroundPattern.opacity})},null,12,dr)):y(``,!0),T(q).arrowShape===`undirected`?y(``,!0):(S(),b(`defs`,fr,[(S(!0),b(_e,null,Me(T(q).edges,e=>(S(),b(`marker`,{key:`marker_${e.id}`,id:En(e.id),markerWidth:T(q).arrowSize,markerHeight:T(q).arrowSize,refX:T(q).arrowSize-3,refY:T(q).arrowSize/2,orient:`auto`,markerUnits:`strokeWidth`},[T(q).arrowShape===`normal`?(S(),b(`path`,{key:0,d:`M 0 0 L ${T(q).arrowSize} ${T(q).arrowSize/2} L 0 ${T(q).arrowSize} Z`,fill:Tn(e),stroke:Tn(e),"stroke-width":`0`,style:{transition:`stroke 0.2s ease-in-out,
|
|
2
2
|
fill 0.2s ease-in-out,
|
|
3
3
|
stroke-width 0.2s ease-in-out`}},null,8,mr)):(S(),b(`path`,{key:1,d:`M 0 0 L ${T(q).arrowSize} ${T(q).arrowSize/2} L 0 ${T(q).arrowSize} L ${T(q).arrowSize/3} ${T(q).arrowSize/2} Z`,fill:Tn(e),stroke:Tn(e),"stroke-width":`0`,style:{transition:`stroke 0.2s ease-in-out,
|
|
4
4
|
fill 0.2s ease-in-out,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{X as n}from"./lib-rPeBMZrn.js";import{n as r,t as i}from"./useHints-C-TwxM0Y.js";import{t as a}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ee}from"./useNestedProp-DnGoh-XS.js";import{n as te,t as ne}from"./annotationSlots-BRR85CqJ.js";import{n as re,t as ie}from"./userOptionsSlots-DYuo-E5m.js";import{t as ae}from"./usePrinter-DVf3YcG5.js";import{t as oe}from"./useUserOptionState-CXlFnwPv.js";import{t as se}from"./UserOptions-uWHV_zPB.js";import{n as ce}from"./PenAndPaper-BGEp-TUm.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as f,defineAsyncComponent as p,guardReactiveProps as m,mergeProps as le,normalizeClass as ue,normalizeProps as de,normalizeStyle as h,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as fe,unref as b,useCssVars as pe,watch as x,withCtx as S}from"vue";var C=/* @__PURE__ */ e({default:()=>T}),me=[`id`],he=[`onMousedown`,`onTouchstart`],ge=[`onMousedown`,`onTouchstart`],_e=[`onMousedown`,`onTouchstart`],ve=[`onMousedown`,`onTouchstart`],ye=[`onMousedown`,`onTouchstart`],w=1,T=/*#__PURE__*/ a({__name:`vue-ui-dashboard`,props:{dataset:Array,config:Object},emits:[`change`,`copyAlt`],setup(e,{expose:a,emit:C}){pe(e=>({ed4ebd52:Me.value,v1504d0e3:Ne.value}));let T={VueDataUi:p(()=>import(`./vue-data-ui-CrOhFey9.js`).then(e=>e.n)),VueUi3dBar:p(()=>import(`./vue-ui-3d-bar-ljsy2rX6.js`).then(e=>e.n)),VueUiAccordion:p(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),VueUiAgePyramid:p(()=>import(`./vue-ui-age-pyramid-a6CK7z3a.js`).then(e=>e.n)),VueUiAnnotator:p(()=>import(`./vue-ui-annotator-DCJdieNC.js`).then(e=>e.n)),VueUiCandlestick:p(()=>import(`./vue-ui-candlestick-BgyUo13S.js`).then(e=>e.n)),VueUiChestnut:p(()=>import(`./vue-ui-chestnut-DYrMSzmQ.js`).then(e=>e.n)),VueUiDigits:p(()=>import(`./vue-ui-digits-AoPCgSfP.js`).then(e=>e.n)),VueUiDonut:p(()=>import(`./vue-ui-donut-BYUkblpv.js`).then(e=>e.n)),VueUiDonutEvolution:p(()=>import(`./vue-ui-donut-evolution-wxHDTKlg.js`).then(e=>e.n)),VueUiDumbbell:p(()=>import(`./vue-ui-dumbbell-DR7rjMt0.js`).then(e=>e.n)),VueUiFlow:p(()=>import(`./vue-ui-flow-DtQlRSK_.js`).then(e=>e.n)),VueUiGalaxy:p(()=>import(`./vue-ui-galaxy-B7ogrJ6f.js`).then(e=>e.n)),VueUiGauge:p(()=>import(`./vue-ui-gauge-CrmzNkjT.js`).then(e=>e.n)),VueUiHeatmap:p(()=>import(`./vue-ui-heatmap-BxR2ccwd.js`).then(e=>e.n)),VueUiKpi:p(()=>import(`./vue-ui-kpi-Dfhsk0U1.js`).then(e=>e.n)),VueUiMiniLoader:p(()=>import(`./vue-ui-mini-loader-Bbupx66Y.js`).then(e=>e.n)),VueUiMolecule:p(()=>import(`./vue-ui-molecule-DUX1NUIY.js`).then(e=>e.n)),VueUiMoodRadar:p(()=>import(`./vue-ui-mood-radar-B1N5AwX_.js`).then(e=>e.n)),VueUiNestedDonuts:p(()=>import(`./vue-ui-nested-donuts-CfHH-cU6.js`).then(e=>e.n)),VueUiOnion:p(()=>import(`./vue-ui-onion-DRN-jIvq.js`).then(e=>e.n)),VueUiParallelCoordinatePlot:p(()=>import(`./vue-ui-parallel-coordinate-plot-UUPjQABF.js`).then(e=>e.n)),VueUiQuadrant:p(()=>import(`./vue-ui-quadrant-zmtzn0lM.js`).then(e=>e.n)),VueUiQuickChart:p(()=>import(`./vue-ui-quick-chart-DgU_IhKY.js`).then(e=>e.n)),VueUiRadar:p(()=>import(`./vue-ui-radar-BGSoxRaK.js`).then(e=>e.n)),VueUiRating:p(()=>import(`./vue-ui-rating-ChWXrWNJ.js`).then(e=>e.n)),VueUiRelationCircle:p(()=>import(`./vue-ui-relation-circle-XUw5UMrt.js`).then(e=>e.n)),VueUiRings:p(()=>import(`./vue-ui-rings-BJaCLH2Q.js`).then(e=>e.n)),VueUiScatter:p(()=>import(`./vue-ui-scatter-BA0hk_Tf.js`).then(e=>e.n)),VueUiSkeleton:p(()=>import(`./vue-ui-skeleton-DpzaXPO3.js`).then(e=>e.n)),VueUiSmiley:p(()=>import(`./vue-ui-smiley--VTlUAdp.js`).then(e=>e.n)),VueUiSparkHistogram:p(()=>import(`./vue-ui-sparkhistogram-BBiCxX6W.js`).then(e=>e.n)),VueUiSparkStackbar:p(()=>import(`./vue-ui-sparkstackbar-DSRXhqhJ.js`).then(e=>e.n)),VueUiSparkTrend:p(()=>import(`./vue-ui-spark-trend-DJ63XtgQ.js`).then(e=>e.n)),VueUiSparkbar:p(()=>import(`./vue-ui-sparkbar-C5wP9R67.js`).then(e=>e.n)),VueUiSparkgauge:p(()=>import(`./vue-ui-sparkgauge-DQcAOGuG.js`).then(e=>e.n)),VueUiSparkline:p(()=>import(`./vue-ui-sparkline-B_GkB9V_.js`).then(e=>e.n)),VueUiStripPlot:p(()=>import(`./vue-ui-strip-plot-d3UoFFrf.js`).then(e=>e.n)),VueUiTable:p(()=>import(`./vue-ui-table-CHFjZzW7.js`).then(e=>e.n)),VueUiTableHeatmap:p(()=>import(`./vue-ui-table-heatmap-DzvPQnY9.js`).then(e=>e.n)),VueUiTableSparkline:p(()=>import(`./vue-ui-table-sparkline-BkZ7sn4X.js`).then(e=>e.n)),VueUiThermometer:p(()=>import(`./vue-ui-thermometer-B--g_Lkt.js`).then(e=>e.n)),VueUiTimer:p(()=>import(`./vue-ui-timer-DmwEWrDh.js`).then(e=>e.n)),VueUiTiremarks:p(()=>import(`./vue-ui-tiremarks-160Gx7-3.js`).then(e=>e.n)),VueUiTreemap:p(()=>import(`./vue-ui-treemap-B-Yjtob0.js`).then(e=>e.n)),VueUiVerticalBar:p(()=>import(`./vue-ui-horizontal-bar-C5pNTRKB.js`).then(e=>e.n)),VueUiHorizontalBar:p(()=>import(`./vue-ui-horizontal-bar-C5pNTRKB.js`).then(e=>e.n)),VueUiWaffle:p(()=>import(`./vue-ui-waffle-BhzLg5ip.js`).then(e=>e.n)),VueUiWheel:p(()=>import(`./vue-ui-wheel-DHb4G42X.js`).then(e=>e.n)),VueUiWordCloud:p(()=>import(`./vue-ui-word-cloud-BcpreM7A.js`).then(e=>e.n)),VueUiXy:p(()=>import(`./vue-ui-xy-C-2Phexw.js`).then(e=>e.n)),VueUiXyCanvas:p(()=>import(`./vue-ui-xy-canvas-Do4P4ajB.js`).then(e=>e.n)),VueUiCarouselTable:p(()=>import(`./vue-ui-carousel-table-D01DGfA0.js`).then(e=>e.n)),VueUiGizmo:p(()=>import(`./vue-ui-gizmo-C3wgMKwb.js`).then(e=>e.n)),VueUiStackbar:p(()=>import(`./vue-ui-stackbar-QjOQHbld.js`).then(e=>e.n)),VueUiStackline:p(()=>import(`./vue-ui-stackline-CoII13bc.js`).then(e=>e.n)),VueUiBullet:p(()=>import(`./vue-ui-bullet-DX4A2Qwo.js`).then(e=>e.n)),VueUiFunnel:p(()=>import(`./vue-ui-funnel-BP3chlZy.js`).then(e=>e.n)),VueUiHistoryPlot:p(()=>import(`./vue-ui-history-plot-0-vs_CVn.js`).then(e=>e.n)),VueUiCirclePack:p(()=>import(`./vue-ui-circle-pack-DQHNM9sC.js`).then(e=>e.n)),VueUiWorld:p(()=>import(`./vue-ui-world-BD9acchj.js`).then(e=>e.n)),VueUiChord:p(()=>import(`./vue-ui-chord-CwzQ7QbP.js`).then(e=>e.n)),VueUiRidgeline:p(()=>import(`./vue-ui-ridgeline-B5RJcFyA.js`).then(e=>e.n)),VueUiDag:p(()=>import(`./vue-ui-dag-DF29_9Gg.js`).then(e=>e.n))},{vue_ui_dashboard:be}=t(),xe=_(null),Se=_(null),E=_(null),D=e,O=s(()=>ee({userConfig:D.config,defaultConfig:be}));r({config:()=>O.value,dataset:()=>D.dataset,component:`VueUiDashboard`,rules:[i.noHint]});let k=s(()=>O.value.userOptions.useCursorPointer),A=_(n()),j=_(O.value.locked);function Ce(){j.value=!j.value}x(()=>D.config,()=>{j.value=O.value.locked,Q.value=!O.value.userOptions.showOnChartHover});function M(){return D.dataset.map((e,t)=>({...e,index:t}))}let N=_(M());x(()=>D.dataset,()=>{N.value=M()});let P=s(()=>N.value.map(e=>({...e,resolvedComponent:typeof e.component==`string`?T[e.component]:e.component}))),F=_(null),I=_(null),L=_({x:0,y:0}),R=_({x:0,y:0}),z=_(null),B=_(!1),V=_(null),H=_(!1);function U(e){let t=e.target;(t.tagName===`INPUT`&&t.type===`range`||t.classList.contains(`range-handle`))&&(H.value=!0)}function W(e){let t=e.target;t.tagName===`INPUT`&&t.type===`range`&&(H.value=!1)}let{isPrinting:we,isImaging:Te,generatePdf:G,generateImage:Ee}=ae({elementId:`vue-ui-dashboard_${A.value}`,fileName:O.value.userOptions.print.filename||`dashboard`,options:{...O.value.userOptions.print,aspectRatio:O.value.style.board.aspectRatio}});function De(e){if(!j.value&&(B.value=!0,V.value=e,I.value===null)){F.value=e,L.value={x:event.clientX,y:event.clientY};let t=N.value[e],n=100-t.width,r=100-t.height;t.left<0&&(t.left=0),t.top<0&&(t.top=0),t.left>n&&(t.left=n),t.top>r&&(t.top=r),t.left<0&&(t.left=0),t.top<0&&(t.top=0),t.left+t.width>100&&(t.left=100-t.width),t.top+t.height>100&&(t.top=100-t.height)}}function K(e,t){B.value=!0,V.value=e,I.value={index:e,direction:t};let n=N.value[e];R.value={x:event.clientX,y:event.clientY,initialWidth:n.width,initialHeight:n.height}}function q(e,t,n){if(I.value.direction.includes(`top`)){let t=e.height-n/z.value.offsetHeight*100;t>=w&&(e.top+=n/z.value.offsetHeight*100,e.height=t)}if(I.value.direction.includes(`bottom`)){let t=e.height+n/z.value.offsetHeight*100;t>=w&&(e.height=t)}if(I.value.direction.includes(`left`)){let n=e.width-t/z.value.offsetWidth*100;n>=w&&(e.left+=t/z.value.offsetWidth*100,e.width=n)}if(I.value.direction.includes(`right`)){let n=e.width+t/z.value.offsetWidth*100;n>=w&&(e.width=n)}}function Oe(e){if(!(j.value||H.value)){if(B.value=!0,F.value!==null){let t=N.value[F.value],n=e.clientX-L.value.x,r=e.clientY-L.value.y,i=t.left+n/z.value.offsetWidth*100,a=t.top+r/z.value.offsetHeight*100;i>=0&&a>=0&&i+t.width<=100&&a+t.height<=100&&(t.left=i,t.top=a),L.value={x:e.clientX,y:e.clientY}}if(I.value!==null){let t=N.value[I.value.index];q(t,e.clientX-R.value.x,e.clientY-R.value.y),R.value={x:e.clientX,y:e.clientY}}}}let J=C;x(N,e=>{e&&!B.value&&J(`change`,N.value)},{deep:!0});function ke(){F.value=null,I.value=null,B.value=!1,V.value=null,N.value.forEach(e=>{e.left=Math.round(e.left/100*100),e.top=Math.round(e.top/100*100),e.width=Math.round(e.width/100*100),e.height=Math.round(e.height/100*100)})}function Ae(e){j.value||H.value||(B.value=!0,V.value=e,I.value===null&&(F.value=e,L.value={x:event.touches[0].clientX,y:event.touches[0].clientY}))}function Y(e,t,n){if(B.value=!0,V.value=e,I.value===null){I.value={index:e,direction:t};let r=N.value[e];R.value={x:n.touches[0].clientX,y:n.touches[0].clientY,initialWidth:r.width,initialHeight:r.height}}}function X(e){if(B.value=!0,e.preventDefault(),I.value!==null){let t=N.value[I.value.index];q(t,e.touches[0].clientX-R.value.x,e.touches[0].clientY-R.value.y),R.value={x:e.touches[0].clientX,y:e.touches[0].clientY}}}function je(e){if(!(j.value||H.value)&&(B.value=!0,e.preventDefault(),F.value!==null)){let t=N.value[F.value],n=e.touches[0].clientX-L.value.x,r=e.touches[0].clientY-L.value.y,i=t.left+n/z.value.offsetWidth*100,a=t.top+r/z.value.offsetHeight*100;i>=0&&a>=0&&i+t.width<=100&&a+t.height<=100&&(t.left=i,t.top=a),L.value={x:e.touches[0].clientX,y:e.touches[0].clientY}}}function Z(){B.value=!1,V.value=null,F.value=null,I.value=null,N.value.forEach(e=>{e.left=Math.round(e.left/100*100),e.top=Math.round(e.top/100*100),e.width=Math.round(e.width/100*100),e.height=Math.round(e.height/100*100)})}let Me=s(()=>O.value.style.item.borderColor),Ne=s(()=>O.value.style.resizeHandles.backgroundColor),Pe=s(()=>O.value.style.board.aspectRatio),Fe=s(()=>O.value.style.board.backgroundColor),Ie=s(()=>O.value.style.board.border);function Le(){return N.value}let{userOptionsVisible:Q,setUserOptionsVisibility:Re,keepUserOptionState:ze}=oe({config:O.value}),$=_(!1);function Be(){$.value=!$.value}function Ve(){Re(!0)}function He(){Re(!1)}async function Ue(){J(`copyAlt`,{config:O.value,dataset:P.value}),O.value.userOptions.callbacks.altCopy?await Promise.resolve(O.value.userOptions.callbacks.altCopy({config:O.value,dataset:P.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return a({generatePdf:G,getItemsPositions:Le,toggleLock:Ce,copyAlt:Ue}),(e,t)=>(g(),u(`div`,{id:`vue-ui-dashboard_${A.value}`,onMousedown:U,onMouseup:W,onTouchstart:U,onTouchend:W,onMouseenter:Ve,onMouseleave:He,ref_key:`dashboardRef`,ref:xe,style:{position:`relative`},class:`vue-data-ui-component`},[d(`div`,{class:`vue-ui-dashboard-container`,ref_key:`dashboardContainer`,ref:z,style:h(`outline:${Ie.value}; background:${Fe.value}; aspect-ratio:${Pe.value};${$.value?`pointer-events:none`:``}`)},[d(`div`,{class:`vue-ui-dashboard-grid-container`,ref:`container`,onMousemove:Oe,onMouseup:ke,onTouchmove:je,onTouchend:Z,style:h(`background:${O.value.style.board.backgroundColor}`)},[t[4]||=d(`div`,{class:`vue-ui-dashboard-grid`},null,-1),(g(!0),u(o,null,v(P.value,(n,r)=>(g(),u(`div`,{key:n.id,class:ue({"vue-ui-dashboard-grid-item":!0,"vue-ui-dashboard-grid-item--locked":j.value}),style:h({width:`${n.width}%`,height:`${n.height}%`,left:`${n.left}%`,top:`${n.top}%`,cursor:`move`,boxShadow:V.value===r?`0 6px 12px -3px rgba(0,0,0,0.3)`:``,zIndex:V.value===r?P.value.length+1:n.index,backgroundColor:O.value.style.item.backgroundColor}),onMousedown:e=>De(r),onTouchstart:e=>Ae(r,n)},[j.value?l(``,!0):(g(),u(o,{key:0},[d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-top-left`,onMousedown:e=>K(r,`top-left`),onTouchstart:e=>Y(r,`top-left`,e),onTouchmove:t[0]||=e=>X(e),onTouchend:Z},null,40,ge),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-top-right`,onMousedown:e=>K(r,`top-right`),onTouchstart:e=>Y(r,`top-right`,e),onTouchmove:t[1]||=e=>X(e),onTouchend:Z},null,40,_e),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-bottom-left`,onMousedown:e=>K(r,`bottom-left`),onTouchstart:e=>Y(r,`bottom-left`,e),onTouchmove:t[2]||=e=>X(e),onTouchend:Z},null,40,ve),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-bottom-right`,onMousedown:e=>K(r,`bottom-right`),onTouchstart:e=>Y(r,`bottom-right`,e),onTouchmove:t[3]||=e=>X(e),onTouchend:Z},null,40,ye)],64)),y(e.$slots,`top`,{item:n,index:r},void 0,!0),n.resolvedComponent?(g(),c(fe(n.resolvedComponent),le({key:1,ref_for:!0},n.props),null,16)):y(e.$slots,`content`,{item:n,index:r,left:n.left,top:n.top,height:n.height,width:n.width},void 0,!0,2),y(e.$slots,`bottom`,{item:n,index:r},void 0,!0)],46,he))),128))],36)],4),(g(),u(`svg`,{style:h({width:`100%`,height:`100%`,pointerEvents:`none`,position:`absolute`,top:0,left:0,zIndex:P.value.length+1}),ref_key:`svgRef`,ref:E},null,4)),O.value.userOptions.buttons.annotator&&z.value&&E.value?(g(),c(ce,{key:0,color:O.value.style.board.color,backgroundColor:O.value.style.board.backgroundColor,active:$.value,svgRef:E.value,isCursorPointer:k.value,onClose:Be,style:h({zIndex:P.value.length+1}),palette:O.value.userOptions.annotatorPalette},f({_:2},[v(b(ne),t=>({name:t,fn:S(n=>[y(e.$slots,t,de(m(b(te)(t,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`style`,`palette`])):l(``,!0),(O.value.allowPrint||O.value.userOptions.show)&&(O.value.userOptions.buttons.pdf||O.value.userOptions.buttons.img)?(g(),c(se,{key:1,ref_key:`userOptionsRef`,ref:Se,backgroundColor:O.value.style.board.backgroundColor,color:O.value.style.board.color,isPrinting:b(we),isImaging:b(Te),uid:A.value,position:O.value.userOptions.position,hasTooltip:!1,hasPdf:O.value.userOptions.buttons.pdf,hasImg:O.value.userOptions.buttons.img,hasXls:!1,hasTable:!1,hasLabel:!1,hasFullscreen:!1,hasAltCopy:O.value.userOptions.buttons.altCopy,chartElement:z.value,callbacks:O.value.userOptions.callbacks,hasAnnotator:O.value.userOptions.buttons.annotator,isAnnotation:$.value,printScale:O.value.userOptions.print.scale,titles:{...O.value.userOptions.buttonTitles},isCursorPointer:k.value,onGeneratePdf:b(G),onGenerateImage:b(Ee),onToggleAnnotator:Be,onCopyAlt:Ue,style:h({visibility:b(ze)?b(Q)?`visible`:`hidden`:`visible`,zIndex:P.value.length+1})},f({_:2},[v(b(re)(e.$slots,`menuIcon optionPdf optionImg optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,de(m(b(ie)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`position`,`hasPdf`,`hasImg`,`hasAltCopy`,`chartElement`,`callbacks`,`hasAnnotator`,`isAnnotation`,`printScale`,`titles`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`style`])):l(``,!0)],40,me))}},[[`__scopeId`,`data-v-96466658`]]);export{C as n,T as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{X as n}from"./lib-rPeBMZrn.js";import{n as r,t as i}from"./useHints-C-TwxM0Y.js";import{t as a}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ee}from"./useNestedProp-DnGoh-XS.js";import{n as te,t as ne}from"./annotationSlots-BRR85CqJ.js";import{n as re,t as ie}from"./userOptionsSlots-DYuo-E5m.js";import{t as ae}from"./usePrinter-DVf3YcG5.js";import{t as oe}from"./useUserOptionState-CXlFnwPv.js";import{t as se}from"./UserOptions-uWHV_zPB.js";import{n as ce}from"./PenAndPaper-BGEp-TUm.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as f,defineAsyncComponent as p,guardReactiveProps as m,mergeProps as le,normalizeClass as ue,normalizeProps as de,normalizeStyle as h,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as fe,unref as b,useCssVars as pe,watch as x,withCtx as S}from"vue";var C=/* @__PURE__ */ e({default:()=>T}),me=[`id`],he=[`onMousedown`,`onTouchstart`],ge=[`onMousedown`,`onTouchstart`],_e=[`onMousedown`,`onTouchstart`],ve=[`onMousedown`,`onTouchstart`],ye=[`onMousedown`,`onTouchstart`],w=1,T=/*#__PURE__*/ a({__name:`vue-ui-dashboard`,props:{dataset:Array,config:Object},emits:[`change`,`copyAlt`],setup(e,{expose:a,emit:C}){pe(e=>({ed4ebd52:Me.value,v1504d0e3:Ne.value}));let T={VueDataUi:p(()=>import(`./vue-data-ui-CORn0LF6.js`).then(e=>e.n)),VueUi3dBar:p(()=>import(`./vue-ui-3d-bar-CJTKyv3A.js`).then(e=>e.n)),VueUiAccordion:p(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),VueUiAgePyramid:p(()=>import(`./vue-ui-age-pyramid-6uZzf1w6.js`).then(e=>e.n)),VueUiAnnotator:p(()=>import(`./vue-ui-annotator-DCJdieNC.js`).then(e=>e.n)),VueUiCandlestick:p(()=>import(`./vue-ui-candlestick-Bn_RSZ0k.js`).then(e=>e.n)),VueUiChestnut:p(()=>import(`./vue-ui-chestnut-DMYQTkxM.js`).then(e=>e.n)),VueUiDigits:p(()=>import(`./vue-ui-digits-ZMK0aBxE.js`).then(e=>e.n)),VueUiDonut:p(()=>import(`./vue-ui-donut-CmLo1r4-.js`).then(e=>e.n)),VueUiDonutEvolution:p(()=>import(`./vue-ui-donut-evolution-CYvo7Cww.js`).then(e=>e.n)),VueUiDumbbell:p(()=>import(`./vue-ui-dumbbell-DigrSGwq.js`).then(e=>e.n)),VueUiFlow:p(()=>import(`./vue-ui-flow-D9cc9yXD.js`).then(e=>e.n)),VueUiGalaxy:p(()=>import(`./vue-ui-galaxy-B1Vuz8CA.js`).then(e=>e.n)),VueUiGauge:p(()=>import(`./vue-ui-gauge-1MgZSPXt.js`).then(e=>e.n)),VueUiHeatmap:p(()=>import(`./vue-ui-heatmap-6YwaVr3F.js`).then(e=>e.n)),VueUiKpi:p(()=>import(`./vue-ui-kpi-DHfExr9d.js`).then(e=>e.n)),VueUiMiniLoader:p(()=>import(`./vue-ui-mini-loader-Bbupx66Y.js`).then(e=>e.n)),VueUiMolecule:p(()=>import(`./vue-ui-molecule-C8e5IeHG.js`).then(e=>e.n)),VueUiMoodRadar:p(()=>import(`./vue-ui-mood-radar-DsnT2U65.js`).then(e=>e.n)),VueUiNestedDonuts:p(()=>import(`./vue-ui-nested-donuts-JkpqMhuL.js`).then(e=>e.n)),VueUiOnion:p(()=>import(`./vue-ui-onion-CIA2tlff.js`).then(e=>e.n)),VueUiParallelCoordinatePlot:p(()=>import(`./vue-ui-parallel-coordinate-plot-Bcr3B3NI.js`).then(e=>e.n)),VueUiQuadrant:p(()=>import(`./vue-ui-quadrant-DKVFawhC.js`).then(e=>e.n)),VueUiQuickChart:p(()=>import(`./vue-ui-quick-chart-Bk2N8Hmd.js`).then(e=>e.n)),VueUiRadar:p(()=>import(`./vue-ui-radar-CdH-BFKA.js`).then(e=>e.n)),VueUiRating:p(()=>import(`./vue-ui-rating-ChWXrWNJ.js`).then(e=>e.n)),VueUiRelationCircle:p(()=>import(`./vue-ui-relation-circle-COZpOybS.js`).then(e=>e.n)),VueUiRings:p(()=>import(`./vue-ui-rings-ARqLCM_P.js`).then(e=>e.n)),VueUiScatter:p(()=>import(`./vue-ui-scatter-CX2wsXdE.js`).then(e=>e.n)),VueUiSkeleton:p(()=>import(`./vue-ui-skeleton-wyvAru88.js`).then(e=>e.n)),VueUiSmiley:p(()=>import(`./vue-ui-smiley--VTlUAdp.js`).then(e=>e.n)),VueUiSparkHistogram:p(()=>import(`./vue-ui-sparkhistogram-C-0f7XCl.js`).then(e=>e.n)),VueUiSparkStackbar:p(()=>import(`./vue-ui-sparkstackbar-BmgCVCKG.js`).then(e=>e.n)),VueUiSparkTrend:p(()=>import(`./vue-ui-spark-trend-C02PmIq_.js`).then(e=>e.n)),VueUiSparkbar:p(()=>import(`./vue-ui-sparkbar-CjD57-Xi.js`).then(e=>e.n)),VueUiSparkgauge:p(()=>import(`./vue-ui-sparkgauge-8Eia8T2W.js`).then(e=>e.n)),VueUiSparkline:p(()=>import(`./vue-ui-sparkline-BMMrpUPR.js`).then(e=>e.n)),VueUiStripPlot:p(()=>import(`./vue-ui-strip-plot-DVyPa3sp.js`).then(e=>e.n)),VueUiTable:p(()=>import(`./vue-ui-table-qTF_q-Qu.js`).then(e=>e.n)),VueUiTableHeatmap:p(()=>import(`./vue-ui-table-heatmap-DzvPQnY9.js`).then(e=>e.n)),VueUiTableSparkline:p(()=>import(`./vue-ui-table-sparkline-B2Q-7-GQ.js`).then(e=>e.n)),VueUiThermometer:p(()=>import(`./vue-ui-thermometer-CxNoxslq.js`).then(e=>e.n)),VueUiTimer:p(()=>import(`./vue-ui-timer-DRjoRidI.js`).then(e=>e.n)),VueUiTiremarks:p(()=>import(`./vue-ui-tiremarks-BC_YGp3T.js`).then(e=>e.n)),VueUiTreemap:p(()=>import(`./vue-ui-treemap-CNM5ohoO.js`).then(e=>e.n)),VueUiVerticalBar:p(()=>import(`./vue-ui-horizontal-bar-Dfo-kTqg.js`).then(e=>e.n)),VueUiHorizontalBar:p(()=>import(`./vue-ui-horizontal-bar-Dfo-kTqg.js`).then(e=>e.n)),VueUiWaffle:p(()=>import(`./vue-ui-waffle-BiJshI4O.js`).then(e=>e.n)),VueUiWheel:p(()=>import(`./vue-ui-wheel-BxR0_iNZ.js`).then(e=>e.n)),VueUiWordCloud:p(()=>import(`./vue-ui-word-cloud-CZzC3R1K.js`).then(e=>e.n)),VueUiXy:p(()=>import(`./vue-ui-xy-B6XNUCzQ.js`).then(e=>e.n)),VueUiXyCanvas:p(()=>import(`./vue-ui-xy-canvas-Do4P4ajB.js`).then(e=>e.n)),VueUiCarouselTable:p(()=>import(`./vue-ui-carousel-table-ChNykS-r.js`).then(e=>e.n)),VueUiGizmo:p(()=>import(`./vue-ui-gizmo-DtsERB-E.js`).then(e=>e.n)),VueUiStackbar:p(()=>import(`./vue-ui-stackbar-G_zZRAa9.js`).then(e=>e.n)),VueUiStackline:p(()=>import(`./vue-ui-stackline-DchZoEAg.js`).then(e=>e.n)),VueUiBullet:p(()=>import(`./vue-ui-bullet-CsJcLhmV.js`).then(e=>e.n)),VueUiFunnel:p(()=>import(`./vue-ui-funnel-U88Hs0nL.js`).then(e=>e.n)),VueUiHistoryPlot:p(()=>import(`./vue-ui-history-plot-CJIILQPt.js`).then(e=>e.n)),VueUiCirclePack:p(()=>import(`./vue-ui-circle-pack-We23fOaF.js`).then(e=>e.n)),VueUiWorld:p(()=>import(`./vue-ui-world-CJgt0ESz.js`).then(e=>e.n)),VueUiChord:p(()=>import(`./vue-ui-chord-Pp0U0-zV.js`).then(e=>e.n)),VueUiRidgeline:p(()=>import(`./vue-ui-ridgeline-MLknaTUO.js`).then(e=>e.n)),VueUiDag:p(()=>import(`./vue-ui-dag-5fVnwEXd.js`).then(e=>e.n))},{vue_ui_dashboard:be}=t(),xe=_(null),Se=_(null),E=_(null),D=e,O=s(()=>ee({userConfig:D.config,defaultConfig:be}));r({config:()=>O.value,dataset:()=>D.dataset,component:`VueUiDashboard`,rules:[i.noHint]});let k=s(()=>O.value.userOptions.useCursorPointer),A=_(n()),j=_(O.value.locked);function Ce(){j.value=!j.value}x(()=>D.config,()=>{j.value=O.value.locked,Q.value=!O.value.userOptions.showOnChartHover});function M(){return D.dataset.map((e,t)=>({...e,index:t}))}let N=_(M());x(()=>D.dataset,()=>{N.value=M()});let P=s(()=>N.value.map(e=>({...e,resolvedComponent:typeof e.component==`string`?T[e.component]:e.component}))),F=_(null),I=_(null),L=_({x:0,y:0}),R=_({x:0,y:0}),z=_(null),B=_(!1),V=_(null),H=_(!1);function U(e){let t=e.target;(t.tagName===`INPUT`&&t.type===`range`||t.classList.contains(`range-handle`))&&(H.value=!0)}function W(e){let t=e.target;t.tagName===`INPUT`&&t.type===`range`&&(H.value=!1)}let{isPrinting:we,isImaging:Te,generatePdf:G,generateImage:Ee}=ae({elementId:`vue-ui-dashboard_${A.value}`,fileName:O.value.userOptions.print.filename||`dashboard`,options:{...O.value.userOptions.print,aspectRatio:O.value.style.board.aspectRatio}});function De(e){if(!j.value&&(B.value=!0,V.value=e,I.value===null)){F.value=e,L.value={x:event.clientX,y:event.clientY};let t=N.value[e],n=100-t.width,r=100-t.height;t.left<0&&(t.left=0),t.top<0&&(t.top=0),t.left>n&&(t.left=n),t.top>r&&(t.top=r),t.left<0&&(t.left=0),t.top<0&&(t.top=0),t.left+t.width>100&&(t.left=100-t.width),t.top+t.height>100&&(t.top=100-t.height)}}function K(e,t){B.value=!0,V.value=e,I.value={index:e,direction:t};let n=N.value[e];R.value={x:event.clientX,y:event.clientY,initialWidth:n.width,initialHeight:n.height}}function q(e,t,n){if(I.value.direction.includes(`top`)){let t=e.height-n/z.value.offsetHeight*100;t>=w&&(e.top+=n/z.value.offsetHeight*100,e.height=t)}if(I.value.direction.includes(`bottom`)){let t=e.height+n/z.value.offsetHeight*100;t>=w&&(e.height=t)}if(I.value.direction.includes(`left`)){let n=e.width-t/z.value.offsetWidth*100;n>=w&&(e.left+=t/z.value.offsetWidth*100,e.width=n)}if(I.value.direction.includes(`right`)){let n=e.width+t/z.value.offsetWidth*100;n>=w&&(e.width=n)}}function Oe(e){if(!(j.value||H.value)){if(B.value=!0,F.value!==null){let t=N.value[F.value],n=e.clientX-L.value.x,r=e.clientY-L.value.y,i=t.left+n/z.value.offsetWidth*100,a=t.top+r/z.value.offsetHeight*100;i>=0&&a>=0&&i+t.width<=100&&a+t.height<=100&&(t.left=i,t.top=a),L.value={x:e.clientX,y:e.clientY}}if(I.value!==null){let t=N.value[I.value.index];q(t,e.clientX-R.value.x,e.clientY-R.value.y),R.value={x:e.clientX,y:e.clientY}}}}let J=C;x(N,e=>{e&&!B.value&&J(`change`,N.value)},{deep:!0});function ke(){F.value=null,I.value=null,B.value=!1,V.value=null,N.value.forEach(e=>{e.left=Math.round(e.left/100*100),e.top=Math.round(e.top/100*100),e.width=Math.round(e.width/100*100),e.height=Math.round(e.height/100*100)})}function Ae(e){j.value||H.value||(B.value=!0,V.value=e,I.value===null&&(F.value=e,L.value={x:event.touches[0].clientX,y:event.touches[0].clientY}))}function Y(e,t,n){if(B.value=!0,V.value=e,I.value===null){I.value={index:e,direction:t};let r=N.value[e];R.value={x:n.touches[0].clientX,y:n.touches[0].clientY,initialWidth:r.width,initialHeight:r.height}}}function X(e){if(B.value=!0,e.preventDefault(),I.value!==null){let t=N.value[I.value.index];q(t,e.touches[0].clientX-R.value.x,e.touches[0].clientY-R.value.y),R.value={x:e.touches[0].clientX,y:e.touches[0].clientY}}}function je(e){if(!(j.value||H.value)&&(B.value=!0,e.preventDefault(),F.value!==null)){let t=N.value[F.value],n=e.touches[0].clientX-L.value.x,r=e.touches[0].clientY-L.value.y,i=t.left+n/z.value.offsetWidth*100,a=t.top+r/z.value.offsetHeight*100;i>=0&&a>=0&&i+t.width<=100&&a+t.height<=100&&(t.left=i,t.top=a),L.value={x:e.touches[0].clientX,y:e.touches[0].clientY}}}function Z(){B.value=!1,V.value=null,F.value=null,I.value=null,N.value.forEach(e=>{e.left=Math.round(e.left/100*100),e.top=Math.round(e.top/100*100),e.width=Math.round(e.width/100*100),e.height=Math.round(e.height/100*100)})}let Me=s(()=>O.value.style.item.borderColor),Ne=s(()=>O.value.style.resizeHandles.backgroundColor),Pe=s(()=>O.value.style.board.aspectRatio),Fe=s(()=>O.value.style.board.backgroundColor),Ie=s(()=>O.value.style.board.border);function Le(){return N.value}let{userOptionsVisible:Q,setUserOptionsVisibility:Re,keepUserOptionState:ze}=oe({config:O.value}),$=_(!1);function Be(){$.value=!$.value}function Ve(){Re(!0)}function He(){Re(!1)}async function Ue(){J(`copyAlt`,{config:O.value,dataset:P.value}),O.value.userOptions.callbacks.altCopy?await Promise.resolve(O.value.userOptions.callbacks.altCopy({config:O.value,dataset:P.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return a({generatePdf:G,getItemsPositions:Le,toggleLock:Ce,copyAlt:Ue}),(e,t)=>(g(),u(`div`,{id:`vue-ui-dashboard_${A.value}`,onMousedown:U,onMouseup:W,onTouchstart:U,onTouchend:W,onMouseenter:Ve,onMouseleave:He,ref_key:`dashboardRef`,ref:xe,style:{position:`relative`},class:`vue-data-ui-component`},[d(`div`,{class:`vue-ui-dashboard-container`,ref_key:`dashboardContainer`,ref:z,style:h(`outline:${Ie.value}; background:${Fe.value}; aspect-ratio:${Pe.value};${$.value?`pointer-events:none`:``}`)},[d(`div`,{class:`vue-ui-dashboard-grid-container`,ref:`container`,onMousemove:Oe,onMouseup:ke,onTouchmove:je,onTouchend:Z,style:h(`background:${O.value.style.board.backgroundColor}`)},[t[4]||=d(`div`,{class:`vue-ui-dashboard-grid`},null,-1),(g(!0),u(o,null,v(P.value,(n,r)=>(g(),u(`div`,{key:n.id,class:ue({"vue-ui-dashboard-grid-item":!0,"vue-ui-dashboard-grid-item--locked":j.value}),style:h({width:`${n.width}%`,height:`${n.height}%`,left:`${n.left}%`,top:`${n.top}%`,cursor:`move`,boxShadow:V.value===r?`0 6px 12px -3px rgba(0,0,0,0.3)`:``,zIndex:V.value===r?P.value.length+1:n.index,backgroundColor:O.value.style.item.backgroundColor}),onMousedown:e=>De(r),onTouchstart:e=>Ae(r,n)},[j.value?l(``,!0):(g(),u(o,{key:0},[d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-top-left`,onMousedown:e=>K(r,`top-left`),onTouchstart:e=>Y(r,`top-left`,e),onTouchmove:t[0]||=e=>X(e),onTouchend:Z},null,40,ge),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-top-right`,onMousedown:e=>K(r,`top-right`),onTouchstart:e=>Y(r,`top-right`,e),onTouchmove:t[1]||=e=>X(e),onTouchend:Z},null,40,_e),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-bottom-left`,onMousedown:e=>K(r,`bottom-left`),onTouchstart:e=>Y(r,`bottom-left`,e),onTouchmove:t[2]||=e=>X(e),onTouchend:Z},null,40,ve),d(`div`,{class:`vue-ui-dashboard-resize-handle vue-ui-dashboard-bottom-right`,onMousedown:e=>K(r,`bottom-right`),onTouchstart:e=>Y(r,`bottom-right`,e),onTouchmove:t[3]||=e=>X(e),onTouchend:Z},null,40,ye)],64)),y(e.$slots,`top`,{item:n,index:r},void 0,!0),n.resolvedComponent?(g(),c(fe(n.resolvedComponent),le({key:1,ref_for:!0},n.props),null,16)):y(e.$slots,`content`,{item:n,index:r,left:n.left,top:n.top,height:n.height,width:n.width},void 0,!0,2),y(e.$slots,`bottom`,{item:n,index:r},void 0,!0)],46,he))),128))],36)],4),(g(),u(`svg`,{style:h({width:`100%`,height:`100%`,pointerEvents:`none`,position:`absolute`,top:0,left:0,zIndex:P.value.length+1}),ref_key:`svgRef`,ref:E},null,4)),O.value.userOptions.buttons.annotator&&z.value&&E.value?(g(),c(ce,{key:0,color:O.value.style.board.color,backgroundColor:O.value.style.board.backgroundColor,active:$.value,svgRef:E.value,isCursorPointer:k.value,onClose:Be,style:h({zIndex:P.value.length+1}),palette:O.value.userOptions.annotatorPalette},f({_:2},[v(b(ne),t=>({name:t,fn:S(n=>[y(e.$slots,t,de(m(b(te)(t,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`style`,`palette`])):l(``,!0),(O.value.allowPrint||O.value.userOptions.show)&&(O.value.userOptions.buttons.pdf||O.value.userOptions.buttons.img)?(g(),c(se,{key:1,ref_key:`userOptionsRef`,ref:Se,backgroundColor:O.value.style.board.backgroundColor,color:O.value.style.board.color,isPrinting:b(we),isImaging:b(Te),uid:A.value,position:O.value.userOptions.position,hasTooltip:!1,hasPdf:O.value.userOptions.buttons.pdf,hasImg:O.value.userOptions.buttons.img,hasXls:!1,hasTable:!1,hasLabel:!1,hasFullscreen:!1,hasAltCopy:O.value.userOptions.buttons.altCopy,chartElement:z.value,callbacks:O.value.userOptions.callbacks,hasAnnotator:O.value.userOptions.buttons.annotator,isAnnotation:$.value,printScale:O.value.userOptions.print.scale,titles:{...O.value.userOptions.buttonTitles},isCursorPointer:k.value,onGeneratePdf:b(G),onGenerateImage:b(Ee),onToggleAnnotator:Be,onCopyAlt:Ue,style:h({visibility:b(ze)?b(Q)?`visible`:`hidden`:`visible`,zIndex:P.value.length+1})},f({_:2},[v(b(re)(e.$slots,`menuIcon optionPdf optionImg optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,de(m(b(ie)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`position`,`hasPdf`,`hasImg`,`hasAltCopy`,`chartElement`,`callbacks`,`hasAnnotator`,`isAnnotation`,`printScale`,`titles`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`style`])):l(``,!0)],40,me))}},[[`__scopeId`,`data-v-96466658`]]);export{C as n,T as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{X as n,t as r}from"./lib-rPeBMZrn.js";import{n as i,t as a}from"./useHints-C-TwxM0Y.js";import{t as o}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as s}from"./useNestedProp-DnGoh-XS.js";import{n as c}from"./PackageVersion-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{X as n,t as r}from"./lib-rPeBMZrn.js";import{n as i,t as a}from"./useHints-C-TwxM0Y.js";import{t as o}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as s}from"./useNestedProp-DnGoh-XS.js";import{n as c}from"./PackageVersion-DhptF5oD.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,toDisplayString as b,unref as x}from"vue";var S={key:0},C=[`d`,`fill`],w=[`d`,`fill`],T=[`d`,`fill`],E=[`d`,`fill`],D=[`d`,`fill`],O=[`d`,`fill`],k=[`d`,`fill`],A={key:1},j=[`cx`,`cy`,`r`,`fill`],M={__name:`Digit`,props:{quanta:{type:String,default:null},backgroundColor:{type:String,default:`#e1e5e8`},color:{type:String,default:`#000000`},x:{type:Number,default:0},y:{type:Number,default:0},thickness:{type:Number,default:1}},setup(e){let t=e,n=v({0:`1111110`,1:`0110000`,2:`1101101`,3:`1111001`,4:`0110011`,5:`1011011`,6:`1011111`,7:`1110000`,8:`1111111`,9:`1111011`,"-":`0000001`,X:`0000000`}),r=u(()=>2*(t.thickness||1)),i=u(()=>[void 0,null].includes(t.quanta)?n.value.X:n.value[t.quanta]);return(t,n)=>(_(),p(l,null,[[void 0,null,`.`].includes(e.quanta)?f(``,!0):(_(),p(`g`,S,[m(`path`,{d:`M ${e.x} ${e.y}
|
|
2
2
|
L ${e.x+r.value} ${e.y-r.value}
|
|
3
3
|
L ${e.x+26-r.value} ${e.y-r.value}
|
|
4
4
|
L ${e.x+26} ${e.y}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,D as i,Dt as a,Ht as o,It as s,Jt as c,S as l,X as u,Y as ee,Yt as te,Zt as ne,at as d,b as re,dt as ie,f,h as p,i as m,in as ae,it as oe,j as se,nn as ce,nt as le,p as h,s as ue,t as de,ut as fe,w as pe,yt as me,zt as he}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-C-TwxM0Y.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-DVf3YcG5.js";import{t as Ne}from"./Shape-CRe8woTu.js";import{c as Pe}from"./canvas-lib-22VpOI4_.js";import{t as Fe}from"./useResponsive-CENUxfEL.js";import{t as Ie}from"./DefGrad-DKMq1REY.js";import{t as Le}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Re}from"./A11yDataTable-DWNlWXzs.js";import{t as ze}from"./useUserOptionState-CXlFnwPv.js";import{t as Be}from"./useChartAccessibility-DOMuYJfm.js";import{n as Ve,t as He}from"./labelUtils-CdtU-yB_.js";import{t as Ue}from"./vue_ui_donut-T5PeOqvf.js";import{t as We}from"./Legend-DM0ClX3D.js";import{Fragment as g,Teleport as Ge,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as Ke,createTextVNode as qe,createVNode as Je,defineAsyncComponent as Ye,guardReactiveProps as Xe,mergeProps as Ze,nextTick as Qe,normalizeClass as $e,normalizeProps as et,normalizeStyle as S,onBeforeUnmount as tt,onMounted as nt,openBlock as C,ref as w,renderList as T,renderSlot as E,resolveDynamicComponent as rt,shallowRef as it,toDisplayString as D,toRefs as at,unref as O,useSlots as ot,vShow as st,watch as ct,withCtx as k,withDirectives as lt}from"vue";function ut(e){let{FINAL_CONFIG:t,noGhostDonut:n,svg:r,padding:i,labels_inline_fontSize:a,minSize:o,findArcMidpoint:s,calcMarkerOffsetX:c,calcMarkerOffsetY:l,animatingIndex:u,segregated:ee,isSmallArc:te}=e;return{smallArcLayoutsClassic:_(()=>{if(t.value.type!==`classic`)return{};let e={},ne=n.value||[];if(!ne.length)return e;let d=r.value.width/2,re=r.value.height/2,ie=i.value.top+16,f=r.value.height-i.value.bottom-16,p=a.value,m=p/3,ae=p*1.5,oe=d-(o.value+6),se=d+(o.value+6),ce=!!t.value.style.chart.layout.curvedMarkers;function le({midX:e,midY:t,bandX:n,bandY:r}){if(!ce)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let i=n<d?-1:1,a=n-e,o=r-t,s=Math.sqrt(a*a+o*o)||1,c=e-d,l=t-re,u=Math.sqrt(c*c+l*l)||1,ee=c/u,te=l/u,ne=u+9;function ie({x:e,y:t}){let n=e-d,r=t-re,i=Math.sqrt(n*n+r*r)||1;if(i>=ne)return{x:e,y:t};let a=ne/i;return{x:d+n*a,y:re+r*a}}if(s<56){let i=a/s,c=-(o/s),l=i,u=(e+n)*.5,ne=(t+r)*.5,f=u+c,p=ne+l,m=(f-d)*(f-d)+(p-re)*(p-re),ae=u-c,oe=ne-l;(ae-d)*(ae-d)+(oe-re)*(oe-re)>m&&(c=-c,l=-l);let se=.78,ce=e+a*se,le=t+o*se,h=Math.max(0,Math.min(1,(s-18)/44)),ue=h*h*(3-2*h),de=2.5+ue*4,fe=1+ue*2.5;de*=.9;let pe=ie({x:ce+c*de+ee*fe,y:le+l*de+te*fe});return`M ${e} ${t} Q ${pe.x} ${pe.y} ${n} ${r}`}let f=s*.34;f<20&&(f=20),f>46&&(f=46);let p=s*.46;p<22&&(p=22),p>70&&(p=70);let m={x:e+ee*f,y:t+te*f},ae=d+i*Math.max(Math.abs(n-d),ne),oe={x:n-i*Math.min(p,Math.abs(ae-n)*.75),y:r},se=ie(m),le=ie(oe);return`M ${e} ${t} C ${se.x} ${se.y} ${le.x} ${le.y} ${n} ${r}`}function h(e){let t=String(e??``).split(/\n/g),n=Math.max(0,t.length-1)*(p*1.2);return ae+n}function ue({arc:e,index:t}){let{x:n,y:r}=s(e.path);return{arc:e,index:t,midX:n,midY:r,inlineMarkerX:c(e).x,inlineMarkerY:l(e)-3.5,labelHeight:h(e.name)}}function de(e){let{arc:t}=e,n=t.seriesIndex??0;return u.value===n||ee.value.includes(n)?!1:te(t,n)}function fe(e){let t=e.inlineMarkerY<re,n=e.inlineMarkerX<d;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function pe(e,t){t.startsWith(`T`)?e.sort((e,t)=>e.inlineMarkerY-t.inlineMarkerY||e.index-t.index):e.sort((e,t)=>t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function me({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+m,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function he({candidateList:t,side:n,bandMarkerX:r,startY:i,direction:a}){let o=i;t.forEach(t=>{let{index:i,midX:s,midY:c,labelHeight:l}=t,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let ee=u,te=le({midX:s,midY:c,bandX:r,bandY:ee});e[i]=me({side:n,markerX:r,markerY:ee,labelY:u,connectorPath:te})})}let ge=ne.map((e,t)=>ue({arc:e,index:t})).filter(de),_e={TL:[],TR:[],BL:[],BR:[]};return ge.forEach(e=>{_e[fe(e)].push(e)}),Object.keys(_e).forEach(e=>{pe(_e[e],e)}),he({candidateList:_e.TL,side:`left`,bandMarkerX:oe,startY:ie,direction:`down`}),he({candidateList:_e.TR,side:`right`,bandMarkerX:se,startY:ie,direction:`down`}),_e.BL.length>1&&he({candidateList:_e.BL,side:`left`,bandMarkerX:oe,startY:f,direction:`up`}),_e.BR.length>1&&he({candidateList:_e.BR,side:`right`,bandMarkerX:se,startY:f,direction:`up`}),e})}}var dt=/* @__PURE__ */ e({default:()=>En}),ft=[`id`],pt=[`id`],mt=[`id`],ht={style:{position:`relative`}},gt=[`xmlns`,`aria-describedby`,`viewBox`],_t=[`width`,`height`],vt={key:1},yt={key:2},bt=[`id`],xt=[`id`],St=[`id`],Ct=[`flood-color`],wt=[`id`],Tt=[`flood-color`],Et=[`d`,`stroke`,`filter`],Dt=[`d`,`stroke`,`filter`],Ot=[`cx`,`cy`,`r`,`fill`,`filter`],kt={key:6},At=[`stroke`,`d`],jt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Mt={key:0},Nt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Pt={key:0},Ft=[`stroke`,`d`],It={key:0},Lt=[`d`,`stroke`,`stroke-width`,`filter`],Rt={key:1},zt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Bt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Vt={key:1},Ht=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ut=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Wt={key:0},Gt=[`d`,`fill`,`stroke`,`stroke-width`],Kt=[`cx`,`cy`,`r`,`stroke`],qt=[`cx`,`cy`,`r`,`fill`],Jt=[`cx`,`cy`,`r`],Yt={key:0},Xt=[`d`,`stroke`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Zt={key:1},Qt=[`cx`,`cy`,`r`],$t=[`x`,`y`,`fill`,`font-size`],en=[`x`,`y`,`fill`,`font-size`],tn=[`x`,`y`,`fill`,`font-size`],nn=[`x`,`y`,`fill`,`font-size`],rn=[`filter`,`opacity`],an={key:0},on=[`x`,`y`],sn={key:1},cn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],ln=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],un=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],dn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],fn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],pn=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],mn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],hn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],gn={key:2},_n=[`x`,`y`,`width`],vn=[`x`,`y`,`width`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:5,class:`vue-data-ui-watermark`},xn=[`id`],Sn=[`onClick`],Cn={key:8,class:`vue-ui-donut-hollow`},wn={key:0},Tn={key:1},En=/*#__PURE__*/ be({__name:`vue-ui-donut`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:dt}){let En=Ye(()=>import(`./Tooltip-C1q0Qoh7.js`)),Dn=Ye(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),On=Ye(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),kn=Ye(()=>import(`./DataTable-0Vv-aGHD.js`)),An=Ye(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),jn=Ye(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Mn=Ye(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Nn=Ye(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut:Pn}=t(),{isThemeValid:Fn,warnInvalidTheme:In}=Se(),Ln=ot(),A=e,Rn=_({get(){return!!A.dataset&&A.dataset.length},set(e){return e}}),zn=it(null),Bn=w(null),Vn=w(null),Hn=w(null),Un=it(null),Wn=it(null),Gn=it(null),Kn=it(null),qn=it(null),Jn=it(null),Yn=w(0),Xn=w(0),Zn=w(0),Qn=w(!1),$n=w(null),er=w(null),tr=w(null),nr=w({x:0,y:0}),rr=w(`pointer`),ir=w(!1),ar=_({get:()=>P.value.style.chart.layout.labels.percentage.fontSize,set:e=>e}),j=_({get:()=>P.value.style.chart.layout.labels.name.fontSize,set:e=>e}),or=_({get:()=>P.value.style.chart.layout.labels.dataLabels.smallArcClusterFontSize,set:e=>e}),sr=!1,cr=()=>{P.value.autoSize&&!sr&&(sr=!0,requestAnimationFrame(()=>{sr=!1;let e=P.value,t=Bn.value,n=z.value;if(!e.autoSize||!t||!n)return;let[r,i,a,o]=n.getAttribute(`viewBox`).split(` `).map(Number),s={x:r,y:i,width:a,height:o},c=[{selector:`.vue-data-ui-datalabel-value`,baseSize:F.value.percentage.fontSize,minSize:F.value.percentage.minFontSize,sizeRef:ar},{selector:`.vue-data-ui-datalabel-name`,baseSize:F.value.name.fontSize,minSize:F.value.name.minFontSize,sizeRef:j},{selector:`.vue-data-ui-datalabel-inline`,baseSize:F.value.dataLabels.smallArcClusterFontSize,minSize:F.value.name.minFontSize,sizeRef:or}];c.map(e=>t.querySelectorAll(e.selector).length).reduce((e,t)=>e+t,0)!==0&&c.forEach(({selector:e,baseSize:n,minSize:r,sizeRef:i})=>{t.querySelectorAll(e).forEach(e=>{i.value=ue({el:e,bounds:s,currentFontSize:n,minFontSize:r,attempts:200,padding:1})})})}))};nt(async()=>{Qn.value=!0,dr(),requestAnimationFrame(cr)});let lr;nt(()=>{zn.value&&(lr=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){cr();break}}}),lr.observe(zn.value.parentElement))}),tt(()=>{lr?.disconnect()}),tt(()=>{Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect())});let ur=_(()=>P.value.debug);function dr(){if(he(A.dataset)?(d({componentName:`VueUiDonut`,type:`dataset`,debug:ur.value}),Rn.value=!1,xr.value=!0):(A.dataset.forEach((e,t)=>{me({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{d({componentName:`VueUiDonut`,type:`datasetSerieAttribute`,property:e,index:t,debug:ur.value}),Rn.value=!1,xr.value=!0})}),ur.value&&A.dataset.forEach((e,t)=>{e.name&&e.name!==``||d({componentName:`VueUiDonut`,type:`datasetAttributeEmpty`,property:`name`,index:t})})),he(A.dataset)||(xr.value=P.value.loading),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Fe({chart:zn.value,title:P.value.style.chart.title.text?Un.value:null,legend:P.value.style.chart.legend.show?Wn.value:null,source:qn.value,noTitle:Jn.value,padding:P.value.autoSize?void 0:Nr.value});requestAnimationFrame(()=>{V.value.width=e,V.value.height=t,cr()})});Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect()),Gn.value=new ResizeObserver(e),Kn.value=zn.value.parentNode,Gn.value.observe(Kn.value)}}let M=w(u()),fr=w(!1),pr=w(``),N=w(null),mr=w(0);function hr(){let e=xe({userConfig:A.config,defaultConfig:Pn}),t={},n=e.theme;if(!n)t=e;else if(!Fn.value(e))In(e),t=e;else{let r=xe({userConfig:Ue[n]||A.config,defaultConfig:e});t={...xe({userConfig:A.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}return t}let P=w(hr()),F=_(()=>P.value.style.chart.layout.labels),I=_(()=>P.value.style.chart.layout.donut),gr=_(()=>P.value.style.chart.layout),L=_(()=>P.value.style.chart);ve({config:()=>P.value,dataset:()=>A.dataset,component:`VueUiDonut`,rules:[ye.singleSeries,ye.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let _r=_(()=>P.value.userOptions.useCursorPointer),vr=_(()=>ae({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1},hollow:{average:{show:!1},total:{show:!1}},value:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:P.value.skeletonConfig??{}})),{loading:yr,FINAL_DATASET:br,manualLoading:xr,skeletonDataset:Sr}=ge({...at(A),FINAL_CONFIG:P,prepareConfig:hr,skeletonDataset:A.config?.skeletonDataset??[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:P.value,userConfig:vr.value})}),R=w(!0),Cr=w(0),wr=w(!1),Tr=null;function Er(e=1e3){return new Promise(t=>{let n=performance.now();function r(i){let a=i-n,o=Math.min(a/e,1),s=oe(o);Cr.value=s,o<1?Tr=requestAnimationFrame(r):(Cr.value=1,Tr=null,t())}Tr!==null&&cancelAnimationFrame(Tr),Cr.value=0,Tr=requestAnimationFrame(r)})}ct(()=>yr.value,async e=>{if(e||wr.value)return;let t=br.value===Sr,n=P.value.startAnimation?.show;!t&&n?(wr.value=!0,await Er(P.value.startAnimation.durationMs||1e3)):Cr.value=1,R.value=!1},{immediate:!0});let{userOptionsVisible:Dr,setUserOptionsVisibility:Or,keepUserOptionState:kr}=ze({config:P.value}),{svgRef:z}=Be({config:L.value.title});function Ar(){Or(!0)}function jr(){Or(!1)}let Mr=ne(A.config);ct(()=>A.config,(e,t)=>{let n=ne(e),r=n!==Mr;Mr=n;let i=hr();r?(yr.value||(P.value=i),Dr.value=!P.value.userOptions.showOnChartHover,dr(),Yn.value+=1,Xn.value+=1,Zn.value+=1,B.value.dataLabels.show=F.value.dataLabels.show,B.value.showTable=P.value.table.show,B.value.showTooltip=L.value.tooltip.show,V.value.height=L.value.height,V.value.width=L.value.width):(P.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=P.value.style.chart.tooltip.show)},{deep:!0});let Nr=_(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}}),{isPrinting:Pr,isImaging:Fr,generatePdf:Ir,generateImage:Lr}=Me({elementId:`donut__${M.value}`,fileName:L.value.title.text||`vue-ui-donut`,options:P.value.userOptions.print}),Rr=_(()=>P.value.userOptions.show&&!L.value.title.text),zr=_(()=>pe(P.value.customPalette)),B=w({dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show});ct(P,()=>{B.value={dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show}},{immediate:!0});let V=w({height:L.value.height,width:L.value.width}),Br=_(()=>{if(P.value.pie)return G.value;let e=I.value.strokeWidth/512,t=Math.min(V.value.width,V.value.height)*e,n=t>G.value?G.value:t;return Math.max(n,12*(1+e))}),Vr=dt,H=_(()=>br.value.sort((e,t)=>{let n=Array.isArray(e.values)?e.values.reduce((e,t)=>e+t,0):e.value??0,r=Array.isArray(t.values)?t.values.reduce((e,t)=>e+t,0):t.value??0;return e.ghost&&!t.ghost?1:t.ghost&&!e.ghost?-1:r-n}).map((e,t)=>({name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:re(e.values.reduce((e,t)=>e+t,0)),absoluteValues:e.values,comment:e.comment||``,patternIndex:t,seriesIndex:t,ghost:!1,pattern:`pattern_${M.value}_${t}`})));ct(()=>A.dataset,e=>{Array.isArray(e)&&e.length>0&&(xr.value=!1)},{immediate:!0});let U=it(H.value);ct(()=>H.value,e=>{U.value=e,requestAnimationFrame(cr)});function Hr(){return H.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let W=w([]),Ur=w(!1),Wr=w(null);function Gr(){Vr(`selectLegend`,$r.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function Kr({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=oe}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),u=a(l);r(e+(t-e)*u,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}function qr(){W.value.length?W.value=[]:ei.value.forEach((e,t)=>{W.value.push(t)}),Gr()}function Jr(e){let t=H.value.find((t,n)=>n===e),n=U.value.find((t,n)=>n===e).value;if(W.value.includes(e)){W.value=W.value.filter(t=>t!==e);let r=t.value;function i(){U.value=U.value.map((t,n)=>e===n?{...t,value:r}:t),Gr()}function a(){Ur.value=!0,Wr.value=e,Kr({from:n,to:r,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{i(),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?a():(i(),requestAnimationFrame(cr))}else if(W.value.length<H.value.length-1){function t(){W.value.push(e),U.value=U.value.map((t,n)=>e===n?{...t,value:0}:t),Gr()}function r(){Ur.value=!0,Wr.value=e,Kr({from:n,to:0,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{t(),requestAnimationFrame(cr),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?r():t()}}function Yr(e){return H.value.length?H.value.find(t=>t.name===e)||(ur.value&&console.warn(`VueUiDonut - Series name not found "${e}"`),null):(ur.value&&console.warn(`VueUiDonut - There are no series to show.`),null)}function Xr(e){let t=Yr(e);t!==null&&W.value.includes(t.seriesIndex)&&Jr(t.seriesIndex)}function Zr(e){let t=Yr(e);t!==null&&(W.value.includes(t.seriesIndex)||Jr(t.seriesIndex))}let Qr=_(()=>br.value.reduce((e,t)=>e+t.values.reduce((e,t)=>e+t,0),0)),$r=_(()=>{if(R.value&&!yr.value){let e=Cr.value,t=H.value.map(t=>({...t,value:t.value*e,color:t.color,ghost:!1})),n=Qr.value*(1-e);return n>0&&t.push({name:`__ghost__`,value:n,color:`transparent`,ghost:!0}),t}return U.value.forEach(e=>{if([null,void 0].includes(e.values))return{...e,values:[]}}),U.value.map((e,t)=>({...e,seriesIndex:t})).filter((e,t)=>!W.value.includes(t))}),ei=_(()=>br.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/br.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:n,shape:`circle`,patternIndex:t,proportion:r}}).map((e,t)=>{let r=m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,index:t}),i=m(F.value.percentage.formatter,di(e),n({v:di(e),s:`%`,r:L.value.legend.roundingPercentage})),a=Di({val:r,percentage:W.value.includes(t)?`${Ei(e.proportion*100)}%`:i,showVal:L.value.legend.showValue,showPercentage:L.value.legend.showPercentage,config:L.value.legend});return{...e,opacity:W.value.includes(t)?.5:1,segregate:()=>!Ur.value&&Jr(t),isSegregated:W.value.includes(t),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${a}`}})),ti=_(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``})),G=_(()=>{let e=I.value.radiusRatio,t=Math.max(.1,Math.min(.50001,e)),n=Math.min(V.value.width*t,V.value.height*t);return Math.max(12,n)}),K=_(()=>s({series:$r.value},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),ni=_(()=>Math.abs($r.value.map(e=>e.value).reduce((e,t)=>e+t,0))>0),ri=_(()=>s({series:[{value:1,color:I.value.emptyFill,name:`_`,seriesIndex:0,patternIndex:-1,ghost:!1,absoluteValues:[1]}]},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),q=_(()=>K.value.filter(e=>!e.ghost)),J=_(()=>{let e=Math.max(...$r.value.map(e=>e.value)),t=$r.value.map(t=>t.value/e);return se({series:t,center:{x:V.value.width/2,y:V.value.height/2},maxRadius:Math.min(V.value.width,V.value.height)/3,hasGhost:R.value})});function ii(e){return e.x>V.value.width/2+6?`start`:e.x<V.value.width/2-6?`end`:`middle`}function ai(e){return e.middlePoint.y>V.value.height/2?r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:100,centerX:V.value.width/2,centerY:V.value.height/2}).y:r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:0,centerX:V.value.width/2,centerY:V.value.height/2}).y-100}function Y(e){return e.proportion*100>F.value.dataLabels.hideUnderValue}function oi(e,t){let n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold,i=(li.value[t]??e.proportion??0)*100;return i>n&&i<=r}let{smallArcLayoutsClassic:X}=ut({FINAL_CONFIG:P,noGhostDonut:q,svg:V,padding:Nr,labels_inline_fontSize:or,minSize:G,findArcMidpoint:fe,calcMarkerOffsetX:f,calcMarkerOffsetY:h,animatingIndex:Wr,segregated:W,isSmallArc:oi});function si(e,t){let r=e.value/ci(t);return isNaN(r)?0:m(F.value.percentage.formatter,r*100,n({v:r*100,s:`%`,r:F.value.percentage.rounding}),{datapoint:e})}function ci(e){return[...e].map(e=>e.value).reduce((e,t)=>e+t,0)}let Z=_(()=>$r.value.map(e=>e.value).reduce((e,t)=>e+t,0)),li=_(()=>{let e=H.value.reduce((e,t)=>e+t.value,0);return e<=0?[]:H.value.map(t=>t.value/e)}),ui=_(()=>Z.value/$r.value.length);function di(e){return Ur.value?e.proportion*100:e.value/Z.value*100}let fi=w(null),pi=w(!1);function mi({datapoint:e,seriesIndex:t}){P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t}),fr.value=!1,N.value=null,tr.value=null,rr.value=`pointer`}function Q({datapoint:e,relativeIndex:t,seriesIndex:r,show:i=!1,triggerMode:o=`pointer`}){P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:r}),rr.value=o,tr.value=t,fi.value={datapoint:e,seriesIndex:r,config:P.value,series:H.value},fr.value=i,N.value=t;let s=``,l=L.value.tooltip.customFormat;if(pi.value=!1,a(l))try{let t=l({seriesIndex:r,datapoint:e,series:H.value,config:P.value});typeof t==`string`&&(pr.value=t,pi.value=!0)}catch{console.warn(`Custom format cannot be applied.`),pi.value=!1}pi.value||(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/>${Ln.pattern?`<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${M.value}_${r})"/>`:``}</svg>`,s+=`<b>${Di({showVal:L.value.tooltip.showValue,showPercentage:L.value.tooltip.showPercentage,val:`<span>${m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.tooltip.roundingValue}),{datapoint:e,relativeIndex:t,seriesIndex:r})}</span>`,percentage:m(F.value.percentage.formatter,e.proportion*100,n({v:e.proportion*100,s:`%`,r:L.value.tooltip.roundingPercentage}),{datapoint:e,relativeIndex:t,seriesIndex:r}),config:L.value.tooltip})}</b></div>`,L.value.comments.showInTooltip&&e.comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${c(e.color,12.5)}; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${e.color}">${e.comment}</div>`),pr.value=`<div>${s}</div>`)}function hi(e,t){let n=X.value[t];if(n)return{textAnchor:n.textAnchor,x:n.labelX,y:n.labelY};let r=f(e,!0,12);return{textAnchor:r.anchor,x:r.x,y:h(e)}}function gi(e,t,n){let{textAnchor:r,x:i}=hi(e,t),a=Oi(e),o=`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,D as i,Dt as a,Ht as o,It as s,Jt as c,S as l,X as u,Y as ee,Yt as te,Zt as ne,at as d,b as re,dt as ie,f,h as p,i as m,in as ae,it as oe,j as se,nn as ce,nt as le,p as h,s as ue,t as de,ut as fe,w as pe,yt as me,zt as he}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-C-TwxM0Y.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-DVf3YcG5.js";import{t as Ne}from"./Shape-CRe8woTu.js";import{c as Pe}from"./canvas-lib-22VpOI4_.js";import{t as Fe}from"./useResponsive-CENUxfEL.js";import{t as Ie}from"./DefGrad-DKMq1REY.js";import{t as Le}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Re}from"./A11yDataTable-DWNlWXzs.js";import{t as ze}from"./useUserOptionState-CXlFnwPv.js";import{t as Be}from"./useChartAccessibility-DOMuYJfm.js";import{n as Ve,t as He}from"./labelUtils-CdtU-yB_.js";import{t as Ue}from"./vue_ui_donut-T5PeOqvf.js";import{t as We}from"./Legend-DM0ClX3D.js";import{Fragment as g,Teleport as Ge,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as Ke,createTextVNode as qe,createVNode as Je,defineAsyncComponent as Ye,guardReactiveProps as Xe,mergeProps as Ze,nextTick as Qe,normalizeClass as $e,normalizeProps as et,normalizeStyle as S,onBeforeUnmount as tt,onMounted as nt,openBlock as C,ref as w,renderList as T,renderSlot as E,resolveDynamicComponent as rt,shallowRef as it,toDisplayString as D,toRefs as at,unref as O,useSlots as ot,vShow as st,watch as ct,withCtx as k,withDirectives as lt}from"vue";function ut(e){let{FINAL_CONFIG:t,noGhostDonut:n,svg:r,padding:i,labels_inline_fontSize:a,minSize:o,findArcMidpoint:s,calcMarkerOffsetX:c,calcMarkerOffsetY:l,animatingIndex:u,segregated:ee,isSmallArc:te}=e;return{smallArcLayoutsClassic:_(()=>{if(t.value.type!==`classic`)return{};let e={},ne=n.value||[];if(!ne.length)return e;let d=r.value.width/2,re=r.value.height/2,ie=i.value.top+16,f=r.value.height-i.value.bottom-16,p=a.value,m=p/3,ae=p*1.5,oe=d-(o.value+6),se=d+(o.value+6),ce=!!t.value.style.chart.layout.curvedMarkers;function le({midX:e,midY:t,bandX:n,bandY:r}){if(!ce)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let i=n<d?-1:1,a=n-e,o=r-t,s=Math.sqrt(a*a+o*o)||1,c=e-d,l=t-re,u=Math.sqrt(c*c+l*l)||1,ee=c/u,te=l/u,ne=u+9;function ie({x:e,y:t}){let n=e-d,r=t-re,i=Math.sqrt(n*n+r*r)||1;if(i>=ne)return{x:e,y:t};let a=ne/i;return{x:d+n*a,y:re+r*a}}if(s<56){let i=a/s,c=-(o/s),l=i,u=(e+n)*.5,ne=(t+r)*.5,f=u+c,p=ne+l,m=(f-d)*(f-d)+(p-re)*(p-re),ae=u-c,oe=ne-l;(ae-d)*(ae-d)+(oe-re)*(oe-re)>m&&(c=-c,l=-l);let se=.78,ce=e+a*se,le=t+o*se,h=Math.max(0,Math.min(1,(s-18)/44)),ue=h*h*(3-2*h),de=2.5+ue*4,fe=1+ue*2.5;de*=.9;let pe=ie({x:ce+c*de+ee*fe,y:le+l*de+te*fe});return`M ${e} ${t} Q ${pe.x} ${pe.y} ${n} ${r}`}let f=s*.34;f<20&&(f=20),f>46&&(f=46);let p=s*.46;p<22&&(p=22),p>70&&(p=70);let m={x:e+ee*f,y:t+te*f},ae=d+i*Math.max(Math.abs(n-d),ne),oe={x:n-i*Math.min(p,Math.abs(ae-n)*.75),y:r},se=ie(m),le=ie(oe);return`M ${e} ${t} C ${se.x} ${se.y} ${le.x} ${le.y} ${n} ${r}`}function h(e){let t=String(e??``).split(/\n/g),n=Math.max(0,t.length-1)*(p*1.2);return ae+n}function ue({arc:e,index:t}){let{x:n,y:r}=s(e.path);return{arc:e,index:t,midX:n,midY:r,inlineMarkerX:c(e).x,inlineMarkerY:l(e)-3.5,labelHeight:h(e.name)}}function de(e){let{arc:t}=e,n=t.seriesIndex??0;return u.value===n||ee.value.includes(n)?!1:te(t,n)}function fe(e){let t=e.inlineMarkerY<re,n=e.inlineMarkerX<d;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function pe(e,t){t.startsWith(`T`)?e.sort((e,t)=>e.inlineMarkerY-t.inlineMarkerY||e.index-t.index):e.sort((e,t)=>t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function me({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+m,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function he({candidateList:t,side:n,bandMarkerX:r,startY:i,direction:a}){let o=i;t.forEach(t=>{let{index:i,midX:s,midY:c,labelHeight:l}=t,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let ee=u,te=le({midX:s,midY:c,bandX:r,bandY:ee});e[i]=me({side:n,markerX:r,markerY:ee,labelY:u,connectorPath:te})})}let ge=ne.map((e,t)=>ue({arc:e,index:t})).filter(de),_e={TL:[],TR:[],BL:[],BR:[]};return ge.forEach(e=>{_e[fe(e)].push(e)}),Object.keys(_e).forEach(e=>{pe(_e[e],e)}),he({candidateList:_e.TL,side:`left`,bandMarkerX:oe,startY:ie,direction:`down`}),he({candidateList:_e.TR,side:`right`,bandMarkerX:se,startY:ie,direction:`down`}),_e.BL.length>1&&he({candidateList:_e.BL,side:`left`,bandMarkerX:oe,startY:f,direction:`up`}),_e.BR.length>1&&he({candidateList:_e.BR,side:`right`,bandMarkerX:se,startY:f,direction:`up`}),e})}}var dt=/* @__PURE__ */ e({default:()=>En}),ft=[`id`],pt=[`id`],mt=[`id`],ht={style:{position:`relative`}},gt=[`xmlns`,`aria-describedby`,`viewBox`],_t=[`width`,`height`],vt={key:1},yt={key:2},bt=[`id`],xt=[`id`],St=[`id`],Ct=[`flood-color`],wt=[`id`],Tt=[`flood-color`],Et=[`d`,`stroke`,`filter`],Dt=[`d`,`stroke`,`filter`],Ot=[`cx`,`cy`,`r`,`fill`,`filter`],kt={key:6},At=[`stroke`,`d`],jt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Mt={key:0},Nt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Pt={key:0},Ft=[`stroke`,`d`],It={key:0},Lt=[`d`,`stroke`,`stroke-width`,`filter`],Rt={key:1},zt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Bt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Vt={key:1},Ht=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ut=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Wt={key:0},Gt=[`d`,`fill`,`stroke`,`stroke-width`],Kt=[`cx`,`cy`,`r`,`stroke`],qt=[`cx`,`cy`,`r`,`fill`],Jt=[`cx`,`cy`,`r`],Yt={key:0},Xt=[`d`,`stroke`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Zt={key:1},Qt=[`cx`,`cy`,`r`],$t=[`x`,`y`,`fill`,`font-size`],en=[`x`,`y`,`fill`,`font-size`],tn=[`x`,`y`,`fill`,`font-size`],nn=[`x`,`y`,`fill`,`font-size`],rn=[`filter`,`opacity`],an={key:0},on=[`x`,`y`],sn={key:1},cn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],ln=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],un=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],dn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],fn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],pn=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],mn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],hn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],gn={key:2},_n=[`x`,`y`,`width`],vn=[`x`,`y`,`width`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:5,class:`vue-data-ui-watermark`},xn=[`id`],Sn=[`onClick`],Cn={key:8,class:`vue-ui-donut-hollow`},wn={key:0},Tn={key:1},En=/*#__PURE__*/ be({__name:`vue-ui-donut`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:dt}){let En=Ye(()=>import(`./Tooltip-C1q0Qoh7.js`)),Dn=Ye(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),On=Ye(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),kn=Ye(()=>import(`./DataTable-0Vv-aGHD.js`)),An=Ye(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),jn=Ye(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Mn=Ye(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),Nn=Ye(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut:Pn}=t(),{isThemeValid:Fn,warnInvalidTheme:In}=Se(),Ln=ot(),A=e,Rn=_({get(){return!!A.dataset&&A.dataset.length},set(e){return e}}),zn=it(null),Bn=w(null),Vn=w(null),Hn=w(null),Un=it(null),Wn=it(null),Gn=it(null),Kn=it(null),qn=it(null),Jn=it(null),Yn=w(0),Xn=w(0),Zn=w(0),Qn=w(!1),$n=w(null),er=w(null),tr=w(null),nr=w({x:0,y:0}),rr=w(`pointer`),ir=w(!1),ar=_({get:()=>P.value.style.chart.layout.labels.percentage.fontSize,set:e=>e}),j=_({get:()=>P.value.style.chart.layout.labels.name.fontSize,set:e=>e}),or=_({get:()=>P.value.style.chart.layout.labels.dataLabels.smallArcClusterFontSize,set:e=>e}),sr=!1,cr=()=>{P.value.autoSize&&!sr&&(sr=!0,requestAnimationFrame(()=>{sr=!1;let e=P.value,t=Bn.value,n=z.value;if(!e.autoSize||!t||!n)return;let[r,i,a,o]=n.getAttribute(`viewBox`).split(` `).map(Number),s={x:r,y:i,width:a,height:o},c=[{selector:`.vue-data-ui-datalabel-value`,baseSize:F.value.percentage.fontSize,minSize:F.value.percentage.minFontSize,sizeRef:ar},{selector:`.vue-data-ui-datalabel-name`,baseSize:F.value.name.fontSize,minSize:F.value.name.minFontSize,sizeRef:j},{selector:`.vue-data-ui-datalabel-inline`,baseSize:F.value.dataLabels.smallArcClusterFontSize,minSize:F.value.name.minFontSize,sizeRef:or}];c.map(e=>t.querySelectorAll(e.selector).length).reduce((e,t)=>e+t,0)!==0&&c.forEach(({selector:e,baseSize:n,minSize:r,sizeRef:i})=>{t.querySelectorAll(e).forEach(e=>{i.value=ue({el:e,bounds:s,currentFontSize:n,minFontSize:r,attempts:200,padding:1})})})}))};nt(async()=>{Qn.value=!0,dr(),requestAnimationFrame(cr)});let lr;nt(()=>{zn.value&&(lr=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){cr();break}}}),lr.observe(zn.value.parentElement))}),tt(()=>{lr?.disconnect()}),tt(()=>{Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect())});let ur=_(()=>P.value.debug);function dr(){if(he(A.dataset)?(d({componentName:`VueUiDonut`,type:`dataset`,debug:ur.value}),Rn.value=!1,xr.value=!0):(A.dataset.forEach((e,t)=>{me({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{d({componentName:`VueUiDonut`,type:`datasetSerieAttribute`,property:e,index:t,debug:ur.value}),Rn.value=!1,xr.value=!0})}),ur.value&&A.dataset.forEach((e,t)=>{e.name&&e.name!==``||d({componentName:`VueUiDonut`,type:`datasetAttributeEmpty`,property:`name`,index:t})})),he(A.dataset)||(xr.value=P.value.loading),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Fe({chart:zn.value,title:P.value.style.chart.title.text?Un.value:null,legend:P.value.style.chart.legend.show?Wn.value:null,source:qn.value,noTitle:Jn.value,padding:P.value.autoSize?void 0:Nr.value});requestAnimationFrame(()=>{V.value.width=e,V.value.height=t,cr()})});Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect()),Gn.value=new ResizeObserver(e),Kn.value=zn.value.parentNode,Gn.value.observe(Kn.value)}}let M=w(u()),fr=w(!1),pr=w(``),N=w(null),mr=w(0);function hr(){let e=xe({userConfig:A.config,defaultConfig:Pn}),t={},n=e.theme;if(!n)t=e;else if(!Fn.value(e))In(e),t=e;else{let r=xe({userConfig:Ue[n]||A.config,defaultConfig:e});t={...xe({userConfig:A.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}return t}let P=w(hr()),F=_(()=>P.value.style.chart.layout.labels),I=_(()=>P.value.style.chart.layout.donut),gr=_(()=>P.value.style.chart.layout),L=_(()=>P.value.style.chart);ve({config:()=>P.value,dataset:()=>A.dataset,component:`VueUiDonut`,rules:[ye.singleSeries,ye.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let _r=_(()=>P.value.userOptions.useCursorPointer),vr=_(()=>ae({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1},hollow:{average:{show:!1},total:{show:!1}},value:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:P.value.skeletonConfig??{}})),{loading:yr,FINAL_DATASET:br,manualLoading:xr,skeletonDataset:Sr}=ge({...at(A),FINAL_CONFIG:P,prepareConfig:hr,skeletonDataset:A.config?.skeletonDataset??[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:P.value,userConfig:vr.value})}),R=w(!0),Cr=w(0),wr=w(!1),Tr=null;function Er(e=1e3){return new Promise(t=>{let n=performance.now();function r(i){let a=i-n,o=Math.min(a/e,1),s=oe(o);Cr.value=s,o<1?Tr=requestAnimationFrame(r):(Cr.value=1,Tr=null,t())}Tr!==null&&cancelAnimationFrame(Tr),Cr.value=0,Tr=requestAnimationFrame(r)})}ct(()=>yr.value,async e=>{if(e||wr.value)return;let t=br.value===Sr,n=P.value.startAnimation?.show;!t&&n?(wr.value=!0,await Er(P.value.startAnimation.durationMs||1e3)):Cr.value=1,R.value=!1},{immediate:!0});let{userOptionsVisible:Dr,setUserOptionsVisibility:Or,keepUserOptionState:kr}=ze({config:P.value}),{svgRef:z}=Be({config:L.value.title});function Ar(){Or(!0)}function jr(){Or(!1)}let Mr=ne(A.config);ct(()=>A.config,(e,t)=>{let n=ne(e),r=n!==Mr;Mr=n;let i=hr();r?(yr.value||(P.value=i),Dr.value=!P.value.userOptions.showOnChartHover,dr(),Yn.value+=1,Xn.value+=1,Zn.value+=1,B.value.dataLabels.show=F.value.dataLabels.show,B.value.showTable=P.value.table.show,B.value.showTooltip=L.value.tooltip.show,V.value.height=L.value.height,V.value.width=L.value.width):(P.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=P.value.style.chart.tooltip.show)},{deep:!0});let Nr=_(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}}),{isPrinting:Pr,isImaging:Fr,generatePdf:Ir,generateImage:Lr}=Me({elementId:`donut__${M.value}`,fileName:L.value.title.text||`vue-ui-donut`,options:P.value.userOptions.print}),Rr=_(()=>P.value.userOptions.show&&!L.value.title.text),zr=_(()=>pe(P.value.customPalette)),B=w({dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show});ct(P,()=>{B.value={dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show}},{immediate:!0});let V=w({height:L.value.height,width:L.value.width}),Br=_(()=>{if(P.value.pie)return G.value;let e=I.value.strokeWidth/512,t=Math.min(V.value.width,V.value.height)*e,n=t>G.value?G.value:t;return Math.max(n,12*(1+e))}),Vr=dt,H=_(()=>br.value.sort((e,t)=>{let n=Array.isArray(e.values)?e.values.reduce((e,t)=>e+t,0):e.value??0,r=Array.isArray(t.values)?t.values.reduce((e,t)=>e+t,0):t.value??0;return e.ghost&&!t.ghost?1:t.ghost&&!e.ghost?-1:r-n}).map((e,t)=>({name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:re(e.values.reduce((e,t)=>e+t,0)),absoluteValues:e.values,comment:e.comment||``,patternIndex:t,seriesIndex:t,ghost:!1,pattern:`pattern_${M.value}_${t}`})));ct(()=>A.dataset,e=>{Array.isArray(e)&&e.length>0&&(xr.value=!1)},{immediate:!0});let U=it(H.value);ct(()=>H.value,e=>{U.value=e,requestAnimationFrame(cr)});function Hr(){return H.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let W=w([]),Ur=w(!1),Wr=w(null);function Gr(){Vr(`selectLegend`,$r.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function Kr({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=oe}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),u=a(l);r(e+(t-e)*u,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}function qr(){W.value.length?W.value=[]:ei.value.forEach((e,t)=>{W.value.push(t)}),Gr()}function Jr(e){let t=H.value.find((t,n)=>n===e),n=U.value.find((t,n)=>n===e).value;if(W.value.includes(e)){W.value=W.value.filter(t=>t!==e);let r=t.value;function i(){U.value=U.value.map((t,n)=>e===n?{...t,value:r}:t),Gr()}function a(){Ur.value=!0,Wr.value=e,Kr({from:n,to:r,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{i(),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?a():(i(),requestAnimationFrame(cr))}else if(W.value.length<H.value.length-1){function t(){W.value.push(e),U.value=U.value.map((t,n)=>e===n?{...t,value:0}:t),Gr()}function r(){Ur.value=!0,Wr.value=e,Kr({from:n,to:0,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{t(),requestAnimationFrame(cr),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?r():t()}}function Yr(e){return H.value.length?H.value.find(t=>t.name===e)||(ur.value&&console.warn(`VueUiDonut - Series name not found "${e}"`),null):(ur.value&&console.warn(`VueUiDonut - There are no series to show.`),null)}function Xr(e){let t=Yr(e);t!==null&&W.value.includes(t.seriesIndex)&&Jr(t.seriesIndex)}function Zr(e){let t=Yr(e);t!==null&&(W.value.includes(t.seriesIndex)||Jr(t.seriesIndex))}let Qr=_(()=>br.value.reduce((e,t)=>e+t.values.reduce((e,t)=>e+t,0),0)),$r=_(()=>{if(R.value&&!yr.value){let e=Cr.value,t=H.value.map(t=>({...t,value:t.value*e,color:t.color,ghost:!1})),n=Qr.value*(1-e);return n>0&&t.push({name:`__ghost__`,value:n,color:`transparent`,ghost:!0}),t}return U.value.forEach(e=>{if([null,void 0].includes(e.values))return{...e,values:[]}}),U.value.map((e,t)=>({...e,seriesIndex:t})).filter((e,t)=>!W.value.includes(t))}),ei=_(()=>br.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/br.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:n,shape:`circle`,patternIndex:t,proportion:r}}).map((e,t)=>{let r=m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,index:t}),i=m(F.value.percentage.formatter,di(e),n({v:di(e),s:`%`,r:L.value.legend.roundingPercentage})),a=Di({val:r,percentage:W.value.includes(t)?`${Ei(e.proportion*100)}%`:i,showVal:L.value.legend.showValue,showPercentage:L.value.legend.showPercentage,config:L.value.legend});return{...e,opacity:W.value.includes(t)?.5:1,segregate:()=>!Ur.value&&Jr(t),isSegregated:W.value.includes(t),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${a}`}})),ti=_(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``})),G=_(()=>{let e=I.value.radiusRatio,t=Math.max(.1,Math.min(.50001,e)),n=Math.min(V.value.width*t,V.value.height*t);return Math.max(12,n)}),K=_(()=>s({series:$r.value},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),ni=_(()=>Math.abs($r.value.map(e=>e.value).reduce((e,t)=>e+t,0))>0),ri=_(()=>s({series:[{value:1,color:I.value.emptyFill,name:`_`,seriesIndex:0,patternIndex:-1,ghost:!1,absoluteValues:[1]}]},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),q=_(()=>K.value.filter(e=>!e.ghost)),J=_(()=>{let e=Math.max(...$r.value.map(e=>e.value)),t=$r.value.map(t=>t.value/e);return se({series:t,center:{x:V.value.width/2,y:V.value.height/2},maxRadius:Math.min(V.value.width,V.value.height)/3,hasGhost:R.value})});function ii(e){return e.x>V.value.width/2+6?`start`:e.x<V.value.width/2-6?`end`:`middle`}function ai(e){return e.middlePoint.y>V.value.height/2?r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:100,centerX:V.value.width/2,centerY:V.value.height/2}).y:r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:0,centerX:V.value.width/2,centerY:V.value.height/2}).y-100}function Y(e){return e.proportion*100>F.value.dataLabels.hideUnderValue}function oi(e,t){let n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold,i=(li.value[t]??e.proportion??0)*100;return i>n&&i<=r}let{smallArcLayoutsClassic:X}=ut({FINAL_CONFIG:P,noGhostDonut:q,svg:V,padding:Nr,labels_inline_fontSize:or,minSize:G,findArcMidpoint:fe,calcMarkerOffsetX:f,calcMarkerOffsetY:h,animatingIndex:Wr,segregated:W,isSmallArc:oi});function si(e,t){let r=e.value/ci(t);return isNaN(r)?0:m(F.value.percentage.formatter,r*100,n({v:r*100,s:`%`,r:F.value.percentage.rounding}),{datapoint:e})}function ci(e){return[...e].map(e=>e.value).reduce((e,t)=>e+t,0)}let Z=_(()=>$r.value.map(e=>e.value).reduce((e,t)=>e+t,0)),li=_(()=>{let e=H.value.reduce((e,t)=>e+t.value,0);return e<=0?[]:H.value.map(t=>t.value/e)}),ui=_(()=>Z.value/$r.value.length);function di(e){return Ur.value?e.proportion*100:e.value/Z.value*100}let fi=w(null),pi=w(!1);function mi({datapoint:e,seriesIndex:t}){P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t}),fr.value=!1,N.value=null,tr.value=null,rr.value=`pointer`}function Q({datapoint:e,relativeIndex:t,seriesIndex:r,show:i=!1,triggerMode:o=`pointer`}){P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:r}),rr.value=o,tr.value=t,fi.value={datapoint:e,seriesIndex:r,config:P.value,series:H.value},fr.value=i,N.value=t;let s=``,l=L.value.tooltip.customFormat;if(pi.value=!1,a(l))try{let t=l({seriesIndex:r,datapoint:e,series:H.value,config:P.value});typeof t==`string`&&(pr.value=t,pi.value=!0)}catch{console.warn(`Custom format cannot be applied.`),pi.value=!1}pi.value||(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/>${Ln.pattern?`<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${M.value}_${r})"/>`:``}</svg>`,s+=`<b>${Di({showVal:L.value.tooltip.showValue,showPercentage:L.value.tooltip.showPercentage,val:`<span>${m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.tooltip.roundingValue}),{datapoint:e,relativeIndex:t,seriesIndex:r})}</span>`,percentage:m(F.value.percentage.formatter,e.proportion*100,n({v:e.proportion*100,s:`%`,r:L.value.tooltip.roundingPercentage}),{datapoint:e,relativeIndex:t,seriesIndex:r}),config:L.value.tooltip})}</b></div>`,L.value.comments.showInTooltip&&e.comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${c(e.color,12.5)}; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${e.color}">${e.comment}</div>`),pr.value=`<div>${s}</div>`)}function hi(e,t){let n=X.value[t];if(n)return{textAnchor:n.textAnchor,x:n.labelX,y:n.labelY};let r=f(e,!0,12);return{textAnchor:r.anchor,x:r.x,y:h(e)}}function gi(e,t,n){let{textAnchor:r,x:i}=hi(e,t),a=Oi(e),o=`
|
|
2
2
|
<tspan
|
|
3
3
|
class="vue-data-ui-datalabel-inline"
|
|
4
4
|
fill="${F.value.percentage.color}"
|