@roxyapi/ui-vue 0.13.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 (230) hide show
  1. package/AGENTS.md +487 -0
  2. package/LICENSE +21 -0
  3. package/README.md +941 -0
  4. package/dist/components/angel-number-card.d.ts +58 -0
  5. package/dist/components/angel-number-card.d.ts.map +1 -0
  6. package/dist/components/angel-number-card.js +2 -0
  7. package/dist/components/angel-number-card.js.map +7 -0
  8. package/dist/components/angel-number-lookup.d.ts +58 -0
  9. package/dist/components/angel-number-lookup.d.ts.map +1 -0
  10. package/dist/components/angel-number-lookup.js +2 -0
  11. package/dist/components/angel-number-lookup.js.map +7 -0
  12. package/dist/components/ashtakavarga-grid.d.ts +58 -0
  13. package/dist/components/ashtakavarga-grid.d.ts.map +1 -0
  14. package/dist/components/ashtakavarga-grid.js +2 -0
  15. package/dist/components/ashtakavarga-grid.js.map +7 -0
  16. package/dist/components/aspects-table.d.ts +58 -0
  17. package/dist/components/aspects-table.d.ts.map +1 -0
  18. package/dist/components/aspects-table.js +2 -0
  19. package/dist/components/aspects-table.js.map +7 -0
  20. package/dist/components/astrocartography-map.d.ts +58 -0
  21. package/dist/components/astrocartography-map.d.ts.map +1 -0
  22. package/dist/components/astrocartography-map.js +2 -0
  23. package/dist/components/astrocartography-map.js.map +7 -0
  24. package/dist/components/biorhythm-chart.d.ts +66 -0
  25. package/dist/components/biorhythm-chart.d.ts.map +1 -0
  26. package/dist/components/biorhythm-chart.js +2 -0
  27. package/dist/components/biorhythm-chart.js.map +7 -0
  28. package/dist/components/bodygraph.d.ts +58 -0
  29. package/dist/components/bodygraph.d.ts.map +1 -0
  30. package/dist/components/bodygraph.js +2 -0
  31. package/dist/components/bodygraph.js.map +7 -0
  32. package/dist/components/choghadiya-grid.d.ts +58 -0
  33. package/dist/components/choghadiya-grid.d.ts.map +1 -0
  34. package/dist/components/choghadiya-grid.js +2 -0
  35. package/dist/components/choghadiya-grid.js.map +7 -0
  36. package/dist/components/compatibility-card.d.ts +66 -0
  37. package/dist/components/compatibility-card.d.ts.map +1 -0
  38. package/dist/components/compatibility-card.js +2 -0
  39. package/dist/components/compatibility-card.js.map +7 -0
  40. package/dist/components/crystal-card.d.ts +58 -0
  41. package/dist/components/crystal-card.d.ts.map +1 -0
  42. package/dist/components/crystal-card.js +2 -0
  43. package/dist/components/crystal-card.js.map +7 -0
  44. package/dist/components/crystal-grid.d.ts +66 -0
  45. package/dist/components/crystal-grid.d.ts.map +1 -0
  46. package/dist/components/crystal-grid.js +2 -0
  47. package/dist/components/crystal-grid.js.map +7 -0
  48. package/dist/components/dasha-timeline.d.ts +66 -0
  49. package/dist/components/dasha-timeline.d.ts.map +1 -0
  50. package/dist/components/dasha-timeline.js +2 -0
  51. package/dist/components/dasha-timeline.js.map +7 -0
  52. package/dist/components/data.d.ts +4 -0
  53. package/dist/components/data.d.ts.map +1 -0
  54. package/dist/components/data.js +2 -0
  55. package/dist/components/data.js.map +7 -0
  56. package/dist/components/divisional-chart.d.ts +66 -0
  57. package/dist/components/divisional-chart.d.ts.map +1 -0
  58. package/dist/components/divisional-chart.js +2 -0
  59. package/dist/components/divisional-chart.js.map +7 -0
  60. package/dist/components/dosha-card.d.ts +66 -0
  61. package/dist/components/dosha-card.d.ts.map +1 -0
  62. package/dist/components/dosha-card.js +2 -0
  63. package/dist/components/dosha-card.js.map +7 -0
  64. package/dist/components/dream-card.d.ts +58 -0
  65. package/dist/components/dream-card.d.ts.map +1 -0
  66. package/dist/components/dream-card.js +2 -0
  67. package/dist/components/dream-card.js.map +7 -0
  68. package/dist/components/dream-search.d.ts +58 -0
  69. package/dist/components/dream-search.d.ts.map +1 -0
  70. package/dist/components/dream-search.js +2 -0
  71. package/dist/components/dream-search.js.map +7 -0
  72. package/dist/components/endpoint-form.d.ts +41 -0
  73. package/dist/components/endpoint-form.d.ts.map +1 -0
  74. package/dist/components/endpoint-form.js +2 -0
  75. package/dist/components/endpoint-form.js.map +7 -0
  76. package/dist/components/fixed-stars.d.ts +58 -0
  77. package/dist/components/fixed-stars.d.ts.map +1 -0
  78. package/dist/components/fixed-stars.js +2 -0
  79. package/dist/components/fixed-stars.js.map +7 -0
  80. package/dist/components/forecast-digest.d.ts +58 -0
  81. package/dist/components/forecast-digest.d.ts.map +1 -0
  82. package/dist/components/forecast-digest.js +2 -0
  83. package/dist/components/forecast-digest.js.map +7 -0
  84. package/dist/components/forecast-timeline.d.ts +58 -0
  85. package/dist/components/forecast-timeline.d.ts.map +1 -0
  86. package/dist/components/forecast-timeline.js +2 -0
  87. package/dist/components/forecast-timeline.js.map +7 -0
  88. package/dist/components/guna-milan.d.ts +58 -0
  89. package/dist/components/guna-milan.d.ts.map +1 -0
  90. package/dist/components/guna-milan.js +2 -0
  91. package/dist/components/guna-milan.js.map +7 -0
  92. package/dist/components/hd-connection.d.ts +58 -0
  93. package/dist/components/hd-connection.d.ts.map +1 -0
  94. package/dist/components/hd-connection.js +2 -0
  95. package/dist/components/hd-connection.js.map +7 -0
  96. package/dist/components/hd-penta.d.ts +58 -0
  97. package/dist/components/hd-penta.d.ts.map +1 -0
  98. package/dist/components/hd-penta.js +2 -0
  99. package/dist/components/hd-penta.js.map +7 -0
  100. package/dist/components/hd-type-card.d.ts +58 -0
  101. package/dist/components/hd-type-card.d.ts.map +1 -0
  102. package/dist/components/hd-type-card.js +2 -0
  103. package/dist/components/hd-type-card.js.map +7 -0
  104. package/dist/components/hd-variables.d.ts +58 -0
  105. package/dist/components/hd-variables.d.ts.map +1 -0
  106. package/dist/components/hd-variables.js +2 -0
  107. package/dist/components/hd-variables.js.map +7 -0
  108. package/dist/components/hexagram.d.ts +66 -0
  109. package/dist/components/hexagram.d.ts.map +1 -0
  110. package/dist/components/hexagram.js +2 -0
  111. package/dist/components/hexagram.js.map +7 -0
  112. package/dist/components/hora-table.d.ts +58 -0
  113. package/dist/components/hora-table.d.ts.map +1 -0
  114. package/dist/components/hora-table.js +2 -0
  115. package/dist/components/hora-table.js.map +7 -0
  116. package/dist/components/horoscope-card.d.ts +66 -0
  117. package/dist/components/horoscope-card.d.ts.map +1 -0
  118. package/dist/components/horoscope-card.js +2 -0
  119. package/dist/components/horoscope-card.js.map +7 -0
  120. package/dist/components/kp-chart.d.ts +58 -0
  121. package/dist/components/kp-chart.d.ts.map +1 -0
  122. package/dist/components/kp-chart.js +2 -0
  123. package/dist/components/kp-chart.js.map +7 -0
  124. package/dist/components/kp-planets-table.d.ts +58 -0
  125. package/dist/components/kp-planets-table.d.ts.map +1 -0
  126. package/dist/components/kp-planets-table.js +2 -0
  127. package/dist/components/kp-planets-table.js.map +7 -0
  128. package/dist/components/kp-ruling-planets.d.ts +58 -0
  129. package/dist/components/kp-ruling-planets.d.ts.map +1 -0
  130. package/dist/components/kp-ruling-planets.js +2 -0
  131. package/dist/components/kp-ruling-planets.js.map +7 -0
  132. package/dist/components/local-space-compass.d.ts +58 -0
  133. package/dist/components/local-space-compass.d.ts.map +1 -0
  134. package/dist/components/local-space-compass.js +2 -0
  135. package/dist/components/local-space-compass.js.map +7 -0
  136. package/dist/components/location-search.d.ts +37 -0
  137. package/dist/components/location-search.d.ts.map +1 -0
  138. package/dist/components/location-search.js +2 -0
  139. package/dist/components/location-search.js.map +7 -0
  140. package/dist/components/moon-phase.d.ts +66 -0
  141. package/dist/components/moon-phase.d.ts.map +1 -0
  142. package/dist/components/moon-phase.js +2 -0
  143. package/dist/components/moon-phase.js.map +7 -0
  144. package/dist/components/nakshatra-card.d.ts +58 -0
  145. package/dist/components/nakshatra-card.d.ts.map +1 -0
  146. package/dist/components/nakshatra-card.js +2 -0
  147. package/dist/components/nakshatra-card.js.map +7 -0
  148. package/dist/components/natal-chart.d.ts +66 -0
  149. package/dist/components/natal-chart.d.ts.map +1 -0
  150. package/dist/components/natal-chart.js +2 -0
  151. package/dist/components/natal-chart.js.map +7 -0
  152. package/dist/components/numerology-card.d.ts +66 -0
  153. package/dist/components/numerology-card.d.ts.map +1 -0
  154. package/dist/components/numerology-card.js +2 -0
  155. package/dist/components/numerology-card.js.map +7 -0
  156. package/dist/components/panchang-table.d.ts +66 -0
  157. package/dist/components/panchang-table.d.ts.map +1 -0
  158. package/dist/components/panchang-table.js +2 -0
  159. package/dist/components/panchang-table.js.map +7 -0
  160. package/dist/components/positions-table.d.ts +66 -0
  161. package/dist/components/positions-table.d.ts.map +1 -0
  162. package/dist/components/positions-table.js +2 -0
  163. package/dist/components/positions-table.js.map +7 -0
  164. package/dist/components/profection-card.d.ts +58 -0
  165. package/dist/components/profection-card.d.ts.map +1 -0
  166. package/dist/components/profection-card.js +2 -0
  167. package/dist/components/profection-card.js.map +7 -0
  168. package/dist/components/reference-card.d.ts +58 -0
  169. package/dist/components/reference-card.d.ts.map +1 -0
  170. package/dist/components/reference-card.js +2 -0
  171. package/dist/components/reference-card.js.map +7 -0
  172. package/dist/components/relocation-wheel.d.ts +58 -0
  173. package/dist/components/relocation-wheel.d.ts.map +1 -0
  174. package/dist/components/relocation-wheel.js +2 -0
  175. package/dist/components/relocation-wheel.js.map +7 -0
  176. package/dist/components/shadbala-table.d.ts +58 -0
  177. package/dist/components/shadbala-table.d.ts.map +1 -0
  178. package/dist/components/shadbala-table.js +2 -0
  179. package/dist/components/shadbala-table.js.map +7 -0
  180. package/dist/components/synastry-chart.d.ts +65 -0
  181. package/dist/components/synastry-chart.d.ts.map +1 -0
  182. package/dist/components/synastry-chart.js +2 -0
  183. package/dist/components/synastry-chart.js.map +7 -0
  184. package/dist/components/tarot-card.d.ts +58 -0
  185. package/dist/components/tarot-card.d.ts.map +1 -0
  186. package/dist/components/tarot-card.js +2 -0
  187. package/dist/components/tarot-card.js.map +7 -0
  188. package/dist/components/tarot-catalog.d.ts +66 -0
  189. package/dist/components/tarot-catalog.d.ts.map +1 -0
  190. package/dist/components/tarot-catalog.js +2 -0
  191. package/dist/components/tarot-catalog.js.map +7 -0
  192. package/dist/components/tarot-spread.d.ts +66 -0
  193. package/dist/components/tarot-spread.d.ts.map +1 -0
  194. package/dist/components/tarot-spread.js +2 -0
  195. package/dist/components/tarot-spread.js.map +7 -0
  196. package/dist/components/transits-table.d.ts +58 -0
  197. package/dist/components/transits-table.d.ts.map +1 -0
  198. package/dist/components/transits-table.js +2 -0
  199. package/dist/components/transits-table.js.map +7 -0
  200. package/dist/components/vedic-aspects.d.ts +58 -0
  201. package/dist/components/vedic-aspects.d.ts.map +1 -0
  202. package/dist/components/vedic-aspects.js +2 -0
  203. package/dist/components/vedic-aspects.js.map +7 -0
  204. package/dist/components/vedic-kundli.d.ts +82 -0
  205. package/dist/components/vedic-kundli.d.ts.map +1 -0
  206. package/dist/components/vedic-kundli.js +2 -0
  207. package/dist/components/vedic-kundli.js.map +7 -0
  208. package/dist/components/vedic-planets-table.d.ts +58 -0
  209. package/dist/components/vedic-planets-table.d.ts.map +1 -0
  210. package/dist/components/vedic-planets-table.js +2 -0
  211. package/dist/components/vedic-planets-table.js.map +7 -0
  212. package/dist/components/western-planets-table.d.ts +58 -0
  213. package/dist/components/western-planets-table.d.ts.map +1 -0
  214. package/dist/components/western-planets-table.js +2 -0
  215. package/dist/components/western-planets-table.js.map +7 -0
  216. package/dist/components/yoga-list.d.ts +60 -0
  217. package/dist/components/yoga-list.d.ts.map +1 -0
  218. package/dist/components/yoga-list.js +2 -0
  219. package/dist/components/yoga-list.js.map +7 -0
  220. package/dist/index.cjs +2 -0
  221. package/dist/index.cjs.map +7 -0
  222. package/dist/index.d.ts +56 -0
  223. package/dist/index.d.ts.map +1 -0
  224. package/dist/index.js +2 -0
  225. package/dist/index.js.map +7 -0
  226. package/dist/load-ui.d.ts +4 -0
  227. package/dist/load-ui.d.ts.map +1 -0
  228. package/dist/load-ui.js +2 -0
  229. package/dist/load-ui.js.map +7 -0
  230. package/package.json +69 -0
@@ -0,0 +1,58 @@
1
+ import { type PropType } from 'vue';
2
+ import type { KpRulingPlanetsResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyKpRulingPlanetsProps {
4
+ /** Spec-derived response payload. Pass the raw RoxyAPI response. */
5
+ data?: KpRulingPlanetsResponse;
6
+ /** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. "astrology/natal-chart". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */
7
+ endpoint?: string;
8
+ /** HTTP method for the self-fetch request. Defaults to POST. */
9
+ method?: 'GET' | 'POST';
10
+ /** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */
11
+ publishableKey?: string;
12
+ /** Override the API origin for self-hosted or proxied deployments. */
13
+ baseUrl?: string;
14
+ /** Override the OpenAPI spec URL the self-fetch form introspects. */
15
+ specUrl?: string;
16
+ }
17
+ export declare const RoxyKpRulingPlanets: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
+ data: {
19
+ type: PropType<RoxyKpRulingPlanetsProps["data"]>;
20
+ };
21
+ endpoint: {
22
+ type: PropType<RoxyKpRulingPlanetsProps["endpoint"]>;
23
+ };
24
+ method: {
25
+ type: PropType<RoxyKpRulingPlanetsProps["method"]>;
26
+ };
27
+ publishableKey: {
28
+ type: PropType<RoxyKpRulingPlanetsProps["publishableKey"]>;
29
+ };
30
+ baseUrl: {
31
+ type: PropType<RoxyKpRulingPlanetsProps["baseUrl"]>;
32
+ };
33
+ specUrl: {
34
+ type: PropType<RoxyKpRulingPlanetsProps["specUrl"]>;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: {
40
+ type: PropType<RoxyKpRulingPlanetsProps["data"]>;
41
+ };
42
+ endpoint: {
43
+ type: PropType<RoxyKpRulingPlanetsProps["endpoint"]>;
44
+ };
45
+ method: {
46
+ type: PropType<RoxyKpRulingPlanetsProps["method"]>;
47
+ };
48
+ publishableKey: {
49
+ type: PropType<RoxyKpRulingPlanetsProps["publishableKey"]>;
50
+ };
51
+ baseUrl: {
52
+ type: PropType<RoxyKpRulingPlanetsProps["baseUrl"]>;
53
+ };
54
+ specUrl: {
55
+ type: PropType<RoxyKpRulingPlanetsProps["specUrl"]>;
56
+ };
57
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
58
+ //# sourceMappingURL=kp-ruling-planets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kp-ruling-planets.d.ts","sourceRoot":"","sources":["../../src/components/kp-ruling-planets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACxC,oEAAoE;IACpE,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,mPAAmP;IACnP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,mBAAmB;;cAGN,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;;;cACtC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;;;cAChD,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;;;cACpC,QAAQ,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;;;cAC3D,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;;;cAC7C,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;;;;;;cALhD,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;;;cACtC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;;;cAChD,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;;;cACpC,QAAQ,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;;;cAC3D,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;;;cAC7C,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;;iGA+BxE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as c,h as s,onMounted as f,ref as P}from"vue";var o="roxyapi-ui-loader",d="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",p="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",u="/dist/cdn",i=null;function y(e){return!e||e==="latest"?d:`${p}${e}${u}`}function l(e="latest"){return typeof document>"u"?Promise.resolve():i||(i=new Promise((r,n)=>{let a=`${y(e)}/roxy-ui.js`,t=document.getElementById(o);if(t){t.dataset.loaded==="true"?r():(t.addEventListener("load",()=>r()),t.addEventListener("error",()=>n(new Error("roxy-ui load failed"))));return}t=document.createElement("script"),t.id=o,t.src=a,t.async=!0,t.crossOrigin="anonymous",t.addEventListener("load",()=>{t.dataset.loaded="true",r()}),t.addEventListener("error",()=>n(new Error("roxy-ui load failed"))),document.head.appendChild(t)}),i)}var x=c({name:"RoxyKpRulingPlanets",props:{data:{type:Object},endpoint:{type:String},method:{type:String},publishableKey:{type:String},baseUrl:{type:String},specUrl:{type:String}},setup(e){let r=P(null);return f(()=>{l().catch(n=>{r.value=n instanceof Error?n:new Error(String(n))})}),()=>{if(r.value)return s("div",{role:"alert"},`Roxy UI script load failed: ${r.value.message}`);let n={};return e.data!==void 0&&(n[".data"]=e.data),e.endpoint!==void 0&&(n[".endpoint"]=e.endpoint),e.method!==void 0&&(n[".method"]=e.method),e.publishableKey!==void 0&&(n[".publishableKey"]=e.publishableKey),e.baseUrl!==void 0&&(n[".baseUrl"]=e.baseUrl),e.specUrl!==void 0&&(n[".specUrl"]=e.specUrl),s("roxy-kp-ruling-planets",n)}}});export{x as RoxyKpRulingPlanets};
2
+ //# sourceMappingURL=kp-ruling-planets.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/kp-ruling-planets.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { KpRulingPlanetsResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyKpRulingPlanetsProps {\n\t/** Spec-derived response payload. Pass the raw RoxyAPI response. */\n\tdata?: KpRulingPlanetsResponse;\n\t/** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. \"astrology/natal-chart\". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */\n\tendpoint?: string;\n\t/** HTTP method for the self-fetch request. Defaults to POST. */\n\tmethod?: 'GET' | 'POST';\n\t/** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */\n\tpublishableKey?: string;\n\t/** Override the API origin for self-hosted or proxied deployments. */\n\tbaseUrl?: string;\n\t/** Override the OpenAPI spec URL the self-fetch form introspects. */\n\tspecUrl?: string;\n}\n\nexport const RoxyKpRulingPlanets = defineComponent({\n\tname: 'RoxyKpRulingPlanets',\n\tprops: {\n\t\tdata: { type: Object as PropType<RoxyKpRulingPlanetsProps['data']> },\n\t\tendpoint: { type: String as PropType<RoxyKpRulingPlanetsProps['endpoint']> },\n\t\tmethod: { type: String as PropType<RoxyKpRulingPlanetsProps['method']> },\n\t\tpublishableKey: { type: String as PropType<RoxyKpRulingPlanetsProps['publishableKey']> },\n\t\tbaseUrl: { type: String as PropType<RoxyKpRulingPlanetsProps['baseUrl']> },\n\t\tspecUrl: { type: String as PropType<RoxyKpRulingPlanetsProps['specUrl']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.data !== undefined) elementProps['.data'] = props.data;\n\t\t\tif (props.endpoint !== undefined) elementProps['.endpoint'] = props.endpoint;\n\t\t\tif (props.method !== undefined) elementProps['.method'] = props.method;\n\t\t\tif (props.publishableKey !== undefined) elementProps['.publishableKey'] = props.publishableKey;\n\t\t\tif (props.baseUrl !== undefined) elementProps['.baseUrl'] = props.baseUrl;\n\t\t\tif (props.specUrl !== undefined) elementProps['.specUrl'] = props.specUrl;\n\n\t\t\treturn h('roxy-kp-ruling-planets', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CD/BO,IAAMQ,EAAsBC,EAAgB,CAClD,KAAM,sBACN,MAAO,CACN,KAAM,CAAE,KAAM,MAAqD,EACnE,SAAU,CAAE,KAAM,MAAyD,EAC3E,OAAQ,CAAE,KAAM,MAAuD,EACvE,eAAgB,CAAE,KAAM,MAA+D,EACvF,QAAS,CAAE,KAAM,MAAwD,EACzE,QAAS,CAAE,KAAM,MAAwD,CAC1E,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,WAAa,SAAWO,EAAa,WAAW,EAAIP,EAAM,UAChEA,EAAM,SAAW,SAAWO,EAAa,SAAS,EAAIP,EAAM,QAC5DA,EAAM,iBAAmB,SAAWO,EAAa,iBAAiB,EAAIP,EAAM,gBAC5EA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAC9DA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAE3DM,EAAE,yBAA0BC,CAAY,CAChD,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyKpRulingPlanets", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }
@@ -0,0 +1,58 @@
1
+ import { type PropType } from 'vue';
2
+ import type { LocalSpaceResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyLocalSpaceCompassProps {
4
+ /** Spec-derived response payload. Pass the raw RoxyAPI response. */
5
+ data?: LocalSpaceResponse;
6
+ /** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. "astrology/natal-chart". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */
7
+ endpoint?: string;
8
+ /** HTTP method for the self-fetch request. Defaults to POST. */
9
+ method?: 'GET' | 'POST';
10
+ /** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */
11
+ publishableKey?: string;
12
+ /** Override the API origin for self-hosted or proxied deployments. */
13
+ baseUrl?: string;
14
+ /** Override the OpenAPI spec URL the self-fetch form introspects. */
15
+ specUrl?: string;
16
+ }
17
+ export declare const RoxyLocalSpaceCompass: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
+ data: {
19
+ type: PropType<RoxyLocalSpaceCompassProps["data"]>;
20
+ };
21
+ endpoint: {
22
+ type: PropType<RoxyLocalSpaceCompassProps["endpoint"]>;
23
+ };
24
+ method: {
25
+ type: PropType<RoxyLocalSpaceCompassProps["method"]>;
26
+ };
27
+ publishableKey: {
28
+ type: PropType<RoxyLocalSpaceCompassProps["publishableKey"]>;
29
+ };
30
+ baseUrl: {
31
+ type: PropType<RoxyLocalSpaceCompassProps["baseUrl"]>;
32
+ };
33
+ specUrl: {
34
+ type: PropType<RoxyLocalSpaceCompassProps["specUrl"]>;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: {
40
+ type: PropType<RoxyLocalSpaceCompassProps["data"]>;
41
+ };
42
+ endpoint: {
43
+ type: PropType<RoxyLocalSpaceCompassProps["endpoint"]>;
44
+ };
45
+ method: {
46
+ type: PropType<RoxyLocalSpaceCompassProps["method"]>;
47
+ };
48
+ publishableKey: {
49
+ type: PropType<RoxyLocalSpaceCompassProps["publishableKey"]>;
50
+ };
51
+ baseUrl: {
52
+ type: PropType<RoxyLocalSpaceCompassProps["baseUrl"]>;
53
+ };
54
+ specUrl: {
55
+ type: PropType<RoxyLocalSpaceCompassProps["specUrl"]>;
56
+ };
57
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
58
+ //# sourceMappingURL=local-space-compass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-space-compass.d.ts","sourceRoot":"","sources":["../../src/components/local-space-compass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,0BAA0B;IAC1C,oEAAoE;IACpE,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,mPAAmP;IACnP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB;;cAGR,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;;;cACxC,QAAQ,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;;;cAClD,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;;;cACtC,QAAQ,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;;;cAC7D,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;;;cAC/C,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;;;;;;cALlD,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;;;cACxC,QAAQ,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;;;cAClD,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;;;cACtC,QAAQ,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;;;cAC7D,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;;;cAC/C,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;;iGA+B1E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as y,h as i,onMounted as m,ref as f}from"vue";var a="roxyapi-ui-loader",l="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",p="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",c="/dist/cdn",r=null;function u(e){return!e||e==="latest"?l:`${p}${e}${c}`}function s(e="latest"){return typeof document>"u"?Promise.resolve():r||(r=new Promise((n,t)=>{let d=`${u(e)}/roxy-ui.js`,o=document.getElementById(a);if(o){o.dataset.loaded==="true"?n():(o.addEventListener("load",()=>n()),o.addEventListener("error",()=>t(new Error("roxy-ui load failed"))));return}o=document.createElement("script"),o.id=a,o.src=d,o.async=!0,o.crossOrigin="anonymous",o.addEventListener("load",()=>{o.dataset.loaded="true",n()}),o.addEventListener("error",()=>t(new Error("roxy-ui load failed"))),document.head.appendChild(o)}),r)}var b=y({name:"RoxyLocalSpaceCompass",props:{data:{type:Object},endpoint:{type:String},method:{type:String},publishableKey:{type:String},baseUrl:{type:String},specUrl:{type:String}},setup(e){let n=f(null);return m(()=>{s().catch(t=>{n.value=t instanceof Error?t:new Error(String(t))})}),()=>{if(n.value)return i("div",{role:"alert"},`Roxy UI script load failed: ${n.value.message}`);let t={};return e.data!==void 0&&(t[".data"]=e.data),e.endpoint!==void 0&&(t[".endpoint"]=e.endpoint),e.method!==void 0&&(t[".method"]=e.method),e.publishableKey!==void 0&&(t[".publishableKey"]=e.publishableKey),e.baseUrl!==void 0&&(t[".baseUrl"]=e.baseUrl),e.specUrl!==void 0&&(t[".specUrl"]=e.specUrl),i("roxy-local-space-compass",t)}}});export{b as RoxyLocalSpaceCompass};
2
+ //# sourceMappingURL=local-space-compass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/local-space-compass.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { LocalSpaceResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyLocalSpaceCompassProps {\n\t/** Spec-derived response payload. Pass the raw RoxyAPI response. */\n\tdata?: LocalSpaceResponse;\n\t/** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. \"astrology/natal-chart\". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */\n\tendpoint?: string;\n\t/** HTTP method for the self-fetch request. Defaults to POST. */\n\tmethod?: 'GET' | 'POST';\n\t/** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */\n\tpublishableKey?: string;\n\t/** Override the API origin for self-hosted or proxied deployments. */\n\tbaseUrl?: string;\n\t/** Override the OpenAPI spec URL the self-fetch form introspects. */\n\tspecUrl?: string;\n}\n\nexport const RoxyLocalSpaceCompass = defineComponent({\n\tname: 'RoxyLocalSpaceCompass',\n\tprops: {\n\t\tdata: { type: Object as PropType<RoxyLocalSpaceCompassProps['data']> },\n\t\tendpoint: { type: String as PropType<RoxyLocalSpaceCompassProps['endpoint']> },\n\t\tmethod: { type: String as PropType<RoxyLocalSpaceCompassProps['method']> },\n\t\tpublishableKey: { type: String as PropType<RoxyLocalSpaceCompassProps['publishableKey']> },\n\t\tbaseUrl: { type: String as PropType<RoxyLocalSpaceCompassProps['baseUrl']> },\n\t\tspecUrl: { type: String as PropType<RoxyLocalSpaceCompassProps['specUrl']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.data !== undefined) elementProps['.data'] = props.data;\n\t\t\tif (props.endpoint !== undefined) elementProps['.endpoint'] = props.endpoint;\n\t\t\tif (props.method !== undefined) elementProps['.method'] = props.method;\n\t\t\tif (props.publishableKey !== undefined) elementProps['.publishableKey'] = props.publishableKey;\n\t\t\tif (props.baseUrl !== undefined) elementProps['.baseUrl'] = props.baseUrl;\n\t\t\tif (props.specUrl !== undefined) elementProps['.specUrl'] = props.specUrl;\n\n\t\t\treturn h('roxy-local-space-compass', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CD/BO,IAAMQ,EAAwBC,EAAgB,CACpD,KAAM,wBACN,MAAO,CACN,KAAM,CAAE,KAAM,MAAuD,EACrE,SAAU,CAAE,KAAM,MAA2D,EAC7E,OAAQ,CAAE,KAAM,MAAyD,EACzE,eAAgB,CAAE,KAAM,MAAiE,EACzF,QAAS,CAAE,KAAM,MAA0D,EAC3E,QAAS,CAAE,KAAM,MAA0D,CAC5E,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,WAAa,SAAWO,EAAa,WAAW,EAAIP,EAAM,UAChEA,EAAM,SAAW,SAAWO,EAAa,SAAS,EAAIP,EAAM,QAC5DA,EAAM,iBAAmB,SAAWO,EAAa,iBAAiB,EAAIP,EAAM,gBAC5EA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAC9DA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAE3DM,EAAE,2BAA4BC,CAAY,CAClD,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyLocalSpaceCompass", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }
@@ -0,0 +1,37 @@
1
+ import { type PropType } from 'vue';
2
+ import type { SearchCitiesResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyLocationSearchProps {
4
+ /** Fires when the underlying <roxy-location-search> dispatches `roxy-location-select`. */
5
+ onRoxyLocationSelect?: (event: CustomEvent<NonNullable<SearchCitiesResponse['cities']>[number] | {
6
+ latitude?: number;
7
+ longitude?: number;
8
+ timezone?: string;
9
+ utcOffset?: number;
10
+ city?: string;
11
+ province?: string;
12
+ country?: string;
13
+ }>) => void;
14
+ /** Fires when the underlying <roxy-location-search> dispatches `roxy-validation-error`. */
15
+ onRoxyValidationError?: (event: CustomEvent<{
16
+ reason: string;
17
+ message: string;
18
+ }>) => void;
19
+ }
20
+ export declare const RoxyLocationSearch: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
21
+ onRoxyLocationSelect: {
22
+ type: PropType<RoxyLocationSearchProps["onRoxyLocationSelect"]>;
23
+ };
24
+ onRoxyValidationError: {
25
+ type: PropType<RoxyLocationSearchProps["onRoxyValidationError"]>;
26
+ };
27
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
30
+ onRoxyLocationSelect: {
31
+ type: PropType<RoxyLocationSearchProps["onRoxyLocationSelect"]>;
32
+ };
33
+ onRoxyValidationError: {
34
+ type: PropType<RoxyLocationSearchProps["onRoxyValidationError"]>;
35
+ };
36
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
37
+ //# sourceMappingURL=location-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-search.d.ts","sourceRoot":"","sources":["../../src/components/location-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACvC,0FAA0F;IAC1F,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAChP,2FAA2F;IAC3F,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC1F;AAED,eAAO,MAAM,kBAAkB;;cAGa,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;;;cACxD,QAAQ,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;;;;;;cAD3D,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;;;cACxD,QAAQ,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;;iGA2BrG,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as y,h as s,onMounted as m,ref as x}from"vue";var i="roxyapi-ui-loader",c="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",l="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",u="/dist/cdn",r=null;function p(e){return!e||e==="latest"?c:`${l}${e}${u}`}function a(e="latest"){return typeof document>"u"?Promise.resolve():r||(r=new Promise((n,t)=>{let d=`${p(e)}/roxy-ui.js`,o=document.getElementById(i);if(o){o.dataset.loaded==="true"?n():(o.addEventListener("load",()=>n()),o.addEventListener("error",()=>t(new Error("roxy-ui load failed"))));return}o=document.createElement("script"),o.id=i,o.src=d,o.async=!0,o.crossOrigin="anonymous",o.addEventListener("load",()=>{o.dataset.loaded="true",n()}),o.addEventListener("error",()=>t(new Error("roxy-ui load failed"))),document.head.appendChild(o)}),r)}var S=y({name:"RoxyLocationSearch",props:{onRoxyLocationSelect:{type:Function},onRoxyValidationError:{type:Function}},setup(e){let n=x(null);return m(()=>{a().catch(t=>{n.value=t instanceof Error?t:new Error(String(t))})}),()=>{if(n.value)return s("div",{role:"alert"},`Roxy UI script load failed: ${n.value.message}`);let t={};return e.onRoxyLocationSelect&&(t.onRoxyLocationSelect=e.onRoxyLocationSelect),e.onRoxyValidationError&&(t.onRoxyValidationError=e.onRoxyValidationError),s("roxy-location-search",t)}}});export{S as RoxyLocationSearch};
2
+ //# sourceMappingURL=location-search.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/location-search.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { SearchCitiesResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyLocationSearchProps {\n\t/** Fires when the underlying <roxy-location-search> dispatches `roxy-location-select`. */\n\tonRoxyLocationSelect?: (event: CustomEvent<NonNullable<SearchCitiesResponse['cities']>[number] | { latitude?: number; longitude?: number; timezone?: string; utcOffset?: number; city?: string; province?: string; country?: string }>) => void;\n\t/** Fires when the underlying <roxy-location-search> dispatches `roxy-validation-error`. */\n\tonRoxyValidationError?: (event: CustomEvent<{ reason: string; message: string }>) => void;\n}\n\nexport const RoxyLocationSearch = defineComponent({\n\tname: 'RoxyLocationSearch',\n\tprops: {\n\t\tonRoxyLocationSelect: { type: Function as PropType<RoxyLocationSearchProps['onRoxyLocationSelect']> },\n\t\tonRoxyValidationError: { type: Function as PropType<RoxyLocationSearchProps['onRoxyValidationError']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.onRoxyLocationSelect) elementProps.onRoxyLocationSelect = props.onRoxyLocationSelect;\n\t\t\tif (props.onRoxyValidationError) elementProps.onRoxyValidationError = props.onRoxyValidationError;\n\n\t\t\treturn h('roxy-location-search', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CDvCO,IAAMQ,EAAqBC,EAAgB,CACjD,KAAM,qBACN,MAAO,CACN,qBAAsB,CAAE,KAAM,QAAsE,EACpG,sBAAuB,CAAE,KAAM,QAAuE,CACvG,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,uBAAsBO,EAAa,qBAAuBP,EAAM,sBACtEA,EAAM,wBAAuBO,EAAa,sBAAwBP,EAAM,uBAErEM,EAAE,uBAAwBC,CAAY,CAC9C,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyLocationSearch", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }
@@ -0,0 +1,66 @@
1
+ import { type PropType } from 'vue';
2
+ import type { GetCurrentMoonPhaseResponse, GetMoonCalendarResponse, GetUpcomingMoonPhasesResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyMoonPhaseProps {
4
+ /** Spec-derived response payload. Pass the raw RoxyAPI response. */
5
+ data?: GetCurrentMoonPhaseResponse | GetUpcomingMoonPhasesResponse | GetMoonCalendarResponse;
6
+ /** Which moon-phase response shape to render: a single current phase, an upcoming list, or a calendar. */
7
+ mode?: 'current' | 'upcoming' | 'calendar';
8
+ /** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. "astrology/natal-chart". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */
9
+ endpoint?: string;
10
+ /** HTTP method for the self-fetch request. Defaults to POST. */
11
+ method?: 'GET' | 'POST';
12
+ /** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */
13
+ publishableKey?: string;
14
+ /** Override the API origin for self-hosted or proxied deployments. */
15
+ baseUrl?: string;
16
+ /** Override the OpenAPI spec URL the self-fetch form introspects. */
17
+ specUrl?: string;
18
+ }
19
+ export declare const RoxyMoonPhase: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
20
+ data: {
21
+ type: PropType<RoxyMoonPhaseProps["data"]>;
22
+ };
23
+ mode: {
24
+ type: PropType<RoxyMoonPhaseProps["mode"]>;
25
+ };
26
+ endpoint: {
27
+ type: PropType<RoxyMoonPhaseProps["endpoint"]>;
28
+ };
29
+ method: {
30
+ type: PropType<RoxyMoonPhaseProps["method"]>;
31
+ };
32
+ publishableKey: {
33
+ type: PropType<RoxyMoonPhaseProps["publishableKey"]>;
34
+ };
35
+ baseUrl: {
36
+ type: PropType<RoxyMoonPhaseProps["baseUrl"]>;
37
+ };
38
+ specUrl: {
39
+ type: PropType<RoxyMoonPhaseProps["specUrl"]>;
40
+ };
41
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
44
+ data: {
45
+ type: PropType<RoxyMoonPhaseProps["data"]>;
46
+ };
47
+ mode: {
48
+ type: PropType<RoxyMoonPhaseProps["mode"]>;
49
+ };
50
+ endpoint: {
51
+ type: PropType<RoxyMoonPhaseProps["endpoint"]>;
52
+ };
53
+ method: {
54
+ type: PropType<RoxyMoonPhaseProps["method"]>;
55
+ };
56
+ publishableKey: {
57
+ type: PropType<RoxyMoonPhaseProps["publishableKey"]>;
58
+ };
59
+ baseUrl: {
60
+ type: PropType<RoxyMoonPhaseProps["baseUrl"]>;
61
+ };
62
+ specUrl: {
63
+ type: PropType<RoxyMoonPhaseProps["specUrl"]>;
64
+ };
65
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
66
+ //# sourceMappingURL=moon-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon-phase.d.ts","sourceRoot":"","sources":["../../src/components/moon-phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAE7H,MAAM,WAAW,kBAAkB;IAClC,oEAAoE;IACpE,IAAI,CAAC,EAAE,2BAA2B,GAAG,6BAA6B,GAAG,uBAAuB,CAAC;IAC7F,0GAA0G;IAC1G,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC3C,mPAAmP;IACnP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa;;cAGA,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;cACpC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;cAChC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;;;cAC1C,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;;;cAC9B,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;;;cACrD,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;;cACvC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;;;;;cAN1C,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;cACpC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;cAChC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;;;cAC1C,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;;;cAC9B,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;;;cACrD,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;;cACvC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;iGAgClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as c,h as d,onMounted as m,ref as P}from"vue";var s="roxyapi-ui-loader",l="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",p="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",u="/dist/cdn",r=null;function y(e){return!e||e==="latest"?l:`${p}${e}${u}`}function a(e="latest"){return typeof document>"u"?Promise.resolve():r||(r=new Promise((t,n)=>{let i=`${y(e)}/roxy-ui.js`,o=document.getElementById(s);if(o){o.dataset.loaded==="true"?t():(o.addEventListener("load",()=>t()),o.addEventListener("error",()=>n(new Error("roxy-ui load failed"))));return}o=document.createElement("script"),o.id=s,o.src=i,o.async=!0,o.crossOrigin="anonymous",o.addEventListener("load",()=>{o.dataset.loaded="true",t()}),o.addEventListener("error",()=>n(new Error("roxy-ui load failed"))),document.head.appendChild(o)}),r)}var g=c({name:"RoxyMoonPhase",props:{data:{type:Object},mode:{type:String},endpoint:{type:String},method:{type:String},publishableKey:{type:String},baseUrl:{type:String},specUrl:{type:String}},setup(e){let t=P(null);return m(()=>{a().catch(n=>{t.value=n instanceof Error?n:new Error(String(n))})}),()=>{if(t.value)return d("div",{role:"alert"},`Roxy UI script load failed: ${t.value.message}`);let n={};return e.data!==void 0&&(n[".data"]=e.data),e.mode!==void 0&&(n[".mode"]=e.mode),e.endpoint!==void 0&&(n[".endpoint"]=e.endpoint),e.method!==void 0&&(n[".method"]=e.method),e.publishableKey!==void 0&&(n[".publishableKey"]=e.publishableKey),e.baseUrl!==void 0&&(n[".baseUrl"]=e.baseUrl),e.specUrl!==void 0&&(n[".specUrl"]=e.specUrl),d("roxy-moon-phase",n)}}});export{g as RoxyMoonPhase};
2
+ //# sourceMappingURL=moon-phase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/moon-phase.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { GetCurrentMoonPhaseResponse, GetMoonCalendarResponse, GetUpcomingMoonPhasesResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyMoonPhaseProps {\n\t/** Spec-derived response payload. Pass the raw RoxyAPI response. */\n\tdata?: GetCurrentMoonPhaseResponse | GetUpcomingMoonPhasesResponse | GetMoonCalendarResponse;\n\t/** Which moon-phase response shape to render: a single current phase, an upcoming list, or a calendar. */\n\tmode?: 'current' | 'upcoming' | 'calendar';\n\t/** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. \"astrology/natal-chart\". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */\n\tendpoint?: string;\n\t/** HTTP method for the self-fetch request. Defaults to POST. */\n\tmethod?: 'GET' | 'POST';\n\t/** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */\n\tpublishableKey?: string;\n\t/** Override the API origin for self-hosted or proxied deployments. */\n\tbaseUrl?: string;\n\t/** Override the OpenAPI spec URL the self-fetch form introspects. */\n\tspecUrl?: string;\n}\n\nexport const RoxyMoonPhase = defineComponent({\n\tname: 'RoxyMoonPhase',\n\tprops: {\n\t\tdata: { type: Object as PropType<RoxyMoonPhaseProps['data']> },\n\t\tmode: { type: String as PropType<RoxyMoonPhaseProps['mode']> },\n\t\tendpoint: { type: String as PropType<RoxyMoonPhaseProps['endpoint']> },\n\t\tmethod: { type: String as PropType<RoxyMoonPhaseProps['method']> },\n\t\tpublishableKey: { type: String as PropType<RoxyMoonPhaseProps['publishableKey']> },\n\t\tbaseUrl: { type: String as PropType<RoxyMoonPhaseProps['baseUrl']> },\n\t\tspecUrl: { type: String as PropType<RoxyMoonPhaseProps['specUrl']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.data !== undefined) elementProps['.data'] = props.data;\n\t\t\tif (props.mode !== undefined) elementProps['.mode'] = props.mode;\n\t\t\tif (props.endpoint !== undefined) elementProps['.endpoint'] = props.endpoint;\n\t\t\tif (props.method !== undefined) elementProps['.method'] = props.method;\n\t\t\tif (props.publishableKey !== undefined) elementProps['.publishableKey'] = props.publishableKey;\n\t\t\tif (props.baseUrl !== undefined) elementProps['.baseUrl'] = props.baseUrl;\n\t\t\tif (props.specUrl !== undefined) elementProps['.specUrl'] = props.specUrl;\n\n\t\t\treturn h('roxy-moon-phase', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CD7BO,IAAMQ,EAAgBC,EAAgB,CAC5C,KAAM,gBACN,MAAO,CACN,KAAM,CAAE,KAAM,MAA+C,EAC7D,KAAM,CAAE,KAAM,MAA+C,EAC7D,SAAU,CAAE,KAAM,MAAmD,EACrE,OAAQ,CAAE,KAAM,MAAiD,EACjE,eAAgB,CAAE,KAAM,MAAyD,EACjF,QAAS,CAAE,KAAM,MAAkD,EACnE,QAAS,CAAE,KAAM,MAAkD,CACpE,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,WAAa,SAAWO,EAAa,WAAW,EAAIP,EAAM,UAChEA,EAAM,SAAW,SAAWO,EAAa,SAAS,EAAIP,EAAM,QAC5DA,EAAM,iBAAmB,SAAWO,EAAa,iBAAiB,EAAIP,EAAM,gBAC5EA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAC9DA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAE3DM,EAAE,kBAAmBC,CAAY,CACzC,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyMoonPhase", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }
@@ -0,0 +1,58 @@
1
+ import { type PropType } from 'vue';
2
+ import type { NakshatraResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyNakshatraCardProps {
4
+ /** Spec-derived response payload. Pass the raw RoxyAPI response. */
5
+ data?: NakshatraResponse;
6
+ /** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. "astrology/natal-chart". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */
7
+ endpoint?: string;
8
+ /** HTTP method for the self-fetch request. Defaults to POST. */
9
+ method?: 'GET' | 'POST';
10
+ /** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */
11
+ publishableKey?: string;
12
+ /** Override the API origin for self-hosted or proxied deployments. */
13
+ baseUrl?: string;
14
+ /** Override the OpenAPI spec URL the self-fetch form introspects. */
15
+ specUrl?: string;
16
+ }
17
+ export declare const RoxyNakshatraCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
+ data: {
19
+ type: PropType<RoxyNakshatraCardProps["data"]>;
20
+ };
21
+ endpoint: {
22
+ type: PropType<RoxyNakshatraCardProps["endpoint"]>;
23
+ };
24
+ method: {
25
+ type: PropType<RoxyNakshatraCardProps["method"]>;
26
+ };
27
+ publishableKey: {
28
+ type: PropType<RoxyNakshatraCardProps["publishableKey"]>;
29
+ };
30
+ baseUrl: {
31
+ type: PropType<RoxyNakshatraCardProps["baseUrl"]>;
32
+ };
33
+ specUrl: {
34
+ type: PropType<RoxyNakshatraCardProps["specUrl"]>;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: {
40
+ type: PropType<RoxyNakshatraCardProps["data"]>;
41
+ };
42
+ endpoint: {
43
+ type: PropType<RoxyNakshatraCardProps["endpoint"]>;
44
+ };
45
+ method: {
46
+ type: PropType<RoxyNakshatraCardProps["method"]>;
47
+ };
48
+ publishableKey: {
49
+ type: PropType<RoxyNakshatraCardProps["publishableKey"]>;
50
+ };
51
+ baseUrl: {
52
+ type: PropType<RoxyNakshatraCardProps["baseUrl"]>;
53
+ };
54
+ specUrl: {
55
+ type: PropType<RoxyNakshatraCardProps["specUrl"]>;
56
+ };
57
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
58
+ //# sourceMappingURL=nakshatra-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nakshatra-card.d.ts","sourceRoot":"","sources":["../../src/components/nakshatra-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACtC,oEAAoE;IACpE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,mPAAmP;IACnP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB;;cAGJ,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;;;cACpC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;;;cAC9C,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;;;cAClC,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;;;cACzD,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;;;cAC3C,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;;;;;;cAL9C,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;;;cACpC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;;;cAC9C,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;;;cAClC,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;;;cACzD,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;;;cAC3C,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;;iGA+BtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as c,h as i,onMounted as f,ref as h}from"vue";var o="roxyapi-ui-loader",l="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",p="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",u="/dist/cdn",n=null;function y(e){return!e||e==="latest"?l:`${p}${e}${u}`}function d(e="latest"){return typeof document>"u"?Promise.resolve():n||(n=new Promise((a,r)=>{let s=`${y(e)}/roxy-ui.js`,t=document.getElementById(o);if(t){t.dataset.loaded==="true"?a():(t.addEventListener("load",()=>a()),t.addEventListener("error",()=>r(new Error("roxy-ui load failed"))));return}t=document.createElement("script"),t.id=o,t.src=s,t.async=!0,t.crossOrigin="anonymous",t.addEventListener("load",()=>{t.dataset.loaded="true",a()}),t.addEventListener("error",()=>r(new Error("roxy-ui load failed"))),document.head.appendChild(t)}),n)}var b=c({name:"RoxyNakshatraCard",props:{data:{type:Object},endpoint:{type:String},method:{type:String},publishableKey:{type:String},baseUrl:{type:String},specUrl:{type:String}},setup(e){let a=h(null);return f(()=>{d().catch(r=>{a.value=r instanceof Error?r:new Error(String(r))})}),()=>{if(a.value)return i("div",{role:"alert"},`Roxy UI script load failed: ${a.value.message}`);let r={};return e.data!==void 0&&(r[".data"]=e.data),e.endpoint!==void 0&&(r[".endpoint"]=e.endpoint),e.method!==void 0&&(r[".method"]=e.method),e.publishableKey!==void 0&&(r[".publishableKey"]=e.publishableKey),e.baseUrl!==void 0&&(r[".baseUrl"]=e.baseUrl),e.specUrl!==void 0&&(r[".specUrl"]=e.specUrl),i("roxy-nakshatra-card",r)}}});export{b as RoxyNakshatraCard};
2
+ //# sourceMappingURL=nakshatra-card.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/nakshatra-card.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { NakshatraResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyNakshatraCardProps {\n\t/** Spec-derived response payload. Pass the raw RoxyAPI response. */\n\tdata?: NakshatraResponse;\n\t/** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. \"astrology/natal-chart\". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */\n\tendpoint?: string;\n\t/** HTTP method for the self-fetch request. Defaults to POST. */\n\tmethod?: 'GET' | 'POST';\n\t/** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */\n\tpublishableKey?: string;\n\t/** Override the API origin for self-hosted or proxied deployments. */\n\tbaseUrl?: string;\n\t/** Override the OpenAPI spec URL the self-fetch form introspects. */\n\tspecUrl?: string;\n}\n\nexport const RoxyNakshatraCard = defineComponent({\n\tname: 'RoxyNakshatraCard',\n\tprops: {\n\t\tdata: { type: Object as PropType<RoxyNakshatraCardProps['data']> },\n\t\tendpoint: { type: String as PropType<RoxyNakshatraCardProps['endpoint']> },\n\t\tmethod: { type: String as PropType<RoxyNakshatraCardProps['method']> },\n\t\tpublishableKey: { type: String as PropType<RoxyNakshatraCardProps['publishableKey']> },\n\t\tbaseUrl: { type: String as PropType<RoxyNakshatraCardProps['baseUrl']> },\n\t\tspecUrl: { type: String as PropType<RoxyNakshatraCardProps['specUrl']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.data !== undefined) elementProps['.data'] = props.data;\n\t\t\tif (props.endpoint !== undefined) elementProps['.endpoint'] = props.endpoint;\n\t\t\tif (props.method !== undefined) elementProps['.method'] = props.method;\n\t\t\tif (props.publishableKey !== undefined) elementProps['.publishableKey'] = props.publishableKey;\n\t\t\tif (props.baseUrl !== undefined) elementProps['.baseUrl'] = props.baseUrl;\n\t\t\tif (props.specUrl !== undefined) elementProps['.specUrl'] = props.specUrl;\n\n\t\t\treturn h('roxy-nakshatra-card', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CD/BO,IAAMQ,EAAoBC,EAAgB,CAChD,KAAM,oBACN,MAAO,CACN,KAAM,CAAE,KAAM,MAAmD,EACjE,SAAU,CAAE,KAAM,MAAuD,EACzE,OAAQ,CAAE,KAAM,MAAqD,EACrE,eAAgB,CAAE,KAAM,MAA6D,EACrF,QAAS,CAAE,KAAM,MAAsD,EACvE,QAAS,CAAE,KAAM,MAAsD,CACxE,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,WAAa,SAAWO,EAAa,WAAW,EAAIP,EAAM,UAChEA,EAAM,SAAW,SAAWO,EAAa,SAAS,EAAIP,EAAM,QAC5DA,EAAM,iBAAmB,SAAWO,EAAa,iBAAiB,EAAIP,EAAM,gBAC5EA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAC9DA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAE3DM,EAAE,sBAAuBC,CAAY,CAC7C,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyNakshatraCard", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }
@@ -0,0 +1,66 @@
1
+ import { type PropType } from 'vue';
2
+ import type { NatalChartResponse } from '@roxyapi/ui/types';
3
+ export interface RoxyNatalChartProps {
4
+ /** Spec-derived response payload. Pass the raw RoxyAPI response. */
5
+ data?: NatalChartResponse;
6
+ /** House system the chart was cast with. Labels the house cusps; does not recompute positions. */
7
+ houseSystem?: 'placidus' | 'whole-sign' | 'equal' | 'koch';
8
+ /** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. "astrology/natal-chart". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */
9
+ endpoint?: string;
10
+ /** HTTP method for the self-fetch request. Defaults to POST. */
11
+ method?: 'GET' | 'POST';
12
+ /** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */
13
+ publishableKey?: string;
14
+ /** Override the API origin for self-hosted or proxied deployments. */
15
+ baseUrl?: string;
16
+ /** Override the OpenAPI spec URL the self-fetch form introspects. */
17
+ specUrl?: string;
18
+ }
19
+ export declare const RoxyNatalChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
20
+ data: {
21
+ type: PropType<RoxyNatalChartProps["data"]>;
22
+ };
23
+ houseSystem: {
24
+ type: PropType<RoxyNatalChartProps["houseSystem"]>;
25
+ };
26
+ endpoint: {
27
+ type: PropType<RoxyNatalChartProps["endpoint"]>;
28
+ };
29
+ method: {
30
+ type: PropType<RoxyNatalChartProps["method"]>;
31
+ };
32
+ publishableKey: {
33
+ type: PropType<RoxyNatalChartProps["publishableKey"]>;
34
+ };
35
+ baseUrl: {
36
+ type: PropType<RoxyNatalChartProps["baseUrl"]>;
37
+ };
38
+ specUrl: {
39
+ type: PropType<RoxyNatalChartProps["specUrl"]>;
40
+ };
41
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
44
+ data: {
45
+ type: PropType<RoxyNatalChartProps["data"]>;
46
+ };
47
+ houseSystem: {
48
+ type: PropType<RoxyNatalChartProps["houseSystem"]>;
49
+ };
50
+ endpoint: {
51
+ type: PropType<RoxyNatalChartProps["endpoint"]>;
52
+ };
53
+ method: {
54
+ type: PropType<RoxyNatalChartProps["method"]>;
55
+ };
56
+ publishableKey: {
57
+ type: PropType<RoxyNatalChartProps["publishableKey"]>;
58
+ };
59
+ baseUrl: {
60
+ type: PropType<RoxyNatalChartProps["baseUrl"]>;
61
+ };
62
+ specUrl: {
63
+ type: PropType<RoxyNatalChartProps["specUrl"]>;
64
+ };
65
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
66
+ //# sourceMappingURL=natal-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"natal-chart.d.ts","sourceRoot":"","sources":["../../src/components/natal-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAO,MAAM,KAAK,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IACnC,oEAAoE;IACpE,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,kGAAkG;IAClG,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3D,mPAAmP;IACnP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc;;cAGD,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;;;cAC9B,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;;;cAC/C,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;;;cAC3C,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;;;cAC/B,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;;;cACtD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;;cACxC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;;;;;cAN3C,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;;;cAC9B,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;;;cAC/C,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;;;cAC3C,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;;;cAC/B,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;;;cACtD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;;cACxC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;iGAgCnE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as c,h as s,onMounted as h,ref as m}from"vue";var o="roxyapi-ui-loader",l="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",u="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",p="/dist/cdn",a=null;function y(e){return!e||e==="latest"?l:`${u}${e}${p}`}function i(e="latest"){return typeof document>"u"?Promise.resolve():a||(a=new Promise((n,t)=>{let d=`${y(e)}/roxy-ui.js`,r=document.getElementById(o);if(r){r.dataset.loaded==="true"?n():(r.addEventListener("load",()=>n()),r.addEventListener("error",()=>t(new Error("roxy-ui load failed"))));return}r=document.createElement("script"),r.id=o,r.src=d,r.async=!0,r.crossOrigin="anonymous",r.addEventListener("load",()=>{r.dataset.loaded="true",n()}),r.addEventListener("error",()=>t(new Error("roxy-ui load failed"))),document.head.appendChild(r)}),a)}var S=c({name:"RoxyNatalChart",props:{data:{type:Object},houseSystem:{type:String},endpoint:{type:String},method:{type:String},publishableKey:{type:String},baseUrl:{type:String},specUrl:{type:String}},setup(e){let n=m(null);return h(()=>{i().catch(t=>{n.value=t instanceof Error?t:new Error(String(t))})}),()=>{if(n.value)return s("div",{role:"alert"},`Roxy UI script load failed: ${n.value.message}`);let t={};return e.data!==void 0&&(t[".data"]=e.data),e.houseSystem!==void 0&&(t[".houseSystem"]=e.houseSystem),e.endpoint!==void 0&&(t[".endpoint"]=e.endpoint),e.method!==void 0&&(t[".method"]=e.method),e.publishableKey!==void 0&&(t[".publishableKey"]=e.publishableKey),e.baseUrl!==void 0&&(t[".baseUrl"]=e.baseUrl),e.specUrl!==void 0&&(t[".specUrl"]=e.specUrl),s("roxy-natal-chart",t)}}});export{S as RoxyNatalChart};
2
+ //# sourceMappingURL=natal-chart.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/natal-chart.ts", "../../src/load-ui.ts"],
4
+ "sourcesContent": ["import { defineComponent, h, onMounted, type PropType, ref } from 'vue';\nimport { ensureScriptLoaded } from '../load-ui.js';\nimport type { NatalChartResponse } from '@roxyapi/ui/types';\n\nexport interface RoxyNatalChartProps {\n\t/** Spec-derived response payload. Pass the raw RoxyAPI response. */\n\tdata?: NatalChartResponse;\n\t/** House system the chart was cast with. Labels the house cusps; does not recompute positions. */\n\thouseSystem?: 'placidus' | 'whole-sign' | 'equal' | 'koch';\n\t/** Endpoint path for built-in self-fetch (uncontrolled mode), e.g. \"astrology/natal-chart\". The component renders its own input form, fetches with the publishable key, and displays the result. Leave unset for controlled mode (pass `data`). */\n\tendpoint?: string;\n\t/** HTTP method for the self-fetch request. Defaults to POST. */\n\tmethod?: 'GET' | 'POST';\n\t/** Browser-safe publishable key (pk_) for self-fetch. A secret key is refused client-side and never sent. */\n\tpublishableKey?: string;\n\t/** Override the API origin for self-hosted or proxied deployments. */\n\tbaseUrl?: string;\n\t/** Override the OpenAPI spec URL the self-fetch form introspects. */\n\tspecUrl?: string;\n}\n\nexport const RoxyNatalChart = defineComponent({\n\tname: 'RoxyNatalChart',\n\tprops: {\n\t\tdata: { type: Object as PropType<RoxyNatalChartProps['data']> },\n\t\thouseSystem: { type: String as PropType<RoxyNatalChartProps['houseSystem']> },\n\t\tendpoint: { type: String as PropType<RoxyNatalChartProps['endpoint']> },\n\t\tmethod: { type: String as PropType<RoxyNatalChartProps['method']> },\n\t\tpublishableKey: { type: String as PropType<RoxyNatalChartProps['publishableKey']> },\n\t\tbaseUrl: { type: String as PropType<RoxyNatalChartProps['baseUrl']> },\n\t\tspecUrl: { type: String as PropType<RoxyNatalChartProps['specUrl']> },\n\t},\n\tsetup(props) {\n\t\tconst loadError = ref<Error | null>(null);\n\n\t\tonMounted(() => {\n\t\t\tensureScriptLoaded().catch((err: unknown) => {\n\t\t\t\tloadError.value = err instanceof Error ? err : new Error(String(err));\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (loadError.value) {\n\t\t\t\treturn h(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ role: 'alert' },\n\t\t\t\t\t`Roxy UI script load failed: ${loadError.value.message}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst elementProps: Record<string, unknown> = {};\n\t\t\tif (props.data !== undefined) elementProps['.data'] = props.data;\n\t\t\tif (props.houseSystem !== undefined) elementProps['.houseSystem'] = props.houseSystem;\n\t\t\tif (props.endpoint !== undefined) elementProps['.endpoint'] = props.endpoint;\n\t\t\tif (props.method !== undefined) elementProps['.method'] = props.method;\n\t\t\tif (props.publishableKey !== undefined) elementProps['.publishableKey'] = props.publishableKey;\n\t\t\tif (props.baseUrl !== undefined) elementProps['.baseUrl'] = props.baseUrl;\n\t\t\tif (props.specUrl !== undefined) elementProps['.specUrl'] = props.specUrl;\n\n\t\t\treturn h('roxy-natal-chart', elementProps);\n\t\t};\n\t},\n});\n", "/**\n * Loads the matching component bundle on first mount. Idempotent across\n * many components on the same page. Skips on the server (no document) so\n * Nuxt and Vue server rendering work without a flash.\n *\n * Pass an explicit `version` (e.g. `'0.1.5'`) to pin the loaded bundle to a\n * specific @roxyapi/ui release; the default ('latest') resolves to whatever\n * the CDN currently serves for @latest.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE_LATEST = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn\";\nconst CDN_BASE_PREFIX = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@\";\nconst CDN_BASE_SUFFIX = \"/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nfunction buildBase(version: string): string {\n\tif (!version || version === 'latest') return CDN_BASE_LATEST;\n\treturn `${CDN_BASE_PREFIX}${version}${CDN_BASE_SUFFIX}`;\n}\n\nexport function ensureScriptLoaded(version: string = 'latest'): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tif (loaded) return loaded;\n\n\tloaded = new Promise<void>((resolve, reject) => {\n\t\tconst url = `${buildBase(version)}/roxy-ui.js`;\n\t\tlet existing = document.getElementById(SCRIPT_ID) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\tif (existing.dataset.loaded === 'true') {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\texisting.addEventListener('load', () => resolve());\n\t\t\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\texisting = document.createElement('script');\n\t\texisting.id = SCRIPT_ID;\n\t\texisting.src = url;\n\t\texisting.async = true;\n\t\texisting.crossOrigin = 'anonymous';\n\t\texisting.addEventListener('load', () => {\n\t\t\texisting!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\texisting.addEventListener('error', () => reject(new Error('roxy-ui load failed')));\n\t\tdocument.head.appendChild(existing);\n\t});\n\treturn loaded;\n}\n\n// Default export retained for convenience; matches the named export.\nexport default ensureScriptLoaded;\n// Surfaces the embedded @roxyapi/ui version this build of @roxyapi/ui-vue\n// was generated against. Useful for diagnostics; not load-bearing.\nexport const ROXY_UI_VERSION = \"0.13.0\";\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,KAAAC,EAAG,aAAAC,EAA0B,OAAAC,MAAW,MCSlE,IAAMC,EAAY,oBACZC,EAAkB,2DAClBC,EAAkB,4CAClBC,EAAkB,YAEpBC,EAA+B,KAEnC,SAASC,EAAUC,EAAyB,CAC3C,MAAI,CAACA,GAAWA,IAAY,SAAiBL,EACtC,GAAGC,CAAe,GAAGI,CAAO,GAAGH,CAAe,EACtD,CAEO,SAASI,EAAmBD,EAAkB,SAAyB,CAC7E,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDF,IAEJA,EAAS,IAAI,QAAc,CAACI,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGL,EAAUC,CAAO,CAAC,cAC7BK,EAAW,SAAS,eAAeX,CAAS,EAChD,GAAIW,EAAU,CACTA,EAAS,QAAQ,SAAW,OAC/BH,EAAQ,GAERG,EAAS,iBAAiB,OAAQ,IAAMH,EAAQ,CAAC,EACjDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,GAElF,MACD,CACAE,EAAW,SAAS,cAAc,QAAQ,EAC1CA,EAAS,GAAKX,EACdW,EAAS,IAAMD,EACfC,EAAS,MAAQ,GACjBA,EAAS,YAAc,YACvBA,EAAS,iBAAiB,OAAQ,IAAM,CACvCA,EAAU,QAAQ,OAAS,OAC3BH,EAAQ,CACT,CAAC,EACDG,EAAS,iBAAiB,QAAS,IAAMF,EAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC,EACjF,SAAS,KAAK,YAAYE,CAAQ,CACnC,CAAC,EACMP,EACR,CD7BO,IAAMQ,EAAiBC,EAAgB,CAC7C,KAAM,iBACN,MAAO,CACN,KAAM,CAAE,KAAM,MAAgD,EAC9D,YAAa,CAAE,KAAM,MAAuD,EAC5E,SAAU,CAAE,KAAM,MAAoD,EACtE,OAAQ,CAAE,KAAM,MAAkD,EAClE,eAAgB,CAAE,KAAM,MAA0D,EAClF,QAAS,CAAE,KAAM,MAAmD,EACpE,QAAS,CAAE,KAAM,MAAmD,CACrE,EACA,MAAMC,EAAO,CACZ,IAAMC,EAAYC,EAAkB,IAAI,EAExC,OAAAC,EAAU,IAAM,CACfC,EAAmB,EAAE,MAAOC,GAAiB,CAC5CJ,EAAU,MAAQI,aAAe,MAAQA,EAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CACrE,CAAC,CACF,CAAC,EAEM,IAAM,CACZ,GAAIJ,EAAU,MACb,OAAOK,EACN,MACA,CAAE,KAAM,OAAQ,EAChB,+BAA+BL,EAAU,MAAM,OAAO,EACvD,EAGD,IAAMM,EAAwC,CAAC,EAC/C,OAAIP,EAAM,OAAS,SAAWO,EAAa,OAAO,EAAIP,EAAM,MACxDA,EAAM,cAAgB,SAAWO,EAAa,cAAc,EAAIP,EAAM,aACtEA,EAAM,WAAa,SAAWO,EAAa,WAAW,EAAIP,EAAM,UAChEA,EAAM,SAAW,SAAWO,EAAa,SAAS,EAAIP,EAAM,QAC5DA,EAAM,iBAAmB,SAAWO,EAAa,iBAAiB,EAAIP,EAAM,gBAC5EA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAC9DA,EAAM,UAAY,SAAWO,EAAa,UAAU,EAAIP,EAAM,SAE3DM,EAAE,mBAAoBC,CAAY,CAC1C,CACD,CACD,CAAC",
6
+ "names": ["defineComponent", "h", "onMounted", "ref", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "resolve", "reject", "url", "existing", "RoxyNatalChart", "defineComponent", "props", "loadError", "ref", "onMounted", "ensureScriptLoaded", "err", "h", "elementProps"]
7
+ }