@leonhardthust/dsh-decision-engine 0.0.0-stage → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +55 -2
- package/README.zh.md +57 -0
- package/config.example.yml +436 -0
- package/cordis.patch.yml +14 -0
- package/docs/assets/config-page.png +0 -0
- package/docs/assets/decisions-tab.png +0 -0
- package/docs/assets/hero.jpeg +0 -0
- package/docs/assets/stats-charts-preview.png +0 -0
- package/docs/assets/stats-donut-toggle.png +0 -0
- package/docs/assets/stats-interactive-charts.png +0 -0
- package/docs/assets/stats-point-donut.png +0 -0
- package/docs/assets/stats-ranking-bars.png +0 -0
- package/docs/auto-review-hotfix.md +33 -0
- package/docs/lessons/cloudflare-builds-root-directory.md +51 -0
- package/docs/lessons/cold-start-timeout.md +134 -0
- package/docs/lessons/endpoint-path-vs-model.md +26 -0
- package/docs/lessons/model-field-required-by-provider.md +31 -0
- package/docs/local-dev-link.md +54 -0
- package/docs/releasing.md +69 -0
- package/docs/security-revision.md +130 -0
- package/icon.svg +6 -0
- package/lib/adapters/agent.js +314 -0
- package/lib/adapters/route.js +144 -0
- package/lib/adapters/tools.js +186 -0
- package/lib/adapters/translate.js +143 -0
- package/lib/approval-detail.js +325 -0
- package/lib/client.charts.js +36 -0
- package/lib/client.js +8715 -0
- package/lib/config-file.js +136 -0
- package/lib/credentials.js +187 -0
- package/lib/decision-cache.js +188 -0
- package/lib/decision-points.js +205 -0
- package/lib/decision-store.js +774 -0
- package/lib/endpoint-fallback.js +143 -0
- package/lib/engine.js +312 -0
- package/lib/guard/advisory.js +100 -0
- package/lib/guard/audit.js +81 -0
- package/lib/guard/context.js +128 -0
- package/lib/guard/effects.js +104 -0
- package/lib/guard/fallback.js +139 -0
- package/lib/guard/listener.js +214 -0
- package/lib/guard/messages.js +31 -0
- package/lib/guard/policy.js +28 -0
- package/lib/home-paths.js +86 -0
- package/lib/index.js +3823 -0
- package/lib/outcomes.js +169 -0
- package/lib/points/spec.js +645 -0
- package/lib/providers.js +958 -0
- package/lib/resilience.js +308 -0
- package/lib/scope.js +67 -0
- package/lib/server-config.js +351 -0
- package/lib/session-events.js +75 -0
- package/lib/stats-store.js +916 -0
- package/lib/stats.js +1293 -0
- package/lib/telemetry.js +465 -0
- package/lib/tokenizer.js +201 -0
- package/lib/tolerance.js +498 -0
- package/lib/vendor/microcharts-charts.css +47 -0
- package/lib/vendor-src/entry.js +13 -0
- package/lib/vendor-src/jsx-shim.js +34 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +101 -3
- package/scripts/migrate-profile.mjs +102 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 统计页图表的按需分块(microcharts@0.19.1 子集,**构建期生成**)。
|
|
3
|
+
*
|
|
4
|
+
* 由 scripts/build-microcharts.mjs 生成,**不要手改**。要升级或调整图型
|
|
5
|
+
* 子集,改脚本后重跑;手改会在下次构建时被整个覆盖。
|
|
6
|
+
*
|
|
7
|
+
* 为什么是独立 chunk 而不是内联进 client.js:这包是第三方代码,而
|
|
8
|
+
* client.js 是每个打开设置页的人都要下载的首屏 bundle。图表只有统计页
|
|
9
|
+
* 用得到,内联进去等于让所有人为一个可能永远不打开的 tab 付体积。
|
|
10
|
+
*
|
|
11
|
+
* 用的是 interactive 入口(不是静态入口):静态入口渲染出的图没有
|
|
12
|
+
* hover 读数、不能点选、不能键盘漫游——趋势图有几十个点却不能指着某一个
|
|
13
|
+
* 点问「这是多少」。交互入口多几个 hook,但仍只依赖 react。
|
|
14
|
+
*
|
|
15
|
+
* 依赖面:整份产物只 require("react")——内部对 react/jsx-runtime 的使用
|
|
16
|
+
* 已在构建期被垫片改写成 createElement(见 lib/vendor-src/jsx-shim.js)。
|
|
17
|
+
*
|
|
18
|
+
* 加载方式:宿主 factory 的 require.async("./client.charts.js")。
|
|
19
|
+
* 文件名必须匹配 client.<name>.js,这是宿主的包内分块命名规则。
|
|
20
|
+
*
|
|
21
|
+
* 样式随本分块一起返回(导出对象上的 styles 字段),由 client.js
|
|
22
|
+
* 注入(见 ensureChartsCss)。代码与样式同批到达,避免「代码到了、
|
|
23
|
+
* 样式没到」时画出无填充的黑色方块。
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
window.__ModuleLoader__.load({
|
|
27
|
+
id: "@leonhardthust/dsh-decision-engine",
|
|
28
|
+
chunk: "client.charts.js",
|
|
29
|
+
factory: (require) => {
|
|
30
|
+
var module = { exports: {} };
|
|
31
|
+
var exports = module.exports;
|
|
32
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });var Qt=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var ta=Object.getOwnPropertyNames;var ea=Object.prototype.hasOwnProperty;var aa=(t,e)=>{for(var a in e)Qt(t,a,{get:e[a],enumerable:!0})},ra=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ta(e))!ea.call(t,n)&&n!==a&&Qt(t,n,{get:()=>e[n],enumerable:!(r=Qe(e,n))||r.enumerable});return t};var na=t=>ra(Qt({},"__esModule",{value:!0}),t);var Ra={};aa(Ra,{Bullet:()=>We,Delta:()=>qe,MicroDonut:()=>Ge,MiniBar:()=>Xe,SegmentedBar:()=>He,SparkBar:()=>Te,Sparkline:()=>De});module.exports=na(Ra);function g(t){let e=Math.round(t*100)/100;return Number.isFinite(e)?e:t}function X(t,e=1){return Number.isFinite(t)&&t>0?t:e}function L(t){return typeof t=="number"&&Number.isFinite(t)}var Tt=new Map;function Me(t,e){let a=JSON.stringify([t,e]),r=Tt.get(a);return r||(Tt.size>=64&&Tt.clear(),r=new Intl.NumberFormat(t,e),Tt.set(a,r)),r}var Ot=t=>Number.isInteger(t)?t:Number(t.toPrecision(12)),ia=t=>e=>t(Ot(e));function Rt(t,e){let a=Me(t,e);return r=>a.format(Ot(r))}function U(t,e){if(typeof t=="function"){let r=t;return n=>r(Ot(n))}let a=Me(e,t);return r=>a.format(Ot(r))}function Ne(t,e,a){if(typeof t=="function")return ia(t);if(!t)return Rt(e,a);if(t.style&&t.style!==a.style)return Rt(e,t);let r={...a,...t},n=r.minimumFractionDigits;return n!==void 0&&t.maximumFractionDigits===void 0&&(r.maximumFractionDigits??20)<n&&(r.maximumFractionDigits=n),Rt(e,r)}function xt(t,e=0){return Rt(t,{style:"percent",maximumFractionDigits:e})}function Wt(t){return t.startsWith("+")||t.startsWith("-")||t.startsWith("\u2212")?t.slice(1):t}function _t(t){for(let e=t.length-1;e>=0;e--){let a=t[e];if(L(a))return a}}function te(t){let e=0,a=1/0,r=-1/0,n=-1,l=-1,i=0,o=-1,s=0,u=-1,d=0;for(let S=0;S<t.length;S++){let I=t[S];L(I)&&(e++,d+=I,I<a&&(a=I,n=S),I>r&&(r=I,l=S),o===-1&&(i=I,o=S),s=I,u=S)}if(e===0)return null;let y=s-i,b=i===0?0:y/Math.abs(i),z=y>0?1:y<0?-1:0;return{count:e,min:a,max:r,minIndex:n,maxIndex:l,first:i,last:s,firstIndex:o,lastIndex:u,sum:d,mean:d/e,delta:y,deltaRatio:b,trend:z}}var Ct={noData:"No data.",single:t=>`Single value ${t}.`,flat:t=>`Flat at ${t}.`,trendPct:(t,e)=>`Trending ${t} ${e}%.`,trendAbs:(t,e)=>`Trending ${t} by ${e}.`,noChange:"No net change.",range:(t,e)=>`Range ${t} to ${e}.`,last:t=>`Last value ${t}.`,point:(t,e,a)=>`Point ${t} of ${e}: ${a}.`};function vt(t,e={}){let a=te(t),r=e.strings??Ct;if(!a)return r.noData;let n=U(e.format,e.locale);if(a.count===1)return r.single(n(a.last));if(a.min===a.max)return r.flat(n(a.min));let l=[];if(a.trend===0)l.push(r.noChange);else{let i=a.trend>0?"up":"down";if(!a.first||!isFinite(a.deltaRatio))l.push(r.trendAbs(i,n(Math.abs(a.delta))));else{let o=U({maximumFractionDigits:0},e.locale);l.push(r.trendPct(i,o(Math.round(Math.abs(a.deltaRatio)*100))))}}return l.push(r.range(n(a.min),n(a.max))),l.push(r.last(n(a.last))),l.join(" ")}function bt(t,e){return t===!1?!1:t??e()}var yt=require("react");var Se=null,ke=!1;var la=()=>()=>{},oa=()=>!1,sa=()=>!0,ua=typeof window>"u"?yt.useEffect:yt.useLayoutEffect;function tt(t,e,a,r){let n=(0,yt.useSyncExternalStore)(la,oa,sa),l=(0,yt.useRef)(n);ua(()=>{if(!a||l.current)return;if(!Se){typeof process>"u"&&!ke&&(ke=!0,console.warn('[microcharts] `animate` needs the motion engine: add `import "@microcharts/react/motion"` once in client code.'));return}if(matchMedia("(prefers-reduced-motion: reduce)").matches)return;let i=t.current?.querySelector("svg");if(i)return Se(i,e,r)},[])}var Lt=require("react");function j(t,e,a){let{children:r,...n}=e??{},l=r===void 0?[t,n]:[t,n,...Array.isArray(r)?r:[r]],i=(0,Lt.createElement)(...l);return a!==void 0&&i!==null&&typeof i=="object"&&(i.key=a),i}var H=j;function ma(t,e,a){let r=typeof t=="string"&&t.length>0;if(e===!1&&!r)return{rootAttrs:{"aria-hidden":!0},titleId:void 0,descId:void 0,renderTitle:!1,renderDesc:!1};let n=typeof e=="string"&&e.length>0;if(a){let l=r?`${a}-t`:void 0,i=n?`${a}-d`:void 0,o=[l,i].filter(Boolean).join(" ");if(o)return{rootAttrs:{role:"img","aria-labelledby":o},titleId:l,descId:i,renderTitle:r,renderDesc:n}}return{rootAttrs:{role:"img","aria-label":[t,n?e:void 0].filter(Boolean).join(". ")||"Chart"},titleId:void 0,descId:void 0,renderTitle:r,renderDesc:!1}}function ca(t,e){if(!t||!(e>0))return;let a=t.mode==="floor"?t.bottom:((t.top??0)+t.bottom)/2,r=Math.round((e-a)/e*1e4)/1e4;return t.mode==="floor"?{"--mc-seat":r}:{"--mc-seat":r,"--mc-seat-mid":1}}function nt(t){let{title:e,summary:a,id:r,seat:n,className:l,style:i,children:o}=t,s=X(t.width),u=X(t.height),d=ma(e,a,r),y=ca(n,u),b=y?i?{...i,...y}:y:i;return H("svg",{className:l?`mc-root ${l}`:"mc-root",viewBox:`0 0 ${s} ${u}`,width:s,height:u,preserveAspectRatio:"xMidYMid meet",style:b,...d.rootAttrs,children:[d.renderTitle?j("title",{id:d.titleId,children:e}):null,d.renderDesc&&typeof a=="string"?j("desc",{id:d.descId,children:a}):null,o]})}function it(t,e){let[a,r]=t,[n,l]=e,i=r-a,o=(l-n)/i;if(!Number.isFinite(o)||!Number.isFinite(i)||!Number.isFinite(a)){let s=(n+l)/2;return()=>s}return s=>n+(s-a)*o}function et(t,e,a){return t<e?e:t>a?a:t}function Ie(t,e=-1/0){let a=e;for(let r of t){if(Number.isNaN(r))return NaN;r>a&&(a=r)}return a}function da(t){let e=1/0,a=-1/0;for(let r of t)L(r)&&(r<e&&(e=r),r>a&&(a=r));return e===1/0?null:[e,a]}function Nt(t,e=!1){let a=da(t);if(!a)return[0,1];let[r,n]=a;if(e&&(r>0&&(r=0),n<0&&(n=0)),r===n){let l=r===0?1:Math.abs(r)*.5;return e&&r===0?[0,l]:[r-l,n+l]}return[r,n]}var jt=require("react"),ha="__mcAnnotation";function Ft(t){return Math.max(5,Math.min(Math.round(t*.22),11))}var fa={under:null,over:null,rest:null};function At(t,e){if(t==null||t===!1||t===!0)return fa;let a=[],r=[],n=[],l=0,i=o=>{jt.Children.forEach(o,s=>{if((0,jt.isValidElement)(s)){if(s.type===jt.Fragment){i(s.props.children);return}let u=s.type[ha];if(u){(u.layer==="under"?a:r).push(u.render(s.props,e,`mc-ann-${l++}`));return}}n.push(s)})};return i(t),{under:a.length>0?a:null,over:r.length>0?r:null,rest:n.length>0?n:null}}function Yt(t){let e=[],a=[];for(let r of t)r===null?(a.length&&e.push(a),a=[]):a.push(r);return a.length&&e.push(a),e}var Ht=t=>`${g(t[0])} ${g(t[1])}`;function ee(t){return Yt(t).map(e=>"M"+e.map(Ht).join(" L")).join(" ")}function ae(t){return Yt(t).map(e=>{let a=e[0],r=`M${Ht(a)}`,n=a[1];for(let l=1;l<e.length;l++){let[i,o]=e[l];r+=` H${g(i)}`,o!==n&&(r+=` V${g(o)}`),n=o}return r}).join(" ")}function re(t){return Yt(t).map(e=>{let a=e.length;if(a<3)return"M"+e.map(Ht).join(" L");let r=[];for(let i=0;i<a-1;i++){let o=e[i+1][0]-e[i][0],s=o>0?(e[i+1][1]-e[i][1])/o:0;r.push(Number.isFinite(s)?s:0)}let n=[r[0]];for(let i=1;i<a-1;i++)n.push(r[i-1]*r[i]<=0?0:(r[i-1]+r[i])/2);n.push(r[a-2]);for(let i=0;i<a-1;i++){if(r[i]===0){n[i]=0,n[i+1]=0;continue}let o=n[i]/r[i],s=n[i+1]/r[i],u=o*o+s*s;if(u>9){let d=3/Math.sqrt(u);n[i]=d*n[i],n[i+1]=d*n[i+1]}}let l=`M${Ht(e[0])}`;for(let i=0;i<a-1;i++){let o=e[i],s=e[i+1],u=(s[0]-o[0])/3;l+=` C${g(o[0]+u)} ${g(o[1]+n[i]*u)} ${g(s[0]-u)} ${g(s[1]-n[i+1]*u)} ${g(s[0])} ${g(s[1])}`}return l}).join(" ")}var pa={linear:ee,smooth:re,step:ae};function je(t,e,a="linear"){let r=g(e);return Yt(t).map(n=>{if(n.length===0)return"";let l=pa[a](n).replace(/^M/,"L"),i=g(n[0][0]),o=g(n[n.length-1][0]);return`M${i} ${r} ${l} L${o} ${r} Z`}).filter(Boolean).join(" ")}function ft(t,e=.55,a=7){return Math.max(a,Math.min(11,Math.round(t*e)))}function zt(t,e,a){return Math.ceil(t*e*.62)+a}function Dt(t,e,a,r=!0){let n=r?e*.5:e*.78,l=r?e*.5:e*.22;return t-n>=0&&t+l<=a}function Zt(t,e){return t>=e}function ne(t,e,a,r=5){if(!t)return;let n=Math.max(r,6,Math.min(Math.round(a*.5),11)),l=Math.floor(e*.45),i=s=>Math.ceil(t.length*s*.62)+6,o=n;return i(o)>l&&(o=Math.max(r,Math.min(n,Math.floor((l-6)/(t.length*.62))))),Dt(a/2,o,a)&&i(o)<=e/2?{fontSize:o,gutter:i(o)}:void 0}function ie(t,e,a=5){let r=Math.max(a,Math.min(Math.round(t*.22),9));return e==="minmax"&&t>=(r+1)*2+12?r:0}function le(t,e){let{width:a,height:r,pad:n=2,gutterRight:l=0,gutterTop:i=0,gutterBottom:o=0}=e,s=n,u=a-n-l,d=n+i,y=r-n-o,b={x0:s,x1:u,y0:d,y1:y},z=e.domain??Nt(t,e.zero),S=it(z,[y,d]),I=t.length,$=D=>I>1?s+D*(u-s)/(I-1):(s+u)/2,k=t.map((D,x)=>L(D)?[g($(x)),g(S(D))]:null),F=e.maxPoints??200,w=k;if(I>F){let D=Math.max(1,Math.floor(F/2));w=[];for(let x=0;x<D;x++){let P=Math.floor((x+1)*I/D),B=-1,O=-1;for(let V=Math.floor(x*I/D);V<P;V++){let K=t[V];L(K)&&((B<0||K<t[B])&&(B=V),(O<0||K>t[O])&&(O=V))}B<0?w.push(null):B===O?w.push(k[B]):w.push(k[Math.min(B,O)],k[Math.max(B,O)])}}let h=te(t),p=(D,x)=>({x:g($(D)),y:g(S(x)),value:x,index:D}),m=h?p(h.lastIndex,h.last):null,c=h?p(h.minIndex,h.min):null,A=h?p(h.maxIndex,h.max):null,M=e.zero?Math.min(Math.max(0,z[0]),z[1]):z[0],v=g(S(M)),f=null;if(e.band){let[D,x]=e.band;if(L(D)&&L(x)){let P=S(D),B=S(x),O=Math.max(d,Math.min(P,B)),V=Math.min(y,Math.max(P,B))-O;V>0&&(f={x:s,y:g(O),width:g(u-s),height:g(V)})}}return{points:k,linePoints:w,baselineY:v,last:m,min:c,max:A,band:f,plot:b,domain:z}}var ga={linear:ee,smooth:re,step:ae};function Fe(t){let{data:e,domain:a,curve:r="linear",fill:n=!1,band:l,dots:i="auto",label:o="none",color:s,labelSize:u,title:d,summary:y,strings:b,format:z,locale:S,maxPoints:I,id:$,className:k,style:F,children:w}=t,h=X(t.width??80,80),p=X(t.height??20,20),m=U(z,S),c=_t(e),A=o==="last"&&c!==void 0?m(c):void 0,M=ne(A,h,p,u),v=ie(p,o,u),f=le(e,{width:h,height:p,domain:a,zero:n,band:l,gutterRight:M?.gutter??0,gutterTop:v&&v+1,gutterBottom:v&&v+1,maxPoints:I}),D=ga[r](f.linePoints),x=it(f.domain,[f.plot.y1,f.plot.y0]),P=e.length,B=At(w,{x:N=>P>1?f.plot.x0+N*(f.plot.x1-f.plot.x0)/(P-1):(f.plot.x0+f.plot.x1)/2,y:x,width:h,height:p,fontSize:Ft(p)}),O=bt(y,()=>vt(e,{format:z,locale:S,strings:b})),V=s?{stroke:s}:void 0,K=s?{fill:s}:void 0,Y=i==="minmax",E=i!=="none",W=M?.fontSize??(v||void 0),T=W?{...F,"--mc-label-px":`${W}px`}:F;return H(nt,{width:h,height:p,title:d,summary:O,id:$,seat:{mode:"floor",bottom:f.plot.y1},className:k?`mc-spark ${k}`:"mc-spark",style:T,children:[f.band?j("rect",{x:f.band.x,y:f.band.y,width:f.band.width,height:f.band.height,"data-mc-ink":"band"}):null,B.under,n&&D?j("path",{d:je(f.linePoints,f.baselineY,r),"data-mc-ink":"fill",style:K}):null,D?j("path",{d:D,"data-mc-ink":"data",style:V}):null,Y&&f.min&&f.max&&f.min.index!==f.max.index?H(Lt.Fragment,{children:[E&&f.last&&f.min.index===f.last.index?null:j("circle",{cx:f.min.x,cy:f.min.y,r:1.5,"data-mc-ink":"point"}),E&&f.last&&f.max.index===f.last.index?null:j("circle",{cx:f.max.x,cy:f.max.y,r:1.5,"data-mc-ink":"point"})]}):null,E&&f.last?j("circle",{cx:f.last.x,cy:f.last.y,r:2,"data-mc-ink":"accent"}):null,v&&f.min&&f.max?(f.min.index===f.max.index?[f.max]:[f.max,f.min]).map((N,Z)=>{let C=m(N.value),R=C.length*v*.62/2,q=v/2+.5,J=q+2,_=Math.min(Math.max(N.y+(Z?J:-J),q),p-q),dt=Math.min(Math.max(N.x,R+1),h-R-1);if(Math.abs(_-N.y)<J){let G=R+J;dt=Math.min(Math.max(N.x+(N.x+G<=h-1?G:-G),R+1),h-R-1),_=Math.min(Math.max(N.y,q),p-q)}return j("text",{x:dt,y:_,fontSize:v,textAnchor:"middle",dominantBaseline:"central","data-mc-ink":"label",children:C},Z?"min":"max")}):null,A!==void 0&&M&&f.last?j("text",{x:f.last.x+6,y:Math.min(Math.max(f.last.y,M.fontSize*.5),p-M.fontSize*.5),fontSize:M.fontSize,dominantBaseline:"central",textAnchor:"start","data-mc-ink":"accent",children:A}):null,B.over,B.rest]})}var at=require("react"),Ae={display:"block",width:"100%",height:"auto"},xa=["width","height","minWidth","minHeight","maxWidth","maxHeight","aspectRatio"];function lt(t){if(!t)return Ae;let e;for(let a of xa)t[a]!==void 0&&((e??={display:"block"})[a]=t[a]);return e?(e.width===void 0&&(e.width="auto"),e.height===void 0&&(e.height="auto"),e):Ae}var oe={display:"inline-block",position:"relative",lineHeight:0,verticalAlign:"middle"},va={};function ot(t,e,a){return!e&&!a?va[t]??={className:t,style:oe,"data-mc-host":""}:{className:e?`${t} ${e}`:t,style:a?{...oe,...a}:oe,"data-mc-host":""}}var st={popover:"manual",ref:t=>{if(t&&globalThis.CSS?.supports?.("anchor-name: --mc"))try{t.showPopover()}catch{}}};function ut(t){return t?{role:"img",tabIndex:0,"aria-label":t}:{"aria-hidden":!0}}function ze(t,e,a){switch(a){case"ArrowRight":case"ArrowDown":return Math.min(e-1,t+1);case"ArrowLeft":case"ArrowUp":return t<=0?0:t-1;case"Home":return 0;case"End":return e-1}return null}function Vt(t,e,a){let r=t.length;return r===0?null:t[ze(t.indexOf(e),r,a)??-1]??null}function qt(t,e,a){let[r,n]=(0,at.useState)(!1),l=(0,at.useRef)(!1),i=u=>{n(u),l.current!==u&&(l.current=u,e?.(u?t():null))},o=()=>i(!0),s=()=>i(!1);return{active:r,bind:{onPointerEnter:o,onPointerLeave:s,onFocus:o,onBlur:s,onClick:()=>a?.(t()),onKeyDown:u=>{if(u.key==="Escape")return s();!a||u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),a(t()))}}}}function pt(t){let{count:e,width:a,height:r,locate:n,datum:l,step:i,onActive:o,onSelect:s}=t,u=t.selectedIndex!==void 0,[d,y]=(0,at.useState)(t.defaultSelectedIndex??null),b=u?t.selectedIndex??null:d,[z,S]=(0,at.useState)(null),I=(0,at.useRef)(null),$=(0,at.useRef)(!1),k=(0,at.useRef)(null),F=(0,at.useRef)(null),w=m=>{I.current!==m&&(I.current=m,S(m),o?.(m===null?null:l(m)))},h=m=>{let c=m===null||b===m?null:m;u||y(c),s?.(c===null?null:l(c))};(0,at.useEffect)(()=>{if(b===null)return;let m=c=>{c!==k.current&&(c.key??"Escape")==="Escape"&&h(null)};return addEventListener("pointerdown",m),addEventListener("keydown",m),()=>{removeEventListener("pointerdown",m),removeEventListener("keydown",m)}});let p=m=>{let c=m.currentTarget,A=F.current;(!A||!c.contains(A))&&(A=c.querySelector("svg")??c,F.current=A);let M=A.getBoundingClientRect();return!M.width||!M.height?null:n((m.clientX-M.left)/M.width*a,(m.clientY-M.top)/M.height*r)};return{active:z,selected:b,bind:{onPointerDown:m=>{if(k.current=m.nativeEvent,m.pointerType!=="mouse"){try{m.currentTarget.setPointerCapture(m.pointerId)}catch{}$.current=!1,w(p(m))}},onPointerMove:m=>{$.current=!1,w(p(m))},onPointerUp:m=>{if(m.pointerType!=="mouse"){try{m.currentTarget.hasPointerCapture?.(m.pointerId)&&m.currentTarget.releasePointerCapture(m.pointerId)}catch{}w(null)}},onPointerCancel:m=>{k.current=null;try{m.currentTarget.hasPointerCapture?.(m.pointerId)&&m.currentTarget.releasePointerCapture(m.pointerId)}catch{}w(null)},onPointerLeave:()=>{F.current=null,$.current||w(null)},onClick:m=>{let c=k.current;k.current=null,!(c&&Math.abs(m.clientX-c.clientX)+Math.abs(m.clientY-c.clientY)>6)&&h(p(m))},onKeyDown:m=>{k.current=m.nativeEvent;let c=I.current??-1;if(m.key==="Escape"){$.current=!1,w(null),b!==null&&h(null);return}if(e===0)return;if(m.key==="Enter"||m.key===" ")return m.preventDefault(),h(c<0?b:c);let A=i?i(c,m.key,m):ze(c,e,m.key);A!==null&&(m.preventDefault(),$.current=!0,w(A))},onBlur:()=>{F.current=null,$.current=!1,w(null)}}}}var se="--mc-seat",ue="--mc-seat-mid";function ba(t){if(!t?.closest(".mc-inline"))return;let e=t.querySelector("svg"),a=e?.style.getPropertyValue(se);if(!a){t.dataset.mcSeated!==void 0&&(t.style.removeProperty(se),t.style.removeProperty(ue),delete t.dataset.mcSeated);return}t.style.setProperty(se,a),t.style.setProperty(ue,e.style.getPropertyValue(ue)||"0"),t.dataset.mcSeated=""}function ya(t){(0,at.useEffect)(()=>ba(t.current?.parentElement))}var $a={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"};function rt({children:t}){let e=(0,at.useRef)(null);return ya(e),j("span",{ref:e,"aria-live":"polite",style:$a,children:t})}var Q=require("react"),wa=(0,Q.memo)(Fe);function De(t){let{data:e,domain:a,width:r,height:n,fill:l=!1,band:i,label:o="none",title:s,summary:u,format:d,locale:y,strings:b=Ct,animate:z=!1,readout:S=!0,className:I,style:$,onActive:k,onSelect:F,selectedIndex:w,defaultSelectedIndex:h,...p}=t,m=X(r,80),c=X(n,20),A=(0,Q.useRef)(null);tt(A,"draw",z);let M=(0,Q.useMemo)(()=>U(d,y),[d,y]),v=(0,Q.useMemo)(()=>{let C=_t(e),R=o==="last"&&C!==void 0?M(C):void 0,q=ne(R,m,c,t.labelSize)?.gutter??0,J=ie(c,o,t.labelSize),_=J&&J+1;return le(e,{width:m,height:c,domain:a,zero:l,band:i,gutterRight:q,gutterTop:_,gutterBottom:_,maxPoints:t.maxPoints})},[e,m,c,a,l,i,o,M,t.maxPoints,t.labelSize]),f=(0,Q.useMemo)(()=>e.map((C,R)=>L(C)?R:-1).filter(C=>C>=0),[e]),D=(0,Q.useCallback)(C=>{let R=null,q=1/0;for(let J of f){let _=v.points[J];_&&Math.abs(_[0]-C)<q&&(q=Math.abs(_[0]-C),R=J)}return R},[f,v]),x=(0,Q.useCallback)((C,R)=>Vt(f,C,R),[f]),P=(0,Q.useCallback)(C=>({index:C,value:e[C],formatted:M(e[C])}),[e,M]),{active:B,selected:O,bind:V}=pt({count:f.length,width:m,height:c,locate:D,datum:P,step:x,onActive:k,onSelect:F,selectedIndex:w,defaultSelectedIndex:h}),K=u===!1?void 0:u??vt(e,{format:d,locale:y,strings:b}),Y=B??O,E=v.points[Y??-1]??null,W=e[Y??-1],T=f.indexOf(Y??-1)+1,N=v.points[O??-1]??null,Z=(0,Q.useMemo)(()=>lt($),[$]);return(0,Q.useLayoutEffect)(()=>{let C=A.current?.querySelector("svg");if(!C)return;let R=C.querySelector("g[data-mc-ui]");if(R||=(C.insertAdjacentHTML("beforeend","<g data-mc-ui></g>"),C.lastElementChild),!R.firstChild){if(!N&&!E)return;R.innerHTML='<circle r="3.2" fill="none" data-mc-active="" data-mc-w="tick"/><g><line data-mc-ink="muted"/><circle r="2.6" data-mc-ink="accent"/></g>'}let[q,J]=R.children;if(q.setAttribute("opacity",N?"1":"0"),N&&(q.setAttribute("cx",`${N[0]}`),q.setAttribute("cy",`${N[1]}`)),J.setAttribute("opacity",E?"1":"0"),E){J.style.transform=`translateX(${E[0]}px)`;let _=J.children;_[0].setAttribute("y1",`${v.plot.y0}`),_[0].setAttribute("y2",`${v.plot.y1}`),_[1].style.transform=`translateY(${E[1]}px)`}},[N,E,v.plot.y0,v.plot.y1]),H("span",{ref:A,...ot("mc-spark-interactive",I,$),...ut([s,K].filter(Boolean).join(". ")||void 0),...V,children:[j(wa,{...p,data:e,domain:a,width:m,height:c,fill:l,band:i,label:o,format:d,locale:y,summary:!1,style:Z,children:p.children}),j(rt,{children:E?b.point(T,f.length,M(W)):""}),S&&E&&(o!=="last"||Y!==f[f.length-1])?j("span",{className:"mc-spark-readout",...st,children:M(W)}):null]})}var Ee={pointEmpty:(t,e)=>`Point ${t} of ${e}: no data.`};var Ma=(t,e)=>`${t}. ${e}`,Na=(t,e)=>`${t} \xB7 ${e}`;function Pe(t,e,a){return e?(a?.named??Ma)(e,t):t}function Ce(t,e,a){return e?(a?.namedChip??Na)(e,t):t}function Sa(t){return Number.isFinite(t)?et(t,0,.9):.25}function ka(t,e){if(!t)return Nt(e,!0);let[a,r]=t;if(L(a)&&L(r)&&Number.isFinite(r-a))return t;let n=Nt(e,!0),l=L(a)?a:n[0],i=L(r)?r:n[1];return Number.isFinite(i-l)?[l,i]:n}function me(t,e,a,r=5){let n=Math.max(r,6,Math.min(Math.round(a*.5),11)),l=Math.floor(e*.45),i=s=>zt(t.length,s,6),o=n;if(i(o)>l&&t.length>0){let s=Math.floor((l-6)/(t.length*.62));o=Math.max(r,Math.min(n,s))}return i(o)<=e/2?{fontSize:o,gutter:i(o)}:void 0}function ce(t,e){let{mode:a="bar",pad:r=1,gutterRight:n=0}=e,l=X(e.width,80),i=X(e.height,20),o=Sa(e.gap),s=r,u=r,d=a==="winloss"?i-r:i,y=t.length,b=y>0?Math.max(0,l-r*2-n)/y:0,z=g(Math.max(.5,b*(1-o))),S=(b-z)/2,I=-1;for(let h=y-1;h>=0;h--)if(L(t[h])){I=h;break}if(a==="winloss"){let h=g((u+d)/2),p=Math.max(.5,g((d-u)/2-.5)),m=[];for(let c=0;c<y;c++){let A=t[c];if(!L(A))continue;let M=A>0?1:A<0?-1:0,v=M>=0?h-p:h;m.push({x:g(s+c*b+S),y:M===0?g(h-.5):v,width:z,height:M===0?1:p,value:A,index:c,sign:M,last:c===I})}return{bars:m,baselineY:h,domain:[-1,1],slot:b,x0:s,y0:u,y1:d}}let $=ka(e.domain,t),k=it($,[d,u]),F=g(k(Math.min(Math.max(0,$[0]),$[1]))),w=[];for(let h=0;h<y;h++){let p=t[h];if(!L(p))continue;let m=et(k(p),u,d),c=p===0?0:Math.max(.5,Math.abs(m-F)),A=Math.min(m,F);A+c>d&&(A=d-c),A<u&&(A=u);let M=g(A),v=g(Math.min(A+c,d));w.push({x:g(s+h*b+S),y:M,width:z,height:g(v-M),value:p,index:h,sign:p>0?1:p<0?-1:0,last:h===I})}return{bars:w,baselineY:F,domain:$,slot:b,x0:s,y0:u,y1:d}}function Le(t,e,a="up"){let r=a==="down";return e==="winloss"?t.sign===0?"bar":(r?t.sign<0:t.sign>0)?"positive":"negative":t.sign<0?r?"positive":"negative":t.last?"accent":"bar"}function Be(t){let{data:e,domain:a,width:r=80,height:n=20,mode:l="bar",gap:i=.25,label:o="none",positive:s="up",color:u,labelSize:d,title:y,summary:b,strings:z,format:S,locale:I,id:$,className:k,style:F,children:w}=t,h=X(r,80),p=X(n,20),m=bt(b,()=>vt(e,{format:S,locale:I,strings:z})),c=U(S,I),A;if(o==="last"&&l==="bar")for(let P=e.length-1;P>=0;P--){let B=e[P];if(L(B)){A=c(B);break}}let M=A===void 0?void 0:me(A,h,p,d),v=ce(e,{width:h,height:p,mode:l,domain:a,gap:i,gutterRight:M?.gutter??0}),f=v.bars[v.bars.length-1],D=At(w,{x:P=>v.x0+P*v.slot+v.slot/2,y:it(v.domain,[p-1,1]),width:h,height:p,fontSize:Ft(p)}),x=M?{...F,"--mc-label-px":`${M.fontSize}px`}:F;return H(nt,{width:h,height:p,title:y,summary:m,id:$,seat:l==="winloss"?{mode:"center",top:v.y0,bottom:v.y1}:{mode:"floor",bottom:v.y1},className:k?`mc-sparkbar ${k}`:"mc-sparkbar",style:x,children:[D.under,v.bars.map(P=>j("rect",{x:P.x,y:P.y,width:P.width,height:P.height,"data-mc-ink":Le(P,l,s),style:u&&Le(P,l,s)==="bar"?{fill:u}:void 0},P.index)),A!==void 0&&M&&f?j("text",{x:g(f.x+f.width+4),y:g(Math.min(Math.max(f.y,M.fontSize*.6),p-M.fontSize*.6)),fontSize:M.fontSize,dominantBaseline:"central",textAnchor:"start","data-mc-ink":"accent",children:A}):null,D.over,D.rest]})}var ht=require("react"),Ia={...Ct,...Ee};function Te(t){let{data:e,domain:a,width:r=80,height:n=20,mode:l="bar",gap:i=.25,label:o="none",positive:s="up",color:u,title:d,summary:y,format:b,locale:z,strings:S=Ia,animate:I=!1,readout:$=!0,labels:k,className:F,style:w,onActive:h,onSelect:p,selectedIndex:m,defaultSelectedIndex:c,...A}=t,M=X(r,80),v=X(n,20),f=(0,ht.useRef)(null);tt(f,"rise",I,{selector:'rect[data-mc-ink="bar"], rect[data-mc-ink="accent"], rect[data-mc-ink="positive"], rect[data-mc-ink="negative"]',origin:"signed"});let D=(0,ht.useMemo)(()=>U(b,z),[b,z]),x=(0,ht.useMemo)(()=>{let _;if(o==="last"&&l==="bar")for(let G=e.length-1;G>=0;G--){let It=e[G];if(L(It)){_=D(It);break}}let dt=_===void 0?void 0:me(_,M,v,t.labelSize);return ce(e,{width:M,height:v,mode:l,domain:a,gap:i,gutterRight:dt?.gutter??0})},[e,M,v,l,a,i,o,t.labelSize,D]),P=(0,ht.useMemo)(()=>x.bars.map(_=>_.index),[x]),B=(0,ht.useMemo)(()=>new Map(x.bars.map(_=>[_.index,_])),[x]),O=(0,ht.useCallback)(_=>{if(x.bars.length===0)return null;let dt=x.bars[0].index,G=1/0;for(let It of x.bars){let we=Math.abs(It.x+It.width/2-_);we<G&&(G=we,dt=It.index)}return dt},[x]),V=(0,ht.useCallback)((_,dt)=>Vt(P,_,dt),[P]),K=(0,ht.useCallback)(_=>({index:_,value:L(e[_])?e[_]:null,label:k?.[_],formatted:L(e[_])?D(e[_]):void 0}),[e,D,k]),{active:Y,selected:E,bind:W}=pt({count:P.length,width:M,height:v,locate:O,step:V,datum:K,onActive:h,onSelect:p,selectedIndex:m,defaultSelectedIndex:c}),T=y===!1?void 0:y??vt(e,{format:b,locale:z,strings:S}),N=(_,dt)=>{let G=B.get(_);return G?j("rect",{x:G.x,y:G.y,width:G.width,height:G.height,fill:"none","data-mc-active":"","data-mc-w":dt?"tick":"support"}):null},Z=Y??E,C=Z===null?void 0:B.get(Z),R=C&&L(C.value)?C.value:null,q=k?.[Z??-1],J=Z===null?"":Pe(R===null?S.pointEmpty(Z+1,e.length):S.point(Z+1,e.length,D(R)),q,S);return H("span",{ref:f,...ot("mc-sparkbar-interactive",F,w),...ut([d,T].filter(Boolean).join(". ")||void 0),...W,children:[H(Be,{data:e,domain:a,width:M,height:v,mode:l,gap:i,label:o,positive:s,color:u,format:b,locale:z,summary:!1,style:lt(w),children:[A.children,E!==null&&E!==Y?N(E,!0):null,Y===null?null:N(Y,!1)]}),j(rt,{children:J}),$&&C&&R!==null?j("span",{className:"mc-spark-readout",...st,children:Ce(D(R),q,S)}):null]})}var Bt={noData:"No data.",bullet:t=>`${t}.`,bulletTarget:(t,e)=>`${t} of ${e} target.`};function ja(t){let{width:e,height:a,pad:r=1,gutterCh:n=0,fontSize:l=0}=t,i=Number.isFinite(t.value),o=i?t.value:0,s=Number.isFinite(t.target)?t.target:void 0,u=(t.bands??[]).filter(x=>Number.isFinite(x)),d=t.domain,y=d&&Number.isFinite(d[0])&&Number.isFinite(d[1])&&d[1]>d[0]?d:void 0,b=r,z=e-r,S=[o,s??0,...u,y?.[1]??0].filter(x=>Number.isFinite(x)),I=y?.[1]??Ie(S,1),$=y?.[0]??0,k=it([$,I],[b,z]),F=r,w=Math.max(0,a-r*2),h={x:b,width:g(z-b),y:g(F),height:g(w)},p=[$,...u.filter(x=>x>$&&x<I).sort((x,P)=>x-P).slice(0,200),I],m=[];for(let x=0;x<p.length-1;x++){let P=k(p[x]),B=k(p[x+1])-P;B>0&&m.push({x:g(P),width:g(B),step:x})}let c=Math.min(w,Math.max(2,w*.34)),A=F+(w-c)/2,M=i?et(k(o),b,z):b,v={x:b,width:g(Math.max(0,M-b)),y:g(A),height:g(c)},f=s===void 0?null:{x:g(et(k(s),b,z)),y0:g(F+w*.12),y1:g(F+w*.88)},D=n>0?zt(n,l,5):0;return{track:h,regions:m,measure:v,tick:f,max:I,totalWidth:g(e+D),labelX:g(e+D),labelY:g(a/2)}}function de(t,e,a=Bt){return e?a.bulletTarget(t,e):a.bullet(t)}function Fa(t,e,a,r){let n=a!==void 0&&Number.isFinite(a);if(t==="none")return;if(t==="target")return n?r(a):void 0;let l=Number.isFinite(e)?r(e):"\u2014";return t==="value"||!n?l:`${l} / ${r(a)}`}function Re(t){let{value:e,target:a,bands:r,domain:n,label:l="none",width:i=80,height:o=16,color:s,format:u,locale:d,strings:y=Bt,labelSize:b,title:z,summary:S,id:I,className:$,style:k,children:F}=t,w=U(u,d),h=l==="none"?0:ft(o,.6,b),p=Fa(l,e,a,w),m=p!==void 0&&Dt(o/2,h,o)?p:void 0,c=ja({width:i,height:o,value:e,target:a,bands:r,domain:n,gutterCh:m?.length??0,fontSize:h}),A=S===!1?!1:typeof S=="string"?S:Number.isFinite(e)?de(w(e),a!==void 0&&Number.isFinite(a)?w(a):null,y):y.noData,M=Math.max(1,c.regions.length),v=m===void 0?k:{...k,"--mc-label-px":`${h}px`};return H(nt,{width:c.totalWidth,height:o,title:z,summary:A,id:I,seat:{mode:"center",top:c.track.y,bottom:c.track.y+c.track.height},className:$?`mc-bullet ${$}`:"mc-bullet",style:v,children:[c.regions.map(f=>j("rect",{x:f.x,y:c.track.y,width:f.width,height:c.track.height,"data-mc-ink":"bar",style:{fillOpacity:.12+f.step/M*.26}},f.step)),j("rect",{x:c.measure.x,y:c.measure.y,width:c.measure.width,height:c.measure.height,"data-mc-ink":"bar",style:s?{fill:s}:void 0}),c.tick?j("line",{x1:c.tick.x,y1:c.tick.y0,x2:c.tick.x,y2:c.tick.y1,"data-mc-ink":"data","data-mc-w":"heavy"}):null,m===void 0?null:j("text",{x:c.labelX,y:c.labelY,fontSize:h,dominantBaseline:"central",textAnchor:"end","data-mc-ink":"label",children:m}),F]})}var Oe=require("react");function We(t){let{value:e,target:a,format:r,locale:n,strings:l=Bt,title:i,summary:o,animate:s=!1,readout:u=!0,onActive:d,onSelect:y,className:b,style:z,...S}=t,I=(0,Oe.useRef)(null);tt(I,"sweep",s,{selector:'rect[data-mc-ink="bar"]:last-of-type'});let $=U(r,n),k=a!==void 0&&Number.isFinite(a),F=Number.isFinite(e)?de($(e),k?$(a):null,l):l.noData,w=[i,o===!1?void 0:typeof o=="string"?o:F].filter(Boolean).join(". ")||void 0,h=k&&Number.isFinite(e-a)?`${e-a>=0?"+":"\u2212"}${Wt($(Math.abs(e-a)))}`:"",p=Number.isFinite(e)?$(e):"\u2014",m=(S.label??"none")==="both"&&h?h:k?`${p} / ${$(a)}${h?` \xB7 ${h}`:""}`:p,{active:c,bind:A}=qt(()=>({index:0,value:Number.isFinite(e)?e:null,formatted:m}),d,y);return H("span",{ref:I,...ot("mc-bullet-interactive",b,z),...ut(w),...A,children:[j(Re,{...S,value:e,target:a,format:r,locale:n,strings:l,summary:!1,style:lt(z)}),j(rt,{children:c?m:""}),u&&c?j("span",{className:"mc-spark-readout",...st,children:m}):null]})}var $t={noData:"No data.",shareClause:(t,e)=>`${t} ${e}`,shares:t=>`${t}.`,shareAt:(t,e,a)=>`${t}: ${e}, ${a}.`,shareOther:(t,e,a,r)=>`${t}: ${e}, ${r} over ${a} ${a===1?"category":"categories"}.`,otherLabel:"Other",funnel:(t,e,a,r)=>`${t} ${t===1?"stage":"stages"}, ${e} to ${a} \u2014 overall ${r}.`,funnelInversion:(t,e)=>`Stage ${t} exceeds stage ${e}.`,stageAt:(t,e,a,r)=>`${t}: ${e} \u2014 ${a} of ${r}.`,likert:(t,e,a)=>a===null?`${t} agree, ${e} disagree.`:`${t} agree, ${e} disagree, ${a} neutral.`,likertLean:t=>t==="balanced"?"Balanced.":`Leans ${t}.`,likertAt:(t,e,a,r,n)=>`${t}: ${e} (${n}), level ${a} of ${r}.`,allNeutral:"All responses neutral.",noResponses:"No responses."};function Et(t){typeof process>"u"}function Ut(t){let e=0;for(let l of t)L(l)&&l>0&&(e+=l);if(e===0)return null;let a=t.map(l=>L(l)&&l>0?l/e:0),r=0,n=-1;for(let l=0;l<a.length;l++)a[l]>0&&(n<0||a[l]>a[n])&&(n=l),r+=a[l];return n>=0&&(a[n]=Math.max(0,a[n]+(1-r))),{shares:a,total:e}}function St(t,e,a){let r=Number.isFinite(e)?Math.max(1,Math.floor(e)):5,n=t.filter(u=>L(u.value)&&u.value>0);if(n.length<=r)return n.map(u=>({label:u.label,value:u.value,members:1}));let l=[...n].sort((u,d)=>d.value-u.value),i=new Set(l.slice(0,r-1)),o=n.filter(u=>i.has(u)).map(u=>({label:u.label,value:u.value,members:1})),s=n.filter(u=>!i.has(u));return o.push({label:a,value:s.reduce((u,d)=>u+d.value,0),members:s.length}),o}function Pt(t){let e=t.reduce((i,o)=>i+o,0);if(!(e>0)||!Number.isFinite(e))return t.map(()=>0);let a=t.map(i=>i/e*100),r=a.map(Math.floor),n=100-r.reduce((i,o)=>i+o,0),l=a.map((i,o)=>({i:o,frac:i-Math.floor(i)})).sort((i,o)=>o.frac-i.frac);for(let{i}of l){if(n<=0)break;r[i]++,n--}return r}function he(t){let{width:e,values:a,gap:r=.5,fontSize:n}=t,l=Ut(a);if(!l)return{segments:[]};let i=l.shares.filter(d=>d>0).length,o=e-r*Math.max(0,i-1),s=[],u=0;return l.shares.forEach((d,y)=>{if(d<=0)return;let b=g(u),z=g(Math.min(d*o,g(e-b)));s.push({x:b,w:z,share:g(d),labelFits:S=>S*n*.62<=z-1,index:y}),u+=d*o+r}),{segments:s}}function kt(t,e,a=xt(void 0)){if(t.length===0)return e.noData;let r=Pt(t.map(l=>l.value)),n=t.map((l,i)=>e.shareClause(l.label,a((r[i]??0)/100))).join(", ");return e.shares(n)}function _e(t){let{data:e,maxSegments:a=5,order:r="data",label:n="percent",colors:l,width:i=60,height:o=10,format:s,locale:u,strings:d=$t,labelSize:y,title:b,summary:z,id:S,className:I,style:$,children:k}=t,F=X(i,60),w=X(o,10);e.some(x=>L(x.value)&&x.value<0)&&Et("<SegmentedBar> negative values excluded \u2014 a part-to-whole cannot contain negative parts (use Waterfall).");let h=St(e,a,d.otherLabel);r==="desc"&&(h=[...h].sort((x,P)=>x.label===d.otherLabel?1:P.label===d.otherLabel?-1:P.value-x.value));let p=n==="none"?0:ft(w,.6,y),m=Zt(w,p),c=he({width:F,height:w,values:h.map(x=>x.value),fontSize:p}),A=n==="none"?null:U(s,u),M=n==="percent"?Pt(h.map(x=>x.value)):null,v=xt(u),f=bt(z,()=>kt(h,d,v)),D=p>0?{...$,"--mc-label-px":`${p}px`}:$;return H(nt,{width:F,height:w,title:b,summary:f,id:S,seat:{mode:"center",top:1,bottom:w-1},className:I?`mc-segbar ${I}`:"mc-segbar",style:D,children:[c.segments.map((x,P)=>{let B=h[x.index],O=B.members>1,V=n==="percent"?v((M[x.index]??0)/100):n==="value"?A(B.value):void 0;return H("g",{children:[j("rect",{x:x.x,y:1,width:x.w,height:w-2,"data-mc-ink":O?"neutral":void 0,"data-mc-cat":O?void 0:P%5+1,style:l&&!O?{fill:l[P%l.length]}:void 0}),V!==void 0&&m&&x.labelFits(V.length)?j("text",{x:g(x.x+x.w/2),y:w/2,dominantBaseline:"central",fontSize:p,textAnchor:"middle",children:V}):null]},x.index)}),k]})}var mt=require("react");function He(t){let{data:e,maxSegments:a=5,order:r="data",width:n=60,height:l=10,format:i,locale:o,strings:s=$t,title:u,summary:d,animate:y=!1,readout:b=!0,className:z,style:S,onActive:I,onSelect:$,selectedIndex:k,defaultSelectedIndex:F,...w}=t,h=X(n,60),p=X(l,10),m=(0,mt.useRef)(null);tt(m,"sweep",y,{selector:'rect[data-mc-cat], rect[data-mc-ink="neutral"]'});let c=(0,mt.useMemo)(()=>{let C=St(e,a,s.otherLabel);return r==="desc"&&(C=[...C].sort((R,q)=>R.label===s.otherLabel?1:q.label===s.otherLabel?-1:q.value-R.value)),C},[e,a,r,s]),A=ft(p,.6,t.labelSize),M=(0,mt.useMemo)(()=>he({width:h,height:p,values:c.map(C=>C.value),fontSize:A}),[h,p,c,A]),v=(0,mt.useMemo)(()=>U(i,o),[i,o]),f=(0,mt.useMemo)(()=>Pt(c.map(C=>C.value)),[c]),D=(0,mt.useMemo)(()=>xt(o),[o]),x=(0,mt.useCallback)(C=>D((f[M.segments[C]?.index??-1]??0)/100),[D,f,M]),P=(0,mt.useCallback)(C=>{let R=M.segments.findIndex(q=>C>=q.x&&C<=q.x+q.w+.5);return R>=0?R:null},[M]),B=(0,mt.useCallback)(C=>{let R=c[M.segments[C].index];return{index:C,value:R?.value??null,label:R?.label,formatted:R?`${R.label} ${x(C)} (${v(R.value)})`:""}},[M,c,v,x]),{active:O,selected:V,bind:K}=pt({count:M.segments.length,width:h,height:p,locate:P,datum:B,onActive:I,onSelect:$,selectedIndex:k,defaultSelectedIndex:F}),Y=[u,d===!1?void 0:typeof d=="string"?d:kt(c,s,D)].filter(Boolean).join(". ")||void 0,E=(C,R)=>{let q=M.segments[C];return q?j("rect",{x:q.x-.5,y:.5,width:q.w+1,height:p-1,fill:"none","data-mc-active":"","data-mc-w":R?"tick":"support"}):null},W=O??V,T=W===null?void 0:M.segments[W],N=T?c[T.index]:void 0,Z=T&&N?N.members>1?s.shareOther(N.label,x(W),N.members,v(N.value)):s.shareAt(N.label,x(W),v(N.value)):"";return H("span",{ref:m,...ot("mc-segbar-live",z,S),...ut(Y),...K,children:[H(_e,{...w,style:lt(S),data:e,maxSegments:a,order:r,width:h,height:p,format:i,locale:o,strings:s,summary:!1,children:[V!==null&&V!==O?E(V,!0):null,O===null?null:E(O,!1),w.children]}),j(rt,{children:Z}),b&&T&&N?j("span",{className:"mc-spark-readout",...st,children:`${N.label} ${x(W)} (${v(N.value)})`}):null]})}var Ye={noData:"No data.",scalarDir:(t,e)=>`${t==="up"?"Up":"Down"} ${e}.`,flatChange:"No change.",status:t=>`Status: ${t}.`,level:(t,e,a)=>`${t} \u2014 level ${e} of ${a}.`,levelChip:(t,e,a)=>`${t} \u2014 level ${e} of ${a}`,progress:t=>`${t} complete.`,remaining:t=>`${t} remaining.`,stepsDone:(t,e)=>`${t} of ${e} steps.`,countOf:(t,e)=>`${t} of ${e}.`};var Aa={up:"M5 2.4 L8.6 7.6 L1.4 7.6 Z",down:"M1.4 2.4 L8.6 2.4 L5 7.6 Z",flat:"M1.4 4.2 H8.6 V5.8 H1.4 Z"};function fe(t){let{value:e,from:a,positive:r="up",format:n,locale:l,strings:i=Ye}=t,o=a===void 0?e:e-a,s=a===void 0?e:a===0?o:o/Math.abs(a),u=Number.isFinite(s),d=u?o>0?1:o<0?-1:0:0,y=Ne(n,l,a===0?{maximumFractionDigits:1}:{style:"percent",maximumFractionDigits:1}),b=u?Wt(y(Math.abs(s))):"\u2014";return{display:u?`${d>0?"+":d<0?"\u2212":""}${b}`:"\u2014",shown:u?s:null,valence:d===0?"flat":d===(r==="down"?-1:1)?"pos":"neg",glyphKey:d>0?"up":d<0?"down":"flat",summary:d===0?i.flatChange:i.scalarDir(d>0?"up":"down",b)}}function Ze(t){let{summary:e,title:a,className:r,style:n}=t,{display:l,valence:i,glyphKey:o,summary:s}=fe(t),u=e===!1&&!a,d=[a,e===!1?void 0:e??s].filter(Boolean).join(". ")||void 0;return H("span",{className:r?`mc-delta ${r}`:"mc-delta","data-mc-valence":i,style:n,...u?void 0:{role:"img","aria-label":d},children:[j("svg",{className:"mc-delta-glyph",viewBox:"0 0 10 10",width:"0.82em",height:"0.82em","aria-hidden":"true",children:j("path",{d:Aa[o]})}),j("span",{className:"mc-delta-num","aria-hidden":!u||void 0,children:l})]})}var wt=require("react");function Ve(t,e,a=450){let[r,n]=(0,wt.useState)(0),[l,i]=(0,wt.useState)(t),[o,s]=(0,wt.useState)(0);return Object.is(l,t)||(i(t),e&&n(u=>u+1)),(0,wt.useEffect)(()=>{if(r===o)return;let u=setTimeout(()=>s(r),a);return()=>clearTimeout(u)},[r,o,a]),r!==o}var Mt=require("react"),za=(0,Mt.memo)(Ze),Da=()=>()=>{},Ea=()=>!1,Pa=()=>!0;function qe({live:t=!0,animate:e=!1,onActive:a,onSelect:r,...n}){let l=Ve(n.value,t),{summary:i,shown:o,display:s}=fe(n),u=(0,Mt.useRef)(null);tt(u,"pop",e);let d=(0,Mt.useSyncExternalStore)(Da,Ea,Pa),[y]=(0,Mt.useState)(d),b=e&&!y,z=n.summary===!1&&!n.title,S=()=>({index:0,value:o,formatted:s}),I=r&&!z?r:void 0,$=a&&!z?a:void 0,{bind:k}=qt(S,$,I);return H("span",{ref:u,className:"mc-delta-live","data-mc-host":"","data-pulse":l?"1":void 0,"data-enter":b?"1":void 0,tabIndex:I||$?0:void 0,...k,children:[j(za,{...n}),j(rt,{children:t&&n.summary!==!1?i:""})]})}var Ca=t=>{let e=t%10,a=t%100;return e===1&&a!==11?`${t}st`:e===2&&a!==12?`${t}nd`:e===3&&a!==13?`${t}rd`:`${t}th`},Xt={noData:"No data.",categories:(t,e,a,r,n)=>`${t} ${t===1?"category":"categories"}. Highest ${e} ${a}, lowest ${r} ${n}.`,category:(t,e,a,r)=>`${t}: ${e} \u2014 ${Ca(a)} of ${r}.`};function pe(t){let{width:e,height:a,values:r,gap:n=1,orientation:l}=t,i=r.length;if(i===0)return{bars:[],baseline:0,band:0,domain:[0,0],y0:0,y1:a};let o=l==="vertical"?e:a,s=l==="vertical"&&Number.isFinite(t.topPad)?et(t.topPad,0,a):0,u=l==="vertical"?a-s:e,d=t.domain&&t.domain.every($=>Number.isFinite($))?[Math.min(0,t.domain[0]),Math.max(0,t.domain[1])]:Nt(r,!0),y=l==="vertical"?s:0,b=l==="vertical"?a:u,z=l==="vertical"?it(d,[b,y]):it(d,[y,b]),S=g(et(z(0),y,b)),I=(o-n*(i-1))/i;return{bars:r.map(($,k)=>{let F=g(k*(I+n)),w=g(Math.min(I,g(o-F)));if(!L($))return l==="vertical"?{x:F,y:S,w,h:0,sign:0,index:k,empty:!0}:{x:0,y:F,w:0,h:w,sign:0,index:k,empty:!0};let h=et(z($),y,b),p=$>0?1:$<0?-1:0;if(l==="vertical"){let c=Math.max(g(Math.abs(h-S)),$===0?0:.5);return{x:F,y:g(et(Math.min(h,S),y,b-c)),w,h:c,sign:p,index:k,empty:!1}}let m=Math.max(g(Math.abs(h-S)),$===0?0:.5);return{x:g(et(Math.min(h,S),y,b-m)),y:F,w:m,h:w,sign:p,index:k,empty:!1}}),baseline:S,band:I+n,domain:d,y0:l==="vertical"?s:0,y1:a}}function ge(t,e){if(e==="data")return t;let a=t.slice();return a.sort((r,n)=>{let l=L(r.value)?r.value:-1/0,i=L(n.value)?n.value:-1/0;return e==="desc"?i-l:l-i}),a}function xe(t,e,a){let r=t.filter(i=>L(i.value));if(r.length===0)return a.noData;let n=r[0],l=r[0];for(let i of r)i.value>n.value&&(n=i),i.value<l.value&&(l=i);return a.categories(r.length,n.label,e(n.value),l.label,e(l.value))}function Ue(t){let{data:e,order:a="data",highlight:r,orientation:n="vertical",positive:l,label:i="none",domain:o,width:s=50,height:u=16,color:d,format:y,locale:b,strings:z=Xt,labelSize:S,title:I,summary:$,id:k,className:F,style:w,children:h}=t;e.length>8&&Et(`<MiniBar> ${e.length} categories \u2014 this is a cell chart (\u2264 8 documented); use a full bar chart.`);let p=ge(e,a),m=U(y,b),c=bt($,()=>xe(e,m,z)),A=p.some(E=>L(E.value)&&E.value<0),M=l==="down"?-1:1,v,f=-1,D=0,x=0,P=0;if(i==="max"&&n==="vertical"){D=ft(u,.45,S);let E=-1/0;for(let N=0;N<p.length;N++){let Z=p[N].value;L(Z)&&Z>E&&(E=Z,f=N)}let W=D+1,T=f>=0?m(E):"";P=zt(T.length,D,2),f>=0&&Zt(u-W,D)&&P<=s&&(v=T,x=W)}let B=pe({width:s,height:u,values:p.map(E=>E.value),domain:o,orientation:n,topPad:x}),O=v===void 0?void 0:B.bars[f],V=O?g(et(O.x+O.w/2,P/2,s-P/2)):0,K=O?g(et(O.y-1,D*.78,u-D*.22)):0,Y=n==="vertical"&&h?At(h,{x:E=>{let W=B.bars[Math.round(E)];return W?W.x+W.w/2:NaN},y:it(B.domain,[B.y1,B.y0]),width:s,height:u,fontSize:Ft(u)}):{under:null,over:null,rest:h};return H(nt,{width:s,height:u,title:I,summary:c,id:k,seat:n==="vertical"?{mode:"floor",bottom:B.y1}:{mode:"center",top:B.y0,bottom:B.y1},className:F?`mc-minibar ${F}`:"mc-minibar",style:v===void 0?w:{...w,"--mc-label-px":`${D}px`},children:[Y.under,B.bars.map((E,W)=>{if(E.empty||E.w===0&&E.h===0)return null;let T=p[W],N=r!==void 0&&(r===T.label||r===E.index),Z=N?"accent":l!==void 0&&A&&E.sign!==0?E.sign===M?"positive":"negative":"bar",C=n==="vertical"?E.sign<0?"top":"bottom":E.sign<0?"right":"left";return j("rect",{x:E.x,y:E.y,width:E.w,height:E.h,"data-mc-ink":Z,"data-mc-origin":C,style:!N&&d?{fill:d}:void 0},E.index)}),v===void 0?null:j("text",{x:V,y:K,fontSize:D,dominantBaseline:"auto",textAnchor:"middle","data-mc-ink":"label",children:v}),Y.over,Y.rest]})}var gt=require("react");function Xe(t){let{data:e,order:a="data",orientation:r="vertical",domain:n,width:l=50,height:i=16,format:o,locale:s,strings:u=Xt,title:d,summary:y,animate:b=!1,readout:z=!0,className:S,style:I,onActive:$,onSelect:k,selectedIndex:F,defaultSelectedIndex:w,...h}=t,p=(0,gt.useRef)(null);tt(p,r==="horizontal"?"sweep":"rise",b,{selector:'rect[data-mc-ink="bar"], rect[data-mc-ink="accent"], rect[data-mc-ink="positive"], rect[data-mc-ink="negative"]'});let m=(0,gt.useMemo)(()=>ge(e,a),[e,a]),c=(0,gt.useMemo)(()=>pe({width:l,height:i,values:m.map(W=>W.value),domain:n,orientation:r}),[l,i,m,n,r]),A=(0,gt.useMemo)(()=>U(o,s),[o,s]),M=(0,gt.useMemo)(()=>{let W=m.map((N,Z)=>({i:Z,v:N.value})).filter(N=>L(N.v));W.sort((N,Z)=>Z.v-N.v);let T=new Map;return W.forEach((N,Z)=>T.set(N.i,{rank:Z+1,of:W.length})),T},[m]),v=(0,gt.useCallback)((W,T)=>{if(c.bars.length===0||c.band===0)return null;let N=Math.floor((r==="vertical"?W:T)/c.band);return N>=0&&N<c.bars.length?N:null},[c,r]),f=(0,gt.useCallback)(W=>{let T=m[W],N=L(T?.value)?T.value:null;return{index:W,value:N,label:T?.label,formatted:`${T?.label}: ${N===null?"\u2014":A(N)}`}},[m,A]),{active:D,selected:x,bind:P}=pt({count:c.bars.length,width:l,height:i,locate:v,datum:f,onActive:$,onSelect:k,selectedIndex:F,defaultSelectedIndex:w}),B=[d,y===!1?void 0:typeof y=="string"?y:xe(e,A,u)].filter(Boolean).join(". ")||void 0,O=D??x,V=(W,T)=>{let N=c.bars[W];if(!N||N.empty)return null;let Z=r==="vertical"?{x:N.x-.5,y:-.5,width:N.w+1,height:i+1}:{x:-.5,y:N.y-.5,width:l+1,height:N.h+1};return j("rect",{...Z,fill:"none","data-mc-active":"","data-mc-w":T?"tick":"support"})},K=O===null?void 0:c.bars[O],Y=O===null?void 0:m[O],E=Y===void 0?"":L(Y.value)?u.category(Y.label,A(Y.value),M.get(O)?.rank??0,M.get(O)?.of??0):`${Y.label}: ${u.noData}`;return H("span",{ref:p,...ot("mc-minibar-live",S,I),...ut(B),...P,children:[H(Ue,{...h,style:lt(I),data:e,order:a,orientation:r,domain:n,width:l,height:i,format:o,locale:s,strings:u,summary:!1,children:[x!==null&&x!==D?V(x,!0):null,D===null?null:V(D,!1),h.children]}),j(rt,{children:E}),z&&K&&Y?j("span",{className:"mc-spark-readout",...st,children:`${Y.label}: ${L(Y.value)?A(Y.value):"\u2014"}`}):null]})}var Jt=Math.PI*2,La=1e-9;function Kt(t,e,a,r){return[g(t+a*Math.sin(r)),g(e-a*Math.cos(r))]}function ve(t,e,a,r,n,l,i){return`A${g(t)} ${g(e)} ${g(a)} ${+!!r} ${+!!n} ${g(l)} ${g(i)}`}function Ba(t,e,a){if(!Number.isFinite(t)||t<=0||!Number.isFinite(e)||!Number.isFinite(a))return NaN;let r=a-e;return r<=0?NaN:Math.min(r,Jt)}function Ta(t,e,a,r,n){let l=n-r;if(l>=Jt-La){let[s,u]=Kt(t,e,a,r+Math.PI),[d,y]=Kt(t,e,a,r);return`${ve(a,a,0,!1,!0,s,u)} ${ve(a,a,0,!1,!0,d,y)}`}let[i,o]=Kt(t,e,a,n);return ve(a,a,0,l>Math.PI,!0,i,o)}function Ke(t,e,a,r,n){let l=Ba(a,r,n);if(Number.isNaN(l))return"";let[i,o]=Kt(t,e,a,r);return`M${i} ${o} ${Ta(t,e,a,r,r+l)}`}function Gt(t){return L(t)&&t>0?t:24}function be(t){return L(t)&&t>=1?Math.floor(t):4}function ye(t){let{shares:e,gapDeg:a=2}=t,r=Gt(t.size)/2,n=r-.5,l=g(r-n),i=g(r+n),o=L(t.weight)?t.weight:5,s=g(Math.min(Math.max(o,1),Math.max(n-.5,0))),u=Ut(e);if(!u)return{wedges:[],weight:s,y0:l,y1:i};let d=n-s,y=g((n+d)/2),b=u.shares.filter(k=>k>0),z=b.length>1?a*Math.PI/180:0,S=Jt-z*b.length,I=[],$=0;return u.shares.forEach((k,F)=>{if(k<=0)return;let w=$,h=$+k*S;I.push({d:Ke(r,r,y,w,h),share:g(k),a0:g(w),a1:g(h),index:F}),$=h+z}),{wedges:I,weight:s,y0:l,y1:i}}function $e(t){let{data:e,decorative:a=!1,weight:r,label:n="none",colors:l,format:i,locale:o,strings:s=$t,labelSize:u,title:d,summary:y,id:b,className:z,style:S,children:I}=t;e.some(v=>L(v.value)&&v.value<0)&&Et("<MicroDonut> negative values excluded \u2014 a composition cannot contain negative parts.");let $=Gt(t.size),k=be(t.maxWedges),F=St(e,k,s.otherLabel),w=ye({size:$,shares:F.map(v=>v.value),weight:r}),h=F.reduce((v,f)=>v+(L(f.value)?f.value:0),0),p=n==="total"?ft($,.28,u):0,m=n==="total"&&Number.isFinite(h)?U(i,o)(h):void 0,c=!a&&m!==void 0&&Dt($/2,p,$)&&m.length*p*.62<=$-1-2*w.weight,A=a||y===!1?!1:y??kt(F,s,xt(o)),M=c?{...S,"--mc-label-px":`${p}px`}:S;return H(nt,{width:$,height:$,title:a?void 0:d,summary:A,id:b,seat:{mode:"center",top:w.y0,bottom:w.y1},className:z?`mc-donut ${z}`:"mc-donut",style:M,children:[w.wedges.map((v,f)=>{let D=F[v.index].members>1?"var(--mc-neutral)":l?l[f%l.length]:`var(--mc-cat-${f%4+1})`;return j("path",{className:"mc-donut-wedge",d:v.d,fill:"none",strokeLinecap:"butt",style:{strokeWidth:w.weight,stroke:D}},v.index)}),c?j("text",{x:$/2,y:$/2,fontSize:p,dominantBaseline:"central",textAnchor:"middle","data-mc-ink":"label",children:m}):null,I]})}var ct=require("react"),Je=Math.PI*2;function Ge(t){let{data:e,decorative:a=!1,weight:r,format:n,locale:l,strings:i=$t,title:o,summary:s,animate:u=!1,readout:d=!0,className:y,style:b,onActive:z,onSelect:S,selectedIndex:I,defaultSelectedIndex:$,...k}=t,F=Gt(t.size),w=be(t.maxWedges),h=(0,ct.useRef)(null);tt(h,"draw",u,{selector:".mc-donut-wedge",trace:!0,proportional:!0,window:520});let p=(0,ct.useMemo)(()=>St(e,w,i.otherLabel),[e,w,i]),m=(0,ct.useMemo)(()=>ye({size:F,shares:p.map(T=>T.value),weight:r}),[F,p,r]),c=(0,ct.useMemo)(()=>U(n,l),[n,l]),A=(0,ct.useMemo)(()=>Pt(m.wedges.map(T=>T.share)),[m]),M=(0,ct.useMemo)(()=>xt(l),[l]),v=(0,ct.useCallback)(T=>M((A[T]??0)/100),[M,A]),f=(0,ct.useCallback)((T,N)=>{let Z=T-F/2,C=N-F/2,R=(Math.atan2(Z,-C)+Je)%Je,q=m.wedges.findIndex(J=>R>=J.a0&&R<=J.a1);return q>=0?q:null},[m,F]),D=(0,ct.useCallback)(T=>{let N=p[m.wedges[T].index];return{index:T,value:N?.value??null,label:N?.label,formatted:N?`${N.label} ${v(T)} (${c(N.value)})`:""}},[m,p,v,c]),{active:x,selected:P,bind:B}=pt({count:m.wedges.length,width:F,height:F,locate:f,datum:D,onActive:z,onSelect:S,selectedIndex:I,defaultSelectedIndex:$});if(a)return j($e,{...k,className:y,style:b,data:e,maxWedges:w,decorative:!0,weight:r,size:F,format:n,locale:l,strings:i});let O=[o,s===!1?void 0:typeof s=="string"?s:kt(p,i,M)].filter(Boolean).join(". ")||void 0,V=(T,N)=>{let Z=m.wedges[T];return Z?j("path",{d:Z.d,fill:"none","data-mc-active":"","data-mc-w":N?"tick":"support"}):null},K=x??P,Y=K===null?void 0:m.wedges[K],E=Y?p[Y.index]:void 0,W=Y&&E?E.members>1?i.shareOther(E.label,v(K),E.members,c(E.value)):i.shareAt(E.label,v(K),c(E.value)):"";return H("span",{ref:h,...ot("mc-donut-live",y,b),...ut(O),...B,children:[H($e,{...k,style:lt(b),data:e,maxWedges:w,weight:r,size:F,format:n,locale:l,strings:i,summary:!1,children:[P!==null&&P!==x?V(P,!0):null,x===null?null:V(x,!1),k.children]}),j(rt,{children:W}),d&&Y&&E?j("span",{className:"mc-spark-readout",...st,children:W.replace(/[.。]$/,"")}):null]})}
|
|
33
|
+
module.exports.styles = "/**\n * microcharts@0.19.1 的统计页样式(**构建期生成**,勿手改)。\n *\n * 上半部分是 @microcharts/react 的 core.css + sparkline.css,未做删改——\n * 图型的可见性依赖 `[data-mc-ink]` 的 fill/stroke 规则,删一条就可能整张图空白。\n *\n * 下半部分是「主题覆盖」:把库的硬编码调色板接到 DSH 的语义变量上。\n */\n\n@layer microcharts.tokens,microcharts.base,microcharts.charts,microcharts.motion;@property --mc-seat{syntax: \"<number>\"; inherits: false; initial-value: 0;}@property --mc-seat-mid{syntax: \"<number>\"; inherits: false; initial-value: 0;}@layer microcharts.tokens{:where(:root){--mc-stroke: #1a1917;--mc-positive: #0e7a5f;--mc-negative: #bd4b2d;--mc-neutral: #8a8986;--mc-accent: #1f6091;--mc-band: color-mix(in oklab, var(--mc-stroke) 8%, transparent);--mc-moon: #c1922f;--mc-cat-1: #d2982f;--mc-cat-2: #5b9fd4;--mc-cat-3: #2e8c66;--mc-cat-4: #285788;--mc-cat-5: #bc5138;--mc-cat-6: #a55a89;--mc-on-cat-1: rgba(0, 0, 0, .9);--mc-on-cat-2: rgba(0, 0, 0, .9);--mc-on-cat-3: rgba(0, 0, 0, .9);--mc-on-cat-4: rgba(255, 255, 255, .96);--mc-on-cat-5: rgba(255, 255, 255, .96);--mc-on-cat-6: rgba(255, 255, 255, .96);--mc-stroke-width: 1.5;--mc-gap: .25em;--mc-density: 1;--mc-font: inherit;--mc-font-numeric: var(--mc-font);--mc-label-size: .75em;--mc-label-weight: 400;--mc-inline-nudge: 0em;--mc-glyph-nudge: 0em;--mc-surface: Canvas;--mc-surface-ink: CanvasText;--mc-surface-edge: color-mix(in oklab, CanvasText 16%, transparent);--mc-surface-shadow: color-mix(in oklab, #000 28%, transparent);--mc-on-fill: rgba(255, 255, 255, .96);--mc-on-cat: rgba(0, 0, 0, .9);--mc-on-fill-dim: var(--mc-stroke);--mc-duration: .3s;--mc-easing: cubic-bezier(.22, 1, .36, 1)}@media(prefers-color-scheme:dark){:where(:root){--mc-stroke: #eae9e6;--mc-positive: #45a385;--mc-negative: #df7856;--mc-accent: #5ea1cf;--mc-neutral: #9a9a97;--mc-moon: #e0be6f;--mc-cat-1: #e2b45c;--mc-cat-2: #6fb0e0;--mc-cat-3: #4fb08d;--mc-cat-4: #6e9bd1;--mc-cat-5: #e07e5e;--mc-cat-6: #c486b0;--mc-on-cat-1: rgba(0, 0, 0, .9);--mc-on-cat-2: rgba(0, 0, 0, .9);--mc-on-cat-3: rgba(0, 0, 0, .9);--mc-on-cat-4: rgba(0, 0, 0, .9);--mc-on-cat-5: rgba(0, 0, 0, .9);--mc-on-cat-6: rgba(0, 0, 0, .9);--mc-on-fill: rgba(0, 0, 0, .9)}}:where([data-mc-theme=light]){--mc-stroke: #1a1917;--mc-positive: #0e7a5f;--mc-negative: #bd4b2d;--mc-accent: #1f6091;--mc-neutral: #8a8986;--mc-moon: #c1922f;--mc-cat-1: #d2982f;--mc-cat-2: #5b9fd4;--mc-cat-3: #2e8c66;--mc-cat-4: #285788;--mc-cat-5: #bc5138;--mc-cat-6: #a55a89;--mc-on-cat-1: rgba(0, 0, 0, .9);--mc-on-cat-2: rgba(0, 0, 0, .9);--mc-on-cat-3: rgba(0, 0, 0, .9);--mc-on-cat-4: rgba(255, 255, 255, .96);--mc-on-cat-5: rgba(255, 255, 255, .96);--mc-on-cat-6: rgba(255, 255, 255, .96);--mc-on-fill: rgba(255, 255, 255, .96)}:where([data-mc-theme=dark]){--mc-stroke: #eae9e6;--mc-positive: #45a385;--mc-negative: #df7856;--mc-accent: #5ea1cf;--mc-neutral: #9a9a97;--mc-moon: #e0be6f;--mc-cat-1: #e2b45c;--mc-cat-2: #6fb0e0;--mc-cat-3: #4fb08d;--mc-cat-4: #6e9bd1;--mc-cat-5: #e07e5e;--mc-cat-6: #c486b0;--mc-on-cat-1: rgba(0, 0, 0, .9);--mc-on-cat-2: rgba(0, 0, 0, .9);--mc-on-cat-3: rgba(0, 0, 0, .9);--mc-on-cat-4: rgba(0, 0, 0, .9);--mc-on-cat-5: rgba(0, 0, 0, .9);--mc-on-cat-6: rgba(0, 0, 0, .9);--mc-on-fill: rgba(0, 0, 0, .9)}:where([data-mc-theme=editorial],[data-mc-preset=editorial]){--mc-accent: #a32236;--mc-stroke-width: 1}:where([data-mc-theme=mono],[data-mc-preset=mono]){--mc-positive: var(--mc-stroke);--mc-negative: var(--mc-stroke);--mc-accent: var(--mc-stroke);--mc-neutral: var(--mc-stroke);--mc-moon: var(--mc-stroke)}:where([data-mc-theme=vivid],[data-mc-preset=vivid]){--mc-positive: #0f9e78;--mc-negative: #e24d2e;--mc-stroke-width: 2}:where([data-mc-theme=print],[data-mc-preset=print]){--mc-stroke: #1a1a1a;--mc-neutral: #666666;--mc-positive: #0c6249;--mc-negative: #a33f22;--mc-accent: #14507a;--mc-moon: #7a5a12;--mc-band: color-mix(in oklab, #1a1a1a 9%, transparent);--mc-stroke-width: 1.25}:where([data-mc-theme=eink],[data-mc-preset=eink]){--mc-stroke: #000000;--mc-positive: #000000;--mc-negative: #595959;--mc-neutral: #8c8c8c;--mc-accent: #000000;--mc-moon: #000000;--mc-band: color-mix(in oklab, #000000 14%, transparent);--mc-stroke-width: 2}:where([data-mc-theme=mono],[data-mc-preset=mono],[data-mc-theme=eink],[data-mc-preset=eink]){--mc-cat-1: color-mix(in oklab, var(--mc-stroke) 16%, transparent);--mc-cat-2: color-mix(in oklab, var(--mc-stroke) 13%, transparent);--mc-cat-3: color-mix(in oklab, var(--mc-stroke) 11%, transparent);--mc-cat-4: color-mix(in oklab, var(--mc-stroke) 9%, transparent);--mc-cat-5: color-mix(in oklab, var(--mc-stroke) 7%, transparent);--mc-cat-6: color-mix(in oklab, var(--mc-stroke) 5%, transparent);--mc-on-cat: var(--mc-stroke)}@media(prefers-color-scheme:dark){:where([data-mc-theme=print],[data-mc-preset=print]){--mc-stroke: #e8e6e1;--mc-neutral: #9a958c;--mc-positive: #4aa588;--mc-negative: #e08a63;--mc-accent: #6aa9d3;--mc-moon: #e0be6f;--mc-band: color-mix(in oklab, #e8e6e1 9%, transparent)}:where([data-mc-theme=eink],[data-mc-preset=eink]){--mc-stroke: #ffffff;--mc-positive: #ffffff;--mc-negative: #b0b0b0;--mc-neutral: #808080;--mc-accent: #ffffff;--mc-moon: #ffffff;--mc-band: color-mix(in oklab, #ffffff 14%, transparent)}}:where([data-mc-theme=dark]) :where([data-mc-theme=print],[data-mc-preset=print]),:where([data-mc-theme=dark][data-mc-preset=print]){--mc-stroke: #e8e6e1;--mc-neutral: #9a958c;--mc-positive: #4aa588;--mc-negative: #e08a63;--mc-accent: #6aa9d3;--mc-moon: #e0be6f;--mc-band: color-mix(in oklab, #e8e6e1 9%, transparent)}:where([data-mc-theme=dark]) :where([data-mc-theme=eink],[data-mc-preset=eink]),:where([data-mc-theme=dark][data-mc-preset=eink]){--mc-stroke: #ffffff;--mc-positive: #ffffff;--mc-negative: #b0b0b0;--mc-neutral: #808080;--mc-accent: #ffffff;--mc-moon: #ffffff;--mc-band: color-mix(in oklab, #ffffff 14%, transparent)}}@layer microcharts.base{:where(.mc-root){display:inline-block;vertical-align:middle;overflow:visible;font:var(--mc-font);height:auto;max-width:100%;--mc-sw: calc(var(--mc-stroke-width) * var(--mc-density))}:where(td:has(>.mc-root:only-child)),:where(td:has(>[data-mc-host]:only-child:not(.mc-delta-live,.mc-token-confidence))),:where(td:has(>[class$=-live]:only-child:not(.mc-delta-live,.mc-tc-live))),:where(td:has(>[class$=-interactive]:only-child)){line-height:0}:where(.mc-root text){font-variant-numeric:tabular-nums;font-family:var(--mc-font-numeric);font-weight:var(--mc-label-weight);font-size:calc(var(--mc-label-px, var(--mc-label-size)) * min(1.25,var(--mc-density)));fill:var(--mc-stroke)}:where(.mc-root text[data-mc-on-fill]){fill:var(--mc-on-fill)}:where(.mc-group){display:inline-flex;flex-wrap:wrap;gap:calc(var(--mc-gap) * var(--mc-density));align-items:center}:where(.mc-inline){display:inline-flex;align-items:center;vertical-align:baseline;margin-inline:.2em;translate:0 var(--mc-inline-nudge)}:where(.mc-inline .mc-root){translate:0 calc(var(--mc-seat, 0) * 100% + var(--mc-seat-mid, 0) * (var(--mc-glyph-nudge) - .36em))}@supports (height: 1cap){:where(.mc-inline .mc-root){translate:0 calc(var(--mc-seat, 0) * 100% + var(--mc-seat-mid, 0) * (var(--mc-glyph-nudge) - .5cap))}}:where(.mc-inline [data-mc-seated]){translate:0 calc(var(--mc-seat, 0) * 100% + var(--mc-seat-mid, 0) * (var(--mc-glyph-nudge) - .36em))}:where(.mc-inline [data-mc-seated]>.mc-root){translate:none}@supports (height: 1cap){:where(.mc-inline [data-mc-seated]){translate:0 calc(var(--mc-seat, 0) * 100% + var(--mc-seat-mid, 0) * (var(--mc-glyph-nudge) - .5cap))}}:where(.mc-inline .mc-status){align-self:center}:where(.mc-inline .mc-trend){width:.95em;height:.95em}:where([data-mc-host]:focus-visible,.mc-root:focus-visible){outline:2px solid var(--mc-accent);outline-offset:2px;border-radius:.2em}:where(.mc-delta){display:inline-flex;align-items:baseline;gap:var(--mc-gap);font:var(--mc-font);font-family:var(--mc-font-numeric);font-variant-numeric:tabular-nums;color:var(--mc-neutral);vertical-align:baseline;line-height:1}:where(.mc-delta[data-mc-valence=pos]){color:var(--mc-positive)}:where(.mc-delta[data-mc-valence=neg]){color:var(--mc-negative)}:where(.mc-delta .mc-delta-glyph){fill:currentColor;flex:none;align-self:center}:where(.mc-delta .mc-delta-num){font-weight:600}:where(.mc-delta-live){position:relative;display:inline-flex;vertical-align:baseline}:where(.mc-trend-live){position:relative;display:inline-flex;vertical-align:middle}:where(.mc-status-live){position:relative;display:inline-flex;vertical-align:middle}:where([data-mc-host] .mc-root :is([data-mc-ink],[data-mc-cat],[data-mc-cone]):not([data-mc-ui],[data-mc-ui] *)){transition-property:x,y,width,height,cx,cy,r;transition-duration:.2s;transition-timing-function:var(--mc-easing)}}@layer microcharts.charts{:where(.mc-root [data-mc-ink=data]){fill:none;stroke:var(--mc-stroke);stroke-width:var(--mc-sw);stroke-linejoin:round;stroke-linecap:round}:where(.mc-root [data-mc-ink=accent]){fill:var(--mc-accent);stroke:none}:where(.mc-root :is(path,line,polyline)[data-mc-ink=accent]){fill:none;stroke:var(--mc-accent)}:where(.mc-root [data-mc-w=full]){stroke-width:var(--mc-sw)}:where(.mc-root [data-mc-w=support]){stroke-width:calc(var(--mc-sw) * 2 / 3)}:where(.mc-root [data-mc-w=tick]){stroke-width:calc(var(--mc-sw) / 2)}:where(.mc-root [data-mc-w=hair]){stroke-width:calc(var(--mc-sw) / 3)}:where(.mc-root [data-mc-w=heavy]){stroke-width:calc(var(--mc-sw) * 4 / 3)}:where(.mc-root [data-mc-w=anchor]){stroke-width:calc(var(--mc-sw) * 3 / 2)}:where(.mc-root [data-mc-w],.mc-root [data-mc-ink=data],.mc-root [data-mc-ink=muted],.mc-root [data-mc-ink=unit-off],.mc-root [data-mc-ink=gap],.mc-root [data-mc-ink=accent],.mc-root [data-mc-ink=positive],.mc-root [data-mc-ink=negative],.mc-root [data-mc-ink=ghost],.mc-root [data-mc-ink=flag]){vector-effect:non-scaling-stroke}:where(.mc-donut-wedge,.mc-ring path[data-mc-ink=accent],.mc-ring-halo){vector-effect:none}:where(.mc-root [data-mc-active]){stroke:var(--mc-active-stroke, var(--mc-accent))}:where(.mc-root :is(rect,circle,ellipse,polygon)[data-mc-active]){fill:var(--mc-active-fill, var(--mc-on-fill));fill-opacity:var(--mc-active-fill-opacity, .2)}:where(.mc-root:has([data-mc-active]) :is([data-mc-ink],[data-mc-cat]):not([data-mc-active],[data-mc-ui],[data-mc-ui] *,[opacity])){opacity:var(--mc-rest-opacity, 1)}:where(.mc-root [data-mc-ink=muted]){fill:none;stroke:var(--mc-neutral)}:where(.mc-root text[data-mc-ink=label]){fill:var(--mc-neutral);stroke:none}:where(.mc-root [data-mc-ink=point]){fill:var(--mc-stroke);stroke:none}:where(.mc-root [data-mc-ink=bar]){fill:var(--mc-stroke);stroke:none}:where(.mc-root [data-mc-ink=positive]){fill:var(--mc-positive);stroke:none}:where(.mc-root [data-mc-ink=negative]){fill:var(--mc-negative);stroke:none}:where(.mc-root :is(line,polyline)[data-mc-ink=positive]){fill:none;stroke:var(--mc-positive)}:where(.mc-root :is(line,polyline)[data-mc-ink=negative]){fill:none;stroke:var(--mc-negative)}:where(.mc-root path[data-mc-ink=positive][fill=none]){stroke:var(--mc-positive)}:where(.mc-root path[data-mc-ink=negative][fill=none]){stroke:var(--mc-negative)}:where(.mc-root [data-mc-ink=neutral]){fill:var(--mc-neutral);stroke:none}:where(.mc-root [data-mc-ink=band]){fill:var(--mc-band);stroke:none}:where(.mc-root [data-mc-ink=fill]){fill:var(--mc-stroke);fill-opacity:.12;stroke:none}:where(.mc-root [data-mc-ink=cell]){fill:var(--mc-accent);stroke:none}:where(.mc-root [data-mc-cell-mix]){fill:color-mix(in oklab,var(--mc-cell-color, var(--mc-accent)) calc(var(--mc-cell-mix, 100) * 1%),var(--mc-band))}:where(.mc-root [data-mc-cone]){fill:var(--mc-cone-color, var(--mc-accent));fill-opacity:var(--mc-cone-opacity, .13);stroke:none}:where(.mc-root [data-mc-ink=unit-off]){fill:var(--mc-band);stroke:var(--mc-neutral);stroke-opacity:.4;stroke-width:calc(var(--mc-sw) / 3)}:where(.mc-root [data-mc-ink=gap]){fill:var(--mc-band);stroke:var(--mc-neutral);stroke-opacity:.35;stroke-width:calc(var(--mc-sw) / 3)}:where(.mc-root :is(rect,circle,ellipse,polygon)[data-mc-ink=ghost]){fill:var(--mc-neutral);fill-opacity:.18;stroke:none}:where(.mc-root :is(path,line,polyline)[data-mc-ink=ghost]){fill:none;stroke:var(--mc-neutral);stroke-opacity:.5}:where(.mc-root [data-mc-ink=region]){fill:var(--mc-accent);fill-opacity:.08;stroke:none}:where(.mc-root line[data-mc-ink=flag]){stroke:var(--mc-accent)}:where(.mc-root circle[data-mc-ink=flag]){fill:var(--mc-accent)}:where(.mc-root [data-mc-cat=\"1\"]){fill:var(--mc-cat-1);stroke:none}:where(.mc-root [data-mc-cat=\"2\"]){fill:var(--mc-cat-2);stroke:none}:where(.mc-root [data-mc-cat=\"3\"]){fill:var(--mc-cat-3);stroke:none}:where(.mc-root [data-mc-cat=\"4\"]){fill:var(--mc-cat-4);stroke:none}:where(.mc-root [data-mc-cat=\"5\"]){fill:var(--mc-cat-5);stroke:none}:where(.mc-root [data-mc-cat=\"6\"]){fill:var(--mc-cat-6);stroke:none}:where(.mc-trace,.mc-partition) :where(rect){shape-rendering:crispEdges;rx:.5}:where(.mc-root rect:not([rx])){shape-rendering:crispEdges}:where(.mc-root rect[width^=\"0.\"],.mc-root rect[height^=\"0.\"]){shape-rendering:auto}:where(.mc-trace,.mc-partition) :where(text){font-weight:600;fill:var(--mc-on-fill)}:where(.mc-partition,.mc-segbar) :where(text){fill:var(--mc-on-cat)}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"1\"]+text){fill:var(--mc-on-cat-1, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"2\"]+text){fill:var(--mc-on-cat-2, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"3\"]+text){fill:var(--mc-on-cat-3, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"4\"]+text){fill:var(--mc-on-cat-4, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"5\"]+text){fill:var(--mc-on-cat-5, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-cat=\"6\"]+text){fill:var(--mc-on-cat-6, var(--mc-on-cat))}:where(.mc-partition,.mc-segbar) :where(rect[data-mc-ink=accent]+text){fill:var(--mc-on-fill)}:where(.mc-segbar) :where(rect[data-mc-ink=neutral]+text){fill:var(--mc-on-cat)}:where(.mc-trace) :where(text[data-mc-dim]){fill:var(--mc-on-fill-dim);font-weight:var(--mc-label-weight)}:where([data-mc-host]){touch-action:pan-y pinch-zoom;width:fit-content;max-width:100%}:where(.mc-minimap-live){cursor:ew-resize;touch-action:none}:where(.mc-spark-readout){border:0;display:block;position:absolute;inset:auto auto 100% 50%;transform:translate(-50%);margin:0 0 .3em;padding:.05em .4em;border-radius:.4em;background:var(--mc-surface);color:var(--mc-surface-ink);box-shadow:0 0 0 1px var(--mc-surface-edge),0 2px 6px -2px var(--mc-surface-shadow);font:var(--mc-label-size, .75em) var(--mc-font, inherit);font-variant-numeric:tabular-nums;line-height:1.35;letter-spacing:.01em;white-space:nowrap;pointer-events:none;box-sizing:border-box;max-width:max(100%,14em);overflow:hidden;text-overflow:ellipsis}@supports (anchor-name: --mc) and (position-area: block-start){:where([data-mc-host]){anchor-name:--mc-chart;anchor-scope:--mc-chart}:where(.mc-spark-readout){position:fixed;position-anchor:--mc-chart;transform:none;inset:auto 2px anchor(top) 2px;justify-self:anchor-center;max-inline-size:max(anchor-size(width),14em);margin:0 0 .3em;position-try-fallbacks:--mc-readout-below;position-visibility:anchors-visible}@position-try --mc-readout-below{inset:anchor(bottom) 2px auto 2px;margin:.3em 0 0}}:where(.mc-readout-rows){display:grid;grid-template-columns:auto auto auto;inline-size:max-content;align-items:center;gap:0 .4em;text-align:start}:where(.mc-readout-rows>.mc-readout-key){inline-size:.5em;block-size:.5em;border-radius:.15em;forced-color-adjust:none}:where(.mc-readout-rows>.mc-readout-name){max-inline-size:7em;overflow:hidden;text-overflow:ellipsis}:where(.mc-readout-rows>.mc-readout-val){justify-self:end}}@layer microcharts.motion{:where(.mc-spark-readout){translate:0 0;scale:1;transition:opacity .14s var(--mc-easing),translate .14s var(--mc-easing),scale .14s var(--mc-easing);@starting-style{opacity:0;translate:0 2px;scale:.97}}:where(.mc-root [data-mc-ui] :is(circle,line,path,rect)){vector-effect:non-scaling-stroke}:where(.mc-root [data-mc-ui],.mc-root [data-mc-ui] :is(g,rect,circle,line)){transition-property:transform;transition-duration:.12s;transition-timing-function:var(--mc-easing)}@keyframes mc-pulse{0%{transform:scale(1)}30%{transform:scale(1.16)}to{transform:scale(1)}}:where(.mc-delta-live[data-pulse=\"1\"] .mc-delta-num){display:inline-block;animation:mc-pulse var(--mc-duration) var(--mc-easing)}@keyframes mc-delta-num-in{0%{opacity:0;transform:translateY(2px) scale(.97)}to{opacity:1;transform:none}}:where(.mc-delta-live[data-enter=\"1\"] .mc-delta-num){display:inline-block;animation:mc-delta-num-in .2s var(--mc-easing) backwards}:where(.mc-trend-live[data-pulse=\"1\"] .mc-root){transform-origin:center;animation:mc-pulse var(--mc-duration) var(--mc-easing)}:where(.mc-hourglass-sand){transform-box:fill-box;transform-origin:center bottom}@keyframes mc-status-pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.333);opacity:0}}:where(.mc-status .mc-status-halo){transform-box:fill-box;transform-origin:center;animation:mc-status-pulse 1.8s var(--mc-easing) infinite}@media(prefers-reduced-motion:reduce){:where(.mc-status .mc-status-halo){display:none}}@keyframes mc-burst{0%{transform:var(--mc-burst-from);opacity:0}to{transform:none;opacity:1}}:where(.mc-root .mc-celebrate){transform-box:fill-box;transform-origin:center;animation:mc-burst .6s var(--mc-easing) backwards}@media(prefers-reduced-motion:reduce){:where(.mc-root *),:where(.mc-root),:where(.mc-delta-live .mc-delta-num),:where(.mc-spark-readout){animation:none!important;transition:none!important}}@media(prefers-contrast:more){:where(.mc-root){--mc-stroke-width: 2;--mc-band: color-mix(in oklab, var(--mc-stroke) 16%, transparent)}}@media(forced-colors:active){:where(.mc-root){forced-color-adjust:none}:where(.mc-root){--mc-accent: Highlight}:where(.mc-root [data-mc-ink=data]){stroke:CanvasText}:where(.mc-root [data-mc-ink=accent]){stroke:Highlight;fill:Highlight}:where(.mc-root :is(path,line,polyline)[data-mc-ink=accent]){fill:none;stroke:Highlight}:where(.mc-root [data-mc-active]){stroke:Highlight}:where(.mc-root){--mc-rest-opacity: 1}:where(.mc-root [data-mc-ink=muted]){stroke:GrayText;fill:GrayText}:where(.mc-root [data-mc-ink=point]),:where(.mc-root [data-mc-ink=bar]){fill:CanvasText}:where(.mc-root [data-mc-ink=positive]){fill:CanvasText}:where(.mc-root [data-mc-ink=negative]){fill:GrayText}:where(.mc-root [data-mc-ink=neutral]){fill:GrayText}:where(.mc-root [data-mc-ink=band]){fill:GrayText}:where(.mc-root [data-mc-ink=fill]){fill:CanvasText;fill-opacity:.2}:where(.mc-root [data-mc-ink=cell]){forced-color-adjust:none;fill:Highlight}:where(.mc-root [data-mc-cone]){fill:Highlight;fill-opacity:calc(var(--mc-cone-opacity, .13) * 2.5)}:where(.mc-root [data-mc-cell-mix]){forced-color-adjust:none;fill:Highlight;fill-opacity:calc(var(--mc-cell-mix, 100) / 100)}:where(.mc-root [data-mc-ink=unit-off]),:where(.mc-root [data-mc-ink=gap]){fill:Canvas;stroke:GrayText;stroke-opacity:1}:where(.mc-root :is(rect,circle,ellipse,polygon)[data-mc-ink=ghost]){fill:GrayText}:where(.mc-root :is(path,line,polyline)[data-mc-ink=ghost]){stroke:GrayText}:where(.mc-root [data-mc-cat]){fill:CanvasText;stroke:Canvas;stroke-width:.5}:where(.mc-root [data-mc-cat=\"2\"]){fill-opacity:.92}:where(.mc-root [data-mc-cat=\"3\"]){fill-opacity:.85}:where(.mc-root [data-mc-cat=\"4\"]){fill-opacity:.77}:where(.mc-root [data-mc-cat=\"5\"]){fill-opacity:.7}:where(.mc-root [data-mc-cat=\"6\"]){fill-opacity:.62}:where(.mc-root text[data-mc-on-fill]){fill:Canvas}:where(.mc-trace,.mc-partition,.mc-segbar) :where(text){fill:Canvas}:where(.mc-trace) :where(text[data-mc-dim]){fill:CanvasText}:where(.mc-root [data-mc-ink=region]){fill:transparent}:where(.mc-root text[data-mc-ink=label]){fill:CanvasText}:where(.mc-root line[data-mc-ink=flag]){stroke:Highlight}:where(.mc-root circle[data-mc-ink=flag]){fill:Highlight}:where([data-mc-host]:focus-visible,.mc-root:focus-visible){outline-color:Highlight}:where(.mc-delta){color:CanvasText}:where(.mc-root [data-mc-status]){fill:CanvasText}:where(.mc-root circle[data-mc-status=ring]),:where(.mc-root circle[data-mc-status=half]){fill:none;stroke:CanvasText}:where(.mc-root [fill=none]){fill:none}}}\n@layer microcharts.charts{:where(.mc-spark-interactive [data-mc-ink=muted]){stroke-dasharray:1.5 2}}\n\n/* ============================================================\n * 主题覆盖:把 microcharts 的 token 接到 DSH 的语义变量上\n * ============================================================ */\n:where(.mc-theme) {\n /* 兜底用 currentColor 而不是一个固定的深色:固定深色在深色宿主里\n 是不可见的黑,而 currentColor 永远等于它身边的文字色——宿主改了\n 变量名时图表只是「跟正文同色」,不是「消失」。 */\n --mc-stroke: var(--dsw-alias-label-primary, currentColor);\n --mc-neutral: var(--dsw-alias-label-tertiary, color-mix(in srgb, currentColor 55%, transparent));\n --mc-accent: var(--dsw-alias-state-business-primary, #1f6091);\n --mc-positive: var(--dsw-alias-state-success-primary, #0e7a5f);\n --mc-negative: #e8797f;\n --mc-cat-1: var(--dsw-alias-state-success-primary, #2e8c66);\n --mc-cat-2: var(--dsw-alias-state-warn-primary, #d2982f);\n --mc-cat-3: #e8797f;\n --mc-cat-4: var(--dsw-alias-label-tertiary, #8a8986);\n --mc-cat-5: var(--dsw-alias-state-business-primary, #285788);\n --mc-cat-6: var(--dsw-alias-label-secondary, #a55a89);\n --mc-on-cat: var(--dsw-alias-bg-base, rgba(0, 0, 0, .9));\n --mc-on-cat-1: var(--dsw-alias-bg-base, rgba(0, 0, 0, .9));\n --mc-on-cat-2: var(--dsw-alias-bg-base, rgba(0, 0, 0, .9));\n --mc-on-cat-3: var(--dsw-alias-bg-base, rgba(255, 255, 255, .96));\n --mc-on-cat-4: var(--dsw-alias-bg-base, rgba(0, 0, 0, .9));\n --mc-on-cat-5: var(--dsw-alias-bg-base, rgba(255, 255, 255, .96));\n --mc-on-cat-6: var(--dsw-alias-bg-base, rgba(255, 255, 255, .96));\n --mc-font: inherit;\n}\n\n/* 图表与数字并排时的容器:垂直居中,行高归零免得撑高卡片。 */\n:where(.de-chart) {\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n line-height: 0;\n}\n";
|
|
34
|
+
return module.exports;
|
|
35
|
+
},
|
|
36
|
+
});
|