@synnaxlabs/pluto 0.28.3 → 0.28.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Animated-e4uMRKwj.js → Animated-BpXi9NWe.js} +1 -1
- package/dist/{Animated-E__GTTTG.cjs → Animated-DFza4wCT.cjs} +1 -1
- package/dist/{Keyboard-D3mL0Zj8.cjs → Keyboard-CbKUH8Eh.cjs} +1 -1
- package/dist/{Keyboard-BhVmFFcl.js → Keyboard-D7ybWHn0.js} +1 -1
- package/dist/{LinePlot-DaWmeGr9.js → LinePlot-BK8esSwO.js} +3 -1
- package/dist/{LinePlot-DNgFi7SV.cjs → LinePlot-D-BHnuDg.cjs} +1 -1
- package/dist/{Link-DacxhXPG.cjs → Link-B8NxnNli.cjs} +1 -1
- package/dist/{Link-5Ul3dBhL.js → Link-D2fnWjvq.js} +1 -1
- package/dist/{List-UfPZeEyc.cjs → List-DFXYScV1.cjs} +1 -1
- package/dist/{List-BF7beadf.js → List-Dukgv-S0.js} +1 -1
- package/dist/{Toggle-C-n_Itw1.cjs → Toggle-CGbCK-dz.cjs} +1 -1
- package/dist/{Toggle-B5c5wLIa.js → Toggle-m9N7HK8Z.js} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/color.cjs +1 -1
- package/dist/color.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/ether.cjs +1 -1
- package/dist/ether.js +2 -2
- package/dist/{external-CkJO9AWA.cjs → external-BEfayRpy.cjs} +1 -1
- package/dist/{external-UXw3IMWv.js → external-BMtI6oH4.js} +1 -1
- package/dist/{external-D6UV0Kg7.cjs → external-Bad1CwNW.cjs} +1 -1
- package/dist/{external-BtMF07eP.js → external-BdCCLUUg.js} +4 -4
- package/dist/{external-D8Ek2KlK.cjs → external-BrqfXbHQ.cjs} +1 -1
- package/dist/{external-1UbQK-gE.js → external-CObl_IIp.js} +1 -1
- package/dist/{external-COUlw2hk.js → external-Cg7eMkiE.js} +2 -2
- package/dist/{external-CVIiAxAn.cjs → external-CpeeWTtO.cjs} +1 -1
- package/dist/{external-CbeV5FZI.js → external-CuEzRxQ1.js} +4 -4
- package/dist/{external-Cn3ddBfz.cjs → external-CwLyjDOU.cjs} +1 -1
- package/dist/{external-BH8CIUWK.js → external-D8deprwW.js} +2 -2
- package/dist/{external-CEUEDiz0.cjs → external-DVOz9Cj-.cjs} +1 -1
- package/dist/{external-BNK-Ar1a.cjs → external-DY98yrhu.cjs} +1 -1
- package/dist/{external-DSaMHj0l.js → external-DiHS7NGb.js} +2 -2
- package/dist/{external-D4LqxMnz.js → external-DqipSbJg.js} +1 -1
- package/dist/{external-NPFKR0s7.cjs → external-Drm1djcp.cjs} +1 -1
- package/dist/{external-BpF04wV3.js → external-DsWUD-xw.js} +1 -1
- package/dist/{external-DQ3_QbC3.cjs → external-PZRTTZBD.cjs} +1 -1
- package/dist/{external-DQczkG9j.cjs → external-QDpeV2Bg.cjs} +1 -1
- package/dist/{external-BaQx1Ppf.js → external-ecHPjGBQ.js} +1 -1
- package/dist/{external-CKnDDP8u.cjs → external-fuYYBaX1.cjs} +1 -1
- package/dist/{external-BKdSRjD9.js → external-qVdtuqZn.js} +2 -2
- package/dist/header.cjs +1 -1
- package/dist/header.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +24 -23
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/src/vis/button/aether/button.d.ts +1 -0
- package/dist/src/vis/button/aether/button.d.ts.map +1 -1
- package/dist/src/vis/schematic/Forms.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text.cjs +1 -1
- package/dist/text.js +2 -2
- package/dist/theming.cjs +1 -1
- package/dist/theming.js +2 -2
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/triggers.cjs +1 -1
- package/dist/triggers.js +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as r } from "./jsx-runtime-B6kdoens.js";
|
|
2
|
-
import { e as m } from "./Toggle-
|
|
2
|
+
import { e as m } from "./Toggle-m9N7HK8Z.js";
|
|
3
3
|
import { C as t } from "./css-BHfxGWOW.js";
|
|
4
4
|
const s = ({ enabledLoc: e, disabledLoc: o, enabled: a }) => /* @__PURE__ */ r.jsx(
|
|
5
5
|
m.Caret.Up,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const o=require("./jsx-runtime-Cek9Ww4S.cjs"),i=require("./Toggle-
|
|
1
|
+
"use strict";const o=require("./jsx-runtime-Cek9Ww4S.cjs"),i=require("./Toggle-CGbCK-dz.cjs"),e=require("./css-C4GOlJsi.cjs"),t=({enabledLoc:n,disabledLoc:r,enabled:s})=>o.jsxRuntimeExports.jsx(i.St.Caret.Up,{className:e.CSS(e.CSS.B("caret-animated"),e.CSS.loc(s?n:r))}),a=Object.freeze(Object.defineProperty({__proto__:null,Animated:t},Symbol.toStringTag,{value:"Module"}));exports.Animated=t;exports.Animated$1=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const r=require("./jsx-runtime-Cek9Ww4S.cjs"),o=require("./Toggle-
|
|
1
|
+
"use strict";const r=require("./jsx-runtime-Cek9Ww4S.cjs"),o=require("./Toggle-CGbCK-dz.cjs"),e=require("./css-C4GOlJsi.cjs"),c=({className:s,...t})=>r.jsxRuntimeExports.jsx(o.Text,{className:e.CSS(s,e.CSS.BM("text","keyboard")),...t});exports.Keyboard=c;
|
|
@@ -5185,7 +5185,9 @@ class Li extends Pt {
|
|
|
5185
5185
|
}
|
|
5186
5186
|
async afterUpdate() {
|
|
5187
5187
|
const { sink: n } = this.state;
|
|
5188
|
-
this.internal.
|
|
5188
|
+
this.internal.prevTrigger == null && (this.internal.prevTrigger = this.state.trigger), this.internal.sink = await wr(this.ctx, n, this.internal.sink);
|
|
5189
|
+
const r = this.internal.prevTrigger;
|
|
5190
|
+
this.internal.prevTrigger = this.state.trigger, !(this.state.trigger <= r) && this.internal.sink.set(!0).catch(console.error);
|
|
5189
5191
|
}
|
|
5190
5192
|
render() {
|
|
5191
5193
|
}
|
|
@@ -31,7 +31,7 @@ void main(void) {
|
|
|
31
31
|
transformed = transformed + a_translate;
|
|
32
32
|
gl_Position = vec4(transformed, 0.0, 1.0);
|
|
33
33
|
}
|
|
34
|
-
`,ca=E.d.FLOAT32.density.valueOf(),wl=T.z.object({x:eo,y:eo,label:T.z.string().optional(),color:f.Color.z,strokeWidth:T.z.number().default(1),downsample:T.z.number().min(1).max(50).optional().default(1)}),Sg=(t,e,n)=>t===-1||e===-1||t>=n.length?NaN:Number(n[t].at(e)),vg=E.w.milliseconds(2);f.q.NAN,f.q.NAN,f.ZERO;const $e=class $e extends ei{constructor(n){super(n,xg,wg);m(this,"translationBufferCache",new Map);this.translationBufferCache=new Map}bindState({strokeWidth:n,color:r}){return this.uniformColor("u_color",r),this.attrStrokeWidth(n)}bindScale(n,r){const s=f.q.scale(n.scale,r.scale),o=f.q.translate(f.q.scale(r.scale,n.offset),r.offset);this.uniformXY("u_scale_aggregate",s),this.uniformXY("u_offset_aggregate",o)}draw({x:n,y:r,count:s,downsample:o,xOffset:i,yOffset:a},c){const{gl:l}=this.ctx;this.bindAttrBuffer("x",n.glBuffer,o,i),this.bindAttrBuffer("y",r.glBuffer,o,a),l.drawArraysInstanced(l.LINE_STRIP,0,s/o,c)}static create(n){const r=gt.use(n),s=new $e(r);return n.set($e.CONTEXT_KEY,s),s}static use(n){return n.get($e.CONTEXT_KEY)}bindAttrBuffer(n,r,s,o=0){const{gl:i}=this.ctx;i.bindBuffer(i.ARRAY_BUFFER,r);const a=i.getAttribLocation(this.prog,`a_${n}`);i.vertexAttribPointer(a,1,i.FLOAT,!1,ca*s,ca*o),i.enableVertexAttribArray(a)}getAndBindTranslationBuffer(n){const{gl:r}=this.ctx,s=`${this.ctx.aspect}:${n}`,o=this.translationBufferCache.get(s);if(o!=null)return r.bindBuffer(r.ARRAY_BUFFER,o.glBuffer),o;const i=r.createBuffer();if(i==null)throw new E.Se("Failed to create buffer from WebGL context");const a=Tg(this.ctx.aspect,n);r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,a,r.DYNAMIC_DRAW);const c={glBuffer:i,jsBuffer:a};return this.translationBufferCache.set(s,c),c}attrStrokeWidth(n){const{gl:r}=this.ctx,{jsBuffer:s}=this.getAndBindTranslationBuffer(n),o=r.getAttribLocation(this.prog,"a_translate");return r.vertexAttribPointer(o,2,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o),r.vertexAttribDivisor(o,1),s.length/2}};m($e,"CONTEXT_KEY","pluto-line-gl-program");let Wr=$e;class Fn extends E.Leaf{constructor(){super(...arguments);m(this,"schema",wl)}async afterUpdate(){if(this.deleted)return;const{internal:n}=this;n.xTelem=await Ht(this.ctx,this.state.x,n.xTelem),n.yTelem=await Ht(this.ctx,this.state.y,n.yTelem),n.instrumentation=sr(this.ctx,"line"),n.prog=Wr.use(this.ctx),n.requestRender=mt.useRequest(this.ctx),n.xTelem.onChange(()=>n.requestRender(ho)),n.yTelem.onChange(()=>n.requestRender(ho)),n.requestRender(Lt)}async afterDelete(){var r,s,o,i;const{internal:n}=this;await((s=(r=n.xTelem).cleanup)==null?void 0:s.call(r)),await((i=(o=n.yTelem).cleanup)==null?void 0:i.call(o)),n.requestRender(Lt)}async xBounds(){return(await this.internal.xTelem.value())[0]}async yBounds(){return(await this.internal.yTelem.value())[0]}async findByXValue(n,r){const{xTelem:s,yTelem:o}=this.internal,[,i]=await s.value();let[a,c]=[-1,-1];i.find((S,k)=>{const _=S.binarySearch(r),v=_>=0&&_<S.length;return v&&([a,c]=[_,k]),v});const{key:l}=this,{color:u,label:h}=this.state,d={key:l,color:u,label:h,position:{x:0,y:0},value:{x:NaN,y:NaN}};if(a===-1||c===-1)return d;const p=i[c];d.value.x=Sg(c,a,i);const[,w]=await o.value(),y=w.find(S=>f.R.contains(S.alignmentBounds,p.alignment+BigInt(a)));if(y==null)return d;const b=Number(y.alignment-p.alignment);return d.value.y=Number(y.at(a-b)),d.position={x:n.dataToDecimalScale.x.pos(d.value.x),y:n.dataToDecimalScale.y.pos(d.value.y)},d}async render(n){if(this.deleted)return;const{downsample:r}=this.state,{xTelem:s,yTelem:o,prog:i}=this.internal,{dataToDecimalScale:a,exposure:c}=n,[[,l],[,u]]=await Promise.all([s.value(),o.value()]);l.forEach(y=>y.updateGLBuffer(i.ctx.gl)),u.forEach(y=>y.updateGLBuffer(i.ctx.gl));const h=kg(l,u,c,r,vg);this.internal.instrumentation.L.debug("render",()=>({key:this.key,downsample:r,scale:f.k.xyScaleToTransform(a),props:n.region,ops:Mg(h)}));const d=i.setAsActive(),p=i.bindState(this.state),w=f.k.xyScaleToTransform(i.ctx.scaleRegion(n.region));h.forEach(y=>{const b=f.k.xyScaleToTransform(Pg(a,y));i.bindScale(b,w),i.draw(y,p)}),d()}}m(Fn,"TYPE","line");const bg=5e3,Tg=(t,e)=>Cg(_g(t),e).map((n,r)=>Math.floor(r/Eg)*(1/(bg*t))*n),Eg=5,_g=t=>new Float32Array([0,0,0,t,0,-t,1,0,-1,0]),Cg=(t,e)=>{const n=new Float32Array(t.length*e);for(let r=0;r<e;r++)n.set(t,r*t.length);return n},Pg=(t,e)=>t.translate(t.x.dim(Number(e.x.sampleOffset)),t.y.dim(Number(e.y.sampleOffset))),Rg={[Fn.TYPE]:Fn},kg=(t,e,n,r,s)=>{if(t.length===0||e.length===0)return[];const o=[];return t.forEach(i=>e.forEach(a=>{if(!Ag(i,a,s))return;let c=0,l=0;i.alignment<a.alignment?c=Number(a.alignment-i.alignment):a.alignment<i.alignment&&(l=Number(i.alignment-a.alignment));const u=Math.min(i.length-c,a.length-l);if(u===0)return;const h=f.j(Math.round(n*4*u),r,51);o.push({x:i,y:a,xOffset:c,yOffset:l,count:u,downsample:h})})),o},Mg=t=>t.map(e=>({...e,x:e.x.digest,y:e.y.digest})),Ag=(t,e,n)=>{if(!(t._timeRange!=null&&e._timeRange!=null))throw new E.Se(`Encountered series without time range in buildDrawOperations. X series present: ${t._timeRange!=null}, Y series present: ${e._timeRange!=null}`);const s=t.timeRange.overlapsWith(e.timeRange,n),o=f.R.overlapsWith(t.alignmentBounds,e.alignmentBounds);return s&&o};class cr{constructor(e,n){m(this,"canvas");m(this,"theme");this.canvas=e,this.theme=n}rule({direction:e,region:n,position:r,...s}){return e==="x"?this.line({start:f.q.construct(f.To.left(n),r),end:f.q.construct(f.To.right(n),r),...s}):this.line({start:f.q.construct(r,f.To.top(n)),end:f.q.construct(r,f.To.bottom(n)),...s})}line({stroke:e,lineWidth:n,lineDash:r,start:s,end:o}){const i=this.canvas;i.strokeStyle=e.hex,i.lineWidth=n,i.setLineDash([r]),i.beginPath(),i.moveTo(...f.q.couple(s)),i.lineTo(...f.q.couple(o)),i.stroke()}circle({fill:e,radius:n,position:r}){const s=this.canvas;s.fillStyle=e.hex,s.beginPath(),s.arc(...f.q.couple(r),n,0,2*Math.PI),s.fill()}resolveColor(e,n){return e==null?this.resolveColor(n):typeof e=="function"?e(this.theme):new f.Color(e)}border({region:e,color:n,width:r,radius:s,location:o}){const i=this.canvas;i.strokeStyle=this.resolveColor(n,this.theme.colors.border).hex,i.lineWidth=r??this.theme.sizes.border.width,s??(s=this.theme.sizes.border.radius),o==null||o===!0?s>0?(i.roundRect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e)),s),i.stroke()):(i.rect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e))),i.stroke()):E.A(o).forEach(a=>{const[c,l]=f.To.edgePoints(e,a);i.beginPath(),i.moveTo(...f.q.couple(c)),i.lineTo(...f.q.couple(l)),i.stroke()})}container({region:e,bordered:n=!0,rounded:r=!0,borderColor:s,borderRadius:o,borderWidth:i,backgroundColor:a}){o==null&&(o=this.theme.sizes.border.radius),i==null&&(i=1);const c=this.canvas;c.fillStyle=this.resolveColor(a,this.theme.colors.gray.l1).hex,c.strokeStyle=this.resolveColor(s,this.theme.colors.border).hex,c.setLineDash([]),c.lineWidth=1,c.beginPath(),r?c.roundRect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e)),o):c.rect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e))),c.fill(),n&&this.border({region:e,color:s,radius:o,width:i,location:n})}textContainer(e){const[n,r]=this.spacedTextDrawF(e);n.width+=12,n.height+=12;const{root:s=f.J.TOP_LEFT,offset:o=f.q.ZERO}=e,i={...e.position};s.x==="right"?i.x-=n.width+o.x:i.x+=o.x,s.y==="bottom"?i.y-=n.height+o.y:i.y+=o.y,this.container({region:f.To.construct(i,n.width,n.height),...e}),this.canvas.filter="none",r(f.q.translate(i,[6,6]))}spacedTextDrawF({text:e,direction:n,spacing:r=1,level:s="p"}){const o=E.fontString(this.theme,s),i=e.map(l=>E.dimensions(l,o,this.canvas)),a=this.theme.sizes.base*r,c=Math.max(...i.map(l=>l[f.g.dimension(n)]))+a;return[{[f.g.dimension(f.g.swap(n))]:Math.max(...i.map(l=>l[f.g.dimension(f.g.swap(n))])),[f.g.dimension(n)]:c*e.length-a},l=>{const u=E.fontString(this.theme,s);this.canvas.font=u,this.canvas.fillStyle=this.theme.colors.text.hex,this.canvas.textBaseline="top",e.forEach((h,d)=>{this.canvas.fillText(h,l.x,l.y+c*d)})}]}drawTextInCenter({box:e,text:n,level:r}){const s=E.dimensions(n,this.canvas.font,this.canvas),o=f.To.positionInCenter(f.To.construct(f.q.ZERO,s),e);return this.text({text:n,position:f.To.topLeft(o),level:r})}text({text:e,position:n,level:r="p",weight:s,shade:o,maxWidth:i}){this.canvas.font=E.fontString(this.theme,r,s),o==null?this.canvas.fillStyle=this.theme.colors.text.hex:this.canvas.fillStyle=this.theme.colors.gray[`l${o}`].hex,this.canvas.textBaseline="top";let a;i!=null&&(a=this.canvas.scissor(f.To.construct(n,i,1e3))),this.canvas.fillText(e,n.x,n.y),a==null||a()}}const ri=T.z.object({position:T.z.number().optional(),pixelPosition:T.z.number().optional(),dragging:T.z.boolean(),lineWidth:T.z.number().optional().default(1),lineDash:T.z.number().optional().default(20),color:f.Color.z});class tn extends E.Leaf{constructor(){super(...arguments);m(this,"schema",ri)}async afterUpdate(){this.internal.renderCtx=gt.use(this.ctx);const n=E.use(this.ctx);this.internal.draw=new cr(this.internal.renderCtx.upper2d,n),mt.requestRender(this.ctx,Gt)}async afterDelete(){mt.requestRender(this.ctx,Gt)}updatePositions({decimalToDataScale:n,plot:r,container:s}){if(this.state.dragging&&this.state.pixelPosition!=null){const i=n.pos((this.state.pixelPosition-f.To.top(r)+f.To.top(s))/f.To.height(r));return this.setState(a=>({...a,position:i})),this.state.pixelPosition}if(this.state.position==null){const i=n.pos(.5);this.setState(a=>({...a,position:i}))}const o=n.reverse().pos(this.state.position)*f.To.height(r)+f.To.top(r)-f.To.top(s);return isNaN(o)||this.setState(i=>({...i,pixelPosition:o})),o}async render(n){if(this.deleted)return;const{renderCtx:r}=this.internal,{location:s,plot:o}=n,i=f.J.direction(s),{upper2d:a}=r,c=this.internal.draw;let l=this.updatePositions(n);l+=f.To.top(n.container),c.rule({stroke:this.state.color,lineWidth:this.state.lineWidth,lineDash:this.state.lineDash,direction:i,region:o,position:l}),a.fillStyle=this.state.color.hex,a.beginPath(),s==="left"?(a.moveTo(f.To.left(o),l),a.lineTo(f.To.left(o)-5,l-5),a.lineTo(f.To.left(o)-5,l+5)):s==="right"&&(a.moveTo(f.To.right(o),l),a.lineTo(f.To.right(o)+5,l-5),a.lineTo(f.To.right(o)+5,l+5)),a.closePath(),a.fill()}}m(tn,"TYPE","Rule");const xl={[tn.TYPE]:tn},Ng=Object.freeze(Object.defineProperty({__proto__:null,REGISTRY:xl,Rule:tn,ruleStateZ:ri},Symbol.toStringTag,{value:"Module"})),Dg=ar.extend({location:f.J.x.optional().default("left")});class Un extends ml{constructor(){super(...arguments);m(this,"schema",ar)}async xBounds(){return f.R.max(await Promise.all(this.lines.map(async n=>await n.xBounds())))}async render(n){if(this.deleted)return;const[r,s]=await this.dataToDecimalScale(n.hold,this.dataBounds.bind(this),n.viewport),o=r.invert().reverse();if(this.renderAxis(n,o),await this.renderLines(n,r),await this.renderRules(n,o),s!=null)throw s}async renderLines({xDataToDecimalScale:n,plot:r,canvases:s,exposure:o},i){if(!s.includes("gl"))return;const a={region:r,dataToDecimalScale:new f.k.XY(n,i),exposure:o};await Promise.all(this.lines.map(async c=>await c.render(a)))}async renderRules({container:n,plot:r,canvases:s},o){if(!s.includes("upper2d"))return;const{location:i}=this.state,{render:a}=this.internal,c=f.To.construct(f.To.left(n),f.To.top(r),f.To.width(n),f.To.height(r)),l=a.scissor(c,f.q.ZERO,["upper2d"]),u={container:n,plot:r,decimalToDataScale:o,location:i};await Promise.all(this.rules.map(async h=>await h.render(u))),l()}async findByXValue({xDataToDecimalScale:n,plot:r,viewport:s,hold:o,exposure:i},a){const[c,l]=await this.dataToDecimalScale(o,this.dataBounds.bind(this),s);if(l!=null)throw l;const u=new f.k.XY(n,c),h={region:r,dataToDecimalScale:u,exposure:i};return(await Promise.all(this.lines.map(async d=>await d.findByXValue(h,a)))).map(d=>({...d,units:this.state.label}))}async dataBounds(){return await Promise.all(this.lines.map(async n=>await n.yBounds()))}get lines(){return this.childrenOfType(Fn.TYPE)}get rules(){return this.childrenOfType(tn.TYPE)}}m(Un,"TYPE","YAxis");const Sl=T.z.object({start:E.m.z,end:E.m.z});class Kr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Sl)}async afterUpdate(){this.internal.render=gt.use(this.ctx),this.internal.draw=new cr(this.internal.render.upper2d,E.use(this.ctx))}async render(){}}m(Kr,"TYPE","range-annotation");const vl=T.z.object({triggered:T.z.boolean(),status:E.specZ$1,sink:ys.optional().default(gs),source:Do.optional().default(No)});class jr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",vl)}async afterUpdate(){var s,o,i;const{sink:n,source:r}=this.state;this.internal.source=await Ht(this.ctx,r,this.internal.source),this.internal.sink=await er(this.ctx,n,this.internal.sink),this.state.triggered&&!this.prevState.triggered&&this.internal.sink.set(((s=this.state.status.data)==null?void 0:s.authority)!==E.Id.Absolute.valueOf()).catch(console.error),await this.updateEnabledState(),(i=(o=this.internal).stopListening)==null||i.call(o),this.internal.stopListening=this.internal.source.onChange(()=>{this.updateEnabledState()})}async updateEnabledState(){const n=await this.internal.source.value();n.time.equals(this.state.status.time)||this.setState(r=>({...r,status:n,triggered:!1}))}async afterDelete(){this.asyncAfterDelete().catch(console.error)}async asyncAfterDelete(){var n,r,s,o;this.internal.stopListening(),await((r=(n=this.internal.source).cleanup)==null?void 0:r.call(n)),await((o=(s=this.internal.sink).cleanup)==null?void 0:o.call(s))}render(){}}m(jr,"TYPE","Chip");const bl=T.z.object({}),la="control-state-provider",Tl=E.sd.stateZ.extend({subjectColor:f.Color.z});class en extends E.Composite{constructor(){super(...arguments);m(this,"schema",bl);m(this,"colors",new Map);m(this,"tracker");m(this,"disconnectTrackerChange");m(this,"obs",new ko.Observer)}static use(n){return n.get(la)}async afterUpdate(){const{internal:n}=this;n.instrumentation=sr(this.ctx,"control-state");const r=E.use(this.ctx);n.palette=r.colors.visualization.palettes.default,n.defaultColor=r.colors.gray.l6;const s=tr(this.ctx);n.client!=null&&s===n.client||(n.client=s,this.ctx.set(la,this),await this.maybeCloseTracker(),n.client!=null&&(this.internal.instrumentation.L.debug("starting state tracker"),await this.openTracker(n.client)))}async maybeCloseTracker(){var n;this.tracker!=null&&(this.internal.instrumentation.L.debug("stopping state tracker"),(n=this.disconnectTrackerChange)==null||n.call(this),await this.tracker.close(),this.tracker=void 0)}async afterDelete(){await this.maybeCloseTracker()}onChange(n){return this.obs.onChange(n)}get(n){return Array.isArray(n)?E.n(n).map(r=>this.getOne(r)).filter(r=>r!=null):this.getOne(n)}getOne(n){if(this.tracker==null)return;const r=this.tracker.states.get(n);if(r!=null)return{...r,subjectColor:this.colors.get(r.subject.key)??this.internal.defaultColor}}async openTracker(n){var o;const{internal:r}=this,{instrumentation:s}=r;try{this.tracker=await n.control.openStateTracker()}catch{s.L.error("failed to open state tracker");return}(o=this.disconnectTrackerChange)==null||o.call(this),this.disconnectTrackerChange=this.tracker.onChange(i=>{if(s.L.debug("transfer",{transfers:i.map(a=>E.sd.transferString(a))}),this.tracker==null)throw new E.Se("tracker is null inside it's own onChange callback!");this.updateColors(this.tracker),this.obs.notify(i)})}updateColors(n){const r=n.subjects(),s=r.map(a=>a.key),o=Array.from(this.colors.values());this.colors.forEach((a,c)=>!s.includes(c)&&this.colors.delete(c));const{palette:i}=this.internal;r.forEach(a=>{if(this.colors.has(a.key))return;const c=i.find(l=>!o.includes(l))??i[0];this.colors.set(a.key,c),o.push(c)})}}m(en,"TYPE","StateProvider");const El=["acquired","released","overridden","failed"],_l=T.z.enum(El),Cl=T.z.object({name:T.z.string(),authority:T.z.number().default(0),acquireTrigger:T.z.number(),status:_l.optional(),needsControlOf:E.Jy.keyZ.array().optional().default([])});class Jr extends E.Composite{constructor(){super(...arguments);m(this,"schema",Cl);m(this,"registry",new Map);m(this,"writer")}async afterUpdate(){this.internal.instrumentation=sr(this.ctx),(this.internal.prevTrigger==null||Math.abs(this.state.acquireTrigger-this.internal.prevTrigger)>1)&&(this.internal.prevTrigger=this.state.acquireTrigger);const n=tr(this.ctx),r=en.use(this.ctx);this.internal.client=n,this.internal.client==null&&await this.release(),this.internal.stateProv=r,nc(this.ctx,this),this.internal.addStatus=E.useAggregate(this.ctx),this.state.acquireTrigger>this.internal.prevTrigger?(this.acquire(),this.internal.prevTrigger=this.state.acquireTrigger):this.state.acquireTrigger<this.internal.prevTrigger&&(this.release(),this.internal.prevTrigger=this.state.acquireTrigger)}async afterDelete(){await this.release()}async updateNeedsControlOf(){if(this.internal.client==null)throw new E.Se("No cluster connected but channelKeys were requested");const n=new Set([]);for(const s of this.registry.keys())(await s.needsControlOf(this.internal.client)).forEach(i=>i!==0&&n.add(i));const r=Array.from(n);E.y.unorderedPrimitiveArrays(this.state.needsControlOf,r)!==E.y.EQUAL&&this.setState(s=>({...s,needsControlOf:r}))}async acquire(){const{client:n,addStatus:r}=this.internal;if(n==null)return r({message:`Cannot acquire control on ${this.state.name} because no cluster has been connected.`,variant:"warning"});try{await this.updateNeedsControlOf();const s=this.state.needsControlOf;if(s.length===0)return r({message:`Cannot acquire control on ${this.state.name} because there are no channels to control.`,variant:"warning"});this.writer=await n.openWriter({start:E.S$1.now(),channels:s,controlSubject:{key:this.key,name:this.state.name},authorities:this.state.authority}),this.setState(o=>({...o,status:"acquired"}))}catch(s){this.setState(o=>({...o,status:"failed"})),r({message:`${this.state.name} failed to acquire control: ${s.message}`,variant:"error"})}}async release(){var n;try{await((n=this.writer)==null?void 0:n.close()),this.setState(r=>({...r,status:"released"}))}catch(r){this.internal.addStatus({message:`${this.state.name} failed to release control: ${r.message}`,variant:"error"})}finally{this.writer=void 0}}async set(n){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.write(n))}async setAuthority(n,r){var s;this.writer==null&&await this.acquire(),await((s=this.writer)==null?void 0:s.setAuthority(Object.fromEntries(n.map(o=>[o,r]))))}async releaseAuthority(n){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.setAuthority(Object.fromEntries(n.map(s=>[s,this.state.authority]))))}deleteTelem(n){this.registry.delete(n),this.updateNeedsControlOf()}create(n){const s=(()=>{switch(n.type){case Zn.TYPE:{const o=new Zn(this,n.props);return this.registry.set(o,null),o}case Vn.TYPE:{const o=new Vn(this,this.internal.stateProv,n.props);return this.registry.set(o,null),o}case Hn.TYPE:return new Hn(this,n.props);default:return null}})();return s!=null&&this.updateNeedsControlOf(),s}}m(Jr,"TYPE","Controller");const Pl=T.z.object({channel:T.z.number()});class Zn extends xs{constructor(n,r){super(r);m(this,"controller");m(this,"schema",Pl);this.controller=n}invalidate(){}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(n){if(this.props.channel===0)return[];const r=await n.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(n){const{client:r}=this.controller.internal;if(r==null)return;const s=await r.channels.retrieve(this.props.channel),o={[s.key]:n};if(s.index!==0){const i=await r.channels.retrieve(s.index);o[i.key]=E.S$1.now()}await this.controller.set(o)}}m(Zn,"TYPE","controlled-numeric-telem-sink");const Og=t=>({type:Zn.TYPE,props:t,variant:"sink",valueType:"number"}),Rl=T.z.object({authority:T.z.number().default(E.sd.Authority.Absolute.valueOf()),channel:T.z.number()});class Hn extends xs{constructor(n,r){super(r);m(this,"controller");m(this,"schema",Rl);this.controller=n}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(n){const r=await n.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(n){const{controller:r}=this,{client:s}=r.internal;if(s==null)return;const o=await s.channels.retrieve(this.props.channel),i=[o.key];o.index!==0&&i.push(o.index),n?await this.controller.setAuthority(i,this.props.authority):await this.controller.releaseAuthority(i)}}m(Hn,"TYPE","acquire-channel-control");const zg=t=>({type:Hn.TYPE,props:t,variant:"sink",valueType:"boolean"}),kl=T.z.object({channel:T.z.number()});class Vn extends _t{constructor(n,r,s){super(s);m(this,"prov");m(this,"valid",!1);m(this,"stopListening");m(this,"controller");m(this,"schema",kl);this.prov=r,this.controller=n}async needsControlOf(){return[]}maybeRevalidate(){var s;if(this.valid)return;const{channel:n}=this.props;(s=this.stopListening)==null||s.call(this);const r=E._$1.filterTransfersByChannelKey(n);this.stopListening=this.prov.onChange(o=>{var i;r(o).length!==0&&((i=this.notify)==null||i.call(this))}),this.valid=!0}async value(){this.maybeRevalidate();const n=E.S$1.now();if(this.props.channel===0)return{key:this.controller.key,variant:"disabled",message:"No Channel",time:n,data:{valid:!1,authority:0}};const r=this.prov.get(this.props.channel);return r==null?{key:this.controller.key,variant:"disabled",message:"Uncontrolled",time:n,data:{valid:!0,color:void 0,authority:0}}:{key:r.subject.key,variant:r.subject.key===this.controller.key?"success":"error",message:`Controlled by ${r.subject.name}`,time:n,data:{valid:!0,color:r.subjectColor,authority:r.authority}}}async cleanup(){var n;this.controller.deleteTelem(this),(n=this.stopListening)==null||n.call(this)}}m(Vn,"TYPE","controlled-status-source");const Ig=t=>({type:Vn.TYPE,props:t,variant:"source",valueType:"status"}),Ml=T.z.object({statusSource:Do.optional().default(No),colorSource:pc.optional().default(ac),status:E.specZ$1,color:f.Color.z.optional()});class Qr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Ml);m(this,"stopListeningStatus");m(this,"stopListeningColor")}async afterUpdate(){var r,s;const{internal:n}=this;n.statusSource=await Ht(this.ctx,this.state.statusSource,n.statusSource),n.colorSource=await Ht(this.ctx,this.state.colorSource,n.colorSource),await this.updateState(),(r=this.stopListeningStatus)==null||r.call(this),this.stopListeningStatus=n.statusSource.onChange(()=>{this.updateState()}),(s=this.stopListeningColor)==null||s.call(this),this.stopListeningColor=n.colorSource.onChange(()=>{this.updateState()})}async afterDelete(){this.internalAfterDelete().catch(console.error)}async internalAfterDelete(){var n,r,s,o;await((r=(n=this.internal.statusSource).cleanup)==null?void 0:r.call(n)),await((o=(s=this.internal.colorSource).cleanup)==null?void 0:o.call(s))}async render(){}async updateState(){const n=await this.internal.colorSource.value(),r=await this.internal.statusSource.value();n.equals(this.state.color)&&r.message===this.state.status.message||this.setState(s=>({...s,color:n,status:r}))}}m(Qr,"TYPE","Indicator");const Al=T.z.object({needsControlOf:E.Jy.keyZ.array(),states:Tl.array()});class ts extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Al)}async afterUpdate(){var i;const{internal:n}=this;n.stateProv=en.use(this.ctx);const r=this.state.needsControlOf;(i=n.disconnectStateProv)==null||i.call(n);const s=E._$1.filterTransfersByChannelKey(...r),o=n.stateProv.get(r);this.setState(a=>({...a,states:o})),n.disconnectStateProv=n.stateProv.onChange(a=>{if(s(a).length===0)return;const c=n.stateProv.get(r);this.setState(l=>({...l,states:c}))})}async afterDelete(){var r;const{internal:n}=this;(r=n.disconnectStateProv)==null||r.call(n)}async render(){}}m(ts,"TYPE","Legend");const Lg={[Jr.TYPE]:Jr,[en.TYPE]:en,[Qr.TYPE]:Qr,[jr.TYPE]:jr,[ts.TYPE]:ts},Nl=T.z.object({trigger:T.z.number(),sink:ys.optional().default(gs)});class es extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Nl)}async afterUpdate(){const{sink:n}=this.state;this.internal.sink=await er(this.ctx,n,this.internal.sink),this.state.trigger>this.prevState.trigger&&this.internal.sink.set(!0).catch(console.error)}render(){}async afterDelete(){await this.internalAfterDelete()}async internalAfterDelete(){var r,s;const{internal:n}=this;await((s=(r=n.sink).cleanup)==null?void 0:s.call(r))}}m(es,"TYPE","Button");const $g={[es.TYPE]:es},si=T.z.object({dpr:T.z.number(),region:f.To.box,bootstrap:T.z.boolean().optional().default(!1),bootstrapped:T.z.boolean().optional().default(!1),glCanvas:T.z.any().optional(),upper2dCanvas:T.z.any().optional(),lower2dCanvas:T.z.any().optional(),os:E.w$1.osZ});class Xn extends E.Composite{constructor(){super(...arguments);m(this,"schema",si);m(this,"renderContextSet",!1)}async afterUpdate(){let n=gt.useOptional(this.ctx);if(n==null){if(this.renderContextSet)throw new E.Se("[vis.worker.Canvas] - expected render context to be set");if(!this.state.bootstrap)return;const{glCanvas:r,lower2dCanvas:s,upper2dCanvas:o,os:i}=this.state;if(r==null||s==null||o==null)throw new E.Se("[vis.worker.Canvas] - expected render context bootstrap to include all canvases");n=gt.create(this.ctx,r,s,o,i),Wr.create(this.ctx),this.setState(a=>({...a,bootstrap:!1,bootstrapped:!0,glCanvas:void 0,lower2dCanvas:void 0,upper2dCanvas:void 0}))}else n.update(this.ctx);n.resize(this.state.region,this.state.dpr)}}m(Xn,"TYPE","Canvas");const Dl={[Xn.TYPE]:Xn},Yg=Object.freeze(Object.defineProperty({__proto__:null,Canvas:Xn,REGISTRY:Dl,canvasStateZ:si},Symbol.toStringTag,{value:"Module"}));function vt(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n<t.length;n++)(r=vt(t[n]))!==""&&(e+=(e&&" ")+r);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var fo={exports:{}},Fs={},pr={exports:{}},Us={};/**
|
|
34
|
+
`,ca=E.d.FLOAT32.density.valueOf(),wl=T.z.object({x:eo,y:eo,label:T.z.string().optional(),color:f.Color.z,strokeWidth:T.z.number().default(1),downsample:T.z.number().min(1).max(50).optional().default(1)}),Sg=(t,e,n)=>t===-1||e===-1||t>=n.length?NaN:Number(n[t].at(e)),vg=E.w.milliseconds(2);f.q.NAN,f.q.NAN,f.ZERO;const $e=class $e extends ei{constructor(n){super(n,xg,wg);m(this,"translationBufferCache",new Map);this.translationBufferCache=new Map}bindState({strokeWidth:n,color:r}){return this.uniformColor("u_color",r),this.attrStrokeWidth(n)}bindScale(n,r){const s=f.q.scale(n.scale,r.scale),o=f.q.translate(f.q.scale(r.scale,n.offset),r.offset);this.uniformXY("u_scale_aggregate",s),this.uniformXY("u_offset_aggregate",o)}draw({x:n,y:r,count:s,downsample:o,xOffset:i,yOffset:a},c){const{gl:l}=this.ctx;this.bindAttrBuffer("x",n.glBuffer,o,i),this.bindAttrBuffer("y",r.glBuffer,o,a),l.drawArraysInstanced(l.LINE_STRIP,0,s/o,c)}static create(n){const r=gt.use(n),s=new $e(r);return n.set($e.CONTEXT_KEY,s),s}static use(n){return n.get($e.CONTEXT_KEY)}bindAttrBuffer(n,r,s,o=0){const{gl:i}=this.ctx;i.bindBuffer(i.ARRAY_BUFFER,r);const a=i.getAttribLocation(this.prog,`a_${n}`);i.vertexAttribPointer(a,1,i.FLOAT,!1,ca*s,ca*o),i.enableVertexAttribArray(a)}getAndBindTranslationBuffer(n){const{gl:r}=this.ctx,s=`${this.ctx.aspect}:${n}`,o=this.translationBufferCache.get(s);if(o!=null)return r.bindBuffer(r.ARRAY_BUFFER,o.glBuffer),o;const i=r.createBuffer();if(i==null)throw new E.Se("Failed to create buffer from WebGL context");const a=Tg(this.ctx.aspect,n);r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,a,r.DYNAMIC_DRAW);const c={glBuffer:i,jsBuffer:a};return this.translationBufferCache.set(s,c),c}attrStrokeWidth(n){const{gl:r}=this.ctx,{jsBuffer:s}=this.getAndBindTranslationBuffer(n),o=r.getAttribLocation(this.prog,"a_translate");return r.vertexAttribPointer(o,2,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o),r.vertexAttribDivisor(o,1),s.length/2}};m($e,"CONTEXT_KEY","pluto-line-gl-program");let Wr=$e;class Fn extends E.Leaf{constructor(){super(...arguments);m(this,"schema",wl)}async afterUpdate(){if(this.deleted)return;const{internal:n}=this;n.xTelem=await Ht(this.ctx,this.state.x,n.xTelem),n.yTelem=await Ht(this.ctx,this.state.y,n.yTelem),n.instrumentation=sr(this.ctx,"line"),n.prog=Wr.use(this.ctx),n.requestRender=mt.useRequest(this.ctx),n.xTelem.onChange(()=>n.requestRender(ho)),n.yTelem.onChange(()=>n.requestRender(ho)),n.requestRender(Lt)}async afterDelete(){var r,s,o,i;const{internal:n}=this;await((s=(r=n.xTelem).cleanup)==null?void 0:s.call(r)),await((i=(o=n.yTelem).cleanup)==null?void 0:i.call(o)),n.requestRender(Lt)}async xBounds(){return(await this.internal.xTelem.value())[0]}async yBounds(){return(await this.internal.yTelem.value())[0]}async findByXValue(n,r){const{xTelem:s,yTelem:o}=this.internal,[,i]=await s.value();let[a,c]=[-1,-1];i.find((S,k)=>{const _=S.binarySearch(r),v=_>=0&&_<S.length;return v&&([a,c]=[_,k]),v});const{key:l}=this,{color:u,label:h}=this.state,d={key:l,color:u,label:h,position:{x:0,y:0},value:{x:NaN,y:NaN}};if(a===-1||c===-1)return d;const p=i[c];d.value.x=Sg(c,a,i);const[,w]=await o.value(),y=w.find(S=>f.R.contains(S.alignmentBounds,p.alignment+BigInt(a)));if(y==null)return d;const b=Number(y.alignment-p.alignment);return d.value.y=Number(y.at(a-b)),d.position={x:n.dataToDecimalScale.x.pos(d.value.x),y:n.dataToDecimalScale.y.pos(d.value.y)},d}async render(n){if(this.deleted)return;const{downsample:r}=this.state,{xTelem:s,yTelem:o,prog:i}=this.internal,{dataToDecimalScale:a,exposure:c}=n,[[,l],[,u]]=await Promise.all([s.value(),o.value()]);l.forEach(y=>y.updateGLBuffer(i.ctx.gl)),u.forEach(y=>y.updateGLBuffer(i.ctx.gl));const h=kg(l,u,c,r,vg);this.internal.instrumentation.L.debug("render",()=>({key:this.key,downsample:r,scale:f.k.xyScaleToTransform(a),props:n.region,ops:Mg(h)}));const d=i.setAsActive(),p=i.bindState(this.state),w=f.k.xyScaleToTransform(i.ctx.scaleRegion(n.region));h.forEach(y=>{const b=f.k.xyScaleToTransform(Pg(a,y));i.bindScale(b,w),i.draw(y,p)}),d()}}m(Fn,"TYPE","line");const bg=5e3,Tg=(t,e)=>Cg(_g(t),e).map((n,r)=>Math.floor(r/Eg)*(1/(bg*t))*n),Eg=5,_g=t=>new Float32Array([0,0,0,t,0,-t,1,0,-1,0]),Cg=(t,e)=>{const n=new Float32Array(t.length*e);for(let r=0;r<e;r++)n.set(t,r*t.length);return n},Pg=(t,e)=>t.translate(t.x.dim(Number(e.x.sampleOffset)),t.y.dim(Number(e.y.sampleOffset))),Rg={[Fn.TYPE]:Fn},kg=(t,e,n,r,s)=>{if(t.length===0||e.length===0)return[];const o=[];return t.forEach(i=>e.forEach(a=>{if(!Ag(i,a,s))return;let c=0,l=0;i.alignment<a.alignment?c=Number(a.alignment-i.alignment):a.alignment<i.alignment&&(l=Number(i.alignment-a.alignment));const u=Math.min(i.length-c,a.length-l);if(u===0)return;const h=f.j(Math.round(n*4*u),r,51);o.push({x:i,y:a,xOffset:c,yOffset:l,count:u,downsample:h})})),o},Mg=t=>t.map(e=>({...e,x:e.x.digest,y:e.y.digest})),Ag=(t,e,n)=>{if(!(t._timeRange!=null&&e._timeRange!=null))throw new E.Se(`Encountered series without time range in buildDrawOperations. X series present: ${t._timeRange!=null}, Y series present: ${e._timeRange!=null}`);const s=t.timeRange.overlapsWith(e.timeRange,n),o=f.R.overlapsWith(t.alignmentBounds,e.alignmentBounds);return s&&o};class cr{constructor(e,n){m(this,"canvas");m(this,"theme");this.canvas=e,this.theme=n}rule({direction:e,region:n,position:r,...s}){return e==="x"?this.line({start:f.q.construct(f.To.left(n),r),end:f.q.construct(f.To.right(n),r),...s}):this.line({start:f.q.construct(r,f.To.top(n)),end:f.q.construct(r,f.To.bottom(n)),...s})}line({stroke:e,lineWidth:n,lineDash:r,start:s,end:o}){const i=this.canvas;i.strokeStyle=e.hex,i.lineWidth=n,i.setLineDash([r]),i.beginPath(),i.moveTo(...f.q.couple(s)),i.lineTo(...f.q.couple(o)),i.stroke()}circle({fill:e,radius:n,position:r}){const s=this.canvas;s.fillStyle=e.hex,s.beginPath(),s.arc(...f.q.couple(r),n,0,2*Math.PI),s.fill()}resolveColor(e,n){return e==null?this.resolveColor(n):typeof e=="function"?e(this.theme):new f.Color(e)}border({region:e,color:n,width:r,radius:s,location:o}){const i=this.canvas;i.strokeStyle=this.resolveColor(n,this.theme.colors.border).hex,i.lineWidth=r??this.theme.sizes.border.width,s??(s=this.theme.sizes.border.radius),o==null||o===!0?s>0?(i.roundRect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e)),s),i.stroke()):(i.rect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e))),i.stroke()):E.A(o).forEach(a=>{const[c,l]=f.To.edgePoints(e,a);i.beginPath(),i.moveTo(...f.q.couple(c)),i.lineTo(...f.q.couple(l)),i.stroke()})}container({region:e,bordered:n=!0,rounded:r=!0,borderColor:s,borderRadius:o,borderWidth:i,backgroundColor:a}){o==null&&(o=this.theme.sizes.border.radius),i==null&&(i=1);const c=this.canvas;c.fillStyle=this.resolveColor(a,this.theme.colors.gray.l1).hex,c.strokeStyle=this.resolveColor(s,this.theme.colors.border).hex,c.setLineDash([]),c.lineWidth=1,c.beginPath(),r?c.roundRect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e)),o):c.rect(...f.q.couple(f.To.topLeft(e)),...f.q.couple(f.To.dims(e))),c.fill(),n&&this.border({region:e,color:s,radius:o,width:i,location:n})}textContainer(e){const[n,r]=this.spacedTextDrawF(e);n.width+=12,n.height+=12;const{root:s=f.J.TOP_LEFT,offset:o=f.q.ZERO}=e,i={...e.position};s.x==="right"?i.x-=n.width+o.x:i.x+=o.x,s.y==="bottom"?i.y-=n.height+o.y:i.y+=o.y,this.container({region:f.To.construct(i,n.width,n.height),...e}),this.canvas.filter="none",r(f.q.translate(i,[6,6]))}spacedTextDrawF({text:e,direction:n,spacing:r=1,level:s="p"}){const o=E.fontString(this.theme,s),i=e.map(l=>E.dimensions(l,o,this.canvas)),a=this.theme.sizes.base*r,c=Math.max(...i.map(l=>l[f.g.dimension(n)]))+a;return[{[f.g.dimension(f.g.swap(n))]:Math.max(...i.map(l=>l[f.g.dimension(f.g.swap(n))])),[f.g.dimension(n)]:c*e.length-a},l=>{const u=E.fontString(this.theme,s);this.canvas.font=u,this.canvas.fillStyle=this.theme.colors.text.hex,this.canvas.textBaseline="top",e.forEach((h,d)=>{this.canvas.fillText(h,l.x,l.y+c*d)})}]}drawTextInCenter({box:e,text:n,level:r}){const s=E.dimensions(n,this.canvas.font,this.canvas),o=f.To.positionInCenter(f.To.construct(f.q.ZERO,s),e);return this.text({text:n,position:f.To.topLeft(o),level:r})}text({text:e,position:n,level:r="p",weight:s,shade:o,maxWidth:i}){this.canvas.font=E.fontString(this.theme,r,s),o==null?this.canvas.fillStyle=this.theme.colors.text.hex:this.canvas.fillStyle=this.theme.colors.gray[`l${o}`].hex,this.canvas.textBaseline="top";let a;i!=null&&(a=this.canvas.scissor(f.To.construct(n,i,1e3))),this.canvas.fillText(e,n.x,n.y),a==null||a()}}const ri=T.z.object({position:T.z.number().optional(),pixelPosition:T.z.number().optional(),dragging:T.z.boolean(),lineWidth:T.z.number().optional().default(1),lineDash:T.z.number().optional().default(20),color:f.Color.z});class tn extends E.Leaf{constructor(){super(...arguments);m(this,"schema",ri)}async afterUpdate(){this.internal.renderCtx=gt.use(this.ctx);const n=E.use(this.ctx);this.internal.draw=new cr(this.internal.renderCtx.upper2d,n),mt.requestRender(this.ctx,Gt)}async afterDelete(){mt.requestRender(this.ctx,Gt)}updatePositions({decimalToDataScale:n,plot:r,container:s}){if(this.state.dragging&&this.state.pixelPosition!=null){const i=n.pos((this.state.pixelPosition-f.To.top(r)+f.To.top(s))/f.To.height(r));return this.setState(a=>({...a,position:i})),this.state.pixelPosition}if(this.state.position==null){const i=n.pos(.5);this.setState(a=>({...a,position:i}))}const o=n.reverse().pos(this.state.position)*f.To.height(r)+f.To.top(r)-f.To.top(s);return isNaN(o)||this.setState(i=>({...i,pixelPosition:o})),o}async render(n){if(this.deleted)return;const{renderCtx:r}=this.internal,{location:s,plot:o}=n,i=f.J.direction(s),{upper2d:a}=r,c=this.internal.draw;let l=this.updatePositions(n);l+=f.To.top(n.container),c.rule({stroke:this.state.color,lineWidth:this.state.lineWidth,lineDash:this.state.lineDash,direction:i,region:o,position:l}),a.fillStyle=this.state.color.hex,a.beginPath(),s==="left"?(a.moveTo(f.To.left(o),l),a.lineTo(f.To.left(o)-5,l-5),a.lineTo(f.To.left(o)-5,l+5)):s==="right"&&(a.moveTo(f.To.right(o),l),a.lineTo(f.To.right(o)+5,l-5),a.lineTo(f.To.right(o)+5,l+5)),a.closePath(),a.fill()}}m(tn,"TYPE","Rule");const xl={[tn.TYPE]:tn},Ng=Object.freeze(Object.defineProperty({__proto__:null,REGISTRY:xl,Rule:tn,ruleStateZ:ri},Symbol.toStringTag,{value:"Module"})),Dg=ar.extend({location:f.J.x.optional().default("left")});class Un extends ml{constructor(){super(...arguments);m(this,"schema",ar)}async xBounds(){return f.R.max(await Promise.all(this.lines.map(async n=>await n.xBounds())))}async render(n){if(this.deleted)return;const[r,s]=await this.dataToDecimalScale(n.hold,this.dataBounds.bind(this),n.viewport),o=r.invert().reverse();if(this.renderAxis(n,o),await this.renderLines(n,r),await this.renderRules(n,o),s!=null)throw s}async renderLines({xDataToDecimalScale:n,plot:r,canvases:s,exposure:o},i){if(!s.includes("gl"))return;const a={region:r,dataToDecimalScale:new f.k.XY(n,i),exposure:o};await Promise.all(this.lines.map(async c=>await c.render(a)))}async renderRules({container:n,plot:r,canvases:s},o){if(!s.includes("upper2d"))return;const{location:i}=this.state,{render:a}=this.internal,c=f.To.construct(f.To.left(n),f.To.top(r),f.To.width(n),f.To.height(r)),l=a.scissor(c,f.q.ZERO,["upper2d"]),u={container:n,plot:r,decimalToDataScale:o,location:i};await Promise.all(this.rules.map(async h=>await h.render(u))),l()}async findByXValue({xDataToDecimalScale:n,plot:r,viewport:s,hold:o,exposure:i},a){const[c,l]=await this.dataToDecimalScale(o,this.dataBounds.bind(this),s);if(l!=null)throw l;const u=new f.k.XY(n,c),h={region:r,dataToDecimalScale:u,exposure:i};return(await Promise.all(this.lines.map(async d=>await d.findByXValue(h,a)))).map(d=>({...d,units:this.state.label}))}async dataBounds(){return await Promise.all(this.lines.map(async n=>await n.yBounds()))}get lines(){return this.childrenOfType(Fn.TYPE)}get rules(){return this.childrenOfType(tn.TYPE)}}m(Un,"TYPE","YAxis");const Sl=T.z.object({start:E.m.z,end:E.m.z});class Kr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Sl)}async afterUpdate(){this.internal.render=gt.use(this.ctx),this.internal.draw=new cr(this.internal.render.upper2d,E.use(this.ctx))}async render(){}}m(Kr,"TYPE","range-annotation");const vl=T.z.object({triggered:T.z.boolean(),status:E.specZ$1,sink:ys.optional().default(gs),source:Do.optional().default(No)});class jr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",vl)}async afterUpdate(){var s,o,i;const{sink:n,source:r}=this.state;this.internal.source=await Ht(this.ctx,r,this.internal.source),this.internal.sink=await er(this.ctx,n,this.internal.sink),this.state.triggered&&!this.prevState.triggered&&this.internal.sink.set(((s=this.state.status.data)==null?void 0:s.authority)!==E.Id.Absolute.valueOf()).catch(console.error),await this.updateEnabledState(),(i=(o=this.internal).stopListening)==null||i.call(o),this.internal.stopListening=this.internal.source.onChange(()=>{this.updateEnabledState()})}async updateEnabledState(){const n=await this.internal.source.value();n.time.equals(this.state.status.time)||this.setState(r=>({...r,status:n,triggered:!1}))}async afterDelete(){this.asyncAfterDelete().catch(console.error)}async asyncAfterDelete(){var n,r,s,o;this.internal.stopListening(),await((r=(n=this.internal.source).cleanup)==null?void 0:r.call(n)),await((o=(s=this.internal.sink).cleanup)==null?void 0:o.call(s))}render(){}}m(jr,"TYPE","Chip");const bl=T.z.object({}),la="control-state-provider",Tl=E.sd.stateZ.extend({subjectColor:f.Color.z});class en extends E.Composite{constructor(){super(...arguments);m(this,"schema",bl);m(this,"colors",new Map);m(this,"tracker");m(this,"disconnectTrackerChange");m(this,"obs",new ko.Observer)}static use(n){return n.get(la)}async afterUpdate(){const{internal:n}=this;n.instrumentation=sr(this.ctx,"control-state");const r=E.use(this.ctx);n.palette=r.colors.visualization.palettes.default,n.defaultColor=r.colors.gray.l6;const s=tr(this.ctx);n.client!=null&&s===n.client||(n.client=s,this.ctx.set(la,this),await this.maybeCloseTracker(),n.client!=null&&(this.internal.instrumentation.L.debug("starting state tracker"),await this.openTracker(n.client)))}async maybeCloseTracker(){var n;this.tracker!=null&&(this.internal.instrumentation.L.debug("stopping state tracker"),(n=this.disconnectTrackerChange)==null||n.call(this),await this.tracker.close(),this.tracker=void 0)}async afterDelete(){await this.maybeCloseTracker()}onChange(n){return this.obs.onChange(n)}get(n){return Array.isArray(n)?E.n(n).map(r=>this.getOne(r)).filter(r=>r!=null):this.getOne(n)}getOne(n){if(this.tracker==null)return;const r=this.tracker.states.get(n);if(r!=null)return{...r,subjectColor:this.colors.get(r.subject.key)??this.internal.defaultColor}}async openTracker(n){var o;const{internal:r}=this,{instrumentation:s}=r;try{this.tracker=await n.control.openStateTracker()}catch{s.L.error("failed to open state tracker");return}(o=this.disconnectTrackerChange)==null||o.call(this),this.disconnectTrackerChange=this.tracker.onChange(i=>{if(s.L.debug("transfer",{transfers:i.map(a=>E.sd.transferString(a))}),this.tracker==null)throw new E.Se("tracker is null inside it's own onChange callback!");this.updateColors(this.tracker),this.obs.notify(i)})}updateColors(n){const r=n.subjects(),s=r.map(a=>a.key),o=Array.from(this.colors.values());this.colors.forEach((a,c)=>!s.includes(c)&&this.colors.delete(c));const{palette:i}=this.internal;r.forEach(a=>{if(this.colors.has(a.key))return;const c=i.find(l=>!o.includes(l))??i[0];this.colors.set(a.key,c),o.push(c)})}}m(en,"TYPE","StateProvider");const El=["acquired","released","overridden","failed"],_l=T.z.enum(El),Cl=T.z.object({name:T.z.string(),authority:T.z.number().default(0),acquireTrigger:T.z.number(),status:_l.optional(),needsControlOf:E.Jy.keyZ.array().optional().default([])});class Jr extends E.Composite{constructor(){super(...arguments);m(this,"schema",Cl);m(this,"registry",new Map);m(this,"writer")}async afterUpdate(){this.internal.instrumentation=sr(this.ctx),(this.internal.prevTrigger==null||Math.abs(this.state.acquireTrigger-this.internal.prevTrigger)>1)&&(this.internal.prevTrigger=this.state.acquireTrigger);const n=tr(this.ctx),r=en.use(this.ctx);this.internal.client=n,this.internal.client==null&&await this.release(),this.internal.stateProv=r,nc(this.ctx,this),this.internal.addStatus=E.useAggregate(this.ctx),this.state.acquireTrigger>this.internal.prevTrigger?(this.acquire(),this.internal.prevTrigger=this.state.acquireTrigger):this.state.acquireTrigger<this.internal.prevTrigger&&(this.release(),this.internal.prevTrigger=this.state.acquireTrigger)}async afterDelete(){await this.release()}async updateNeedsControlOf(){if(this.internal.client==null)throw new E.Se("No cluster connected but channelKeys were requested");const n=new Set([]);for(const s of this.registry.keys())(await s.needsControlOf(this.internal.client)).forEach(i=>i!==0&&n.add(i));const r=Array.from(n);E.y.unorderedPrimitiveArrays(this.state.needsControlOf,r)!==E.y.EQUAL&&this.setState(s=>({...s,needsControlOf:r}))}async acquire(){const{client:n,addStatus:r}=this.internal;if(n==null)return r({message:`Cannot acquire control on ${this.state.name} because no cluster has been connected.`,variant:"warning"});try{await this.updateNeedsControlOf();const s=this.state.needsControlOf;if(s.length===0)return r({message:`Cannot acquire control on ${this.state.name} because there are no channels to control.`,variant:"warning"});this.writer=await n.openWriter({start:E.S$1.now(),channels:s,controlSubject:{key:this.key,name:this.state.name},authorities:this.state.authority}),this.setState(o=>({...o,status:"acquired"}))}catch(s){this.setState(o=>({...o,status:"failed"})),r({message:`${this.state.name} failed to acquire control: ${s.message}`,variant:"error"})}}async release(){var n;try{await((n=this.writer)==null?void 0:n.close()),this.setState(r=>({...r,status:"released"}))}catch(r){this.internal.addStatus({message:`${this.state.name} failed to release control: ${r.message}`,variant:"error"})}finally{this.writer=void 0}}async set(n){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.write(n))}async setAuthority(n,r){var s;this.writer==null&&await this.acquire(),await((s=this.writer)==null?void 0:s.setAuthority(Object.fromEntries(n.map(o=>[o,r]))))}async releaseAuthority(n){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.setAuthority(Object.fromEntries(n.map(s=>[s,this.state.authority]))))}deleteTelem(n){this.registry.delete(n),this.updateNeedsControlOf()}create(n){const s=(()=>{switch(n.type){case Zn.TYPE:{const o=new Zn(this,n.props);return this.registry.set(o,null),o}case Vn.TYPE:{const o=new Vn(this,this.internal.stateProv,n.props);return this.registry.set(o,null),o}case Hn.TYPE:return new Hn(this,n.props);default:return null}})();return s!=null&&this.updateNeedsControlOf(),s}}m(Jr,"TYPE","Controller");const Pl=T.z.object({channel:T.z.number()});class Zn extends xs{constructor(n,r){super(r);m(this,"controller");m(this,"schema",Pl);this.controller=n}invalidate(){}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(n){if(this.props.channel===0)return[];const r=await n.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(n){const{client:r}=this.controller.internal;if(r==null)return;const s=await r.channels.retrieve(this.props.channel),o={[s.key]:n};if(s.index!==0){const i=await r.channels.retrieve(s.index);o[i.key]=E.S$1.now()}await this.controller.set(o)}}m(Zn,"TYPE","controlled-numeric-telem-sink");const Og=t=>({type:Zn.TYPE,props:t,variant:"sink",valueType:"number"}),Rl=T.z.object({authority:T.z.number().default(E.sd.Authority.Absolute.valueOf()),channel:T.z.number()});class Hn extends xs{constructor(n,r){super(r);m(this,"controller");m(this,"schema",Rl);this.controller=n}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(n){const r=await n.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(n){const{controller:r}=this,{client:s}=r.internal;if(s==null)return;const o=await s.channels.retrieve(this.props.channel),i=[o.key];o.index!==0&&i.push(o.index),n?await this.controller.setAuthority(i,this.props.authority):await this.controller.releaseAuthority(i)}}m(Hn,"TYPE","acquire-channel-control");const zg=t=>({type:Hn.TYPE,props:t,variant:"sink",valueType:"boolean"}),kl=T.z.object({channel:T.z.number()});class Vn extends _t{constructor(n,r,s){super(s);m(this,"prov");m(this,"valid",!1);m(this,"stopListening");m(this,"controller");m(this,"schema",kl);this.prov=r,this.controller=n}async needsControlOf(){return[]}maybeRevalidate(){var s;if(this.valid)return;const{channel:n}=this.props;(s=this.stopListening)==null||s.call(this);const r=E._$1.filterTransfersByChannelKey(n);this.stopListening=this.prov.onChange(o=>{var i;r(o).length!==0&&((i=this.notify)==null||i.call(this))}),this.valid=!0}async value(){this.maybeRevalidate();const n=E.S$1.now();if(this.props.channel===0)return{key:this.controller.key,variant:"disabled",message:"No Channel",time:n,data:{valid:!1,authority:0}};const r=this.prov.get(this.props.channel);return r==null?{key:this.controller.key,variant:"disabled",message:"Uncontrolled",time:n,data:{valid:!0,color:void 0,authority:0}}:{key:r.subject.key,variant:r.subject.key===this.controller.key?"success":"error",message:`Controlled by ${r.subject.name}`,time:n,data:{valid:!0,color:r.subjectColor,authority:r.authority}}}async cleanup(){var n;this.controller.deleteTelem(this),(n=this.stopListening)==null||n.call(this)}}m(Vn,"TYPE","controlled-status-source");const Ig=t=>({type:Vn.TYPE,props:t,variant:"source",valueType:"status"}),Ml=T.z.object({statusSource:Do.optional().default(No),colorSource:pc.optional().default(ac),status:E.specZ$1,color:f.Color.z.optional()});class Qr extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Ml);m(this,"stopListeningStatus");m(this,"stopListeningColor")}async afterUpdate(){var r,s;const{internal:n}=this;n.statusSource=await Ht(this.ctx,this.state.statusSource,n.statusSource),n.colorSource=await Ht(this.ctx,this.state.colorSource,n.colorSource),await this.updateState(),(r=this.stopListeningStatus)==null||r.call(this),this.stopListeningStatus=n.statusSource.onChange(()=>{this.updateState()}),(s=this.stopListeningColor)==null||s.call(this),this.stopListeningColor=n.colorSource.onChange(()=>{this.updateState()})}async afterDelete(){this.internalAfterDelete().catch(console.error)}async internalAfterDelete(){var n,r,s,o;await((r=(n=this.internal.statusSource).cleanup)==null?void 0:r.call(n)),await((o=(s=this.internal.colorSource).cleanup)==null?void 0:o.call(s))}async render(){}async updateState(){const n=await this.internal.colorSource.value(),r=await this.internal.statusSource.value();n.equals(this.state.color)&&r.message===this.state.status.message||this.setState(s=>({...s,color:n,status:r}))}}m(Qr,"TYPE","Indicator");const Al=T.z.object({needsControlOf:E.Jy.keyZ.array(),states:Tl.array()});class ts extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Al)}async afterUpdate(){var i;const{internal:n}=this;n.stateProv=en.use(this.ctx);const r=this.state.needsControlOf;(i=n.disconnectStateProv)==null||i.call(n);const s=E._$1.filterTransfersByChannelKey(...r),o=n.stateProv.get(r);this.setState(a=>({...a,states:o})),n.disconnectStateProv=n.stateProv.onChange(a=>{if(s(a).length===0)return;const c=n.stateProv.get(r);this.setState(l=>({...l,states:c}))})}async afterDelete(){var r;const{internal:n}=this;(r=n.disconnectStateProv)==null||r.call(n)}async render(){}}m(ts,"TYPE","Legend");const Lg={[Jr.TYPE]:Jr,[en.TYPE]:en,[Qr.TYPE]:Qr,[jr.TYPE]:jr,[ts.TYPE]:ts},Nl=T.z.object({trigger:T.z.number(),sink:ys.optional().default(gs)});class es extends E.Leaf{constructor(){super(...arguments);m(this,"schema",Nl)}async afterUpdate(){const{sink:n}=this.state;this.internal.prevTrigger==null&&(this.internal.prevTrigger=this.state.trigger),this.internal.sink=await er(this.ctx,n,this.internal.sink);const r=this.internal.prevTrigger;this.internal.prevTrigger=this.state.trigger,!(this.state.trigger<=r)&&this.internal.sink.set(!0).catch(console.error)}render(){}async afterDelete(){await this.internalAfterDelete()}async internalAfterDelete(){var r,s;const{internal:n}=this;await((s=(r=n.sink).cleanup)==null?void 0:s.call(r))}}m(es,"TYPE","Button");const $g={[es.TYPE]:es},si=T.z.object({dpr:T.z.number(),region:f.To.box,bootstrap:T.z.boolean().optional().default(!1),bootstrapped:T.z.boolean().optional().default(!1),glCanvas:T.z.any().optional(),upper2dCanvas:T.z.any().optional(),lower2dCanvas:T.z.any().optional(),os:E.w$1.osZ});class Xn extends E.Composite{constructor(){super(...arguments);m(this,"schema",si);m(this,"renderContextSet",!1)}async afterUpdate(){let n=gt.useOptional(this.ctx);if(n==null){if(this.renderContextSet)throw new E.Se("[vis.worker.Canvas] - expected render context to be set");if(!this.state.bootstrap)return;const{glCanvas:r,lower2dCanvas:s,upper2dCanvas:o,os:i}=this.state;if(r==null||s==null||o==null)throw new E.Se("[vis.worker.Canvas] - expected render context bootstrap to include all canvases");n=gt.create(this.ctx,r,s,o,i),Wr.create(this.ctx),this.setState(a=>({...a,bootstrap:!1,bootstrapped:!0,glCanvas:void 0,lower2dCanvas:void 0,upper2dCanvas:void 0}))}else n.update(this.ctx);n.resize(this.state.region,this.state.dpr)}}m(Xn,"TYPE","Canvas");const Dl={[Xn.TYPE]:Xn},Yg=Object.freeze(Object.defineProperty({__proto__:null,Canvas:Xn,REGISTRY:Dl,canvasStateZ:si},Symbol.toStringTag,{value:"Module"}));function vt(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n<t.length;n++)(r=vt(t[n]))!==""&&(e+=(e&&" ")+r);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var fo={exports:{}},Fs={},pr={exports:{}},Us={};/**
|
|
35
35
|
* @license React
|
|
36
36
|
* use-sync-external-store-shim.production.min.js
|
|
37
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("./jsx-runtime-Cek9Ww4S.cjs"),r=require("./Toggle-
|
|
1
|
+
"use strict";const s=require("./jsx-runtime-Cek9Ww4S.cjs"),r=require("./Toggle-CGbCK-dz.cjs"),i=({href:t,target:e,...n})=>s.jsxRuntimeExports.jsx(r.Button,{el:"a",href:t,target:e,...n});exports.Link=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=require("./jsx-runtime-Cek9Ww4S.cjs"),l=require("./aggregator-C5NNOlCt.cjs"),u=require("./Toggle-
|
|
1
|
+
"use strict";const t=require("./jsx-runtime-Cek9Ww4S.cjs"),l=require("./aggregator-C5NNOlCt.cjs"),u=require("./Toggle-CGbCK-dz.cjs"),f=({children:o,data:e,emptyContent:c,omit:s})=>{const x=u.useMemoCompare(()=>s!=null?e==null?void 0:e.filter(r=>!s.includes(r.key)):e,([r,g],[n,j])=>{let i=!1;return r!=null&&n!=null?i=l.y.unorderedPrimitiveArrays(r,n)===l.y.EQUAL:i=r==n,g===j&&i},[s,e]);return t.jsxRuntimeExports.jsx(u.InfiniteProvider,{children:t.jsxRuntimeExports.jsx(u.DataProvider,{data:x,emptyContent:c,children:o})})};exports.List=f;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as n } from "./jsx-runtime-B6kdoens.js";
|
|
2
2
|
import { y as o } from "./aggregator-J7DZKy5x.js";
|
|
3
|
-
import { g as c, h as j, i as p } from "./Toggle-
|
|
3
|
+
import { g as c, h as j, i as p } from "./Toggle-m9N7HK8Z.js";
|
|
4
4
|
const L = ({
|
|
5
5
|
children: u,
|
|
6
6
|
data: r,
|