@roxyapi/ui 0.4.1 → 0.5.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 (216) hide show
  1. package/AGENTS.md +21 -0
  2. package/README.md +16 -0
  3. package/dist/cdn/components/ashtakavarga-grid.js +12 -12
  4. package/dist/cdn/components/ashtakavarga-grid.js.map +4 -4
  5. package/dist/cdn/components/biorhythm-chart.js +8 -8
  6. package/dist/cdn/components/biorhythm-chart.js.map +4 -4
  7. package/dist/cdn/components/choghadiya-grid.js +12 -12
  8. package/dist/cdn/components/choghadiya-grid.js.map +4 -4
  9. package/dist/cdn/components/compatibility-card.js +7 -7
  10. package/dist/cdn/components/compatibility-card.js.map +4 -4
  11. package/dist/cdn/components/dasha-timeline.js +8 -8
  12. package/dist/cdn/components/dasha-timeline.js.map +4 -4
  13. package/dist/cdn/components/data.js +14 -14
  14. package/dist/cdn/components/data.js.map +4 -4
  15. package/dist/cdn/components/divisional-chart.js +29 -29
  16. package/dist/cdn/components/divisional-chart.js.map +4 -4
  17. package/dist/cdn/components/dosha-card.js +6 -6
  18. package/dist/cdn/components/dosha-card.js.map +4 -4
  19. package/dist/cdn/components/guna-milan.js +11 -11
  20. package/dist/cdn/components/guna-milan.js.map +4 -4
  21. package/dist/cdn/components/hexagram.js +9 -9
  22. package/dist/cdn/components/hexagram.js.map +4 -4
  23. package/dist/cdn/components/horoscope-card.js +18 -18
  24. package/dist/cdn/components/horoscope-card.js.map +4 -4
  25. package/dist/cdn/components/kp-chart.js +40 -40
  26. package/dist/cdn/components/kp-chart.js.map +4 -4
  27. package/dist/cdn/components/kp-planets-table.js +7 -7
  28. package/dist/cdn/components/kp-planets-table.js.map +4 -4
  29. package/dist/cdn/components/kp-ruling-planets.js +13 -13
  30. package/dist/cdn/components/kp-ruling-planets.js.map +4 -4
  31. package/dist/cdn/components/moon-phase.js +11 -11
  32. package/dist/cdn/components/moon-phase.js.map +4 -4
  33. package/dist/cdn/components/nakshatra-card.js +16 -16
  34. package/dist/cdn/components/nakshatra-card.js.map +4 -4
  35. package/dist/cdn/components/natal-chart.js +14 -14
  36. package/dist/cdn/components/natal-chart.js.map +4 -4
  37. package/dist/cdn/components/numerology-card.js +8 -8
  38. package/dist/cdn/components/numerology-card.js.map +4 -4
  39. package/dist/cdn/components/panchang-table.js +9 -9
  40. package/dist/cdn/components/panchang-table.js.map +4 -4
  41. package/dist/cdn/components/shadbala-table.js +13 -13
  42. package/dist/cdn/components/shadbala-table.js.map +4 -4
  43. package/dist/cdn/components/synastry-chart.js +18 -18
  44. package/dist/cdn/components/synastry-chart.js.map +4 -4
  45. package/dist/cdn/components/tarot-card.js +21 -21
  46. package/dist/cdn/components/tarot-card.js.map +4 -4
  47. package/dist/cdn/components/tarot-spread.js +27 -27
  48. package/dist/cdn/components/tarot-spread.js.map +4 -4
  49. package/dist/cdn/components/transits-table.js +15 -15
  50. package/dist/cdn/components/transits-table.js.map +4 -4
  51. package/dist/cdn/components/vedic-kundli.js +36 -36
  52. package/dist/cdn/components/vedic-kundli.js.map +4 -4
  53. package/dist/cdn/components/vedic-planets-table.js +11 -11
  54. package/dist/cdn/components/vedic-planets-table.js.map +4 -4
  55. package/dist/cdn/components/western-planets-table.js +8 -8
  56. package/dist/cdn/components/western-planets-table.js.map +4 -4
  57. package/dist/cdn/components/yoga-list.js +6 -6
  58. package/dist/cdn/components/yoga-list.js.map +4 -4
  59. package/dist/cdn/roxy-ui.js +231 -231
  60. package/dist/cdn/roxy-ui.js.map +4 -4
  61. package/dist/components/ashtakavarga-grid.d.ts +1 -0
  62. package/dist/components/ashtakavarga-grid.d.ts.map +1 -1
  63. package/dist/components/ashtakavarga-grid.js +47 -1
  64. package/dist/components/ashtakavarga-grid.js.map +3 -3
  65. package/dist/components/biorhythm-chart.d.ts +1 -0
  66. package/dist/components/biorhythm-chart.d.ts.map +1 -1
  67. package/dist/components/biorhythm-chart.js +47 -1
  68. package/dist/components/biorhythm-chart.js.map +3 -3
  69. package/dist/components/choghadiya-grid.d.ts +1 -0
  70. package/dist/components/choghadiya-grid.d.ts.map +1 -1
  71. package/dist/components/choghadiya-grid.js +47 -1
  72. package/dist/components/choghadiya-grid.js.map +3 -3
  73. package/dist/components/compatibility-card.d.ts +1 -0
  74. package/dist/components/compatibility-card.d.ts.map +1 -1
  75. package/dist/components/compatibility-card.js +47 -1
  76. package/dist/components/compatibility-card.js.map +3 -3
  77. package/dist/components/dasha-timeline.d.ts +1 -0
  78. package/dist/components/dasha-timeline.d.ts.map +1 -1
  79. package/dist/components/dasha-timeline.js +47 -1
  80. package/dist/components/dasha-timeline.js.map +3 -3
  81. package/dist/components/data.d.ts +1 -0
  82. package/dist/components/data.d.ts.map +1 -1
  83. package/dist/components/data.js +47 -1
  84. package/dist/components/data.js.map +3 -3
  85. package/dist/components/divisional-chart.d.ts +1 -0
  86. package/dist/components/divisional-chart.d.ts.map +1 -1
  87. package/dist/components/divisional-chart.js +47 -1
  88. package/dist/components/divisional-chart.js.map +3 -3
  89. package/dist/components/dosha-card.d.ts +1 -0
  90. package/dist/components/dosha-card.d.ts.map +1 -1
  91. package/dist/components/dosha-card.js +47 -1
  92. package/dist/components/dosha-card.js.map +3 -3
  93. package/dist/components/guna-milan.d.ts +1 -0
  94. package/dist/components/guna-milan.d.ts.map +1 -1
  95. package/dist/components/guna-milan.js +47 -1
  96. package/dist/components/guna-milan.js.map +3 -3
  97. package/dist/components/hexagram.d.ts +1 -0
  98. package/dist/components/hexagram.d.ts.map +1 -1
  99. package/dist/components/hexagram.js +47 -1
  100. package/dist/components/hexagram.js.map +3 -3
  101. package/dist/components/horoscope-card.d.ts +1 -0
  102. package/dist/components/horoscope-card.d.ts.map +1 -1
  103. package/dist/components/horoscope-card.js +47 -1
  104. package/dist/components/horoscope-card.js.map +3 -3
  105. package/dist/components/kp-chart.d.ts +1 -0
  106. package/dist/components/kp-chart.d.ts.map +1 -1
  107. package/dist/components/kp-chart.js +47 -1
  108. package/dist/components/kp-chart.js.map +3 -3
  109. package/dist/components/kp-planets-table.d.ts +1 -0
  110. package/dist/components/kp-planets-table.d.ts.map +1 -1
  111. package/dist/components/kp-planets-table.js +47 -1
  112. package/dist/components/kp-planets-table.js.map +3 -3
  113. package/dist/components/kp-ruling-planets.d.ts +1 -0
  114. package/dist/components/kp-ruling-planets.d.ts.map +1 -1
  115. package/dist/components/kp-ruling-planets.js +47 -1
  116. package/dist/components/kp-ruling-planets.js.map +3 -3
  117. package/dist/components/moon-phase.d.ts +1 -0
  118. package/dist/components/moon-phase.d.ts.map +1 -1
  119. package/dist/components/moon-phase.js +47 -1
  120. package/dist/components/moon-phase.js.map +3 -3
  121. package/dist/components/nakshatra-card.d.ts +1 -0
  122. package/dist/components/nakshatra-card.d.ts.map +1 -1
  123. package/dist/components/nakshatra-card.js +47 -1
  124. package/dist/components/nakshatra-card.js.map +3 -3
  125. package/dist/components/natal-chart.d.ts +1 -0
  126. package/dist/components/natal-chart.d.ts.map +1 -1
  127. package/dist/components/natal-chart.js +47 -1
  128. package/dist/components/natal-chart.js.map +3 -3
  129. package/dist/components/numerology-card.d.ts +1 -0
  130. package/dist/components/numerology-card.d.ts.map +1 -1
  131. package/dist/components/numerology-card.js +47 -1
  132. package/dist/components/numerology-card.js.map +3 -3
  133. package/dist/components/panchang-table.d.ts +1 -0
  134. package/dist/components/panchang-table.d.ts.map +1 -1
  135. package/dist/components/panchang-table.js +47 -1
  136. package/dist/components/panchang-table.js.map +3 -3
  137. package/dist/components/shadbala-table.d.ts +1 -0
  138. package/dist/components/shadbala-table.d.ts.map +1 -1
  139. package/dist/components/shadbala-table.js +47 -1
  140. package/dist/components/shadbala-table.js.map +3 -3
  141. package/dist/components/synastry-chart.d.ts +1 -0
  142. package/dist/components/synastry-chart.d.ts.map +1 -1
  143. package/dist/components/synastry-chart.js +47 -1
  144. package/dist/components/synastry-chart.js.map +3 -3
  145. package/dist/components/tarot-card.d.ts +1 -0
  146. package/dist/components/tarot-card.d.ts.map +1 -1
  147. package/dist/components/tarot-card.js +47 -1
  148. package/dist/components/tarot-card.js.map +3 -3
  149. package/dist/components/tarot-spread.d.ts +1 -0
  150. package/dist/components/tarot-spread.d.ts.map +1 -1
  151. package/dist/components/tarot-spread.js +47 -1
  152. package/dist/components/tarot-spread.js.map +3 -3
  153. package/dist/components/transits-table.d.ts +1 -0
  154. package/dist/components/transits-table.d.ts.map +1 -1
  155. package/dist/components/transits-table.js +47 -1
  156. package/dist/components/transits-table.js.map +3 -3
  157. package/dist/components/vedic-kundli.d.ts +1 -0
  158. package/dist/components/vedic-kundli.d.ts.map +1 -1
  159. package/dist/components/vedic-kundli.js +47 -1
  160. package/dist/components/vedic-kundli.js.map +3 -3
  161. package/dist/components/vedic-planets-table.d.ts +1 -0
  162. package/dist/components/vedic-planets-table.d.ts.map +1 -1
  163. package/dist/components/vedic-planets-table.js +47 -1
  164. package/dist/components/vedic-planets-table.js.map +3 -3
  165. package/dist/components/western-planets-table.d.ts +1 -0
  166. package/dist/components/western-planets-table.d.ts.map +1 -1
  167. package/dist/components/western-planets-table.js +47 -1
  168. package/dist/components/western-planets-table.js.map +3 -3
  169. package/dist/components/yoga-list.d.ts +1 -0
  170. package/dist/components/yoga-list.d.ts.map +1 -1
  171. package/dist/components/yoga-list.js +47 -1
  172. package/dist/components/yoga-list.js.map +3 -3
  173. package/dist/index.cjs +102 -29
  174. package/dist/index.cjs.map +3 -3
  175. package/dist/index.js +102 -29
  176. package/dist/index.js.map +3 -3
  177. package/dist/types/index.d.ts +1 -1
  178. package/dist/types/index.d.ts.map +1 -1
  179. package/dist/types/types.gen.d.ts +590 -202
  180. package/dist/types/types.gen.d.ts.map +1 -1
  181. package/dist/utils/markup-data.d.ts +57 -0
  182. package/dist/utils/markup-data.d.ts.map +1 -0
  183. package/dist/version.d.ts +1 -1
  184. package/package.json +1 -1
  185. package/src/components/ashtakavarga-grid.ts +9 -0
  186. package/src/components/biorhythm-chart.ts +9 -0
  187. package/src/components/choghadiya-grid.ts +9 -0
  188. package/src/components/compatibility-card.ts +9 -0
  189. package/src/components/dasha-timeline.ts +9 -0
  190. package/src/components/data.ts +9 -0
  191. package/src/components/divisional-chart.ts +9 -0
  192. package/src/components/dosha-card.ts +9 -0
  193. package/src/components/guna-milan.ts +9 -0
  194. package/src/components/hexagram.ts +9 -0
  195. package/src/components/horoscope-card.ts +9 -0
  196. package/src/components/kp-chart.ts +9 -0
  197. package/src/components/kp-planets-table.ts +9 -0
  198. package/src/components/kp-ruling-planets.ts +9 -0
  199. package/src/components/moon-phase.ts +9 -0
  200. package/src/components/nakshatra-card.ts +9 -0
  201. package/src/components/natal-chart.ts +9 -0
  202. package/src/components/numerology-card.ts +9 -0
  203. package/src/components/panchang-table.ts +9 -0
  204. package/src/components/shadbala-table.ts +9 -0
  205. package/src/components/synastry-chart.ts +9 -0
  206. package/src/components/tarot-card.ts +9 -0
  207. package/src/components/tarot-spread.ts +9 -0
  208. package/src/components/transits-table.ts +9 -0
  209. package/src/components/vedic-kundli.ts +9 -0
  210. package/src/components/vedic-planets-table.ts +9 -0
  211. package/src/components/western-planets-table.ts +9 -0
  212. package/src/components/yoga-list.ts +9 -0
  213. package/src/types/index.ts +1 -1
  214. package/src/types/types.gen.ts +602 -200
  215. package/src/utils/markup-data.ts +115 -0
  216. package/src/version.ts +1 -1
package/dist/index.js CHANGED
@@ -237,6 +237,51 @@ var baseStyles = css`
237
237
  }
238
238
  `;
239
239
 
240
+ // packages/ui/src/utils/markup-data.ts
241
+ var ROXY_DATA_CLASS = "roxy-data";
242
+ function isJsonScript(el) {
243
+ return el.nodeName === "SCRIPT" && el.getAttribute("type") === "application/json";
244
+ }
245
+ var MarkupDataController = class {
246
+ constructor(host) {
247
+ this.host = host;
248
+ host.addController(this);
249
+ }
250
+ hostConnected() {
251
+ if (this.host.data != null) return;
252
+ const parsed = this.read();
253
+ if (parsed === void 0) return;
254
+ this.host.data = parsed;
255
+ this.host.requestUpdate();
256
+ }
257
+ /**
258
+ * Resolve the embedded payload. Returns `undefined` when there is nothing valid to read so the caller can leave `host.data` untouched.
259
+ */
260
+ read() {
261
+ const inline = this.findInlineScript();
262
+ return inline ? this.parse(inline.textContent) : void 0;
263
+ }
264
+ /**
265
+ * Direct-child `<script type="application/json" class="roxy-data">`. Scoped to immediate children so a nested data-driven component never has its script read by an ancestor, and so sibling fallback markup is ignored.
266
+ */
267
+ findInlineScript() {
268
+ for (const child of Array.from(this.host.children)) {
269
+ if (isJsonScript(child) && child.classList.contains(ROXY_DATA_CLASS)) {
270
+ return child;
271
+ }
272
+ }
273
+ return null;
274
+ }
275
+ parse(text) {
276
+ if (!text?.trim()) return void 0;
277
+ try {
278
+ return JSON.parse(text);
279
+ } catch {
280
+ return void 0;
281
+ }
282
+ }
283
+ };
284
+
240
285
  // packages/ui/src/components/ashtakavarga-grid.ts
241
286
  var TAB_LABELS = {
242
287
  sarva: "Sarvashtakavarga",
@@ -246,9 +291,10 @@ var TAB_LABELS = {
246
291
  var TABS = ["sarva", "bhinna", "pinda"];
247
292
  var RoxyAshtakavargaGrid = class extends LitElement {
248
293
  constructor() {
249
- super(...arguments);
294
+ super();
250
295
  this.data = null;
251
296
  this.activeTab = "sarva";
297
+ new MarkupDataController(this);
252
298
  }
253
299
  render() {
254
300
  if (!this.data) {
@@ -635,9 +681,10 @@ var CYCLE_COLOR = {
635
681
  };
636
682
  var RoxyBiorhythmChart = class extends LitElement2 {
637
683
  constructor() {
638
- super(...arguments);
684
+ super();
639
685
  this.data = null;
640
686
  this.mode = "daily";
687
+ new MarkupDataController(this);
641
688
  }
642
689
  render() {
643
690
  const d = this.data;
@@ -860,8 +907,9 @@ function fmtTime(iso) {
860
907
  }
861
908
  var RoxyChoghadiyaGrid = class extends LitElement3 {
862
909
  constructor() {
863
- super(...arguments);
910
+ super();
864
911
  this.data = null;
912
+ new MarkupDataController(this);
865
913
  }
866
914
  /**
867
915
  * True when the current wall-clock time falls inside this period. Both
@@ -1092,9 +1140,10 @@ function normalizeAspect(a) {
1092
1140
  // packages/ui/src/components/compatibility-card.ts
1093
1141
  var RoxyCompatibilityCard = class extends LitElement4 {
1094
1142
  constructor() {
1095
- super(...arguments);
1143
+ super();
1096
1144
  this.data = null;
1097
1145
  this.mode = "astrology";
1146
+ new MarkupDataController(this);
1098
1147
  }
1099
1148
  getBreakdown() {
1100
1149
  const d = this.data;
@@ -1284,9 +1333,10 @@ import { css as css6, html as html5, LitElement as LitElement5, nothing as nothi
1284
1333
  import { customElement as customElement5, property as property5 } from "lit/decorators.js";
1285
1334
  var RoxyDashaTimeline = class extends LitElement5 {
1286
1335
  constructor() {
1287
- super(...arguments);
1336
+ super();
1288
1337
  this.data = null;
1289
1338
  this.period = "current";
1339
+ new MarkupDataController(this);
1290
1340
  }
1291
1341
  render() {
1292
1342
  const d = this.data;
@@ -1568,9 +1618,10 @@ var SKIP_KEYS = ["imageUrl", "image"];
1568
1618
  var MAX_DEPTH = 6;
1569
1619
  var RoxyData = class extends LitElement6 {
1570
1620
  constructor() {
1571
- super(...arguments);
1621
+ super();
1572
1622
  this.data = null;
1573
1623
  this.depth = 0;
1624
+ new MarkupDataController(this);
1574
1625
  }
1575
1626
  render() {
1576
1627
  if (this.data == null) {
@@ -2412,12 +2463,13 @@ var kundliStyles = css8`
2412
2463
  // packages/ui/src/components/divisional-chart.ts
2413
2464
  var RoxyDivisionalChart = class extends LitElement7 {
2414
2465
  constructor() {
2415
- super(...arguments);
2466
+ super();
2416
2467
  this.data = null;
2417
2468
  this.chartStyle = "north";
2418
2469
  this.setStyle = (next) => {
2419
2470
  this.chartStyle = next;
2420
2471
  };
2472
+ new MarkupDataController(this);
2421
2473
  }
2422
2474
  viewModel() {
2423
2475
  if (!this.data?.chart?.meta) return null;
@@ -2525,9 +2577,10 @@ var DOSHA_LABELS = {
2525
2577
  };
2526
2578
  var RoxyDoshaCard = class extends LitElement8 {
2527
2579
  constructor() {
2528
- super(...arguments);
2580
+ super();
2529
2581
  this.data = null;
2530
2582
  this.type = "manglik";
2583
+ new MarkupDataController(this);
2531
2584
  }
2532
2585
  render() {
2533
2586
  const d = this.data;
@@ -3083,8 +3136,9 @@ import { css as css12, html as html11, LitElement as LitElement10, nothing as no
3083
3136
  import { customElement as customElement10, property as property10 } from "lit/decorators.js";
3084
3137
  var RoxyGunaMilan = class extends LitElement10 {
3085
3138
  constructor() {
3086
- super(...arguments);
3139
+ super();
3087
3140
  this.data = null;
3141
+ new MarkupDataController(this);
3088
3142
  }
3089
3143
  render() {
3090
3144
  const d = this.data;
@@ -3320,9 +3374,10 @@ import { css as css13, html as html12, LitElement as LitElement11, nothing as no
3320
3374
  import { customElement as customElement11, property as property11 } from "lit/decorators.js";
3321
3375
  var RoxyHexagram = class extends LitElement11 {
3322
3376
  constructor() {
3323
- super(...arguments);
3377
+ super();
3324
3378
  this.data = null;
3325
3379
  this.mode = "lookup";
3380
+ new MarkupDataController(this);
3326
3381
  }
3327
3382
  resolveHexagram() {
3328
3383
  const d = this.data;
@@ -3548,9 +3603,10 @@ import { css as css14, html as html13, LitElement as LitElement12, nothing as no
3548
3603
  import { customElement as customElement12, property as property12 } from "lit/decorators.js";
3549
3604
  var RoxyHoroscopeCard = class extends LitElement12 {
3550
3605
  constructor() {
3551
- super(...arguments);
3606
+ super();
3552
3607
  this.data = null;
3553
3608
  this.period = "daily";
3609
+ new MarkupDataController(this);
3554
3610
  }
3555
3611
  render() {
3556
3612
  const d = this.data;
@@ -3775,9 +3831,10 @@ import { css as css15, html as html14, LitElement as LitElement13, nothing as no
3775
3831
  import { customElement as customElement13, property as property13, state as state3 } from "lit/decorators.js";
3776
3832
  var RoxyKpChart = class extends LitElement13 {
3777
3833
  constructor() {
3778
- super(...arguments);
3834
+ super();
3779
3835
  this.data = null;
3780
3836
  this.activeTab = "planets";
3837
+ new MarkupDataController(this);
3781
3838
  }
3782
3839
  /** Merge the 7 planets and the two nodes into one ordered body list. */
3783
3840
  bodies() {
@@ -4049,8 +4106,9 @@ import { css as css16, html as html15, LitElement as LitElement14, nothing as no
4049
4106
  import { customElement as customElement14, property as property14 } from "lit/decorators.js";
4050
4107
  var RoxyKpPlanetsTable = class extends LitElement14 {
4051
4108
  constructor() {
4052
- super(...arguments);
4109
+ super();
4053
4110
  this.data = null;
4111
+ new MarkupDataController(this);
4054
4112
  }
4055
4113
  render() {
4056
4114
  if (!this.data)
@@ -4174,8 +4232,9 @@ import { css as css17, html as html16, LitElement as LitElement15, nothing as no
4174
4232
  import { customElement as customElement15, property as property15 } from "lit/decorators.js";
4175
4233
  var RoxyKpRulingPlanets = class extends LitElement15 {
4176
4234
  constructor() {
4177
- super(...arguments);
4235
+ super();
4178
4236
  this.data = null;
4237
+ new MarkupDataController(this);
4179
4238
  }
4180
4239
  render() {
4181
4240
  if (!this.data)
@@ -4695,9 +4754,10 @@ import { css as css19, html as html18, LitElement as LitElement17, nothing as no
4695
4754
  import { customElement as customElement17, property as property17 } from "lit/decorators.js";
4696
4755
  var RoxyMoonPhase = class extends LitElement17 {
4697
4756
  constructor() {
4698
- super(...arguments);
4757
+ super();
4699
4758
  this.data = null;
4700
4759
  this.mode = "current";
4760
+ new MarkupDataController(this);
4701
4761
  }
4702
4762
  render() {
4703
4763
  const d = this.data;
@@ -4872,8 +4932,9 @@ import { css as css20, html as html19, LitElement as LitElement18, nothing as no
4872
4932
  import { customElement as customElement18, property as property18 } from "lit/decorators.js";
4873
4933
  var RoxyNakshatraCard = class extends LitElement18 {
4874
4934
  constructor() {
4875
- super(...arguments);
4935
+ super();
4876
4936
  this.data = null;
4937
+ new MarkupDataController(this);
4877
4938
  }
4878
4939
  render() {
4879
4940
  if (!this.data)
@@ -5009,10 +5070,11 @@ var ANGLE_TICK_R = 178;
5009
5070
  var ANGLE_LABEL_R = 196;
5010
5071
  var RoxyNatalChart = class extends LitElement19 {
5011
5072
  constructor() {
5012
- super(...arguments);
5073
+ super();
5013
5074
  this.data = null;
5014
5075
  this.houseSystem = "placidus";
5015
5076
  this.view = "wheel";
5077
+ new MarkupDataController(this);
5016
5078
  }
5017
5079
  getPlanets() {
5018
5080
  return this.data?.planets ?? [];
@@ -5800,9 +5862,10 @@ import { css as css22, html as html21, LitElement as LitElement20, nothing as no
5800
5862
  import { customElement as customElement20, property as property20 } from "lit/decorators.js";
5801
5863
  var RoxyNumerologyCard = class extends LitElement20 {
5802
5864
  constructor() {
5803
- super(...arguments);
5865
+ super();
5804
5866
  this.data = null;
5805
5867
  this.type = "life-path";
5868
+ new MarkupDataController(this);
5806
5869
  }
5807
5870
  render() {
5808
5871
  const d = this.data;
@@ -5995,9 +6058,10 @@ import { css as css23, html as html22, LitElement as LitElement21, nothing as no
5995
6058
  import { customElement as customElement21, property as property21 } from "lit/decorators.js";
5996
6059
  var RoxyPanchangTable = class extends LitElement21 {
5997
6060
  constructor() {
5998
- super(...arguments);
6061
+ super();
5999
6062
  this.data = null;
6000
6063
  this.detail = "detailed";
6064
+ new MarkupDataController(this);
6001
6065
  }
6002
6066
  render() {
6003
6067
  const d = this.data;
@@ -6208,8 +6272,9 @@ var BALA_COMPONENTS = [
6208
6272
  ];
6209
6273
  var RoxyShadbalaTable = class extends LitElement22 {
6210
6274
  constructor() {
6211
- super(...arguments);
6275
+ super();
6212
6276
  this.data = null;
6277
+ new MarkupDataController(this);
6213
6278
  }
6214
6279
  render() {
6215
6280
  if (!this.data?.planets?.length) {
@@ -6445,8 +6510,9 @@ var P1_R = 124;
6445
6510
  var P2_R = 96;
6446
6511
  var RoxySynastryChart = class extends LitElement23 {
6447
6512
  constructor() {
6448
- super(...arguments);
6513
+ super();
6449
6514
  this.data = null;
6515
+ new MarkupDataController(this);
6450
6516
  }
6451
6517
  render() {
6452
6518
  if (!this.data)
@@ -6874,12 +6940,13 @@ import { css as css26, html as html25, LitElement as LitElement24, nothing as no
6874
6940
  import { customElement as customElement24, property as property24, state as state6 } from "lit/decorators.js";
6875
6941
  var RoxyTarotCard = class extends LitElement24 {
6876
6942
  constructor() {
6877
- super(...arguments);
6943
+ super();
6878
6944
  this.data = null;
6879
6945
  this.flipped = false;
6880
6946
  this.toggleFlip = () => {
6881
6947
  this.flipped = !this.flipped;
6882
6948
  };
6949
+ new MarkupDataController(this);
6883
6950
  }
6884
6951
  render() {
6885
6952
  const d = this.data;
@@ -7092,9 +7159,10 @@ import { css as css27, html as html26, LitElement as LitElement25, nothing as no
7092
7159
  import { customElement as customElement25, property as property25 } from "lit/decorators.js";
7093
7160
  var RoxyTarotSpread = class extends LitElement25 {
7094
7161
  constructor() {
7095
- super(...arguments);
7162
+ super();
7096
7163
  this.data = null;
7097
7164
  this.spread = "three-card";
7165
+ new MarkupDataController(this);
7098
7166
  }
7099
7167
  render() {
7100
7168
  const d = this.data;
@@ -7287,8 +7355,9 @@ import { css as css28, html as html27, LitElement as LitElement26, nothing as no
7287
7355
  import { customElement as customElement26, property as property26 } from "lit/decorators.js";
7288
7356
  var RoxyTransitsTable = class extends LitElement26 {
7289
7357
  constructor() {
7290
- super(...arguments);
7358
+ super();
7291
7359
  this.data = null;
7360
+ new MarkupDataController(this);
7292
7361
  }
7293
7362
  render() {
7294
7363
  if (!this.data?.transitPlanets?.length) {
@@ -7626,12 +7695,13 @@ import { html as html28, LitElement as LitElement27 } from "lit";
7626
7695
  import { customElement as customElement27, property as property27 } from "lit/decorators.js";
7627
7696
  var RoxyVedicKundli = class extends LitElement27 {
7628
7697
  constructor() {
7629
- super(...arguments);
7698
+ super();
7630
7699
  this.data = null;
7631
7700
  this.chartStyle = "north";
7632
7701
  this.setStyle = (next) => {
7633
7702
  this.chartStyle = next;
7634
7703
  };
7704
+ new MarkupDataController(this);
7635
7705
  }
7636
7706
  viewModel() {
7637
7707
  if (!this.data?.meta) return null;
@@ -7686,8 +7756,9 @@ var GRAHA_ORDER = [
7686
7756
  ];
7687
7757
  var RoxyVedicPlanetsTable = class extends LitElement28 {
7688
7758
  constructor() {
7689
- super(...arguments);
7759
+ super();
7690
7760
  this.data = null;
7761
+ new MarkupDataController(this);
7691
7762
  }
7692
7763
  /** Ordered [name, entry] pairs: GRAHA_ORDER first, then any extras. */
7693
7764
  orderedRows() {
@@ -7838,8 +7909,9 @@ import { css as css30, html as html30, LitElement as LitElement29, nothing as no
7838
7909
  import { customElement as customElement29, property as property29 } from "lit/decorators.js";
7839
7910
  var RoxyWesternPlanetsTable = class extends LitElement29 {
7840
7911
  constructor() {
7841
- super(...arguments);
7912
+ super();
7842
7913
  this.data = null;
7914
+ new MarkupDataController(this);
7843
7915
  }
7844
7916
  /** Build the ordered row list: the planets array, then the four chart points. */
7845
7917
  rows() {
@@ -7991,12 +8063,13 @@ import { css as css31, html as html31, LitElement as LitElement30, nothing as no
7991
8063
  import { customElement as customElement30, property as property30, state as state7 } from "lit/decorators.js";
7992
8064
  var RoxyYogaList = class extends LitElement30 {
7993
8065
  constructor() {
7994
- super(...arguments);
8066
+ super();
7995
8067
  this.data = null;
7996
8068
  this.filter = "";
7997
8069
  this.handleInput = (e) => {
7998
8070
  this.filter = e.target.value;
7999
8071
  };
8072
+ new MarkupDataController(this);
8000
8073
  }
8001
8074
  renderQualityChip(quality) {
8002
8075
  const cls = `quality-chip quality-${quality}`;
@@ -8592,7 +8665,7 @@ var ROXY_COMPONENTS = [
8592
8665
  ];
8593
8666
 
8594
8667
  // packages/ui/src/version.ts
8595
- var ROXY_UI_VERSION = "0.4.1";
8668
+ var ROXY_UI_VERSION = "0.5.0";
8596
8669
 
8597
8670
  // packages/ui/src/index.ts
8598
8671
  var ROXY_UI_COMPONENTS = ROXY_COMPONENTS.map((c) => c.slug);