@roxyapi/ui-react 0.1.2 → 0.2.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 (175) hide show
  1. package/README.md +336 -29
  2. package/dist/components/ashtakavarga-grid.d.ts +12 -0
  3. package/dist/components/ashtakavarga-grid.d.ts.map +1 -0
  4. package/dist/components/ashtakavarga-grid.js +91 -0
  5. package/dist/components/ashtakavarga-grid.js.map +7 -0
  6. package/dist/components/biorhythm-chart.d.ts +8 -5
  7. package/dist/components/biorhythm-chart.d.ts.map +1 -1
  8. package/dist/components/biorhythm-chart.js +35 -9
  9. package/dist/components/biorhythm-chart.js.map +2 -2
  10. package/dist/components/choghadiya-grid.d.ts +12 -0
  11. package/dist/components/choghadiya-grid.d.ts.map +1 -0
  12. package/dist/components/choghadiya-grid.js +91 -0
  13. package/dist/components/choghadiya-grid.js.map +7 -0
  14. package/dist/components/compatibility-card.d.ts +8 -5
  15. package/dist/components/compatibility-card.d.ts.map +1 -1
  16. package/dist/components/compatibility-card.js +35 -9
  17. package/dist/components/compatibility-card.js.map +2 -2
  18. package/dist/components/dasha-timeline.d.ts +8 -5
  19. package/dist/components/dasha-timeline.d.ts.map +1 -1
  20. package/dist/components/dasha-timeline.js +35 -9
  21. package/dist/components/dasha-timeline.js.map +2 -2
  22. package/dist/components/data.d.ts +5 -5
  23. package/dist/components/data.d.ts.map +1 -1
  24. package/dist/components/data.js +32 -12
  25. package/dist/components/data.js.map +2 -2
  26. package/dist/components/divisional-chart.d.ts +12 -0
  27. package/dist/components/divisional-chart.d.ts.map +1 -0
  28. package/dist/components/divisional-chart.js +91 -0
  29. package/dist/components/divisional-chart.js.map +7 -0
  30. package/dist/components/dosha-card.d.ts +8 -5
  31. package/dist/components/dosha-card.d.ts.map +1 -1
  32. package/dist/components/dosha-card.js +35 -9
  33. package/dist/components/dosha-card.js.map +2 -2
  34. package/dist/components/endpoint-form.d.ts +19 -5
  35. package/dist/components/endpoint-form.d.ts.map +1 -1
  36. package/dist/components/endpoint-form.js +55 -11
  37. package/dist/components/endpoint-form.js.map +2 -2
  38. package/dist/components/guna-milan.d.ts +8 -5
  39. package/dist/components/guna-milan.d.ts.map +1 -1
  40. package/dist/components/guna-milan.js +35 -9
  41. package/dist/components/guna-milan.js.map +2 -2
  42. package/dist/components/hexagram.d.ts +8 -5
  43. package/dist/components/hexagram.d.ts.map +1 -1
  44. package/dist/components/hexagram.js +35 -9
  45. package/dist/components/hexagram.js.map +2 -2
  46. package/dist/components/horoscope-card.d.ts +8 -5
  47. package/dist/components/horoscope-card.d.ts.map +1 -1
  48. package/dist/components/horoscope-card.js +35 -9
  49. package/dist/components/horoscope-card.js.map +2 -2
  50. package/dist/components/kp-planets-table.d.ts +8 -5
  51. package/dist/components/kp-planets-table.d.ts.map +1 -1
  52. package/dist/components/kp-planets-table.js +35 -9
  53. package/dist/components/kp-planets-table.js.map +2 -2
  54. package/dist/components/location-search.d.ts +21 -5
  55. package/dist/components/location-search.d.ts.map +1 -1
  56. package/dist/components/location-search.js +47 -11
  57. package/dist/components/location-search.js.map +2 -2
  58. package/dist/components/moon-phase.d.ts +8 -5
  59. package/dist/components/moon-phase.d.ts.map +1 -1
  60. package/dist/components/moon-phase.js +35 -9
  61. package/dist/components/moon-phase.js.map +2 -2
  62. package/dist/components/natal-chart.d.ts +8 -5
  63. package/dist/components/natal-chart.d.ts.map +1 -1
  64. package/dist/components/natal-chart.js +35 -9
  65. package/dist/components/natal-chart.js.map +2 -2
  66. package/dist/components/numerology-card.d.ts +8 -5
  67. package/dist/components/numerology-card.d.ts.map +1 -1
  68. package/dist/components/numerology-card.js +35 -9
  69. package/dist/components/numerology-card.js.map +2 -2
  70. package/dist/components/panchang-table.d.ts +8 -5
  71. package/dist/components/panchang-table.d.ts.map +1 -1
  72. package/dist/components/panchang-table.js +35 -9
  73. package/dist/components/panchang-table.js.map +2 -2
  74. package/dist/components/shadbala-table.d.ts +12 -0
  75. package/dist/components/shadbala-table.d.ts.map +1 -0
  76. package/dist/components/shadbala-table.js +91 -0
  77. package/dist/components/shadbala-table.js.map +7 -0
  78. package/dist/components/synastry-chart.d.ts +15 -5
  79. package/dist/components/synastry-chart.d.ts.map +1 -1
  80. package/dist/components/synastry-chart.js +35 -9
  81. package/dist/components/synastry-chart.js.map +2 -2
  82. package/dist/components/tarot-card.d.ts +8 -5
  83. package/dist/components/tarot-card.d.ts.map +1 -1
  84. package/dist/components/tarot-card.js +35 -9
  85. package/dist/components/tarot-card.js.map +2 -2
  86. package/dist/components/tarot-spread.d.ts +8 -5
  87. package/dist/components/tarot-spread.d.ts.map +1 -1
  88. package/dist/components/tarot-spread.js +35 -9
  89. package/dist/components/tarot-spread.js.map +2 -2
  90. package/dist/components/transits-table.d.ts +12 -0
  91. package/dist/components/transits-table.d.ts.map +1 -0
  92. package/dist/components/transits-table.js +91 -0
  93. package/dist/components/transits-table.js.map +7 -0
  94. package/dist/components/vedic-kundli.d.ts +8 -5
  95. package/dist/components/vedic-kundli.d.ts.map +1 -1
  96. package/dist/components/vedic-kundli.js +35 -9
  97. package/dist/components/vedic-kundli.js.map +2 -2
  98. package/dist/components/yoga-list.d.ts +14 -0
  99. package/dist/components/yoga-list.d.ts.map +1 -0
  100. package/dist/components/yoga-list.js +91 -0
  101. package/dist/components/yoga-list.js.map +7 -0
  102. package/dist/index.cjs +825 -115
  103. package/dist/index.cjs.map +4 -4
  104. package/dist/index.d.ts +26 -20
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +825 -115
  107. package/dist/index.js.map +4 -4
  108. package/dist/load-ui.d.ts +2 -0
  109. package/dist/load-ui.d.ts.map +1 -1
  110. package/dist/load-ui.js +13 -4
  111. package/dist/load-ui.js.map +2 -2
  112. package/package.json +27 -7
  113. package/src/components/biorhythm-chart.d.ts +0 -12
  114. package/src/components/biorhythm-chart.d.ts.map +0 -1
  115. package/src/components/biorhythm-chart.tsx +0 -35
  116. package/src/components/compatibility-card.d.ts +0 -12
  117. package/src/components/compatibility-card.d.ts.map +0 -1
  118. package/src/components/compatibility-card.tsx +0 -35
  119. package/src/components/dasha-timeline.d.ts +0 -12
  120. package/src/components/dasha-timeline.d.ts.map +0 -1
  121. package/src/components/dasha-timeline.tsx +0 -35
  122. package/src/components/data.d.ts +0 -11
  123. package/src/components/data.d.ts.map +0 -1
  124. package/src/components/data.tsx +0 -35
  125. package/src/components/dosha-card.d.ts +0 -12
  126. package/src/components/dosha-card.d.ts.map +0 -1
  127. package/src/components/dosha-card.tsx +0 -35
  128. package/src/components/endpoint-form.d.ts +0 -12
  129. package/src/components/endpoint-form.d.ts.map +0 -1
  130. package/src/components/endpoint-form.tsx +0 -35
  131. package/src/components/guna-milan.d.ts +0 -12
  132. package/src/components/guna-milan.d.ts.map +0 -1
  133. package/src/components/guna-milan.tsx +0 -35
  134. package/src/components/hexagram.d.ts +0 -12
  135. package/src/components/hexagram.d.ts.map +0 -1
  136. package/src/components/hexagram.tsx +0 -35
  137. package/src/components/horoscope-card.d.ts +0 -12
  138. package/src/components/horoscope-card.d.ts.map +0 -1
  139. package/src/components/horoscope-card.tsx +0 -35
  140. package/src/components/kp-planets-table.d.ts +0 -12
  141. package/src/components/kp-planets-table.d.ts.map +0 -1
  142. package/src/components/kp-planets-table.tsx +0 -35
  143. package/src/components/location-search.d.ts +0 -12
  144. package/src/components/location-search.d.ts.map +0 -1
  145. package/src/components/location-search.tsx +0 -35
  146. package/src/components/moon-phase.d.ts +0 -12
  147. package/src/components/moon-phase.d.ts.map +0 -1
  148. package/src/components/moon-phase.tsx +0 -35
  149. package/src/components/natal-chart.d.ts +0 -12
  150. package/src/components/natal-chart.d.ts.map +0 -1
  151. package/src/components/natal-chart.tsx +0 -35
  152. package/src/components/numerology-card.d.ts +0 -12
  153. package/src/components/numerology-card.d.ts.map +0 -1
  154. package/src/components/numerology-card.tsx +0 -35
  155. package/src/components/panchang-table.d.ts +0 -12
  156. package/src/components/panchang-table.d.ts.map +0 -1
  157. package/src/components/panchang-table.tsx +0 -35
  158. package/src/components/synastry-chart.d.ts +0 -12
  159. package/src/components/synastry-chart.d.ts.map +0 -1
  160. package/src/components/synastry-chart.tsx +0 -35
  161. package/src/components/tarot-card.d.ts +0 -12
  162. package/src/components/tarot-card.d.ts.map +0 -1
  163. package/src/components/tarot-card.tsx +0 -35
  164. package/src/components/tarot-spread.d.ts +0 -12
  165. package/src/components/tarot-spread.d.ts.map +0 -1
  166. package/src/components/tarot-spread.tsx +0 -35
  167. package/src/components/vedic-kundli.d.ts +0 -12
  168. package/src/components/vedic-kundli.d.ts.map +0 -1
  169. package/src/components/vedic-kundli.tsx +0 -35
  170. package/src/index.d.ts +0 -21
  171. package/src/index.d.ts.map +0 -1
  172. package/src/index.ts +0 -20
  173. package/src/load-ui.d.ts +0 -2
  174. package/src/load-ui.d.ts.map +0 -1
  175. package/src/load-ui.ts +0 -41
package/dist/index.cjs CHANGED
@@ -30,10 +30,14 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // packages/ui-react/src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
+ ROXY_UI_VERSION: () => ROXY_UI_VERSION,
34
+ RoxyAshtakavargaGrid: () => RoxyAshtakavargaGrid,
33
35
  RoxyBiorhythmChart: () => RoxyBiorhythmChart,
36
+ RoxyChoghadiyaGrid: () => RoxyChoghadiyaGrid,
34
37
  RoxyCompatibilityCard: () => RoxyCompatibilityCard,
35
38
  RoxyDashaTimeline: () => RoxyDashaTimeline,
36
39
  RoxyData: () => RoxyData,
40
+ RoxyDivisionalChart: () => RoxyDivisionalChart,
37
41
  RoxyDoshaCard: () => RoxyDoshaCard,
38
42
  RoxyEndpointForm: () => RoxyEndpointForm,
39
43
  RoxyGunaMilan: () => RoxyGunaMilan,
@@ -45,24 +49,32 @@ __export(src_exports, {
45
49
  RoxyNatalChart: () => RoxyNatalChart,
46
50
  RoxyNumerologyCard: () => RoxyNumerologyCard,
47
51
  RoxyPanchangTable: () => RoxyPanchangTable,
52
+ RoxyShadbalaTable: () => RoxyShadbalaTable,
48
53
  RoxySynastryChart: () => RoxySynastryChart,
49
54
  RoxyTarotCard: () => RoxyTarotCard,
50
55
  RoxyTarotSpread: () => RoxyTarotSpread,
56
+ RoxyTransitsTable: () => RoxyTransitsTable,
51
57
  RoxyVedicKundli: () => RoxyVedicKundli,
58
+ RoxyYogaList: () => RoxyYogaList,
52
59
  ensureScriptLoaded: () => ensureScriptLoaded
53
60
  });
54
61
  module.exports = __toCommonJS(src_exports);
55
62
 
56
63
  // packages/ui-react/src/load-ui.ts
57
64
  var SCRIPT_ID = "roxyapi-ui-loader";
58
- var CDN_BASE = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn";
65
+ var CDN_BASE_LATEST = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn";
66
+ var CDN_BASE_PREFIX = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@";
67
+ var CDN_BASE_SUFFIX = "/dist/cdn";
59
68
  var loaded = null;
60
- function ensureScriptLoaded(version = "0.1.0") {
69
+ function buildBase(version) {
70
+ if (!version || version === "latest") return CDN_BASE_LATEST;
71
+ return `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;
72
+ }
73
+ function ensureScriptLoaded(version = "latest") {
61
74
  if (typeof document === "undefined") return Promise.resolve();
62
75
  if (loaded) return loaded;
63
76
  loaded = new Promise((resolve, reject) => {
64
- const major = version.split(".")[0];
65
- const url = `${CDN_BASE.replace("@0", "@" + major)}/roxy-ui.js`;
77
+ const url = `${buildBase(version)}/roxy-ui.js`;
66
78
  let existing = document.getElementById(SCRIPT_ID);
67
79
  if (existing) {
68
80
  if (existing.dataset.loaded === "true") {
@@ -87,479 +99,1177 @@ function ensureScriptLoaded(version = "0.1.0") {
87
99
  });
88
100
  return loaded;
89
101
  }
102
+ var ROXY_UI_VERSION = "0.2.0";
90
103
 
91
104
  // packages/ui-react/src/components/natal-chart.tsx
92
105
  var React = __toESM(require("react"), 1);
93
106
  var RoxyNatalChart = React.forwardRef(
94
- function RoxyNatalChart2({ data, ...rest }, ref) {
107
+ function RoxyNatalChart2({ data, className, style, ...rest }, ref) {
95
108
  const internal = React.useRef(null);
96
- React.useImperativeHandle(ref, () => internal.current);
109
+ React.useImperativeHandle(
110
+ ref,
111
+ () => internal.current,
112
+ []
113
+ );
97
114
  const [loaded2, setLoaded] = React.useState(false);
115
+ const [error, setError] = React.useState(null);
98
116
  React.useEffect(() => {
99
117
  let active = true;
100
118
  ensureScriptLoaded().then(() => {
101
119
  if (active) setLoaded(true);
120
+ }).catch((err) => {
121
+ if (!active) return;
122
+ setError(err instanceof Error ? err : new Error(String(err)));
102
123
  });
103
124
  return () => {
104
125
  active = false;
105
126
  };
106
127
  }, []);
107
128
  React.useEffect(() => {
108
- if (internal.current && data !== void 0) {
109
- internal.current.data = data;
129
+ const el = internal.current;
130
+ if (el && data !== void 0) {
131
+ el.data = data;
110
132
  }
111
133
  }, [data, loaded2]);
112
- return React.createElement("roxy-natal-chart", { ref: internal, ...rest });
134
+ if (error) {
135
+ return React.createElement(
136
+ "div",
137
+ { role: "alert", className, style },
138
+ `Roxy UI script load failed: ${error.message}`
139
+ );
140
+ }
141
+ return React.createElement("roxy-natal-chart", {
142
+ ref: internal,
143
+ className,
144
+ style,
145
+ ...rest
146
+ });
113
147
  }
114
148
  );
115
149
 
116
150
  // packages/ui-react/src/components/horoscope-card.tsx
117
151
  var React2 = __toESM(require("react"), 1);
118
152
  var RoxyHoroscopeCard = React2.forwardRef(
119
- function RoxyHoroscopeCard2({ data, ...rest }, ref) {
153
+ function RoxyHoroscopeCard2({ data, className, style, ...rest }, ref) {
120
154
  const internal = React2.useRef(null);
121
- React2.useImperativeHandle(ref, () => internal.current);
155
+ React2.useImperativeHandle(
156
+ ref,
157
+ () => internal.current,
158
+ []
159
+ );
122
160
  const [loaded2, setLoaded] = React2.useState(false);
161
+ const [error, setError] = React2.useState(null);
123
162
  React2.useEffect(() => {
124
163
  let active = true;
125
164
  ensureScriptLoaded().then(() => {
126
165
  if (active) setLoaded(true);
166
+ }).catch((err) => {
167
+ if (!active) return;
168
+ setError(err instanceof Error ? err : new Error(String(err)));
127
169
  });
128
170
  return () => {
129
171
  active = false;
130
172
  };
131
173
  }, []);
132
174
  React2.useEffect(() => {
133
- if (internal.current && data !== void 0) {
134
- internal.current.data = data;
175
+ const el = internal.current;
176
+ if (el && data !== void 0) {
177
+ el.data = data;
135
178
  }
136
179
  }, [data, loaded2]);
137
- return React2.createElement("roxy-horoscope-card", { ref: internal, ...rest });
180
+ if (error) {
181
+ return React2.createElement(
182
+ "div",
183
+ { role: "alert", className, style },
184
+ `Roxy UI script load failed: ${error.message}`
185
+ );
186
+ }
187
+ return React2.createElement("roxy-horoscope-card", {
188
+ ref: internal,
189
+ className,
190
+ style,
191
+ ...rest
192
+ });
138
193
  }
139
194
  );
140
195
 
141
196
  // packages/ui-react/src/components/synastry-chart.tsx
142
197
  var React3 = __toESM(require("react"), 1);
143
198
  var RoxySynastryChart = React3.forwardRef(
144
- function RoxySynastryChart2({ data, ...rest }, ref) {
199
+ function RoxySynastryChart2({ data, className, style, ...rest }, ref) {
145
200
  const internal = React3.useRef(null);
146
- React3.useImperativeHandle(ref, () => internal.current);
201
+ React3.useImperativeHandle(
202
+ ref,
203
+ () => internal.current,
204
+ []
205
+ );
147
206
  const [loaded2, setLoaded] = React3.useState(false);
207
+ const [error, setError] = React3.useState(null);
148
208
  React3.useEffect(() => {
149
209
  let active = true;
150
210
  ensureScriptLoaded().then(() => {
151
211
  if (active) setLoaded(true);
212
+ }).catch((err) => {
213
+ if (!active) return;
214
+ setError(err instanceof Error ? err : new Error(String(err)));
152
215
  });
153
216
  return () => {
154
217
  active = false;
155
218
  };
156
219
  }, []);
157
220
  React3.useEffect(() => {
158
- if (internal.current && data !== void 0) {
159
- internal.current.data = data;
221
+ const el = internal.current;
222
+ if (el && data !== void 0) {
223
+ el.data = data;
160
224
  }
161
225
  }, [data, loaded2]);
162
- return React3.createElement("roxy-synastry-chart", { ref: internal, ...rest });
226
+ if (error) {
227
+ return React3.createElement(
228
+ "div",
229
+ { role: "alert", className, style },
230
+ `Roxy UI script load failed: ${error.message}`
231
+ );
232
+ }
233
+ return React3.createElement("roxy-synastry-chart", {
234
+ ref: internal,
235
+ className,
236
+ style,
237
+ ...rest
238
+ });
163
239
  }
164
240
  );
165
241
 
166
242
  // packages/ui-react/src/components/compatibility-card.tsx
167
243
  var React4 = __toESM(require("react"), 1);
168
244
  var RoxyCompatibilityCard = React4.forwardRef(
169
- function RoxyCompatibilityCard2({ data, ...rest }, ref) {
245
+ function RoxyCompatibilityCard2({ data, className, style, ...rest }, ref) {
170
246
  const internal = React4.useRef(null);
171
- React4.useImperativeHandle(ref, () => internal.current);
247
+ React4.useImperativeHandle(
248
+ ref,
249
+ () => internal.current,
250
+ []
251
+ );
172
252
  const [loaded2, setLoaded] = React4.useState(false);
253
+ const [error, setError] = React4.useState(null);
173
254
  React4.useEffect(() => {
174
255
  let active = true;
175
256
  ensureScriptLoaded().then(() => {
176
257
  if (active) setLoaded(true);
258
+ }).catch((err) => {
259
+ if (!active) return;
260
+ setError(err instanceof Error ? err : new Error(String(err)));
177
261
  });
178
262
  return () => {
179
263
  active = false;
180
264
  };
181
265
  }, []);
182
266
  React4.useEffect(() => {
183
- if (internal.current && data !== void 0) {
184
- internal.current.data = data;
267
+ const el = internal.current;
268
+ if (el && data !== void 0) {
269
+ el.data = data;
185
270
  }
186
271
  }, [data, loaded2]);
187
- return React4.createElement("roxy-compatibility-card", { ref: internal, ...rest });
272
+ if (error) {
273
+ return React4.createElement(
274
+ "div",
275
+ { role: "alert", className, style },
276
+ `Roxy UI script load failed: ${error.message}`
277
+ );
278
+ }
279
+ return React4.createElement("roxy-compatibility-card", {
280
+ ref: internal,
281
+ className,
282
+ style,
283
+ ...rest
284
+ });
188
285
  }
189
286
  );
190
287
 
191
288
  // packages/ui-react/src/components/moon-phase.tsx
192
289
  var React5 = __toESM(require("react"), 1);
193
290
  var RoxyMoonPhase = React5.forwardRef(
194
- function RoxyMoonPhase2({ data, ...rest }, ref) {
291
+ function RoxyMoonPhase2({ data, className, style, ...rest }, ref) {
195
292
  const internal = React5.useRef(null);
196
- React5.useImperativeHandle(ref, () => internal.current);
293
+ React5.useImperativeHandle(
294
+ ref,
295
+ () => internal.current,
296
+ []
297
+ );
197
298
  const [loaded2, setLoaded] = React5.useState(false);
299
+ const [error, setError] = React5.useState(null);
198
300
  React5.useEffect(() => {
199
301
  let active = true;
200
302
  ensureScriptLoaded().then(() => {
201
303
  if (active) setLoaded(true);
304
+ }).catch((err) => {
305
+ if (!active) return;
306
+ setError(err instanceof Error ? err : new Error(String(err)));
202
307
  });
203
308
  return () => {
204
309
  active = false;
205
310
  };
206
311
  }, []);
207
312
  React5.useEffect(() => {
208
- if (internal.current && data !== void 0) {
209
- internal.current.data = data;
313
+ const el = internal.current;
314
+ if (el && data !== void 0) {
315
+ el.data = data;
210
316
  }
211
317
  }, [data, loaded2]);
212
- return React5.createElement("roxy-moon-phase", { ref: internal, ...rest });
318
+ if (error) {
319
+ return React5.createElement(
320
+ "div",
321
+ { role: "alert", className, style },
322
+ `Roxy UI script load failed: ${error.message}`
323
+ );
324
+ }
325
+ return React5.createElement("roxy-moon-phase", {
326
+ ref: internal,
327
+ className,
328
+ style,
329
+ ...rest
330
+ });
213
331
  }
214
332
  );
215
333
 
216
334
  // packages/ui-react/src/components/vedic-kundli.tsx
217
335
  var React6 = __toESM(require("react"), 1);
218
336
  var RoxyVedicKundli = React6.forwardRef(
219
- function RoxyVedicKundli2({ data, ...rest }, ref) {
337
+ function RoxyVedicKundli2({ data, className, style, ...rest }, ref) {
220
338
  const internal = React6.useRef(null);
221
- React6.useImperativeHandle(ref, () => internal.current);
339
+ React6.useImperativeHandle(
340
+ ref,
341
+ () => internal.current,
342
+ []
343
+ );
222
344
  const [loaded2, setLoaded] = React6.useState(false);
345
+ const [error, setError] = React6.useState(null);
223
346
  React6.useEffect(() => {
224
347
  let active = true;
225
348
  ensureScriptLoaded().then(() => {
226
349
  if (active) setLoaded(true);
350
+ }).catch((err) => {
351
+ if (!active) return;
352
+ setError(err instanceof Error ? err : new Error(String(err)));
227
353
  });
228
354
  return () => {
229
355
  active = false;
230
356
  };
231
357
  }, []);
232
358
  React6.useEffect(() => {
233
- if (internal.current && data !== void 0) {
234
- internal.current.data = data;
359
+ const el = internal.current;
360
+ if (el && data !== void 0) {
361
+ el.data = data;
235
362
  }
236
363
  }, [data, loaded2]);
237
- return React6.createElement("roxy-vedic-kundli", { ref: internal, ...rest });
364
+ if (error) {
365
+ return React6.createElement(
366
+ "div",
367
+ { role: "alert", className, style },
368
+ `Roxy UI script load failed: ${error.message}`
369
+ );
370
+ }
371
+ return React6.createElement("roxy-vedic-kundli", {
372
+ ref: internal,
373
+ className,
374
+ style,
375
+ ...rest
376
+ });
238
377
  }
239
378
  );
240
379
 
241
380
  // packages/ui-react/src/components/panchang-table.tsx
242
381
  var React7 = __toESM(require("react"), 1);
243
382
  var RoxyPanchangTable = React7.forwardRef(
244
- function RoxyPanchangTable2({ data, ...rest }, ref) {
383
+ function RoxyPanchangTable2({ data, className, style, ...rest }, ref) {
245
384
  const internal = React7.useRef(null);
246
- React7.useImperativeHandle(ref, () => internal.current);
385
+ React7.useImperativeHandle(
386
+ ref,
387
+ () => internal.current,
388
+ []
389
+ );
247
390
  const [loaded2, setLoaded] = React7.useState(false);
391
+ const [error, setError] = React7.useState(null);
248
392
  React7.useEffect(() => {
249
393
  let active = true;
250
394
  ensureScriptLoaded().then(() => {
251
395
  if (active) setLoaded(true);
396
+ }).catch((err) => {
397
+ if (!active) return;
398
+ setError(err instanceof Error ? err : new Error(String(err)));
252
399
  });
253
400
  return () => {
254
401
  active = false;
255
402
  };
256
403
  }, []);
257
404
  React7.useEffect(() => {
258
- if (internal.current && data !== void 0) {
259
- internal.current.data = data;
405
+ const el = internal.current;
406
+ if (el && data !== void 0) {
407
+ el.data = data;
260
408
  }
261
409
  }, [data, loaded2]);
262
- return React7.createElement("roxy-panchang-table", { ref: internal, ...rest });
410
+ if (error) {
411
+ return React7.createElement(
412
+ "div",
413
+ { role: "alert", className, style },
414
+ `Roxy UI script load failed: ${error.message}`
415
+ );
416
+ }
417
+ return React7.createElement("roxy-panchang-table", {
418
+ ref: internal,
419
+ className,
420
+ style,
421
+ ...rest
422
+ });
263
423
  }
264
424
  );
265
425
 
266
426
  // packages/ui-react/src/components/dasha-timeline.tsx
267
427
  var React8 = __toESM(require("react"), 1);
268
428
  var RoxyDashaTimeline = React8.forwardRef(
269
- function RoxyDashaTimeline2({ data, ...rest }, ref) {
429
+ function RoxyDashaTimeline2({ data, className, style, ...rest }, ref) {
270
430
  const internal = React8.useRef(null);
271
- React8.useImperativeHandle(ref, () => internal.current);
431
+ React8.useImperativeHandle(
432
+ ref,
433
+ () => internal.current,
434
+ []
435
+ );
272
436
  const [loaded2, setLoaded] = React8.useState(false);
437
+ const [error, setError] = React8.useState(null);
273
438
  React8.useEffect(() => {
274
439
  let active = true;
275
440
  ensureScriptLoaded().then(() => {
276
441
  if (active) setLoaded(true);
442
+ }).catch((err) => {
443
+ if (!active) return;
444
+ setError(err instanceof Error ? err : new Error(String(err)));
277
445
  });
278
446
  return () => {
279
447
  active = false;
280
448
  };
281
449
  }, []);
282
450
  React8.useEffect(() => {
283
- if (internal.current && data !== void 0) {
284
- internal.current.data = data;
451
+ const el = internal.current;
452
+ if (el && data !== void 0) {
453
+ el.data = data;
285
454
  }
286
455
  }, [data, loaded2]);
287
- return React8.createElement("roxy-dasha-timeline", { ref: internal, ...rest });
456
+ if (error) {
457
+ return React8.createElement(
458
+ "div",
459
+ { role: "alert", className, style },
460
+ `Roxy UI script load failed: ${error.message}`
461
+ );
462
+ }
463
+ return React8.createElement("roxy-dasha-timeline", {
464
+ ref: internal,
465
+ className,
466
+ style,
467
+ ...rest
468
+ });
288
469
  }
289
470
  );
290
471
 
291
472
  // packages/ui-react/src/components/dosha-card.tsx
292
473
  var React9 = __toESM(require("react"), 1);
293
474
  var RoxyDoshaCard = React9.forwardRef(
294
- function RoxyDoshaCard2({ data, ...rest }, ref) {
475
+ function RoxyDoshaCard2({ data, className, style, ...rest }, ref) {
295
476
  const internal = React9.useRef(null);
296
- React9.useImperativeHandle(ref, () => internal.current);
477
+ React9.useImperativeHandle(
478
+ ref,
479
+ () => internal.current,
480
+ []
481
+ );
297
482
  const [loaded2, setLoaded] = React9.useState(false);
483
+ const [error, setError] = React9.useState(null);
298
484
  React9.useEffect(() => {
299
485
  let active = true;
300
486
  ensureScriptLoaded().then(() => {
301
487
  if (active) setLoaded(true);
488
+ }).catch((err) => {
489
+ if (!active) return;
490
+ setError(err instanceof Error ? err : new Error(String(err)));
302
491
  });
303
492
  return () => {
304
493
  active = false;
305
494
  };
306
495
  }, []);
307
496
  React9.useEffect(() => {
308
- if (internal.current && data !== void 0) {
309
- internal.current.data = data;
497
+ const el = internal.current;
498
+ if (el && data !== void 0) {
499
+ el.data = data;
310
500
  }
311
501
  }, [data, loaded2]);
312
- return React9.createElement("roxy-dosha-card", { ref: internal, ...rest });
502
+ if (error) {
503
+ return React9.createElement(
504
+ "div",
505
+ { role: "alert", className, style },
506
+ `Roxy UI script load failed: ${error.message}`
507
+ );
508
+ }
509
+ return React9.createElement("roxy-dosha-card", {
510
+ ref: internal,
511
+ className,
512
+ style,
513
+ ...rest
514
+ });
313
515
  }
314
516
  );
315
517
 
316
518
  // packages/ui-react/src/components/guna-milan.tsx
317
519
  var React10 = __toESM(require("react"), 1);
318
520
  var RoxyGunaMilan = React10.forwardRef(
319
- function RoxyGunaMilan2({ data, ...rest }, ref) {
521
+ function RoxyGunaMilan2({ data, className, style, ...rest }, ref) {
320
522
  const internal = React10.useRef(null);
321
- React10.useImperativeHandle(ref, () => internal.current);
523
+ React10.useImperativeHandle(
524
+ ref,
525
+ () => internal.current,
526
+ []
527
+ );
322
528
  const [loaded2, setLoaded] = React10.useState(false);
529
+ const [error, setError] = React10.useState(null);
323
530
  React10.useEffect(() => {
324
531
  let active = true;
325
532
  ensureScriptLoaded().then(() => {
326
533
  if (active) setLoaded(true);
534
+ }).catch((err) => {
535
+ if (!active) return;
536
+ setError(err instanceof Error ? err : new Error(String(err)));
327
537
  });
328
538
  return () => {
329
539
  active = false;
330
540
  };
331
541
  }, []);
332
542
  React10.useEffect(() => {
333
- if (internal.current && data !== void 0) {
334
- internal.current.data = data;
543
+ const el = internal.current;
544
+ if (el && data !== void 0) {
545
+ el.data = data;
335
546
  }
336
547
  }, [data, loaded2]);
337
- return React10.createElement("roxy-guna-milan", { ref: internal, ...rest });
548
+ if (error) {
549
+ return React10.createElement(
550
+ "div",
551
+ { role: "alert", className, style },
552
+ `Roxy UI script load failed: ${error.message}`
553
+ );
554
+ }
555
+ return React10.createElement("roxy-guna-milan", {
556
+ ref: internal,
557
+ className,
558
+ style,
559
+ ...rest
560
+ });
338
561
  }
339
562
  );
340
563
 
341
564
  // packages/ui-react/src/components/kp-planets-table.tsx
342
565
  var React11 = __toESM(require("react"), 1);
343
566
  var RoxyKpPlanetsTable = React11.forwardRef(
344
- function RoxyKpPlanetsTable2({ data, ...rest }, ref) {
567
+ function RoxyKpPlanetsTable2({ data, className, style, ...rest }, ref) {
345
568
  const internal = React11.useRef(null);
346
- React11.useImperativeHandle(ref, () => internal.current);
569
+ React11.useImperativeHandle(
570
+ ref,
571
+ () => internal.current,
572
+ []
573
+ );
347
574
  const [loaded2, setLoaded] = React11.useState(false);
575
+ const [error, setError] = React11.useState(null);
348
576
  React11.useEffect(() => {
349
577
  let active = true;
350
578
  ensureScriptLoaded().then(() => {
351
579
  if (active) setLoaded(true);
580
+ }).catch((err) => {
581
+ if (!active) return;
582
+ setError(err instanceof Error ? err : new Error(String(err)));
352
583
  });
353
584
  return () => {
354
585
  active = false;
355
586
  };
356
587
  }, []);
357
588
  React11.useEffect(() => {
358
- if (internal.current && data !== void 0) {
359
- internal.current.data = data;
589
+ const el = internal.current;
590
+ if (el && data !== void 0) {
591
+ el.data = data;
360
592
  }
361
593
  }, [data, loaded2]);
362
- return React11.createElement("roxy-kp-planets-table", { ref: internal, ...rest });
594
+ if (error) {
595
+ return React11.createElement(
596
+ "div",
597
+ { role: "alert", className, style },
598
+ `Roxy UI script load failed: ${error.message}`
599
+ );
600
+ }
601
+ return React11.createElement("roxy-kp-planets-table", {
602
+ ref: internal,
603
+ className,
604
+ style,
605
+ ...rest
606
+ });
363
607
  }
364
608
  );
365
609
 
366
- // packages/ui-react/src/components/numerology-card.tsx
610
+ // packages/ui-react/src/components/transits-table.tsx
367
611
  var React12 = __toESM(require("react"), 1);
368
- var RoxyNumerologyCard = React12.forwardRef(
369
- function RoxyNumerologyCard2({ data, ...rest }, ref) {
612
+ var RoxyTransitsTable = React12.forwardRef(
613
+ function RoxyTransitsTable2({ data, className, style, ...rest }, ref) {
370
614
  const internal = React12.useRef(null);
371
- React12.useImperativeHandle(ref, () => internal.current);
615
+ React12.useImperativeHandle(
616
+ ref,
617
+ () => internal.current,
618
+ []
619
+ );
372
620
  const [loaded2, setLoaded] = React12.useState(false);
621
+ const [error, setError] = React12.useState(null);
373
622
  React12.useEffect(() => {
374
623
  let active = true;
375
624
  ensureScriptLoaded().then(() => {
376
625
  if (active) setLoaded(true);
626
+ }).catch((err) => {
627
+ if (!active) return;
628
+ setError(err instanceof Error ? err : new Error(String(err)));
377
629
  });
378
630
  return () => {
379
631
  active = false;
380
632
  };
381
633
  }, []);
382
634
  React12.useEffect(() => {
383
- if (internal.current && data !== void 0) {
384
- internal.current.data = data;
635
+ const el = internal.current;
636
+ if (el && data !== void 0) {
637
+ el.data = data;
385
638
  }
386
639
  }, [data, loaded2]);
387
- return React12.createElement("roxy-numerology-card", { ref: internal, ...rest });
640
+ if (error) {
641
+ return React12.createElement(
642
+ "div",
643
+ { role: "alert", className, style },
644
+ `Roxy UI script load failed: ${error.message}`
645
+ );
646
+ }
647
+ return React12.createElement("roxy-transits-table", {
648
+ ref: internal,
649
+ className,
650
+ style,
651
+ ...rest
652
+ });
388
653
  }
389
654
  );
390
655
 
391
- // packages/ui-react/src/components/tarot-card.tsx
656
+ // packages/ui-react/src/components/divisional-chart.tsx
392
657
  var React13 = __toESM(require("react"), 1);
393
- var RoxyTarotCard = React13.forwardRef(
394
- function RoxyTarotCard2({ data, ...rest }, ref) {
658
+ var RoxyDivisionalChart = React13.forwardRef(
659
+ function RoxyDivisionalChart2({ data, className, style, ...rest }, ref) {
395
660
  const internal = React13.useRef(null);
396
- React13.useImperativeHandle(ref, () => internal.current);
661
+ React13.useImperativeHandle(
662
+ ref,
663
+ () => internal.current,
664
+ []
665
+ );
397
666
  const [loaded2, setLoaded] = React13.useState(false);
667
+ const [error, setError] = React13.useState(null);
398
668
  React13.useEffect(() => {
399
669
  let active = true;
400
670
  ensureScriptLoaded().then(() => {
401
671
  if (active) setLoaded(true);
672
+ }).catch((err) => {
673
+ if (!active) return;
674
+ setError(err instanceof Error ? err : new Error(String(err)));
402
675
  });
403
676
  return () => {
404
677
  active = false;
405
678
  };
406
679
  }, []);
407
680
  React13.useEffect(() => {
408
- if (internal.current && data !== void 0) {
409
- internal.current.data = data;
681
+ const el = internal.current;
682
+ if (el && data !== void 0) {
683
+ el.data = data;
410
684
  }
411
685
  }, [data, loaded2]);
412
- return React13.createElement("roxy-tarot-card", { ref: internal, ...rest });
686
+ if (error) {
687
+ return React13.createElement(
688
+ "div",
689
+ { role: "alert", className, style },
690
+ `Roxy UI script load failed: ${error.message}`
691
+ );
692
+ }
693
+ return React13.createElement("roxy-divisional-chart", {
694
+ ref: internal,
695
+ className,
696
+ style,
697
+ ...rest
698
+ });
413
699
  }
414
700
  );
415
701
 
416
- // packages/ui-react/src/components/tarot-spread.tsx
702
+ // packages/ui-react/src/components/ashtakavarga-grid.tsx
417
703
  var React14 = __toESM(require("react"), 1);
418
- var RoxyTarotSpread = React14.forwardRef(
419
- function RoxyTarotSpread2({ data, ...rest }, ref) {
704
+ var RoxyAshtakavargaGrid = React14.forwardRef(
705
+ function RoxyAshtakavargaGrid2({ data, className, style, ...rest }, ref) {
420
706
  const internal = React14.useRef(null);
421
- React14.useImperativeHandle(ref, () => internal.current);
707
+ React14.useImperativeHandle(
708
+ ref,
709
+ () => internal.current,
710
+ []
711
+ );
422
712
  const [loaded2, setLoaded] = React14.useState(false);
713
+ const [error, setError] = React14.useState(null);
423
714
  React14.useEffect(() => {
424
715
  let active = true;
425
716
  ensureScriptLoaded().then(() => {
426
717
  if (active) setLoaded(true);
718
+ }).catch((err) => {
719
+ if (!active) return;
720
+ setError(err instanceof Error ? err : new Error(String(err)));
427
721
  });
428
722
  return () => {
429
723
  active = false;
430
724
  };
431
725
  }, []);
432
726
  React14.useEffect(() => {
433
- if (internal.current && data !== void 0) {
434
- internal.current.data = data;
727
+ const el = internal.current;
728
+ if (el && data !== void 0) {
729
+ el.data = data;
435
730
  }
436
731
  }, [data, loaded2]);
437
- return React14.createElement("roxy-tarot-spread", { ref: internal, ...rest });
732
+ if (error) {
733
+ return React14.createElement(
734
+ "div",
735
+ { role: "alert", className, style },
736
+ `Roxy UI script load failed: ${error.message}`
737
+ );
738
+ }
739
+ return React14.createElement("roxy-ashtakavarga-grid", {
740
+ ref: internal,
741
+ className,
742
+ style,
743
+ ...rest
744
+ });
438
745
  }
439
746
  );
440
747
 
441
- // packages/ui-react/src/components/biorhythm-chart.tsx
748
+ // packages/ui-react/src/components/shadbala-table.tsx
442
749
  var React15 = __toESM(require("react"), 1);
443
- var RoxyBiorhythmChart = React15.forwardRef(
444
- function RoxyBiorhythmChart2({ data, ...rest }, ref) {
750
+ var RoxyShadbalaTable = React15.forwardRef(
751
+ function RoxyShadbalaTable2({ data, className, style, ...rest }, ref) {
445
752
  const internal = React15.useRef(null);
446
- React15.useImperativeHandle(ref, () => internal.current);
753
+ React15.useImperativeHandle(
754
+ ref,
755
+ () => internal.current,
756
+ []
757
+ );
447
758
  const [loaded2, setLoaded] = React15.useState(false);
759
+ const [error, setError] = React15.useState(null);
448
760
  React15.useEffect(() => {
449
761
  let active = true;
450
762
  ensureScriptLoaded().then(() => {
451
763
  if (active) setLoaded(true);
764
+ }).catch((err) => {
765
+ if (!active) return;
766
+ setError(err instanceof Error ? err : new Error(String(err)));
452
767
  });
453
768
  return () => {
454
769
  active = false;
455
770
  };
456
771
  }, []);
457
772
  React15.useEffect(() => {
458
- if (internal.current && data !== void 0) {
459
- internal.current.data = data;
773
+ const el = internal.current;
774
+ if (el && data !== void 0) {
775
+ el.data = data;
460
776
  }
461
777
  }, [data, loaded2]);
462
- return React15.createElement("roxy-biorhythm-chart", { ref: internal, ...rest });
778
+ if (error) {
779
+ return React15.createElement(
780
+ "div",
781
+ { role: "alert", className, style },
782
+ `Roxy UI script load failed: ${error.message}`
783
+ );
784
+ }
785
+ return React15.createElement("roxy-shadbala-table", {
786
+ ref: internal,
787
+ className,
788
+ style,
789
+ ...rest
790
+ });
463
791
  }
464
792
  );
465
793
 
466
- // packages/ui-react/src/components/hexagram.tsx
794
+ // packages/ui-react/src/components/yoga-list.tsx
467
795
  var React16 = __toESM(require("react"), 1);
468
- var RoxyHexagram = React16.forwardRef(
469
- function RoxyHexagram2({ data, ...rest }, ref) {
796
+ var RoxyYogaList = React16.forwardRef(
797
+ function RoxyYogaList2({ data, className, style, ...rest }, ref) {
470
798
  const internal = React16.useRef(null);
471
- React16.useImperativeHandle(ref, () => internal.current);
799
+ React16.useImperativeHandle(
800
+ ref,
801
+ () => internal.current,
802
+ []
803
+ );
472
804
  const [loaded2, setLoaded] = React16.useState(false);
805
+ const [error, setError] = React16.useState(null);
473
806
  React16.useEffect(() => {
474
807
  let active = true;
475
808
  ensureScriptLoaded().then(() => {
476
809
  if (active) setLoaded(true);
810
+ }).catch((err) => {
811
+ if (!active) return;
812
+ setError(err instanceof Error ? err : new Error(String(err)));
477
813
  });
478
814
  return () => {
479
815
  active = false;
480
816
  };
481
817
  }, []);
482
818
  React16.useEffect(() => {
483
- if (internal.current && data !== void 0) {
484
- internal.current.data = data;
819
+ const el = internal.current;
820
+ if (el && data !== void 0) {
821
+ el.data = data;
485
822
  }
486
823
  }, [data, loaded2]);
487
- return React16.createElement("roxy-hexagram", { ref: internal, ...rest });
824
+ if (error) {
825
+ return React16.createElement(
826
+ "div",
827
+ { role: "alert", className, style },
828
+ `Roxy UI script load failed: ${error.message}`
829
+ );
830
+ }
831
+ return React16.createElement("roxy-yoga-list", {
832
+ ref: internal,
833
+ className,
834
+ style,
835
+ ...rest
836
+ });
488
837
  }
489
838
  );
490
839
 
491
- // packages/ui-react/src/components/endpoint-form.tsx
840
+ // packages/ui-react/src/components/choghadiya-grid.tsx
492
841
  var React17 = __toESM(require("react"), 1);
493
- var RoxyEndpointForm = React17.forwardRef(
494
- function RoxyEndpointForm2({ data, ...rest }, ref) {
842
+ var RoxyChoghadiyaGrid = React17.forwardRef(
843
+ function RoxyChoghadiyaGrid2({ data, className, style, ...rest }, ref) {
495
844
  const internal = React17.useRef(null);
496
- React17.useImperativeHandle(ref, () => internal.current);
845
+ React17.useImperativeHandle(
846
+ ref,
847
+ () => internal.current,
848
+ []
849
+ );
497
850
  const [loaded2, setLoaded] = React17.useState(false);
851
+ const [error, setError] = React17.useState(null);
498
852
  React17.useEffect(() => {
499
853
  let active = true;
500
854
  ensureScriptLoaded().then(() => {
501
855
  if (active) setLoaded(true);
856
+ }).catch((err) => {
857
+ if (!active) return;
858
+ setError(err instanceof Error ? err : new Error(String(err)));
502
859
  });
503
860
  return () => {
504
861
  active = false;
505
862
  };
506
863
  }, []);
507
864
  React17.useEffect(() => {
508
- if (internal.current && data !== void 0) {
509
- internal.current.data = data;
865
+ const el = internal.current;
866
+ if (el && data !== void 0) {
867
+ el.data = data;
510
868
  }
511
869
  }, [data, loaded2]);
512
- return React17.createElement("roxy-endpoint-form", { ref: internal, ...rest });
870
+ if (error) {
871
+ return React17.createElement(
872
+ "div",
873
+ { role: "alert", className, style },
874
+ `Roxy UI script load failed: ${error.message}`
875
+ );
876
+ }
877
+ return React17.createElement("roxy-choghadiya-grid", {
878
+ ref: internal,
879
+ className,
880
+ style,
881
+ ...rest
882
+ });
513
883
  }
514
884
  );
515
885
 
516
- // packages/ui-react/src/components/location-search.tsx
886
+ // packages/ui-react/src/components/numerology-card.tsx
517
887
  var React18 = __toESM(require("react"), 1);
518
- var RoxyLocationSearch = React18.forwardRef(
519
- function RoxyLocationSearch2({ data, ...rest }, ref) {
888
+ var RoxyNumerologyCard = React18.forwardRef(
889
+ function RoxyNumerologyCard2({ data, className, style, ...rest }, ref) {
520
890
  const internal = React18.useRef(null);
521
- React18.useImperativeHandle(ref, () => internal.current);
891
+ React18.useImperativeHandle(
892
+ ref,
893
+ () => internal.current,
894
+ []
895
+ );
522
896
  const [loaded2, setLoaded] = React18.useState(false);
897
+ const [error, setError] = React18.useState(null);
523
898
  React18.useEffect(() => {
524
899
  let active = true;
525
900
  ensureScriptLoaded().then(() => {
526
901
  if (active) setLoaded(true);
902
+ }).catch((err) => {
903
+ if (!active) return;
904
+ setError(err instanceof Error ? err : new Error(String(err)));
527
905
  });
528
906
  return () => {
529
907
  active = false;
530
908
  };
531
909
  }, []);
532
910
  React18.useEffect(() => {
533
- if (internal.current && data !== void 0) {
534
- internal.current.data = data;
911
+ const el = internal.current;
912
+ if (el && data !== void 0) {
913
+ el.data = data;
535
914
  }
536
915
  }, [data, loaded2]);
537
- return React18.createElement("roxy-location-search", { ref: internal, ...rest });
916
+ if (error) {
917
+ return React18.createElement(
918
+ "div",
919
+ { role: "alert", className, style },
920
+ `Roxy UI script load failed: ${error.message}`
921
+ );
922
+ }
923
+ return React18.createElement("roxy-numerology-card", {
924
+ ref: internal,
925
+ className,
926
+ style,
927
+ ...rest
928
+ });
538
929
  }
539
930
  );
540
931
 
541
- // packages/ui-react/src/components/data.tsx
932
+ // packages/ui-react/src/components/tarot-card.tsx
542
933
  var React19 = __toESM(require("react"), 1);
543
- var RoxyData = React19.forwardRef(
544
- function RoxyData2({ data, ...rest }, ref) {
934
+ var RoxyTarotCard = React19.forwardRef(
935
+ function RoxyTarotCard2({ data, className, style, ...rest }, ref) {
545
936
  const internal = React19.useRef(null);
546
- React19.useImperativeHandle(ref, () => internal.current);
937
+ React19.useImperativeHandle(
938
+ ref,
939
+ () => internal.current,
940
+ []
941
+ );
547
942
  const [loaded2, setLoaded] = React19.useState(false);
943
+ const [error, setError] = React19.useState(null);
548
944
  React19.useEffect(() => {
549
945
  let active = true;
550
946
  ensureScriptLoaded().then(() => {
551
947
  if (active) setLoaded(true);
948
+ }).catch((err) => {
949
+ if (!active) return;
950
+ setError(err instanceof Error ? err : new Error(String(err)));
552
951
  });
553
952
  return () => {
554
953
  active = false;
555
954
  };
556
955
  }, []);
557
956
  React19.useEffect(() => {
558
- if (internal.current && data !== void 0) {
559
- internal.current.data = data;
957
+ const el = internal.current;
958
+ if (el && data !== void 0) {
959
+ el.data = data;
560
960
  }
561
961
  }, [data, loaded2]);
562
- return React19.createElement("roxy-data", { ref: internal, ...rest });
962
+ if (error) {
963
+ return React19.createElement(
964
+ "div",
965
+ { role: "alert", className, style },
966
+ `Roxy UI script load failed: ${error.message}`
967
+ );
968
+ }
969
+ return React19.createElement("roxy-tarot-card", {
970
+ ref: internal,
971
+ className,
972
+ style,
973
+ ...rest
974
+ });
975
+ }
976
+ );
977
+
978
+ // packages/ui-react/src/components/tarot-spread.tsx
979
+ var React20 = __toESM(require("react"), 1);
980
+ var RoxyTarotSpread = React20.forwardRef(
981
+ function RoxyTarotSpread2({ data, className, style, ...rest }, ref) {
982
+ const internal = React20.useRef(null);
983
+ React20.useImperativeHandle(
984
+ ref,
985
+ () => internal.current,
986
+ []
987
+ );
988
+ const [loaded2, setLoaded] = React20.useState(false);
989
+ const [error, setError] = React20.useState(null);
990
+ React20.useEffect(() => {
991
+ let active = true;
992
+ ensureScriptLoaded().then(() => {
993
+ if (active) setLoaded(true);
994
+ }).catch((err) => {
995
+ if (!active) return;
996
+ setError(err instanceof Error ? err : new Error(String(err)));
997
+ });
998
+ return () => {
999
+ active = false;
1000
+ };
1001
+ }, []);
1002
+ React20.useEffect(() => {
1003
+ const el = internal.current;
1004
+ if (el && data !== void 0) {
1005
+ el.data = data;
1006
+ }
1007
+ }, [data, loaded2]);
1008
+ if (error) {
1009
+ return React20.createElement(
1010
+ "div",
1011
+ { role: "alert", className, style },
1012
+ `Roxy UI script load failed: ${error.message}`
1013
+ );
1014
+ }
1015
+ return React20.createElement("roxy-tarot-spread", {
1016
+ ref: internal,
1017
+ className,
1018
+ style,
1019
+ ...rest
1020
+ });
1021
+ }
1022
+ );
1023
+
1024
+ // packages/ui-react/src/components/biorhythm-chart.tsx
1025
+ var React21 = __toESM(require("react"), 1);
1026
+ var RoxyBiorhythmChart = React21.forwardRef(
1027
+ function RoxyBiorhythmChart2({ data, className, style, ...rest }, ref) {
1028
+ const internal = React21.useRef(null);
1029
+ React21.useImperativeHandle(
1030
+ ref,
1031
+ () => internal.current,
1032
+ []
1033
+ );
1034
+ const [loaded2, setLoaded] = React21.useState(false);
1035
+ const [error, setError] = React21.useState(null);
1036
+ React21.useEffect(() => {
1037
+ let active = true;
1038
+ ensureScriptLoaded().then(() => {
1039
+ if (active) setLoaded(true);
1040
+ }).catch((err) => {
1041
+ if (!active) return;
1042
+ setError(err instanceof Error ? err : new Error(String(err)));
1043
+ });
1044
+ return () => {
1045
+ active = false;
1046
+ };
1047
+ }, []);
1048
+ React21.useEffect(() => {
1049
+ const el = internal.current;
1050
+ if (el && data !== void 0) {
1051
+ el.data = data;
1052
+ }
1053
+ }, [data, loaded2]);
1054
+ if (error) {
1055
+ return React21.createElement(
1056
+ "div",
1057
+ { role: "alert", className, style },
1058
+ `Roxy UI script load failed: ${error.message}`
1059
+ );
1060
+ }
1061
+ return React21.createElement("roxy-biorhythm-chart", {
1062
+ ref: internal,
1063
+ className,
1064
+ style,
1065
+ ...rest
1066
+ });
1067
+ }
1068
+ );
1069
+
1070
+ // packages/ui-react/src/components/hexagram.tsx
1071
+ var React22 = __toESM(require("react"), 1);
1072
+ var RoxyHexagram = React22.forwardRef(
1073
+ function RoxyHexagram2({ data, className, style, ...rest }, ref) {
1074
+ const internal = React22.useRef(null);
1075
+ React22.useImperativeHandle(
1076
+ ref,
1077
+ () => internal.current,
1078
+ []
1079
+ );
1080
+ const [loaded2, setLoaded] = React22.useState(false);
1081
+ const [error, setError] = React22.useState(null);
1082
+ React22.useEffect(() => {
1083
+ let active = true;
1084
+ ensureScriptLoaded().then(() => {
1085
+ if (active) setLoaded(true);
1086
+ }).catch((err) => {
1087
+ if (!active) return;
1088
+ setError(err instanceof Error ? err : new Error(String(err)));
1089
+ });
1090
+ return () => {
1091
+ active = false;
1092
+ };
1093
+ }, []);
1094
+ React22.useEffect(() => {
1095
+ const el = internal.current;
1096
+ if (el && data !== void 0) {
1097
+ el.data = data;
1098
+ }
1099
+ }, [data, loaded2]);
1100
+ if (error) {
1101
+ return React22.createElement(
1102
+ "div",
1103
+ { role: "alert", className, style },
1104
+ `Roxy UI script load failed: ${error.message}`
1105
+ );
1106
+ }
1107
+ return React22.createElement("roxy-hexagram", {
1108
+ ref: internal,
1109
+ className,
1110
+ style,
1111
+ ...rest
1112
+ });
1113
+ }
1114
+ );
1115
+
1116
+ // packages/ui-react/src/components/endpoint-form.tsx
1117
+ var React23 = __toESM(require("react"), 1);
1118
+ var RoxyEndpointForm = React23.forwardRef(
1119
+ function RoxyEndpointForm2({ className, style, onRoxySubmit, onRoxyValidationError, onRoxySpecError, ...rest }, ref) {
1120
+ const internal = React23.useRef(null);
1121
+ React23.useImperativeHandle(
1122
+ ref,
1123
+ () => internal.current,
1124
+ []
1125
+ );
1126
+ const [loaded2, setLoaded] = React23.useState(false);
1127
+ const [error, setError] = React23.useState(null);
1128
+ React23.useEffect(() => {
1129
+ let active = true;
1130
+ ensureScriptLoaded().then(() => {
1131
+ if (active) setLoaded(true);
1132
+ }).catch((err) => {
1133
+ if (!active) return;
1134
+ setError(err instanceof Error ? err : new Error(String(err)));
1135
+ });
1136
+ return () => {
1137
+ active = false;
1138
+ };
1139
+ }, []);
1140
+ React23.useEffect(() => {
1141
+ const el = internal.current;
1142
+ const handler = onRoxySubmit;
1143
+ if (!el || !handler) return;
1144
+ const listener = (event) => handler(event);
1145
+ el.addEventListener("roxy-submit", listener);
1146
+ return () => el.removeEventListener("roxy-submit", listener);
1147
+ }, [onRoxySubmit, loaded2]);
1148
+ React23.useEffect(() => {
1149
+ const el = internal.current;
1150
+ const handler = onRoxyValidationError;
1151
+ if (!el || !handler) return;
1152
+ const listener = (event) => handler(event);
1153
+ el.addEventListener("roxy-validation-error", listener);
1154
+ return () => el.removeEventListener("roxy-validation-error", listener);
1155
+ }, [onRoxyValidationError, loaded2]);
1156
+ React23.useEffect(() => {
1157
+ const el = internal.current;
1158
+ const handler = onRoxySpecError;
1159
+ if (!el || !handler) return;
1160
+ const listener = (event) => handler(event);
1161
+ el.addEventListener("roxy-spec-error", listener);
1162
+ return () => el.removeEventListener("roxy-spec-error", listener);
1163
+ }, [onRoxySpecError, loaded2]);
1164
+ if (error) {
1165
+ return React23.createElement(
1166
+ "div",
1167
+ { role: "alert", className, style },
1168
+ `Roxy UI script load failed: ${error.message}`
1169
+ );
1170
+ }
1171
+ return React23.createElement("roxy-endpoint-form", {
1172
+ ref: internal,
1173
+ className,
1174
+ style,
1175
+ ...rest
1176
+ });
1177
+ }
1178
+ );
1179
+
1180
+ // packages/ui-react/src/components/location-search.tsx
1181
+ var React24 = __toESM(require("react"), 1);
1182
+ var RoxyLocationSearch = React24.forwardRef(
1183
+ function RoxyLocationSearch2({ className, style, onRoxyLocationSelect, onRoxyValidationError, ...rest }, ref) {
1184
+ const internal = React24.useRef(null);
1185
+ React24.useImperativeHandle(
1186
+ ref,
1187
+ () => internal.current,
1188
+ []
1189
+ );
1190
+ const [loaded2, setLoaded] = React24.useState(false);
1191
+ const [error, setError] = React24.useState(null);
1192
+ React24.useEffect(() => {
1193
+ let active = true;
1194
+ ensureScriptLoaded().then(() => {
1195
+ if (active) setLoaded(true);
1196
+ }).catch((err) => {
1197
+ if (!active) return;
1198
+ setError(err instanceof Error ? err : new Error(String(err)));
1199
+ });
1200
+ return () => {
1201
+ active = false;
1202
+ };
1203
+ }, []);
1204
+ React24.useEffect(() => {
1205
+ const el = internal.current;
1206
+ const handler = onRoxyLocationSelect;
1207
+ if (!el || !handler) return;
1208
+ const listener = (event) => handler(event);
1209
+ el.addEventListener("roxy-location-select", listener);
1210
+ return () => el.removeEventListener("roxy-location-select", listener);
1211
+ }, [onRoxyLocationSelect, loaded2]);
1212
+ React24.useEffect(() => {
1213
+ const el = internal.current;
1214
+ const handler = onRoxyValidationError;
1215
+ if (!el || !handler) return;
1216
+ const listener = (event) => handler(event);
1217
+ el.addEventListener("roxy-validation-error", listener);
1218
+ return () => el.removeEventListener("roxy-validation-error", listener);
1219
+ }, [onRoxyValidationError, loaded2]);
1220
+ if (error) {
1221
+ return React24.createElement(
1222
+ "div",
1223
+ { role: "alert", className, style },
1224
+ `Roxy UI script load failed: ${error.message}`
1225
+ );
1226
+ }
1227
+ return React24.createElement("roxy-location-search", {
1228
+ ref: internal,
1229
+ className,
1230
+ style,
1231
+ ...rest
1232
+ });
1233
+ }
1234
+ );
1235
+
1236
+ // packages/ui-react/src/components/data.tsx
1237
+ var React25 = __toESM(require("react"), 1);
1238
+ var RoxyData = React25.forwardRef(
1239
+ function RoxyData2({ className, style, ...rest }, ref) {
1240
+ const internal = React25.useRef(null);
1241
+ React25.useImperativeHandle(
1242
+ ref,
1243
+ () => internal.current,
1244
+ []
1245
+ );
1246
+ const [loaded2, setLoaded] = React25.useState(false);
1247
+ const [error, setError] = React25.useState(null);
1248
+ React25.useEffect(() => {
1249
+ let active = true;
1250
+ ensureScriptLoaded().then(() => {
1251
+ if (active) setLoaded(true);
1252
+ }).catch((err) => {
1253
+ if (!active) return;
1254
+ setError(err instanceof Error ? err : new Error(String(err)));
1255
+ });
1256
+ return () => {
1257
+ active = false;
1258
+ };
1259
+ }, []);
1260
+ if (error) {
1261
+ return React25.createElement(
1262
+ "div",
1263
+ { role: "alert", className, style },
1264
+ `Roxy UI script load failed: ${error.message}`
1265
+ );
1266
+ }
1267
+ return React25.createElement("roxy-data", {
1268
+ ref: internal,
1269
+ className,
1270
+ style,
1271
+ ...rest
1272
+ });
563
1273
  }
564
1274
  );
565
1275
  //# sourceMappingURL=index.cjs.map