@rubin-epo/epo-widget-lib 0.9.2 → 0.9.3

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),s=require("./styles.cjs"),u=({width:r=900,height:i=300,xMin:c=0,yMin:l=0,verticalLabel:t,verticalLabelId:a,horizontalLabel:n,horizontalLabelId:d,title:o,children:x,className:j})=>e.jsxs(s.ChartContainer,{children:[o&&e.jsx(s.Title,{children:o}),t&&e.jsx(s.VerticalLabel,{id:a,"aria-hidden":!!a,children:t}),e.jsx(s.SVG,{preserveAspectRatio:"xMidYMid meet",viewBox:`${c} ${l} ${r} ${i}`,className:j,style:{"--aspect-ratio":`${r} / ${i}`,"--min-width":`${r}px`},role:"group",children:x}),n&&e.jsx(s.HorizontalLabel,{id:d,"aria-hidden":!!d,children:n})]});u.displayName="Charts.Base";const p=u;exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),s=require("./styles.cjs"),u=({width:r=900,height:i=300,xMin:c=0,yMin:l=0,verticalLabel:t,verticalLabelId:a,horizontalLabel:n,horizontalLabelId:d,title:o,children:x,className:j})=>e.jsxs(s.ChartContainer,{children:[o&&e.jsx(s.Title,{children:o}),t&&e.jsx(s.VerticalLabel,{id:a,"aria-hidden":!!a,children:t}),e.jsx(s.SVG,{preserveAspectRatio:"xMidYMid meet",viewBox:`${c} ${l} ${r} ${i}`,className:j,style:{"--aspect-ratio":`${r} / ${i}`},role:"group",children:x}),n&&e.jsx(s.HorizontalLabel,{id:d,"aria-hidden":!!d,children:n})]});u.displayName="Charts.Base";const p=u;exports.default=p;
@@ -1,6 +1,6 @@
1
1
  import { jsxs as x, jsx as e } from "react/jsx-runtime";
2
2
  import { ChartContainer as h, Title as l, VerticalLabel as B, SVG as C, HorizontalLabel as f } from "./styles.js";
3
- const o = ({
3
+ const n = ({
4
4
  width: r = 900,
5
5
  height: i = 300,
6
6
  xMin: p = 0,
@@ -9,11 +9,11 @@ const o = ({
9
9
  verticalLabelId: a,
10
10
  horizontalLabel: t,
11
11
  horizontalLabelId: d,
12
- title: n,
12
+ title: o,
13
13
  children: m,
14
14
  className: $
15
15
  }) => /* @__PURE__ */ x(h, { children: [
16
- n && /* @__PURE__ */ e(l, { children: n }),
16
+ o && /* @__PURE__ */ e(l, { children: o }),
17
17
  s && /* @__PURE__ */ e(
18
18
  B,
19
19
  {
@@ -29,8 +29,7 @@ const o = ({
29
29
  viewBox: `${p} ${c} ${r} ${i}`,
30
30
  className: $,
31
31
  style: {
32
- "--aspect-ratio": `${r} / ${i}`,
33
- "--min-width": `${r}px`
32
+ "--aspect-ratio": `${r} / ${i}`
34
33
  },
35
34
  role: "group",
36
35
  children: m
@@ -45,8 +44,8 @@ const o = ({
45
44
  }
46
45
  )
47
46
  ] });
48
- o.displayName = "Charts.Base";
49
- const y = o;
47
+ n.displayName = "Charts.Base";
48
+ const y = n;
50
49
  export {
51
50
  y as default
52
51
  };
@@ -1,14 +1,15 @@
1
1
  "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("styled-components"),l=t=>t&&t.__esModule?t:{default:t},e=l(a),r=e.default.div`
2
- --label-gutter: 2em;
2
+ --label-height: 3em;
3
+ --label-gutter: calc(var(--label-height) / 2);
3
4
 
4
5
  display: grid;
5
- grid-template-columns: var(--label-gutter) 1fr;
6
- grid-template-rows: auto 1fr var(--label-gutter);
6
+ grid-template-columns: var(--label-height) 1fr var(--label-height);
7
+ grid-template-rows: var(--label-height) 1fr var(--label-height);
7
8
  grid-template-areas:
8
- "title title"
9
- "vertical-label chart"
10
- ". horizontal-label";
11
- padding-inline-end: calc(var(--label-gutter) / 2);
9
+ "title title ."
10
+ "vertical-label chart ."
11
+ ". horizontal-label .";
12
+ width: 100%;
12
13
  `,i=e.default.span`
13
14
  font-size: 80%;
14
15
  grid-area: horizontal-label;
@@ -23,14 +24,12 @@
23
24
  transform: rotate(180deg);
24
25
  `,o=e.default.svg`
25
26
  grid-area: chart;
26
- height: 100%;
27
27
  max-width: 100%;
28
28
  aspect-ratio: var(--aspect-ratio);
29
- `,c=e.default.h3`
29
+ `,s=e.default.h3`
30
30
  display: flex;
31
31
  align-items: center;
32
32
  grid-area: title;
33
- height: var(--label-gutter);
34
- padding-inline: calc(var(--label-gutter) / 2);
33
+ padding-inline: var(--label-gutter);
35
34
  margin: 0;
36
- `;exports.ChartContainer=r;exports.HorizontalLabel=i;exports.SVG=o;exports.Title=c;exports.VerticalLabel=n;
35
+ `;exports.ChartContainer=r;exports.HorizontalLabel=i;exports.SVG=o;exports.Title=s;exports.VerticalLabel=n;
@@ -1,16 +1,17 @@
1
1
  "use client";
2
2
  import e from "styled-components";
3
- const a = e.div`
4
- --label-gutter: 2em;
3
+ const t = e.div`
4
+ --label-height: 3em;
5
+ --label-gutter: calc(var(--label-height) / 2);
5
6
 
6
7
  display: grid;
7
- grid-template-columns: var(--label-gutter) 1fr;
8
- grid-template-rows: auto 1fr var(--label-gutter);
8
+ grid-template-columns: var(--label-height) 1fr var(--label-height);
9
+ grid-template-rows: var(--label-height) 1fr var(--label-height);
9
10
  grid-template-areas:
10
- "title title"
11
- "vertical-label chart"
12
- ". horizontal-label";
13
- padding-inline-end: calc(var(--label-gutter) / 2);
11
+ "title title ."
12
+ "vertical-label chart ."
13
+ ". horizontal-label .";
14
+ width: 100%;
14
15
  `, l = e.span`
15
16
  font-size: 80%;
16
17
  grid-area: horizontal-label;
@@ -25,19 +26,17 @@ const a = e.div`
25
26
  transform: rotate(180deg);
26
27
  `, i = e.svg`
27
28
  grid-area: chart;
28
- height: 100%;
29
29
  max-width: 100%;
30
30
  aspect-ratio: var(--aspect-ratio);
31
31
  `, n = e.h3`
32
32
  display: flex;
33
33
  align-items: center;
34
34
  grid-area: title;
35
- height: var(--label-gutter);
36
- padding-inline: calc(var(--label-gutter) / 2);
35
+ padding-inline: var(--label-gutter);
37
36
  margin: 0;
38
37
  `;
39
38
  export {
40
- a as ChartContainer,
39
+ t as ChartContainer,
41
40
  l as HorizontalLabel,
42
41
  i as SVG,
43
42
  n as Title,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),e=({children:t,className:n})=>r.jsx("foreignObject",{className:n,x:0,y:0,width:"100%",height:"100%",pointerEvents:"none",children:t});e.displayName="Charts.ForeignObject";const i=e;exports.default=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),e=({children:t,className:n,width:r="100%",height:o="100%"})=>i.jsx("foreignObject",{x:0,y:0,pointerEvents:"none",className:n,width:r,height:o,children:t});e.displayName="Charts.ForeignObject";const s=e;exports.default=s;
@@ -1,5 +1,7 @@
1
1
  import { FunctionComponent, PropsWithChildren } from "react";
2
2
  declare const ForeignObject: FunctionComponent<PropsWithChildren<{
3
3
  className?: string;
4
+ width?: number | string;
5
+ height?: number | string;
4
6
  }>>;
5
7
  export default ForeignObject;
@@ -1,18 +1,18 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- const e = ({ children: t, className: n }) => /* @__PURE__ */ o(
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ const e = ({ children: t, className: n, width: o = "100%", height: r = "100%" }) => /* @__PURE__ */ i(
3
3
  "foreignObject",
4
4
  {
5
- className: n,
6
5
  x: 0,
7
6
  y: 0,
8
- width: "100%",
9
- height: "100%",
10
7
  pointerEvents: "none",
8
+ className: n,
9
+ width: o,
10
+ height: r,
11
11
  children: t
12
12
  }
13
13
  );
14
14
  e.displayName = "Charts.ForeignObject";
15
- const i = e;
15
+ const c = e;
16
16
  export {
17
- i as default
17
+ c as default
18
18
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),u=require("./styles.cjs"),b=(t,e)=>t.includes("left")?`calc(0% + ${e}px)`:t.includes("right")?`calc(-100% - ${e}px)`:(t.includes("center"),"-50%"),w=(t,e)=>t.includes("top")?`calc(0% + ${e}px)`:t.includes("bottom")?`calc(-100% - ${e}px)`:(t.includes("center"),"-50%"),y=t=>{let e="0",n="0",r="0",l="0",s="0deg";return t.includes("center")&&(e="50%",n="50%",r="-50%",l="-50%"),t.includes("top")&&(n="0",l="-100%",s="180deg"),t.includes("right")&&(e="100%",r="-25%",s="-90deg"),t.includes("left")&&(e="0",r="-75%",s="90deg"),t.includes("bottom")&&(n="100%",l="0"),{left:e,top:n,transform:`translate(${r}, ${l}) rotate(${s})`}},a=({x:t,y:e,visible:n=!0,offset:r=5,origin:l="center bottom",children:s,className:d})=>{const f="center center",c=[...l.split(" "),...f.split(" ")].slice(0,2).join(" "),o=6,p=b(c,o+r),$=w(c,o+r),x=c.includes("center")&&c.split(" ").filter(h=>h!=="center").length===1,m=y(c);return i.jsx(u.TooltipContainer,{children:typeof t=="number"&&typeof e=="number"&&i.jsxs(u.Tooltip,{className:d,style:{transform:`translate(calc(${p} + ${t}px), calc(${$} + ${e}px))`},hidden:!n,children:[s,x&&i.jsx(u.Arrow,{style:{"--arrow-size":`${o}px`,...m}})]})})};a.displayName="Charts.Tooltip";const O=a;exports.default=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),u=require("./styles.cjs"),b=require("../../lib/utils.cjs"),w=(t,e)=>t.includes("left")?`calc(0% + ${e}px)`:t.includes("right")?`calc(-100% - ${e}px)`:(t.includes("center"),"-50%"),O=(t,e)=>t.includes("top")?`calc(0% + ${e}px)`:t.includes("bottom")?`calc(-100% - ${e}px)`:(t.includes("center"),"-50%"),g=t=>{let e="0",n="0",r="0",s="0",l="0deg";return t.includes("center")&&(e="50%",n="50%",r="-50%",s="-50%"),t.includes("top")&&(n="0",s="-100%",l="180deg"),t.includes("right")&&(e="100%",r="-25%",l="-90deg"),t.includes("left")&&(e="0",r="-75%",l="90deg"),t.includes("bottom")&&(n="100%",s="0"),{left:e,top:n,transform:`translate(${r}, ${s}) rotate(${l})`}},d=({x:t,y:e,visible:n=!0,offset:r=5,origin:s="center bottom",children:l,className:p})=>{const $="center center",c=[...s.split(" "),...$.split(" ")].slice(0,2).join(" "),o=6,a=w(c,o+r),f=O(c,o+r),x=c.includes("center")&&c.split(" ").filter(h=>h!=="center").length===1,m=g(c);return i.jsx(u.TooltipContainer,{children:typeof t=="number"&&typeof e=="number"&&i.jsxs(u.Tooltip,{className:p,style:b.isSafari()?{left:`${t}px`,top:`${e}px`,transform:`translate(${a},${f})`}:{transform:`translate(calc(${a} + ${t}px), calc(${f} + ${e}px))`},hidden:!n,children:[l,x&&i.jsx(u.Arrow,{style:{"--arrow-size":`${o}px`,...m}})]})})};d.displayName="Charts.Tooltip";const j=d;exports.default=j;
@@ -1,13 +1,14 @@
1
- import { jsx as i, jsxs as h } from "react/jsx-runtime";
1
+ import { jsx as f, jsxs as h } from "react/jsx-runtime";
2
2
  import { TooltipContainer as w, Tooltip as O, Arrow as T } from "./styles.js";
3
- const b = (t, e) => t.includes("left") ? `calc(0% + ${e}px)` : t.includes("right") ? `calc(-100% - ${e}px)` : (t.includes("center"), "-50%"), y = (t, e) => t.includes("top") ? `calc(0% + ${e}px)` : t.includes("bottom") ? `calc(-100% - ${e}px)` : (t.includes("center"), "-50%"), g = (t) => {
3
+ import { isSafari as b } from "../../lib/utils.js";
4
+ const g = (t, e) => t.includes("left") ? `calc(0% + ${e}px)` : t.includes("right") ? `calc(-100% - ${e}px)` : (t.includes("center"), "-50%"), y = (t, e) => t.includes("top") ? `calc(0% + ${e}px)` : t.includes("bottom") ? `calc(-100% - ${e}px)` : (t.includes("center"), "-50%"), j = (t) => {
4
5
  let e = "0", n = "0", r = "0", l = "0", s = "0deg";
5
6
  return t.includes("center") && (e = "50%", n = "50%", r = "-50%", l = "-50%"), t.includes("top") && (n = "0", l = "-100%", s = "180deg"), t.includes("right") && (e = "100%", r = "-25%", s = "-90deg"), t.includes("left") && (e = "0", r = "-75%", s = "90deg"), t.includes("bottom") && (n = "100%", l = "0"), {
6
7
  left: e,
7
8
  top: n,
8
9
  transform: `translate(${r}, ${l}) rotate(${s})`
9
10
  };
10
- }, a = ({
11
+ }, p = ({
11
12
  x: t,
12
13
  y: e,
13
14
  visible: n = !0,
@@ -16,22 +17,26 @@ const b = (t, e) => t.includes("left") ? `calc(0% + ${e}px)` : t.includes("right
16
17
  children: s,
17
18
  className: u
18
19
  }) => {
19
- const f = "center center", c = [...l.split(" "), ...f.split(" ")].slice(0, 2).join(" "), o = 6, p = b(c, o + r), d = y(c, o + r), $ = c.includes("center") && c.split(" ").filter((x) => x !== "center").length === 1, m = g(c);
20
- return /* @__PURE__ */ i(w, { children: typeof t == "number" && typeof e == "number" && /* @__PURE__ */ h(
20
+ const d = "center center", o = [...l.split(" "), ...d.split(" ")].slice(0, 2).join(" "), c = 6, i = g(o, c + r), a = y(o, c + r), $ = o.includes("center") && o.split(" ").filter((x) => x !== "center").length === 1, m = j(o);
21
+ return /* @__PURE__ */ f(w, { children: typeof t == "number" && typeof e == "number" && /* @__PURE__ */ h(
21
22
  O,
22
23
  {
23
24
  className: u,
24
- style: {
25
- transform: `translate(calc(${p} + ${t}px), calc(${d} + ${e}px))`
25
+ style: b() ? {
26
+ left: `${t}px`,
27
+ top: `${e}px`,
28
+ transform: `translate(${i},${a})`
29
+ } : {
30
+ transform: `translate(calc(${i} + ${t}px), calc(${a} + ${e}px))`
26
31
  },
27
32
  hidden: !n,
28
33
  children: [
29
34
  s,
30
- $ && /* @__PURE__ */ i(
35
+ $ && /* @__PURE__ */ f(
31
36
  T,
32
37
  {
33
38
  style: {
34
- "--arrow-size": `${o}px`,
39
+ "--arrow-size": `${c}px`,
35
40
  ...m
36
41
  }
37
42
  }
@@ -40,8 +45,8 @@ const b = (t, e) => t.includes("left") ? `calc(0% + ${e}px)` : t.includes("right
40
45
  }
41
46
  ) });
42
47
  };
43
- a.displayName = "Charts.Tooltip";
44
- const C = a;
48
+ p.displayName = "Charts.Tooltip";
49
+ const X = p;
45
50
  export {
46
- C as default
51
+ X as default
47
52
  };
@@ -7,7 +7,7 @@
7
7
  line-height: 1;
8
8
  padding: 2px 4px;
9
9
  text-align: center;
10
- position: absolute;
10
+ position: fixed;
11
11
  `,n=e.default.div`
12
12
  width: 0;
13
13
  height: 0;
@@ -1,9 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  export declare const TooltipContainer: import("styled-components").IStyledComponent<"web", {
3
3
  className?: string | undefined;
4
+ width?: string | number | undefined;
5
+ height?: string | number | undefined;
4
6
  children?: import("react").ReactNode;
5
7
  }> & import("react").FunctionComponent<import("react").PropsWithChildren<{
6
8
  className?: string | undefined;
9
+ width?: string | number | undefined;
10
+ height?: string | number | undefined;
7
11
  }>>;
8
12
  export declare const Tooltip: import("styled-components").IStyledComponent<"web", {
9
13
  ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
@@ -10,7 +10,7 @@ const i = o(r)`
10
10
  line-height: 1;
11
11
  padding: 2px 4px;
12
12
  text-align: center;
13
- position: absolute;
13
+ position: fixed;
14
14
  `, n = o.div`
15
15
  width: 0;
16
16
  height: 0;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=(t,e)=>{switch(!0){case t>e:return 0;case t<0:return e;default:return t}},a=(t,e,r)=>t>=e&&t<=r,f=(t=[],e=[])=>{const r=t[0]<e[0]?t:e,n=r===t?e:t;return r[1]<n[0]?null:[n[0],r[1]<n[1]?r[1]:n[1]]},m=(t=[0,1],e=[0,1],r)=>{const n={clamp:!1,fractionDigits:2},{clamp:i,fractionDigits:o}={...n,...r};return u=>{const s=t[1]-t[0];if(s===0)return(e[0]+e[1])/2;let c=(u-t[0])/s;return i&&(c=Math.min(Math.max(c,0),1)),Number((c*(e[1]-e[0])+e[0]).toFixed(o))}};exports.between=a;exports.getClampedArrayIndex=l;exports.getLinearScale=m;exports.intersection=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=(t,e)=>{switch(!0){case t>e:return 0;case t<0:return e;default:return t}},f=(t,e,n)=>t>=e&&t<=n,l=(t=[],e=[])=>{const n=t[0]<e[0]?t:e,r=n===t?e:t;return n[1]<r[0]?null:[r[0],n[1]<r[1]?n[1]:r[1]]},g=(t=[0,1],e=[0,1],n)=>{const r={clamp:!1,fractionDigits:2},{clamp:a,fractionDigits:c}={...r,...n};return o=>{const s=t[1]-t[0];if(s===0)return(e[0]+e[1])/2;let i=(o-t[0])/s;return a&&(i=Math.min(Math.max(i,0),1)),Number((i*(e[1]-e[0])+e[0]).toFixed(c))}},m=()=>{const t=navigator.userAgent.indexOf("Chrome")>-1;return navigator.userAgent.indexOf("Safari")>-1&&!t};exports.between=f;exports.getClampedArrayIndex=u;exports.getLinearScale=g;exports.intersection=l;exports.isSafari=m;
@@ -25,3 +25,4 @@ export declare const getLinearScale: (domain?: number[], range?: number[], optio
25
25
  fractionDigits?: number;
26
26
  }) => (domainValue: number) => number;
27
27
  export declare const precision: (number: number, precision: number) => number;
28
+ export declare const isSafari: () => boolean;
package/dist/lib/utils.js CHANGED
@@ -1,30 +1,34 @@
1
- const l = (t, e) => {
1
+ const u = (t, n) => {
2
2
  switch (!0) {
3
- case t > e:
3
+ case t > n:
4
4
  return 0;
5
5
  case t < 0:
6
- return e;
6
+ return n;
7
7
  default:
8
8
  return t;
9
9
  }
10
- }, f = (t, e, r) => t >= e && t <= r, a = (t = [], e = []) => {
11
- const r = t[0] < e[0] ? t : e, n = r === t ? e : t;
12
- return r[1] < n[0] ? null : [n[0], r[1] < n[1] ? r[1] : n[1]];
13
- }, m = (t = [0, 1], e = [0, 1], r) => {
14
- const n = { clamp: !1, fractionDigits: 2 }, { clamp: u, fractionDigits: i } = { ...n, ...r };
15
- return (o) => {
16
- const s = t[1] - t[0];
17
- if (s === 0)
18
- return (e[0] + e[1]) / 2;
19
- let c = (o - t[0]) / s;
20
- return u && (c = Math.min(Math.max(c, 0), 1)), Number(
21
- (c * (e[1] - e[0]) + e[0]).toFixed(i)
10
+ }, f = (t, n, e) => t >= n && t <= e, l = (t = [], n = []) => {
11
+ const e = t[0] < n[0] ? t : n, r = e === t ? n : t;
12
+ return e[1] < r[0] ? null : [r[0], e[1] < r[1] ? e[1] : r[1]];
13
+ }, m = (t = [0, 1], n = [0, 1], e) => {
14
+ const r = { clamp: !1, fractionDigits: 2 }, { clamp: i, fractionDigits: o } = { ...r, ...e };
15
+ return (a) => {
16
+ const c = t[1] - t[0];
17
+ if (c === 0)
18
+ return (n[0] + n[1]) / 2;
19
+ let s = (a - t[0]) / c;
20
+ return i && (s = Math.min(Math.max(s, 0), 1)), Number(
21
+ (s * (n[1] - n[0]) + n[0]).toFixed(o)
22
22
  );
23
23
  };
24
+ }, g = () => {
25
+ const t = navigator.userAgent.indexOf("Chrome") > -1;
26
+ return navigator.userAgent.indexOf("Safari") > -1 && !t;
24
27
  };
25
28
  export {
26
29
  f as between,
27
- l as getClampedArrayIndex,
30
+ u as getClampedArrayIndex,
28
31
  m as getLinearScale,
29
- a as intersection
32
+ l as intersection,
33
+ g as isSafari
30
34
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),u=require("react-i18next"),m=require("../../../charts/ForeignObject/index.cjs"),i=require("../helpers.cjs"),s=require("./styles.cjs"),n=({gaussianWidth:t,className:r})=>{const{t:a,i18n:{language:l}}=u.useTranslation(),c=i.estimateMagnitude(0,t),o=i.estimateMagnitude(15,t)-c;return e.jsx(m.default,{children:e.jsxs(s.DisplayContainer,{className:r,children:[e.jsx(s.Line,{}),e.jsxs("math",{xmlns:"http://www.w3.org/1998/Math/MathML",children:[e.jsx("mn",{children:"Δ"}),e.jsxs("msub",{children:[e.jsx("mi",{children:"m"}),e.jsx("mn",{children:"15"})]}),e.jsx("mo",{children:"="}),e.jsx("mn",{role:"status","aria-live":"polite","aria-label":a("light_curve.deltaM15.label")||void 0,children:Number(o).toLocaleString(l,{minimumFractionDigits:2,maximumFractionDigits:2})})]})]})})};n.displayName="Widgets.LightCurve.DM15Display";const d=n;exports.default=d;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),u=require("react-i18next"),d=require("../../../charts/ForeignObject/index.cjs"),s=require("../helpers.cjs"),i=require("./styles.cjs"),n=({gaussianWidth:t,className:r})=>{const{t:a,i18n:{language:l}}=u.useTranslation(),c=s.estimateMagnitude(0,t),o=s.estimateMagnitude(15,t)-c;return e.jsx(d.default,{children:e.jsx(i.DisplayContainer,{children:e.jsxs(i.Display,{className:r,children:[e.jsx(i.Line,{}),e.jsxs("math",{xmlns:"http://www.w3.org/1998/Math/MathML",children:[e.jsx("mn",{children:"Δ"}),e.jsxs("msub",{children:[e.jsx("mi",{children:"m"}),e.jsx("mn",{children:"15"})]}),e.jsx("mo",{children:"="}),e.jsx("mn",{role:"status","aria-live":"polite","aria-label":a("light_curve.deltaM15.label")||void 0,children:Number(o).toLocaleString(l,{minimumFractionDigits:2,maximumFractionDigits:2})})]})]})})})};n.displayName="Widgets.LightCurve.DM15Display";const m=n;exports.default=m;
@@ -3,14 +3,14 @@ import { jsx as i, jsxs as e } from "react/jsx-runtime";
3
3
  import { useTranslation as c } from "react-i18next";
4
4
  import d from "../../../charts/ForeignObject/index.js";
5
5
  import { estimateMagnitude as n } from "../helpers.js";
6
- import { DisplayContainer as h, Line as p } from "./styles.js";
6
+ import { DisplayContainer as h, Display as p, Line as u } from "./styles.js";
7
7
  const r = ({ gaussianWidth: t, className: a }) => {
8
8
  const {
9
9
  t: l,
10
10
  i18n: { language: m }
11
11
  } = c(), o = n(0, t), s = n(15, t) - o;
12
- return /* @__PURE__ */ i(d, { children: /* @__PURE__ */ e(h, { className: a, children: [
13
- /* @__PURE__ */ i(p, {}),
12
+ return /* @__PURE__ */ i(d, { children: /* @__PURE__ */ i(h, { children: /* @__PURE__ */ e(p, { className: a, children: [
13
+ /* @__PURE__ */ i(u, {}),
14
14
  /* @__PURE__ */ e("math", { xmlns: "http://www.w3.org/1998/Math/MathML", children: [
15
15
  /* @__PURE__ */ i("mn", { children: "Δ" }),
16
16
  /* @__PURE__ */ e("msub", { children: [
@@ -31,10 +31,10 @@ const r = ({ gaussianWidth: t, className: a }) => {
31
31
  }
32
32
  )
33
33
  ] })
34
- ] }) });
34
+ ] }) }) });
35
35
  };
36
36
  r.displayName = "Widgets.LightCurve.DM15Display";
37
- const b = r;
37
+ const x = r;
38
38
  export {
39
- b as default
39
+ x as default
40
40
  };
@@ -1,12 +1,14 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),l=t=>t&&t.__esModule?t:{default:t},e=l(i),o=e.default.div`
2
- position: absolute;
3
- top: 0;
4
- right: 0;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),l=t=>t&&t.__esModule?t:{default:t},e=l(i),n=e.default.div`
2
+ display: flex;
3
+ justify-content: end;
4
+ align-items: start;
5
+ `,a=e.default.div`
5
6
  display: flex;
6
7
  align-items: center;
7
8
  gap: 1ch;
8
- `,n=e.default.div`
9
+ min-height: 1em;
10
+ `,s=e.default.div`
9
11
  background-color: var(--black, #000);
10
12
  height: 2px;
11
13
  width: 3ch;
12
- `;exports.DisplayContainer=o;exports.Line=n;
14
+ `;exports.Display=a;exports.DisplayContainer=n;exports.Line=s;
@@ -270,6 +270,278 @@ export declare const DisplayContainer: import("styled-components").IStyledCompon
270
270
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
271
271
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
272
272
  }>;
273
+ export declare const Display: import("styled-components").IStyledComponent<"web", {
274
+ ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
275
+ key?: import("react").Key | null | undefined;
276
+ defaultChecked?: boolean | undefined;
277
+ defaultValue?: string | number | readonly string[] | undefined;
278
+ suppressContentEditableWarning?: boolean | undefined;
279
+ suppressHydrationWarning?: boolean | undefined;
280
+ accessKey?: string | undefined;
281
+ autoFocus?: boolean | undefined;
282
+ className?: string | undefined;
283
+ contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
284
+ contextMenu?: string | undefined;
285
+ dir?: string | undefined;
286
+ draggable?: (boolean | "true" | "false") | undefined;
287
+ hidden?: boolean | undefined;
288
+ id?: string | undefined;
289
+ lang?: string | undefined;
290
+ nonce?: string | undefined;
291
+ placeholder?: string | undefined;
292
+ slot?: string | undefined;
293
+ spellCheck?: (boolean | "true" | "false") | undefined;
294
+ style?: import("react").CSSProperties | undefined;
295
+ tabIndex?: number | undefined;
296
+ title?: string | undefined;
297
+ translate?: "yes" | "no" | undefined;
298
+ radioGroup?: string | undefined;
299
+ role?: import("react").AriaRole | undefined;
300
+ about?: string | undefined;
301
+ content?: string | undefined;
302
+ datatype?: string | undefined;
303
+ inlist?: any;
304
+ prefix?: string | undefined;
305
+ property?: string | undefined;
306
+ rel?: string | undefined;
307
+ resource?: string | undefined;
308
+ rev?: string | undefined;
309
+ typeof?: string | undefined;
310
+ vocab?: string | undefined;
311
+ autoCapitalize?: string | undefined;
312
+ autoCorrect?: string | undefined;
313
+ autoSave?: string | undefined;
314
+ color?: string | undefined;
315
+ itemProp?: string | undefined;
316
+ itemScope?: boolean | undefined;
317
+ itemType?: string | undefined;
318
+ itemID?: string | undefined;
319
+ itemRef?: string | undefined;
320
+ results?: number | undefined;
321
+ security?: string | undefined;
322
+ unselectable?: "on" | "off" | undefined;
323
+ inputMode?: "text" | "search" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
324
+ is?: string | undefined;
325
+ children?: import("react").ReactNode;
326
+ "aria-activedescendant"?: string | undefined;
327
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
328
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
329
+ "aria-braillelabel"?: string | undefined;
330
+ "aria-brailleroledescription"?: string | undefined;
331
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
332
+ "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
333
+ "aria-colcount"?: number | undefined;
334
+ "aria-colindex"?: number | undefined;
335
+ "aria-colindextext"?: string | undefined;
336
+ "aria-colspan"?: number | undefined;
337
+ "aria-controls"?: string | undefined;
338
+ "aria-current"?: boolean | "step" | "time" | "true" | "false" | "page" | "location" | "date" | undefined;
339
+ "aria-describedby"?: string | undefined;
340
+ "aria-description"?: string | undefined;
341
+ "aria-details"?: string | undefined;
342
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
343
+ "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
344
+ "aria-errormessage"?: string | undefined;
345
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
346
+ "aria-flowto"?: string | undefined;
347
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
348
+ "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
349
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
350
+ "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
351
+ "aria-keyshortcuts"?: string | undefined;
352
+ "aria-label"?: string | undefined;
353
+ "aria-labelledby"?: string | undefined;
354
+ "aria-level"?: number | undefined;
355
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
356
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
357
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
358
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
359
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
360
+ "aria-owns"?: string | undefined;
361
+ "aria-placeholder"?: string | undefined;
362
+ "aria-posinset"?: number | undefined;
363
+ "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
364
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
365
+ "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
366
+ "aria-required"?: (boolean | "true" | "false") | undefined;
367
+ "aria-roledescription"?: string | undefined;
368
+ "aria-rowcount"?: number | undefined;
369
+ "aria-rowindex"?: number | undefined;
370
+ "aria-rowindextext"?: string | undefined;
371
+ "aria-rowspan"?: number | undefined;
372
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
373
+ "aria-setsize"?: number | undefined;
374
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
375
+ "aria-valuemax"?: number | undefined;
376
+ "aria-valuemin"?: number | undefined;
377
+ "aria-valuenow"?: number | undefined;
378
+ "aria-valuetext"?: string | undefined;
379
+ dangerouslySetInnerHTML?: {
380
+ __html: string | TrustedHTML;
381
+ } | undefined;
382
+ onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
383
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
384
+ onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
385
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
386
+ onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
387
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
388
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
389
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
390
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
391
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
392
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
393
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
394
+ onFocus?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
395
+ onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
396
+ onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
397
+ onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
398
+ onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
399
+ onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
400
+ onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
401
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
402
+ onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
403
+ onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
404
+ onReset?: import("react").FormEventHandler<HTMLDivElement> | undefined;
405
+ onResetCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
406
+ onSubmit?: import("react").FormEventHandler<HTMLDivElement> | undefined;
407
+ onSubmitCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
408
+ onInvalid?: import("react").FormEventHandler<HTMLDivElement> | undefined;
409
+ onInvalidCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
410
+ onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
411
+ onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
412
+ onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
413
+ onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
414
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
415
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
416
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
417
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
418
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
419
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
420
+ onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
421
+ onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
422
+ onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
423
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
424
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
425
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
426
+ onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
427
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
428
+ onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
429
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
430
+ onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
431
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
432
+ onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
433
+ onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
434
+ onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
435
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
436
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
437
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
438
+ onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
439
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
440
+ onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
441
+ onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
442
+ onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
443
+ onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
444
+ onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
445
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
446
+ onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
447
+ onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
448
+ onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
449
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
450
+ onResize?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
451
+ onResizeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
452
+ onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
453
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
454
+ onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
455
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
456
+ onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
457
+ onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
458
+ onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
459
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
460
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
461
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
462
+ onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
463
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
464
+ onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
465
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
466
+ onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
467
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
468
+ onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
469
+ onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
470
+ onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
471
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
472
+ onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
473
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
474
+ onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
475
+ onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
476
+ onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
477
+ onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
478
+ onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
479
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
480
+ onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
481
+ onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
482
+ onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
483
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
484
+ onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
485
+ onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
486
+ onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
487
+ onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
488
+ onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
489
+ onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
490
+ onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
491
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
492
+ onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
493
+ onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
494
+ onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
495
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
496
+ onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
497
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
498
+ onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
499
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
500
+ onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
501
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
502
+ onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
503
+ onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
504
+ onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
505
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
506
+ onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
507
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
508
+ onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
509
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
510
+ onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
511
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
512
+ onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
513
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
514
+ onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
515
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
516
+ onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
517
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
518
+ onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
519
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
520
+ onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
521
+ onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
522
+ onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
523
+ onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
524
+ onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
525
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
526
+ onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
527
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
528
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
529
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
530
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
531
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
532
+ onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
533
+ onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
534
+ onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
535
+ onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
536
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
537
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
538
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
539
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
540
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
541
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
542
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
543
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
544
+ }>;
273
545
  export declare const Line: import("styled-components").IStyledComponent<"web", {
274
546
  ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
275
547
  key?: import("react").Key | null | undefined;
@@ -1,18 +1,21 @@
1
1
  "use client";
2
2
  import i from "styled-components";
3
- const o = i.div`
4
- position: absolute;
5
- top: 0;
6
- right: 0;
3
+ const e = i.div`
4
+ display: flex;
5
+ justify-content: end;
6
+ align-items: start;
7
+ `, n = i.div`
7
8
  display: flex;
8
9
  align-items: center;
9
10
  gap: 1ch;
10
- `, e = i.div`
11
+ min-height: 1em;
12
+ `, s = i.div`
11
13
  background-color: var(--black, #000);
12
14
  height: 2px;
13
15
  width: 3ch;
14
16
  `;
15
17
  export {
16
- o as DisplayContainer,
17
- e as Line
18
+ n as Display,
19
+ e as DisplayContainer,
20
+ s as Line
18
21
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),g=require("react-i18next"),x=require("../../../charts/ForeignObject/index.cjs"),a=require("./styles.cjs"),b=(t,r,s)=>{const i=Number(Math.abs(r-t).toFixed(1)),u=i.toLocaleString(s,{minimumFractionDigits:1,maximumFractionDigits:1});let e;return i<=.05?(e="equal",{distance:i,context:e}):(t<r?e="above":e="below",{distance:u,context:e})},c=({magnitude:t,yMin:r,yMax:s,onMagnitudeChangeCallback:i,estimatedPeak:u,disabled:e})=>{const{t:l,i18n:{language:o}}=g.useTranslation();return n.jsx(x.default,{children:n.jsx(a.Slider,{ariaLabel:l("light_curve.magnitude_slider.label")||void 0,orientation:"vertical",value:t,min:r,max:s,step:.1,disabled:e,ariaValuetext:()=>l("light_curve.magnitude_slider.value",{...b(u,t,o),magnitude:t.toLocaleString(o,{minimumFractionDigits:1,maximumFractionDigits:1})}),onChange:i,renderThumb:({key:d,...m})=>n.jsxs(a.ThumbContainer,{...m,children:[n.jsx(a.ThumbBar,{}),n.jsx(a.ThumbHandle,{})]},d)})})};c.displayName="Widgets.LightCurve.MagnitudeSlider";const h=c;exports.default=h;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),h=require("react-i18next"),v=require("../../../charts/ForeignObject/index.cjs"),a=require("./styles.cjs"),S=(t,r,s)=>{const i=Number(Math.abs(r-t).toFixed(1)),u=i.toLocaleString(s,{minimumFractionDigits:1,maximumFractionDigits:1});let e;return i<=.05?(e="equal",{distance:i,context:e}):(t<r?e="above":e="below",{distance:u,context:e})},c=({magnitude:t,yMin:r,yMax:s,onMagnitudeChangeCallback:i,estimatedPeak:u,disabled:e,width:d,height:m})=>{const{t:l,i18n:{language:o}}=h.useTranslation();return n.jsx(v.default,{width:d,height:m,children:n.jsx(a.Slider,{ariaLabel:l("light_curve.magnitude_slider.label")||void 0,orientation:"vertical",value:t,min:r,max:s,step:.1,disabled:e,ariaValuetext:()=>l("light_curve.magnitude_slider.value",{...S(u,t,o),magnitude:t.toLocaleString(o,{minimumFractionDigits:1,maximumFractionDigits:1})}),onChange:i,renderThumb:({key:g,style:x,...b})=>n.jsxs(a.ThumbContainer,{...b,style:{...x,position:"fixed"},children:[n.jsx(a.ThumbBar,{}),n.jsx(a.ThumbHandle,{})]},g)})})};c.displayName="Widgets.LightCurve.MagnitudeSlider";const f=c;exports.default=f;
@@ -6,6 +6,8 @@ interface MagnitudeSliderProps {
6
6
  onMagnitudeChangeCallback: (value: number) => void;
7
7
  estimatedPeak: number;
8
8
  disabled?: boolean;
9
+ width?: number;
10
+ height?: number;
9
11
  }
10
12
  declare const MagnitudeSlider: FunctionComponent<MagnitudeSliderProps>;
11
13
  export default MagnitudeSlider;
@@ -1,29 +1,31 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as d } from "react/jsx-runtime";
3
- import { useTranslation as g } from "react-i18next";
4
- import b from "../../../charts/ForeignObject/index.js";
5
- import { Slider as h, ThumbContainer as x, ThumbBar as f, ThumbHandle as v } from "./styles.js";
6
- const p = (t, n, a) => {
2
+ import { jsx as r, jsxs as h } from "react/jsx-runtime";
3
+ import { useTranslation as x } from "react-i18next";
4
+ import f from "../../../charts/ForeignObject/index.js";
5
+ import { Slider as p, ThumbContainer as v, ThumbBar as F, ThumbHandle as S } from "./styles.js";
6
+ const D = (t, n, a) => {
7
7
  const e = Number(Math.abs(n - t).toFixed(1)), o = e.toLocaleString(a, {
8
8
  minimumFractionDigits: 1,
9
9
  maximumFractionDigits: 1
10
10
  });
11
11
  let i;
12
12
  return e <= 0.05 ? (i = "equal", { distance: e, context: i }) : (t < n ? i = "above" : i = "below", { distance: o, context: i });
13
- }, u = ({
13
+ }, s = ({
14
14
  magnitude: t,
15
15
  yMin: n,
16
16
  yMax: a,
17
17
  onMagnitudeChangeCallback: e,
18
18
  estimatedPeak: o,
19
- disabled: i
19
+ disabled: i,
20
+ width: u,
21
+ height: c
20
22
  }) => {
21
23
  const {
22
24
  t: l,
23
25
  i18n: { language: m }
24
- } = g();
25
- return /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(
26
- h,
26
+ } = x();
27
+ return /* @__PURE__ */ r(f, { width: u, height: c, children: /* @__PURE__ */ r(
28
+ p,
27
29
  {
28
30
  ariaLabel: l("light_curve.magnitude_slider.label") || void 0,
29
31
  orientation: "vertical",
@@ -33,22 +35,30 @@ const p = (t, n, a) => {
33
35
  step: 0.1,
34
36
  disabled: i,
35
37
  ariaValuetext: () => l("light_curve.magnitude_slider.value", {
36
- ...p(o, t, m),
38
+ ...D(o, t, m),
37
39
  magnitude: t.toLocaleString(m, {
38
40
  minimumFractionDigits: 1,
39
41
  maximumFractionDigits: 1
40
42
  })
41
43
  }),
42
44
  onChange: e,
43
- renderThumb: ({ key: s, ...c }) => /* @__PURE__ */ d(x, { ...c, children: [
44
- /* @__PURE__ */ r(f, {}),
45
- /* @__PURE__ */ r(v, {})
46
- ] }, s)
45
+ renderThumb: ({ key: d, style: g, ...b }) => /* @__PURE__ */ h(
46
+ v,
47
+ {
48
+ ...b,
49
+ style: { ...g, position: "fixed" },
50
+ children: [
51
+ /* @__PURE__ */ r(F, {}),
52
+ /* @__PURE__ */ r(S, {})
53
+ ]
54
+ },
55
+ d
56
+ )
47
57
  }
48
58
  ) });
49
59
  };
50
- u.displayName = "Widgets.LightCurve.MagnitudeSlider";
51
- const C = u;
60
+ s.displayName = "Widgets.LightCurve.MagnitudeSlider";
61
+ const _ = s;
52
62
  export {
53
- C as default
63
+ _ as default
54
64
  };
@@ -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"),w=require("../ScatterPlot/index.cjs"),B=require("../LightCurve/index.cjs"),N=require("../A11Y/LightCurveLabel/index.cjs"),S=require("../helpers.cjs"),E=require("../../../atomic/Button/patterns/Reset.cjs"),J=require("../MagnitudeSlider/index.cjs"),d=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:i=t.default.yMax,width:f=t.default.width,height:x=t.default.height,userMagnitude:P=(i-r)/2+r,onUserMagnitudeChangeCallback:o,onGaussianChangeCallback:n,onYOffsetChangeCallback:c,className:M,isDisplayOnly:m,...R})=>{const{t:h}=F.useTranslation(),j="lightCurveControls",p="gaussianWidthLabel",q="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((i-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:i,step:t.default.yStep,range:[0,x]}),b=S.estimateMagnitudeWithOffset(0,l,a);return e.jsxs(d.Container,{className:M,children:[e.jsx(w.default,{...R,data:u,width:f,height:x,yMin:r,yMax:i,children:u.length>0?e.jsxs(e.Fragment,{children:[e.jsx(B.default,{gaussianWidth:l,yOffset:a,xDomain:O,xScale:z,yScale:v,yDomain:A}),e.jsx(J.default,{magnitude:P,onMagnitudeChangeCallback:s=>o&&o(s),disabled:m,yMin:r,yMax:i,yScale:v,estimatedPeak:b}),e.jsx(d.DM15Display,{gaussianWidth:l})]}):null}),!m&&e.jsxs(d.Controls,{id:j,children:[e.jsxs("div",{children:[e.jsx(d.ControlLabel,{id:p,children:h("light_curve.curve.controls.gaussian_width")}),e.jsx(y.default,{label:"Gaussian Width",labelledbyId:p,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(d.ControlLabel,{id:q,children:h("light_curve.curve.controls.y_offset")}),e.jsx(y.default,{label:"Y Offset",labelledbyId:q,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(N.default,{controlledById:j,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:[0,x]}),b=S.estimateMagnitudeWithOffset(0,l,a);return e.jsxs(i.Container,{className:M,children:[e.jsx(B.default,{...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(J.default,{magnitude:P,onMagnitudeChangeCallback:s=>o&&o(s),disabled:m,yMin:r,yMax:d,yScale:v,estimatedPeak:b,width:f,height:x}),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,12 +1,12 @@
1
1
  "use client";
2
- import { jsxs as l, jsx as o, Fragment as z } from "react/jsx-runtime";
3
- import { useTranslation as A } from "react-i18next";
4
- import { min as B, max as H } from "d3-array";
2
+ import { jsxs as l, jsx as o, Fragment as A } from "react/jsx-runtime";
3
+ import { useTranslation as B } from "react-i18next";
4
+ import { min as H, max as N } from "d3-array";
5
5
  import S from "@rubin-epo/epo-react-lib/HorizontalSlider";
6
6
  import y from "../../../charts/hooks/useAxis.js";
7
7
  import t from "../defaults.js";
8
- import N from "../ScatterPlot/index.js";
9
- import $ from "../LightCurve/index.js";
8
+ import $ from "../ScatterPlot/index.js";
9
+ import w from "../LightCurve/index.js";
10
10
  import E from "../A11Y/LightCurveLabel/index.js";
11
11
  import { formatMagnitudePoints as J, estimateMagnitudeWithOffset as K } from "../helpers.js";
12
12
  import Q from "../../../atomic/Button/patterns/Reset.js";
@@ -29,14 +29,14 @@ const D = ({
29
29
  isDisplayOnly: f,
30
30
  ...T
31
31
  }) => {
32
- const { t: h } = A(), x = "lightCurveControls", v = "gaussianWidthLabel", g = "yOffsetLabel", i = J(P, W), j = B(i, ({ x: e }) => e) || Math.min(...i.map(({ x: e }) => e)), q = H(i, ({ x: e }) => e) || Math.max(...i.map(({ x: e }) => e)), F = () => {
32
+ const { t: x } = B(), h = "lightCurveControls", v = "gaussianWidthLabel", g = "yOffsetLabel", i = J(P, W), j = H(i, ({ x: e }) => e) || Math.min(...i.map(({ x: e }) => e)), q = N(i, ({ x: e }) => e) || Math.max(...i.map(({ x: e }) => e)), F = () => {
33
33
  a && a((s - r) / 2 + r), c && c(t.yOffset), d && d(t.gaussianWidth);
34
34
  }, [M, k, O] = y({
35
35
  min: j,
36
36
  max: q,
37
37
  step: t.xStep,
38
38
  range: [0, p]
39
- }), [w, G, L] = y({
39
+ }), [z, G, L] = y({
40
40
  min: r,
41
41
  max: s,
42
42
  step: t.yStep,
@@ -44,7 +44,7 @@ const D = ({
44
44
  }), b = K(0, m, n);
45
45
  return /* @__PURE__ */ l(X, { className: R, children: [
46
46
  /* @__PURE__ */ o(
47
- N,
47
+ $,
48
48
  {
49
49
  ...T,
50
50
  data: i,
@@ -52,16 +52,16 @@ const D = ({
52
52
  height: u,
53
53
  yMin: r,
54
54
  yMax: s,
55
- children: i.length > 0 ? /* @__PURE__ */ l(z, { children: [
55
+ children: i.length > 0 ? /* @__PURE__ */ l(A, { children: [
56
56
  /* @__PURE__ */ o(
57
- $,
57
+ w,
58
58
  {
59
59
  gaussianWidth: m,
60
60
  yOffset: n,
61
61
  xDomain: M,
62
62
  xScale: O,
63
63
  yScale: L,
64
- yDomain: w
64
+ yDomain: z
65
65
  }
66
66
  ),
67
67
  /* @__PURE__ */ o(
@@ -73,16 +73,18 @@ const D = ({
73
73
  yMin: r,
74
74
  yMax: s,
75
75
  yScale: L,
76
- estimatedPeak: b
76
+ estimatedPeak: b,
77
+ width: p,
78
+ height: u
77
79
  }
78
80
  ),
79
81
  /* @__PURE__ */ o(Z, { gaussianWidth: m })
80
82
  ] }) : null
81
83
  }
82
84
  ),
83
- !f && /* @__PURE__ */ l(C, { id: x, children: [
85
+ !f && /* @__PURE__ */ l(C, { id: h, children: [
84
86
  /* @__PURE__ */ l("div", { children: [
85
- /* @__PURE__ */ o(I, { id: v, children: h("light_curve.curve.controls.gaussian_width") }),
87
+ /* @__PURE__ */ o(I, { id: v, children: x("light_curve.curve.controls.gaussian_width") }),
86
88
  /* @__PURE__ */ o(
87
89
  S,
88
90
  {
@@ -98,7 +100,7 @@ const D = ({
98
100
  )
99
101
  ] }),
100
102
  /* @__PURE__ */ l("div", { children: [
101
- /* @__PURE__ */ o(I, { id: g, children: h("light_curve.curve.controls.y_offset") }),
103
+ /* @__PURE__ */ o(I, { id: g, children: x("light_curve.curve.controls.y_offset") }),
102
104
  /* @__PURE__ */ o(
103
105
  S,
104
106
  {
@@ -118,7 +120,7 @@ const D = ({
118
120
  /* @__PURE__ */ o(
119
121
  E,
120
122
  {
121
- controlledById: x,
123
+ controlledById: h,
122
124
  data: i,
123
125
  gaussianWidth: m,
124
126
  yOffset: n,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubin-epo/epo-widget-lib",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "Rubin Observatory Education & Public Outreach team React scientific and educational widgets.",
5
5
  "author": "Rubin EPO",
6
6
  "license": "MIT",