@rubin-epo/epo-widget-lib 0.9.7 → 0.9.8

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.
@@ -107,8 +107,8 @@
107
107
  },
108
108
  "curve": {
109
109
  "controls": {
110
- "gaussian_width": "Gaussian Width",
111
- "y_offset": "Y Offset"
110
+ "gaussian_width": "Curve Width",
111
+ "y_offset": "Vertical (y) Offset"
112
112
  },
113
113
  "description_above": "Mean distance from observations is {{residual}}, your peak is above the brightest measurement of {{brightest}}",
114
114
  "description_below": "Mean distance from observations is {{residual}}, your peak is below the brightest measurement of {{brightest}}"
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),g=require("d3-array"),v=require("../helpers.cjs"),n=({xScale:s,xDomain:t,yScale:r,yDomain:u,gaussianWidth:i,yOffset:a})=>{const o=g.range(t[0],t[1],.5).map(e=>({x:e,y:v.estimateMagnitude(e,i)})).map(({x:e,y:d},l)=>`${l===0?"M":"L"}${s(e)},${r(d)}`).join("");return c.jsx("path",{transform:`translate(0,${r(u[0]-a)})`,d:o,fill:"none",strokeWidth:2,stroke:"var(--black,#000)",pointerEvents:"none"})};n.displayName="Widgets.LightCurve.Curve";const m=n;exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),g=require("d3-array"),v=require("../helpers.cjs"),n=({xScale:s,xDomain:t,yScale:r,yDomain:u,gaussianWidth:i,yOffset:a})=>{const o=g.range(t[0],t[1],.5).map(e=>({x:e,y:v.estimateMagnitude(e,i)})).map(({x:e,y:d},l)=>`${l===0?"M":"L"}${s(e)},${r(d)}`).join("");return c.jsx("path",{transform:`translate(0,${r(u[1]-a)})`,d:o,fill:"none",strokeWidth:2,stroke:"var(--black,#000)",pointerEvents:"none"})};n.displayName="Widgets.LightCurve.Curve";const m=n;exports.default=m;
@@ -13,7 +13,7 @@ const n = ({
13
13
  return /* @__PURE__ */ d(
14
14
  "path",
15
15
  {
16
- transform: `translate(0,${e(s[0] - i)})`,
16
+ transform: `translate(0,${e(s[1] - i)})`,
17
17
  d: m,
18
18
  fill: "none",
19
19
  strokeWidth: 2,
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),h=require("react-i18next"),a=require("./styles.cjs"),x=(t,n,s)=>{const i=Number(Math.abs(n-t).toFixed(1)),u=i.toLocaleString(s,{minimumFractionDigits:1,maximumFractionDigits:1});let e;return i<=.05?(e="equal",{distance:i,context:e}):(t<n?e="above":e="below",{distance:u,context:e})},c=({magnitude:t,yMin:n,yMax:s,onMagnitudeChangeCallback:i,estimatedPeak:u,disabled:e,width:v,height:S})=>{const{t:l,i18n:{language:o}}=h.useTranslation();return r.jsx(a.Slider,{ariaLabel:l("light_curve.magnitude_slider.label")||void 0,orientation:"vertical",value:t,min:n,max:s,step:.1,disabled:e,ariaValuetext:()=>l("light_curve.magnitude_slider.value",{...x(u,t,o),magnitude:t.toLocaleString(o,{minimumFractionDigits:1,maximumFractionDigits:1})}),onChange:i,renderThumb:({key:d,style:m,...g})=>r.jsxs(a.ThumbContainer,{...g,style:m,children:[r.jsx(a.ThumbBar,{}),r.jsx(a.ThumbHandle,{})]},d)})};c.displayName="Widgets.LightCurve.MagnitudeSlider";const b=c;exports.default=b;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),h=require("react-i18next"),s=require("./styles.cjs"),v=(t,i,a)=>{const n=Number(Math.abs(i-t).toFixed(1)),u=n.toLocaleString(a,{minimumFractionDigits:1,maximumFractionDigits:1});let e;return n<=.05?(e="equal",{distance:n,context:e}):(t<i?e="above":e="below",{distance:u,context:e})},c=({magnitude:t,yMin:i,yMax:a,onMagnitudeChangeCallback:n,estimatedPeak:u,disabled:e})=>{const{t:o,i18n:{language:l}}=h.useTranslation(),m=Math.min(i,a),d=Math.max(i,a);return r.jsx(s.Slider,{ariaLabel:o("light_curve.magnitude_slider.label")||void 0,orientation:"vertical",value:t,step:.1,ariaValuetext:()=>o("light_curve.magnitude_slider.value",{...v(u,t,l),magnitude:t.toLocaleString(l,{minimumFractionDigits:1,maximumFractionDigits:1})}),onChange:n,renderThumb:({key:g,style:x,...b})=>r.jsxs(s.ThumbContainer,{...b,style:x,children:[r.jsx(s.ThumbBar,{}),r.jsx(s.ThumbHandle,{})]},g),min:m,max:d,disabled:e})};c.displayName="Widgets.LightCurve.MagnitudeSlider";const S=c;exports.default=S;
@@ -1,55 +1,53 @@
1
1
  "use client";
2
- import { jsx as o, jsxs as g } from "react/jsx-runtime";
3
- import { useTranslation as h } from "react-i18next";
4
- import { Slider as b, ThumbContainer as x, ThumbBar as v, ThumbHandle as f } from "./styles.js";
5
- const p = (t, n, a) => {
6
- const e = Number(Math.abs(n - t).toFixed(1)), r = e.toLocaleString(a, {
2
+ import { jsx as o, jsxs as b } from "react/jsx-runtime";
3
+ import { useTranslation as x } from "react-i18next";
4
+ import { Slider as v, ThumbContainer as f, ThumbBar as p, ThumbHandle as S } from "./styles.js";
5
+ const D = (i, e, a) => {
6
+ const n = Number(Math.abs(e - i).toFixed(1)), r = n.toLocaleString(a, {
7
7
  minimumFractionDigits: 1,
8
8
  maximumFractionDigits: 1
9
9
  });
10
- let i;
11
- return e <= 0.05 ? (i = "equal", { distance: e, context: i }) : (t < n ? i = "above" : i = "below", { distance: r, context: i });
12
- }, u = ({
13
- magnitude: t,
14
- yMin: n,
10
+ let t;
11
+ return n <= 0.05 ? (t = "equal", { distance: n, context: t }) : (i < e ? t = "above" : t = "below", { distance: r, context: t });
12
+ }, s = ({
13
+ magnitude: i,
14
+ yMin: e,
15
15
  yMax: a,
16
- onMagnitudeChangeCallback: e,
16
+ onMagnitudeChangeCallback: n,
17
17
  estimatedPeak: r,
18
- disabled: i,
19
- width: S,
20
- height: D
18
+ disabled: t
21
19
  }) => {
22
20
  const {
23
- t: l,
24
- i18n: { language: m }
25
- } = h();
21
+ t: m,
22
+ i18n: { language: l }
23
+ } = x(), u = Math.min(e, a), c = Math.max(e, a);
26
24
  return /* @__PURE__ */ o(
27
- b,
25
+ v,
28
26
  {
29
- ariaLabel: l("light_curve.magnitude_slider.label") || void 0,
27
+ ariaLabel: m("light_curve.magnitude_slider.label") || void 0,
30
28
  orientation: "vertical",
31
- value: t,
32
- min: n,
33
- max: a,
29
+ value: i,
34
30
  step: 0.1,
35
- disabled: i,
36
- ariaValuetext: () => l("light_curve.magnitude_slider.value", {
37
- ...p(r, t, m),
38
- magnitude: t.toLocaleString(m, {
31
+ ariaValuetext: () => m("light_curve.magnitude_slider.value", {
32
+ ...D(r, i, l),
33
+ magnitude: i.toLocaleString(l, {
39
34
  minimumFractionDigits: 1,
40
35
  maximumFractionDigits: 1
41
36
  })
42
37
  }),
43
- onChange: e,
44
- renderThumb: ({ key: s, style: c, ...d }) => /* @__PURE__ */ g(x, { ...d, style: c, children: [
45
- /* @__PURE__ */ o(v, {}),
46
- /* @__PURE__ */ o(f, {})
47
- ] }, s)
38
+ onChange: n,
39
+ renderThumb: ({ key: d, style: g, ...h }) => /* @__PURE__ */ b(f, { ...h, style: g, children: [
40
+ /* @__PURE__ */ o(p, {}),
41
+ /* @__PURE__ */ o(S, {})
42
+ ] }, d),
43
+ min: u,
44
+ max: c,
45
+ disabled: t
48
46
  }
49
47
  );
50
48
  };
51
- u.displayName = "Widgets.LightCurve.MagnitudeSlider";
52
- const L = u;
49
+ s.displayName = "Widgets.LightCurve.MagnitudeSlider";
50
+ const L = s;
53
51
  export {
54
52
  L as default
55
53
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),F=require("react-i18next"),g=require("d3-array"),H=require("@rubin-epo/epo-react-lib/HorizontalSlider"),_=require("../../../charts/hooks/useAxis.cjs"),t=require("../defaults.cjs"),B=require("../ScatterPlot/index.cjs"),N=require("../LightCurve/index.cjs"),w=require("../A11Y/LightCurveLabel/index.cjs"),S=require("../helpers.cjs"),E=require("../../../atomic/Button/patterns/Reset.cjs"),J=require("../MagnitudeSlider/index.cjs"),i=require("./styles.cjs"),K=l=>l&&l.__esModule?l:{default:l},y=K(H),L=({gaussianWidth:l=t.default.gaussianWidth,yOffset:a=t.default.yOffset,alerts:I,peakMjd:D,yMin:r=t.default.yMin,yMax:d=t.default.yMax,width:f=t.default.width,height:x=t.default.height,userMagnitude:P=(d-r)/2+r,onUserMagnitudeChangeCallback:o,onGaussianChangeCallback:n,onYOffsetChangeCallback:c,className:M,isDisplayOnly:m,...R})=>{const{t:j}=F.useTranslation(),p="lightCurveControls",q="gaussianWidthLabel",h="yOffsetLabel",u=S.formatMagnitudePoints(I,D),T=g.min(u,({x:s})=>s)||Math.min(...u.map(({x:s})=>s)),W=g.max(u,({x:s})=>s)||Math.max(...u.map(({x:s})=>s)),$=()=>{o&&o((d-r)/2+r),c&&c(t.default.yOffset),n&&n(t.default.gaussianWidth)},[O,V,z]=_.default({min:T,max:W,step:t.default.xStep,range:[0,f]}),[A,X,v]=_.default({min:r,max:d,step:t.default.yStep,range:[0,x]}),b=S.estimateMagnitudeWithOffset(0,l,a);return e.jsxs(i.Container,{className:M,children:[e.jsx(B.default,{slider:e.jsx(J.default,{magnitude:P,onMagnitudeChangeCallback:s=>o&&o(s),disabled:m,yMin:r,yMax:d,yScale:v,estimatedPeak:b,width:f,height:x}),...R,data:u,width:f,height:x,yMin:r,yMax:d,children:u.length>0?e.jsxs(e.Fragment,{children:[e.jsx(N.default,{gaussianWidth:l,yOffset:a,xDomain:O,xScale:z,yScale:v,yDomain:A}),e.jsx(i.DM15Display,{gaussianWidth:l})]}):null}),!m&&e.jsxs(i.Controls,{id:p,children:[e.jsxs("div",{children:[e.jsx(i.ControlLabel,{id:q,children:j("light_curve.curve.controls.gaussian_width")}),e.jsx(y.default,{label:"Gaussian Width",labelledbyId:q,color:"var(--turquoise85, #12726D)",min:t.default.gaussianMin,max:t.default.gaussianMax,step:t.default.gaussianStep,value:l,onChangeCallback:s=>typeof s=="number"&&n&&n(s)})]}),e.jsxs("div",{children:[e.jsx(i.ControlLabel,{id:h,children:j("light_curve.curve.controls.y_offset")}),e.jsx(y.default,{label:"Y Offset",labelledbyId:h,color:"var(--turquoise85, #12726D)",min:t.default.yOffsetMin,max:t.default.yOffsetMax,step:t.default.yOffsetStep,value:a,onChangeCallback:s=>typeof s=="number"&&c&&c(s)})]}),e.jsx(E.default,{onResetCallback:$})]}),e.jsx(w.default,{controlledById:p,data:u,gaussianWidth:l,yOffset:a,estimatedPeak:b})]})};L.displayName="Widgets.LightCurve";const Q=L;exports.default=Q;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),F=require("react-i18next"),g=require("d3-array"),H=require("@rubin-epo/epo-react-lib/HorizontalSlider"),_=require("../../../charts/hooks/useAxis.cjs"),t=require("../defaults.cjs"),B=require("../ScatterPlot/index.cjs"),N=require("../LightCurve/index.cjs"),w=require("../A11Y/LightCurveLabel/index.cjs"),S=require("../helpers.cjs"),E=require("../../../atomic/Button/patterns/Reset.cjs"),J=require("../MagnitudeSlider/index.cjs"),i=require("./styles.cjs"),K=l=>l&&l.__esModule?l:{default:l},y=K(H),L=({gaussianWidth:l=t.default.gaussianWidth,yOffset:a=t.default.yOffset,alerts:I,peakMjd:D,yMin:r=t.default.yMin,yMax:d=t.default.yMax,width:f=t.default.width,height:x=t.default.height,userMagnitude:P=(d-r)/2+r,onUserMagnitudeChangeCallback:o,onGaussianChangeCallback:n,onYOffsetChangeCallback:c,className:M,isDisplayOnly:m,...R})=>{const{t:j}=F.useTranslation(),p="lightCurveControls",q="gaussianWidthLabel",h="yOffsetLabel",u=S.formatMagnitudePoints(I,D),T=g.min(u,({x:s})=>s)||Math.min(...u.map(({x:s})=>s)),W=g.max(u,({x:s})=>s)||Math.max(...u.map(({x:s})=>s)),$=()=>{o&&o((d-r)/2+r),c&&c(t.default.yOffset),n&&n(t.default.gaussianWidth)},[O,V,z]=_.default({min:T,max:W,step:t.default.xStep,range:[0,f]}),[A,X,v]=_.default({min:r,max:d,step:t.default.yStep,range:[x,0]}),b=S.estimateMagnitudeWithOffset(0,l,a);return e.jsxs(i.Container,{className:M,children:[e.jsx(B.default,{slider:e.jsx(J.default,{magnitude:P,onMagnitudeChangeCallback:s=>o&&o(s),disabled:m,yMin:r,yMax:d,yScale:v,estimatedPeak:b,width:f,height:x}),...R,data:u,width:f,height:x,yMin:r,yMax:d,children:u.length>0?e.jsxs(e.Fragment,{children:[e.jsx(N.default,{gaussianWidth:l,yOffset:a,xDomain:O,xScale:z,yScale:v,yDomain:A}),e.jsx(i.DM15Display,{gaussianWidth:l})]}):null}),!m&&e.jsxs(i.Controls,{id:p,children:[e.jsxs("div",{children:[e.jsx(i.ControlLabel,{id:q,children:j("light_curve.curve.controls.gaussian_width")}),e.jsx(y.default,{label:"Gaussian Width",labelledbyId:q,color:"var(--turquoise85, #12726D)",min:t.default.gaussianMin,max:t.default.gaussianMax,step:t.default.gaussianStep,value:l,onChangeCallback:s=>typeof s=="number"&&n&&n(s)})]}),e.jsxs("div",{children:[e.jsx(i.ControlLabel,{id:h,children:j("light_curve.curve.controls.y_offset")}),e.jsx(y.default,{label:"Y Offset",labelledbyId:h,color:"var(--turquoise85, #12726D)",min:t.default.yOffsetMin,max:t.default.yOffsetMax,step:t.default.yOffsetStep,value:a,onChangeCallback:s=>typeof s=="number"&&c&&c(s)})]}),e.jsx(E.default,{onResetCallback:$})]}),e.jsx(w.default,{controlledById:p,data:u,gaussianWidth:l,yOffset:a,estimatedPeak:b})]})};L.displayName="Widgets.LightCurve";const Q=L;exports.default=Q;
@@ -40,7 +40,7 @@ const D = ({
40
40
  min: r,
41
41
  max: s,
42
42
  step: t.yStep,
43
- range: [0, u]
43
+ range: [u, 0]
44
44
  }), b = K(0, m, n);
45
45
  return /* @__PURE__ */ l(X, { className: R, children: [
46
46
  /* @__PURE__ */ o(
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),w=require("react"),G=require("react-i18next"),k=require("d3-array"),F=require("../../../charts/hooks/useAxis.cjs"),J=require("../../../charts/XAxis/index.cjs"),K=require("../../../charts/YAxis/index.cjs"),Q=require("../../../charts/Tooltip/index.cjs"),V=require("../../../charts/ClippingContainer/index.cjs"),X=require("../../../charts/Viewport/index.cjs"),i=require("../defaults.cjs"),Y=require("../Point/index.cjs"),y=require("./styles.cjs"),Z=(o,b,g)=>{const h={};return Object.keys(o).forEach(n=>{const a=n==="top"||n==="bottom"?g:b,c=`${n.charAt(0).toUpperCase()}${n.slice(1)}`;h[`padding${c}`]=`${o[n]/a*100}%`}),h},O=({data:o,activeAlertId:b,xMin:g,xMax:h,yMin:m=i.default.yMin,yMax:n=i.default.yMax,width:a=i.default.width,height:c=i.default.height,name:P,children:R,slider:q,className:W})=>{const{t:d,i18n:{language:C}}=G.useTranslation(),[S,L]=w.useState(),D=d("light_curve.plot.x_label"),_="xAxisLabel",T=d("light_curve.plot.y_label"),M="yAxisLabel",s=typeof S<"u"?o[S]:o.find(({id:r})=>r===b),x={top:10,right:10,bottom:25,left:40},f=[0+x.left,a-x.right],[A,z,l]=F.default({min:g||k.min(o,({x:r})=>r)||i.default.xMin,max:h||k.max(o,({x:r})=>r)||i.default.xMax,step:i.default.xStep,range:f}),v=l(A[0]),p=[c-x.bottom,0+x.top],[u,H,t]=F.default({min:m,max:n,step:m<n?Math.abs(i.default.yStep):i.default.yStep,range:p}),$=t(u[0]);return e.jsxs(y.PlotContainer,{className:W,children:[e.jsxs(y.Chart,{width:a,height:c,horizontalLabel:D,horizontalLabelId:_,verticalLabel:T,verticalLabelId:M,title:P,children:[e.jsxs(V.default,{x:v,y:t(u[1]),width:f[1]-f[0],height:p[0]-p[1],children:[e.jsx("rect",{x:l(0),y:t(u[1]),width:l(15)-l(0),height:$-t(u[1]),fill:"#F5F5F5"}),e.jsx("g",{role:"list","aria-label":d("light_curve.plot.plot_label")||void 0,children:o.map(({x:r,y:I,error:B,id:N},E)=>{const j=Math.round(r),U=j>0?"after":j===0?"peak":"before";return e.jsx(Y.default,{x:l(r),y:t(I),error:t(B)-t(0),onMouseOver:()=>L(E),onMouseOut:()=>L(void 0),description:d("light_curve.plot.point_label",{magnitude:I,count:Math.abs(j),context:U})||void 0},N)})})]}),e.jsx(J.default,{ticks:z,y:$,labelledById:_,xDomain:A,xScale:l}),e.jsx(K.default,{ticks:H,x:v,labelledById:M,yDomain:u,yScale:t}),e.jsx(X.default,{x:v,y:t(u[0]),outerWidth:f[1]-f[0],outerHeight:p[1]-p[0],innerWidth:a,innerHeight:c,children:R}),e.jsx(Q.default,{x:s?l(s.x):void 0,y:s?t(s.y):void 0,visible:!!s,offset:6,children:d("light_curve.plot.tooltip",{magnitude:s==null?void 0:s.y.toLocaleString(C,{minimumFractionDigits:2,maximumFractionDigits:2})})})]}),q&&e.jsx(y.SliderOuterWrapper,{children:e.jsx(y.SliderInnerWrapper,{style:{...Z(x,a,c)},children:q})})]})};O.displayName="Widgets.LightCurve.ScatterPlot";const ee=O;exports.default=ee;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),w=require("react"),G=require("react-i18next"),k=require("d3-array"),D=require("../../../charts/hooks/useAxis.cjs"),J=require("../../../charts/XAxis/index.cjs"),K=require("../../../charts/YAxis/index.cjs"),Q=require("../../../charts/Tooltip/index.cjs"),V=require("../../../charts/ClippingContainer/index.cjs"),X=require("../../../charts/Viewport/index.cjs"),r=require("../defaults.cjs"),Y=require("../Point/index.cjs"),y=require("./styles.cjs"),Z=(i,b,g)=>{const p={};return Object.keys(i).forEach(o=>{const a=o==="top"||o==="bottom"?g:b,c=`${o.charAt(0).toUpperCase()}${o.slice(1)}`;p[`padding${c}`]=`${i[o]/a*100}%`}),p},C=({data:i,activeAlertId:b,xMin:g,xMax:p,yMin:m=r.default.yMin,yMax:o=r.default.yMax,width:a=r.default.width,height:c=r.default.height,name:E,children:O,slider:q,className:P})=>{const{t:d,i18n:{language:R}}=G.useTranslation(),[S,L]=w.useState(),W=d("light_curve.plot.x_label"),_="xAxisLabel",T=d("light_curve.plot.y_label"),A="yAxisLabel",s=typeof S<"u"?i[S]:i.find(({id:n})=>n===b),x={top:10,right:10,bottom:25,left:40},f=[0+x.left,a-x.right],[M,z,l]=D.default({min:g||k.min(i,({x:n})=>n)||r.default.xMin,max:p||k.max(i,({x:n})=>n)||r.default.xMax,step:r.default.xStep,range:f}),v=l(M[0]),h=[c-x.bottom,0+x.top],[u,H,t]=D.default({min:m,max:o,step:m<o?Math.abs(r.default.yStep):r.default.yStep,range:h}),$=t(u[0]);return e.jsxs(y.PlotContainer,{className:P,children:[e.jsxs(y.Chart,{width:a,height:c,horizontalLabel:W,horizontalLabelId:_,verticalLabel:T,verticalLabelId:A,title:E,children:[e.jsxs(V.default,{x:v,y:t(u[1]),width:f[1]-f[0],height:h[0]-h[1],children:[e.jsx("rect",{x:l(0),y:t(u[1]),width:l(15)-l(0),height:$-t(u[1]),stroke:"var(--neutral60,##6A6E6E)",strokeDasharray:6,fill:"var(--neutral20,#DCE0E3)"}),e.jsx("g",{role:"list","aria-label":d("light_curve.plot.plot_label")||void 0,children:i.map(({x:n,y:I,error:B,id:F},N)=>{const j=Math.round(n),U=j>0?"after":j===0?"peak":"before";return e.jsx(Y.default,{x:l(n),y:t(I),error:t(B)-t(0),onMouseOver:()=>L(N),onMouseOut:()=>L(void 0),description:d("light_curve.plot.point_label",{magnitude:I,count:Math.abs(j),context:U})||void 0},F)})})]}),e.jsx(J.default,{ticks:z,y:$,labelledById:_,xDomain:M,xScale:l}),e.jsx(K.default,{ticks:H,x:v,labelledById:A,yDomain:u,yScale:t}),e.jsx(X.default,{x:v,y:t(u[1]),outerWidth:f[1]-f[0],outerHeight:h[0]-h[1],innerWidth:a,innerHeight:c,children:O}),e.jsx(Q.default,{x:s?l(s.x):void 0,y:s?t(s.y):void 0,visible:!!s,offset:6,children:d("light_curve.plot.tooltip",{magnitude:s==null?void 0:s.y.toLocaleString(R,{minimumFractionDigits:2,maximumFractionDigits:2})})})]}),q&&e.jsx(y.SliderOuterWrapper,{children:e.jsx(y.SliderInnerWrapper,{style:{...Z(x,a,c)},children:q})})]})};C.displayName="Widgets.LightCurve.ScatterPlot";const ee=C;exports.default=ee;
@@ -3,7 +3,7 @@ import { jsxs as L, jsx as o } from "react/jsx-runtime";
3
3
  import { useState as U } from "react";
4
4
  import { useTranslation as V } from "react-i18next";
5
5
  import { min as X, max as Y } from "d3-array";
6
- import P from "../../../charts/hooks/useAxis.js";
6
+ import E from "../../../charts/hooks/useAxis.js";
7
7
  import q from "../../../charts/XAxis/index.js";
8
8
  import G from "../../../charts/YAxis/index.js";
9
9
  import J from "../../../charts/Tooltip/index.js";
@@ -18,39 +18,39 @@ const rt = (i, f, g) => {
18
18
  const a = r === "top" || r === "bottom" ? g : f, c = `${r.charAt(0).toUpperCase()}${r.slice(1)}`;
19
19
  h[`padding${c}`] = `${i[r] / a * 100}%`;
20
20
  }), h;
21
- }, W = ({
21
+ }, P = ({
22
22
  data: i,
23
23
  activeAlertId: f,
24
24
  xMin: g,
25
25
  xMax: h,
26
- yMin: b = e.yMin,
26
+ yMin: y = e.yMin,
27
27
  yMax: r = e.yMax,
28
28
  width: a = e.width,
29
29
  height: c = e.height,
30
- name: D,
30
+ name: W,
31
31
  children: O,
32
- slider: S,
32
+ slider: A,
33
33
  className: R
34
34
  }) => {
35
35
  const {
36
36
  t: p,
37
37
  i18n: { language: T }
38
- } = V(), [A, _] = U(), $ = p("light_curve.plot.x_label"), M = "xAxisLabel", j = p("light_curve.plot.y_label"), I = "yAxisLabel", n = typeof A < "u" ? i[A] : i.find(({ id: l }) => l === f), d = {
38
+ } = V(), [S, _] = U(), $ = p("light_curve.plot.x_label"), M = "xAxisLabel", j = p("light_curve.plot.y_label"), k = "yAxisLabel", n = typeof S < "u" ? i[S] : i.find(({ id: l }) => l === f), d = {
39
39
  top: 10,
40
40
  right: 10,
41
41
  bottom: 25,
42
42
  left: 40
43
- }, x = [0 + d.left, a - d.right], [C, z, s] = P({
43
+ }, x = [0 + d.left, a - d.right], [C, z, s] = E({
44
44
  min: g || X(i, ({ x: l }) => l) || e.xMin,
45
45
  max: h || Y(i, ({ x: l }) => l) || e.xMax,
46
46
  step: e.xStep,
47
47
  range: x
48
- }), y = s(C[0]), u = [c - d.bottom, 0 + d.top], [m, H, t] = P({
49
- min: b,
48
+ }), b = s(C[0]), u = [c - d.bottom, 0 + d.top], [m, H, t] = E({
49
+ min: y,
50
50
  max: r,
51
- step: b < r ? Math.abs(e.yStep) : e.yStep,
51
+ step: y < r ? Math.abs(e.yStep) : e.yStep,
52
52
  range: u
53
- }), k = t(m[0]);
53
+ }), I = t(m[0]);
54
54
  return /* @__PURE__ */ L(tt, { className: R, children: [
55
55
  /* @__PURE__ */ L(
56
56
  ot,
@@ -60,13 +60,13 @@ const rt = (i, f, g) => {
60
60
  horizontalLabel: $,
61
61
  horizontalLabelId: M,
62
62
  verticalLabel: j,
63
- verticalLabelId: I,
64
- title: D,
63
+ verticalLabelId: k,
64
+ title: W,
65
65
  children: [
66
66
  /* @__PURE__ */ L(
67
67
  K,
68
68
  {
69
- x: y,
69
+ x: b,
70
70
  y: t(m[1]),
71
71
  width: x[1] - x[0],
72
72
  height: u[0] - u[1],
@@ -77,8 +77,10 @@ const rt = (i, f, g) => {
77
77
  x: s(0),
78
78
  y: t(m[1]),
79
79
  width: s(15) - s(0),
80
- height: k - t(m[1]),
81
- fill: "#F5F5F5"
80
+ height: I - t(m[1]),
81
+ stroke: "var(--neutral60,##6A6E6E)",
82
+ strokeDasharray: 6,
83
+ fill: "var(--neutral20,#DCE0E3)"
82
84
  }
83
85
  ),
84
86
  /* @__PURE__ */ o(
@@ -86,23 +88,23 @@ const rt = (i, f, g) => {
86
88
  {
87
89
  role: "list",
88
90
  "aria-label": p("light_curve.plot.plot_label") || void 0,
89
- children: i.map(({ x: l, y: F, error: B, id: N }, w) => {
90
- const v = Math.round(l), E = v > 0 ? "after" : v === 0 ? "peak" : "before";
91
+ children: i.map(({ x: l, y: D, error: B, id: F }, N) => {
92
+ const v = Math.round(l), w = v > 0 ? "after" : v === 0 ? "peak" : "before";
91
93
  return /* @__PURE__ */ o(
92
94
  Z,
93
95
  {
94
96
  x: s(l),
95
- y: t(F),
97
+ y: t(D),
96
98
  error: t(B) - t(0),
97
- onMouseOver: () => _(w),
99
+ onMouseOver: () => _(N),
98
100
  onMouseOut: () => _(void 0),
99
101
  description: p("light_curve.plot.point_label", {
100
- magnitude: F,
102
+ magnitude: D,
101
103
  count: Math.abs(v),
102
- context: E
104
+ context: w
103
105
  }) || void 0
104
106
  },
105
- N
107
+ F
106
108
  );
107
109
  })
108
110
  }
@@ -114,7 +116,7 @@ const rt = (i, f, g) => {
114
116
  q,
115
117
  {
116
118
  ticks: z,
117
- y: k,
119
+ y: I,
118
120
  labelledById: M,
119
121
  xDomain: C,
120
122
  xScale: s
@@ -124,8 +126,8 @@ const rt = (i, f, g) => {
124
126
  G,
125
127
  {
126
128
  ticks: H,
127
- x: y,
128
- labelledById: I,
129
+ x: b,
130
+ labelledById: k,
129
131
  yDomain: m,
130
132
  yScale: t
131
133
  }
@@ -133,10 +135,10 @@ const rt = (i, f, g) => {
133
135
  /* @__PURE__ */ o(
134
136
  Q,
135
137
  {
136
- x: y,
137
- y: t(m[0]),
138
+ x: b,
139
+ y: t(m[1]),
138
140
  outerWidth: x[1] - x[0],
139
- outerHeight: u[1] - u[0],
141
+ outerHeight: u[0] - u[1],
140
142
  innerWidth: a,
141
143
  innerHeight: c,
142
144
  children: O
@@ -160,17 +162,17 @@ const rt = (i, f, g) => {
160
162
  ]
161
163
  }
162
164
  ),
163
- S && /* @__PURE__ */ o(et, { children: /* @__PURE__ */ o(
165
+ A && /* @__PURE__ */ o(et, { children: /* @__PURE__ */ o(
164
166
  it,
165
167
  {
166
168
  style: { ...rt(d, a, c) },
167
- children: S
169
+ children: A
168
170
  }
169
171
  ) })
170
172
  ] });
171
173
  };
172
- W.displayName = "Widgets.LightCurve.ScatterPlot";
173
- const bt = W;
174
+ P.displayName = "Widgets.LightCurve.ScatterPlot";
175
+ const yt = P;
174
176
  export {
175
- bt as default
177
+ yt as default
176
178
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubin-epo/epo-widget-lib",
3
- "version": "0.9.7",
3
+ "version": "0.9.8",
4
4
  "description": "Rubin Observatory Education & Public Outreach team React scientific and educational widgets.",
5
5
  "author": "Rubin EPO",
6
6
  "license": "MIT",