@roxyapi/ui-react 0.0.1 → 0.1.2
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.
- package/AGENTS.md +169 -0
- package/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/components/biorhythm-chart.d.ts +9 -0
- package/dist/components/biorhythm-chart.d.ts.map +1 -0
- package/dist/components/biorhythm-chart.js +65 -0
- package/dist/components/biorhythm-chart.js.map +7 -0
- package/dist/components/compatibility-card.d.ts +9 -0
- package/dist/components/compatibility-card.d.ts.map +1 -0
- package/dist/components/compatibility-card.js +65 -0
- package/dist/components/compatibility-card.js.map +7 -0
- package/dist/components/dasha-timeline.d.ts +9 -0
- package/dist/components/dasha-timeline.d.ts.map +1 -0
- package/dist/components/dasha-timeline.js +65 -0
- package/dist/components/dasha-timeline.js.map +7 -0
- package/dist/components/data.d.ts +9 -0
- package/dist/components/data.d.ts.map +1 -0
- package/dist/components/data.js +65 -0
- package/dist/components/data.js.map +7 -0
- package/dist/components/dosha-card.d.ts +9 -0
- package/dist/components/dosha-card.d.ts.map +1 -0
- package/dist/components/dosha-card.js +65 -0
- package/dist/components/dosha-card.js.map +7 -0
- package/dist/components/endpoint-form.d.ts +9 -0
- package/dist/components/endpoint-form.d.ts.map +1 -0
- package/dist/components/endpoint-form.js +65 -0
- package/dist/components/endpoint-form.js.map +7 -0
- package/dist/components/guna-milan.d.ts +9 -0
- package/dist/components/guna-milan.d.ts.map +1 -0
- package/dist/components/guna-milan.js +65 -0
- package/dist/components/guna-milan.js.map +7 -0
- package/dist/components/hexagram.d.ts +9 -0
- package/dist/components/hexagram.d.ts.map +1 -0
- package/dist/components/hexagram.js +65 -0
- package/dist/components/hexagram.js.map +7 -0
- package/dist/components/horoscope-card.d.ts +9 -0
- package/dist/components/horoscope-card.d.ts.map +1 -0
- package/dist/components/horoscope-card.js +65 -0
- package/dist/components/horoscope-card.js.map +7 -0
- package/dist/components/kp-planets-table.d.ts +9 -0
- package/dist/components/kp-planets-table.d.ts.map +1 -0
- package/dist/components/kp-planets-table.js +65 -0
- package/dist/components/kp-planets-table.js.map +7 -0
- package/dist/components/location-search.d.ts +9 -0
- package/dist/components/location-search.d.ts.map +1 -0
- package/dist/components/location-search.js +65 -0
- package/dist/components/location-search.js.map +7 -0
- package/dist/components/moon-phase.d.ts +9 -0
- package/dist/components/moon-phase.d.ts.map +1 -0
- package/dist/components/moon-phase.js +65 -0
- package/dist/components/moon-phase.js.map +7 -0
- package/dist/components/natal-chart.d.ts +9 -0
- package/dist/components/natal-chart.d.ts.map +1 -0
- package/dist/components/natal-chart.js +65 -0
- package/dist/components/natal-chart.js.map +7 -0
- package/dist/components/numerology-card.d.ts +9 -0
- package/dist/components/numerology-card.d.ts.map +1 -0
- package/dist/components/numerology-card.js +65 -0
- package/dist/components/numerology-card.js.map +7 -0
- package/dist/components/panchang-table.d.ts +9 -0
- package/dist/components/panchang-table.d.ts.map +1 -0
- package/dist/components/panchang-table.js +65 -0
- package/dist/components/panchang-table.js.map +7 -0
- package/dist/components/synastry-chart.d.ts +9 -0
- package/dist/components/synastry-chart.d.ts.map +1 -0
- package/dist/components/synastry-chart.js +65 -0
- package/dist/components/synastry-chart.js.map +7 -0
- package/dist/components/tarot-card.d.ts +9 -0
- package/dist/components/tarot-card.d.ts.map +1 -0
- package/dist/components/tarot-card.js +65 -0
- package/dist/components/tarot-card.js.map +7 -0
- package/dist/components/tarot-spread.d.ts +9 -0
- package/dist/components/tarot-spread.d.ts.map +1 -0
- package/dist/components/tarot-spread.js +65 -0
- package/dist/components/tarot-spread.js.map +7 -0
- package/dist/components/vedic-kundli.d.ts +9 -0
- package/dist/components/vedic-kundli.d.ts.map +1 -0
- package/dist/components/vedic-kundli.js +65 -0
- package/dist/components/vedic-kundli.js.map +7 -0
- package/dist/index.cjs +565 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +532 -0
- package/dist/index.js.map +7 -0
- package/dist/load-ui.d.ts +2 -0
- package/dist/load-ui.d.ts.map +1 -0
- package/dist/load-ui.js +38 -0
- package/dist/load-ui.js.map +7 -0
- package/package.json +49 -3
- package/src/components/biorhythm-chart.d.ts +12 -0
- package/src/components/biorhythm-chart.d.ts.map +1 -0
- package/src/components/biorhythm-chart.tsx +35 -0
- package/src/components/compatibility-card.d.ts +12 -0
- package/src/components/compatibility-card.d.ts.map +1 -0
- package/src/components/compatibility-card.tsx +35 -0
- package/src/components/dasha-timeline.d.ts +12 -0
- package/src/components/dasha-timeline.d.ts.map +1 -0
- package/src/components/dasha-timeline.tsx +35 -0
- package/src/components/data.d.ts +11 -0
- package/src/components/data.d.ts.map +1 -0
- package/src/components/data.tsx +35 -0
- package/src/components/dosha-card.d.ts +12 -0
- package/src/components/dosha-card.d.ts.map +1 -0
- package/src/components/dosha-card.tsx +35 -0
- package/src/components/endpoint-form.d.ts +12 -0
- package/src/components/endpoint-form.d.ts.map +1 -0
- package/src/components/endpoint-form.tsx +35 -0
- package/src/components/guna-milan.d.ts +12 -0
- package/src/components/guna-milan.d.ts.map +1 -0
- package/src/components/guna-milan.tsx +35 -0
- package/src/components/hexagram.d.ts +12 -0
- package/src/components/hexagram.d.ts.map +1 -0
- package/src/components/hexagram.tsx +35 -0
- package/src/components/horoscope-card.d.ts +12 -0
- package/src/components/horoscope-card.d.ts.map +1 -0
- package/src/components/horoscope-card.tsx +35 -0
- package/src/components/kp-planets-table.d.ts +12 -0
- package/src/components/kp-planets-table.d.ts.map +1 -0
- package/src/components/kp-planets-table.tsx +35 -0
- package/src/components/location-search.d.ts +12 -0
- package/src/components/location-search.d.ts.map +1 -0
- package/src/components/location-search.tsx +35 -0
- package/src/components/moon-phase.d.ts +12 -0
- package/src/components/moon-phase.d.ts.map +1 -0
- package/src/components/moon-phase.tsx +35 -0
- package/src/components/natal-chart.d.ts +12 -0
- package/src/components/natal-chart.d.ts.map +1 -0
- package/src/components/natal-chart.tsx +35 -0
- package/src/components/numerology-card.d.ts +12 -0
- package/src/components/numerology-card.d.ts.map +1 -0
- package/src/components/numerology-card.tsx +35 -0
- package/src/components/panchang-table.d.ts +12 -0
- package/src/components/panchang-table.d.ts.map +1 -0
- package/src/components/panchang-table.tsx +35 -0
- package/src/components/synastry-chart.d.ts +12 -0
- package/src/components/synastry-chart.d.ts.map +1 -0
- package/src/components/synastry-chart.tsx +35 -0
- package/src/components/tarot-card.d.ts +12 -0
- package/src/components/tarot-card.d.ts.map +1 -0
- package/src/components/tarot-card.tsx +35 -0
- package/src/components/tarot-spread.d.ts +12 -0
- package/src/components/tarot-spread.d.ts.map +1 -0
- package/src/components/tarot-spread.tsx +35 -0
- package/src/components/vedic-kundli.d.ts +12 -0
- package/src/components/vedic-kundli.d.ts.map +1 -0
- package/src/components/vedic-kundli.tsx +35 -0
- package/src/index.d.ts +21 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.ts +20 -0
- package/src/load-ui.d.ts +2 -0
- package/src/load-ui.d.ts.map +1 -0
- package/src/load-ui.ts +41 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// packages/ui-react/src/components/synastry-chart.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
// packages/ui-react/src/load-ui.ts
|
|
5
|
+
var SCRIPT_ID = "roxyapi-ui-loader";
|
|
6
|
+
var CDN_BASE = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn";
|
|
7
|
+
var loaded = null;
|
|
8
|
+
function ensureScriptLoaded(version = "0.1.0") {
|
|
9
|
+
if (typeof document === "undefined") return Promise.resolve();
|
|
10
|
+
if (loaded) return loaded;
|
|
11
|
+
loaded = new Promise((resolve, reject) => {
|
|
12
|
+
const major = version.split(".")[0];
|
|
13
|
+
const url = `${CDN_BASE.replace("@0", "@" + major)}/roxy-ui.js`;
|
|
14
|
+
let existing = document.getElementById(SCRIPT_ID);
|
|
15
|
+
if (existing) {
|
|
16
|
+
if (existing.dataset.loaded === "true") {
|
|
17
|
+
resolve();
|
|
18
|
+
} else {
|
|
19
|
+
existing.addEventListener("load", () => resolve());
|
|
20
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
existing = document.createElement("script");
|
|
25
|
+
existing.id = SCRIPT_ID;
|
|
26
|
+
existing.src = url;
|
|
27
|
+
existing.async = true;
|
|
28
|
+
existing.crossOrigin = "anonymous";
|
|
29
|
+
existing.addEventListener("load", () => {
|
|
30
|
+
existing.dataset.loaded = "true";
|
|
31
|
+
resolve();
|
|
32
|
+
});
|
|
33
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
34
|
+
document.head.appendChild(existing);
|
|
35
|
+
});
|
|
36
|
+
return loaded;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// packages/ui-react/src/components/synastry-chart.tsx
|
|
40
|
+
var RoxySynastryChart = React.forwardRef(
|
|
41
|
+
function RoxySynastryChart2({ data, ...rest }, ref) {
|
|
42
|
+
const internal = React.useRef(null);
|
|
43
|
+
React.useImperativeHandle(ref, () => internal.current);
|
|
44
|
+
const [loaded2, setLoaded] = React.useState(false);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
let active = true;
|
|
47
|
+
ensureScriptLoaded().then(() => {
|
|
48
|
+
if (active) setLoaded(true);
|
|
49
|
+
});
|
|
50
|
+
return () => {
|
|
51
|
+
active = false;
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
if (internal.current && data !== void 0) {
|
|
56
|
+
internal.current.data = data;
|
|
57
|
+
}
|
|
58
|
+
}, [data, loaded2]);
|
|
59
|
+
return React.createElement("roxy-synastry-chart", { ref: internal, ...rest });
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
export {
|
|
63
|
+
RoxySynastryChart
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=synastry-chart.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/synastry-chart.tsx", "../../src/load-ui.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { ensureScriptLoaded } from '../load-ui.js';\n\ntype DivAttrs = React.HTMLAttributes<HTMLElement>;\n\nexport interface RoxySynastryChartProps extends Omit<DivAttrs, 'children' | 'onSelect'> {\n\tdata?: unknown;\n\t[attr: string]: unknown;\n}\n\nexport const RoxySynastryChart = React.forwardRef<HTMLElement, RoxySynastryChartProps>(\n\tfunction RoxySynastryChart({ data, ...rest }, ref) {\n\t\tconst internal = React.useRef<HTMLElement | null>(null);\n\t\tReact.useImperativeHandle(ref, () => internal.current as HTMLElement);\n\t\tconst [loaded, setLoaded] = React.useState(false);\n\n\t\tReact.useEffect(() => {\n\t\t\tlet active = true;\n\t\t\tensureScriptLoaded().then(() => {\n\t\t\t\tif (active) setLoaded(true);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tactive = false;\n\t\t\t};\n\t\t}, []);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (internal.current && data !== undefined) {\n\t\t\t\t(internal.current as unknown as { data: unknown }).data = data;\n\t\t\t}\n\t\t}, [data, loaded]);\n\n\t\treturn React.createElement('roxy-synastry-chart', { ref: internal, ...rest });\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 * React server components and Next.js SSR work without a flash.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nexport function ensureScriptLoaded(version: string = '0.1.0'): 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 major = version.split('.')[0];\n\t\tconst url = `${CDN_BASE.replace('@0', '@' + major)}/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"],
|
|
5
|
+
"mappings": ";AAAA,YAAY,WAAW;;;ACKvB,IAAM,YAAY;AAClB,IAAM,WAAW;AAEjB,IAAI,SAA+B;AAE5B,SAAS,mBAAmB,UAAkB,SAAwB;AAC5E,MAAI,OAAO,aAAa,YAAa,QAAO,QAAQ,QAAQ;AAC5D,MAAI,OAAQ,QAAO;AAEnB,WAAS,IAAI,QAAc,CAAC,SAAS,WAAW;AAC/C,UAAM,QAAQ,QAAQ,MAAM,GAAG,EAAE,CAAC;AAClC,UAAM,MAAM,GAAG,SAAS,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,QAAI,WAAW,SAAS,eAAe,SAAS;AAChD,QAAI,UAAU;AACb,UAAI,SAAS,QAAQ,WAAW,QAAQ;AACvC,gBAAQ;AAAA,MACT,OAAO;AACN,iBAAS,iBAAiB,QAAQ,MAAM,QAAQ,CAAC;AACjD,iBAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AAAA,MAClF;AACA;AAAA,IACD;AACA,eAAW,SAAS,cAAc,QAAQ;AAC1C,aAAS,KAAK;AACd,aAAS,MAAM;AACf,aAAS,QAAQ;AACjB,aAAS,cAAc;AACvB,aAAS,iBAAiB,QAAQ,MAAM;AACvC,eAAU,QAAQ,SAAS;AAC3B,cAAQ;AAAA,IACT,CAAC;AACD,aAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AACjF,aAAS,KAAK,YAAY,QAAQ;AAAA,EACnC,CAAC;AACD,SAAO;AACR;;;AD9BO,IAAM,oBAA0B;AAAA,EACtC,SAASA,mBAAkB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;AAClD,UAAM,WAAiB,aAA2B,IAAI;AACtD,IAAM,0BAAoB,KAAK,MAAM,SAAS,OAAsB;AACpE,UAAM,CAACC,SAAQ,SAAS,IAAU,eAAS,KAAK;AAEhD,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS;AACb,yBAAmB,EAAE,KAAK,MAAM;AAC/B,YAAI,OAAQ,WAAU,IAAI;AAAA,MAC3B,CAAC;AACD,aAAO,MAAM;AACZ,iBAAS;AAAA,MACV;AAAA,IACD,GAAG,CAAC,CAAC;AAEL,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS,WAAW,SAAS,QAAW;AAC3C,QAAC,SAAS,QAAyC,OAAO;AAAA,MAC3D;AAAA,IACD,GAAG,CAAC,MAAMA,OAAM,CAAC;AAEjB,WAAa,oBAAc,uBAAuB,EAAE,KAAK,UAAU,GAAG,KAAK,CAAC;AAAA,EAC7E;AACD;",
|
|
6
|
+
"names": ["RoxySynastryChart", "loaded"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
type DivAttrs = React.HTMLAttributes<HTMLElement>;
|
|
3
|
+
export interface RoxyTarotCardProps extends Omit<DivAttrs, 'children' | 'onSelect'> {
|
|
4
|
+
data?: unknown;
|
|
5
|
+
[attr: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export declare const RoxyTarotCard: React.ForwardRefExoticComponent<Omit<RoxyTarotCardProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=tarot-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarot-card.d.ts","sourceRoot":"","sources":["../../src/components/tarot-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,qGAwBzB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// packages/ui-react/src/components/tarot-card.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
// packages/ui-react/src/load-ui.ts
|
|
5
|
+
var SCRIPT_ID = "roxyapi-ui-loader";
|
|
6
|
+
var CDN_BASE = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn";
|
|
7
|
+
var loaded = null;
|
|
8
|
+
function ensureScriptLoaded(version = "0.1.0") {
|
|
9
|
+
if (typeof document === "undefined") return Promise.resolve();
|
|
10
|
+
if (loaded) return loaded;
|
|
11
|
+
loaded = new Promise((resolve, reject) => {
|
|
12
|
+
const major = version.split(".")[0];
|
|
13
|
+
const url = `${CDN_BASE.replace("@0", "@" + major)}/roxy-ui.js`;
|
|
14
|
+
let existing = document.getElementById(SCRIPT_ID);
|
|
15
|
+
if (existing) {
|
|
16
|
+
if (existing.dataset.loaded === "true") {
|
|
17
|
+
resolve();
|
|
18
|
+
} else {
|
|
19
|
+
existing.addEventListener("load", () => resolve());
|
|
20
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
existing = document.createElement("script");
|
|
25
|
+
existing.id = SCRIPT_ID;
|
|
26
|
+
existing.src = url;
|
|
27
|
+
existing.async = true;
|
|
28
|
+
existing.crossOrigin = "anonymous";
|
|
29
|
+
existing.addEventListener("load", () => {
|
|
30
|
+
existing.dataset.loaded = "true";
|
|
31
|
+
resolve();
|
|
32
|
+
});
|
|
33
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
34
|
+
document.head.appendChild(existing);
|
|
35
|
+
});
|
|
36
|
+
return loaded;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// packages/ui-react/src/components/tarot-card.tsx
|
|
40
|
+
var RoxyTarotCard = React.forwardRef(
|
|
41
|
+
function RoxyTarotCard2({ data, ...rest }, ref) {
|
|
42
|
+
const internal = React.useRef(null);
|
|
43
|
+
React.useImperativeHandle(ref, () => internal.current);
|
|
44
|
+
const [loaded2, setLoaded] = React.useState(false);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
let active = true;
|
|
47
|
+
ensureScriptLoaded().then(() => {
|
|
48
|
+
if (active) setLoaded(true);
|
|
49
|
+
});
|
|
50
|
+
return () => {
|
|
51
|
+
active = false;
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
if (internal.current && data !== void 0) {
|
|
56
|
+
internal.current.data = data;
|
|
57
|
+
}
|
|
58
|
+
}, [data, loaded2]);
|
|
59
|
+
return React.createElement("roxy-tarot-card", { ref: internal, ...rest });
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
export {
|
|
63
|
+
RoxyTarotCard
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=tarot-card.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/tarot-card.tsx", "../../src/load-ui.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { ensureScriptLoaded } from '../load-ui.js';\n\ntype DivAttrs = React.HTMLAttributes<HTMLElement>;\n\nexport interface RoxyTarotCardProps extends Omit<DivAttrs, 'children' | 'onSelect'> {\n\tdata?: unknown;\n\t[attr: string]: unknown;\n}\n\nexport const RoxyTarotCard = React.forwardRef<HTMLElement, RoxyTarotCardProps>(\n\tfunction RoxyTarotCard({ data, ...rest }, ref) {\n\t\tconst internal = React.useRef<HTMLElement | null>(null);\n\t\tReact.useImperativeHandle(ref, () => internal.current as HTMLElement);\n\t\tconst [loaded, setLoaded] = React.useState(false);\n\n\t\tReact.useEffect(() => {\n\t\t\tlet active = true;\n\t\t\tensureScriptLoaded().then(() => {\n\t\t\t\tif (active) setLoaded(true);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tactive = false;\n\t\t\t};\n\t\t}, []);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (internal.current && data !== undefined) {\n\t\t\t\t(internal.current as unknown as { data: unknown }).data = data;\n\t\t\t}\n\t\t}, [data, loaded]);\n\n\t\treturn React.createElement('roxy-tarot-card', { ref: internal, ...rest });\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 * React server components and Next.js SSR work without a flash.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nexport function ensureScriptLoaded(version: string = '0.1.0'): 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 major = version.split('.')[0];\n\t\tconst url = `${CDN_BASE.replace('@0', '@' + major)}/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"],
|
|
5
|
+
"mappings": ";AAAA,YAAY,WAAW;;;ACKvB,IAAM,YAAY;AAClB,IAAM,WAAW;AAEjB,IAAI,SAA+B;AAE5B,SAAS,mBAAmB,UAAkB,SAAwB;AAC5E,MAAI,OAAO,aAAa,YAAa,QAAO,QAAQ,QAAQ;AAC5D,MAAI,OAAQ,QAAO;AAEnB,WAAS,IAAI,QAAc,CAAC,SAAS,WAAW;AAC/C,UAAM,QAAQ,QAAQ,MAAM,GAAG,EAAE,CAAC;AAClC,UAAM,MAAM,GAAG,SAAS,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,QAAI,WAAW,SAAS,eAAe,SAAS;AAChD,QAAI,UAAU;AACb,UAAI,SAAS,QAAQ,WAAW,QAAQ;AACvC,gBAAQ;AAAA,MACT,OAAO;AACN,iBAAS,iBAAiB,QAAQ,MAAM,QAAQ,CAAC;AACjD,iBAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AAAA,MAClF;AACA;AAAA,IACD;AACA,eAAW,SAAS,cAAc,QAAQ;AAC1C,aAAS,KAAK;AACd,aAAS,MAAM;AACf,aAAS,QAAQ;AACjB,aAAS,cAAc;AACvB,aAAS,iBAAiB,QAAQ,MAAM;AACvC,eAAU,QAAQ,SAAS;AAC3B,cAAQ;AAAA,IACT,CAAC;AACD,aAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AACjF,aAAS,KAAK,YAAY,QAAQ;AAAA,EACnC,CAAC;AACD,SAAO;AACR;;;AD9BO,IAAM,gBAAsB;AAAA,EAClC,SAASA,eAAc,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;AAC9C,UAAM,WAAiB,aAA2B,IAAI;AACtD,IAAM,0BAAoB,KAAK,MAAM,SAAS,OAAsB;AACpE,UAAM,CAACC,SAAQ,SAAS,IAAU,eAAS,KAAK;AAEhD,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS;AACb,yBAAmB,EAAE,KAAK,MAAM;AAC/B,YAAI,OAAQ,WAAU,IAAI;AAAA,MAC3B,CAAC;AACD,aAAO,MAAM;AACZ,iBAAS;AAAA,MACV;AAAA,IACD,GAAG,CAAC,CAAC;AAEL,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS,WAAW,SAAS,QAAW;AAC3C,QAAC,SAAS,QAAyC,OAAO;AAAA,MAC3D;AAAA,IACD,GAAG,CAAC,MAAMA,OAAM,CAAC;AAEjB,WAAa,oBAAc,mBAAmB,EAAE,KAAK,UAAU,GAAG,KAAK,CAAC;AAAA,EACzE;AACD;",
|
|
6
|
+
"names": ["RoxyTarotCard", "loaded"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
type DivAttrs = React.HTMLAttributes<HTMLElement>;
|
|
3
|
+
export interface RoxyTarotSpreadProps extends Omit<DivAttrs, 'children' | 'onSelect'> {
|
|
4
|
+
data?: unknown;
|
|
5
|
+
[attr: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export declare const RoxyTarotSpread: React.ForwardRefExoticComponent<Omit<RoxyTarotSpreadProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=tarot-spread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarot-spread.d.ts","sourceRoot":"","sources":["../../src/components/tarot-spread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,uGAwB3B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// packages/ui-react/src/components/tarot-spread.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
// packages/ui-react/src/load-ui.ts
|
|
5
|
+
var SCRIPT_ID = "roxyapi-ui-loader";
|
|
6
|
+
var CDN_BASE = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn";
|
|
7
|
+
var loaded = null;
|
|
8
|
+
function ensureScriptLoaded(version = "0.1.0") {
|
|
9
|
+
if (typeof document === "undefined") return Promise.resolve();
|
|
10
|
+
if (loaded) return loaded;
|
|
11
|
+
loaded = new Promise((resolve, reject) => {
|
|
12
|
+
const major = version.split(".")[0];
|
|
13
|
+
const url = `${CDN_BASE.replace("@0", "@" + major)}/roxy-ui.js`;
|
|
14
|
+
let existing = document.getElementById(SCRIPT_ID);
|
|
15
|
+
if (existing) {
|
|
16
|
+
if (existing.dataset.loaded === "true") {
|
|
17
|
+
resolve();
|
|
18
|
+
} else {
|
|
19
|
+
existing.addEventListener("load", () => resolve());
|
|
20
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
existing = document.createElement("script");
|
|
25
|
+
existing.id = SCRIPT_ID;
|
|
26
|
+
existing.src = url;
|
|
27
|
+
existing.async = true;
|
|
28
|
+
existing.crossOrigin = "anonymous";
|
|
29
|
+
existing.addEventListener("load", () => {
|
|
30
|
+
existing.dataset.loaded = "true";
|
|
31
|
+
resolve();
|
|
32
|
+
});
|
|
33
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
34
|
+
document.head.appendChild(existing);
|
|
35
|
+
});
|
|
36
|
+
return loaded;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// packages/ui-react/src/components/tarot-spread.tsx
|
|
40
|
+
var RoxyTarotSpread = React.forwardRef(
|
|
41
|
+
function RoxyTarotSpread2({ data, ...rest }, ref) {
|
|
42
|
+
const internal = React.useRef(null);
|
|
43
|
+
React.useImperativeHandle(ref, () => internal.current);
|
|
44
|
+
const [loaded2, setLoaded] = React.useState(false);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
let active = true;
|
|
47
|
+
ensureScriptLoaded().then(() => {
|
|
48
|
+
if (active) setLoaded(true);
|
|
49
|
+
});
|
|
50
|
+
return () => {
|
|
51
|
+
active = false;
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
if (internal.current && data !== void 0) {
|
|
56
|
+
internal.current.data = data;
|
|
57
|
+
}
|
|
58
|
+
}, [data, loaded2]);
|
|
59
|
+
return React.createElement("roxy-tarot-spread", { ref: internal, ...rest });
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
export {
|
|
63
|
+
RoxyTarotSpread
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=tarot-spread.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/tarot-spread.tsx", "../../src/load-ui.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { ensureScriptLoaded } from '../load-ui.js';\n\ntype DivAttrs = React.HTMLAttributes<HTMLElement>;\n\nexport interface RoxyTarotSpreadProps extends Omit<DivAttrs, 'children' | 'onSelect'> {\n\tdata?: unknown;\n\t[attr: string]: unknown;\n}\n\nexport const RoxyTarotSpread = React.forwardRef<HTMLElement, RoxyTarotSpreadProps>(\n\tfunction RoxyTarotSpread({ data, ...rest }, ref) {\n\t\tconst internal = React.useRef<HTMLElement | null>(null);\n\t\tReact.useImperativeHandle(ref, () => internal.current as HTMLElement);\n\t\tconst [loaded, setLoaded] = React.useState(false);\n\n\t\tReact.useEffect(() => {\n\t\t\tlet active = true;\n\t\t\tensureScriptLoaded().then(() => {\n\t\t\t\tif (active) setLoaded(true);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tactive = false;\n\t\t\t};\n\t\t}, []);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (internal.current && data !== undefined) {\n\t\t\t\t(internal.current as unknown as { data: unknown }).data = data;\n\t\t\t}\n\t\t}, [data, loaded]);\n\n\t\treturn React.createElement('roxy-tarot-spread', { ref: internal, ...rest });\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 * React server components and Next.js SSR work without a flash.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nexport function ensureScriptLoaded(version: string = '0.1.0'): 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 major = version.split('.')[0];\n\t\tconst url = `${CDN_BASE.replace('@0', '@' + major)}/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"],
|
|
5
|
+
"mappings": ";AAAA,YAAY,WAAW;;;ACKvB,IAAM,YAAY;AAClB,IAAM,WAAW;AAEjB,IAAI,SAA+B;AAE5B,SAAS,mBAAmB,UAAkB,SAAwB;AAC5E,MAAI,OAAO,aAAa,YAAa,QAAO,QAAQ,QAAQ;AAC5D,MAAI,OAAQ,QAAO;AAEnB,WAAS,IAAI,QAAc,CAAC,SAAS,WAAW;AAC/C,UAAM,QAAQ,QAAQ,MAAM,GAAG,EAAE,CAAC;AAClC,UAAM,MAAM,GAAG,SAAS,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,QAAI,WAAW,SAAS,eAAe,SAAS;AAChD,QAAI,UAAU;AACb,UAAI,SAAS,QAAQ,WAAW,QAAQ;AACvC,gBAAQ;AAAA,MACT,OAAO;AACN,iBAAS,iBAAiB,QAAQ,MAAM,QAAQ,CAAC;AACjD,iBAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AAAA,MAClF;AACA;AAAA,IACD;AACA,eAAW,SAAS,cAAc,QAAQ;AAC1C,aAAS,KAAK;AACd,aAAS,MAAM;AACf,aAAS,QAAQ;AACjB,aAAS,cAAc;AACvB,aAAS,iBAAiB,QAAQ,MAAM;AACvC,eAAU,QAAQ,SAAS;AAC3B,cAAQ;AAAA,IACT,CAAC;AACD,aAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AACjF,aAAS,KAAK,YAAY,QAAQ;AAAA,EACnC,CAAC;AACD,SAAO;AACR;;;AD9BO,IAAM,kBAAwB;AAAA,EACpC,SAASA,iBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;AAChD,UAAM,WAAiB,aAA2B,IAAI;AACtD,IAAM,0BAAoB,KAAK,MAAM,SAAS,OAAsB;AACpE,UAAM,CAACC,SAAQ,SAAS,IAAU,eAAS,KAAK;AAEhD,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS;AACb,yBAAmB,EAAE,KAAK,MAAM;AAC/B,YAAI,OAAQ,WAAU,IAAI;AAAA,MAC3B,CAAC;AACD,aAAO,MAAM;AACZ,iBAAS;AAAA,MACV;AAAA,IACD,GAAG,CAAC,CAAC;AAEL,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS,WAAW,SAAS,QAAW;AAC3C,QAAC,SAAS,QAAyC,OAAO;AAAA,MAC3D;AAAA,IACD,GAAG,CAAC,MAAMA,OAAM,CAAC;AAEjB,WAAa,oBAAc,qBAAqB,EAAE,KAAK,UAAU,GAAG,KAAK,CAAC;AAAA,EAC3E;AACD;",
|
|
6
|
+
"names": ["RoxyTarotSpread", "loaded"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
type DivAttrs = React.HTMLAttributes<HTMLElement>;
|
|
3
|
+
export interface RoxyVedicKundliProps extends Omit<DivAttrs, 'children' | 'onSelect'> {
|
|
4
|
+
data?: unknown;
|
|
5
|
+
[attr: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export declare const RoxyVedicKundli: React.ForwardRefExoticComponent<Omit<RoxyVedicKundliProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=vedic-kundli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vedic-kundli.d.ts","sourceRoot":"","sources":["../../src/components/vedic-kundli.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,uGAwB3B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// packages/ui-react/src/components/vedic-kundli.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
// packages/ui-react/src/load-ui.ts
|
|
5
|
+
var SCRIPT_ID = "roxyapi-ui-loader";
|
|
6
|
+
var CDN_BASE = "https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn";
|
|
7
|
+
var loaded = null;
|
|
8
|
+
function ensureScriptLoaded(version = "0.1.0") {
|
|
9
|
+
if (typeof document === "undefined") return Promise.resolve();
|
|
10
|
+
if (loaded) return loaded;
|
|
11
|
+
loaded = new Promise((resolve, reject) => {
|
|
12
|
+
const major = version.split(".")[0];
|
|
13
|
+
const url = `${CDN_BASE.replace("@0", "@" + major)}/roxy-ui.js`;
|
|
14
|
+
let existing = document.getElementById(SCRIPT_ID);
|
|
15
|
+
if (existing) {
|
|
16
|
+
if (existing.dataset.loaded === "true") {
|
|
17
|
+
resolve();
|
|
18
|
+
} else {
|
|
19
|
+
existing.addEventListener("load", () => resolve());
|
|
20
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
existing = document.createElement("script");
|
|
25
|
+
existing.id = SCRIPT_ID;
|
|
26
|
+
existing.src = url;
|
|
27
|
+
existing.async = true;
|
|
28
|
+
existing.crossOrigin = "anonymous";
|
|
29
|
+
existing.addEventListener("load", () => {
|
|
30
|
+
existing.dataset.loaded = "true";
|
|
31
|
+
resolve();
|
|
32
|
+
});
|
|
33
|
+
existing.addEventListener("error", () => reject(new Error("roxy-ui load failed")));
|
|
34
|
+
document.head.appendChild(existing);
|
|
35
|
+
});
|
|
36
|
+
return loaded;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// packages/ui-react/src/components/vedic-kundli.tsx
|
|
40
|
+
var RoxyVedicKundli = React.forwardRef(
|
|
41
|
+
function RoxyVedicKundli2({ data, ...rest }, ref) {
|
|
42
|
+
const internal = React.useRef(null);
|
|
43
|
+
React.useImperativeHandle(ref, () => internal.current);
|
|
44
|
+
const [loaded2, setLoaded] = React.useState(false);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
let active = true;
|
|
47
|
+
ensureScriptLoaded().then(() => {
|
|
48
|
+
if (active) setLoaded(true);
|
|
49
|
+
});
|
|
50
|
+
return () => {
|
|
51
|
+
active = false;
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
if (internal.current && data !== void 0) {
|
|
56
|
+
internal.current.data = data;
|
|
57
|
+
}
|
|
58
|
+
}, [data, loaded2]);
|
|
59
|
+
return React.createElement("roxy-vedic-kundli", { ref: internal, ...rest });
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
export {
|
|
63
|
+
RoxyVedicKundli
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=vedic-kundli.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/vedic-kundli.tsx", "../../src/load-ui.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { ensureScriptLoaded } from '../load-ui.js';\n\ntype DivAttrs = React.HTMLAttributes<HTMLElement>;\n\nexport interface RoxyVedicKundliProps extends Omit<DivAttrs, 'children' | 'onSelect'> {\n\tdata?: unknown;\n\t[attr: string]: unknown;\n}\n\nexport const RoxyVedicKundli = React.forwardRef<HTMLElement, RoxyVedicKundliProps>(\n\tfunction RoxyVedicKundli({ data, ...rest }, ref) {\n\t\tconst internal = React.useRef<HTMLElement | null>(null);\n\t\tReact.useImperativeHandle(ref, () => internal.current as HTMLElement);\n\t\tconst [loaded, setLoaded] = React.useState(false);\n\n\t\tReact.useEffect(() => {\n\t\t\tlet active = true;\n\t\t\tensureScriptLoaded().then(() => {\n\t\t\t\tif (active) setLoaded(true);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tactive = false;\n\t\t\t};\n\t\t}, []);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (internal.current && data !== undefined) {\n\t\t\t\t(internal.current as unknown as { data: unknown }).data = data;\n\t\t\t}\n\t\t}, [data, loaded]);\n\n\t\treturn React.createElement('roxy-vedic-kundli', { ref: internal, ...rest });\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 * React server components and Next.js SSR work without a flash.\n */\nconst SCRIPT_ID = 'roxyapi-ui-loader';\nconst CDN_BASE = \"https://cdn.jsdelivr.net/npm/@roxyapi/ui@0/dist/cdn\";\n\nlet loaded: Promise<void> | null = null;\n\nexport function ensureScriptLoaded(version: string = '0.1.0'): 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 major = version.split('.')[0];\n\t\tconst url = `${CDN_BASE.replace('@0', '@' + major)}/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"],
|
|
5
|
+
"mappings": ";AAAA,YAAY,WAAW;;;ACKvB,IAAM,YAAY;AAClB,IAAM,WAAW;AAEjB,IAAI,SAA+B;AAE5B,SAAS,mBAAmB,UAAkB,SAAwB;AAC5E,MAAI,OAAO,aAAa,YAAa,QAAO,QAAQ,QAAQ;AAC5D,MAAI,OAAQ,QAAO;AAEnB,WAAS,IAAI,QAAc,CAAC,SAAS,WAAW;AAC/C,UAAM,QAAQ,QAAQ,MAAM,GAAG,EAAE,CAAC;AAClC,UAAM,MAAM,GAAG,SAAS,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,QAAI,WAAW,SAAS,eAAe,SAAS;AAChD,QAAI,UAAU;AACb,UAAI,SAAS,QAAQ,WAAW,QAAQ;AACvC,gBAAQ;AAAA,MACT,OAAO;AACN,iBAAS,iBAAiB,QAAQ,MAAM,QAAQ,CAAC;AACjD,iBAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AAAA,MAClF;AACA;AAAA,IACD;AACA,eAAW,SAAS,cAAc,QAAQ;AAC1C,aAAS,KAAK;AACd,aAAS,MAAM;AACf,aAAS,QAAQ;AACjB,aAAS,cAAc;AACvB,aAAS,iBAAiB,QAAQ,MAAM;AACvC,eAAU,QAAQ,SAAS;AAC3B,cAAQ;AAAA,IACT,CAAC;AACD,aAAS,iBAAiB,SAAS,MAAM,OAAO,IAAI,MAAM,qBAAqB,CAAC,CAAC;AACjF,aAAS,KAAK,YAAY,QAAQ;AAAA,EACnC,CAAC;AACD,SAAO;AACR;;;AD9BO,IAAM,kBAAwB;AAAA,EACpC,SAASA,iBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;AAChD,UAAM,WAAiB,aAA2B,IAAI;AACtD,IAAM,0BAAoB,KAAK,MAAM,SAAS,OAAsB;AACpE,UAAM,CAACC,SAAQ,SAAS,IAAU,eAAS,KAAK;AAEhD,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS;AACb,yBAAmB,EAAE,KAAK,MAAM;AAC/B,YAAI,OAAQ,WAAU,IAAI;AAAA,MAC3B,CAAC;AACD,aAAO,MAAM;AACZ,iBAAS;AAAA,MACV;AAAA,IACD,GAAG,CAAC,CAAC;AAEL,IAAM,gBAAU,MAAM;AACrB,UAAI,SAAS,WAAW,SAAS,QAAW;AAC3C,QAAC,SAAS,QAAyC,OAAO;AAAA,MAC3D;AAAA,IACD,GAAG,CAAC,MAAMA,OAAM,CAAC;AAEjB,WAAa,oBAAc,qBAAqB,EAAE,KAAK,UAAU,GAAG,KAAK,CAAC;AAAA,EAC3E;AACD;",
|
|
6
|
+
"names": ["RoxyVedicKundli", "loaded"]
|
|
7
|
+
}
|