@roxyapi/ui-vue 0.28.0 → 0.29.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 (137) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/components/angel-number-card.js +1 -1
  4. package/dist/components/angel-number-card.js.map +1 -1
  5. package/dist/components/angel-number-lookup.js +1 -1
  6. package/dist/components/angel-number-lookup.js.map +1 -1
  7. package/dist/components/arudha-padas.js +1 -1
  8. package/dist/components/arudha-padas.js.map +1 -1
  9. package/dist/components/ashtakavarga-grid.js +1 -1
  10. package/dist/components/ashtakavarga-grid.js.map +1 -1
  11. package/dist/components/aspects-table.js +1 -1
  12. package/dist/components/aspects-table.js.map +1 -1
  13. package/dist/components/astrocartography-map.js +1 -1
  14. package/dist/components/astrocartography-map.js.map +1 -1
  15. package/dist/components/bhav-chalit-table.js +1 -1
  16. package/dist/components/bhav-chalit-table.js.map +1 -1
  17. package/dist/components/bhava-bala-table.js +1 -1
  18. package/dist/components/bhava-bala-table.js.map +1 -1
  19. package/dist/components/biorhythm-chart.js +1 -1
  20. package/dist/components/biorhythm-chart.js.map +1 -1
  21. package/dist/components/bodygraph.js +1 -1
  22. package/dist/components/bodygraph.js.map +1 -1
  23. package/dist/components/chara-karakas.js +1 -1
  24. package/dist/components/chara-karakas.js.map +1 -1
  25. package/dist/components/choghadiya-grid.js +1 -1
  26. package/dist/components/choghadiya-grid.js.map +1 -1
  27. package/dist/components/compatibility-card.js +1 -1
  28. package/dist/components/compatibility-card.js.map +1 -1
  29. package/dist/components/crystal-card.js +1 -1
  30. package/dist/components/crystal-card.js.map +1 -1
  31. package/dist/components/crystal-grid.js +1 -1
  32. package/dist/components/crystal-grid.js.map +1 -1
  33. package/dist/components/dasha-timeline.js +1 -1
  34. package/dist/components/dasha-timeline.js.map +1 -1
  35. package/dist/components/data.js +1 -1
  36. package/dist/components/data.js.map +1 -1
  37. package/dist/components/divisional-chart.js +1 -1
  38. package/dist/components/divisional-chart.js.map +1 -1
  39. package/dist/components/dosha-card.js +1 -1
  40. package/dist/components/dosha-card.js.map +1 -1
  41. package/dist/components/dream-card.js +1 -1
  42. package/dist/components/dream-card.js.map +1 -1
  43. package/dist/components/dream-search.js +1 -1
  44. package/dist/components/dream-search.js.map +1 -1
  45. package/dist/components/endpoint-form.js +1 -1
  46. package/dist/components/endpoint-form.js.map +1 -1
  47. package/dist/components/ephemeris-table.js +1 -1
  48. package/dist/components/ephemeris-table.js.map +1 -1
  49. package/dist/components/fixed-stars.js +1 -1
  50. package/dist/components/fixed-stars.js.map +1 -1
  51. package/dist/components/forecast-digest.js +1 -1
  52. package/dist/components/forecast-digest.js.map +1 -1
  53. package/dist/components/forecast-timeline.js +1 -1
  54. package/dist/components/forecast-timeline.js.map +1 -1
  55. package/dist/components/gochara-table.js +1 -1
  56. package/dist/components/gochara-table.js.map +1 -1
  57. package/dist/components/guna-milan.js +1 -1
  58. package/dist/components/guna-milan.js.map +1 -1
  59. package/dist/components/hd-connection.js +1 -1
  60. package/dist/components/hd-connection.js.map +1 -1
  61. package/dist/components/hd-penta.js +1 -1
  62. package/dist/components/hd-penta.js.map +1 -1
  63. package/dist/components/hd-type-card.js +1 -1
  64. package/dist/components/hd-type-card.js.map +1 -1
  65. package/dist/components/hd-variables.js +1 -1
  66. package/dist/components/hd-variables.js.map +1 -1
  67. package/dist/components/heliacal-table.js +1 -1
  68. package/dist/components/heliacal-table.js.map +1 -1
  69. package/dist/components/hexagram.js +1 -1
  70. package/dist/components/hexagram.js.map +1 -1
  71. package/dist/components/hora-table.js +1 -1
  72. package/dist/components/hora-table.js.map +1 -1
  73. package/dist/components/horoscope-card.js +1 -1
  74. package/dist/components/horoscope-card.js.map +1 -1
  75. package/dist/components/kp-chart.js +1 -1
  76. package/dist/components/kp-chart.js.map +1 -1
  77. package/dist/components/kp-planets-table.js +1 -1
  78. package/dist/components/kp-planets-table.js.map +1 -1
  79. package/dist/components/kp-ruling-planets.js +1 -1
  80. package/dist/components/kp-ruling-planets.js.map +1 -1
  81. package/dist/components/local-space-compass.js +1 -1
  82. package/dist/components/local-space-compass.js.map +1 -1
  83. package/dist/components/location-search.js +1 -1
  84. package/dist/components/location-search.js.map +1 -1
  85. package/dist/components/moon-phase.js +1 -1
  86. package/dist/components/moon-phase.js.map +1 -1
  87. package/dist/components/nakshatra-card.js +1 -1
  88. package/dist/components/nakshatra-card.js.map +1 -1
  89. package/dist/components/natal-chart.js +1 -1
  90. package/dist/components/natal-chart.js.map +1 -1
  91. package/dist/components/numerology-card.js +1 -1
  92. package/dist/components/numerology-card.js.map +1 -1
  93. package/dist/components/panchang-table.js +1 -1
  94. package/dist/components/panchang-table.js.map +1 -1
  95. package/dist/components/positions-table.js +1 -1
  96. package/dist/components/positions-table.js.map +1 -1
  97. package/dist/components/profection-card.js +1 -1
  98. package/dist/components/profection-card.js.map +1 -1
  99. package/dist/components/reference-card.js +1 -1
  100. package/dist/components/reference-card.js.map +1 -1
  101. package/dist/components/relocation-wheel.js +1 -1
  102. package/dist/components/relocation-wheel.js.map +1 -1
  103. package/dist/components/shadbala-table.js +1 -1
  104. package/dist/components/shadbala-table.js.map +1 -1
  105. package/dist/components/synastry-chart.js +1 -1
  106. package/dist/components/synastry-chart.js.map +1 -1
  107. package/dist/components/tarot-card.js +1 -1
  108. package/dist/components/tarot-card.js.map +1 -1
  109. package/dist/components/tarot-catalog.js +1 -1
  110. package/dist/components/tarot-catalog.js.map +1 -1
  111. package/dist/components/tarot-spread.js +1 -1
  112. package/dist/components/tarot-spread.js.map +1 -1
  113. package/dist/components/transit-wheel.js +1 -1
  114. package/dist/components/transit-wheel.js.map +1 -1
  115. package/dist/components/transits-table.js +1 -1
  116. package/dist/components/transits-table.js.map +1 -1
  117. package/dist/components/upagraha-table.js +1 -1
  118. package/dist/components/upagraha-table.js.map +1 -1
  119. package/dist/components/vedic-aspects.js +1 -1
  120. package/dist/components/vedic-aspects.js.map +1 -1
  121. package/dist/components/vedic-kundli.js +1 -1
  122. package/dist/components/vedic-kundli.js.map +1 -1
  123. package/dist/components/vedic-planets-table.js +1 -1
  124. package/dist/components/vedic-planets-table.js.map +1 -1
  125. package/dist/components/western-planets-table.js +1 -1
  126. package/dist/components/western-planets-table.js.map +1 -1
  127. package/dist/components/yoga-list.js +1 -1
  128. package/dist/components/yoga-list.js.map +1 -1
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.cjs.map +1 -1
  131. package/dist/index.js +1 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/load-ui.d.ts +1 -1
  134. package/dist/load-ui.js +1 -1
  135. package/dist/load-ui.js.map +1 -1
  136. package/dist/types/types.gen.d.ts +19 -19
  137. package/package.json +1 -1
package/dist/load-ui.d.ts CHANGED
@@ -23,7 +23,7 @@
23
23
  * call wins and every component reuses it.
24
24
  */
25
25
  /** The @roxyapi/ui release this wrapper was generated against. The loader defaults to it, so the wrapper version in your lockfile is the runtime you actually get. */
26
- export declare const ROXY_UI_VERSION = "0.28.0";
26
+ export declare const ROXY_UI_VERSION = "0.29.0";
27
27
  export declare function ensureScriptLoaded(version?: string, baseUrl?: string): Promise<void>;
28
28
  /** Every language a label catalogue ships for. English is absent on purpose: the catalogue key IS the English string, so an English page downloads nothing. */
29
29
  export declare const ROXY_UI_LOCALES: readonly ["de", "es", "fr", "hi", "pt", "ru", "tr"];
package/dist/load-ui.js CHANGED
@@ -1,2 +1,2 @@
1
- var p="0.28.0",l="roxyapi-ui-loader",f="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",L="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",g="/dist/cdn",i=null;function E(n){return!n||n==="latest"?f:`${L}${n}${g}`}function y(n=p,s){return typeof document>"u"?Promise.resolve():i||(i=new Promise((d,r)=>{let o=`${s??E(n)}/roxy-ui.js`,e=document.getElementById(l);if(e){e.dataset.loaded==="true"?d():(e.addEventListener("load",()=>d()),e.addEventListener("error",()=>r(new Error("roxy-ui load failed"))));return}e=document.createElement("script"),e.id=l,e.src=o,e.async=!0,e.crossOrigin="anonymous",e.addEventListener("load",()=>{e.dataset.loaded="true",d()}),e.addEventListener("error",()=>r(new Error("roxy-ui load failed"))),document.head.appendChild(e)}),i)}var x=["de","es","fr","hi","pt","ru","tr"],m=new Map;function v(n,s=p,d){if(typeof document>"u")return Promise.resolve();let r=(n||"").toLowerCase().split("-")[0]??"";if(!x.includes(r))return Promise.resolve();let o=m.get(r);if(o)return o;let e=new Promise((a,u)=>{let c=`${l}-locale-${r}`,t=document.getElementById(c);if(t){t.dataset.loaded==="true"?a():(t.addEventListener("load",()=>a()),t.addEventListener("error",()=>u(new Error(`roxy-ui locale ${r} load failed`))));return}t=document.createElement("script"),t.id=c,t.src=`${d??E(s)}/locales/${r}.js`,t.async=!0,t.crossOrigin="anonymous",t.addEventListener("load",()=>{t.dataset.loaded="true",a()}),t.addEventListener("error",()=>u(new Error(`roxy-ui locale ${r} load failed`))),document.head.appendChild(t)});return m.set(r,e),e}var P=y;export{x as ROXY_UI_LOCALES,p as ROXY_UI_VERSION,P as default,v as ensureLocaleLoaded,y as ensureScriptLoaded};
1
+ var p="0.29.0",l="roxyapi-ui-loader",f="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn",L="https://cdn.jsdelivr.net/npm/@roxyapi/ui@",g="/dist/cdn",i=null;function E(n){return!n||n==="latest"?f:`${L}${n}${g}`}function y(n=p,s){return typeof document>"u"?Promise.resolve():i||(i=new Promise((d,r)=>{let o=`${s??E(n)}/roxy-ui.js`,e=document.getElementById(l);if(e){e.dataset.loaded==="true"?d():(e.addEventListener("load",()=>d()),e.addEventListener("error",()=>r(new Error("roxy-ui load failed"))));return}e=document.createElement("script"),e.id=l,e.src=o,e.async=!0,e.crossOrigin="anonymous",e.addEventListener("load",()=>{e.dataset.loaded="true",d()}),e.addEventListener("error",()=>r(new Error("roxy-ui load failed"))),document.head.appendChild(e)}),i)}var x=["de","es","fr","hi","pt","ru","tr"],m=new Map;function v(n,s=p,d){if(typeof document>"u")return Promise.resolve();let r=(n||"").toLowerCase().split("-")[0]??"";if(!x.includes(r))return Promise.resolve();let o=m.get(r);if(o)return o;let e=new Promise((a,u)=>{let c=`${l}-locale-${r}`,t=document.getElementById(c);if(t){t.dataset.loaded==="true"?a():(t.addEventListener("load",()=>a()),t.addEventListener("error",()=>u(new Error(`roxy-ui locale ${r} load failed`))));return}t=document.createElement("script"),t.id=c,t.src=`${d??E(s)}/locales/${r}.js`,t.async=!0,t.crossOrigin="anonymous",t.addEventListener("load",()=>{t.dataset.loaded="true",a()}),t.addEventListener("error",()=>u(new Error(`roxy-ui locale ${r} load failed`))),document.head.appendChild(t)});return m.set(r,e),e}var P=y;export{x as ROXY_UI_LOCALES,p as ROXY_UI_VERSION,P as default,v as ensureLocaleLoaded,y as ensureScriptLoaded};
2
2
  //# sourceMappingURL=load-ui.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/load-ui.ts"],
4
- "sourcesContent": ["/**\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 * {@link ensureLocaleLoaded} is the other half and is OPT-IN: it loads the label\n * catalogue for one language from the same release, so a non-English app calls\n * both. There is one catalogue, shipped by `@roxyapi/ui` and read by every\n * wrapper, so nothing is restated here.\n *\n * Defaults to the EXACT @roxyapi/ui release this wrapper was built against, so\n * `@roxyapi/ui-vue@x.y.z` always runs `@roxyapi/ui@x.y.z` and a lockfile actually\n * pins the runtime. It used to default to '@latest', which meant a pinned wrapper\n * silently picked up whatever the CDN was serving, and a new @roxyapi/ui release\n * changed the elements under every existing install with no lockfile change.\n *\n * Pass an explicit `version` to override, or 'latest' to opt back into floating.\n *\n * Pass `baseUrl` to serve the bundle from your own origin instead of the CDN, which is\n * what an air-gapped install or a strict Content-Security-Policy needs: copy\n * `node_modules/@roxyapi/ui/dist/cdn/` onto your host and call this once at app entry,\n * before any component mounts. The loader keeps a single shared promise, so the first\n * call wins and every component reuses it.\n */\n/** The @roxyapi/ui release this wrapper was generated against. The loader defaults to it, so the wrapper version in your lockfile is the runtime you actually get. */\nexport const ROXY_UI_VERSION = \"0.28.0\";\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(\n\tversion: string = ROXY_UI_VERSION,\n\tbaseUrl?: string,\n): 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 = `${baseUrl ?? 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/** Every language a label catalogue ships for. English is absent on purpose: the catalogue key IS the English string, so an English page downloads nothing. */\nexport const ROXY_UI_LOCALES = [\"de\",\"es\",\"fr\",\"hi\",\"pt\",\"ru\",\"tr\"] as const;\n\nconst localesLoaded = new Map<string, Promise<void>>();\n\n/**\n * Load the label catalogue for one language, so the components write their own\n * headings, buttons, empty states and form labels in it.\n *\n * Call it once at app entry, beside `ensureScriptLoaded`. The components read the\n * language from the page (their own `lang` attribute, the nearest ancestor\n * carrying one, or `<html lang>`), so this call supplies the WORDS and the page\n * supplies the CHOICE. Loading a catalogue a page never asks for is harmless.\n *\n * `es-AR`, `es-MX` and `es-419` all resolve to the `es` catalogue, so pass the\n * page tag as it stands. English resolves to nothing at all and is not an error:\n * the catalogue is keyed by the English text, so an English page needs no payload.\n * A language outside `ROXY_UI_LOCALES` resolves the same way rather than appending\n * a script tag that 404s.\n *\n * `version` and `baseUrl` behave exactly as they do for {@link ensureScriptLoaded},\n * and passing the same `baseUrl` to both is what an air-gapped or strict-CSP host\n * needs: copy `node_modules/@roxyapi/ui/dist/cdn/` onto your own origin, which\n * carries `locales/` beside `roxy-ui.js`.\n *\n * @example\n * ```ts\n * import { ensureScriptLoaded, ensureLocaleLoaded } from '@roxyapi/ui-vue';\n *\n * ensureScriptLoaded();\n * ensureLocaleLoaded(document.documentElement.lang);\n * ```\n */\nexport function ensureLocaleLoaded(\n\tlang: string,\n\tversion: string = ROXY_UI_VERSION,\n\tbaseUrl?: string,\n): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tconst base = (lang || '').toLowerCase().split('-')[0] ?? '';\n\tif (!(ROXY_UI_LOCALES as readonly string[]).includes(base)) {\n\t\treturn Promise.resolve();\n\t}\n\tconst existing = localesLoaded.get(base);\n\tif (existing) return existing;\n\n\tconst pending = new Promise<void>((resolve, reject) => {\n\t\tconst id = `${SCRIPT_ID}-locale-${base}`;\n\t\tlet el = document.getElementById(id) as HTMLScriptElement | null;\n\t\tif (el) {\n\t\t\tif (el.dataset.loaded === 'true') resolve();\n\t\t\telse {\n\t\t\t\tel.addEventListener('load', () => resolve());\n\t\t\t\tel.addEventListener('error', () => reject(new Error(`roxy-ui locale ${base} load failed`)));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tel = document.createElement('script');\n\t\tel.id = id;\n\t\tel.src = `${baseUrl ?? buildBase(version)}/locales/${base}.js`;\n\t\tel.async = true;\n\t\tel.crossOrigin = 'anonymous';\n\t\tel.addEventListener('load', () => {\n\t\t\tel!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\tel.addEventListener('error', () => reject(new Error(`roxy-ui locale ${base} load failed`)));\n\t\tdocument.head.appendChild(el);\n\t});\n\tlocalesLoaded.set(base, pending);\n\treturn pending;\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.\n"],
4
+ "sourcesContent": ["/**\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 * {@link ensureLocaleLoaded} is the other half and is OPT-IN: it loads the label\n * catalogue for one language from the same release, so a non-English app calls\n * both. There is one catalogue, shipped by `@roxyapi/ui` and read by every\n * wrapper, so nothing is restated here.\n *\n * Defaults to the EXACT @roxyapi/ui release this wrapper was built against, so\n * `@roxyapi/ui-vue@x.y.z` always runs `@roxyapi/ui@x.y.z` and a lockfile actually\n * pins the runtime. It used to default to '@latest', which meant a pinned wrapper\n * silently picked up whatever the CDN was serving, and a new @roxyapi/ui release\n * changed the elements under every existing install with no lockfile change.\n *\n * Pass an explicit `version` to override, or 'latest' to opt back into floating.\n *\n * Pass `baseUrl` to serve the bundle from your own origin instead of the CDN, which is\n * what an air-gapped install or a strict Content-Security-Policy needs: copy\n * `node_modules/@roxyapi/ui/dist/cdn/` onto your host and call this once at app entry,\n * before any component mounts. The loader keeps a single shared promise, so the first\n * call wins and every component reuses it.\n */\n/** The @roxyapi/ui release this wrapper was generated against. The loader defaults to it, so the wrapper version in your lockfile is the runtime you actually get. */\nexport const ROXY_UI_VERSION = \"0.29.0\";\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(\n\tversion: string = ROXY_UI_VERSION,\n\tbaseUrl?: string,\n): 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 = `${baseUrl ?? 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/** Every language a label catalogue ships for. English is absent on purpose: the catalogue key IS the English string, so an English page downloads nothing. */\nexport const ROXY_UI_LOCALES = [\"de\",\"es\",\"fr\",\"hi\",\"pt\",\"ru\",\"tr\"] as const;\n\nconst localesLoaded = new Map<string, Promise<void>>();\n\n/**\n * Load the label catalogue for one language, so the components write their own\n * headings, buttons, empty states and form labels in it.\n *\n * Call it once at app entry, beside `ensureScriptLoaded`. The components read the\n * language from the page (their own `lang` attribute, the nearest ancestor\n * carrying one, or `<html lang>`), so this call supplies the WORDS and the page\n * supplies the CHOICE. Loading a catalogue a page never asks for is harmless.\n *\n * `es-AR`, `es-MX` and `es-419` all resolve to the `es` catalogue, so pass the\n * page tag as it stands. English resolves to nothing at all and is not an error:\n * the catalogue is keyed by the English text, so an English page needs no payload.\n * A language outside `ROXY_UI_LOCALES` resolves the same way rather than appending\n * a script tag that 404s.\n *\n * `version` and `baseUrl` behave exactly as they do for {@link ensureScriptLoaded},\n * and passing the same `baseUrl` to both is what an air-gapped or strict-CSP host\n * needs: copy `node_modules/@roxyapi/ui/dist/cdn/` onto your own origin, which\n * carries `locales/` beside `roxy-ui.js`.\n *\n * @example\n * ```ts\n * import { ensureScriptLoaded, ensureLocaleLoaded } from '@roxyapi/ui-vue';\n *\n * ensureScriptLoaded();\n * ensureLocaleLoaded(document.documentElement.lang);\n * ```\n */\nexport function ensureLocaleLoaded(\n\tlang: string,\n\tversion: string = ROXY_UI_VERSION,\n\tbaseUrl?: string,\n): Promise<void> {\n\tif (typeof document === 'undefined') return Promise.resolve();\n\tconst base = (lang || '').toLowerCase().split('-')[0] ?? '';\n\tif (!(ROXY_UI_LOCALES as readonly string[]).includes(base)) {\n\t\treturn Promise.resolve();\n\t}\n\tconst existing = localesLoaded.get(base);\n\tif (existing) return existing;\n\n\tconst pending = new Promise<void>((resolve, reject) => {\n\t\tconst id = `${SCRIPT_ID}-locale-${base}`;\n\t\tlet el = document.getElementById(id) as HTMLScriptElement | null;\n\t\tif (el) {\n\t\t\tif (el.dataset.loaded === 'true') resolve();\n\t\t\telse {\n\t\t\t\tel.addEventListener('load', () => resolve());\n\t\t\t\tel.addEventListener('error', () => reject(new Error(`roxy-ui locale ${base} load failed`)));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tel = document.createElement('script');\n\t\tel.id = id;\n\t\tel.src = `${baseUrl ?? buildBase(version)}/locales/${base}.js`;\n\t\tel.async = true;\n\t\tel.crossOrigin = 'anonymous';\n\t\tel.addEventListener('load', () => {\n\t\t\tel!.dataset.loaded = 'true';\n\t\t\tresolve();\n\t\t});\n\t\tel.addEventListener('error', () => reject(new Error(`roxy-ui locale ${base} load failed`)));\n\t\tdocument.head.appendChild(el);\n\t});\n\tlocalesLoaded.set(base, pending);\n\treturn pending;\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.\n"],
5
5
  "mappings": "AAyBO,IAAMA,EAAkB,SAEzBC,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,EACfD,EAAkBP,EAClBS,EACgB,CAChB,OAAI,OAAO,SAAa,IAAoB,QAAQ,QAAQ,EACxDJ,IAEJA,EAAS,IAAI,QAAc,CAACK,EAASC,IAAW,CAC/C,IAAMC,EAAM,GAAGH,GAAWH,EAAUC,CAAO,CAAC,cACxCM,EAAW,SAAS,eAAeZ,CAAS,EAChD,GAAIY,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,GAAKZ,EACdY,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,EACMR,EACR,CAGO,IAAMS,EAAkB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAE5DC,EAAgB,IAAI,IA8BnB,SAASC,EACfC,EACAV,EAAkBP,EAClBS,EACgB,CAChB,GAAI,OAAO,SAAa,IAAa,OAAO,QAAQ,QAAQ,EAC5D,IAAMS,GAAQD,GAAQ,IAAI,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,GAAK,GACzD,GAAI,CAAEH,EAAsC,SAASI,CAAI,EACxD,OAAO,QAAQ,QAAQ,EAExB,IAAML,EAAWE,EAAc,IAAIG,CAAI,EACvC,GAAIL,EAAU,OAAOA,EAErB,IAAMM,EAAU,IAAI,QAAc,CAACT,EAASC,IAAW,CACtD,IAAMS,EAAK,GAAGnB,CAAS,WAAWiB,CAAI,GAClCG,EAAK,SAAS,eAAeD,CAAE,EACnC,GAAIC,EAAI,CACHA,EAAG,QAAQ,SAAW,OAAQX,EAAQ,GAEzCW,EAAG,iBAAiB,OAAQ,IAAMX,EAAQ,CAAC,EAC3CW,EAAG,iBAAiB,QAAS,IAAMV,EAAO,IAAI,MAAM,kBAAkBO,CAAI,cAAc,CAAC,CAAC,GAE3F,MACD,CACAG,EAAK,SAAS,cAAc,QAAQ,EACpCA,EAAG,GAAKD,EACRC,EAAG,IAAM,GAAGZ,GAAWH,EAAUC,CAAO,CAAC,YAAYW,CAAI,MACzDG,EAAG,MAAQ,GACXA,EAAG,YAAc,YACjBA,EAAG,iBAAiB,OAAQ,IAAM,CACjCA,EAAI,QAAQ,OAAS,OACrBX,EAAQ,CACT,CAAC,EACDW,EAAG,iBAAiB,QAAS,IAAMV,EAAO,IAAI,MAAM,kBAAkBO,CAAI,cAAc,CAAC,CAAC,EAC1F,SAAS,KAAK,YAAYG,CAAE,CAC7B,CAAC,EACD,OAAAN,EAAc,IAAIG,EAAMC,CAAO,EACxBA,CACR,CAGA,IAAOG,EAAQd",
6
6
  "names": ["ROXY_UI_VERSION", "SCRIPT_ID", "CDN_BASE_LATEST", "CDN_BASE_PREFIX", "CDN_BASE_SUFFIX", "loaded", "buildBase", "version", "ensureScriptLoaded", "baseUrl", "resolve", "reject", "url", "existing", "ROXY_UI_LOCALES", "localesLoaded", "ensureLocaleLoaded", "lang", "base", "pending", "id", "el", "load_ui_default"]
7
7
  }
@@ -420,7 +420,7 @@ export type NatalChartRequest = {
420
420
  */
421
421
  timezone: number | string;
422
422
  /**
423
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
423
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
424
424
  */
425
425
  nodeType?: 'mean' | 'true';
426
426
  /**
@@ -826,7 +826,7 @@ export type AspectPatternsRequest = {
826
826
  */
827
827
  timezone: number | string;
828
828
  /**
829
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
829
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
830
830
  */
831
831
  nodeType?: 'mean' | 'true';
832
832
  };
@@ -994,7 +994,7 @@ export type TransitsRequest = {
994
994
  */
995
995
  timezone?: number | string;
996
996
  /**
997
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
997
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
998
998
  */
999
999
  nodeType?: 'mean' | 'true';
1000
1000
  /**
@@ -1743,7 +1743,7 @@ export type ArabicLotsRequest = {
1743
1743
  */
1744
1744
  timezone: number | string;
1745
1745
  /**
1746
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1746
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1747
1747
  */
1748
1748
  nodeType?: 'mean' | 'true';
1749
1749
  /**
@@ -1853,7 +1853,7 @@ export type AsteroidsRequest = {
1853
1853
  */
1854
1854
  timezone: number | string;
1855
1855
  /**
1856
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1856
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1857
1857
  */
1858
1858
  nodeType?: 'mean' | 'true';
1859
1859
  /**
@@ -1967,7 +1967,7 @@ export type LilithRequest = {
1967
1967
  */
1968
1968
  timezone: number | string;
1969
1969
  /**
1970
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1970
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
1971
1971
  */
1972
1972
  nodeType?: 'mean' | 'true';
1973
1973
  /**
@@ -2127,7 +2127,7 @@ export type ProgressionsRequest = {
2127
2127
  */
2128
2128
  timezone: number | string;
2129
2129
  /**
2130
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2130
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2131
2131
  */
2132
2132
  nodeType?: 'mean' | 'true';
2133
2133
  /**
@@ -2229,7 +2229,7 @@ export type SolarArcRequest = {
2229
2229
  */
2230
2230
  timezone: number | string;
2231
2231
  /**
2232
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2232
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2233
2233
  */
2234
2234
  nodeType?: 'mean' | 'true';
2235
2235
  /**
@@ -2327,7 +2327,7 @@ export type ProfectionsRequest = {
2327
2327
  */
2328
2328
  timezone: number | string;
2329
2329
  /**
2330
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2330
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
2331
2331
  */
2332
2332
  nodeType?: 'mean' | 'true';
2333
2333
  /**
@@ -8401,7 +8401,7 @@ export type GetPlanetaryPositionsData = {
8401
8401
  */
8402
8402
  time: string;
8403
8403
  /**
8404
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
8404
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
8405
8405
  */
8406
8406
  nodeType?: 'mean' | 'true';
8407
8407
  /**
@@ -9301,7 +9301,7 @@ export type CalculateSynastryData = {
9301
9301
  */
9302
9302
  timezone: number | string;
9303
9303
  /**
9304
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9304
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9305
9305
  */
9306
9306
  nodeType?: 'mean' | 'true';
9307
9307
  /**
@@ -9331,7 +9331,7 @@ export type CalculateSynastryData = {
9331
9331
  */
9332
9332
  timezone: number | string;
9333
9333
  /**
9334
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9334
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
9335
9335
  */
9336
9336
  nodeType?: 'mean' | 'true';
9337
9337
  /**
@@ -10288,7 +10288,7 @@ export type CalculateTransitAspectsData = {
10288
10288
  */
10289
10289
  timezone: number | string;
10290
10290
  /**
10291
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
10291
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
10292
10292
  */
10293
10293
  nodeType?: 'mean' | 'true';
10294
10294
  };
@@ -11554,7 +11554,7 @@ export type GenerateCompositeChartData = {
11554
11554
  */
11555
11555
  timezone: number | string;
11556
11556
  /**
11557
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11557
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11558
11558
  */
11559
11559
  nodeType?: 'mean' | 'true';
11560
11560
  };
@@ -11583,7 +11583,7 @@ export type GenerateCompositeChartData = {
11583
11583
  */
11584
11584
  timezone: number | string;
11585
11585
  /**
11586
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11586
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11587
11587
  */
11588
11588
  nodeType?: 'mean' | 'true';
11589
11589
  };
@@ -11951,7 +11951,7 @@ export type CalculateCompatibilityData = {
11951
11951
  */
11952
11952
  timezone: number | string;
11953
11953
  /**
11954
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11954
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11955
11955
  */
11956
11956
  nodeType?: 'mean' | 'true';
11957
11957
  };
@@ -11980,7 +11980,7 @@ export type CalculateCompatibilityData = {
11980
11980
  */
11981
11981
  timezone: number | string;
11982
11982
  /**
11983
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11983
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
11984
11984
  */
11985
11985
  nodeType?: 'mean' | 'true';
11986
11986
  };
@@ -13454,7 +13454,7 @@ export type GenerateAstrocartographyData = {
13454
13454
  */
13455
13455
  timezone: number | string;
13456
13456
  /**
13457
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13457
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13458
13458
  */
13459
13459
  nodeType?: 'mean' | 'true';
13460
13460
  };
@@ -13868,7 +13868,7 @@ export type GenerateFixedStarsData = {
13868
13868
  */
13869
13869
  timezone: number | string;
13870
13870
  /**
13871
- * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is what most Western software reports (Astrolabe, Cafe Astrology, TimePassages), which is why it is the default here; astro-seek and the Steven Forrest evolutionary school use mean, so pass "mean" to match those. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13871
+ * Lunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass "mean" to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to "true".
13872
13872
  */
13873
13873
  nodeType?: 'mean' | 'true';
13874
13874
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roxyapi/ui-vue",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "Vue components for the RoxyAPI catalog. Drop-in charts, tables, cards, forms for astrology, tarot, numerology, biorhythm, I Ching, and more. One key, beautiful in 30 minutes.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",