@rubin-epo/epo-widget-lib 1.3.0 → 2.0.0

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 (142) hide show
  1. package/dist/ColorTool.js +3 -3
  2. package/dist/IsochronePlot.js +3 -3
  3. package/dist/atomic/Blinker/Blinker.cjs +1 -1
  4. package/dist/atomic/Blinker/Blinker.js +35 -36
  5. package/dist/atomic/Blinker/Controls/styles.d.ts +0 -1
  6. package/dist/atomic/Blinker/styles.d.ts +0 -1
  7. package/dist/atomic/ElapsedTime/ElapsedTime.cjs +1 -1
  8. package/dist/atomic/ElapsedTime/ElapsedTime.js +18 -19
  9. package/dist/atomic/ElapsedTime/styles.d.ts +0 -1
  10. package/dist/atomic/ImageStack/index.cjs +1 -1
  11. package/dist/atomic/ImageStack/index.js +25 -26
  12. package/dist/atomic/ImageStack/styles.d.ts +0 -1
  13. package/dist/atomic/LiveRegion/styles.d.ts +0 -1
  14. package/dist/atomic/Loader/styles.d.ts +0 -1
  15. package/dist/atomic/PlaybackControl/PlaybackControl.cjs +1 -1
  16. package/dist/atomic/PlaybackControl/PlaybackControl.js +13 -14
  17. package/dist/atomic/PlaybackControl/styles.d.ts +0 -1
  18. package/dist/atomic/PlotWrapper/styles.d.ts +0 -1
  19. package/dist/charts/Base/styles.d.ts +0 -1
  20. package/dist/charts/Points/ErrorBar.cjs +1 -1
  21. package/dist/charts/Points/ErrorBar.js +33 -33
  22. package/dist/charts/Readout/styles.d.ts +0 -1
  23. package/dist/charts/ScatterPlot/styles.d.ts +1 -2
  24. package/dist/charts/Tooltip/styles.d.ts +7 -8
  25. package/dist/charts/Unit/Span.d.ts +1 -2
  26. package/dist/charts/Unit/StandardUnit.d.ts +2 -3
  27. package/dist/charts/Unit/StellarUnit.d.ts +2 -3
  28. package/dist/charts/Unit/Sub.d.ts +1 -2
  29. package/dist/charts/Unit/SvgSub.d.ts +1 -2
  30. package/dist/charts/Unit/TSpan.d.ts +1 -2
  31. package/dist/charts/Unit/index.d.ts +2 -3
  32. package/dist/charts/styles.d.ts +0 -1
  33. package/dist/hooks/useInterval.cjs +1 -1
  34. package/dist/hooks/useInterval.js +3 -3
  35. package/dist/hooks/usePrevious.cjs +1 -1
  36. package/dist/hooks/usePrevious.d.ts +1 -1
  37. package/dist/hooks/usePrevious.js +3 -3
  38. package/dist/layout/AspectRatio/styles.d.ts +0 -1
  39. package/dist/layout/Controls/styles.d.ts +2 -3
  40. package/dist/node_modules/classnames/index.cjs +2 -2
  41. package/dist/node_modules/classnames/index.js +30 -30
  42. package/dist/node_modules/three/examples/jsm/controls/OrbitControls.js +3 -3
  43. package/dist/style.css +1 -1
  44. package/dist/styles/svg.d.ts +0 -1
  45. package/dist/widgets/CameraFilter/CameraFilter.cjs +1 -1
  46. package/dist/widgets/CameraFilter/CameraFilter.js +30 -31
  47. package/dist/widgets/CameraFilter/styles.d.ts +1 -2
  48. package/dist/widgets/ColorTool/FilterControls/styles.d.ts +1 -4
  49. package/dist/widgets/ColorTool/ImageComposite/ImageComposite.d.ts +1 -1
  50. package/dist/widgets/ColorTool/ImageComposite/styles.d.ts +0 -1
  51. package/dist/widgets/ColorTool/lib/canvas.d.ts +1 -1
  52. package/dist/widgets/ColorTool/lib/utils.d.ts +2 -2
  53. package/dist/widgets/ColorTool/styles.d.ts +0 -1
  54. package/dist/widgets/FilterTool/styles.d.ts +1 -2
  55. package/dist/widgets/LightCurvePlot/Plot/index.js +3 -3
  56. package/dist/widgets/LightCurvePlot/Plot/styles.d.ts +0 -1
  57. package/dist/widgets/LightCurvePlot/PlotWithCurve/A11Y/LightCurveLabel/styles.d.ts +0 -1
  58. package/dist/widgets/LightCurvePlot/PlotWithCurve/index.cjs +1 -1
  59. package/dist/widgets/LightCurvePlot/PlotWithCurve/index.js +45 -46
  60. package/dist/widgets/LightCurvePlot/PlotWithCurve/styles.d.ts +0 -1
  61. package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.cjs +1 -1
  62. package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.js +5 -5
  63. package/dist/widgets/LightCurvePlot/helpers.cjs +1 -1
  64. package/dist/widgets/LightCurvePlot/helpers.js +4 -4
  65. package/dist/widgets/OrbitalSim/Camera/Camera.cjs +1 -0
  66. package/dist/widgets/OrbitalSim/{Camera.d.ts → Camera/Camera.d.ts} +1 -2
  67. package/dist/widgets/OrbitalSim/{Camera.js → Camera/Camera.js} +1 -1
  68. package/dist/widgets/OrbitalSim/Camera/CameraController.cjs +1 -0
  69. package/dist/widgets/OrbitalSim/{CameraController.d.ts → Camera/CameraController.d.ts} +2 -3
  70. package/dist/widgets/OrbitalSim/{CameraController.js → Camera/CameraController.js} +2 -2
  71. package/dist/widgets/OrbitalSim/Context/index.cjs +1 -1
  72. package/dist/widgets/OrbitalSim/Context/index.js +4 -5
  73. package/dist/widgets/OrbitalSim/Controls/PlaybackControls.cjs +1 -1
  74. package/dist/widgets/OrbitalSim/Controls/PlaybackControls.js +20 -20
  75. package/dist/widgets/OrbitalSim/Controls/PlaybackSpeed.cjs +1 -0
  76. package/dist/widgets/OrbitalSim/{PlaybackSpeed.d.ts → Controls/PlaybackSpeed.d.ts} +4 -5
  77. package/dist/widgets/OrbitalSim/Controls/PlaybackSpeed.js +95 -0
  78. package/dist/widgets/OrbitalSim/Controls/styles.cjs +97 -0
  79. package/dist/widgets/OrbitalSim/Controls/styles.d.ts +13 -0
  80. package/dist/widgets/OrbitalSim/Controls/styles.js +114 -0
  81. package/dist/widgets/OrbitalSim/Observations/Observation.cjs +1 -0
  82. package/dist/widgets/OrbitalSim/{Observation.d.ts → Observations/Observation.d.ts} +2 -3
  83. package/dist/widgets/OrbitalSim/{Observation.js → Observations/Observation.js} +4 -4
  84. package/dist/widgets/OrbitalSim/Observations/Observations.cjs +1 -0
  85. package/dist/widgets/OrbitalSim/{Observations.d.ts → Observations/Observations.d.ts} +2 -3
  86. package/dist/widgets/OrbitalSim/{Observations.js → Observations/Observations.js} +3 -3
  87. package/dist/widgets/OrbitalSim/OrbitalSim.cjs +1 -1
  88. package/dist/widgets/OrbitalSim/OrbitalSim.js +89 -94
  89. package/dist/widgets/OrbitalSim/OrbitalSim.module.css.cjs +1 -1
  90. package/dist/widgets/OrbitalSim/OrbitalSim.module.css.js +5 -47
  91. package/dist/widgets/OrbitalSim/Orbitals/Orbital.cjs +1 -0
  92. package/dist/widgets/OrbitalSim/Orbitals/Orbital.d.ts +46 -0
  93. package/dist/widgets/OrbitalSim/Orbitals/Orbital.js +254 -0
  94. package/dist/widgets/OrbitalSim/Orbitals/OrbitalDetails.cjs +1 -0
  95. package/dist/widgets/OrbitalSim/Orbitals/OrbitalDetails.js +42 -0
  96. package/dist/widgets/OrbitalSim/Orbitals/Orbitals.cjs +1 -0
  97. package/dist/widgets/OrbitalSim/Orbitals/Orbitals.d.ts +30 -0
  98. package/dist/widgets/OrbitalSim/{Orbitals.js → Orbitals/Orbitals.js} +31 -34
  99. package/dist/widgets/OrbitalSim/Orbitals/PotentialOrbits.cjs +1 -0
  100. package/dist/widgets/OrbitalSim/{PotentialOrbits.d.ts → Orbitals/PotentialOrbits.d.ts} +1 -2
  101. package/dist/widgets/OrbitalSim/{PotentialOrbits.js → Orbitals/PotentialOrbits.js} +5 -5
  102. package/dist/widgets/OrbitalSim/Orbitals/styles.cjs +53 -0
  103. package/dist/widgets/OrbitalSim/Orbitals/styles.d.ts +9 -0
  104. package/dist/widgets/OrbitalSim/Orbitals/styles.js +66 -0
  105. package/dist/widgets/OrbitalSim/Sun.cjs +1 -1
  106. package/dist/widgets/OrbitalSim/Sun.d.ts +6 -9
  107. package/dist/widgets/OrbitalSim/Sun.js +11 -14
  108. package/dist/widgets/OrbitalSim/orbitalUtilities.cjs +1 -1
  109. package/dist/widgets/OrbitalSim/orbitalUtilities.js +29 -37
  110. package/dist/widgets/OrbitalSim/styles.cjs +48 -0
  111. package/dist/widgets/OrbitalSim/styles.d.ts +5 -0
  112. package/dist/widgets/OrbitalSim/styles.js +56 -0
  113. package/dist/widgets/SourceSelector/Message/Message.cjs +1 -1
  114. package/dist/widgets/SourceSelector/Message/Message.js +10 -11
  115. package/dist/widgets/SourceSelector/Message/styles.d.ts +1 -2
  116. package/dist/widgets/SourceSelector/SelectionList/index.cjs +1 -1
  117. package/dist/widgets/SourceSelector/SelectionList/index.js +12 -13
  118. package/dist/widgets/SourceSelector/SelectionList/styles.d.ts +0 -1
  119. package/dist/widgets/SourceSelector/SourceMap/styles.d.ts +0 -1
  120. package/dist/widgets/SourceSelector/styles.d.ts +1 -2
  121. package/dist/widgets/SupernovaThreeVector/Histogram/styles.d.ts +0 -1
  122. package/dist/widgets/SupernovaThreeVector/Skymap/styles.d.ts +0 -1
  123. package/dist/widgets/SupernovaThreeVector/styles.d.ts +0 -1
  124. package/dist/widgets/ViewIndicator/styles.d.ts +0 -1
  125. package/package.json +15 -13
  126. package/dist/widgets/OrbitalSim/Camera.cjs +0 -1
  127. package/dist/widgets/OrbitalSim/CameraController.cjs +0 -1
  128. package/dist/widgets/OrbitalSim/Controls/PlaybackControls.module.css.cjs +0 -1
  129. package/dist/widgets/OrbitalSim/Controls/PlaybackControls.module.css.js +0 -7
  130. package/dist/widgets/OrbitalSim/Observation.cjs +0 -1
  131. package/dist/widgets/OrbitalSim/Observations.cjs +0 -1
  132. package/dist/widgets/OrbitalSim/Orbital.cjs +0 -1
  133. package/dist/widgets/OrbitalSim/Orbital.d.ts +0 -49
  134. package/dist/widgets/OrbitalSim/Orbital.js +0 -255
  135. package/dist/widgets/OrbitalSim/OrbitalDetails.cjs +0 -1
  136. package/dist/widgets/OrbitalSim/OrbitalDetails.js +0 -53
  137. package/dist/widgets/OrbitalSim/Orbitals.cjs +0 -1
  138. package/dist/widgets/OrbitalSim/Orbitals.d.ts +0 -33
  139. package/dist/widgets/OrbitalSim/PlaybackSpeed.cjs +0 -1
  140. package/dist/widgets/OrbitalSim/PlaybackSpeed.js +0 -96
  141. package/dist/widgets/OrbitalSim/PotentialOrbits.cjs +0 -1
  142. /package/dist/widgets/OrbitalSim/{OrbitalDetails.d.ts → Orbitals/OrbitalDetails.d.ts} +0 -0
@@ -1,255 +0,0 @@
1
- "use client";
2
- import { jsx as e, jsxs as r, Fragment as Pe } from "react/jsx-runtime";
3
- import { useRef as Me, useState as i, useEffect as P } from "react";
4
- import t from "../../node_modules/prop-types/index.js";
5
- import * as L from "three";
6
- import { useFrame as Te } from "@react-three/fiber";
7
- import { Html as h } from "@react-three/drei";
8
- import { degsToRads as N, auToUnit as Ce, getMinorAxis as ze, getFocus as je, getCurve as Be, getLineGeometry as Le, getPosFromArcLength as M, getVelocity as T, auToMeters as Ne, unitToAu as Ve, ORBITAL_COLORS as C, getLabelSize as Ge, getAngleFromPos as D, DAY_PER_VIZ_SEC as Re } from "./orbitalUtilities.js";
9
- import d from "./OrbitalSim.module.css.js";
10
- import Se from "./chartColors.module.css.js";
11
- import { useOrbitalSimContext as _e } from "./Context/index.js";
12
- import { useTranslation as Ae } from "react-i18next";
13
- const H = ({
14
- data: z,
15
- selectionCallback: V,
16
- active: y,
17
- playing: Z,
18
- dayPerVizSec: K,
19
- stepDirection: U,
20
- frameOverride: G,
21
- orbitColor: Y,
22
- objectColor: R,
23
- objectRadius: q,
24
- initialized: J,
25
- initCallback: S,
26
- devMode: Q,
27
- zoomMod: W,
28
- defaultZoom: X,
29
- type: $,
30
- noLabels: ee,
31
- reset: _
32
- }) => {
33
- const { t: te } = Ae(), { orbits: oe } = _e(), { activeVelocityCallback: ie } = oe, re = Me(), {
34
- a: A,
35
- e: se,
36
- i: ae,
37
- M: ne,
38
- Node: k,
39
- Peri: w,
40
- Principal_desig: le,
41
- Translated_desig_key: E,
42
- name: ce
43
- } = z || {}, [me] = i(() => [
44
- 0,
45
- N(ae),
46
- k ? N(k) : 0
47
- ]), [s] = i(() => Ce(A)), [u] = i(() => ze(A, se)), [he] = i(() => je(s, u)), [o] = i(new L.Vector3(he, 0, 0)), [l] = i(new L.Vector3(0, 0, 0)), [de, pe] = i(!1), [c] = i(
48
- () => Be(s, u, o.x, o.y)
49
- ), [ge] = i(() => Le(c.getPoints(360))), f = M(0, c), [p, j] = i({
50
- position: f,
51
- rotation: [0, 0, 0],
52
- progress: 0,
53
- velocity: T(f.distanceTo(l), s),
54
- period: 0
55
- });
56
- P(() => {
57
- _ > 0 && j({
58
- position: f,
59
- rotation: [0, 0, 0],
60
- progress: 0,
61
- velocity: T(f.distanceTo(l), s),
62
- period: 0
63
- });
64
- }, [_]);
65
- function ye(m) {
66
- let a = 0, n = M(a, c);
67
- if (m) {
68
- const x = m > 180, B = x ? m - 180 : m;
69
- let g = D(n, l);
70
- for (; g < B; )
71
- a += 0.01, n = M(a, c), g = D(n, l);
72
- x && (a += 0.5, n = M(a, c));
73
- }
74
- return S ? S() : pe(!0), {
75
- position: n,
76
- rotation: [0, 0, 0],
77
- progress: a,
78
- velocity: T(n.distanceTo(l), s),
79
- period: 0
80
- };
81
- }
82
- function F(m, b) {
83
- const {
84
- progress: a,
85
- position: n,
86
- velocity: x,
87
- period: B
88
- } = p, g = m ? 0 : b * (K || Re), ue = x * g * U, v = a + ue / c.getLength(), I = v > 1 ? 1 - v : v, { x: fe, y: be } = c.getPoint(I), xe = new L.Vector3(fe, be, 0), ve = T(n.distanceTo(l), s);
89
- let O = g + B;
90
- v > 1 && (O = 0), j({
91
- ...p,
92
- position: xe,
93
- progress: I,
94
- velocity: ve,
95
- period: O
96
- });
97
- }
98
- return P(() => {
99
- j(ye(ne || Math.floor(Math.random() * Math.floor(180))));
100
- }, []), P(() => {
101
- G && F(!1, 1 / 60);
102
- }, [G]), P(() => {
103
- y && ie(Ne(Ve(p.velocity / 1e5)));
104
- }, [p]), Te((m, b) => {
105
- (J || de) && F(!Z, b);
106
- }), /* @__PURE__ */ e("group", { rotation: me, children: /* @__PURE__ */ r("group", { rotation: [0, 0, w ? N(w + 90) : 0], children: [
107
- /* @__PURE__ */ e("line", { ref: re, geometry: ge, children: /* @__PURE__ */ e(
108
- "lineBasicMaterial",
109
- {
110
- attach: "material",
111
- color: y ? C.asteroid.orbitHighlight : Y || C.asteroid.orbitColor
112
- }
113
- ) }),
114
- /* @__PURE__ */ r(
115
- "mesh",
116
- {
117
- position: p.position,
118
- onClick: () => V(z, "neo"),
119
- children: [
120
- ($ === "planet" || !ee || y) && /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
121
- "button",
122
- {
123
- type: "button",
124
- className: d.label,
125
- style: {
126
- fontSize: Ge(W, X)
127
- },
128
- onClick: () => V(z, "neo"),
129
- children: E ? te(E) : ce || le
130
- }
131
- ) }),
132
- /* @__PURE__ */ e(
133
- "sphereGeometry",
134
- {
135
- attach: "geometry",
136
- args: [q || 4, 10, 10]
137
- }
138
- ),
139
- /* @__PURE__ */ e(
140
- "meshBasicMaterial",
141
- {
142
- attach: "material",
143
- color: y ? C.asteroid.objectHighlight : R || C.asteroid.objectColor
144
- }
145
- )
146
- ]
147
- }
148
- ),
149
- Q && /* @__PURE__ */ r(Pe, { children: [
150
- /* @__PURE__ */ r("mesh", { position: o, children: [
151
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
152
- /* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: Se.chart1 }),
153
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "center" }) })
154
- ] }),
155
- /* @__PURE__ */ r("mesh", { position: l, children: [
156
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
157
- /* @__PURE__ */ e(
158
- "meshBasicMaterial",
159
- {
160
- attach: "material",
161
- color: R || "blue"
162
- }
163
- ),
164
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "sun" }) })
165
- ] }),
166
- /* @__PURE__ */ r(
167
- "mesh",
168
- {
169
- position: [
170
- o.x,
171
- -u + o.y,
172
- o.z
173
- ],
174
- children: [
175
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
176
- /* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
177
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "minor axis vertex" }) })
178
- ]
179
- }
180
- ),
181
- /* @__PURE__ */ r(
182
- "mesh",
183
- {
184
- position: [
185
- o.x,
186
- u + o.y,
187
- o.z
188
- ],
189
- children: [
190
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
191
- /* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
192
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "minor axis vertex" }) })
193
- ]
194
- }
195
- ),
196
- /* @__PURE__ */ r(
197
- "mesh",
198
- {
199
- position: [
200
- s + o.x,
201
- o.y,
202
- o.z
203
- ],
204
- children: [
205
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
206
- /* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
207
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "major axis vertex" }) })
208
- ]
209
- }
210
- ),
211
- /* @__PURE__ */ r(
212
- "mesh",
213
- {
214
- position: [
215
- -s + o.x,
216
- o.y,
217
- o.z
218
- ],
219
- children: [
220
- /* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
221
- /* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
222
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "major axis vertex" }) })
223
- ]
224
- }
225
- )
226
- ] })
227
- ] }) });
228
- };
229
- H.defaultProps = {
230
- type: "object"
231
- };
232
- H.propTypes = {
233
- data: t.object,
234
- selectionCallback: t.func,
235
- active: t.bool,
236
- playing: t.bool,
237
- dayPerVizSec: t.number,
238
- stepDirection: t.number,
239
- frameOverride: t.number,
240
- orbitColor: t.string,
241
- objectColor: t.string,
242
- objectRadius: t.number,
243
- initCallback: t.func,
244
- initialized: t.bool,
245
- devMode: t.bool,
246
- activeVelocityCallback: t.func,
247
- zoomMod: t.number,
248
- defaultZoom: t.number,
249
- type: t.string,
250
- noLabels: t.bool,
251
- reset: t.number
252
- };
253
- export {
254
- H as default
255
- };
@@ -1 +0,0 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("react"),l=require("./OrbitalSim.module.css.cjs"),r=require("@rubin-epo/epo-react-lib/Slideout"),c=require("@rubin-epo/epo-react-lib/Button"),f=require("./Context/index.cjs"),u=t=>t&&t.__esModule?t:{default:t},h=u(r),n=u(c);function m(){const{orbits:t}=f.useOrbitalSimContext(),{detailsRows:s}=t,[i,a]=d.useState(!1);return d.useEffect(()=>{s&&a(!0)},[s]),e.jsxs(e.Fragment,{children:[e.jsx(n.default,{styleAs:"secondary",className:l.default["details-toggle"],isInactive:s,onClick:()=>a(!i),children:"Show Details"}),e.jsx(h.default,{className:l.default.slideout,slideFrom:"left",isOpen:!i,children:e.jsxs("div",{className:l.default.slideoutPanel,style:{width:"50ch"},children:[e.jsx("h3",{children:"Orbital Details"}),s&&s.map(o=>e.jsxs("div",{className:l.default.slideoutRow,children:[e.jsx("div",{className:l.default.slideoutCol,"data-align":"left",children:e.jsx("p",{children:o.rowTitle})}),e.jsx("div",{className:l.default.slideoutCol,"data-align":"right",dangerouslySetInnerHTML:{__html:o.rowContent}})]})),e.jsx(n.default,{isBlock:!0,onClick:()=>a(!i),children:"Close"})]})})]})}exports.default=m;
@@ -1,53 +0,0 @@
1
- "use client";
2
- import { jsxs as o, Fragment as c, jsx as e } from "react/jsx-runtime";
3
- import { useState as d, useEffect as m } from "react";
4
- import t from "./OrbitalSim.module.css.js";
5
- import u from "@rubin-epo/epo-react-lib/Slideout";
6
- import a from "@rubin-epo/epo-react-lib/Button";
7
- import { useOrbitalSimContext as h } from "./Context/index.js";
8
- function N() {
9
- const { orbits: n } = h(), {
10
- detailsRows: i
11
- } = n, [l, s] = d(!1);
12
- return m(() => {
13
- i && s(!0);
14
- }, [i]), /* @__PURE__ */ o(c, { children: [
15
- /* @__PURE__ */ e(
16
- a,
17
- {
18
- styleAs: "secondary",
19
- className: t["details-toggle"],
20
- isInactive: i,
21
- onClick: () => s(!l),
22
- children: "Show Details"
23
- }
24
- ),
25
- /* @__PURE__ */ e(u, { className: t.slideout, slideFrom: "left", isOpen: !l, children: /* @__PURE__ */ o(
26
- "div",
27
- {
28
- className: t.slideoutPanel,
29
- style: {
30
- width: "50ch"
31
- },
32
- children: [
33
- /* @__PURE__ */ e("h3", { children: "Orbital Details" }),
34
- i && i.map((r) => /* @__PURE__ */ o("div", { className: t.slideoutRow, children: [
35
- /* @__PURE__ */ e("div", { className: t.slideoutCol, "data-align": "left", children: /* @__PURE__ */ e("p", { children: r.rowTitle }) }),
36
- /* @__PURE__ */ e("div", { className: t.slideoutCol, "data-align": "right", dangerouslySetInnerHTML: { __html: r.rowContent } })
37
- ] })),
38
- /* @__PURE__ */ e(
39
- a,
40
- {
41
- isBlock: !0,
42
- onClick: () => s(!l),
43
- children: "Close"
44
- }
45
- )
46
- ]
47
- }
48
- ) })
49
- ] });
50
- }
51
- export {
52
- N as default
53
- };
@@ -1 +0,0 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),x=require("react"),e=require("../../node_modules/prop-types/index.cjs"),O=require("@react-three/fiber"),R=require("./Orbital.cjs"),y=require("./PotentialOrbits.cjs"),E=require("./orbitalUtilities.cjs"),N=require("./Context/index.cjs");function C({playing:s,dayPerVizSec:n,stepDirection:u,frameOverride:o,defaultZoom:d,potentialOrbits:$,elapsedTime:m,setElapsedTime:p,noLabels:h,reset:j,zoomLevel:l,setZoomLevel:M}){const{orbits:I}=N.useOrbitalSimContext(),{neos:i,refObjs:P,activeNeo:_}=I;function k(r){const{remainingInits:t}=r;return{remainingInits:t-1}}const{camera:g}=O.useThree(),[T,q]=x.useReducer(k,{remainingInits:i&&Array.isArray(i)?i.length:0});function z(){return(P||["earth","jupiter","mars","neptune"]).map(E.getRefObjProps).map(t=>{const{orbitColor:c,objectColor:f,objectRadius:b,Ref:A,Principal_desig:F,name:v}=t;return a.jsx(R.default,{type:"planet",data:t,position:[0,0,0],zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,orbitColor:c,objectColor:f,objectRadius:b,reset:j},`${A}-${F||v}`)})}return O.useFrame((r,t)=>{g.zoom!==l&&M(g.zoom),s&&p(m+u*t*n)}),x.useEffect(()=>{o&&p(m+u*(1/60)*n)},[o]),a.jsxs(a.Fragment,{children:[z(),$?a.jsx(y.default,{data:i,position:[0,0,0],initialized:!0,zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,initCallback:q}):i?i.map((r,t)=>{const{Ref:c,Principal_desig:f,name:b}=r;return a.jsx(R.default,{data:r,position:[0,0,0],active:r===_,initialized:T.remainingInits<=0,zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,noLabels:h,reset:j,initCallback:q},c&&(f||b)?`${c}-${f||b}`:`orbit-${t}`)}):null]})}C.propTypes={playing:e.default.bool,dayPerVizSec:e.default.number,stepDirection:e.default.number,frameOverride:e.default.number,activeVelocityCallback:e.default.func,defaultZoom:e.default.number,zoomLevel:e.default.number,setZoomLevel:e.default.func,potentialOrbits:e.default.bool,elapsedTime:e.default.number,setElapsedTime:e.default.func,noLabels:e.default.bool,reset:e.default.number};exports.default=C;
@@ -1,33 +0,0 @@
1
- import { default as PropTypes } from 'prop-types';
2
- export default Orbitals;
3
- declare function Orbitals({ playing, dayPerVizSec, stepDirection, frameOverride, defaultZoom, potentialOrbits, elapsedTime, setElapsedTime, noLabels, reset, zoomLevel, setZoomLevel }: {
4
- playing: any;
5
- dayPerVizSec: any;
6
- stepDirection: any;
7
- frameOverride: any;
8
- defaultZoom: any;
9
- potentialOrbits: any;
10
- elapsedTime: any;
11
- setElapsedTime: any;
12
- noLabels: any;
13
- reset: any;
14
- zoomLevel: any;
15
- setZoomLevel: any;
16
- }): import("react/jsx-runtime").JSX.Element;
17
- declare namespace Orbitals {
18
- namespace propTypes {
19
- let playing: PropTypes.Requireable<boolean>;
20
- let dayPerVizSec: PropTypes.Requireable<number>;
21
- let stepDirection: PropTypes.Requireable<number>;
22
- let frameOverride: PropTypes.Requireable<number>;
23
- let activeVelocityCallback: PropTypes.Requireable<(...args: any[]) => any>;
24
- let defaultZoom: PropTypes.Requireable<number>;
25
- let zoomLevel: PropTypes.Requireable<number>;
26
- let setZoomLevel: PropTypes.Requireable<(...args: any[]) => any>;
27
- let potentialOrbits: PropTypes.Requireable<boolean>;
28
- let elapsedTime: PropTypes.Requireable<number>;
29
- let setElapsedTime: PropTypes.Requireable<(...args: any[]) => any>;
30
- let noLabels: PropTypes.Requireable<boolean>;
31
- let reset: PropTypes.Requireable<number>;
32
- }
33
- }
@@ -1 +0,0 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),x=require("react"),o=require("../../node_modules/prop-types/index.cjs"),k=require("react-i18next"),m=require("./orbitalUtilities.cjs"),N=require("@rubin-epo/epo-react-lib/HorizontalSlider"),a=require("./OrbitalSim.module.css.cjs"),g=l=>l&&l.__esModule?l:{default:l},q=g(N);function y({dayPerVizSec:l,elapsedTime:f,sliderOnChangeCallback:h,speeds:b}){const{t}=k.useTranslation();function _(u){const d=u/365,r=Math.floor(d),n=365*(d-r);let s={},i={};return s={number:m.formatValue(r),string:t("elapsed_time.interval.year",{count:r})},i={number:m.formatValue(n),string:t("elapsed_time.interval.day",{count:n})},r>=1?`${s.number} ${s.string}`:n<1?t("orbit_viewer.playback.interval.secWithCount",{count:1}):`${i.number} ${i.string}`}function c(u,d){const r=f<0,n=Math.abs(f)/365.256,s=Math.floor(n),i=Math.floor(365.256*(n-s));let p={},v={};return p={number:m.formatValue(r?-s:s),string:t("elapsed_time.interval.year",{count:s})},v={number:m.formatValue(r?-i:i),string:t("elapsed_time.interval.day",{count:i})},u==="days"?v[d]:u==="years"?p[d]:null}const j=x.useMemo(()=>_(l),[l]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:a.default["playback-speed-slider-header"],children:[e.jsx("h4",{className:a.default["playback-speed-title"],children:t("orbital_sim.playback.time_step")}),e.jsx("div",{className:a.default["playback-speed-slider-label"],children:t("orbital_sim.playback.time_equivalence",{firstTime:t("orbit_viewer.playback.interval.secWithCount",{count:1}),secondTime:j})})]}),e.jsx("div",{className:a.default["playback-speed-slider-label-top"],children:t("orbital_sim.playback.time_equivalence",{firstTime:t("orbit_viewer.playback.interval.secWithCount",{count:1}),secondTime:t("orbit_viewer.playback.interval.yearWithCount",{count:1}),context:"verbose"})}),e.jsx("div",{className:a.default["playback-speed-slider-label-bottom"],children:t("orbital_sim.playback.normal_time")}),e.jsx(q.default,{className:a.default["playback-speed-slider"],isVertical:!0,min:b.min,invert:!0,max:b.max,step:b.step,value:l,onChangeCallback:h}),e.jsxs("div",{className:a.default["elapsed-time-container"],children:[e.jsx("div",{className:a.default["elapsed-time-title"],children:t("elapsed_time.title")}),e.jsxs("div",{className:a.default["elapsed-time-inner"],children:[e.jsxs("div",{className:a.default["elapsed-time-block"],children:[e.jsx("div",{className:a.default["elapsed-val"],children:c("years","number")}),e.jsx("div",{className:a.default["elapsed-time-label"],children:c("years","string")})]}),e.jsx("div",{className:a.default["elapsed-time-divider"]}),e.jsxs("div",{className:a.default["elapsed-time-block"],children:[e.jsx("div",{className:a.default["elapsed-val"],children:c("days","number")}),e.jsx("div",{className:a.default["elapsed-label"],children:c("days","string")})]})]})]})]})}y.propTypes={dayPerVizSec:o.default.number,elapsedTime:o.default.number,speeds:o.default.object,sliderOnChangeCallback:o.default.func};exports.default=y;
@@ -1,96 +0,0 @@
1
- "use client";
2
- import { jsxs as n, Fragment as _, jsx as t } from "react/jsx-runtime";
3
- import { useMemo as g } from "react";
4
- import d from "../../node_modules/prop-types/index.js";
5
- import { useTranslation as C } from "react-i18next";
6
- import { formatValue as p } from "./orbitalUtilities.js";
7
- import j from "@rubin-epo/epo-react-lib/HorizontalSlider";
8
- import e from "./OrbitalSim.module.css.js";
9
- function T({
10
- dayPerVizSec: u,
11
- elapsedTime: v,
12
- sliderOnChangeCallback: h,
13
- speeds: b
14
- }) {
15
- const { t: a } = C();
16
- function k(o) {
17
- const c = o / 365, i = Math.floor(c), l = 365 * (c - i);
18
- let r = {}, s = {};
19
- return r = {
20
- number: p(i),
21
- string: a("elapsed_time.interval.year", { count: i })
22
- }, s = {
23
- number: p(l),
24
- string: a("elapsed_time.interval.day", { count: l })
25
- }, i >= 1 ? `${r.number} ${r.string}` : l < 1 ? a("orbit_viewer.playback.interval.secWithCount", { count: 1 }) : `${s.number} ${s.string}`;
26
- }
27
- function m(o, c) {
28
- const i = v < 0, l = Math.abs(v) / 365.256, r = Math.floor(l), s = Math.floor(365.256 * (l - r));
29
- let y = {}, f = {};
30
- return y = {
31
- number: p(i ? -r : r),
32
- string: a("elapsed_time.interval.year", { count: r })
33
- }, f = {
34
- number: p(i ? -s : s),
35
- string: a("elapsed_time.interval.day", { count: s })
36
- }, o === "days" ? f[c] : o === "years" ? y[c] : null;
37
- }
38
- const N = g(() => k(u), [u]);
39
- return /* @__PURE__ */ n(_, { children: [
40
- /* @__PURE__ */ n("div", { className: e["playback-speed-slider-header"], children: [
41
- /* @__PURE__ */ t("h4", { className: e["playback-speed-title"], children: a("orbital_sim.playback.time_step") }),
42
- /* @__PURE__ */ t("div", { className: e["playback-speed-slider-label"], children: a("orbital_sim.playback.time_equivalence", {
43
- firstTime: a("orbit_viewer.playback.interval.secWithCount", {
44
- count: 1
45
- }),
46
- secondTime: N
47
- }) })
48
- ] }),
49
- /* @__PURE__ */ t("div", { className: e["playback-speed-slider-label-top"], children: a("orbital_sim.playback.time_equivalence", {
50
- firstTime: a("orbit_viewer.playback.interval.secWithCount", {
51
- count: 1
52
- }),
53
- secondTime: a("orbit_viewer.playback.interval.yearWithCount", {
54
- count: 1
55
- }),
56
- context: "verbose"
57
- }) }),
58
- /* @__PURE__ */ t("div", { className: e["playback-speed-slider-label-bottom"], children: a("orbital_sim.playback.normal_time") }),
59
- /* @__PURE__ */ t(
60
- j,
61
- {
62
- className: e["playback-speed-slider"],
63
- isVertical: !0,
64
- min: b.min,
65
- invert: !0,
66
- max: b.max,
67
- step: b.step,
68
- value: u,
69
- onChangeCallback: h
70
- }
71
- ),
72
- /* @__PURE__ */ n("div", { className: e["elapsed-time-container"], children: [
73
- /* @__PURE__ */ t("div", { className: e["elapsed-time-title"], children: a("elapsed_time.title") }),
74
- /* @__PURE__ */ n("div", { className: e["elapsed-time-inner"], children: [
75
- /* @__PURE__ */ n("div", { className: e["elapsed-time-block"], children: [
76
- /* @__PURE__ */ t("div", { className: e["elapsed-val"], children: m("years", "number") }),
77
- /* @__PURE__ */ t("div", { className: e["elapsed-time-label"], children: m("years", "string") })
78
- ] }),
79
- /* @__PURE__ */ t("div", { className: e["elapsed-time-divider"] }),
80
- /* @__PURE__ */ n("div", { className: e["elapsed-time-block"], children: [
81
- /* @__PURE__ */ t("div", { className: e["elapsed-val"], children: m("days", "number") }),
82
- /* @__PURE__ */ t("div", { className: e["elapsed-label"], children: m("days", "string") })
83
- ] })
84
- ] })
85
- ] })
86
- ] });
87
- }
88
- T.propTypes = {
89
- dayPerVizSec: d.number,
90
- elapsedTime: d.number,
91
- speeds: d.object,
92
- sliderOnChangeCallback: d.func
93
- };
94
- export {
95
- T as default
96
- };
@@ -1 +0,0 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),j=require("react"),O=require("../../node_modules/prop-types/index.cjs"),v=require("three"),q=require("./Observations.cjs"),f=require("./orbitalUtilities.cjs"),S=require("./Context/index.cjs");function T(e){if(e&&e.__esModule)return e;const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(u,r,d.get?d:{enumerable:!0,get:()=>e[r]})}}return u.default=e,Object.freeze(u)}const g=T(v),m=()=>{const{orbits:e,observations:u}=S.useOrbitalSimContext(),{neos:r}=e;function d(o,t,n){const i=f.getFocus(o,t),c=new g.Vector3(i,0,0);return f.getCurve(o,t,c.x,c.y).getPoints(100).map(s=>f.convert2dTo3d(s,n)).flat()}function x(o){return o.map(t=>{const{a:n,e:i}=t,c=f.auToUnit(n),s=f.getMinorAxis(n,i);return d(c,s,t)})}const[h]=j.useState(()=>{let o=0;const t=[],n=[];x(r).forEach(s=>{const y=s.length-1;for(let a=0;a<s.length;a++){const p=s[a],b=a+o;n.push(p.x),n.push(p.y),n.push(p.z),t.push(b),t.push(a===y?o:b+1)}o+=s.length});const i=new g.BufferGeometry,c=new g.Float32BufferAttribute(n,3);return i.setAttribute("position",c),i.setIndex(t),i});return l.jsxs(l.Fragment,{children:[l.jsx("lineSegments",{position:[0,0,0],geometry:h,children:l.jsx("lineBasicMaterial",{attach:"material",color:"#CEB3DB"})}),u&&r&&l.jsx(q.default,{data:r[0],observations:u})]})};m.propTypes={data:O.default.array};exports.default=m;