import { jsx as E } from "react/jsx-runtime"; import p, { useRef as s, useEffect as R } from "react"; import { createRoot as k } from "react-dom/client"; import { Text as U, Input as _, IconButton as I, HStack as v, Button as G, Badge as C, ChakraProvider as T } from "@chakra-ui/react"; const h = { GBadge: "https://uikit.d.aiengines.ir/GBadge.js", Pagination: "https://uikit.d.aiengines.ir/Pagination.js" }, l = "__UIKIT_REMOTE_DEPS__", g = "__UIKIT_REMOTE_CONFIG__", u = /* @__PURE__ */ new Map(), y = { GBadge: ["React", "createRoot", "ChakraProvider", "Badge"], Pagination: [ "React", "createRoot", "ChakraProvider", "Button", "HStack", "IconButton", "Input", "Text" ] }; function D(e = {}) { if (typeof window > "u") return; const t = window[l] || {}, r = window[g] || {}; window[l] = { ...t, React: e.React || t.React || p, createRoot: e.createRoot || t.createRoot || k, ChakraProvider: e.ChakraProvider || t.ChakraProvider || T, Badge: e.Badge || t.Badge || C, Button: e.Button || t.Button || G, HStack: e.HStack || t.HStack || v, IconButton: e.IconButton || t.IconButton || I, Input: e.Input || t.Input || _, Text: e.Text || t.Text || U, theme: Object.prototype.hasOwnProperty.call(e, "theme") ? e.theme : t.theme, chakraProviderProps: { ...t.chakraProviderProps || {}, ...e.chakraProviderProps || {} } }; const n = e.remoteUrls || {}; window[g] = { ...r, ...e.remoteUrl ? { GBadgeUrl: e.remoteUrl } : {}, ...e.GBadgeUrl ? { GBadgeUrl: e.GBadgeUrl } : {}, ...e.PaginationUrl ? { PaginationUrl: e.PaginationUrl } : {}, ...n.GBadge ? { GBadgeUrl: n.GBadge } : {}, ...n.Pagination ? { PaginationUrl: n.Pagination } : {} }; } function O(e) { if (typeof window > "u") return; const t = window[l]; (y[e] || []).some((o) => !(t != null && t[o])) && D(); } function S(e, t) { var r; return t || (typeof window > "u" ? h[e] : ((r = window[g]) == null ? void 0 : r[`${e}Url`]) || h[e]); } function M(e, t) { const r = S(e, t), n = `${e}:${r}`; return u.has(n) || u.set( n, import( /* webpackIgnore: true */ /* @vite-ignore */ r ).catch((o) => { throw u.delete(n), o; }) ), u.get(n); } function x(e) { if (typeof e == "string" || typeof e == "number") return e; e != null && console.warn( "[uikit/remote/ui] GBadge only accepts text/number children across the remote boundary." ); } function w({ componentName: e, tagName: t, normalizeProps: r }) { return function({ remoteUrl: o, theme: f, chakraProviderProps: m, ...B }) { const c = s(null), a = s(null), d = s(null); return d.current = { ...r ? r(B) : B, ...f !== void 0 ? { theme: f } : {}, ...m ? { chakraProviderProps: m } : {} }, R(() => { let P = !0; return O(e), M(e, o).then(() => { if (!P || !c.current) return; const i = document.createElement(t); i.componentProps = d.current, c.current.appendChild(i), a.current = i; }).catch((i) => { console.error( `[uikit/remote/ui] Failed to load ${e}:`, i ); }), () => { P = !1, a.current && (a.current.remove(), a.current = null); }; }, [e, o, t]), R(() => { a.current && (a.current.componentProps = d.current); }), /* @__PURE__ */ E( "span", { ref: c, style: { display: "contents" } } ); }; } const F = w({ componentName: "GBadge", tagName: "uikit-g-badge", normalizeProps: ({ children: e, ...t }) => ({ ...t, children: x(e) }) }), $ = w({ componentName: "Pagination", tagName: "uikit-pagination" }); export { F as GBadge, $ as Pagination, D as setupUikitRemoteDeps };