@skdx/web-components-charts 0.45.0 → 0.49.0

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.
Files changed (176) hide show
  1. package/dist/area.cjs +29 -29
  2. package/dist/area.d.cts +2 -1
  3. package/dist/area.d.ts +2 -1
  4. package/dist/area.js +31 -31
  5. package/dist/bar.cjs +29 -29
  6. package/dist/bar.d.cts +2 -1
  7. package/dist/bar.d.ts +2 -1
  8. package/dist/bar.js +33 -33
  9. package/dist/boxplot.cjs +35 -35
  10. package/dist/boxplot.d.cts +2 -1
  11. package/dist/boxplot.d.ts +2 -1
  12. package/dist/boxplot.js +38 -38
  13. package/dist/bubble.cjs +39 -39
  14. package/dist/bubble.d.cts +2 -1
  15. package/dist/bubble.d.ts +2 -1
  16. package/dist/bubble.js +38 -38
  17. package/dist/bullet.cjs +38 -38
  18. package/dist/bullet.d.cts +2 -1
  19. package/dist/bullet.d.ts +2 -1
  20. package/dist/bullet.js +40 -40
  21. package/dist/bump.cjs +37 -37
  22. package/dist/bump.d.cts +2 -1
  23. package/dist/bump.d.ts +2 -1
  24. package/dist/bump.js +37 -37
  25. package/dist/candlestick.cjs +34 -34
  26. package/dist/candlestick.d.cts +2 -1
  27. package/dist/candlestick.d.ts +2 -1
  28. package/dist/candlestick.js +35 -35
  29. package/dist/chord.cjs +37 -37
  30. package/dist/chord.d.cts +2 -1
  31. package/dist/chord.d.ts +2 -1
  32. package/dist/chord.js +39 -39
  33. package/dist/circle-packing.cjs +37 -37
  34. package/dist/circle-packing.d.cts +2 -1
  35. package/dist/circle-packing.d.ts +2 -1
  36. package/dist/circle-packing.js +37 -37
  37. package/dist/combo.cjs +29 -29
  38. package/dist/combo.d.cts +2 -1
  39. package/dist/combo.d.ts +2 -1
  40. package/dist/combo.js +33 -33
  41. package/dist/contracts.json +17886 -0
  42. package/dist/dumbbell.cjs +40 -40
  43. package/dist/dumbbell.d.cts +2 -1
  44. package/dist/dumbbell.d.ts +2 -1
  45. package/dist/dumbbell.js +39 -39
  46. package/dist/funnel.cjs +38 -38
  47. package/dist/funnel.d.cts +2 -1
  48. package/dist/funnel.d.ts +2 -1
  49. package/dist/funnel.js +38 -38
  50. package/dist/gantt.cjs +37 -37
  51. package/dist/gantt.d.cts +2 -1
  52. package/dist/gantt.d.ts +2 -1
  53. package/dist/gantt.js +40 -40
  54. package/dist/gauge.cjs +36 -36
  55. package/dist/gauge.d.cts +2 -1
  56. package/dist/gauge.d.ts +2 -1
  57. package/dist/gauge.js +35 -35
  58. package/dist/heatmap.cjs +38 -38
  59. package/dist/heatmap.d.cts +2 -1
  60. package/dist/heatmap.d.ts +2 -1
  61. package/dist/heatmap.js +39 -39
  62. package/dist/histogram.cjs +30 -30
  63. package/dist/histogram.d.cts +2 -1
  64. package/dist/histogram.d.ts +2 -1
  65. package/dist/histogram.js +34 -34
  66. package/dist/icicle.cjs +40 -40
  67. package/dist/icicle.d.cts +2 -1
  68. package/dist/icicle.d.ts +2 -1
  69. package/dist/icicle.js +40 -40
  70. package/dist/{index-H-_fLjtt.d.cts → index-BkR4iVqI.d.ts} +11 -1071
  71. package/dist/{index-H-_fLjtt.d.ts → index-DjnBT-5R.d.cts} +11 -1071
  72. package/dist/index.cjs +37 -37
  73. package/dist/index.d.cts +24 -3
  74. package/dist/index.d.ts +24 -3
  75. package/dist/index.js +38 -38
  76. package/dist/line.cjs +29 -29
  77. package/dist/line.d.cts +2 -1
  78. package/dist/line.d.ts +2 -1
  79. package/dist/line.js +31 -31
  80. package/dist/linear-gauge.cjs +33 -33
  81. package/dist/linear-gauge.d.cts +2 -1
  82. package/dist/linear-gauge.d.ts +2 -1
  83. package/dist/linear-gauge.js +40 -40
  84. package/dist/map.cjs +39 -39
  85. package/dist/map.d.cts +2 -1
  86. package/dist/map.d.ts +2 -1
  87. package/dist/map.js +37 -37
  88. package/dist/marimekko.cjs +40 -40
  89. package/dist/marimekko.d.cts +2 -1
  90. package/dist/marimekko.d.ts +2 -1
  91. package/dist/marimekko.js +38 -38
  92. package/dist/network.cjs +38 -38
  93. package/dist/network.d.cts +2 -1
  94. package/dist/network.d.ts +2 -1
  95. package/dist/network.js +39 -39
  96. package/dist/organization.cjs +38 -38
  97. package/dist/organization.d.cts +2 -1
  98. package/dist/organization.d.ts +2 -1
  99. package/dist/organization.js +38 -38
  100. package/dist/parallel.cjs +38 -38
  101. package/dist/parallel.d.cts +2 -1
  102. package/dist/parallel.d.ts +2 -1
  103. package/dist/parallel.js +40 -40
  104. package/dist/pareto.cjs +25 -25
  105. package/dist/pareto.d.cts +2 -1
  106. package/dist/pareto.d.ts +2 -1
  107. package/dist/pareto.js +24 -24
  108. package/dist/pie.cjs +38 -38
  109. package/dist/pie.d.cts +2 -1
  110. package/dist/pie.d.ts +2 -1
  111. package/dist/pie.js +38 -38
  112. package/dist/polar-area.cjs +38 -38
  113. package/dist/polar-area.d.cts +2 -1
  114. package/dist/polar-area.d.ts +2 -1
  115. package/dist/polar-area.js +40 -40
  116. package/dist/portable-runtime.js +1 -0
  117. package/dist/portable.cjs +1 -0
  118. package/dist/portable.d.cts +25 -0
  119. package/dist/portable.d.ts +25 -0
  120. package/dist/portable.js +1 -0
  121. package/dist/radar.cjs +39 -39
  122. package/dist/radar.d.cts +2 -1
  123. package/dist/radar.d.ts +2 -1
  124. package/dist/radar.js +37 -37
  125. package/dist/radial.cjs +36 -36
  126. package/dist/radial.d.cts +2 -1
  127. package/dist/radial.d.ts +2 -1
  128. package/dist/radial.js +37 -37
  129. package/dist/range.cjs +27 -27
  130. package/dist/range.d.cts +2 -1
  131. package/dist/range.d.ts +2 -1
  132. package/dist/range.js +27 -27
  133. package/dist/sankey.cjs +38 -38
  134. package/dist/sankey.d.cts +2 -1
  135. package/dist/sankey.d.ts +2 -1
  136. package/dist/sankey.js +36 -36
  137. package/dist/scatter.cjs +40 -40
  138. package/dist/scatter.d.cts +2 -1
  139. package/dist/scatter.d.ts +2 -1
  140. package/dist/scatter.js +39 -39
  141. package/dist/sparkline.cjs +36 -36
  142. package/dist/sparkline.d.cts +2 -1
  143. package/dist/sparkline.d.ts +2 -1
  144. package/dist/sparkline.js +37 -37
  145. package/dist/sunburst.cjs +37 -37
  146. package/dist/sunburst.d.cts +2 -1
  147. package/dist/sunburst.d.ts +2 -1
  148. package/dist/sunburst.js +40 -40
  149. package/dist/swarm.cjs +40 -40
  150. package/dist/swarm.d.cts +2 -1
  151. package/dist/swarm.d.ts +2 -1
  152. package/dist/swarm.js +39 -39
  153. package/dist/timeline.cjs +38 -38
  154. package/dist/timeline.d.cts +2 -1
  155. package/dist/timeline.d.ts +2 -1
  156. package/dist/timeline.js +40 -40
  157. package/dist/tree.cjs +38 -38
  158. package/dist/tree.d.cts +2 -1
  159. package/dist/tree.d.ts +2 -1
  160. package/dist/tree.js +38 -38
  161. package/dist/treemap.cjs +40 -40
  162. package/dist/treemap.d.cts +2 -1
  163. package/dist/treemap.d.ts +2 -1
  164. package/dist/treemap.js +38 -38
  165. package/dist/types-5xXhTghj.d.cts +1168 -0
  166. package/dist/types-5xXhTghj.d.ts +1168 -0
  167. package/dist/waffle.cjs +40 -40
  168. package/dist/waffle.d.cts +2 -1
  169. package/dist/waffle.d.ts +2 -1
  170. package/dist/waffle.js +39 -39
  171. package/dist/waterfall.cjs +37 -37
  172. package/dist/waterfall.d.cts +2 -1
  173. package/dist/waterfall.d.ts +2 -1
  174. package/dist/waterfall.js +38 -38
  175. package/dist/wrapper-api.json +1849 -0
  176. package/package.json +9 -5
@@ -0,0 +1 @@
1
+ "use strict";var Rt=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Gn=Object.getOwnPropertyNames;var Un=Object.prototype.hasOwnProperty;var Zn=(e,t)=>{for(var n in t)Rt(e,n,{get:t[n],enumerable:!0})},qn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Gn(t))!Un.call(e,i)&&i!==n&&Rt(e,i,{get:()=>t[i],enumerable:!(o=Wn(t,i))||o.enumerable});return e};var Kn=e=>qn(Rt({},"__esModule",{value:!0}),e);var Ir={};Zn(Ir,{renderChartSvg:()=>Cr});module.exports=Kn(Ir);var on=e=>Number(e.toPrecision(12)),Xn,an=e=>(Xn??(Xn=new Intl.NumberFormat)).format(on(e)),Yn=e=>{let t=Math.round(Math.abs(e)),n=e<0?"-":"",o=Math.floor(t/3600),i=Math.floor(t%3600/60),s=a=>String(a).padStart(2,"0");return o>0?`${n}${o}h ${s(i)}m`:i>0?`${n}${i}m ${s(t%60)}s`:`${n}${t}s`};function ce(e){if(e===void 0)return an;if(typeof e=="function")return e;let{style:t,locale:n,digits:o,unit:i="",timeZone:s}=e,a=u=>i?p=>u(p)+i:u,d=u=>o===void 0?u===void 0?{}:{maximumFractionDigits:u}:{minimumFractionDigits:o,maximumFractionDigits:o},f=u=>{let p=new Intl.NumberFormat(n,u);return a(x=>p.format(on(x)))},l=u=>{let p=new Intl.DateTimeFormat(n,s?{...u,timeZone:s}:u);return x=>p.format(x)};switch(t){case"integer":return f({maximumFractionDigits:0});case"decimal":return f(d(2));case"percent":return f({style:"percent",...d(0)});case"currency":return f({style:"currency",currency:e.currency??"USD",...d()});case"compact":return f({notation:"compact",...d(1)});case"scientific":return f({notation:"scientific",...d(2)});case"date":return l({dateStyle:"medium"});case"time":return l({timeStyle:"short"});case"datetime":return l({dateStyle:"medium",timeStyle:"short"});case"duration":return a(Yn)}}function at(e,t){if(typeof e=="string")return e;let n=e instanceof Date?e.getTime():e;return t?ce(t)(n):e instanceof Date?new Intl.DateTimeFormat().format(e):an(n)}var de=e=>{if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Number(e);return Number.isFinite(t)&&e.trim()!==""?t:Date.parse(e)};function ve([e,t],[n,o]){let i=t-e;return s=>i===0?n:n+(s-e)/i*(o-n)}function ge(e,t,n=5){if(e===t)return[e];let o=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(o)),s=o/i,a=(s<1.5?1:s<3.5?2:s<7.5?5:10)*i,d=Math.floor(e/a)*a,f=Math.ceil(t/a)*a,l=[];for(let u=d;u<=f+a/2;u+=a)l.push(ln(u));return l}function sn(e,[t,n],o=.2){let i=e===0?0:(n-t)/e,s=i*(1-Math.max(0,Math.min(.9,o)));return{step:i,bandwidth:s,start:a=>t+a*i+(i-s)/2,center:a=>t+(a+.5)*i}}var ln=e=>Number(e.toPrecision(12)),h=e=>Number(e.toFixed(2)),v=e=>typeof e=="number"&&Number.isFinite(e),fe=e=>e.filter(v);function he(e){let t=1/0,n=-1/0;for(let o of e)v(o)&&(o<t&&(t=o),o>n&&(n=o));return t===1/0?[0,0]:[t,n]}function ye(e,t="linear"){if(e.length===0)return"";let n=e[0];if(t==="step"||t==="stepBefore"||t==="stepAfter"){let l=`M${n.x} ${n.y}`;for(let u=1;u<e.length;u++){let p=e[u-1],x=e[u];t==="stepAfter"?l+=`H${x.x}V${x.y}`:t==="stepBefore"?l+=`V${x.y}H${x.x}`:l+=`H${h((p.x+x.x)/2)}V${x.y}H${x.x}`}return l}if(t==="linear"||e.length<3)return`M${e.map(l=>`${l.x} ${l.y}`).join("L")}`;let o=e.length,i=e.slice(1).map((l,u)=>l.x-e[u].x),s=e.slice(1).map((l,u)=>l.y-e[u].y),a=i.map((l,u)=>l===0?0:s[u]/l),d=[a[0]];for(let l=1;l<o-1;l++){let u=a[l-1],p=a[l];d.push(u*p<=0?0:(u+p)/2)}d.push(a[o-2]);for(let l=0;l<o-1;l++){let u=a[l];if(u===0){d[l]=0,d[l+1]=0;continue}let p=d[l]/u,x=d[l+1]/u,S=Math.hypot(p,x);S>3&&(d[l]=3*p*u/S,d[l+1]=3*x*u/S)}let f=`M${n.x} ${n.y}`;for(let l=0;l<o-1;l++){let u=e[l],p=e[l+1],x=i[l]/3;f+=`C${h(u.x+x)} ${h(u.y+x*d[l])} ${h(p.x-x)} ${h(p.y-x*d[l+1])} ${p.x} ${p.y}`}return f}var Ee=1e3,De=60*Ee,Be=60*De,je=24*Be,Jn=[Ee,5*Ee,15*Ee,30*Ee,De,5*De,15*De,30*De,Be,3*Be,6*Be,12*Be,je,2*je,7*je,14*je];function cn(e,t,n=6){if(!(t>e))return[e];let o=t-e,i=Jn.find(p=>o/p<=n),s=[];if(i!==void 0){for(let p=Math.ceil(e/i)*i;p<=t;p+=i)s.push(p);return s.length?s:[e,t]}let a=o/(30*je),d=[1,2,3,6,12,24,60,120].find(p=>a/p<=n)??240,f=new Date(e),l=f.getUTCFullYear(),u=Math.ceil((f.getUTCMonth()+(f.getUTCDate()>1?1:0))/d)*d;for(let p=Date.UTC(l,u,1);p<=t;)s.push(p),u+=d,u>=12&&(l+=Math.floor(u/12),u%=12),p=Date.UTC(l,u,1);return s.length?s:[e,t]}function dn(e,t){let n=Math.floor(Math.log10(e)),o=Math.ceil(Math.log10(t)),i=o-n<=1?[1,2,5]:[1],s=[];for(let a=n;a<=o;a++)for(let d of i)s.push(ln(d*10**a));return s.filter(a=>a>=e/1.0001&&a<=t*1.0001)}function it(e,t={}){if(t.thresholds&&t.thresholds.length>=2)return[...t.thresholds].filter(Number.isFinite).sort((f,l)=>f-l);let[n,o]=t.domain??he(e),i=Math.max(1,e.length),s=Math.max(1,t.bins??Math.ceil(Math.log2(i)+1)),a=t.binWidth??(o>n?(o-n)/s:1),d=o>n?Math.max(1,Math.ceil((o-n)/a-1e-9)):1;return Array.from({length:d+1},(f,l)=>Number((n+l*a).toPrecision(12)))}function st(e,t){let n=[];for(let s=0;s+1<t.length;s++)n.push({x0:t[s],x1:t[s+1],count:0});if(n.length===0)return n;let o=t[0],i=t[t.length-1];for(let s of fe(e)){if(s<o||s>i)continue;let a=0,d=n.length-1;for(;a<d;){let f=a+d+1>>1;n[f].x0<=s?a=f:d=f-1}n[a].count++}return n}var fn=["primary","success","warning","danger","neutral"].flatMap(e=>[500,700].map(t=>`var(--skdx-color-${e}-${t})`)).sort((e,t)=>Number(e.endsWith("700)"))-Number(t.endsWith("700)"))),H={axis:"var(--skdx-color-border-strong)",grid:"var(--skdx-color-border-subtle)",label:"var(--skdx-color-text-muted)",focus:"var(--skdx-color-focus-ring)",positive:"var(--skdx-color-success-500)",negative:"var(--skdx-color-danger-500)",fontFamily:"var(--skdx-font-family)",fontSize:"var(--skdx-font-size-xs)"},Lt=(e="neutral")=>e==="neutral"?H.axis:`var(--skdx-color-${e}-500)`,Vt=(e="neutral")=>e==="neutral"?H.label:e==="primary"?"var(--skdx-color-text-accent)":`var(--skdx-color-text-${e})`,hn=(e,t)=>t??fn[e%fn.length];var ee={top:16,right:16,bottom:32,left:48};function un(e,t,n=ee){return{x:n.left,y:n.top,width:Math.max(0,e-n.left-n.right),height:Math.max(0,t-n.top-n.bottom)}}function lt(e){let t=e.legend;if(t)return t===!0?{}:t.enabled===!1?void 0:t}function mn(e){let t=e.tooltip;return t===void 0||t===!0?{enabled:!0}:t===!1?{enabled:!1}:{...t,enabled:t.enabled??!0}}var pn=e=>e.crosshair===!0||mn(e).trigger==="axis",ct=20,Qn=120,xn=e=>{let t=lt(e);return t&&(t.position==="left"||t.position==="right")?t.width??Qn:0},Ce=(e,t=600,n=300)=>({width:(e.width??t)-xn(e),height:(e.height??n)-(lt(e)?.position==="bottom"?ct:0)}),dt=(e,t,n)=>{let o=lt(e);return!o||!(o.position===void 0||o.position==="top")?0:(t?Math.max(1,gn(t,n??Ce(e).width,o)):1)*ct},ae=6.5;function bn(e,t){let n=Array.from(e),o=Math.max(0,Math.floor(t/ae));return n.length<=o?e:o===0?"":`${n.slice(0,o-1).join("")}\u2026`}var _e=(e,t,n)=>n??(e.palette&&e.palette.length>0?e.palette[t%e.palette.length]:hn(t)),ft=(e,t)=>e.hiddenSeries?.includes(t)??!1;function zt(e,t,n=[],o={},i=10,s=8,a=!1){let d=[],f=o.maxItems,l=f!==void 0&&f>=0&&e.length>f?e.slice(0,f):e,u=e.length-l.length,p=o.interactive??!0,x=s,S=i,w=(m,k,M,c)=>{let g=(k?18:4)+m.length*ae;x>s&&(a||x+g>t-8)&&(x=s,S+=ct),k&&d.push({kind:"rect",part:"legend-swatch",x,y:S-5,width:10,height:10,fill:k,opacity:c?.3:void 0,item:M}),d.push({kind:"text",part:"legend-label",x:x+(k?14:0),y:S,text:m,baseline:"middle",fill:c?H.grid:H.label,item:M}),x+=g+12};for(let m of l){let k=n.includes(m.name),M=p?{label:m.name,series:m.name,legend:!0}:void 0;w(o.formatter?.(m.name)??m.name,m.color,M,k)}return u>0&&w(`+${u} more`,void 0,void 0,!1),o.align==="end"?er(d,t):d}function er(e,t){let n=new Map;for(let i of e){let s=i.kind==="rect"?i.y+5:i.y;n.set(s,[...n.get(s)??[],i])}let o=[];for(let i of n.values()){let s=Math.max(...i.map(d=>d.kind==="rect"?d.x+d.width:d.x+d.text.length*ae)),a=t-8-s;for(let d of i)o.push({...d,x:d.x+a})}return o}var gn=(e,t,n={})=>new Set(zt(e,t,[],n).flatMap(o=>o.kind==="text"?[o.y]:[])).size;function Ne(e,t,n,o=[]){let i=lt(e),s=i&&e.direction==="rtl"&&i.align===void 0?{...i,align:"end"}:i,a=mn(e),d=s?.position==="bottom",f=xn(e),l=e.hiddenSeries??[],u=s?f?zt(o,1/0,l,s,10,(s.position==="right"?t:0)+8,!0):zt(o,t,l,s,d?n+10:10):[],p=d?gn(o,t,s):0;return{width:t+f,height:d?n+Math.max(1,p)*ct:n,legendOffset:s?.position==="left"?f:void 0,tooltip:a.enabled,tooltipFormatter:a.formatter,axisTooltipFormatter:a.axisFormatter,tooltipPortal:a.portal,tooltipPlacement:a.placement,tooltipAnchored:a.followPointer===!1?!0:void 0,description:e.description,decorative:e.decorative,animate:e.animate===!0?300:e.animate||void 0,responsive:!!e.responsive,shapes:u}}function yn([e,t],n,o=!1,i){let s=typeof o=="boolean"?{scale:o?"log":"linear"}:o,a=ce(s.format??i),d=s.min??e,f=s.max??t;s.reversed&&(n=[n[1],n[0]]);let l={id:s.id,position:s.position,options:s};if(s.scale==="sqrt"){let m=$=>Math.sign($)*Math.sqrt(Math.abs($)),k=s.nice===!1?[d,f]:ge(d,f,s.ticks),M=s.min??k[0],c=s.max??k[k.length-1],g=ve([m(M),m(c)],n),I=$=>g(m($)),y=ge(M,c,s.ticks).filter($=>$>=M-1e-9&&$<=c+1e-9);return{...l,scale:I,domain:[M,c],format:a,ticks:(y.length>=2?y:[M,c]).map($=>({pos:h(I($)),label:a($)})),zero:h(I(Math.min(Math.max(0,M),c)))}}if(s.scale==="log"){let m=Math.max(d,Number.EPSILON),k=Math.max(f,m),M=dn(m,k),c=[Math.log10(m),Math.log10(k)],g=ve(c,n),I=y=>g(Math.log10(Math.max(y,Number.EPSILON)));return{...l,scale:I,domain:c,format:a,ticks:M.map(y=>({pos:h(I(y)),label:a(y)})),zero:h(n[0])}}let u=ge(d,f,s.ticks),p=[s.min??(s.nice===!1?d:u[0]),s.max??(s.nice===!1?f:u[u.length-1])],x=ve(p,n),S=u.filter(m=>m>=p[0]-1e-9&&m<=p[1]+1e-9),w=(S.length>=2?S:[p[0],p[1]]).map(m=>({pos:h(x(m)),label:a(m)}));return{...l,scale:x,domain:p,format:a,ticks:w,zero:h(x(Math.min(Math.max(0,p[0]),p[1])))}}var kn=([e,t],n)=>Math.max(ee.left,ge(e,t).reduce((o,i)=>Math.max(o,n(i).length),0)*ae+14),Mn=e=>e?.grid!==!1;function ht(e,t){if(e.length<2)return e;let n=e.reduce((i,s)=>Math.max(i,s.label.length),0)*ae+8,o=Math.max(1,Math.ceil(e.length*n/Math.max(1,t)));return o===1?e:e.filter((i,s)=>s%o===0)}var Pt=(e,t,n,o)=>`${e}, ${t}: ${o(n)}`;function ut(e,t,n,o){let i=e.error!==void 0?"error":e.loading?"loading":t?"empty":null;if(!i)return null;let{width:s,height:a}=Ce(e,n,o),d=i==="error"?e.error:i==="loading"?"Loading\u2026":e.emptyMessage??"No data available",f=[];return i==="loading"&&f.push({kind:"rect",part:"skeleton",x:0,y:0,width:s,height:a,fill:"var(--skdx-color-surface-sunken)",rx:8}),f.push({kind:"text",part:`state-${i}`,x:h(s/2),y:h(a/2),text:d,anchor:"middle",baseline:"middle",fill:i==="error"?"var(--skdx-color-text-danger)":H.label}),{...Ne(e,s,a),shapes:f,tooltip:!1}}var Ft=(e,t,n)=>{let o=t.length*ae/2;return e+o>n?"end":e-o<0?"start":"middle"};function Et(e,t={}){let{plot:n,xTicks:o,yTicks:i,baseline:s}=e,a=n.x+n.width,d=n.y+n.height,f=[],l=t.grid??!0,u=(w,m)=>m?{kind:"line",part:"grid",x1:w.pos,x2:w.pos,y1:n.y,y2:d,stroke:H.grid}:{kind:"line",part:"grid",x1:n.x,x2:a,y1:w.pos,y2:w.pos,stroke:H.grid},p=t.x?.tickRotation??0,x=(w,m,k,M)=>p?W(w,m,k,{part:M,anchor:p<0?"end":"start",baseline:"middle",rotate:p}):mt(w,m,k,e.width,{part:M,anchor:Ft(w,k,e.width)}),S=(w,m,k,M,c)=>{for(let g of w)f.push(m==="x"?{kind:"line",part:"tick",x1:g.pos,x2:g.pos,y1:k,y2:h(k+M*c),stroke:H.axis}:{kind:"line",part:"tick",x1:k,x2:h(k+M*c),y1:g.pos,y2:g.pos,stroke:H.axis})};if(t.categoryGrid)for(let w of o)f.push(u(w,!t.horizontal));if(t.horizontal){let w=t.axes??[{ticks:i,position:"bottom",offset:0,label:t.yLabel,...t.y}];if(l)for(let m of i)f.push(u(m,!0));w[0]?.showLine!==!1&&f.push({kind:"line",part:"axis",x1:s,x2:s,y1:n.y,y2:d,stroke:H.axis});for(let m of w){let k=m.position==="top"||m.position==="right",M=h(k?n.y-m.offset:d+m.offset),c=k||m.offset>0;m.showLine&&c&&f.push({kind:"line",part:"axis",x1:n.x,x2:a,y1:M,y2:M,stroke:H.axis}),m.showTicks&&S(m.ticks,"x",M,k?-1:1,m.tickSize??4);let g=h(k?M-8:M+20);for(let I of m.ticks)f.push(k?W(I.pos,g,I.label,{part:"x-label-top",anchor:Ft(I.pos,I.label,e.width)}):x(I.pos,g,I.label,"x-label"));m.label&&f.push(c?W(4,g,m.label,{part:"axis-title",anchor:"start",baseline:k?void 0:"middle"}):W(4,n.y-6,m.label,{part:"axis-title",anchor:"start"}))}t.x?.showLine&&f.push({kind:"line",part:"axis",x1:t.rtl?a:n.x,x2:t.rtl?a:n.x,y1:n.y,y2:d,stroke:H.axis}),t.x?.showTicks&&S(o,"y",t.rtl?a:n.x,t.rtl?1:-1,t.x.tickSize??4);for(let m of o)f.push(t.rtl?W(a+8,m.pos,m.label,{part:"y-label",anchor:"start",baseline:"middle"}):W(n.x-8,m.pos,m.label,{part:"y-label",anchor:"end",baseline:"middle"}))}else{if(l)for(let m of i)f.push(u(m,!1));t.y?.showLine!==!1&&f.push({kind:"line",part:"axis",x1:n.x,x2:a,y1:s,y2:s,stroke:H.axis});let w=t.axes??[{ticks:i,position:"left",offset:0,label:t.yLabel,...t.y},...t.rightTicks?[{ticks:t.rightTicks,position:"right",offset:0,label:t.rightLabel}]:[]];for(let m of w){let k=m.position==="left",M=k?n.x-m.offset:a+m.offset,c=k?"y-label":"y-label-right";m.showLine&&f.push({kind:"line",part:"axis",x1:h(M),x2:h(M),y1:n.y,y2:d,stroke:H.axis}),m.showTicks&&S(m.ticks,"y",h(M),k?-1:1,m.tickSize??4);for(let g of m.ticks)f.push(W(h(k?M-8:M+8),g.pos,g.label,{part:c,anchor:k?"end":"start",baseline:"middle"}));m.label&&f.push(W(h(k?m.offset===0?4:Math.max(4,M-40):m.offset===0?e.width-4:Math.min(e.width-4,M+40)),n.y-6,m.label,{part:"axis-title",anchor:k?"start":"end"}))}t.x?.showTicks&&S(o,"x",d,1,t.x.tickSize??4);for(let m of o)f.push(x(m.pos,d+(p?12:20),m.label,"x-label"))}return t.xLabel&&f.push(W(h(n.x+n.width/2),e.height-4,t.xLabel,{part:"axis-title",anchor:"middle"})),t.horizontal&&t.rightLabel&&f.push(W(e.width-4,n.y-6,t.rightLabel,{part:"axis-title",anchor:"end"})),f}var W=(e,t,n,o={})=>({kind:"text",part:"label",x:e,y:t,text:n,fill:H.label,...o});function mt(e,t,n,o,i={}){let s=Math.max(4,Math.min(o-4,e)),a=i.anchor??"start",d=a==="middle"?2*Math.min(s-4,o-s-4):a==="end"?s-4:o-s-4,f=bn(n,d);return{kind:"text",part:"label",x:s,y:t,fill:H.label,...i,text:f,title:f===n?i.title:n}}function pt(e){return e.flatMap(t=>{if(t.kind!=="text"||t.fill!=="var(--skdx-color-text-on-accent)"&&t.part!=="reference-label")return[t];let n=t.text.length*ae+8,o=t.x-(t.anchor==="middle"?n/2:t.anchor==="end"?n-4:4),i=t.y-(t.baseline==="hanging"?2:t.baseline==="middle"?9:14);return[{kind:"rect",part:"label-background",x:o,y:i,width:n,height:18,rx:8,fill:"var(--skdx-color-surface-raised)"},{...t,fill:t.part==="reference-label"?t.fill:"var(--skdx-color-text-default)"}]})}var He=(e,t,n,o,i,s)=>({kind:"circle",part:"point",cx:e,cy:t,r:n,fill:o,title:i,item:s});function Dt(e,t){let n=[],{plot:o}=t,i=o.x+o.width,s=o.y+o.height,a=f=>Math.max(o.x,Math.min(i,f)),d=f=>Math.max(o.y,Math.min(s,f));for(let f of e??[]){let l=f.color??Lt(f.variant),u=f.color??Vt(f.variant),p={part:"reference-label",fill:u},x=t.horizontal===!0;if("y"in f){let S=h(t.y(f.y,f.axis??"left"));if(x){let w=a(S);n.push(...Sn(w,o.y,s,l,f.label,p))}else{let w=d(S);n.push(...wn(o.x,i,w,l,f.label,p))}}else if("x"in f){let S=t.x(f.x);if(S===void 0)continue;x?n.push(...wn(o.x,i,d(h(S)),l,f.label,p)):n.push(...Sn(a(h(S)),o.y,s,l,f.label,p))}else if("y1"in f){let S=h(t.y(f.y1,f.axis??"left")),w=h(t.y(f.y2,f.axis??"left"));x?n.push(...vn(a(Math.min(S,w)),a(Math.max(S,w)),o,l,f.label,u)):n.push(...$n(d(Math.min(S,w)),d(Math.max(S,w)),o,l,f.label,u))}else{let S=t.x(f.x1),w=t.x(f.x2);if(S===void 0||w===void 0)continue;let m=h(Math.min(S,w)),k=h(Math.max(S,w));x?n.push(...$n(d(m),d(k),o,l,f.label,u)):n.push(...vn(a(m),a(k),o,l,f.label,u))}}return n}function wn(e,t,n,o,i,s){let a={kind:"line",part:"reference",x1:e,x2:t,y1:n,y2:n,stroke:o,dash:"6 4",strokeWidth:1.5,title:i};return i?[a,W(t-4,n-5,i,{...s,anchor:"end"})]:[a]}function Sn(e,t,n,o,i,s){let a={kind:"line",part:"reference",x1:e,x2:e,y1:t,y2:n,stroke:o,dash:"6 4",strokeWidth:1.5,title:i};return i?[a,W(e+4,t+10,i,{...s,anchor:"start"})]:[a]}function $n(e,t,n,o,i,s){let a={kind:"rect",part:"reference-area",x:n.x,y:e,width:n.width,height:h(Math.max(0,t-e)),fill:o,opacity:.12,title:i};return i?[a,W(n.x+n.width-4,e+12,i,{part:"reference-label",fill:s,anchor:"end"})]:[a]}function vn(e,t,n,o,i,s){let a={kind:"rect",part:"reference-area",x:e,y:n.y,width:h(Math.max(0,t-e)),height:n.height,fill:o,opacity:.12,title:i};return i?[a,W(e+4,n.y+12,i,{part:"reference-label",fill:s,anchor:"start"})]:[a]}function Cn(e,t){let n=[],{plot:o}=t,i=o.x+o.width,s=o.y+o.height;for(let a of e??[]){let d=a.color??Lt(a.variant),f=a.color??Vt(a.variant),l=(w,m,k)=>{let M=t.x(w);if(M===void 0)return;let c=t.y(m,k??"left");return t.horizontal?{x:h(c),y:h(M)}:{x:h(M),y:h(c)}},u=a.id??a.label,p=w=>({label:w,id:u,name:a.label});if(a.type==="line"||a.type==="band"){let{type:w,id:m,...k}=a;n.push(...Dt([k],t));continue}if(a.type==="rect"){let w=l(a.x1,a.y1,a.axis),m=l(a.x2,a.y2,a.axis);if(!w||!m)continue;let k=Math.max(o.x,Math.min(w.x,m.x)),M=Math.max(o.y,Math.min(w.y,m.y)),c=a.label??"";n.push({kind:"rect",part:"annotation-rect",x:h(k),y:h(M),width:h(Math.max(0,Math.min(i,Math.max(w.x,m.x))-k)),height:h(Math.max(0,Math.min(s,Math.max(w.y,m.y))-M)),fill:d,opacity:.12,stroke:d,title:c||void 0,item:c?p(c):void 0}),a.label&&n.push(W(h(k+4),h(M+12),a.label,{part:"annotation-label",fill:f}));continue}let x=l(a.x,a.y,a.axis);if(!x)continue;if(a.type==="text"){n.push(W(x.x,x.y,a.text,{part:"annotation-text",fill:f,anchor:"middle",baseline:"middle",title:a.label}));continue}let S=a.label??`${String(a.x)}, ${a.y}`;if(n.push({kind:"circle",part:"annotation-point",cx:x.x,cy:x.y,r:5,fill:d,stroke:"var(--skdx-color-surface-default)",title:S,item:p(S)}),a.type==="callout"&&a.label){let[w,m]=a.offset??[16,-16],k=h(Math.max(o.x,Math.min(i,x.x+w))),M=h(Math.max(o.y,Math.min(s,x.y+m)));n.push({kind:"line",part:"annotation-leader",x1:x.x,y1:x.y,x2:k,y2:M,stroke:d},W(k,M,a.label,{part:"annotation-label",fill:f,anchor:w>=0?"start":"end",baseline:"middle"}))}}return n}var Bt=2e3;function tr(e){if(e!=="none")return e===void 0||e==="auto"?{strategy:"lttb",threshold:Bt}:typeof e=="string"?{strategy:e,threshold:Bt}:{strategy:e.strategy,threshold:e.threshold??Bt}}function nr(e,t){let n=e.length;if(t>=n||t<3)return e.map((d,f)=>f);let o=[0],i=[],s=(n-2)/(t-2),a=0;for(let d=0;d<t-2;d++){let f=Math.floor((d+1)*s)+1,l=Math.min(n-1,Math.floor((d+2)*s)+1),u=0,p=0,x=0;for(let g=f;g<l;g++){let I=e[g];v(I)&&(u+=g,p+=I,x++)}u=x?u/x:(f+l)/2,p=x?p/x:0;let S=Math.floor(d*s)+1,w=Math.min(n-1,Math.floor((d+1)*s)+1),m=e[a],k=v(m)?m:0,M=-1,c=-1;for(let g=S;g<w;g++){let I=e[g];if(!v(I)){i.push(g);continue}let y=Math.abs((a-u)*(I-k)-(a-g)*(p-k));y>c&&(c=y,M=g)}M<0&&(M=S),o.push(M),a=M}return o.push(n-1),i.length?[...new Set([...o,...i])].sort((d,f)=>d-f):o}function rr(e,t){let n=e.length,o=Math.max(1,Math.floor(t/2));if(o*2>=n)return e.map((a,d)=>d);let i=[],s=n/o;for(let a=0;a<o;a++){let d=Math.floor(a*s),f=a===o-1?n:Math.floor((a+1)*s),l=-1,u=-1;for(let p=d;p<f;p++){let x=e[p];if(!v(x)){i.push(p);continue}(l<0||x<e[l])&&(l=p),(u<0||x>e[u])&&(u=p)}l>=0&&i.push(Math.min(l,u)),u>=0&&u!==l&&i.push(Math.max(l,u))}return[...new Set(i)].sort((a,d)=>a-d)}function or(e,t){let n=e.length,o=Math.max(1,Math.floor(t/4));if(o*4>=n)return e.map((a,d)=>d);let i=[],s=n/o;for(let a=0;a<o;a++){let d=Math.floor(a*s),f=a===o-1?n:Math.floor((a+1)*s),l=-1,u=-1,p=-1,x=-1;for(let S=d;S<f;S++){let w=e[S];if(!v(w)){i.push(S);continue}p<0&&(p=S),x=S,(l<0||w<e[l])&&(l=S),(u<0||w>e[u])&&(u=S)}for(let S of[p,l,u,x])S>=0&&i.push(S)}return[...new Set(i)].sort((a,d)=>a-d)}function In(e,t,n){let o=tr(n);if(!o||t<=o.threshold||e.length===0)return;let i=o.strategy==="minmax"?rr:o.strategy==="m4"?or:nr,s=new Set;for(let a of e)for(let d of i(a.slice(0,t),o.threshold))s.add(d);return[...s].sort((a,d)=>a-d)}function An(e,t,n,o,i,s,a,d){if(o==="circle")return{...He(e,t,n,i,s,a),part:d};let f=o==="square"?`M${h(e-n)} ${h(t-n)}h${h(2*n)}v${h(2*n)}h${h(-2*n)}Z`:o==="diamond"?`M${h(e)} ${h(t-n*1.3)}L${h(e+n*1.3)} ${h(t)}L${h(e)} ${h(t+n*1.3)}L${h(e-n*1.3)} ${h(t)}Z`:`M${h(e)} ${h(t-n*1.2)}L${h(e+n*1.15)} ${h(t+n*.9)}L${h(e-n*1.15)} ${h(t+n*.9)}Z`;return{kind:"path",part:d,d:f,fill:i,title:s,item:a}}var ar=e=>{let t=0;return e.map(n=>v(n)?t+=n:null)},ir=e=>e.map((t,n)=>{let o=e[n-1];return n>0&&v(t)&&v(o)?t-o:null}),sr=e=>e.map((t,n)=>{let o=e[n-1];return n>0&&v(t)&&v(o)&&o!==0?(t-o)/Math.abs(o):null});function lr(e,t){let n=Math.max(1,Math.floor(t));return e.map((o,i)=>{if(i<n-1)return null;let s=0;for(let a=i-n+1;a<=i;a++){let d=e[a];if(!v(d))return null;s+=d}return s/n})}function cr(e,t="max"){let n=0;for(let o of e)v(o)&&(n=t==="sum"?n+o:Math.max(n,o));return e.map(o=>v(o)?n===0?0:o/n:null)}function dr(e,t="desc"){let n=e.filter(v).sort((o,i)=>t==="asc"?o-i:i-o);return e.map(o=>v(o)?n.indexOf(o)+1:null)}var fr=(e,t=-1/0,n=1/0)=>e.map(o=>v(o)&&o>=t&&o<=n?o:null),hr=(e,t="asc")=>[...e].sort((n,o)=>v(n)?v(o)?t==="asc"?n-o:o-n:-1:v(o)?1:0);function ur(e,t,n="sum"){let o=Math.max(1,Math.floor(t)),i=[];for(let s=0;s<e.length;s+=o){let a=e.slice(s,s+o).filter(v);if(a.length===0){i.push(null);continue}let d=a.reduce((f,l)=>f+l,0);i.push(n==="sum"?d:n==="mean"?d/a.length:n==="min"?Math.min(...a):Math.max(...a))}return i}function mr(e,t={}){let n=e.filter(v),o=it(n,t);return{edges:o,counts:st(n,o).map(i=>i.count)}}function jt(e,t){let n=[...e];for(let o of t??[])switch(o.type){case"cumulative":n=ar(n);break;case"difference":n=ir(n);break;case"percentageChange":n=sr(n);break;case"movingAverage":n=lr(n,o.window);break;case"normalize":n=cr(n,o.to);break;case"rank":n=dr(n,o.order);break;case"filter":n=fr(n,o.min,o.max);break;case"sort":n=hr(n,o.order);break;case"aggregate":n=ur(n,o.every,o.method);break;case"bin":n=mr(n,o).counts;break}return n}var pr=100,xr=2e3,On=32,Tn=28,bt=e=>e.position==="right"||e.position==="top";function br(e){let n=(e.yAxis===void 0?[]:Array.isArray(e.yAxis)?e.yAxis:[e.yAxis]).map((i,s)=>({...i,id:i.id??(s===0?"left":s===1?"right":String(s)),position:i.position??(s===1?"right":"left")}));n.length===0&&n.push({id:"left",position:"left"});let o=n.some(i=>i.id==="right"||bt(i));return e.rightAxis?n.push({...e.rightAxis,id:"right",position:"right"}):!o&&e.series.some(i=>i.axis==="right")&&n.push({id:"right",position:"right"}),n}function Ln(e,t){let n=e[0]?.id;return t===void 0||t==="left"?n:t==="right"?(e.find(o=>o.id==="right")??e.find(bt))?.id:e.find(o=>o.id===t)?.id}var xt=e=>e.kind==="bar"||e.kind==="range"&&e.style==="bar";function We(e,t){let n=ce(e.format),{series:o,categories:i,issues:s,axes:a}=yr(e,t,n),d=e.direction==="rtl",f=e.baseline??0,l=Math.max(i.length,...o.map(r=>Math.max(r.data.length,r.low.length))),u=o.every(r=>fe(r.data).length===0&&fe(r.high).length===0),p=ut(e,u);if(p)return{...p,issues:s};let x=e.xAxis?.type??"category",S=x!=="category"&&i.length>0&&i.every(r=>typeof r!="string"||x==="time"&&v(de(r))),w=S?i.map(de):[],[m,k]=he(w),M=e.xAxis?.format??(x==="time"?{style:k-m<2*864e5?"time":"date"}:void 0),c=Array.from({length:l},(r,b)=>{let C=i[b];return C===void 0?String(b+1):at(C,M)}),g=gr(e.zoom,l),I=Array.from({length:g.end-g.start},(r,b)=>g.start+b),y=e.orientation==="horizontal",z=o.map(r=>({...r,hidden:r.hidden||y&&!xt(r)})).filter(r=>!r.hidden),P=z.some(r=>!xt(r))?In(z.filter(r=>!xt(r)).map(r=>I.map(b=>(r.kind==="range"?r.high[b]:r.data[b])??null)),I.length,e.sampling):void 0,L=P?P.map(r=>I[r]):I,U=e.stacked==="percent"||e.stackOffset==="expand",Z=e.stackOffset??"zero",Q=new Map,J=new Map,ue=new Map;for(let r of z)r.stack!==void 0&&r.kind!=="range"&&ue.set(r.stack,[...ue.get(r.stack)??[],r]);for(let r of ue.values()){let b=new Array(l).fill(f),C=new Array(l).fill(f),D=new Array(l).fill(0);if(U)for(let F of r)F.data.forEach((R,B)=>{v(R)&&(D[B]=D[B]+Math.abs(R))});for(let F of r){let R=[],B=[];for(let V=0;V<l;V++){let E=F.data[V];if(!v(E)){R.push(null),B.push(null);continue}let O=D[V],A=U?O>0?E/O:0:E,j=A>=0?b:C;R.push(j[V]),j[V]=j[V]+A,B.push(j[V])}Q.set(F,R),J.set(F,B)}if(Z==="silhouette"||Z==="wiggle"){let F=new Array(l).fill(0);if(Z==="silhouette")for(let R=0;R<l;R++)F[R]=-(b[R]-f)/2;else{let R=0;for(let B=0;B<l;B++){let V=r.length,E=0;for(let A=0;A<V;A++){let j=r[A],N=j.data[B],G=j.data[B-1],X=B>0&&v(N)&&v(G)?N-G:0;E+=(V-A-.5)*X}let O=b[B]-f;R=B===0?-O/2:R-(O>0?E/Math.max(1,V):0),F[B]=R}}for(let R of r){let B=Q.get(R),V=J.get(R);for(let E=0;E<l;E++){let O=B[E],A=V[E];v(O)&&(B[E]=O+F[E]),v(A)&&(V[E]=A+F[E])}}}}let Ze=r=>r.kind==="range"?{from:r.low,to:r.high}:{from:Q.get(r)??new Array(l).fill(f),to:J.get(r)??r.data},ke=r=>{let b=[],C=!1;for(let R of z){if(R.axis!==r)continue;let{from:B,to:V}=Ze(R);for(let E of L){let O=V[E];if(v(O)&&b.push(O),R.kind==="range"||R.stack!==void 0){let A=B[E];v(A)&&b.push(A)}}if(R.errors)for(let E of L){let O=Rn(R.data[E],R.errors[E]);O&&b.push(O[0],O[1])}(R.kind==="bar"||R.kind==="area")&&Z==="zero"&&(C=!0)}let[D,F]=he(b);return C?[Math.min(f,D),Math.max(f,F)]:[D,F]},{width:me,height:Ie}=Ce(e),qe=e.brush?On+Tn:0,Ke=L.reduce((r,b)=>Math.max(r,c[b].length),0)*ae,Ae=U?{style:"percent"}:void 0,T=r=>{if(r.scale==="log")return ee.left;let[b,C]=ke(r.id),D=ce(r.format??Ae??e.format);return kn([r.min??b,r.max??C],D)+(r.showTicks?r.tickSize??4:0)},q=r=>y?bt(r)?"top":"bottom":bt(r)!==d?"right":"left",te=r=>y?24+(r.showTicks?r.tickSize??4:0):T(r),xe=new Set(z.map(r=>r.axis)),Y=a.filter(r=>xe.has(r.id)||a.length>1),K=new Map,ne={left:0,right:0,top:0,bottom:0};for(let r of Y){let b=q(r);K.set(r.id,ne[b]),ne[b]+=te(r)}let Oe=Y.find(r=>q(r)==="bottom"),re=o.map(r=>({name:r.name,color:r.color})),Xe={top:ee.top+dt(e,re,me)+(a.some(r=>r.label)?12:0)+ne.top,right:y?d?Math.max(ee.left,Ke+16):ee.right:Math.max(ee.right,ne.right),bottom:ee.bottom+qe+(e.xAxis?.label?14:0)+(e.xAxis?.tickRotation?24:0)+ne.bottom-(Oe?te(Oe):0),left:y?d?ee.right:Math.max(ee.left,Ke+16):Math.max(ee.left,ne.left)},_=un(me,Ie,Xe),oe=y?d?[_.x+_.width,_.x]:[_.x,_.x+_.width]:[_.y+_.height,_.y],Me=y?[_.y,_.y+_.height]:d?[_.x+_.width,_.x]:[_.x,_.x+_.width],Te=new Map(a.map(r=>[r.id,{...yn(ke(r.id),oe,{format:Ae,...r},e.format),position:q(r),offset:K.get(r.id)??0}])),Nt=a[0]?.id,Ye=Te.get(Nt),yt=r=>Te.get(Ln(a,r)??Nt)??Ye,se=(r,b)=>yt(b).scale(r),Ht=r=>h(r.scale(Math.min(Math.max(f,Math.min(...r.domain)),Math.max(...r.domain)))),Je=sn(L.length,Me,e.barGap),kt=L.map(r=>w[r]),Mt=[...kt].sort((r,b)=>r-b),we=1/0;for(let r=1;r<Mt.length;r++)we=Math.min(we,Mt[r]-Mt[r-1]);let[Se,Re]=he(kt),le=we===1/0?Math.max(1,Math.abs(Re)*.05||1):we/2,Le=ve([Se-le,Re+le],Me),Qe=r=>h(S?Le(kt[r]):Je.center(r)),Wt=S?Math.abs(Le(Se+(we===1/0?le:we))-Le(Se))*.8:Je.bandwidth,Gt=r=>S?Qe(r)-Wt/2:Je.start(r),Bn=S?(x==="time"?cn(Se-le,Re+le):ge(Se-le,Re+le)).filter(r=>r>=Se-le&&r<=Re+le).map(r=>({pos:h(Le(r)),label:at(r,M)})):ht(L.map((r,b)=>({pos:Qe(b),label:c[r]})),y?1/0:_.width/Math.max(.2,Math.abs(Math.cos((e.xAxis?.tickRotation??0)*Math.PI/180)))),wt={...Ne(e,me,Ie,re),plot:_,xTicks:Bn,yTicks:y?ht(Ye.ticks,_.width):Ye.ticks,baseline:Ht(Ye)},jn=a[0],Ut=Et(wt,{horizontal:y,rtl:d,axes:Y.map(r=>{let b=Te.get(r.id);return{ticks:y?ht(b.ticks,_.width):b.ticks,position:b.position,offset:b.offset??0,label:r.label,showLine:r.showLine,showTicks:r.showTicks,tickSize:r.tickSize}}),xLabel:e.xAxis?.label,grid:Mn(jn),categoryGrid:e.xAxis?.grid===!0,x:e.xAxis}),_n=r=>{if(typeof r=="number"&&i.every(C=>typeof C=="string"))return r;let b=typeof r=="string"?r:de(r);for(let C=0;C<l;C++){let D=i[C];if(D!==void 0&&(typeof b=="string"?D===b||c[C]===b:de(D)===b))return C}},Zt={plot:_,horizontal:y,x:r=>{if(S&&(typeof r!="string"||v(de(r))))return Le(de(r));let b=_n(r),C=b===void 0?-1:L.indexOf(b);return C<0?void 0:Je.center(C)},y:(r,b)=>se(r,b)},qt=Dt(e.references,Zt);Ut.push(...qt.filter(r=>r.part!=="reference-label"));let Nn=pt(qt.filter(r=>r.part==="reference-label")),St=[],$t=new Map;for(let r of z){if(!xt(r))continue;let b=r.stack??r,C=St.indexOf(b);C<0&&(C=St.push(b)-1),$t.set(r,C)}let et=Wt/Math.max(1,St.length),pe=Math.min(et,e.barWidth??1/0),Kt=(et-pe)/2,vt=[],tt=[],Ct=[],It=[],At=[],Xt=[],nt=[],rt=r=>yt(r.axis).format,Ot=Math.max(0,e.minBarSize??0),Hn=(r,b,C)=>{let D=Math.abs(b-r);if(D>=Ot)return[Math.min(r,b),D];let R=r+(y?C?1:-1:C?-1:1)*Ot;return[Math.min(r,R),Ot]},Ve=(r,b,C,D)=>({label:D,series:r.name,seriesId:r.id??r.name,category:c[b],index:b,value:C}),Yt=(r,b,C,D)=>{let F=Rn(D,r.errors?.[b]);if(!F)return;let R=h(se(F[0],r.axis)),B=h(se(F[1],r.axis)),V=4,E="var(--skdx-color-text-default)",O=`${r.name}, ${c[b]}: ${rt(r)(F[0])} \u2013 ${rt(r)(F[1])}`;Xt.push(y?{kind:"line",part:"error-bar",x1:R,x2:B,y1:C,y2:C,stroke:E,title:O}:{kind:"line",part:"error-bar",x1:C,x2:C,y1:R,y2:B,stroke:E,title:O},y?{kind:"line",part:"error-cap",x1:R,x2:R,y1:h(C-V),y2:h(C+V),stroke:E}:{kind:"line",part:"error-cap",x1:h(C-V),x2:h(C+V),y1:R,y2:R,stroke:E},y?{kind:"line",part:"error-cap",x1:B,x2:B,y1:h(C-V),y2:h(C+V),stroke:E}:{kind:"line",part:"error-cap",x1:h(C-V),x2:h(C+V),y1:B,y2:B,stroke:E})};for(let r of z){let{from:b,to:C}=Ze(r),D=rt(r),F=L.length<=xr;if(r.kind==="bar"){let O="";L.forEach((A,j)=>{let N=r.data[A],G=b[A],X=C[A];if(!v(N)||!v(G)||!v(X))return;let $e=se(G,r.axis),be=se(X,r.axis),[ze,Pe]=Hn($e,be,X>=G),Fe=Gt(j)+$t.get(r)*et+Kt,Qt=h(y?ze:Fe),en=h(y?Fe:ze),Tt=h(y?Pe:pe),tn=h(y?pe:Pe);if(!F){O+=`M${Qt} ${en}h${Tt}v${tn}h${-Tt}Z`;return}let nn=Pt(r.name,c[A],U?X-G:N,D);if(tt.push({kind:"rect",part:"bar",x:Qt,y:en,width:Tt,height:tn,fill:r.color,rx:e.radius,title:nn,item:Ve(r,A,N,nn)}),Yt(r,A,h(Fe+pe/2),N),e.labels){let rn=D(U?X-G:N);At.push(y?W(h(Math.max($e,be)+4),h(Fe+pe/2),rn,{baseline:"middle"}):W(h(Fe+pe/2),h(Math.min($e,be)-4),rn,{anchor:"middle"}))}}),O&&tt.push({kind:"path",part:"bars",d:O,fill:r.color,title:r.name});continue}if(r.kind==="range"&&r.style==="bar"){L.forEach((O,A)=>{let j=b[O],N=C[O];if(!v(j)||!v(N))return;let G=se(Math.min(j,N),r.axis),X=se(Math.max(j,N),r.axis),$e=Gt(A)+$t.get(r)*et+Kt,be=`${r.name}, ${c[O]}: ${D(Math.min(j,N))} \u2013 ${D(Math.max(j,N))}`,ze=Ve(r,O,N,be),Pe=Math.max(1,Math.abs(X-G));tt.push(y?{kind:"rect",part:"range",x:h(Math.min(G,X)),y:h($e),width:h(Pe),height:h(pe),fill:r.color,rx:e.radius,title:F?be:void 0,item:ze}:{kind:"rect",part:"range",x:h($e),y:h(Math.min(G,X)),width:h(pe),height:h(Pe),fill:r.color,rx:e.radius,title:F?be:void 0,item:ze})});continue}let R=e.nulls==="connect"||e.nulls===void 0&&e.connectNulls,B=[],V=[];L.forEach((O,A)=>{let j=b[O],N=C[O];if(!v(N)||!v(j)){!R&&V.length&&(B.push(V),V=[]);return}V.push({x:Qe(A),y:h(se(N,r.axis)),y0:h(se(j,r.axis)),i:O})}),V.length&&B.push(V);let E=r.markers??L.length<=pr;for(let O of B){let A=ye(O,r.curve);if(r.kind==="range"&&r.style==="line"){Ct.push({kind:"path",part:"range-high",d:A,stroke:r.color,strokeWidth:2,strokeLinejoin:"round"},{kind:"path",part:"range-low",d:ye(O.map(j=>({x:j.x,y:j.y0})),r.curve),stroke:r.color,strokeWidth:2,strokeLinejoin:"round",dash:"4 3"});continue}if(r.kind==="range"){let j=ye([...O].reverse().map(N=>({x:N.x,y:N.y0})),r.curve);vt.push({kind:"path",part:"range",d:`${A}L${j.slice(1)}Z`,fill:r.color,fillOpacity:.2,title:r.name});continue}if(r.kind==="area"){let j=Ht(yt(r.axis)),N=r.stack!==void 0?ye([...O].reverse().map(X=>({x:X.x,y:X.y0})),r.curve).slice(1):`${O[O.length-1]?.x} ${j}L${O[0]?.x} ${j}`,G=`skdx-g-${r.index}`;r.gradient&&!nt.some(X=>X.id===G)&&nt.push({id:G,vertical:!0,stops:[{offset:0,color:r.color,opacity:r.fillOpacity},{offset:1,color:r.color,opacity:0}]}),vt.push({kind:"path",part:"area",d:`${A}L${N}Z`,fill:r.gradient?`url(#${G})`:r.color,fillOpacity:r.gradient?void 0:r.fillOpacity})}Ct.push({kind:"path",part:"line",d:A,stroke:r.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",dash:r.dash})}if(r.kind==="range"&&F)for(let O of B)for(let A of O){let j=r.low[A.i],N=r.high[A.i],G=`${r.name}, ${c[A.i]}: ${D(Math.min(j,N))} \u2013 ${D(Math.max(j,N))}`;It.push({...He(A.x,A.y,.01,r.color,G,Ve(r,A.i,N,G)),part:"anchor"})}if(r.kind!=="range")for(let O of B)for(let A of O){if(!E&&!F&&!e.labels&&!r.errors)continue;let j=r.data[A.i],N=U?C[A.i]-b[A.i]:j,G=Pt(r.name,c[A.i],N,D);(E||F)&&It.push(E&&r.symbol!=="circle"?An(A.x,A.y,r.markerSize,r.symbol,r.color,F?G:void 0,Ve(r,A.i,j,G),"point"):{...He(A.x,A.y,E?r.markerSize:.01,r.color,F?G:void 0,Ve(r,A.i,j,G)),part:E?"point":"anchor"}),F&&Yt(r,A.i,y?A.y:A.x,C[A.i]),e.labels&&At.push(W(A.x,A.y-8,D(N),{anchor:"middle"}))}}let Jt={plot:_,xs:y?[]:L.map((r,b)=>Qe(b)),rows:L.map(r=>[c[r],...z.map(b=>{let C=rt(b);if(b.kind==="range"){let F=b.low[r],R=b.high[r];return`${b.name}: ${v(F)&&v(R)?`${C(F)} \u2013 ${C(R)}`:"\u2014"}`}let D=b.data[r];return`${b.name}: ${v(D)?C(U?(J.get(b)?.[r]??0)-(Q.get(b)?.[r]??0):D):"\u2014"}`})]),count:l,zoom:g,crosshair:pn(e)},ot=[];if(e.brush&&!y){let r={x:_.x,y:_.y+_.height+Tn,width:_.width,height:On},b=z.find(D=>D.kind!=="range"),C={x:h(r.x+g.start/Math.max(1,l)*r.width),y:r.y,width:h((g.end-g.start)/Math.max(1,l)*r.width),height:r.height};if(ot.push({kind:"rect",part:"brush",x:r.x,y:r.y,width:r.width,height:r.height,fill:"var(--skdx-color-surface-sunken)",stroke:H.grid}),b){let D=fe(b.data),[F,R]=he(D),B=l>1?r.width/(l-1):0,V=b.data.flatMap((O,A)=>v(O)?[{x:h(r.x+A*B),y:h(r.y+r.height-(R===F?.5:(O-F)/(R-F))*(r.height-4)-2)}]:[]),E=ye(V);V.length>1&&ot.push({kind:"path",part:"brush-series",d:`${E}L${V[V.length-1]?.x} ${r.y+r.height}L${V[0]?.x} ${r.y+r.height}Z`,fill:b.color,fillOpacity:.3})}ot.push({kind:"rect",part:"brush-window",...C,fill:"var(--skdx-color-primary-500)",opacity:.15,stroke:H.axis},{kind:"rect",part:"brush-handle",x:h(C.x-3),y:r.y+8,width:6,height:r.height-16,fill:H.axis,rx:8},{kind:"rect",part:"brush-handle",x:h(C.x+C.width-3),y:r.y+8,width:6,height:r.height-16,fill:H.axis,rx:8}),Jt.brush={box:r,window:C}}return{...wt,shapes:[...Ut,...vt,...tt,...Ct,...Xt,...It,...At,...Nn,...Cn(e.annotations,Zt),...ot,...wt.shapes],hit:Jt,issues:s,defs:nt.length?nt:void 0}}function Rn(e,t){if(!(!v(e)||t===null||t===void 0))return typeof t=="number"?v(t)?[e-Math.abs(t),e+Math.abs(t)]:void 0:v(t[0])&&v(t[1])?[Math.min(t[0],t[1]),Math.max(t[0],t[1])]:void 0}function gr(e,t){if(!e||t<2)return{start:0,end:t};let n=Math.max(0,Math.min(t-1,Math.floor(e.start))),o=Math.max(n+1,Math.min(t,Math.ceil(e.end)));return o-n<2&&t>=2?{start:Math.min(n,t-2),end:Math.min(n,t-2)+2}:{start:n,end:o}}function yr(e,t,n){let o=c=>c.type??t,i=[],s=br(e),a=e.categories??[],d=(e.transforms??[]).filter(c=>c.type==="sort"||c.type==="bin"||c.type==="aggregate"),f=(e.transforms??[]).filter(c=>!d.includes(c)),l=e.stacked||e.stackOffset!==void 0&&e.stackOffset!=="zero",u=(c,g,I)=>{let y=I.filter($=>$!==null&&!(typeof $=="number"&&Number.isFinite($))).length;y&&i.push({code:"invalid-value",severity:"warning",message:`Series "${c}" has ${y} value${y===1?"":"s"} that ${y===1?"is":"are"} neither a number nor null; drawn as gaps.`,itemId:g??c}),a.length&&I.length!==a.length&&!e.transform&&i.push({code:"length-mismatch",severity:"warning",message:`Series "${c}" has ${I.length} values for ${a.length} categories.`,itemId:g??c})},p=e.series.map((c,g)=>{let I=o(c),y=l?!0:void 0,$=c.type==="range"?void 0:c.stack,z=$===!1?void 0:$===!0||$===void 0&&y?`${I}`:$;c.type==="range"?(u(c.name,c.id,c.low),u(c.name,c.id,c.high)):u(c.name,c.id,c.data);let P=U=>e.nulls==="zero"?U.map(Z=>v(Z)?Z:0):U,L=Ln(s,c.axis);return L===void 0&&i.push({code:"unknown-axis",severity:"warning",message:`Series "${c.name}" names axis "${String(c.axis)}", which is not defined; drawn on the first axis.`,itemId:c.id??c.name}),{name:c.name,id:c.id,color:_e(e,g,c.color),axis:L??s[0]?.id,hidden:ft(e,c.name),index:g,kind:I,data:c.type==="range"?[]:P(jt(jt(c.data,f),c.transforms)),low:c.type==="range"?c.low:[],high:c.type==="range"?c.high:[],curve:c.curve??e.curve??"linear",dash:c.type==="range"?void 0:c.dash,markers:c.type==="range"?void 0:c.markers,symbol:c.type==="range"?"circle":c.symbol??"circle",markerSize:c.type==="range"?3:c.markerSize??3,errors:c.type==="range"?void 0:c.errors,stack:I==="range"||I==="line"?void 0:z,style:c.type==="range"?c.style??"area":"area",fillOpacity:(c.type==="range"?void 0:c.fillOpacity)??e.fillOpacity??.25,gradient:c.type!=="range"&&c.gradient===!0}}),x=()=>Math.max(a.length,...p.map(c=>Math.max(c.data.length,c.low.length))),S=c=>{let g=y=>y.length?c.map($=>y[$]??null):y,I=Array.from({length:x()},(y,$)=>a[$]??String($+1));a=c.map(y=>I[y]),p=p.map(y=>({...y,data:g(y.data),low:g(y.low),high:g(y.high)}))},w=(c,g)=>{let I=(g!==void 0?p.find($=>$.name===g):void 0)??p.find($=>!$.hidden&&$.kind!=="range")??p[0];g!==void 0&&!p.some($=>$.name===g)&&i.push({code:"unknown-series",severity:"warning",message:`sort.by names "${g}", which is not a series; sorted by the first series.`});let y=Array.from({length:x()},($,z)=>z).sort(($,z)=>{let P=I?.data[$]??I?.high[$],L=I?.data[z]??I?.high[z],U=v(P)?P:-1/0,Z=v(L)?L:-1/0;return c==="asc"?U-Z:Z-U});S(y)},m=c=>{let g=p.flatMap(y=>fe(y.data)),I=it(g,c);a=I.slice(1).map((y,$)=>`${n(I[$])}\u2013${n(y)}`),p=p.map(y=>{let $=fe(y.data),z=0,P=st($,I).map(L=>e.binMode==="density"?$.length?L.count/($.length*(L.x1-L.x0)):0:e.binMode==="cumulative"?z+=L.count:L.count);return{...y,data:P}})},k=(c,g)=>{let I=Math.max(1,Math.floor(c)),y=x(),$=P=>{if(!P.length)return P;let L=[];for(let U=0;U<y;U+=I){let Z=fe(P.slice(U,U+I));L.push(Z.length===0?null:g==="sum"?Z.reduce((Q,J)=>Q+J,0):g==="mean"?Z.reduce((Q,J)=>Q+J,0)/Z.length:g==="min"?Math.min(...Z):Math.max(...Z))}return L};a=Array.from({length:y},(P,L)=>a[L]??String(L+1)).filter((P,L)=>L%I===0),p=p.map(P=>({...P,data:$(P.data),low:$(P.low),high:$(P.high)}))};e.transform==="histogram"?m({bins:e.bins,binWidth:e.binWidth,domain:e.binDomain}):e.transform==="cumulative"&&(p=p.map(c=>{let g=0;return{...c,data:c.data.map(I=>v(I)?g+=I:g)}}));for(let c of d)c.type==="sort"?w(c.order??"desc"):c.type==="bin"?m(c):c.type==="aggregate"&&k(c.every,c.method??"sum");typeof e.sort=="string"?w(e.sort):e.sort&&w(e.sort.order,e.sort.by);let M=e.xAxis?.domain;if(M){let c=x(),g=Array.from({length:c},(z,P)=>a[P]??String(P+1)),I=z=>{let P=typeof z=="string"?z:de(z);return g.findIndex(L=>typeof P=="string"?L===P||at(L)===P:de(L)===P)},y=M.map(I),$=z=>z.length?y.map(P=>P<0?null:z[P]??null):z;a=[...M],p=p.map(z=>({...z,data:$(z.data),low:$(z.low),high:$(z.high)}))}return{series:p,categories:a,issues:i,axes:s}}var Vn=e=>We(e,"bar");var ie=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;"),Ge=e=>e.filter(([,t])=>t!==void 0&&t!=="").map(([t,n])=>` ${t}="${ie(String(n))}"`).join("");function kr(e){let t=e.title?`<title>${ie(e.title)}</title>`:"",n=["data-skdx-part",e.part];switch(e.kind){case"path":return`<path${Ge([n,["d",e.d],["fill",e.fill??"none"],["stroke",e.stroke],["stroke-width",e.strokeWidth],["stroke-linecap",e.strokeLinecap],["stroke-linejoin",e.strokeLinejoin],["stroke-dasharray",e.dash],["opacity",e.opacity],["fill-opacity",e.fillOpacity]])}>${t}</path>`;case"rect":return`<rect${Ge([n,["x",e.x],["y",e.y],["width",e.width],["height",e.height],["rx",e.rx],["fill",e.fill],["stroke",e.stroke],["fill-opacity",e.opacity]])}>${t}</rect>`;case"line":return`<line${Ge([n,["x1",e.x1],["y1",e.y1],["x2",e.x2],["y2",e.y2],["stroke",e.stroke],["stroke-width",e.strokeWidth],["stroke-dasharray",e.dash],["opacity",e.opacity]])}>${t}</line>`;case"circle":return`<circle${Ge([n,["cx",e.cx],["cy",e.cy],["r",e.r],["fill",e.fill],["stroke",e.stroke]])}>${t}</circle>`;case"text":return`<text${Ge([n,["aria-label",e.title],["x",e.x],["y",e.y],["text-anchor",e.anchor],["dominant-baseline",e.baseline],["fill",e.fill],["font-weight",e.weight],["transform",e.rotate?`rotate(${e.rotate} ${e.x} ${e.y})`:void 0]])}>${ie(e.text)}</text>`}}function Mr(e){let t=e.defs??[];return t.length===0?"":`<defs>${t.map(n=>`<linearGradient id="${ie(n.id)}" x1="0" y1="0" x2="${n.vertical===!1?1:0}" y2="${n.vertical===!1?0:1}">${n.stops.map(o=>`<stop offset="${o.offset}" stop-color="${ie(o.color)}"${o.opacity===void 0?"":` stop-opacity="${o.opacity}"`}/>`).join("")}</linearGradient>`).join("")}</defs>`}function zn(e,t,n){let o=Mr(e)+e.shapes.map(kr).join("");n&&(o=o.replace(/var\((--[\w-]+)\)/g,(a,d)=>n(d).trim()||a));let i=e.decorative?'aria-hidden="true"':`role="img" aria-label="${ie(t)}"`,s=e.description?`<desc>${ie(e.description)}</desc>`:"";return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${e.width} ${e.height}" width="${e.width}" height="${e.height}" ${i} font-family="${ie(H.fontFamily)}" font-size="${ie(H.fontSize)}"><title>${ie(t)}</title>${s}${o}</svg>`}var Pn=e=>We(e,"line"),Fn=e=>We(e,"area");function _t(e){return e==null?[]:(Array.isArray(e)?e:[e]).map(n=>typeof n=="object"?n:{id:n})}var wr=e=>e.id??e.name??e.series,Sr=e=>e.seriesId??e.series;function $r(e,t){let n=!1;return t.id!==void 0&&(n=!0,wr(e)!==t.id&&e.id!==t.id&&e.name!==t.id)||t.series!==void 0&&(n=!0,Sr(e)!==t.series&&e.series!==t.series)||t.index!==void 0&&(n=!0,e.index!==t.index)||t.category!==void 0&&(n=!0,e.category!==t.category)?!1:n}var En=(e,t,n=_t(t))=>n.some(o=>$r(e,o));var Ue=2*Math.PI;function gt(e,t,n,o,i,s){let a=(l,u)=>`${h(e+l*Math.sin(u))} ${h(t-l*Math.cos(u))}`;if(s-i>=Ue-1e-9){let l=i+Ue/2;return`${gt(e,t,n,o,i,l)}${gt(e,t,n,o,l,s)}`}let d=s-i>Math.PI?1:0,f=`M${a(n,i)}A${n} ${n} 0 ${d} 1 ${a(n,s)}`;return o>0?`${f}L${a(o,s)}A${o} ${o} 0 ${d} 0 ${a(o,i)}Z`:`${f}L${h(e)} ${h(t)}Z`}function vr(e,t,n,o,i,s,a){let d=s-i;if(a<=0||d>=Ue-1e-9)return gt(e,t,n,o,i,s);let f=Math.sin(Math.min(Math.PI/2,d/2)),l=Math.min(a,o>0?(n-o)/2:n/2,n*f/(1+f));if(o>0&&f<1&&(l=Math.min(l,o*f/(1-f))),l<=.25)return gt(e,t,n,o,i,s);let u=(k,M)=>`${h(e+k*Math.sin(M))} ${h(t-k*Math.cos(M))}`,p=k=>`A${h(l)} ${h(l)} 0 0 1 ${k}`,x=Math.asin(l/(n-l)),S=Math.sqrt((n-l)**2-l*l),w=s-i-2*x>Math.PI?1:0,m=`M${u(S,i)}${p(u(n,i+x))}A${n} ${n} 0 ${w} 1 ${u(n,s-x)}${p(u(S,s))}`;if(o>0){let k=Math.asin(l/(o+l)),M=Math.sqrt((o+l)**2-l*l),c=s-i-2*k>Math.PI?1:0;m+=`L${u(M,s)}${p(u(o,s-k))}A${o} ${o} 0 ${c} 0 ${u(o,i+k)}${p(u(M,i))}Z`}else m+=`L${h(e)} ${h(t)}Z`;return m}function Dn(e){let t=[];for(let T of e.data)v(T.value)&&T.value<0&&t.push({code:"negative-value",severity:"warning",message:`"${T.name}" is negative (${T.value}); a share of a whole cannot be, so it is drawn as zero.`,itemId:T.id??T.name});let n=ut(e,!e.data.some(T=>v(T.value)&&T.value>0),300,300);if(n)return{...n,issues:t};let o=ce(e.format),i=e.percentFormat?ce(e.percentFormat):T=>`${Math.round(T*100)}%`,s=Math.max(0,e.cornerRadius??0),{width:a,height:d}=Ce(e,300,300),f=e.data.map((T,q)=>({name:T.name,color:_e(e,q,T.color)})),l=dt(e,f,a),u=(e.startAngle??0)*Math.PI/180,p=(e.endAngle??(e.startAngle??0)+360)*Math.PI/180,x=Math.max(0,Math.min(Ue,p-u)),S=x<=Math.PI+1e-9&&Math.abs(Math.sin(u))>.99,w=e.labels&&e.labelPosition==="outside",m=a/2,k=Math.max(.2,Math.min(1,e.outerRadius??1)),M=w?40:8,c=(S?Math.max(0,Math.min(a/2,d-l)-M):Math.max(0,Math.min(a,d-l)/2-M))*k,g=S?u<0||u>Math.PI?d-M:l+M:l+(d-l)/2,I=c*Math.min(.95,Math.max(0,e.innerRadius??(e.variant==="donut"?.6:0))),y=e.data.map((T,q)=>({...T,i:q,value:v(T.value)&&!ft(e,T.name)?Math.max(0,T.value):0})),$=e.sort?[...y].sort((T,q)=>e.sort==="asc"?T.value-q.value:q.value-T.value):y,z=$.reduce((T,q)=>T+q.value,0),P=$.filter(T=>T.value>0).length,L=Math.max(0,Math.min((e.padAngle??0)*Math.PI/180,x/Math.max(1,P)/2)),U=x>=Ue-1e-9,Z=P>1?U?P:P-1:0,Q=x-Z*L,J=Math.min((e.minAngle??0)*Math.PI/180,Q/Math.max(1,P)),ue=$.map(T=>z>0?T.value/z*Q:0);if(J>0)for(let T=0;T<$.length;T++){let q=$.map((Y,K)=>Y.value>0&&ue[K]<J);if(!q.some(Boolean))break;let te=q.filter(Boolean).length*J,xe=$.reduce((Y,K,ne)=>Y+(q[ne]||K.value<=0?0:K.value),0);if($.forEach((Y,K)=>{ue[K]=q[K]?J:xe>0?Y.value/xe*(Q-te):0}),!$.some((Y,K)=>Y.value>0&&!q[K]&&ue[K]<J))break}let Ze=_t(e.selected),ke=u+(U&&Z?L/2:0),me=[],Ie=[],qe=[],Ke=$.map((T,q)=>{let te=z>0?T.value/z:0,xe=ke,Y=ke+ue[q];te>0&&(ke=Y+L);let K=i(te),ne=`${T.name}: ${o(T.value)} (${K})`,Oe={label:ne,id:T.id??T.name,name:T.name,index:T.i,value:T.value},re=(xe+Y)/2;if(e.labels&&te>0){let _=`${T.name} ${K}`;if(w){let oe=Math.sin(re),Me=h(g-(c+14)*Math.cos(re));qe.some(Te=>Math.abs(Te-Me)<12)||(qe.push(Me),Ie.push({kind:"line",part:"label-connector",x1:h(m+c*oe),y1:h(g-c*Math.cos(re)),x2:h(m+(c+12)*oe),y2:h(g-(c+12)*Math.cos(re)),stroke:H.axis}),me.push(mt(h(m+(c+16)*oe),Me,_,a,{part:"slice-label",anchor:oe>.1?"start":oe<-.1?"end":"middle",baseline:"middle",fill:"var(--skdx-color-text-default)"})))}else if(te>.03){let oe=(c+I)/2;me.push(mt(h(m+oe*Math.sin(re)),h(g-oe*Math.cos(re)),_,a,{part:"slice-label",anchor:"middle",baseline:"middle",fill:"var(--skdx-color-text-on-accent)"}))}}let Xe=En(Oe,void 0,Ze)?Math.max(4,c*.06):0;return{kind:"path",part:"slice",d:te>0?vr(m+Xe*Math.sin(re),g-Xe*Math.cos(re),c,I,xe,Y,s):"",fill:_e(e,T.i,T.color),title:ne,item:te>0?Oe:void 0}});e.centerLabel&&me.push(W(h(m),h(S?g-12:g),e.centerLabel,{part:"center-label",anchor:"middle",baseline:"middle",fill:"var(--skdx-color-text-default)",weight:"bold"}));let Ae=Ne(e,a,d,f);return{...Ae,shapes:pt([...Ke,...Ie,...Ae.shapes,...me]),issues:t}}function Cr(e){let t=e.type==="pie"?Dn(e.input):e.type==="bar"?Vn(e.input):e.type==="line"?Pn(e.input):Fn(e.input);return zn(t,e.label,e.resolve)}0&&(module.exports={renderChartSvg});
@@ -0,0 +1,25 @@
1
+ import { am as ChartInput, an as PieChartInput } from './types-5xXhTghj.cjs';
2
+
3
+ /** A portable chart uses the same data, formatting, state and theme options as its component. */
4
+ type PortableChartOptions = {
5
+ /** Accessible chart name, escaped into the resulting SVG. */
6
+ label: string;
7
+ /** Optional token resolver for a self-contained exported document. */
8
+ resolve?: ((cssVariable: string) => string) | undefined;
9
+ } & ({
10
+ type: 'bar' | 'line' | 'area';
11
+ input: ChartInput;
12
+ } | {
13
+ type: 'pie';
14
+ input: PieChartInput;
15
+ });
16
+ /**
17
+ * Renders an accessible static SVG with canonical chart geometry. This entry has no
18
+ * DOM, Lit or framework dependency and can be embedded in an offline document's
19
+ * module runtime. Call again with new data when that document refreshes a binding.
20
+ * Interactive focus/selection and responsive measurement belong to the chart components;
21
+ * callers supply dimensions and expose the document's data table when needed.
22
+ */
23
+ declare function renderChartSvg(options: PortableChartOptions): string;
24
+
25
+ export { ChartInput, PieChartInput, type PortableChartOptions, renderChartSvg };
@@ -0,0 +1,25 @@
1
+ import { am as ChartInput, an as PieChartInput } from './types-5xXhTghj.js';
2
+
3
+ /** A portable chart uses the same data, formatting, state and theme options as its component. */
4
+ type PortableChartOptions = {
5
+ /** Accessible chart name, escaped into the resulting SVG. */
6
+ label: string;
7
+ /** Optional token resolver for a self-contained exported document. */
8
+ resolve?: ((cssVariable: string) => string) | undefined;
9
+ } & ({
10
+ type: 'bar' | 'line' | 'area';
11
+ input: ChartInput;
12
+ } | {
13
+ type: 'pie';
14
+ input: PieChartInput;
15
+ });
16
+ /**
17
+ * Renders an accessible static SVG with canonical chart geometry. This entry has no
18
+ * DOM, Lit or framework dependency and can be embedded in an offline document's
19
+ * module runtime. Call again with new data when that document refreshes a binding.
20
+ * Interactive focus/selection and responsive measurement belong to the chart components;
21
+ * callers supply dimensions and expose the document's data table when needed.
22
+ */
23
+ declare function renderChartSvg(options: PortableChartOptions): string;
24
+
25
+ export { ChartInput, PieChartInput, type PortableChartOptions, renderChartSvg };
@@ -0,0 +1 @@
1
+ var rn=e=>Number(e.toPrecision(12)),Hn,on=e=>(Hn??(Hn=new Intl.NumberFormat)).format(rn(e)),Wn=e=>{let t=Math.round(Math.abs(e)),n=e<0?"-":"",o=Math.floor(t/3600),i=Math.floor(t%3600/60),s=a=>String(a).padStart(2,"0");return o>0?`${n}${o}h ${s(i)}m`:i>0?`${n}${i}m ${s(t%60)}s`:`${n}${t}s`};function ce(e){if(e===void 0)return on;if(typeof e=="function")return e;let{style:t,locale:n,digits:o,unit:i="",timeZone:s}=e,a=u=>i?p=>u(p)+i:u,d=u=>o===void 0?u===void 0?{}:{maximumFractionDigits:u}:{minimumFractionDigits:o,maximumFractionDigits:o},f=u=>{let p=new Intl.NumberFormat(n,u);return a(x=>p.format(rn(x)))},l=u=>{let p=new Intl.DateTimeFormat(n,s?{...u,timeZone:s}:u);return x=>p.format(x)};switch(t){case"integer":return f({maximumFractionDigits:0});case"decimal":return f(d(2));case"percent":return f({style:"percent",...d(0)});case"currency":return f({style:"currency",currency:e.currency??"USD",...d()});case"compact":return f({notation:"compact",...d(1)});case"scientific":return f({notation:"scientific",...d(2)});case"date":return l({dateStyle:"medium"});case"time":return l({timeStyle:"short"});case"datetime":return l({dateStyle:"medium",timeStyle:"short"});case"duration":return a(Wn)}}function at(e,t){if(typeof e=="string")return e;let n=e instanceof Date?e.getTime():e;return t?ce(t)(n):e instanceof Date?new Intl.DateTimeFormat().format(e):on(n)}var de=e=>{if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Number(e);return Number.isFinite(t)&&e.trim()!==""?t:Date.parse(e)};function ve([e,t],[n,o]){let i=t-e;return s=>i===0?n:n+(s-e)/i*(o-n)}function ge(e,t,n=5){if(e===t)return[e];let o=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(o)),s=o/i,a=(s<1.5?1:s<3.5?2:s<7.5?5:10)*i,d=Math.floor(e/a)*a,f=Math.ceil(t/a)*a,l=[];for(let u=d;u<=f+a/2;u+=a)l.push(sn(u));return l}function an(e,[t,n],o=.2){let i=e===0?0:(n-t)/e,s=i*(1-Math.max(0,Math.min(.9,o)));return{step:i,bandwidth:s,start:a=>t+a*i+(i-s)/2,center:a=>t+(a+.5)*i}}var sn=e=>Number(e.toPrecision(12)),h=e=>Number(e.toFixed(2)),v=e=>typeof e=="number"&&Number.isFinite(e),fe=e=>e.filter(v);function he(e){let t=1/0,n=-1/0;for(let o of e)v(o)&&(o<t&&(t=o),o>n&&(n=o));return t===1/0?[0,0]:[t,n]}function ye(e,t="linear"){if(e.length===0)return"";let n=e[0];if(t==="step"||t==="stepBefore"||t==="stepAfter"){let l=`M${n.x} ${n.y}`;for(let u=1;u<e.length;u++){let p=e[u-1],x=e[u];t==="stepAfter"?l+=`H${x.x}V${x.y}`:t==="stepBefore"?l+=`V${x.y}H${x.x}`:l+=`H${h((p.x+x.x)/2)}V${x.y}H${x.x}`}return l}if(t==="linear"||e.length<3)return`M${e.map(l=>`${l.x} ${l.y}`).join("L")}`;let o=e.length,i=e.slice(1).map((l,u)=>l.x-e[u].x),s=e.slice(1).map((l,u)=>l.y-e[u].y),a=i.map((l,u)=>l===0?0:s[u]/l),d=[a[0]];for(let l=1;l<o-1;l++){let u=a[l-1],p=a[l];d.push(u*p<=0?0:(u+p)/2)}d.push(a[o-2]);for(let l=0;l<o-1;l++){let u=a[l];if(u===0){d[l]=0,d[l+1]=0;continue}let p=d[l]/u,x=d[l+1]/u,S=Math.hypot(p,x);S>3&&(d[l]=3*p*u/S,d[l+1]=3*x*u/S)}let f=`M${n.x} ${n.y}`;for(let l=0;l<o-1;l++){let u=e[l],p=e[l+1],x=i[l]/3;f+=`C${h(u.x+x)} ${h(u.y+x*d[l])} ${h(p.x-x)} ${h(p.y-x*d[l+1])} ${p.x} ${p.y}`}return f}var Ee=1e3,De=60*Ee,Be=60*De,je=24*Be,Gn=[Ee,5*Ee,15*Ee,30*Ee,De,5*De,15*De,30*De,Be,3*Be,6*Be,12*Be,je,2*je,7*je,14*je];function ln(e,t,n=6){if(!(t>e))return[e];let o=t-e,i=Gn.find(p=>o/p<=n),s=[];if(i!==void 0){for(let p=Math.ceil(e/i)*i;p<=t;p+=i)s.push(p);return s.length?s:[e,t]}let a=o/(30*je),d=[1,2,3,6,12,24,60,120].find(p=>a/p<=n)??240,f=new Date(e),l=f.getUTCFullYear(),u=Math.ceil((f.getUTCMonth()+(f.getUTCDate()>1?1:0))/d)*d;for(let p=Date.UTC(l,u,1);p<=t;)s.push(p),u+=d,u>=12&&(l+=Math.floor(u/12),u%=12),p=Date.UTC(l,u,1);return s.length?s:[e,t]}function cn(e,t){let n=Math.floor(Math.log10(e)),o=Math.ceil(Math.log10(t)),i=o-n<=1?[1,2,5]:[1],s=[];for(let a=n;a<=o;a++)for(let d of i)s.push(sn(d*10**a));return s.filter(a=>a>=e/1.0001&&a<=t*1.0001)}function it(e,t={}){if(t.thresholds&&t.thresholds.length>=2)return[...t.thresholds].filter(Number.isFinite).sort((f,l)=>f-l);let[n,o]=t.domain??he(e),i=Math.max(1,e.length),s=Math.max(1,t.bins??Math.ceil(Math.log2(i)+1)),a=t.binWidth??(o>n?(o-n)/s:1),d=o>n?Math.max(1,Math.ceil((o-n)/a-1e-9)):1;return Array.from({length:d+1},(f,l)=>Number((n+l*a).toPrecision(12)))}function st(e,t){let n=[];for(let s=0;s+1<t.length;s++)n.push({x0:t[s],x1:t[s+1],count:0});if(n.length===0)return n;let o=t[0],i=t[t.length-1];for(let s of fe(e)){if(s<o||s>i)continue;let a=0,d=n.length-1;for(;a<d;){let f=a+d+1>>1;n[f].x0<=s?a=f:d=f-1}n[a].count++}return n}var dn=["primary","success","warning","danger","neutral"].flatMap(e=>[500,700].map(t=>`var(--skdx-color-${e}-${t})`)).sort((e,t)=>Number(e.endsWith("700)"))-Number(t.endsWith("700)"))),H={axis:"var(--skdx-color-border-strong)",grid:"var(--skdx-color-border-subtle)",label:"var(--skdx-color-text-muted)",focus:"var(--skdx-color-focus-ring)",positive:"var(--skdx-color-success-500)",negative:"var(--skdx-color-danger-500)",fontFamily:"var(--skdx-font-family)",fontSize:"var(--skdx-font-size-xs)"},Rt=(e="neutral")=>e==="neutral"?H.axis:`var(--skdx-color-${e}-500)`,Lt=(e="neutral")=>e==="neutral"?H.label:e==="primary"?"var(--skdx-color-text-accent)":`var(--skdx-color-text-${e})`,fn=(e,t)=>t??dn[e%dn.length];var ee={top:16,right:16,bottom:32,left:48};function hn(e,t,n=ee){return{x:n.left,y:n.top,width:Math.max(0,e-n.left-n.right),height:Math.max(0,t-n.top-n.bottom)}}function lt(e){let t=e.legend;if(t)return t===!0?{}:t.enabled===!1?void 0:t}function un(e){let t=e.tooltip;return t===void 0||t===!0?{enabled:!0}:t===!1?{enabled:!1}:{...t,enabled:t.enabled??!0}}var mn=e=>e.crosshair===!0||un(e).trigger==="axis",ct=20,Un=120,pn=e=>{let t=lt(e);return t&&(t.position==="left"||t.position==="right")?t.width??Un:0},Ce=(e,t=600,n=300)=>({width:(e.width??t)-pn(e),height:(e.height??n)-(lt(e)?.position==="bottom"?ct:0)}),dt=(e,t,n)=>{let o=lt(e);return!o||!(o.position===void 0||o.position==="top")?0:(t?Math.max(1,bn(t,n??Ce(e).width,o)):1)*ct},ae=6.5;function xn(e,t){let n=Array.from(e),o=Math.max(0,Math.floor(t/ae));return n.length<=o?e:o===0?"":`${n.slice(0,o-1).join("")}\u2026`}var _e=(e,t,n)=>n??(e.palette&&e.palette.length>0?e.palette[t%e.palette.length]:fn(t)),ft=(e,t)=>e.hiddenSeries?.includes(t)??!1;function Vt(e,t,n=[],o={},i=10,s=8,a=!1){let d=[],f=o.maxItems,l=f!==void 0&&f>=0&&e.length>f?e.slice(0,f):e,u=e.length-l.length,p=o.interactive??!0,x=s,S=i,w=(m,k,M,c)=>{let g=(k?18:4)+m.length*ae;x>s&&(a||x+g>t-8)&&(x=s,S+=ct),k&&d.push({kind:"rect",part:"legend-swatch",x,y:S-5,width:10,height:10,fill:k,opacity:c?.3:void 0,item:M}),d.push({kind:"text",part:"legend-label",x:x+(k?14:0),y:S,text:m,baseline:"middle",fill:c?H.grid:H.label,item:M}),x+=g+12};for(let m of l){let k=n.includes(m.name),M=p?{label:m.name,series:m.name,legend:!0}:void 0;w(o.formatter?.(m.name)??m.name,m.color,M,k)}return u>0&&w(`+${u} more`,void 0,void 0,!1),o.align==="end"?Zn(d,t):d}function Zn(e,t){let n=new Map;for(let i of e){let s=i.kind==="rect"?i.y+5:i.y;n.set(s,[...n.get(s)??[],i])}let o=[];for(let i of n.values()){let s=Math.max(...i.map(d=>d.kind==="rect"?d.x+d.width:d.x+d.text.length*ae)),a=t-8-s;for(let d of i)o.push({...d,x:d.x+a})}return o}var bn=(e,t,n={})=>new Set(Vt(e,t,[],n).flatMap(o=>o.kind==="text"?[o.y]:[])).size;function Ne(e,t,n,o=[]){let i=lt(e),s=i&&e.direction==="rtl"&&i.align===void 0?{...i,align:"end"}:i,a=un(e),d=s?.position==="bottom",f=pn(e),l=e.hiddenSeries??[],u=s?f?Vt(o,1/0,l,s,10,(s.position==="right"?t:0)+8,!0):Vt(o,t,l,s,d?n+10:10):[],p=d?bn(o,t,s):0;return{width:t+f,height:d?n+Math.max(1,p)*ct:n,legendOffset:s?.position==="left"?f:void 0,tooltip:a.enabled,tooltipFormatter:a.formatter,axisTooltipFormatter:a.axisFormatter,tooltipPortal:a.portal,tooltipPlacement:a.placement,tooltipAnchored:a.followPointer===!1?!0:void 0,description:e.description,decorative:e.decorative,animate:e.animate===!0?300:e.animate||void 0,responsive:!!e.responsive,shapes:u}}function gn([e,t],n,o=!1,i){let s=typeof o=="boolean"?{scale:o?"log":"linear"}:o,a=ce(s.format??i),d=s.min??e,f=s.max??t;s.reversed&&(n=[n[1],n[0]]);let l={id:s.id,position:s.position,options:s};if(s.scale==="sqrt"){let m=$=>Math.sign($)*Math.sqrt(Math.abs($)),k=s.nice===!1?[d,f]:ge(d,f,s.ticks),M=s.min??k[0],c=s.max??k[k.length-1],g=ve([m(M),m(c)],n),I=$=>g(m($)),y=ge(M,c,s.ticks).filter($=>$>=M-1e-9&&$<=c+1e-9);return{...l,scale:I,domain:[M,c],format:a,ticks:(y.length>=2?y:[M,c]).map($=>({pos:h(I($)),label:a($)})),zero:h(I(Math.min(Math.max(0,M),c)))}}if(s.scale==="log"){let m=Math.max(d,Number.EPSILON),k=Math.max(f,m),M=cn(m,k),c=[Math.log10(m),Math.log10(k)],g=ve(c,n),I=y=>g(Math.log10(Math.max(y,Number.EPSILON)));return{...l,scale:I,domain:c,format:a,ticks:M.map(y=>({pos:h(I(y)),label:a(y)})),zero:h(n[0])}}let u=ge(d,f,s.ticks),p=[s.min??(s.nice===!1?d:u[0]),s.max??(s.nice===!1?f:u[u.length-1])],x=ve(p,n),S=u.filter(m=>m>=p[0]-1e-9&&m<=p[1]+1e-9),w=(S.length>=2?S:[p[0],p[1]]).map(m=>({pos:h(x(m)),label:a(m)}));return{...l,scale:x,domain:p,format:a,ticks:w,zero:h(x(Math.min(Math.max(0,p[0]),p[1])))}}var yn=([e,t],n)=>Math.max(ee.left,ge(e,t).reduce((o,i)=>Math.max(o,n(i).length),0)*ae+14),kn=e=>e?.grid!==!1;function ht(e,t){if(e.length<2)return e;let n=e.reduce((i,s)=>Math.max(i,s.label.length),0)*ae+8,o=Math.max(1,Math.ceil(e.length*n/Math.max(1,t)));return o===1?e:e.filter((i,s)=>s%o===0)}var zt=(e,t,n,o)=>`${e}, ${t}: ${o(n)}`;function ut(e,t,n,o){let i=e.error!==void 0?"error":e.loading?"loading":t?"empty":null;if(!i)return null;let{width:s,height:a}=Ce(e,n,o),d=i==="error"?e.error:i==="loading"?"Loading\u2026":e.emptyMessage??"No data available",f=[];return i==="loading"&&f.push({kind:"rect",part:"skeleton",x:0,y:0,width:s,height:a,fill:"var(--skdx-color-surface-sunken)",rx:8}),f.push({kind:"text",part:`state-${i}`,x:h(s/2),y:h(a/2),text:d,anchor:"middle",baseline:"middle",fill:i==="error"?"var(--skdx-color-text-danger)":H.label}),{...Ne(e,s,a),shapes:f,tooltip:!1}}var Pt=(e,t,n)=>{let o=t.length*ae/2;return e+o>n?"end":e-o<0?"start":"middle"};function Ft(e,t={}){let{plot:n,xTicks:o,yTicks:i,baseline:s}=e,a=n.x+n.width,d=n.y+n.height,f=[],l=t.grid??!0,u=(w,m)=>m?{kind:"line",part:"grid",x1:w.pos,x2:w.pos,y1:n.y,y2:d,stroke:H.grid}:{kind:"line",part:"grid",x1:n.x,x2:a,y1:w.pos,y2:w.pos,stroke:H.grid},p=t.x?.tickRotation??0,x=(w,m,k,M)=>p?W(w,m,k,{part:M,anchor:p<0?"end":"start",baseline:"middle",rotate:p}):mt(w,m,k,e.width,{part:M,anchor:Pt(w,k,e.width)}),S=(w,m,k,M,c)=>{for(let g of w)f.push(m==="x"?{kind:"line",part:"tick",x1:g.pos,x2:g.pos,y1:k,y2:h(k+M*c),stroke:H.axis}:{kind:"line",part:"tick",x1:k,x2:h(k+M*c),y1:g.pos,y2:g.pos,stroke:H.axis})};if(t.categoryGrid)for(let w of o)f.push(u(w,!t.horizontal));if(t.horizontal){let w=t.axes??[{ticks:i,position:"bottom",offset:0,label:t.yLabel,...t.y}];if(l)for(let m of i)f.push(u(m,!0));w[0]?.showLine!==!1&&f.push({kind:"line",part:"axis",x1:s,x2:s,y1:n.y,y2:d,stroke:H.axis});for(let m of w){let k=m.position==="top"||m.position==="right",M=h(k?n.y-m.offset:d+m.offset),c=k||m.offset>0;m.showLine&&c&&f.push({kind:"line",part:"axis",x1:n.x,x2:a,y1:M,y2:M,stroke:H.axis}),m.showTicks&&S(m.ticks,"x",M,k?-1:1,m.tickSize??4);let g=h(k?M-8:M+20);for(let I of m.ticks)f.push(k?W(I.pos,g,I.label,{part:"x-label-top",anchor:Pt(I.pos,I.label,e.width)}):x(I.pos,g,I.label,"x-label"));m.label&&f.push(c?W(4,g,m.label,{part:"axis-title",anchor:"start",baseline:k?void 0:"middle"}):W(4,n.y-6,m.label,{part:"axis-title",anchor:"start"}))}t.x?.showLine&&f.push({kind:"line",part:"axis",x1:t.rtl?a:n.x,x2:t.rtl?a:n.x,y1:n.y,y2:d,stroke:H.axis}),t.x?.showTicks&&S(o,"y",t.rtl?a:n.x,t.rtl?1:-1,t.x.tickSize??4);for(let m of o)f.push(t.rtl?W(a+8,m.pos,m.label,{part:"y-label",anchor:"start",baseline:"middle"}):W(n.x-8,m.pos,m.label,{part:"y-label",anchor:"end",baseline:"middle"}))}else{if(l)for(let m of i)f.push(u(m,!1));t.y?.showLine!==!1&&f.push({kind:"line",part:"axis",x1:n.x,x2:a,y1:s,y2:s,stroke:H.axis});let w=t.axes??[{ticks:i,position:"left",offset:0,label:t.yLabel,...t.y},...t.rightTicks?[{ticks:t.rightTicks,position:"right",offset:0,label:t.rightLabel}]:[]];for(let m of w){let k=m.position==="left",M=k?n.x-m.offset:a+m.offset,c=k?"y-label":"y-label-right";m.showLine&&f.push({kind:"line",part:"axis",x1:h(M),x2:h(M),y1:n.y,y2:d,stroke:H.axis}),m.showTicks&&S(m.ticks,"y",h(M),k?-1:1,m.tickSize??4);for(let g of m.ticks)f.push(W(h(k?M-8:M+8),g.pos,g.label,{part:c,anchor:k?"end":"start",baseline:"middle"}));m.label&&f.push(W(h(k?m.offset===0?4:Math.max(4,M-40):m.offset===0?e.width-4:Math.min(e.width-4,M+40)),n.y-6,m.label,{part:"axis-title",anchor:k?"start":"end"}))}t.x?.showTicks&&S(o,"x",d,1,t.x.tickSize??4);for(let m of o)f.push(x(m.pos,d+(p?12:20),m.label,"x-label"))}return t.xLabel&&f.push(W(h(n.x+n.width/2),e.height-4,t.xLabel,{part:"axis-title",anchor:"middle"})),t.horizontal&&t.rightLabel&&f.push(W(e.width-4,n.y-6,t.rightLabel,{part:"axis-title",anchor:"end"})),f}var W=(e,t,n,o={})=>({kind:"text",part:"label",x:e,y:t,text:n,fill:H.label,...o});function mt(e,t,n,o,i={}){let s=Math.max(4,Math.min(o-4,e)),a=i.anchor??"start",d=a==="middle"?2*Math.min(s-4,o-s-4):a==="end"?s-4:o-s-4,f=xn(n,d);return{kind:"text",part:"label",x:s,y:t,fill:H.label,...i,text:f,title:f===n?i.title:n}}function pt(e){return e.flatMap(t=>{if(t.kind!=="text"||t.fill!=="var(--skdx-color-text-on-accent)"&&t.part!=="reference-label")return[t];let n=t.text.length*ae+8,o=t.x-(t.anchor==="middle"?n/2:t.anchor==="end"?n-4:4),i=t.y-(t.baseline==="hanging"?2:t.baseline==="middle"?9:14);return[{kind:"rect",part:"label-background",x:o,y:i,width:n,height:18,rx:8,fill:"var(--skdx-color-surface-raised)"},{...t,fill:t.part==="reference-label"?t.fill:"var(--skdx-color-text-default)"}]})}var He=(e,t,n,o,i,s)=>({kind:"circle",part:"point",cx:e,cy:t,r:n,fill:o,title:i,item:s});function Et(e,t){let n=[],{plot:o}=t,i=o.x+o.width,s=o.y+o.height,a=f=>Math.max(o.x,Math.min(i,f)),d=f=>Math.max(o.y,Math.min(s,f));for(let f of e??[]){let l=f.color??Rt(f.variant),u=f.color??Lt(f.variant),p={part:"reference-label",fill:u},x=t.horizontal===!0;if("y"in f){let S=h(t.y(f.y,f.axis??"left"));if(x){let w=a(S);n.push(...wn(w,o.y,s,l,f.label,p))}else{let w=d(S);n.push(...Mn(o.x,i,w,l,f.label,p))}}else if("x"in f){let S=t.x(f.x);if(S===void 0)continue;x?n.push(...Mn(o.x,i,d(h(S)),l,f.label,p)):n.push(...wn(a(h(S)),o.y,s,l,f.label,p))}else if("y1"in f){let S=h(t.y(f.y1,f.axis??"left")),w=h(t.y(f.y2,f.axis??"left"));x?n.push(...$n(a(Math.min(S,w)),a(Math.max(S,w)),o,l,f.label,u)):n.push(...Sn(d(Math.min(S,w)),d(Math.max(S,w)),o,l,f.label,u))}else{let S=t.x(f.x1),w=t.x(f.x2);if(S===void 0||w===void 0)continue;let m=h(Math.min(S,w)),k=h(Math.max(S,w));x?n.push(...Sn(d(m),d(k),o,l,f.label,u)):n.push(...$n(a(m),a(k),o,l,f.label,u))}}return n}function Mn(e,t,n,o,i,s){let a={kind:"line",part:"reference",x1:e,x2:t,y1:n,y2:n,stroke:o,dash:"6 4",strokeWidth:1.5,title:i};return i?[a,W(t-4,n-5,i,{...s,anchor:"end"})]:[a]}function wn(e,t,n,o,i,s){let a={kind:"line",part:"reference",x1:e,x2:e,y1:t,y2:n,stroke:o,dash:"6 4",strokeWidth:1.5,title:i};return i?[a,W(e+4,t+10,i,{...s,anchor:"start"})]:[a]}function Sn(e,t,n,o,i,s){let a={kind:"rect",part:"reference-area",x:n.x,y:e,width:n.width,height:h(Math.max(0,t-e)),fill:o,opacity:.12,title:i};return i?[a,W(n.x+n.width-4,e+12,i,{part:"reference-label",fill:s,anchor:"end"})]:[a]}function $n(e,t,n,o,i,s){let a={kind:"rect",part:"reference-area",x:e,y:n.y,width:h(Math.max(0,t-e)),height:n.height,fill:o,opacity:.12,title:i};return i?[a,W(e+4,n.y+12,i,{part:"reference-label",fill:s,anchor:"start"})]:[a]}function vn(e,t){let n=[],{plot:o}=t,i=o.x+o.width,s=o.y+o.height;for(let a of e??[]){let d=a.color??Rt(a.variant),f=a.color??Lt(a.variant),l=(w,m,k)=>{let M=t.x(w);if(M===void 0)return;let c=t.y(m,k??"left");return t.horizontal?{x:h(c),y:h(M)}:{x:h(M),y:h(c)}},u=a.id??a.label,p=w=>({label:w,id:u,name:a.label});if(a.type==="line"||a.type==="band"){let{type:w,id:m,...k}=a;n.push(...Et([k],t));continue}if(a.type==="rect"){let w=l(a.x1,a.y1,a.axis),m=l(a.x2,a.y2,a.axis);if(!w||!m)continue;let k=Math.max(o.x,Math.min(w.x,m.x)),M=Math.max(o.y,Math.min(w.y,m.y)),c=a.label??"";n.push({kind:"rect",part:"annotation-rect",x:h(k),y:h(M),width:h(Math.max(0,Math.min(i,Math.max(w.x,m.x))-k)),height:h(Math.max(0,Math.min(s,Math.max(w.y,m.y))-M)),fill:d,opacity:.12,stroke:d,title:c||void 0,item:c?p(c):void 0}),a.label&&n.push(W(h(k+4),h(M+12),a.label,{part:"annotation-label",fill:f}));continue}let x=l(a.x,a.y,a.axis);if(!x)continue;if(a.type==="text"){n.push(W(x.x,x.y,a.text,{part:"annotation-text",fill:f,anchor:"middle",baseline:"middle",title:a.label}));continue}let S=a.label??`${String(a.x)}, ${a.y}`;if(n.push({kind:"circle",part:"annotation-point",cx:x.x,cy:x.y,r:5,fill:d,stroke:"var(--skdx-color-surface-default)",title:S,item:p(S)}),a.type==="callout"&&a.label){let[w,m]=a.offset??[16,-16],k=h(Math.max(o.x,Math.min(i,x.x+w))),M=h(Math.max(o.y,Math.min(s,x.y+m)));n.push({kind:"line",part:"annotation-leader",x1:x.x,y1:x.y,x2:k,y2:M,stroke:d},W(k,M,a.label,{part:"annotation-label",fill:f,anchor:w>=0?"start":"end",baseline:"middle"}))}}return n}var Dt=2e3;function qn(e){if(e!=="none")return e===void 0||e==="auto"?{strategy:"lttb",threshold:Dt}:typeof e=="string"?{strategy:e,threshold:Dt}:{strategy:e.strategy,threshold:e.threshold??Dt}}function Kn(e,t){let n=e.length;if(t>=n||t<3)return e.map((d,f)=>f);let o=[0],i=[],s=(n-2)/(t-2),a=0;for(let d=0;d<t-2;d++){let f=Math.floor((d+1)*s)+1,l=Math.min(n-1,Math.floor((d+2)*s)+1),u=0,p=0,x=0;for(let g=f;g<l;g++){let I=e[g];v(I)&&(u+=g,p+=I,x++)}u=x?u/x:(f+l)/2,p=x?p/x:0;let S=Math.floor(d*s)+1,w=Math.min(n-1,Math.floor((d+1)*s)+1),m=e[a],k=v(m)?m:0,M=-1,c=-1;for(let g=S;g<w;g++){let I=e[g];if(!v(I)){i.push(g);continue}let y=Math.abs((a-u)*(I-k)-(a-g)*(p-k));y>c&&(c=y,M=g)}M<0&&(M=S),o.push(M),a=M}return o.push(n-1),i.length?[...new Set([...o,...i])].sort((d,f)=>d-f):o}function Xn(e,t){let n=e.length,o=Math.max(1,Math.floor(t/2));if(o*2>=n)return e.map((a,d)=>d);let i=[],s=n/o;for(let a=0;a<o;a++){let d=Math.floor(a*s),f=a===o-1?n:Math.floor((a+1)*s),l=-1,u=-1;for(let p=d;p<f;p++){let x=e[p];if(!v(x)){i.push(p);continue}(l<0||x<e[l])&&(l=p),(u<0||x>e[u])&&(u=p)}l>=0&&i.push(Math.min(l,u)),u>=0&&u!==l&&i.push(Math.max(l,u))}return[...new Set(i)].sort((a,d)=>a-d)}function Yn(e,t){let n=e.length,o=Math.max(1,Math.floor(t/4));if(o*4>=n)return e.map((a,d)=>d);let i=[],s=n/o;for(let a=0;a<o;a++){let d=Math.floor(a*s),f=a===o-1?n:Math.floor((a+1)*s),l=-1,u=-1,p=-1,x=-1;for(let S=d;S<f;S++){let w=e[S];if(!v(w)){i.push(S);continue}p<0&&(p=S),x=S,(l<0||w<e[l])&&(l=S),(u<0||w>e[u])&&(u=S)}for(let S of[p,l,u,x])S>=0&&i.push(S)}return[...new Set(i)].sort((a,d)=>a-d)}function Cn(e,t,n){let o=qn(n);if(!o||t<=o.threshold||e.length===0)return;let i=o.strategy==="minmax"?Xn:o.strategy==="m4"?Yn:Kn,s=new Set;for(let a of e)for(let d of i(a.slice(0,t),o.threshold))s.add(d);return[...s].sort((a,d)=>a-d)}function In(e,t,n,o,i,s,a,d){if(o==="circle")return{...He(e,t,n,i,s,a),part:d};let f=o==="square"?`M${h(e-n)} ${h(t-n)}h${h(2*n)}v${h(2*n)}h${h(-2*n)}Z`:o==="diamond"?`M${h(e)} ${h(t-n*1.3)}L${h(e+n*1.3)} ${h(t)}L${h(e)} ${h(t+n*1.3)}L${h(e-n*1.3)} ${h(t)}Z`:`M${h(e)} ${h(t-n*1.2)}L${h(e+n*1.15)} ${h(t+n*.9)}L${h(e-n*1.15)} ${h(t+n*.9)}Z`;return{kind:"path",part:d,d:f,fill:i,title:s,item:a}}var Jn=e=>{let t=0;return e.map(n=>v(n)?t+=n:null)},Qn=e=>e.map((t,n)=>{let o=e[n-1];return n>0&&v(t)&&v(o)?t-o:null}),er=e=>e.map((t,n)=>{let o=e[n-1];return n>0&&v(t)&&v(o)&&o!==0?(t-o)/Math.abs(o):null});function tr(e,t){let n=Math.max(1,Math.floor(t));return e.map((o,i)=>{if(i<n-1)return null;let s=0;for(let a=i-n+1;a<=i;a++){let d=e[a];if(!v(d))return null;s+=d}return s/n})}function nr(e,t="max"){let n=0;for(let o of e)v(o)&&(n=t==="sum"?n+o:Math.max(n,o));return e.map(o=>v(o)?n===0?0:o/n:null)}function rr(e,t="desc"){let n=e.filter(v).sort((o,i)=>t==="asc"?o-i:i-o);return e.map(o=>v(o)?n.indexOf(o)+1:null)}var or=(e,t=-1/0,n=1/0)=>e.map(o=>v(o)&&o>=t&&o<=n?o:null),ar=(e,t="asc")=>[...e].sort((n,o)=>v(n)?v(o)?t==="asc"?n-o:o-n:-1:v(o)?1:0);function ir(e,t,n="sum"){let o=Math.max(1,Math.floor(t)),i=[];for(let s=0;s<e.length;s+=o){let a=e.slice(s,s+o).filter(v);if(a.length===0){i.push(null);continue}let d=a.reduce((f,l)=>f+l,0);i.push(n==="sum"?d:n==="mean"?d/a.length:n==="min"?Math.min(...a):Math.max(...a))}return i}function sr(e,t={}){let n=e.filter(v),o=it(n,t);return{edges:o,counts:st(n,o).map(i=>i.count)}}function Bt(e,t){let n=[...e];for(let o of t??[])switch(o.type){case"cumulative":n=Jn(n);break;case"difference":n=Qn(n);break;case"percentageChange":n=er(n);break;case"movingAverage":n=tr(n,o.window);break;case"normalize":n=nr(n,o.to);break;case"rank":n=rr(n,o.order);break;case"filter":n=or(n,o.min,o.max);break;case"sort":n=ar(n,o.order);break;case"aggregate":n=ir(n,o.every,o.method);break;case"bin":n=sr(n,o).counts;break}return n}var lr=100,cr=2e3,An=32,On=28,bt=e=>e.position==="right"||e.position==="top";function dr(e){let n=(e.yAxis===void 0?[]:Array.isArray(e.yAxis)?e.yAxis:[e.yAxis]).map((i,s)=>({...i,id:i.id??(s===0?"left":s===1?"right":String(s)),position:i.position??(s===1?"right":"left")}));n.length===0&&n.push({id:"left",position:"left"});let o=n.some(i=>i.id==="right"||bt(i));return e.rightAxis?n.push({...e.rightAxis,id:"right",position:"right"}):!o&&e.series.some(i=>i.axis==="right")&&n.push({id:"right",position:"right"}),n}function Rn(e,t){let n=e[0]?.id;return t===void 0||t==="left"?n:t==="right"?(e.find(o=>o.id==="right")??e.find(bt))?.id:e.find(o=>o.id===t)?.id}var xt=e=>e.kind==="bar"||e.kind==="range"&&e.style==="bar";function We(e,t){let n=ce(e.format),{series:o,categories:i,issues:s,axes:a}=hr(e,t,n),d=e.direction==="rtl",f=e.baseline??0,l=Math.max(i.length,...o.map(r=>Math.max(r.data.length,r.low.length))),u=o.every(r=>fe(r.data).length===0&&fe(r.high).length===0),p=ut(e,u);if(p)return{...p,issues:s};let x=e.xAxis?.type??"category",S=x!=="category"&&i.length>0&&i.every(r=>typeof r!="string"||x==="time"&&v(de(r))),w=S?i.map(de):[],[m,k]=he(w),M=e.xAxis?.format??(x==="time"?{style:k-m<2*864e5?"time":"date"}:void 0),c=Array.from({length:l},(r,b)=>{let C=i[b];return C===void 0?String(b+1):at(C,M)}),g=fr(e.zoom,l),I=Array.from({length:g.end-g.start},(r,b)=>g.start+b),y=e.orientation==="horizontal",z=o.map(r=>({...r,hidden:r.hidden||y&&!xt(r)})).filter(r=>!r.hidden),P=z.some(r=>!xt(r))?Cn(z.filter(r=>!xt(r)).map(r=>I.map(b=>(r.kind==="range"?r.high[b]:r.data[b])??null)),I.length,e.sampling):void 0,L=P?P.map(r=>I[r]):I,U=e.stacked==="percent"||e.stackOffset==="expand",Z=e.stackOffset??"zero",Q=new Map,J=new Map,ue=new Map;for(let r of z)r.stack!==void 0&&r.kind!=="range"&&ue.set(r.stack,[...ue.get(r.stack)??[],r]);for(let r of ue.values()){let b=new Array(l).fill(f),C=new Array(l).fill(f),D=new Array(l).fill(0);if(U)for(let F of r)F.data.forEach((R,B)=>{v(R)&&(D[B]=D[B]+Math.abs(R))});for(let F of r){let R=[],B=[];for(let V=0;V<l;V++){let E=F.data[V];if(!v(E)){R.push(null),B.push(null);continue}let O=D[V],A=U?O>0?E/O:0:E,j=A>=0?b:C;R.push(j[V]),j[V]=j[V]+A,B.push(j[V])}Q.set(F,R),J.set(F,B)}if(Z==="silhouette"||Z==="wiggle"){let F=new Array(l).fill(0);if(Z==="silhouette")for(let R=0;R<l;R++)F[R]=-(b[R]-f)/2;else{let R=0;for(let B=0;B<l;B++){let V=r.length,E=0;for(let A=0;A<V;A++){let j=r[A],N=j.data[B],G=j.data[B-1],X=B>0&&v(N)&&v(G)?N-G:0;E+=(V-A-.5)*X}let O=b[B]-f;R=B===0?-O/2:R-(O>0?E/Math.max(1,V):0),F[B]=R}}for(let R of r){let B=Q.get(R),V=J.get(R);for(let E=0;E<l;E++){let O=B[E],A=V[E];v(O)&&(B[E]=O+F[E]),v(A)&&(V[E]=A+F[E])}}}}let Ze=r=>r.kind==="range"?{from:r.low,to:r.high}:{from:Q.get(r)??new Array(l).fill(f),to:J.get(r)??r.data},ke=r=>{let b=[],C=!1;for(let R of z){if(R.axis!==r)continue;let{from:B,to:V}=Ze(R);for(let E of L){let O=V[E];if(v(O)&&b.push(O),R.kind==="range"||R.stack!==void 0){let A=B[E];v(A)&&b.push(A)}}if(R.errors)for(let E of L){let O=Tn(R.data[E],R.errors[E]);O&&b.push(O[0],O[1])}(R.kind==="bar"||R.kind==="area")&&Z==="zero"&&(C=!0)}let[D,F]=he(b);return C?[Math.min(f,D),Math.max(f,F)]:[D,F]},{width:me,height:Ie}=Ce(e),qe=e.brush?An+On:0,Ke=L.reduce((r,b)=>Math.max(r,c[b].length),0)*ae,Ae=U?{style:"percent"}:void 0,T=r=>{if(r.scale==="log")return ee.left;let[b,C]=ke(r.id),D=ce(r.format??Ae??e.format);return yn([r.min??b,r.max??C],D)+(r.showTicks?r.tickSize??4:0)},q=r=>y?bt(r)?"top":"bottom":bt(r)!==d?"right":"left",te=r=>y?24+(r.showTicks?r.tickSize??4:0):T(r),xe=new Set(z.map(r=>r.axis)),Y=a.filter(r=>xe.has(r.id)||a.length>1),K=new Map,ne={left:0,right:0,top:0,bottom:0};for(let r of Y){let b=q(r);K.set(r.id,ne[b]),ne[b]+=te(r)}let Oe=Y.find(r=>q(r)==="bottom"),re=o.map(r=>({name:r.name,color:r.color})),Xe={top:ee.top+dt(e,re,me)+(a.some(r=>r.label)?12:0)+ne.top,right:y?d?Math.max(ee.left,Ke+16):ee.right:Math.max(ee.right,ne.right),bottom:ee.bottom+qe+(e.xAxis?.label?14:0)+(e.xAxis?.tickRotation?24:0)+ne.bottom-(Oe?te(Oe):0),left:y?d?ee.right:Math.max(ee.left,Ke+16):Math.max(ee.left,ne.left)},_=hn(me,Ie,Xe),oe=y?d?[_.x+_.width,_.x]:[_.x,_.x+_.width]:[_.y+_.height,_.y],Me=y?[_.y,_.y+_.height]:d?[_.x+_.width,_.x]:[_.x,_.x+_.width],Te=new Map(a.map(r=>[r.id,{...gn(ke(r.id),oe,{format:Ae,...r},e.format),position:q(r),offset:K.get(r.id)??0}])),_t=a[0]?.id,Ye=Te.get(_t),yt=r=>Te.get(Rn(a,r)??_t)??Ye,se=(r,b)=>yt(b).scale(r),Nt=r=>h(r.scale(Math.min(Math.max(f,Math.min(...r.domain)),Math.max(...r.domain)))),Je=an(L.length,Me,e.barGap),kt=L.map(r=>w[r]),Mt=[...kt].sort((r,b)=>r-b),we=1/0;for(let r=1;r<Mt.length;r++)we=Math.min(we,Mt[r]-Mt[r-1]);let[Se,Re]=he(kt),le=we===1/0?Math.max(1,Math.abs(Re)*.05||1):we/2,Le=ve([Se-le,Re+le],Me),Qe=r=>h(S?Le(kt[r]):Je.center(r)),Ht=S?Math.abs(Le(Se+(we===1/0?le:we))-Le(Se))*.8:Je.bandwidth,Wt=r=>S?Qe(r)-Ht/2:Je.start(r),Dn=S?(x==="time"?ln(Se-le,Re+le):ge(Se-le,Re+le)).filter(r=>r>=Se-le&&r<=Re+le).map(r=>({pos:h(Le(r)),label:at(r,M)})):ht(L.map((r,b)=>({pos:Qe(b),label:c[r]})),y?1/0:_.width/Math.max(.2,Math.abs(Math.cos((e.xAxis?.tickRotation??0)*Math.PI/180)))),wt={...Ne(e,me,Ie,re),plot:_,xTicks:Dn,yTicks:y?ht(Ye.ticks,_.width):Ye.ticks,baseline:Nt(Ye)},Bn=a[0],Gt=Ft(wt,{horizontal:y,rtl:d,axes:Y.map(r=>{let b=Te.get(r.id);return{ticks:y?ht(b.ticks,_.width):b.ticks,position:b.position,offset:b.offset??0,label:r.label,showLine:r.showLine,showTicks:r.showTicks,tickSize:r.tickSize}}),xLabel:e.xAxis?.label,grid:kn(Bn),categoryGrid:e.xAxis?.grid===!0,x:e.xAxis}),jn=r=>{if(typeof r=="number"&&i.every(C=>typeof C=="string"))return r;let b=typeof r=="string"?r:de(r);for(let C=0;C<l;C++){let D=i[C];if(D!==void 0&&(typeof b=="string"?D===b||c[C]===b:de(D)===b))return C}},Ut={plot:_,horizontal:y,x:r=>{if(S&&(typeof r!="string"||v(de(r))))return Le(de(r));let b=jn(r),C=b===void 0?-1:L.indexOf(b);return C<0?void 0:Je.center(C)},y:(r,b)=>se(r,b)},Zt=Et(e.references,Ut);Gt.push(...Zt.filter(r=>r.part!=="reference-label"));let _n=pt(Zt.filter(r=>r.part==="reference-label")),St=[],$t=new Map;for(let r of z){if(!xt(r))continue;let b=r.stack??r,C=St.indexOf(b);C<0&&(C=St.push(b)-1),$t.set(r,C)}let et=Ht/Math.max(1,St.length),pe=Math.min(et,e.barWidth??1/0),qt=(et-pe)/2,vt=[],tt=[],Ct=[],It=[],At=[],Kt=[],nt=[],rt=r=>yt(r.axis).format,Ot=Math.max(0,e.minBarSize??0),Nn=(r,b,C)=>{let D=Math.abs(b-r);if(D>=Ot)return[Math.min(r,b),D];let R=r+(y?C?1:-1:C?-1:1)*Ot;return[Math.min(r,R),Ot]},Ve=(r,b,C,D)=>({label:D,series:r.name,seriesId:r.id??r.name,category:c[b],index:b,value:C}),Xt=(r,b,C,D)=>{let F=Tn(D,r.errors?.[b]);if(!F)return;let R=h(se(F[0],r.axis)),B=h(se(F[1],r.axis)),V=4,E="var(--skdx-color-text-default)",O=`${r.name}, ${c[b]}: ${rt(r)(F[0])} \u2013 ${rt(r)(F[1])}`;Kt.push(y?{kind:"line",part:"error-bar",x1:R,x2:B,y1:C,y2:C,stroke:E,title:O}:{kind:"line",part:"error-bar",x1:C,x2:C,y1:R,y2:B,stroke:E,title:O},y?{kind:"line",part:"error-cap",x1:R,x2:R,y1:h(C-V),y2:h(C+V),stroke:E}:{kind:"line",part:"error-cap",x1:h(C-V),x2:h(C+V),y1:R,y2:R,stroke:E},y?{kind:"line",part:"error-cap",x1:B,x2:B,y1:h(C-V),y2:h(C+V),stroke:E}:{kind:"line",part:"error-cap",x1:h(C-V),x2:h(C+V),y1:B,y2:B,stroke:E})};for(let r of z){let{from:b,to:C}=Ze(r),D=rt(r),F=L.length<=cr;if(r.kind==="bar"){let O="";L.forEach((A,j)=>{let N=r.data[A],G=b[A],X=C[A];if(!v(N)||!v(G)||!v(X))return;let $e=se(G,r.axis),be=se(X,r.axis),[ze,Pe]=Nn($e,be,X>=G),Fe=Wt(j)+$t.get(r)*et+qt,Jt=h(y?ze:Fe),Qt=h(y?Fe:ze),Tt=h(y?Pe:pe),en=h(y?pe:Pe);if(!F){O+=`M${Jt} ${Qt}h${Tt}v${en}h${-Tt}Z`;return}let tn=zt(r.name,c[A],U?X-G:N,D);if(tt.push({kind:"rect",part:"bar",x:Jt,y:Qt,width:Tt,height:en,fill:r.color,rx:e.radius,title:tn,item:Ve(r,A,N,tn)}),Xt(r,A,h(Fe+pe/2),N),e.labels){let nn=D(U?X-G:N);At.push(y?W(h(Math.max($e,be)+4),h(Fe+pe/2),nn,{baseline:"middle"}):W(h(Fe+pe/2),h(Math.min($e,be)-4),nn,{anchor:"middle"}))}}),O&&tt.push({kind:"path",part:"bars",d:O,fill:r.color,title:r.name});continue}if(r.kind==="range"&&r.style==="bar"){L.forEach((O,A)=>{let j=b[O],N=C[O];if(!v(j)||!v(N))return;let G=se(Math.min(j,N),r.axis),X=se(Math.max(j,N),r.axis),$e=Wt(A)+$t.get(r)*et+qt,be=`${r.name}, ${c[O]}: ${D(Math.min(j,N))} \u2013 ${D(Math.max(j,N))}`,ze=Ve(r,O,N,be),Pe=Math.max(1,Math.abs(X-G));tt.push(y?{kind:"rect",part:"range",x:h(Math.min(G,X)),y:h($e),width:h(Pe),height:h(pe),fill:r.color,rx:e.radius,title:F?be:void 0,item:ze}:{kind:"rect",part:"range",x:h($e),y:h(Math.min(G,X)),width:h(pe),height:h(Pe),fill:r.color,rx:e.radius,title:F?be:void 0,item:ze})});continue}let R=e.nulls==="connect"||e.nulls===void 0&&e.connectNulls,B=[],V=[];L.forEach((O,A)=>{let j=b[O],N=C[O];if(!v(N)||!v(j)){!R&&V.length&&(B.push(V),V=[]);return}V.push({x:Qe(A),y:h(se(N,r.axis)),y0:h(se(j,r.axis)),i:O})}),V.length&&B.push(V);let E=r.markers??L.length<=lr;for(let O of B){let A=ye(O,r.curve);if(r.kind==="range"&&r.style==="line"){Ct.push({kind:"path",part:"range-high",d:A,stroke:r.color,strokeWidth:2,strokeLinejoin:"round"},{kind:"path",part:"range-low",d:ye(O.map(j=>({x:j.x,y:j.y0})),r.curve),stroke:r.color,strokeWidth:2,strokeLinejoin:"round",dash:"4 3"});continue}if(r.kind==="range"){let j=ye([...O].reverse().map(N=>({x:N.x,y:N.y0})),r.curve);vt.push({kind:"path",part:"range",d:`${A}L${j.slice(1)}Z`,fill:r.color,fillOpacity:.2,title:r.name});continue}if(r.kind==="area"){let j=Nt(yt(r.axis)),N=r.stack!==void 0?ye([...O].reverse().map(X=>({x:X.x,y:X.y0})),r.curve).slice(1):`${O[O.length-1]?.x} ${j}L${O[0]?.x} ${j}`,G=`skdx-g-${r.index}`;r.gradient&&!nt.some(X=>X.id===G)&&nt.push({id:G,vertical:!0,stops:[{offset:0,color:r.color,opacity:r.fillOpacity},{offset:1,color:r.color,opacity:0}]}),vt.push({kind:"path",part:"area",d:`${A}L${N}Z`,fill:r.gradient?`url(#${G})`:r.color,fillOpacity:r.gradient?void 0:r.fillOpacity})}Ct.push({kind:"path",part:"line",d:A,stroke:r.color,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",dash:r.dash})}if(r.kind==="range"&&F)for(let O of B)for(let A of O){let j=r.low[A.i],N=r.high[A.i],G=`${r.name}, ${c[A.i]}: ${D(Math.min(j,N))} \u2013 ${D(Math.max(j,N))}`;It.push({...He(A.x,A.y,.01,r.color,G,Ve(r,A.i,N,G)),part:"anchor"})}if(r.kind!=="range")for(let O of B)for(let A of O){if(!E&&!F&&!e.labels&&!r.errors)continue;let j=r.data[A.i],N=U?C[A.i]-b[A.i]:j,G=zt(r.name,c[A.i],N,D);(E||F)&&It.push(E&&r.symbol!=="circle"?In(A.x,A.y,r.markerSize,r.symbol,r.color,F?G:void 0,Ve(r,A.i,j,G),"point"):{...He(A.x,A.y,E?r.markerSize:.01,r.color,F?G:void 0,Ve(r,A.i,j,G)),part:E?"point":"anchor"}),F&&Xt(r,A.i,y?A.y:A.x,C[A.i]),e.labels&&At.push(W(A.x,A.y-8,D(N),{anchor:"middle"}))}}let Yt={plot:_,xs:y?[]:L.map((r,b)=>Qe(b)),rows:L.map(r=>[c[r],...z.map(b=>{let C=rt(b);if(b.kind==="range"){let F=b.low[r],R=b.high[r];return`${b.name}: ${v(F)&&v(R)?`${C(F)} \u2013 ${C(R)}`:"\u2014"}`}let D=b.data[r];return`${b.name}: ${v(D)?C(U?(J.get(b)?.[r]??0)-(Q.get(b)?.[r]??0):D):"\u2014"}`})]),count:l,zoom:g,crosshair:mn(e)},ot=[];if(e.brush&&!y){let r={x:_.x,y:_.y+_.height+On,width:_.width,height:An},b=z.find(D=>D.kind!=="range"),C={x:h(r.x+g.start/Math.max(1,l)*r.width),y:r.y,width:h((g.end-g.start)/Math.max(1,l)*r.width),height:r.height};if(ot.push({kind:"rect",part:"brush",x:r.x,y:r.y,width:r.width,height:r.height,fill:"var(--skdx-color-surface-sunken)",stroke:H.grid}),b){let D=fe(b.data),[F,R]=he(D),B=l>1?r.width/(l-1):0,V=b.data.flatMap((O,A)=>v(O)?[{x:h(r.x+A*B),y:h(r.y+r.height-(R===F?.5:(O-F)/(R-F))*(r.height-4)-2)}]:[]),E=ye(V);V.length>1&&ot.push({kind:"path",part:"brush-series",d:`${E}L${V[V.length-1]?.x} ${r.y+r.height}L${V[0]?.x} ${r.y+r.height}Z`,fill:b.color,fillOpacity:.3})}ot.push({kind:"rect",part:"brush-window",...C,fill:"var(--skdx-color-primary-500)",opacity:.15,stroke:H.axis},{kind:"rect",part:"brush-handle",x:h(C.x-3),y:r.y+8,width:6,height:r.height-16,fill:H.axis,rx:8},{kind:"rect",part:"brush-handle",x:h(C.x+C.width-3),y:r.y+8,width:6,height:r.height-16,fill:H.axis,rx:8}),Yt.brush={box:r,window:C}}return{...wt,shapes:[...Gt,...vt,...tt,...Ct,...Kt,...It,...At,..._n,...vn(e.annotations,Ut),...ot,...wt.shapes],hit:Yt,issues:s,defs:nt.length?nt:void 0}}function Tn(e,t){if(!(!v(e)||t===null||t===void 0))return typeof t=="number"?v(t)?[e-Math.abs(t),e+Math.abs(t)]:void 0:v(t[0])&&v(t[1])?[Math.min(t[0],t[1]),Math.max(t[0],t[1])]:void 0}function fr(e,t){if(!e||t<2)return{start:0,end:t};let n=Math.max(0,Math.min(t-1,Math.floor(e.start))),o=Math.max(n+1,Math.min(t,Math.ceil(e.end)));return o-n<2&&t>=2?{start:Math.min(n,t-2),end:Math.min(n,t-2)+2}:{start:n,end:o}}function hr(e,t,n){let o=c=>c.type??t,i=[],s=dr(e),a=e.categories??[],d=(e.transforms??[]).filter(c=>c.type==="sort"||c.type==="bin"||c.type==="aggregate"),f=(e.transforms??[]).filter(c=>!d.includes(c)),l=e.stacked||e.stackOffset!==void 0&&e.stackOffset!=="zero",u=(c,g,I)=>{let y=I.filter($=>$!==null&&!(typeof $=="number"&&Number.isFinite($))).length;y&&i.push({code:"invalid-value",severity:"warning",message:`Series "${c}" has ${y} value${y===1?"":"s"} that ${y===1?"is":"are"} neither a number nor null; drawn as gaps.`,itemId:g??c}),a.length&&I.length!==a.length&&!e.transform&&i.push({code:"length-mismatch",severity:"warning",message:`Series "${c}" has ${I.length} values for ${a.length} categories.`,itemId:g??c})},p=e.series.map((c,g)=>{let I=o(c),y=l?!0:void 0,$=c.type==="range"?void 0:c.stack,z=$===!1?void 0:$===!0||$===void 0&&y?`${I}`:$;c.type==="range"?(u(c.name,c.id,c.low),u(c.name,c.id,c.high)):u(c.name,c.id,c.data);let P=U=>e.nulls==="zero"?U.map(Z=>v(Z)?Z:0):U,L=Rn(s,c.axis);return L===void 0&&i.push({code:"unknown-axis",severity:"warning",message:`Series "${c.name}" names axis "${String(c.axis)}", which is not defined; drawn on the first axis.`,itemId:c.id??c.name}),{name:c.name,id:c.id,color:_e(e,g,c.color),axis:L??s[0]?.id,hidden:ft(e,c.name),index:g,kind:I,data:c.type==="range"?[]:P(Bt(Bt(c.data,f),c.transforms)),low:c.type==="range"?c.low:[],high:c.type==="range"?c.high:[],curve:c.curve??e.curve??"linear",dash:c.type==="range"?void 0:c.dash,markers:c.type==="range"?void 0:c.markers,symbol:c.type==="range"?"circle":c.symbol??"circle",markerSize:c.type==="range"?3:c.markerSize??3,errors:c.type==="range"?void 0:c.errors,stack:I==="range"||I==="line"?void 0:z,style:c.type==="range"?c.style??"area":"area",fillOpacity:(c.type==="range"?void 0:c.fillOpacity)??e.fillOpacity??.25,gradient:c.type!=="range"&&c.gradient===!0}}),x=()=>Math.max(a.length,...p.map(c=>Math.max(c.data.length,c.low.length))),S=c=>{let g=y=>y.length?c.map($=>y[$]??null):y,I=Array.from({length:x()},(y,$)=>a[$]??String($+1));a=c.map(y=>I[y]),p=p.map(y=>({...y,data:g(y.data),low:g(y.low),high:g(y.high)}))},w=(c,g)=>{let I=(g!==void 0?p.find($=>$.name===g):void 0)??p.find($=>!$.hidden&&$.kind!=="range")??p[0];g!==void 0&&!p.some($=>$.name===g)&&i.push({code:"unknown-series",severity:"warning",message:`sort.by names "${g}", which is not a series; sorted by the first series.`});let y=Array.from({length:x()},($,z)=>z).sort(($,z)=>{let P=I?.data[$]??I?.high[$],L=I?.data[z]??I?.high[z],U=v(P)?P:-1/0,Z=v(L)?L:-1/0;return c==="asc"?U-Z:Z-U});S(y)},m=c=>{let g=p.flatMap(y=>fe(y.data)),I=it(g,c);a=I.slice(1).map((y,$)=>`${n(I[$])}\u2013${n(y)}`),p=p.map(y=>{let $=fe(y.data),z=0,P=st($,I).map(L=>e.binMode==="density"?$.length?L.count/($.length*(L.x1-L.x0)):0:e.binMode==="cumulative"?z+=L.count:L.count);return{...y,data:P}})},k=(c,g)=>{let I=Math.max(1,Math.floor(c)),y=x(),$=P=>{if(!P.length)return P;let L=[];for(let U=0;U<y;U+=I){let Z=fe(P.slice(U,U+I));L.push(Z.length===0?null:g==="sum"?Z.reduce((Q,J)=>Q+J,0):g==="mean"?Z.reduce((Q,J)=>Q+J,0)/Z.length:g==="min"?Math.min(...Z):Math.max(...Z))}return L};a=Array.from({length:y},(P,L)=>a[L]??String(L+1)).filter((P,L)=>L%I===0),p=p.map(P=>({...P,data:$(P.data),low:$(P.low),high:$(P.high)}))};e.transform==="histogram"?m({bins:e.bins,binWidth:e.binWidth,domain:e.binDomain}):e.transform==="cumulative"&&(p=p.map(c=>{let g=0;return{...c,data:c.data.map(I=>v(I)?g+=I:g)}}));for(let c of d)c.type==="sort"?w(c.order??"desc"):c.type==="bin"?m(c):c.type==="aggregate"&&k(c.every,c.method??"sum");typeof e.sort=="string"?w(e.sort):e.sort&&w(e.sort.order,e.sort.by);let M=e.xAxis?.domain;if(M){let c=x(),g=Array.from({length:c},(z,P)=>a[P]??String(P+1)),I=z=>{let P=typeof z=="string"?z:de(z);return g.findIndex(L=>typeof P=="string"?L===P||at(L)===P:de(L)===P)},y=M.map(I),$=z=>z.length?y.map(P=>P<0?null:z[P]??null):z;a=[...M],p=p.map(z=>({...z,data:$(z.data),low:$(z.low),high:$(z.high)}))}return{series:p,categories:a,issues:i,axes:s}}var Ln=e=>We(e,"bar");var ie=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;"),Ge=e=>e.filter(([,t])=>t!==void 0&&t!=="").map(([t,n])=>` ${t}="${ie(String(n))}"`).join("");function ur(e){let t=e.title?`<title>${ie(e.title)}</title>`:"",n=["data-skdx-part",e.part];switch(e.kind){case"path":return`<path${Ge([n,["d",e.d],["fill",e.fill??"none"],["stroke",e.stroke],["stroke-width",e.strokeWidth],["stroke-linecap",e.strokeLinecap],["stroke-linejoin",e.strokeLinejoin],["stroke-dasharray",e.dash],["opacity",e.opacity],["fill-opacity",e.fillOpacity]])}>${t}</path>`;case"rect":return`<rect${Ge([n,["x",e.x],["y",e.y],["width",e.width],["height",e.height],["rx",e.rx],["fill",e.fill],["stroke",e.stroke],["fill-opacity",e.opacity]])}>${t}</rect>`;case"line":return`<line${Ge([n,["x1",e.x1],["y1",e.y1],["x2",e.x2],["y2",e.y2],["stroke",e.stroke],["stroke-width",e.strokeWidth],["stroke-dasharray",e.dash],["opacity",e.opacity]])}>${t}</line>`;case"circle":return`<circle${Ge([n,["cx",e.cx],["cy",e.cy],["r",e.r],["fill",e.fill],["stroke",e.stroke]])}>${t}</circle>`;case"text":return`<text${Ge([n,["aria-label",e.title],["x",e.x],["y",e.y],["text-anchor",e.anchor],["dominant-baseline",e.baseline],["fill",e.fill],["font-weight",e.weight],["transform",e.rotate?`rotate(${e.rotate} ${e.x} ${e.y})`:void 0]])}>${ie(e.text)}</text>`}}function mr(e){let t=e.defs??[];return t.length===0?"":`<defs>${t.map(n=>`<linearGradient id="${ie(n.id)}" x1="0" y1="0" x2="${n.vertical===!1?1:0}" y2="${n.vertical===!1?0:1}">${n.stops.map(o=>`<stop offset="${o.offset}" stop-color="${ie(o.color)}"${o.opacity===void 0?"":` stop-opacity="${o.opacity}"`}/>`).join("")}</linearGradient>`).join("")}</defs>`}function Vn(e,t,n){let o=mr(e)+e.shapes.map(ur).join("");n&&(o=o.replace(/var\((--[\w-]+)\)/g,(a,d)=>n(d).trim()||a));let i=e.decorative?'aria-hidden="true"':`role="img" aria-label="${ie(t)}"`,s=e.description?`<desc>${ie(e.description)}</desc>`:"";return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${e.width} ${e.height}" width="${e.width}" height="${e.height}" ${i} font-family="${ie(H.fontFamily)}" font-size="${ie(H.fontSize)}"><title>${ie(t)}</title>${s}${o}</svg>`}var zn=e=>We(e,"line"),Pn=e=>We(e,"area");function jt(e){return e==null?[]:(Array.isArray(e)?e:[e]).map(n=>typeof n=="object"?n:{id:n})}var pr=e=>e.id??e.name??e.series,xr=e=>e.seriesId??e.series;function br(e,t){let n=!1;return t.id!==void 0&&(n=!0,pr(e)!==t.id&&e.id!==t.id&&e.name!==t.id)||t.series!==void 0&&(n=!0,xr(e)!==t.series&&e.series!==t.series)||t.index!==void 0&&(n=!0,e.index!==t.index)||t.category!==void 0&&(n=!0,e.category!==t.category)?!1:n}var Fn=(e,t,n=jt(t))=>n.some(o=>br(e,o));var Ue=2*Math.PI;function gt(e,t,n,o,i,s){let a=(l,u)=>`${h(e+l*Math.sin(u))} ${h(t-l*Math.cos(u))}`;if(s-i>=Ue-1e-9){let l=i+Ue/2;return`${gt(e,t,n,o,i,l)}${gt(e,t,n,o,l,s)}`}let d=s-i>Math.PI?1:0,f=`M${a(n,i)}A${n} ${n} 0 ${d} 1 ${a(n,s)}`;return o>0?`${f}L${a(o,s)}A${o} ${o} 0 ${d} 0 ${a(o,i)}Z`:`${f}L${h(e)} ${h(t)}Z`}function gr(e,t,n,o,i,s,a){let d=s-i;if(a<=0||d>=Ue-1e-9)return gt(e,t,n,o,i,s);let f=Math.sin(Math.min(Math.PI/2,d/2)),l=Math.min(a,o>0?(n-o)/2:n/2,n*f/(1+f));if(o>0&&f<1&&(l=Math.min(l,o*f/(1-f))),l<=.25)return gt(e,t,n,o,i,s);let u=(k,M)=>`${h(e+k*Math.sin(M))} ${h(t-k*Math.cos(M))}`,p=k=>`A${h(l)} ${h(l)} 0 0 1 ${k}`,x=Math.asin(l/(n-l)),S=Math.sqrt((n-l)**2-l*l),w=s-i-2*x>Math.PI?1:0,m=`M${u(S,i)}${p(u(n,i+x))}A${n} ${n} 0 ${w} 1 ${u(n,s-x)}${p(u(S,s))}`;if(o>0){let k=Math.asin(l/(o+l)),M=Math.sqrt((o+l)**2-l*l),c=s-i-2*k>Math.PI?1:0;m+=`L${u(M,s)}${p(u(o,s-k))}A${o} ${o} 0 ${c} 0 ${u(o,i+k)}${p(u(M,i))}Z`}else m+=`L${h(e)} ${h(t)}Z`;return m}function En(e){let t=[];for(let T of e.data)v(T.value)&&T.value<0&&t.push({code:"negative-value",severity:"warning",message:`"${T.name}" is negative (${T.value}); a share of a whole cannot be, so it is drawn as zero.`,itemId:T.id??T.name});let n=ut(e,!e.data.some(T=>v(T.value)&&T.value>0),300,300);if(n)return{...n,issues:t};let o=ce(e.format),i=e.percentFormat?ce(e.percentFormat):T=>`${Math.round(T*100)}%`,s=Math.max(0,e.cornerRadius??0),{width:a,height:d}=Ce(e,300,300),f=e.data.map((T,q)=>({name:T.name,color:_e(e,q,T.color)})),l=dt(e,f,a),u=(e.startAngle??0)*Math.PI/180,p=(e.endAngle??(e.startAngle??0)+360)*Math.PI/180,x=Math.max(0,Math.min(Ue,p-u)),S=x<=Math.PI+1e-9&&Math.abs(Math.sin(u))>.99,w=e.labels&&e.labelPosition==="outside",m=a/2,k=Math.max(.2,Math.min(1,e.outerRadius??1)),M=w?40:8,c=(S?Math.max(0,Math.min(a/2,d-l)-M):Math.max(0,Math.min(a,d-l)/2-M))*k,g=S?u<0||u>Math.PI?d-M:l+M:l+(d-l)/2,I=c*Math.min(.95,Math.max(0,e.innerRadius??(e.variant==="donut"?.6:0))),y=e.data.map((T,q)=>({...T,i:q,value:v(T.value)&&!ft(e,T.name)?Math.max(0,T.value):0})),$=e.sort?[...y].sort((T,q)=>e.sort==="asc"?T.value-q.value:q.value-T.value):y,z=$.reduce((T,q)=>T+q.value,0),P=$.filter(T=>T.value>0).length,L=Math.max(0,Math.min((e.padAngle??0)*Math.PI/180,x/Math.max(1,P)/2)),U=x>=Ue-1e-9,Z=P>1?U?P:P-1:0,Q=x-Z*L,J=Math.min((e.minAngle??0)*Math.PI/180,Q/Math.max(1,P)),ue=$.map(T=>z>0?T.value/z*Q:0);if(J>0)for(let T=0;T<$.length;T++){let q=$.map((Y,K)=>Y.value>0&&ue[K]<J);if(!q.some(Boolean))break;let te=q.filter(Boolean).length*J,xe=$.reduce((Y,K,ne)=>Y+(q[ne]||K.value<=0?0:K.value),0);if($.forEach((Y,K)=>{ue[K]=q[K]?J:xe>0?Y.value/xe*(Q-te):0}),!$.some((Y,K)=>Y.value>0&&!q[K]&&ue[K]<J))break}let Ze=jt(e.selected),ke=u+(U&&Z?L/2:0),me=[],Ie=[],qe=[],Ke=$.map((T,q)=>{let te=z>0?T.value/z:0,xe=ke,Y=ke+ue[q];te>0&&(ke=Y+L);let K=i(te),ne=`${T.name}: ${o(T.value)} (${K})`,Oe={label:ne,id:T.id??T.name,name:T.name,index:T.i,value:T.value},re=(xe+Y)/2;if(e.labels&&te>0){let _=`${T.name} ${K}`;if(w){let oe=Math.sin(re),Me=h(g-(c+14)*Math.cos(re));qe.some(Te=>Math.abs(Te-Me)<12)||(qe.push(Me),Ie.push({kind:"line",part:"label-connector",x1:h(m+c*oe),y1:h(g-c*Math.cos(re)),x2:h(m+(c+12)*oe),y2:h(g-(c+12)*Math.cos(re)),stroke:H.axis}),me.push(mt(h(m+(c+16)*oe),Me,_,a,{part:"slice-label",anchor:oe>.1?"start":oe<-.1?"end":"middle",baseline:"middle",fill:"var(--skdx-color-text-default)"})))}else if(te>.03){let oe=(c+I)/2;me.push(mt(h(m+oe*Math.sin(re)),h(g-oe*Math.cos(re)),_,a,{part:"slice-label",anchor:"middle",baseline:"middle",fill:"var(--skdx-color-text-on-accent)"}))}}let Xe=Fn(Oe,void 0,Ze)?Math.max(4,c*.06):0;return{kind:"path",part:"slice",d:te>0?gr(m+Xe*Math.sin(re),g-Xe*Math.cos(re),c,I,xe,Y,s):"",fill:_e(e,T.i,T.color),title:ne,item:te>0?Oe:void 0}});e.centerLabel&&me.push(W(h(m),h(S?g-12:g),e.centerLabel,{part:"center-label",anchor:"middle",baseline:"middle",fill:"var(--skdx-color-text-default)",weight:"bold"}));let Ae=Ne(e,a,d,f);return{...Ae,shapes:pt([...Ke,...Ie,...Ae.shapes,...me]),issues:t}}function ko(e){let t=e.type==="pie"?En(e.input):e.type==="bar"?Ln(e.input):e.type==="line"?zn(e.input):Pn(e.input);return Vn(t,e.label,e.resolve)}export{ko as renderChartSvg};