@rubin-epo/epo-widget-lib 0.9.6 → 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"),s=require("../defaults.cjs"),Y=require("../Point/index.cjs"),p=require("./styles.cjs"),Z=(i,h,b)=>{const d={};return Object.keys(i).forEach(l=>{const a=l==="top"||l==="bottom"?b:h,c=`${l.charAt(0).toUpperCase()}${l.slice(1)}`;d[`padding${c}`]=`${i[l]/a*100}%`}),console.log({styles:d}),d},O=({data:i,activeAlertId:h,xMin:b,xMax:d,yMin:j=s.default.yMin,yMax:l=s.default.yMax,width:a=s.default.width,height:c=s.default.height,name:P,children:R,slider:q,className:W})=>{const{t:x,i18n:{language:C}}=G.useTranslation(),[L,S]=w.useState(),D=x("light_curve.plot.x_label"),M="xAxisLabel",T=x("light_curve.plot.y_label"),_="yAxisLabel",o=typeof L<"u"?i[L]:i.find(({id:n})=>n===h),f={top:10,right:10,bottom:25,left:40},y=[0+f.left,a-f.right],[A,z,r]=F.default({min:b||k.min(i,({x:n})=>n)||s.default.xMin,max:d||k.max(i,({x:n})=>n)||s.default.xMax,step:s.default.xStep,range:y}),m=r(A[0]),g=[0+f.top,c-f.bottom],[u,H,t]=F.default({min:j,max:l,step:s.default.yStep,range:g}),$=t(u[1]);return e.jsxs(p.PlotContainer,{className:W,children:[e.jsxs(p.Chart,{width:a,height:c,horizontalLabel:D,horizontalLabelId:M,verticalLabel:T,verticalLabelId:_,title:P,children:[e.jsx("rect",{x:r(0),y:t(u[0]),width:r(15)-r(0),height:$-t(u[0]),fill:"#F5F5F5"}),e.jsx(J.default,{ticks:z,y:$,labelledById:M,xDomain:A,xScale:r}),e.jsx(K.default,{ticks:H,x:m,labelledById:_,yDomain:u,yScale:t}),e.jsx(V.default,{x:m,y:t(u[0]),width:y[1]-y[0],height:g[1]-g[0],children:e.jsx("g",{role:"list","aria-label":x("light_curve.plot.plot_label")||void 0,children:i.map(({x:n,y:I,error:B,id:N},E)=>{const v=Math.round(n),U=v>0?"after":v===0?"peak":"before";return e.jsx(Y.default,{x:r(n),y:t(I),error:t(B)-t(0),onMouseOver:()=>S(E),onMouseOut:()=>S(void 0),description:x("light_curve.plot.point_label",{magnitude:I,count:Math.abs(v),context:U})||void 0},N)})})}),e.jsx(X.default,{x:m,y:t(u[0]),outerWidth:y[1]-y[0],outerHeight:g[1]-g[0],innerWidth:a,innerHeight:c,children:R}),e.jsx(Q.default,{x:o?r(o.x):void 0,y:o?t(o.y):void 0,visible:!!o,offset:6,children:x("light_curve.plot.tooltip",{magnitude:o==null?void 0:o.y.toLocaleString(C,{minimumFractionDigits:2,maximumFractionDigits:2})})})]}),q&&e.jsx(p.SliderOuterWrapper,{children:e.jsx(p.SliderInnerWrapper,{style:{...Z(f,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;
@@ -1,58 +1,58 @@
1
1
  "use client";
2
- import { jsxs as F, jsx as o } from "react/jsx-runtime";
2
+ 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";
10
10
  import K from "../../../charts/ClippingContainer/index.js";
11
11
  import Q from "../../../charts/Viewport/index.js";
12
- import n from "../defaults.js";
12
+ import e from "../defaults.js";
13
13
  import Z from "../Point/index.js";
14
14
  import { PlotContainer as tt, Chart as ot, SliderOuterWrapper as et, SliderInnerWrapper as it } from "./styles.js";
15
- const rt = (e, h, f) => {
16
- const p = {};
17
- return Object.keys(e).forEach((l) => {
18
- const a = l === "top" || l === "bottom" ? f : h, c = `${l.charAt(0).toUpperCase()}${l.slice(1)}`;
19
- p[`padding${c}`] = `${e[l] / a * 100}%`;
20
- }), console.log({ styles: p }), p;
21
- }, W = ({
22
- data: e,
23
- activeAlertId: h,
24
- xMin: f,
25
- xMax: p,
26
- yMin: v = n.yMin,
27
- yMax: l = n.yMax,
28
- width: a = n.width,
29
- height: c = n.height,
30
- name: D,
15
+ const rt = (i, f, g) => {
16
+ const h = {};
17
+ return Object.keys(i).forEach((r) => {
18
+ const a = r === "top" || r === "bottom" ? g : f, c = `${r.charAt(0).toUpperCase()}${r.slice(1)}`;
19
+ h[`padding${c}`] = `${i[r] / a * 100}%`;
20
+ }), h;
21
+ }, P = ({
22
+ data: i,
23
+ activeAlertId: f,
24
+ xMin: g,
25
+ xMax: h,
26
+ yMin: y = e.yMin,
27
+ yMax: r = e.yMax,
28
+ width: a = e.width,
29
+ height: c = e.height,
30
+ name: W,
31
31
  children: O,
32
- slider: L,
32
+ slider: A,
33
33
  className: R
34
34
  }) => {
35
35
  const {
36
- t: d,
36
+ t: p,
37
37
  i18n: { language: T }
38
- } = V(), [A, S] = U(), $ = d("light_curve.plot.x_label"), M = "xAxisLabel", j = d("light_curve.plot.y_label"), _ = "yAxisLabel", i = typeof A < "u" ? e[A] : e.find(({ id: r }) => r === h), x = {
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
- }, u = [0 + x.left, a - x.right], [I, z, s] = P({
44
- min: f || X(e, ({ x: r }) => r) || n.xMin,
45
- max: p || Y(e, ({ x: r }) => r) || n.xMax,
46
- step: n.xStep,
43
+ }, x = [0 + d.left, a - d.right], [C, z, s] = E({
44
+ min: g || X(i, ({ x: l }) => l) || e.xMin,
45
+ max: h || Y(i, ({ x: l }) => l) || e.xMax,
46
+ step: e.xStep,
47
+ range: x
48
+ }), b = s(C[0]), u = [c - d.bottom, 0 + d.top], [m, H, t] = E({
49
+ min: y,
50
+ max: r,
51
+ step: y < r ? Math.abs(e.yStep) : e.yStep,
47
52
  range: u
48
- }), y = s(I[0]), g = [0 + x.top, c - x.bottom], [m, H, t] = P({
49
- min: v,
50
- max: l,
51
- step: n.yStep,
52
- range: g
53
- }), C = t(m[1]);
54
- return /* @__PURE__ */ F(tt, { className: R, children: [
55
- /* @__PURE__ */ F(
53
+ }), I = t(m[0]);
54
+ return /* @__PURE__ */ L(tt, { className: R, children: [
55
+ /* @__PURE__ */ L(
56
56
  ot,
57
57
  {
58
58
  width: a,
@@ -60,26 +60,65 @@ const rt = (e, h, f) => {
60
60
  horizontalLabel: $,
61
61
  horizontalLabelId: M,
62
62
  verticalLabel: j,
63
- verticalLabelId: _,
64
- title: D,
63
+ verticalLabelId: k,
64
+ title: W,
65
65
  children: [
66
- /* @__PURE__ */ o(
67
- "rect",
66
+ /* @__PURE__ */ L(
67
+ K,
68
68
  {
69
- x: s(0),
70
- y: t(m[0]),
71
- width: s(15) - s(0),
72
- height: C - t(m[0]),
73
- fill: "#F5F5F5"
69
+ x: b,
70
+ y: t(m[1]),
71
+ width: x[1] - x[0],
72
+ height: u[0] - u[1],
73
+ children: [
74
+ /* @__PURE__ */ o(
75
+ "rect",
76
+ {
77
+ x: s(0),
78
+ y: t(m[1]),
79
+ width: s(15) - s(0),
80
+ height: I - t(m[1]),
81
+ stroke: "var(--neutral60,##6A6E6E)",
82
+ strokeDasharray: 6,
83
+ fill: "var(--neutral20,#DCE0E3)"
84
+ }
85
+ ),
86
+ /* @__PURE__ */ o(
87
+ "g",
88
+ {
89
+ role: "list",
90
+ "aria-label": p("light_curve.plot.plot_label") || void 0,
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";
93
+ return /* @__PURE__ */ o(
94
+ Z,
95
+ {
96
+ x: s(l),
97
+ y: t(D),
98
+ error: t(B) - t(0),
99
+ onMouseOver: () => _(N),
100
+ onMouseOut: () => _(void 0),
101
+ description: p("light_curve.plot.point_label", {
102
+ magnitude: D,
103
+ count: Math.abs(v),
104
+ context: w
105
+ }) || void 0
106
+ },
107
+ F
108
+ );
109
+ })
110
+ }
111
+ )
112
+ ]
74
113
  }
75
114
  ),
76
115
  /* @__PURE__ */ o(
77
116
  q,
78
117
  {
79
118
  ticks: z,
80
- y: C,
119
+ y: I,
81
120
  labelledById: M,
82
- xDomain: I,
121
+ xDomain: C,
83
122
  xScale: s
84
123
  }
85
124
  ),
@@ -87,54 +126,19 @@ const rt = (e, h, f) => {
87
126
  G,
88
127
  {
89
128
  ticks: H,
90
- x: y,
91
- labelledById: _,
129
+ x: b,
130
+ labelledById: k,
92
131
  yDomain: m,
93
132
  yScale: t
94
133
  }
95
134
  ),
96
- /* @__PURE__ */ o(
97
- K,
98
- {
99
- x: y,
100
- y: t(m[0]),
101
- width: u[1] - u[0],
102
- height: g[1] - g[0],
103
- children: /* @__PURE__ */ o(
104
- "g",
105
- {
106
- role: "list",
107
- "aria-label": d("light_curve.plot.plot_label") || void 0,
108
- children: e.map(({ x: r, y: k, error: B, id: N }, w) => {
109
- const b = Math.round(r), E = b > 0 ? "after" : b === 0 ? "peak" : "before";
110
- return /* @__PURE__ */ o(
111
- Z,
112
- {
113
- x: s(r),
114
- y: t(k),
115
- error: t(B) - t(0),
116
- onMouseOver: () => S(w),
117
- onMouseOut: () => S(void 0),
118
- description: d("light_curve.plot.point_label", {
119
- magnitude: k,
120
- count: Math.abs(b),
121
- context: E
122
- }) || void 0
123
- },
124
- N
125
- );
126
- })
127
- }
128
- )
129
- }
130
- ),
131
135
  /* @__PURE__ */ o(
132
136
  Q,
133
137
  {
134
- x: y,
135
- y: t(m[0]),
136
- outerWidth: u[1] - u[0],
137
- outerHeight: g[1] - g[0],
138
+ x: b,
139
+ y: t(m[1]),
140
+ outerWidth: x[1] - x[0],
141
+ outerHeight: u[0] - u[1],
138
142
  innerWidth: a,
139
143
  innerHeight: c,
140
144
  children: O
@@ -143,12 +147,12 @@ const rt = (e, h, f) => {
143
147
  /* @__PURE__ */ o(
144
148
  J,
145
149
  {
146
- x: i ? s(i.x) : void 0,
147
- y: i ? t(i.y) : void 0,
148
- visible: !!i,
150
+ x: n ? s(n.x) : void 0,
151
+ y: n ? t(n.y) : void 0,
152
+ visible: !!n,
149
153
  offset: 6,
150
- children: d("light_curve.plot.tooltip", {
151
- magnitude: i == null ? void 0 : i.y.toLocaleString(T, {
154
+ children: p("light_curve.plot.tooltip", {
155
+ magnitude: n == null ? void 0 : n.y.toLocaleString(T, {
152
156
  minimumFractionDigits: 2,
153
157
  maximumFractionDigits: 2
154
158
  })
@@ -158,17 +162,17 @@ const rt = (e, h, f) => {
158
162
  ]
159
163
  }
160
164
  ),
161
- L && /* @__PURE__ */ o(et, { children: /* @__PURE__ */ o(
165
+ A && /* @__PURE__ */ o(et, { children: /* @__PURE__ */ o(
162
166
  it,
163
167
  {
164
- style: { ...rt(x, a, c) },
165
- children: L
168
+ style: { ...rt(d, a, c) },
169
+ children: A
166
170
  }
167
171
  ) })
168
172
  ] });
169
173
  };
170
- W.displayName = "Widgets.LightCurve.ScatterPlot";
171
- const yt = W;
174
+ P.displayName = "Widgets.LightCurve.ScatterPlot";
175
+ const yt = P;
172
176
  export {
173
177
  yt as default
174
178
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={xMin:-10,xMax:50,xStep:10,yStep:.5,yMin:14,yMax:20,width:600,height:600,gaussianMin:-4,gaussianMax:4,gaussianStep:.01,gaussianWidth:-2,yOffsetMin:-50,yOffsetMax:50,yOffsetStep:.1,yOffset:-2},t=e;exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={xMin:-10,xMax:50,xStep:10,yStep:-.5,yMin:20,yMax:14,width:600,height:600,gaussianMin:-4,gaussianMax:4,gaussianStep:.01,gaussianWidth:-2,yOffsetMin:-50,yOffsetMax:50,yOffsetStep:.1,yOffset:-2},t=e;exports.default=t;
@@ -2,9 +2,9 @@ const s = {
2
2
  xMin: -10,
3
3
  xMax: 50,
4
4
  xStep: 10,
5
- yStep: 0.5,
6
- yMin: 14,
7
- yMax: 20,
5
+ yStep: -0.5,
6
+ yMin: 20,
7
+ yMax: 14,
8
8
  width: 600,
9
9
  height: 600,
10
10
  gaussianMin: -4,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubin-epo/epo-widget-lib",
3
- "version": "0.9.6",
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",