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

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.
Files changed (128) hide show
  1. package/dist/CameraFilter.cjs +1 -1
  2. package/dist/CameraFilter.js +25 -24
  3. package/dist/Charts.cjs +1 -1
  4. package/dist/Charts.js +14 -12
  5. package/dist/ColorTool.cjs +1 -1
  6. package/dist/ColorTool.js +98 -103
  7. package/dist/FilterTool.cjs +1 -1
  8. package/dist/FilterTool.js +1 -1
  9. package/dist/SupernovaThreeVector.cjs +1 -1
  10. package/dist/SupernovaThreeVector.js +12 -12
  11. package/dist/atomic/PlaybackControl/PlaybackControl.d.ts +1 -2
  12. package/dist/charts/Bars/index.d.ts +1 -1
  13. package/dist/charts/Base/index.d.ts +1 -1
  14. package/dist/charts/Guidelines/index.cjs +1 -1
  15. package/dist/charts/Guidelines/index.d.ts +1 -1
  16. package/dist/charts/Guidelines/index.js +9 -9
  17. package/dist/charts/Points/ErrorBar.cjs +1 -0
  18. package/dist/charts/Points/ErrorBar.d.ts +9 -0
  19. package/dist/charts/Points/ErrorBar.js +119 -0
  20. package/dist/charts/Points/index.cjs +1 -1
  21. package/dist/charts/Points/index.d.ts +5 -11
  22. package/dist/charts/Points/index.js +44 -22
  23. package/dist/charts/ScatterPlot/index.cjs +1 -0
  24. package/dist/charts/ScatterPlot/index.d.ts +24 -0
  25. package/dist/charts/ScatterPlot/index.js +133 -0
  26. package/dist/charts/ScatterPlot/styles.cjs +22 -0
  27. package/dist/charts/ScatterPlot/styles.d.ts +16 -0
  28. package/dist/charts/ScatterPlot/styles.js +29 -0
  29. package/dist/charts/XAxis/index.d.ts +1 -1
  30. package/dist/charts/YAxis/index.d.ts +1 -1
  31. package/dist/charts/defaults.cjs +1 -0
  32. package/dist/charts/defaults.d.ts +22 -0
  33. package/dist/charts/defaults.js +23 -0
  34. package/dist/charts/hooks/useAxis.d.ts +1 -1
  35. package/dist/charts/index.d.ts +1 -0
  36. package/dist/hooks/useInterval.cjs +1 -1
  37. package/dist/hooks/useInterval.js +10 -10
  38. package/dist/hooks/useWindowSize.d.ts +4 -0
  39. package/dist/layout/AspectRatio/index.cjs +1 -0
  40. package/dist/layout/AspectRatio/index.d.ts +18 -0
  41. package/dist/layout/AspectRatio/index.js +24 -0
  42. package/dist/layout/AspectRatio/styles.cjs +16 -0
  43. package/dist/{widgets/ColorTool/Actions → layout/AspectRatio}/styles.d.ts +1 -1
  44. package/dist/layout/AspectRatio/styles.js +22 -0
  45. package/dist/layout/Controls/index.cjs +1 -0
  46. package/dist/layout/Controls/index.d.ts +10 -0
  47. package/dist/layout/Controls/index.js +31 -0
  48. package/dist/layout/Controls/styles.cjs +63 -0
  49. package/dist/{widgets/ColorTool → layout/Controls}/styles.d.ts +604 -332
  50. package/dist/layout/Controls/styles.js +75 -0
  51. package/dist/lib/reimg.cjs +1 -1
  52. package/dist/lib/reimg.d.ts +2 -2
  53. package/dist/lib/reimg.js +30 -31
  54. package/dist/widgets/CameraFilter/SpectrumDisplay/SpectrumDisplay.cjs +1 -1
  55. package/dist/widgets/CameraFilter/SpectrumDisplay/SpectrumDisplay.js +1 -1
  56. package/dist/widgets/CameraFilter/styles.cjs +24 -20
  57. package/dist/widgets/CameraFilter/styles.js +36 -32
  58. package/dist/widgets/ColorTool/Actions/index.cjs +1 -1
  59. package/dist/widgets/ColorTool/Actions/index.js +24 -25
  60. package/dist/widgets/ColorTool/FilterControls/styles.cjs +4 -4
  61. package/dist/widgets/ColorTool/FilterControls/styles.d.ts +1252 -0
  62. package/dist/widgets/ColorTool/FilterControls/styles.js +1 -1
  63. package/dist/widgets/ColorTool/ImageComposite/ImageComposite.cjs +1 -1
  64. package/dist/widgets/ColorTool/ImageComposite/ImageComposite.js +26 -29
  65. package/dist/widgets/ColorTool/ImageComposite/styles.cjs +5 -3
  66. package/dist/widgets/ColorTool/ImageComposite/styles.js +4 -2
  67. package/dist/widgets/ColorTool/styles.cjs +10 -24
  68. package/dist/widgets/ColorTool/styles.js +15 -29
  69. package/dist/widgets/FilterTool/FilterTool.d.ts +1 -1
  70. package/dist/widgets/FilterTool/styles.cjs +9 -9
  71. package/dist/widgets/FilterTool/styles.d.ts +6 -269
  72. package/dist/widgets/FilterTool/styles.js +17 -16
  73. package/dist/widgets/LightCurvePlot/Plot/index.cjs +1 -0
  74. package/dist/widgets/LightCurvePlot/Plot/index.d.ts +12 -0
  75. package/dist/widgets/LightCurvePlot/Plot/index.js +99 -0
  76. package/dist/widgets/LightCurvePlot/{ScatterPlot → Plot}/styles.cjs +4 -4
  77. package/dist/widgets/LightCurvePlot/{ScatterPlot → Plot}/styles.js +7 -6
  78. package/dist/widgets/LightCurvePlot/PlotWithCurve/A11Y/LightCurveLabel/index.cjs +1 -0
  79. package/dist/widgets/LightCurvePlot/{A11Y → PlotWithCurve/A11Y}/LightCurveLabel/index.d.ts +2 -2
  80. package/dist/widgets/LightCurvePlot/{A11Y → PlotWithCurve/A11Y}/LightCurveLabel/index.js +2 -2
  81. package/dist/widgets/LightCurvePlot/PlotWithCurve/DM15Display/index.cjs +1 -0
  82. package/dist/widgets/LightCurvePlot/{DM15Display → PlotWithCurve/DM15Display}/index.js +2 -2
  83. package/dist/widgets/LightCurvePlot/PlotWithCurve/LightCurve/index.cjs +1 -0
  84. package/dist/widgets/LightCurvePlot/{LightCurve → PlotWithCurve/LightCurve}/index.d.ts +1 -1
  85. package/dist/widgets/LightCurvePlot/{LightCurve → PlotWithCurve/LightCurve}/index.js +1 -1
  86. package/dist/widgets/LightCurvePlot/{MagnitudeSlider → PlotWithCurve/MagnitudeSlider}/index.d.ts +0 -2
  87. package/dist/widgets/LightCurvePlot/PlotWithCurve/index.cjs +1 -1
  88. package/dist/widgets/LightCurvePlot/PlotWithCurve/index.js +129 -115
  89. package/dist/widgets/LightCurvePlot/PlotWithCurve/styles.cjs +9 -11
  90. package/dist/widgets/LightCurvePlot/PlotWithCurve/styles.js +13 -16
  91. package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.cjs +1 -1
  92. package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.d.ts +2 -2
  93. package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.js +17 -15
  94. package/dist/widgets/LightCurvePlot/helpers.cjs +1 -1
  95. package/dist/widgets/LightCurvePlot/helpers.d.ts +3 -12
  96. package/dist/widgets/LightCurvePlot/helpers.js +33 -18
  97. package/dist/widgets/SourceSelector/SourceSelector.cjs +1 -1
  98. package/dist/widgets/SourceSelector/SourceSelector.js +53 -60
  99. package/dist/widgets/SupernovaThreeVector/Histogram/index.d.ts +1 -1
  100. package/dist/widgets/SupernovaThreeVector/index.d.ts +1 -1
  101. package/dist/widgets/SupernovaThreeVector/styles.cjs +10 -10
  102. package/dist/widgets/SupernovaThreeVector/styles.js +23 -22
  103. package/package.json +1 -1
  104. package/dist/styles/svg.cjs +0 -8
  105. package/dist/styles/svg.js +0 -13
  106. package/dist/widgets/ColorTool/Actions/styles.cjs +0 -5
  107. package/dist/widgets/ColorTool/Actions/styles.js +0 -10
  108. package/dist/widgets/LightCurvePlot/A11Y/LightCurveLabel/index.cjs +0 -1
  109. package/dist/widgets/LightCurvePlot/DM15Display/index.cjs +0 -1
  110. package/dist/widgets/LightCurvePlot/LightCurve/index.cjs +0 -1
  111. package/dist/widgets/LightCurvePlot/Point/index.cjs +0 -1
  112. package/dist/widgets/LightCurvePlot/Point/index.d.ts +0 -11
  113. package/dist/widgets/LightCurvePlot/Point/index.js +0 -68
  114. package/dist/widgets/LightCurvePlot/ScatterPlot/index.cjs +0 -1
  115. package/dist/widgets/LightCurvePlot/ScatterPlot/index.d.ts +0 -12
  116. package/dist/widgets/LightCurvePlot/ScatterPlot/index.js +0 -178
  117. /package/dist/widgets/LightCurvePlot/{ScatterPlot → Plot}/styles.d.ts +0 -0
  118. /package/dist/widgets/LightCurvePlot/{A11Y → PlotWithCurve/A11Y}/LightCurveLabel/styles.cjs +0 -0
  119. /package/dist/widgets/LightCurvePlot/{A11Y → PlotWithCurve/A11Y}/LightCurveLabel/styles.d.ts +0 -0
  120. /package/dist/widgets/LightCurvePlot/{A11Y → PlotWithCurve/A11Y}/LightCurveLabel/styles.js +0 -0
  121. /package/dist/widgets/LightCurvePlot/{DM15Display → PlotWithCurve/DM15Display}/index.d.ts +0 -0
  122. /package/dist/widgets/LightCurvePlot/{DM15Display → PlotWithCurve/DM15Display}/styles.cjs +0 -0
  123. /package/dist/widgets/LightCurvePlot/{DM15Display → PlotWithCurve/DM15Display}/styles.d.ts +0 -0
  124. /package/dist/widgets/LightCurvePlot/{DM15Display → PlotWithCurve/DM15Display}/styles.js +0 -0
  125. /package/dist/widgets/LightCurvePlot/{MagnitudeSlider → PlotWithCurve/MagnitudeSlider}/index.cjs +0 -0
  126. /package/dist/widgets/LightCurvePlot/{MagnitudeSlider → PlotWithCurve/MagnitudeSlider}/index.js +0 -0
  127. /package/dist/widgets/LightCurvePlot/{MagnitudeSlider → PlotWithCurve/MagnitudeSlider}/styles.cjs +0 -0
  128. /package/dist/widgets/LightCurvePlot/{MagnitudeSlider → PlotWithCurve/MagnitudeSlider}/styles.js +0 -0
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ import t from "styled-components";
3
+ import { token as i } from "@rubin-epo/epo-react-lib/styles";
4
+ const a = t.div`
5
+ --default-widget-padding: calc(var(--PADDING_SMALL, 20px) / 2);
6
+ --widget-gap: var(--widget-padding, var(--default-widget-padding));
7
+
8
+ box-sizing: border-box;
9
+ display: flex;
10
+ flex-direction: column;
11
+ width: 100%;
12
+ max-height: 100%;
13
+ gap: var(--widget-gap);
14
+ overflow-y: auto;
15
+
16
+ @container (min-width: ${i("BREAK_PHABLET_MIN")}) {
17
+ --default-widget-padding: var(--PADDING_SMALL, 20px);
18
+ }
19
+
20
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
21
+ height: 100%;
22
+ overflow-y: initial;
23
+ }
24
+ `, o = t.div`
25
+ display: flex;
26
+ flex-direction: column;
27
+ flex-grow: 1;
28
+ gap: var(--widget-gap);
29
+
30
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
31
+ flex-direction: row-reverse;
32
+ }
33
+ `, d = t.div`
34
+ aspect-ratio: 1;
35
+ flex: 1 1 auto;
36
+ max-height: 100%;
37
+ max-width: 100%;
38
+ justify-self: center;
39
+
40
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
41
+ max-height: unset;
42
+ height: 100%;
43
+ }
44
+ `, r = t.div`
45
+ display: flex;
46
+ flex-direction: column;
47
+ gap: var(--widget-gap);
48
+ flex: 0 1 100%;
49
+ `, l = t.div`
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: var(--widget-gap);
53
+
54
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
55
+ flex-direction: row;
56
+ }
57
+ `, c = t.div`
58
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
59
+ display: none;
60
+ }
61
+ `, g = t.div`
62
+ display: none;
63
+ @container (min-width: ${i("BREAK_LARGE_TABLET")}) {
64
+ display: block;
65
+ }
66
+ `;
67
+ export {
68
+ l as Actions,
69
+ r as Controls,
70
+ o as InteractionRow,
71
+ g as LandscapeCaption,
72
+ c as PortraitCaption,
73
+ d as Widget,
74
+ a as WidgetLayout
75
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function g(r,e){const c=function(){return r.indexOf("data:image/png")===0},i=function(t,o){var n=document.createElement("a");n.href=t,n.download=o,document.body.appendChild(n),n.click()};return{toBase64:function(){return r},toImg:function(){const t=document.createElement("img");return t.src=r,t},toCanvas:function(t){const o=document.createElement("canvas"),n=e==null?void 0:e.getBoundingClientRect();o.width=(n==null?void 0:n.width)||0,o.height=(n==null?void 0:n.height)||0;const a=o.getContext("2d");var u=this.toImg();u.onload=function(){a==null||a.drawImage(u,0,0),t(o)}},toPng:function(){if(c()){var t=document.createElement("img");return t.src=r,t}this.toCanvas(function(o){var n=document.createElement("img");return n.src=o.toDataURL(),n})},toJpeg:function(t){t=t||1,(o=>{this.toCanvas(function(n){var a=document.createElement("img");return a.src=n.toDataURL("image/jpeg",o),a})})(t)},downloadPng:function(t){if(t=t||"image.png",c()){i(r,t);return}this.toCanvas(function(o){i(o.toDataURL(),t)})}}}function m(r){const e=r.toDataURL();return g(e)}exports.fromCanvas=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function s(c,i){const r=function(){return c.indexOf("data:image/png")===0},a=function(t,n){const o=document.createElement("a");o.href=t,o.download=n,document.body.appendChild(o),o.click()};return{toBase64:function(){return c},toImg:function(){const t=document.createElement("img");return t.src=c,t},toCanvas:function(t){const n=document.createElement("canvas"),o=i==null?void 0:i.getBoundingClientRect();n.width=(o==null?void 0:o.width)||0,n.height=(o==null?void 0:o.height)||0;const e=n.getContext("2d"),u=this.toImg();u.onload=function(){e==null||e.drawImage(u,0,0),t(n)}},toPng:function(){if(r()){const t=document.createElement("img");return t.src=c,t}this.toCanvas(function(t){const n=document.createElement("img");return n.src=t.toDataURL(),n})},toJpeg:function(t){t=t||1,(n=>{this.toCanvas(function(o){const e=document.createElement("img");return e.src=o.toDataURL("image/jpeg",n),e})})(t)},downloadPng:function(t){if(t=t||"image.png",r()){a(c,t);return}this.toCanvas(function(n){a(n.toDataURL(),t)})}}}function g(c){const i=c.toDataURL();return s(i)}exports.fromCanvas=g;
@@ -1,7 +1,7 @@
1
1
  declare function fromSvg(svgElement: SVGElement): {
2
- [key: string]: Function;
2
+ [key: string]: (...args: any) => any;
3
3
  };
4
4
  declare function fromCanvas(canvasElement: HTMLCanvasElement): {
5
- [key: string]: Function;
5
+ [key: string]: (...args: any) => any;
6
6
  };
7
7
  export { fromSvg, fromCanvas };
package/dist/lib/reimg.js CHANGED
@@ -1,60 +1,59 @@
1
- function g(r, c) {
2
- const i = function() {
3
- return r.indexOf("data:image/png") === 0;
4
- }, e = function(t, o) {
5
- var n = document.createElement("a");
6
- n.href = t, n.download = o, document.body.appendChild(n), n.click();
1
+ function s(c, r) {
2
+ const e = function() {
3
+ return c.indexOf("data:image/png") === 0;
4
+ }, a = function(t, n) {
5
+ const o = document.createElement("a");
6
+ o.href = t, o.download = n, document.body.appendChild(o), o.click();
7
7
  };
8
8
  return {
9
9
  toBase64: function() {
10
- return r;
10
+ return c;
11
11
  },
12
12
  toImg: function() {
13
13
  const t = document.createElement("img");
14
- return t.src = r, t;
14
+ return t.src = c, t;
15
15
  },
16
16
  toCanvas: function(t) {
17
- const o = document.createElement("canvas"), n = c == null ? void 0 : c.getBoundingClientRect();
18
- o.width = (n == null ? void 0 : n.width) || 0, o.height = (n == null ? void 0 : n.height) || 0;
19
- const a = o.getContext("2d");
20
- var u = this.toImg();
17
+ const n = document.createElement("canvas"), o = r == null ? void 0 : r.getBoundingClientRect();
18
+ n.width = (o == null ? void 0 : o.width) || 0, n.height = (o == null ? void 0 : o.height) || 0;
19
+ const i = n.getContext("2d"), u = this.toImg();
21
20
  u.onload = function() {
22
- a == null || a.drawImage(u, 0, 0), t(o);
21
+ i == null || i.drawImage(u, 0, 0), t(n);
23
22
  };
24
23
  },
25
24
  toPng: function() {
26
- if (i()) {
27
- var t = document.createElement("img");
28
- return t.src = r, t;
25
+ if (e()) {
26
+ const t = document.createElement("img");
27
+ return t.src = c, t;
29
28
  }
30
- this.toCanvas(function(o) {
31
- var n = document.createElement("img");
32
- return n.src = o.toDataURL(), n;
29
+ this.toCanvas(function(t) {
30
+ const n = document.createElement("img");
31
+ return n.src = t.toDataURL(), n;
33
32
  });
34
33
  },
35
34
  toJpeg: function(t) {
36
- t = t || 1, ((o) => {
37
- this.toCanvas(function(n) {
38
- var a = document.createElement("img");
39
- return a.src = n.toDataURL("image/jpeg", o), a;
35
+ t = t || 1, ((n) => {
36
+ this.toCanvas(function(o) {
37
+ const i = document.createElement("img");
38
+ return i.src = o.toDataURL("image/jpeg", n), i;
40
39
  });
41
40
  })(t);
42
41
  },
43
42
  downloadPng: function(t) {
44
- if (t = t || "image.png", i()) {
45
- e(r, t);
43
+ if (t = t || "image.png", e()) {
44
+ a(c, t);
46
45
  return;
47
46
  }
48
- this.toCanvas(function(o) {
49
- e(o.toDataURL(), t);
47
+ this.toCanvas(function(n) {
48
+ a(n.toDataURL(), t);
50
49
  });
51
50
  }
52
51
  };
53
52
  }
54
- function m(r) {
55
- const c = r.toDataURL();
56
- return g(c);
53
+ function g(c) {
54
+ const r = c.toDataURL();
55
+ return s(r);
57
56
  }
58
57
  export {
59
- m as fromCanvas
58
+ g as fromCanvas
60
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),c=require("../../../lib/utils.cjs"),t=require("../data.cjs"),j=require("./SpectrumLabels/SpectrumLabels.cjs"),x=({min:n,max:u,range:g,isCondensed:p,activeFilter:s})=>e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMinYMin meet",viewBox:`${n} 0 ${g} 300`,"data-testid":"spectrum-display",children:[e.jsxs("defs",{children:[t.spectrums.map(({name:d,stops:r})=>e.jsx("linearGradient",{id:`${d}-gradient`,children:r.map(({offset:a,stopColor:h,id:o})=>e.jsx("stop",{offset:a,stopColor:h,id:o},`${a}-${h}`))},d)),e.jsxs("mask",{id:"spectrumMask",children:[e.jsx("rect",{width:"100%",height:"100",fill:"white",x:n}),s&&e.jsxs(e.Fragment,{children:[e.jsx("rect",{x:n,width:s.range[0]-n,height:"100%",fill:"black"}),e.jsx("rect",{x:s.range[1],width:u-s.range[1],height:"100%",fill:"black"})]})]})]}),e.jsx("g",{mask:"url(#spectrumMask)",role:"presentation",children:t.spectrums.map(({name:d,upper:r,lower:a})=>e.jsx("rect",{width:(r||u)-(a||n),height:"50%",fill:`url(#${d}-gradient)`,x:a||n,role:"presentation"},d))}),e.jsx("g",{children:t.spectrums.map(({name:d,upper:r})=>r&&e.jsx("line",{strokeWidth:2,strokeDasharray:"8 8",stroke:s&&!c.between(r,s.range[0],s.range[1])?"#000":"#fff",x1:r,x2:r,y1:0,y2:"50%"},d))}),e.jsx(j.default,{spectrums:t.spectrums,activeBand:s==null?void 0:s.band,min:n,max:u,activeMin:s==null?void 0:s.range[0],activeMax:s==null?void 0:s.range[1],isCondensed:p})]});x.displayName="Widgets.CameraFilter.SpectrumDisplay";const l=x;exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),c=require("../../../lib/utils.cjs"),t=require("../data.cjs"),j=require("./SpectrumLabels/SpectrumLabels.cjs"),x=({min:n,max:u,range:g,isCondensed:p,activeFilter:s})=>e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMinYMin meet",viewBox:`${n} 0 ${g} 260`,"data-testid":"spectrum-display",children:[e.jsxs("defs",{children:[t.spectrums.map(({name:d,stops:r})=>e.jsx("linearGradient",{id:`${d}-gradient`,children:r.map(({offset:a,stopColor:h,id:o})=>e.jsx("stop",{offset:a,stopColor:h,id:o},`${a}-${h}`))},d)),e.jsxs("mask",{id:"spectrumMask",children:[e.jsx("rect",{width:"100%",height:"100",fill:"white",x:n}),s&&e.jsxs(e.Fragment,{children:[e.jsx("rect",{x:n,width:s.range[0]-n,height:"100%",fill:"black"}),e.jsx("rect",{x:s.range[1],width:u-s.range[1],height:"100%",fill:"black"})]})]})]}),e.jsx("g",{mask:"url(#spectrumMask)",role:"presentation",children:t.spectrums.map(({name:d,upper:r,lower:a})=>e.jsx("rect",{width:(r||u)-(a||n),height:"50%",fill:`url(#${d}-gradient)`,x:a||n,role:"presentation"},d))}),e.jsx("g",{children:t.spectrums.map(({name:d,upper:r})=>r&&e.jsx("line",{strokeWidth:2,strokeDasharray:"8 8",stroke:s&&!c.between(r,s.range[0],s.range[1])?"#000":"#fff",x1:r,x2:r,y1:0,y2:"50%"},d))}),e.jsx(j.default,{spectrums:t.spectrums,activeBand:s==null?void 0:s.band,min:n,max:u,activeMin:s==null?void 0:s.range[0],activeMax:s==null?void 0:s.range[1],isCondensed:p})]});x.displayName="Widgets.CameraFilter.SpectrumDisplay";const l=x;exports.default=l;
@@ -13,7 +13,7 @@ const o = ({
13
13
  {
14
14
  xmlns: "http://www.w3.org/2000/svg",
15
15
  preserveAspectRatio: "xMinYMin meet",
16
- viewBox: `${n} 0 ${t} 300`,
16
+ viewBox: `${n} 0 ${t} 260`,
17
17
  "data-testid": "spectrum-display",
18
18
  children: [
19
19
  /* @__PURE__ */ p("defs", { children: [
@@ -1,4 +1,4 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("@rubin-epo/epo-react-lib/styles"),a=n=>n&&n.__esModule?n:{default:n},e=a(i),l=e.default.div`
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("@rubin-epo/epo-react-lib/styles"),o=n=>n&&n.__esModule?n:{default:n},e=o(i),a=e.default.div`
2
2
  container-type: inline-size;
3
3
  container-name: camera-filter;
4
4
 
@@ -6,14 +6,19 @@
6
6
  grid-template-columns: 1fr;
7
7
  grid-auto-rows: min-content;
8
8
  text-align: center;
9
+ padding-block: var(--PADDING_SMALL, 20px);
9
10
  position: relative;
10
- `,o=e.default.h3`
11
- margin-block: 1em;
11
+ `,l=e.default.h3`
12
+ margin: 0;
12
13
  `,r=e.default.table`
13
14
  border-collapse: collapse;
14
15
  text-align: center;
15
16
  margin-inline-start: var(--filter-table-margin-inline-start);
16
17
  width: var(--filter-table-width);
18
+
19
+ @container (min-width: ${t.token("BREAK_TABLET")}) {
20
+ margin-block-start: var(--PADDING_SMALL, 20px);
21
+ }
17
22
  `,s=e.default.tbody`
18
23
  display: table-header-group;
19
24
  `,d=e.default.thead`
@@ -29,67 +34,66 @@
29
34
  border: var(--filter-name-border);
30
35
  border-width: 1px;
31
36
 
32
- @container camera-filter (min-width: ${t.token("BREAK_TABLET")}) {
37
+ @container (min-width: ${t.token("BREAK_TABLET")}) {
33
38
  border-width: 3px;
34
39
  }
35
40
  `,u=e.default.div`
36
41
  min-width: 20ch;
37
42
  width: 50%;
38
43
  max-width: 30ch;
39
- margin-block: 1em;
40
44
  justify-self: center;
41
45
  text-align: left;
42
- `,g=e.default.label`
46
+ `,p=e.default.label`
43
47
  font-size: 0.75em;
44
- `,p=e.default.text`
48
+ `,g=e.default.text`
45
49
  font-size: 2em;
46
50
 
47
- @container camera-filter (min-width: ${t.token("BREAK_MOBILE")}) {
51
+ @container (min-width: ${t.token("BREAK_MOBILE")}) {
48
52
  font-size: 1.25em;
49
53
  }
50
54
 
51
- @container camera-filter (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
55
+ @container (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
52
56
  font-size: 0.75em;
53
57
  }
54
58
  `,h=e.default.tspan`
55
59
  font-size: 2em;
56
60
 
57
- @container camera-filter (min-width: ${t.token("BREAK_MOBILE")}) {
61
+ @container (min-width: ${t.token("BREAK_MOBILE")}) {
58
62
  font-size: 1.25em;
59
63
  }
60
64
 
61
- @container camera-filter (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
65
+ @container (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
62
66
  font-size: 0.75em;
63
67
  }
64
68
  `,b=e.default.tspan`
65
69
  font-size: 1.5em;
66
70
 
67
- @container camera-filter (min-width: ${t.token("BREAK_MOBILE")}) {
71
+ @container (min-width: ${t.token("BREAK_MOBILE")}) {
68
72
  font-size: 1em;
69
73
  }
70
74
 
71
- @container camera-filter (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
75
+ @container (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
72
76
  font-size: 0.5em;
73
77
  }
74
- `,w=e.default.tspan`
78
+ `,_=e.default.tspan`
75
79
  font-size: 1.3em;
76
80
 
77
- @container camera-filter (min-width: ${t.token("BREAK_MOBILE")}) {
81
+ @container (min-width: ${t.token("BREAK_MOBILE")}) {
78
82
  font-size: 0.8em;
79
83
  }
80
84
 
81
- @container camera-filter (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
85
+ @container (min-width: ${t.token("BREAK_PHABLET_MIN")}) {
82
86
  font-size: 0.4em;
83
87
  }
84
- `,R=e.default.ul`
88
+ `,w=e.default.ul`
85
89
  display: flex;
86
90
  justify-content: space-between;
87
91
  line-height: 1.2;
88
92
  font-size: 80%;
89
- margin: 0;
93
+ margin: var(--PADDING_SMALL, 20px) 0 0;
90
94
  padding: 0;
91
95
  list-style-type: none;
92
- `,_=e.default.li`
96
+ `,A=e.default.li`
93
97
  list-style-type: none;
94
98
  margin: 0;
95
99
  padding: 0;
@@ -97,4 +101,4 @@
97
101
  &:before {
98
102
  content: "\200B";
99
103
  }
100
- `;exports.ColorName=h;exports.ColorSpectrum=b;exports.ColorSpectrumUnit=w;exports.CondensedRange=_;exports.CondensedRangeRow=R;exports.FilterContainer=l;exports.FilterName=f;exports.FilterNames=d;exports.FilterRange=c;exports.FilterRanges=s;exports.FilterTable=r;exports.FilterTitle=o;exports.SelectContainer=u;exports.SelectLabel=g;exports.SpectrumLabel=p;exports.Wavelength=m;
104
+ `;exports.ColorName=h;exports.ColorSpectrum=b;exports.ColorSpectrumUnit=_;exports.CondensedRange=A;exports.CondensedRangeRow=w;exports.FilterContainer=a;exports.FilterName=f;exports.FilterNames=d;exports.FilterRange=c;exports.FilterRanges=s;exports.FilterTable=r;exports.FilterTitle=l;exports.SelectContainer=u;exports.SelectLabel=p;exports.SpectrumLabel=g;exports.Wavelength=m;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import e from "styled-components";
3
3
  import { token as t } from "@rubin-epo/epo-react-lib/styles";
4
- const r = e.div`
4
+ const o = e.div`
5
5
  container-type: inline-size;
6
6
  container-name: camera-filter;
7
7
 
@@ -9,17 +9,22 @@ const r = e.div`
9
9
  grid-template-columns: 1fr;
10
10
  grid-auto-rows: min-content;
11
11
  text-align: center;
12
+ padding-block: var(--PADDING_SMALL, 20px);
12
13
  position: relative;
13
- `, a = e.h3`
14
- margin-block: 1em;
15
- `, o = e.table`
14
+ `, r = e.h3`
15
+ margin: 0;
16
+ `, a = e.table`
16
17
  border-collapse: collapse;
17
18
  text-align: center;
18
19
  margin-inline-start: var(--filter-table-margin-inline-start);
19
20
  width: var(--filter-table-width);
20
- `, l = e.tbody`
21
+
22
+ @container (min-width: ${t("BREAK_TABLET")}) {
23
+ margin-block-start: var(--PADDING_SMALL, 20px);
24
+ }
25
+ `, s = e.tbody`
21
26
  display: table-header-group;
22
- `, s = e.thead`
27
+ `, l = e.thead`
23
28
  display: table-row-group;
24
29
  `, c = e.td`
25
30
  line-height: 1.2;
@@ -32,56 +37,55 @@ const r = e.div`
32
37
  border: var(--filter-name-border);
33
38
  border-width: 1px;
34
39
 
35
- @container camera-filter (min-width: ${t("BREAK_TABLET")}) {
40
+ @container (min-width: ${t("BREAK_TABLET")}) {
36
41
  border-width: 3px;
37
42
  }
38
- `, f = e.div`
43
+ `, p = e.div`
39
44
  min-width: 20ch;
40
45
  width: 50%;
41
46
  max-width: 30ch;
42
- margin-block: 1em;
43
47
  justify-self: center;
44
48
  text-align: left;
45
- `, h = e.label`
49
+ `, f = e.label`
46
50
  font-size: 0.75em;
47
- `, p = e.text`
51
+ `, h = e.text`
48
52
  font-size: 2em;
49
53
 
50
- @container camera-filter (min-width: ${t("BREAK_MOBILE")}) {
54
+ @container (min-width: ${t("BREAK_MOBILE")}) {
51
55
  font-size: 1.25em;
52
56
  }
53
57
 
54
- @container camera-filter (min-width: ${t("BREAK_PHABLET_MIN")}) {
58
+ @container (min-width: ${t("BREAK_PHABLET_MIN")}) {
55
59
  font-size: 0.75em;
56
60
  }
57
61
  `, g = e.tspan`
58
62
  font-size: 2em;
59
63
 
60
- @container camera-filter (min-width: ${t("BREAK_MOBILE")}) {
64
+ @container (min-width: ${t("BREAK_MOBILE")}) {
61
65
  font-size: 1.25em;
62
66
  }
63
67
 
64
- @container camera-filter (min-width: ${t("BREAK_PHABLET_MIN")}) {
68
+ @container (min-width: ${t("BREAK_PHABLET_MIN")}) {
65
69
  font-size: 0.75em;
66
70
  }
67
- `, w = e.tspan`
71
+ `, A = e.tspan`
68
72
  font-size: 1.5em;
69
73
 
70
- @container camera-filter (min-width: ${t("BREAK_MOBILE")}) {
74
+ @container (min-width: ${t("BREAK_MOBILE")}) {
71
75
  font-size: 1em;
72
76
  }
73
77
 
74
- @container camera-filter (min-width: ${t("BREAK_PHABLET_MIN")}) {
78
+ @container (min-width: ${t("BREAK_PHABLET_MIN")}) {
75
79
  font-size: 0.5em;
76
80
  }
77
- `, b = e.tspan`
81
+ `, w = e.tspan`
78
82
  font-size: 1.3em;
79
83
 
80
- @container camera-filter (min-width: ${t("BREAK_MOBILE")}) {
84
+ @container (min-width: ${t("BREAK_MOBILE")}) {
81
85
  font-size: 0.8em;
82
86
  }
83
87
 
84
- @container camera-filter (min-width: ${t("BREAK_PHABLET_MIN")}) {
88
+ @container (min-width: ${t("BREAK_PHABLET_MIN")}) {
85
89
  font-size: 0.4em;
86
90
  }
87
91
  `, B = e.ul`
@@ -89,7 +93,7 @@ const r = e.div`
89
93
  justify-content: space-between;
90
94
  line-height: 1.2;
91
95
  font-size: 80%;
92
- margin: 0;
96
+ margin: var(--PADDING_SMALL, 20px) 0 0;
93
97
  padding: 0;
94
98
  list-style-type: none;
95
99
  `, E = e.li`
@@ -103,19 +107,19 @@ const r = e.div`
103
107
  `;
104
108
  export {
105
109
  g as ColorName,
106
- w as ColorSpectrum,
107
- b as ColorSpectrumUnit,
110
+ A as ColorSpectrum,
111
+ w as ColorSpectrumUnit,
108
112
  E as CondensedRange,
109
113
  B as CondensedRangeRow,
110
- r as FilterContainer,
114
+ o as FilterContainer,
111
115
  d as FilterName,
112
- s as FilterNames,
116
+ l as FilterNames,
113
117
  c as FilterRange,
114
- l as FilterRanges,
115
- o as FilterTable,
116
- a as FilterTitle,
117
- f as SelectContainer,
118
- h as SelectLabel,
119
- p as SpectrumLabel,
118
+ s as FilterRanges,
119
+ a as FilterTable,
120
+ r as FilterTitle,
121
+ p as SelectContainer,
122
+ f as SelectLabel,
123
+ h as SpectrumLabel,
120
124
  m as Wavelength
121
125
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),m=require("react-i18next"),x=require("../../../atomic/Button/patterns/Reset.cjs"),b=require("./Export/index.cjs"),g=require("./styles.cjs"),c=require("../lib/utils.cjs"),p=n=>n.map(s=>{const{defaultValue:e,min:t,max:i}=s,r=e||1;return{...s,active:!1,color:"",brightness:c.getBrightnessValue(t,i,r),value:r}}),a=({actions:n,isDisabled:s,selectedData:e,selectionCallback:t,canvas:i})=>{const{t:r}=m.useTranslation(),{name:d,filters:f}=e,u=s||!c.areActionsActive(e);return l.jsx(g.Actions,{children:n.map(o=>{switch(o){case"reset":return l.jsx(x.default,{isDisabled:u,onResetCallback:()=>t&&t({...e,filters:p(f)})},o);case"export":return l.jsx(b.default,{isDisabled:u,canvas:i,filename:d,children:r("colorTool.actions.export")},o);case"save":return null;default:return null}})})};a.displayName="Widgets.ColorTool.Actions";const q=a;exports.default=q;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),f=require("react-i18next"),x=require("../../../atomic/Button/patterns/Reset.cjs"),g=require("./Export/index.cjs"),a=require("../lib/utils.cjs"),b=i=>i.map(t=>{const{defaultValue:e,min:s,max:o}=t,r=e||1;return{...t,active:!1,color:"",brightness:a.getBrightnessValue(s,o,r),value:r}}),c=({actions:i,isDisabled:t,selectedData:e,selectionCallback:s,canvas:o})=>{const{t:r}=f.useTranslation(),{name:d,filters:m}=e,u=t||!a.areActionsActive(e);return n.jsx(n.Fragment,{children:i.map(l=>{switch(l){case"reset":return n.jsx(x.default,{isDisabled:u,onResetCallback:()=>s&&s({...e,filters:b(m)})},l);case"export":return n.jsx(g.default,{isDisabled:u,canvas:o,filename:d,children:r("colorTool.actions.export")},l);case"save":return null;default:return null}})})};c.displayName="Widgets.ColorTool.Actions";const p=c;exports.default=p;
@@ -1,49 +1,48 @@
1
1
  "use client";
2
- import { jsx as l } from "react/jsx-runtime";
3
- import { useTranslation as p } from "react-i18next";
4
- import f from "../../../atomic/Button/patterns/Reset.js";
5
- import d from "./Export/index.js";
6
- import { Actions as A } from "./styles.js";
7
- import { areActionsActive as x, getBrightnessValue as h } from "../lib/utils.js";
8
- const b = (r) => r.map((s) => {
9
- const { defaultValue: t, min: e, max: n } = s, o = t || 1;
2
+ import { jsx as l, Fragment as p } from "react/jsx-runtime";
3
+ import { useTranslation as f } from "react-i18next";
4
+ import d from "../../../atomic/Button/patterns/Reset.js";
5
+ import x from "./Export/index.js";
6
+ import { areActionsActive as g, getBrightnessValue as h } from "../lib/utils.js";
7
+ const A = (o) => o.map((t) => {
8
+ const { defaultValue: e, min: r, max: n } = t, s = e || 1;
10
9
  return {
11
- ...s,
10
+ ...t,
12
11
  active: !1,
13
12
  color: "",
14
- brightness: h(e, n, o),
15
- value: o
13
+ brightness: h(r, n, s),
14
+ value: s
16
15
  };
17
16
  }), c = ({
18
- actions: r,
19
- isDisabled: s,
20
- selectedData: t,
21
- selectionCallback: e,
17
+ actions: o,
18
+ isDisabled: t,
19
+ selectedData: e,
20
+ selectionCallback: r,
22
21
  canvas: n
23
22
  }) => {
24
- const { t: o } = p(), { name: m, filters: u } = t, a = s || !x(t);
25
- return /* @__PURE__ */ l(A, { children: r.map((i) => {
23
+ const { t: s } = f(), { name: m, filters: u } = e, a = t || !g(e);
24
+ return /* @__PURE__ */ l(p, { children: o.map((i) => {
26
25
  switch (i) {
27
26
  case "reset":
28
27
  return /* @__PURE__ */ l(
29
- f,
28
+ d,
30
29
  {
31
30
  isDisabled: a,
32
- onResetCallback: () => e && e({
33
- ...t,
34
- filters: b(u)
31
+ onResetCallback: () => r && r({
32
+ ...e,
33
+ filters: A(u)
35
34
  })
36
35
  },
37
36
  i
38
37
  );
39
38
  case "export":
40
39
  return /* @__PURE__ */ l(
41
- d,
40
+ x,
42
41
  {
43
42
  isDisabled: a,
44
43
  canvas: n,
45
44
  filename: m,
46
- children: o("colorTool.actions.export")
45
+ children: s("colorTool.actions.export")
47
46
  },
48
47
  i
49
48
  );
@@ -55,7 +54,7 @@ const b = (r) => r.map((s) => {
55
54
  }) });
56
55
  };
57
56
  c.displayName = "Widgets.ColorTool.Actions";
58
- const j = c;
57
+ const V = c;
59
58
  export {
60
- j as default
59
+ V as default
61
60
  };
@@ -1,10 +1,10 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),l=require("@rubin-epo/epo-react-lib/HorizontalSlider"),n=require("@rubin-epo/epo-react-lib/Button"),o=t=>t&&t.__esModule?t:{default:t},e=o(i),r=o(l),d=o(n),a=e.default.fieldset`
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),n=require("@rubin-epo/epo-react-lib/HorizontalSlider"),l=require("@rubin-epo/epo-react-lib/Button"),o=t=>t&&t.__esModule?t:{default:t},e=o(i),d=o(n),r=o(l),a=e.default.fieldset`
2
2
  padding: 0;
3
3
  margin: 0;
4
4
  border: none;
5
5
  display: grid;
6
6
  align-items: center;
7
- gap: var(--color-tool-padding, var(--PADDING_SMALL, 20px));
7
+ gap: var(--widget-padding);
8
8
  grid-template-columns: max-content minmax(100px, 1fr) minmax(100px, 2fr);
9
9
  grid-auto-rows: max-content;
10
10
  grid-column: 1 / -1;
@@ -15,7 +15,7 @@
15
15
  height: 1px;
16
16
  top: auto;
17
17
  overflow: hidden;
18
- `,u=e.default(d.default)`
18
+ `,u=e.default(r.default)`
19
19
  background-color: var(--filter-toggle-background, #f7f7f7);
20
20
  border: 1px solid;
21
21
  color: var(--filter-toggle-color, #6c6e6e);
@@ -62,7 +62,7 @@
62
62
  outline: 1px solid var(--white, #fff);
63
63
  outline-offset: -3px;
64
64
  }
65
- `,c=e.default(r.default)`
65
+ `,c=e.default(d.default)`
66
66
  padding: 0;
67
67
  width: 100%;
68
68
  `;exports.FilterContainer=a;exports.FilterLabel=f;exports.FilterToggle=u;exports.HiddenCheckbox=s;exports.Slider=c;