unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
2 lines (1 loc) • 4.37 kB
JavaScript
import{s as c,j as a,B as b,aE as p,T as f,b8 as j,a0 as S,b as m,bs as C,r as u,jm as h,C as I,iZ as v,i_ as L,i$ as w,jg as z,jn as k,jj as A,j2 as R,j3 as T,jk as B,jl as E}from"./index-CBxzHo9v.js";const P=c("ul")(({theme:e})=>({listStyle:"none",margin:0,padding:0})),_=c("li")(({theme:e})=>({marginBottom:e.spacing(.5),display:"flex",alignItems:"center",fontSize:e.typography.body2.fontSize})),D=c("span")(({theme:e})=>({display:"inline-block",minWidth:8,minHeight:8,borderRadius:"50%",marginRight:e.spacing(1)})),g=16,W=e=>e==="left"?"flex-start":e==="right"?"flex-end":"center",Y=(e=0,t)=>t==="left"?e+g:t==="right"?e-g:e,y=({tooltip:e,children:t})=>a.jsx(b,{sx:n=>({top:((e==null?void 0:e.caretY)||0)+g,left:Y(e==null?void 0:e.caretX,e==null?void 0:e.align),width:"1px",position:"absolute",display:e?"flex":"none",pointerEvents:"none",zIndex:n.zIndex.tooltip,flexDirection:"column",alignItems:W(e==null?void 0:e.align)}),children:t}),H=({tooltip:e})=>a.jsx(y,{tooltip:e,children:a.jsxs(p,{elevation:3,sx:t=>({width:220,padding:t.spacing(1.5,2)}),children:[a.jsx(f,{variant:"body2",sx:t=>({marginBottom:t.spacing(1),color:t.palette.text.secondary}),children:e==null?void 0:e.title}),a.jsx(P,{children:e==null?void 0:e.body.map(t=>a.jsxs(_,{children:[a.jsx(D,{sx:{backgroundColor:t.color},children:" "}),a.jsx(j,{lines:2,children:t.title})]},S(t)))})]})}),M=e=>t=>{var s,r;const n=t.tooltip;if(n.opacity===0){e(null);return}e({caretX:n==null?void 0:n.caretX,caretY:n==null?void 0:n.caretY,title:((s=n==null?void 0:n.title)==null?void 0:s.join(" "))||"",align:n==null?void 0:n.xAlign,body:((r=n==null?void 0:n.body)==null?void 0:r.map((i,o)=>{var l,d,x;return{title:(l=i==null?void 0:i.lines)==null?void 0:l.join(" "),color:(x=(d=n==null?void 0:n.labelColors)==null?void 0:d[o])==null?void 0:x.borderColor,value:""}}))||[],dataPoints:(n==null?void 0:n.dataPoints)||[]})},O={position:"bottom",labels:{boxWidth:12,padding:30,generateLabels:e=>{var o;const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:s,textAlign:r,color:i}}=((o=e==null?void 0:e.legend)==null?void 0:o.options)||{labels:{}};return e._getSortedDatasetMetas().map(l=>{const d=l.controller.getStyle(n?0:void 0);return{text:t[l.index].label,fillStyle:d.borderColor,fontColor:i,hidden:!l.visible,lineWidth:0,borderRadius:6,strokeStyle:d.borderColor,pointStyle:s||d.pointStyle,textAlign:r||d.textAlign,datasetIndex:l.index}})}}},X=(e,t,n,s)=>({responsive:!0,...s?{animation:{duration:0}}:{},plugins:{legend:{...O,display:!s},tooltip:{enabled:!1,position:"nearest",external:M(n)}},locale:t.locale,interaction:{intersect:!1,axis:"xy",mode:"nearest"},elements:{point:{radius:0,hitRadius:15}},color:e.palette.text.secondary,scales:{y:{beginAtZero:!0,type:"linear",grid:{color:e.palette.divider,borderColor:e.palette.divider},ticks:{color:e.palette.text.secondary,display:!s,precision:0}},x:{type:"time",time:{unit:"week",tooltipFormat:"PPP"},grid:{color:"transparent",borderColor:"transparent"},ticks:{color:e.palette.text.secondary,display:!s,source:"data",maxRotation:90,minRotation:23.5}}}}),Z=c("div")(({theme:e})=>({position:"relative"})),F=c("div")(({theme:e})=>({position:"absolute",inset:0,display:"flex",zIndex:e.zIndex.appBar,"&::before":{zIndex:e.zIndex.fab,content:'""',position:"absolute",inset:0,backgroundColor:e.palette.background.paper,opacity:.8}})),G=c("div")(({theme:e})=>({zIndex:e.zIndex.modal,margin:"auto",color:e.palette.text.secondary,textAlign:"center"})),$={id:"customLine",afterDraw:e=>{var n;if((n=e.tooltip)!=null&&n.opacity&&e.tooltip.x){const s=e.tooltip.caretX,r=e.scales.y,i=e.ctx;i.save();const o=i.createLinearGradient(s,r.top,s,r.bottom);o.addColorStop(0,"rgba(129, 122, 254, 0)"),o.addColorStop(1,"rgba(129, 122, 254, 0.12)"),i.fillStyle=o,i.fillRect(s-26/2,r.top,26,r.bottom-r.top),i.restore()}}};function q(e){return E.all(e.filter(t=>t))}const K=({data:e,aspectRatio:t=2.5,cover:n,overrideOptions:s,TooltipComponent:r})=>{const i=m(),{locationSettings:o}=C(),[l,d]=u.useState(null),x=u.useMemo(()=>q([X(i,o,d,!!n),s??{}]),[i,o,d,s,n]);return a.jsxs(Z,{children:[a.jsx(h,{options:x,data:e,plugins:[$],height:100,width:100*t},n?"cover":"chart"),a.jsx(I,{condition:!n,show:r?a.jsx(y,{tooltip:l,children:a.jsx(r,{tooltip:l})}):a.jsx(H,{tooltip:l}),elseShow:a.jsx(F,{children:a.jsx(G,{children:n!==!0?n:" "})})})]})};v.register(L,w,z,k,A,R,T,B);export{K as default};