@swarm.ing/pieui 2.1.4 → 2.1.5

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 (57) hide show
  1. package/dist/cli.js +2208 -14
  2. package/dist/code/commands/listEvents.d.ts.map +1 -1
  3. package/dist/code/commands/registry.d.ts.map +1 -1
  4. package/dist/index.esm.js +2 -2
  5. package/dist/index.js +2 -2
  6. package/dist/max/index.esm.js +1 -1
  7. package/dist/max/index.js +1 -1
  8. package/dist/native/PieNativeRoot.d.ts +15 -0
  9. package/dist/native/PieNativeRoot.d.ts.map +1 -0
  10. package/dist/native/components/AutoRedirectCard.d.ts +10 -0
  11. package/dist/native/components/AutoRedirectCard.d.ts.map +1 -0
  12. package/dist/native/components/BoxCard.d.ts +13 -0
  13. package/dist/native/components/BoxCard.d.ts.map +1 -0
  14. package/dist/native/components/DeviceStorageCard.d.ts +12 -0
  15. package/dist/native/components/DeviceStorageCard.d.ts.map +1 -0
  16. package/dist/native/components/HTMLEmbedCard.d.ts +11 -0
  17. package/dist/native/components/HTMLEmbedCard.d.ts.map +1 -0
  18. package/dist/native/components/HiddenCard.d.ts +11 -0
  19. package/dist/native/components/HiddenCard.d.ts.map +1 -0
  20. package/dist/native/components/IOEventsCard.d.ts +11 -0
  21. package/dist/native/components/IOEventsCard.d.ts.map +1 -0
  22. package/dist/native/components/OneOfCard.d.ts +12 -0
  23. package/dist/native/components/OneOfCard.d.ts.map +1 -0
  24. package/dist/native/components/SequenceCard.d.ts +12 -0
  25. package/dist/native/components/SequenceCard.d.ts.map +1 -0
  26. package/dist/native/components/SessionStorageCard.d.ts +9 -0
  27. package/dist/native/components/SessionStorageCard.d.ts.map +1 -0
  28. package/dist/native/components/index.d.ts +13 -0
  29. package/dist/native/components/index.d.ts.map +1 -0
  30. package/dist/native/index.d.ts +41 -0
  31. package/dist/native/index.d.ts.map +1 -0
  32. package/dist/native/index.esm.js +3 -0
  33. package/dist/native/index.js +3 -0
  34. package/dist/platform/clientSources.d.ts +4 -0
  35. package/dist/platform/clientSources.d.ts.map +1 -0
  36. package/dist/platform/clientSources.native.d.ts +4 -0
  37. package/dist/platform/clientSources.native.d.ts.map +1 -0
  38. package/dist/platform/clientSources.web.d.ts +10 -0
  39. package/dist/platform/clientSources.web.d.ts.map +1 -0
  40. package/dist/platform/nativeConfig.d.ts +63 -0
  41. package/dist/platform/nativeConfig.d.ts.map +1 -0
  42. package/dist/platform/nativeFormStore.d.ts +12 -0
  43. package/dist/platform/nativeFormStore.d.ts.map +1 -0
  44. package/dist/platform/types.d.ts +39 -0
  45. package/dist/platform/types.d.ts.map +1 -0
  46. package/dist/providers/SocketIOInitProvider.d.ts.map +1 -1
  47. package/dist/telegram/index.esm.js +1 -1
  48. package/dist/telegram/index.js +1 -1
  49. package/dist/tests/clientSources.test.d.ts +2 -0
  50. package/dist/tests/clientSources.test.d.ts.map +1 -0
  51. package/dist/tests/clientSourcesNative.test.d.ts +12 -0
  52. package/dist/tests/clientSourcesNative.test.d.ts.map +1 -0
  53. package/dist/util/ajaxCommonUtils.d.ts.map +1 -1
  54. package/dist/util/globalForm.d.ts +4 -5
  55. package/dist/util/globalForm.d.ts.map +1 -1
  56. package/dist/util/waitForSidAvailable.d.ts.map +1 -1
  57. package/package.json +17 -4
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var aU=Object.create;var{getPrototypeOf:tU,defineProperty:f,getOwnPropertyNames:QU,getOwnPropertyDescriptor:eU}=Object,TU=Object.prototype.hasOwnProperty;var U$=(U,$,H)=>{H=U!=null?aU(tU(U)):{};let J=$||!U||!U.__esModule?f(H,"default",{value:U,enumerable:!0}):H;for(let Z of QU(U))if(!TU.call(J,Z))f(J,Z,{get:()=>U[Z],enumerable:!0});return J},GU=new WeakMap,$$=(U)=>{var $=GU.get(U),H;if($)return $;if($=f({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function")QU(U).map((J)=>!TU.call($,J)&&f($,J,{get:()=>U[J],enumerable:!(H=eU(U,J))||H.enumerable}));return GU.set(U,$),$};var H$=(U,$)=>{for(var H in $)f(U,H,{get:$[H],enumerable:!0,configurable:!0,set:(J)=>$[H]=()=>J})};var M$={};H$(M$,{useWebApp:()=>v,useInitData:()=>CU,SecureStorageCard:()=>rU,PieTelegramRoot:()=>oU,CloudStorageCard:()=>sU});module.exports=$$(M$);var w=require("react"),k=require("@tanstack/react-query");var qU=U$(require("mitt")),g=require("react");var IU=globalThis,F=(U,$)=>{let H=Symbol.for(U);if(!(H in IU))IU[H]=$();return IU[H]};function LU(){return F("@swarm.ing/pieui:mitt-emitter",()=>qU.default())}var I$=F("@swarm.ing/pieui:context:mitt",()=>g.createContext(null));var c=I$;var OU=require("socket.io-client"),_U=require("react");var KU=F("@swarm.ing/pieui:socket-cache",()=>new Map),WU=(U)=>{let $=KU.get(U);if($)return $;let H=OU.io(U,{autoConnect:!1,transports:["websocket"]});return KU.set(U,H),H},J$=F("@swarm.ing/pieui:context:socket",()=>_U.createContext(null)),A=J$;var RU=require("react"),JU=require("centrifuge");var VU=F("@swarm.ing/pieui:centrifuge-cache",()=>new Map),MU=(U,$)=>{if(!$)return null;let H=`${U}::${$}`,J=VU.get(H);if(J)return J;async function Z(){let B=await fetch(U+"api/centrifuge/gen_token",{credentials:"include"});if(!B.ok){if(B.status===401||B.status===403)throw new JU.Centrifuge.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${B.status}`)}return(await B.json()).token}let I=new JU.Centrifuge($,{getToken:Z});return VU.set(H,I),I},Z$=F("@swarm.ing/pieui:context:centrifuge",()=>RU.createContext(null)),E=Z$;var s=require("react");var p=require("react"),h=new Map,l=new Map;function d(U,$){let H=`${U}::${$}`,J=U?h.get(H):void 0,[Z,I]=p.useState(J??null);return p.useEffect(()=>{if(!U)return;if(h.has(H)){I(h.get(H));return}let B=l.get(H);if(!B)B=fetch(U+`api/support/${$}`,{method:"GET"}).then((Y)=>Y.json()).then((Y)=>{return h.set(H,Y),l.delete(H),Y}).catch((Y)=>{throw l.delete(H),Y}),l.set(H,B);let D=!1;return B.then((Y)=>{if(!D)I(Y)}).catch(()=>{}),()=>{D=!0}},[U,$,H]),Z}var u=require("react");var ZU=F("@swarm.ing/pieui:context:pieConfig",()=>u.createContext(null)),o=()=>{let U=u.useContext(ZU);if(!U)throw Error("usePieConfig must be used within PieConfigProvider");return U},BU=()=>{let{apiServer:U}=o();return U},n=BU,AU=()=>{let{centrifugeServer:U}=o();return U};var M=()=>{let{enableRenderingLog:U}=o();return U},EU=M,NU=()=>{let{pageProcessor:U}=o();return U};var B$=F("@swarm.ing/pieui:sid-state",()=>({promise:null,resolve:null}));function PU(){B$.resolve?.()}var X$=({children:U})=>{let $=s.useContext(A),H=n(),J=d(H,"socketIO"),Z=(I)=>{if(typeof window<"u")window.sid=I.sid,PU(),console.log(`SocketIO initialized: ${window.sid}`)};return s.useEffect(()=>{if(!$)return;let I=()=>{console.log("SocketIO connected")},B=(D)=>{console.log(`SocketIO disconnected: ${D}`),$.connect()};if(J)$.on("pieinit",Z),$.on("connect",I),$.on("disconnect",B),$.connect();return()=>{if(J)$.off("pieinit",Z),$.off("connect",I),$.off("disconnect",B),$.disconnect()}},[$,J]),U},jU=X$;var i=require("react");var Y$=({children:U})=>{let $=i.useContext(E),H=n(),J=d(H,"centrifuge");return i.useEffect(()=>{if(!$)return;let Z=()=>{console.log("Centrifuge connected")},I=(B)=>{console.log("Centrifuge disconnected:",B)};if(J)$.on("connected",Z),$.on("disconnected",I),$.connect();return()=>{if(J)$.disconnect()}},[$,J]),U},wU=Y$;var kU=require("react");var r=require("react/jsx-runtime"),z$=F("@swarm.ing/pieui:context:fallback",()=>kU.createContext(r.jsx(r.Fragment,{}))),N=z$;var xU=require("react");var D$=F("@swarm.ing/pieui:context:lazyError",()=>xU.createContext(void 0)),P=D$;var fU=require("react"),y=new Map;function F$(U,$){return $.catch(()=>{if(y.get(U)===$)y.delete(U)}),y.set(U,$),$}function yU(U,$){return fU.lazy(()=>{if(y.has($))return y.get($);return F$($,U().then((H)=>H))})}var bU=F("@swarm.ing/pieui:component-registry",()=>new Map),G$=(U)=>{if(!U.name)throw Error("Component registration requires a name");if(!U.component&&!U.loader)throw Error(`Component "${U.name}" requires component or loader`);let $={name:U.name,component:U.component,loader:U.loader,metadata:U.metadata,fallback:U.fallback,isLazy:!1};if(!$.component&&$.loader)$.component=yU($.loader,U.name),$.isLazy=!0;return $};function a(U){let $=G$(U);return bU.set($.name,$),$.component}var t=(U)=>{return bU.get(U)};var b=require("react");var e=require("react"),vU=require("react/jsx-runtime"),Q$=2,T$=400;class j extends e.Component{state={failed:!1,attempt:0};timer;static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(U){if(this.props.onError?.(U),this.state.attempt<Q$){let $=T$*(this.state.attempt+1);this.timer=setTimeout(()=>{this.setState((H)=>({failed:!1,attempt:H.attempt+1}))},$)}}componentDidUpdate(U){if(U.name!==this.props.name&&this.state.attempt!==0)this.setState({failed:!1,attempt:0})}componentWillUnmount(){if(this.timer)clearTimeout(this.timer)}render(){if(this.state.failed)return this.props.fallback;return vU.jsx(e.Suspense,{fallback:this.props.fallback,children:this.props.children},`${this.props.name}:${this.state.attempt}`)}}var UU=require("react/jsx-runtime");function q$({uiConfig:U,setUiAjaxConfiguration:$}){let H=b.useContext(N),J=b.useContext(P),Z=M();if(Z)console.log("[UI] Rendering component:",U.card),console.log("[UI] Component data:",U.data),console.log("[UI] Component content:",U.content),console.log("[UI] Has setUiAjaxConfiguration:",!!$);let I=t(U.card);if(!I?.component){if(Z)console.warn(`[UI] Component not found in registry: ${U.card}`),console.log("[UI] Returning fallback component");return H}if(Z)console.log("[UI] Found component in registry:",{name:I.name,isLazy:I.isLazy,hasMetadata:!!I.metadata});let B=I.component,D=UU.jsx(B,{data:U.data,content:U.content,setUiAjaxConfiguration:$});if(I.isLazy){if(Z)console.log("[UI] Rendering lazy component with Suspense:",I.name);return UU.jsx(j,{name:I.name,fallback:I.fallback?UU.jsx(I.fallback,{}):H,onError:J,children:D})}if(Z)console.log("[UI] Rendering component directly:",I.name);return D}var XU=b.memo(q$);var uU=require("axios-date-transformer");var $U=require("react");var v=({onError:U}={})=>{let[$,H]=$U.useState(null),J=NU();return $U.useEffect(()=>{if(typeof window>"u")return;let Z=window.Telegram?.WebApp;if(!Z)return;try{Z.ready?.()}catch(I){U?.()}if(J==="telegram_expanded"&&(Z.platform==="ios"||Z.platform==="android"))Z.expand();H(Z)},[]),$},CU=()=>{let U=v();return[U?.initDataUnsafe,U?.initData]};var SU=require("react");var L$=F("@swarm.ing/pieui:context:navigate",()=>SU.createContext(void 0)),mU=L$;var YU=require("react");var gU=require("react");var K$=F("@swarm.ing/pieui:context:uiRenderer",()=>gU.createContext(null)),cU=K$;var C=require("react/jsx-runtime");function hU({uiConfig:U,setUiAjaxConfiguration:$}){let H=YU.useContext(N),J=YU.useContext(P),Z=M();if(Z)console.log("[UILoading] Rendering fallback for:",U.card),console.log("[UILoading] Component data:",U.data),console.log("[UILoading] Component content:",U.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!$);let I=t(U.card);if(!I?.component){if(Z)console.warn(`[UILoading] Component not found in registry: ${U.card}`),console.log("[UILoading] Returning fallback component");return H}if(Z)console.log("[UILoading] Found component in registry:",{name:I.name,isLazy:I.isLazy,hasMetadata:!!I.metadata,hasFallback:!!I.fallback});if(I.fallback){if(Z)console.log("[UILoading] Rendering fallback for:",I.name);let Y=I.fallback;return C.jsx(Y,{})}if(Z)console.log("[UILoading] No fallback, rendering full component:",I.name);let B=I.component,D=C.jsx(cU.Provider,{value:hU,children:C.jsx(B,{data:U.data,content:U.content,setUiAjaxConfiguration:$})});if(I.isLazy)return C.jsx(j,{name:I.name,fallback:H,onError:J,children:D});return D}var lU=hU;var dU=require("react/jsx-runtime");function pU(U,$,H){if(!$)return H;let J=U.replace(/^\//,""),Z=$[J];if(!Z)return H;return dU.jsx(lU,{uiConfig:Z})}var T=require("react/jsx-runtime"),O$=({location:U,fallback:$,piecache:H,onError:J,queryOptions:Z,disableGlobalForm:I})=>{let B=BU(),D=AU(),Y=M(),G=w.useMemo(()=>uU.createAxiosDateTransformer({baseURL:B}),[B]),X=w.useMemo(()=>LU(),[]),V=w.useMemo(()=>B?WU(B):null,[B]),R=w.useMemo(()=>B?MU(B,D):null,[B,D]),L=v({onError:J}),{data:O,isLoading:_,error:z}=k.useQuery({queryKey:["uiConfig",U.pathname+U.search,L?.initData],enabled:!!L?.initData,queryFn:async()=>{let q=new URLSearchParams(U.search);if(q.set("__pieroot","telegram"),L?.initData)q.set("initData",L.initData);let W="/api/content"+U.pathname+"?"+q.toString();if(Y)console.log("[PieRoot] Fetching UI configuration from:",W);let FU=await G.get(W,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(Y)console.log("[PieRoot] Received UI configuration:",FU.data);return FU.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(q)=>Math.min(1000*2**q,30000),...Z}),Q=pU(U.pathname,H,$);if(!B)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(z&&Y)return console.error("[PieRoot] Error fetching UI configuration:",z),console.error("[PieRoot] Error details:",{message:z.message,status:z.response?.status,data:z.response?.data}),J?.(z),Q;if(_||!O){if(Y)console.log("[PieRoot] Loading state:",{isLoading:_,hasUiConfiguration:!!O});return Q}if(Y)console.log("[PieRoot] UI configuration loaded successfully:",O),console.log("[PieRoot] Rendering UI with configuration");return T.jsx(c.Provider,{value:X,children:T.jsx(A.Provider,{value:V,children:T.jsx(E.Provider,{value:R,children:T.jsx(N.Provider,{value:$??T.jsx(T.Fragment,{}),children:T.jsx(jU,{children:T.jsx(wU,{children:I?T.jsx(XU,{uiConfig:O}):T.jsx("form",{id:"piedata_global_form",action:B+"api/process"+U.pathname,method:"post",encType:"multipart/form-data",children:T.jsx(XU,{uiConfig:O})})})})})})})})},_$=(U)=>{let $=w.useMemo(()=>new k.QueryClient,[]),H=U.queryClient??$;return T.jsx(mU.Provider,{value:U.onNavigate,children:T.jsx(ZU.Provider,{value:U.config,children:T.jsx(P.Provider,{value:U.onError,children:T.jsx(k.QueryClientProvider,{client:H,children:T.jsx(O$,{...U})})})})})},oU=_$;var S=require("react");var K=require("react");var x=require("react/jsx-runtime"),W$=({card:U,data:$,children:H,useSocketioSupport:J=!1,useCentrifugeSupport:Z=!1,useMittSupport:I=!1,centrifugeChannel:B=void 0,methods:D=void 0,stored:Y=void 0})=>{let G=EU(),X=K.useRef(D);if(X.current=D,G)console.log("[PieCard] Rendering card:",U),console.log("[PieCard] Card data:",$),console.log("[PieCard] Component name:",$?.name),console.log("[PieCard] Real-time support:",{socketio:J,centrifuge:Z,mitt:I,centrifugeChannel:B}),console.log("[PieCard] Methods:",D?Object.keys(D):"none"),console.log("[PieCard] Has children:",!!H);let V=K.useContext(A),R=K.useContext(E),L=K.useContext(c);if(K.useEffect(()=>{if(!V||!J||!X.current||!$.name){if(G&&J)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!V,useSocketioSupport:J,hasMethods:!!X.current,hasDataName:!!$?.name});return}let _=Object.keys(X.current??{}).map((z)=>{let Q=`pie${z}_${$.name}`;if(G)console.log(`[PieCard] Socket.IO registering event: ${Q}`);let q=(W)=>{X.current?.[z]?.(W)};return V.on(Q,q),[Q,q]});return()=>{_.forEach(([z,Q])=>{if(G)console.log(`[PieCard] Socket.IO unregistering event: ${z}`);V.off(z,Q)})}},[V,$.name,J]),K.useEffect(()=>{if(!R||!Z||!B||!$.name){if(G&&Z)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!R,useCentrifugeSupport:Z,hasCentrifugeChannel:!!B,hasMethods:!!X.current,hasDataName:!!$?.name});return}let _=Object.keys(X.current??{}).map((z)=>{let Q=`pie${z}_${$.name}_${B}`;if(G)console.log(`[PieCard] Centrifuge subscribing to channel: ${Q}`);let q=R.newSubscription(Q);return q.on("publication",(W)=>{if(G)console.log(`[PieCard] Centrifuge received data on ${Q}:`,W.data);X.current?.[z]?.(W.data)}),q.subscribe(),q});return()=>{_.forEach((z)=>{if(G)console.log("[PieCard] Centrifuge unsubscribing from channel");z.unsubscribe(),R.removeSubscription(z)})}},[R,B,$.name,Z]),K.useEffect(()=>{if(!L||!I||!$.name){if(G&&I)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!L,useMittSupport:I,hasMethods:!!X.current,hasDataName:!!$?.name});return}let O=Object.keys(X.current??{}),_={};return O.forEach((z)=>{let Q=`pie${z}_${$.name}`,q=(W)=>{if(G)console.log(`[PieCard] Mitt registering event: ${Q}`);X.current?.[z]?.(W)};_[Q]=q,L.on(Q,q)}),()=>{Object.entries(_).forEach(([z,Q])=>{if(G)console.log(`[PieCard] Mitt unregistering event: ${z}`);L.off(z,Q)})}},[L,$.name,I]),G)console.log("[PieCard] Rendering complete, returning children");if(Y!==void 0)return x.jsxs(x.Fragment,{children:[x.jsx("input",{type:"hidden",name:$.name,value:JSON.stringify(Y)}),H]});return H},HU=W$;var zU=require("react/jsx-runtime"),V$=({data:U})=>{let{name:$,key:H,value:J,useSocketioSupport:Z,useCentrifugeSupport:I,useMittSupport:B,centrifugeChannel:D}=U,[Y,G]=S.useState(J);return S.useEffect(()=>{G(J)},[J]),S.useEffect(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.CloudStorage;if(!X)return;X.setItem(H,Y)},[H,Y]),zU.jsx(HU,{card:"CloudStorageCard",data:U,useSocketioSupport:Z,useCentrifugeSupport:I,useMittSupport:B,centrifugeChannel:D,methods:{update:({value:X})=>{G(X)},remove:()=>{let X=window.Telegram?.WebApp?.CloudStorage;if(X)X.removeItem(H);G("")}},children:zU.jsx("input",{type:"hidden",id:$,name:$,value:Y})})},nU=V$;var sU=a({name:"CloudStorageCard",component:nU,metadata:{author:"PieData"}});var m=require("react");var DU=require("react/jsx-runtime"),R$=({data:U})=>{let{name:$,key:H,value:J,useSocketioSupport:Z,useCentrifugeSupport:I,useMittSupport:B,centrifugeChannel:D}=U,[Y,G]=m.useState(J);return m.useEffect(()=>{G(J)},[J]),m.useEffect(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.SecureStorage;if(!X)return;X.setItem(H,Y)},[H,Y]),DU.jsx(HU,{card:"SecureStorageCard",data:U,useSocketioSupport:Z,useCentrifugeSupport:I,useMittSupport:B,centrifugeChannel:D,methods:{update:({value:X})=>{G(X)},remove:()=>{let X=window.Telegram?.WebApp?.SecureStorage;if(X)X.removeItem(H);G("")}},children:DU.jsx("input",{type:"hidden",id:$,name:$,value:Y})})},iU=R$;var rU=a({name:"SecureStorageCard",component:iU,metadata:{author:"PieData"}});
2
+ var Z$=Object.create;var{getPrototypeOf:I$,defineProperty:y,getOwnPropertyNames:KU,getOwnPropertyDescriptor:X$}=Object,TU=Object.prototype.hasOwnProperty;var Y$=(U,$,H)=>{H=U!=null?Z$(I$(U)):{};let J=$||!U||!U.__esModule?y(H,"default",{value:U,enumerable:!0}):H;for(let I of KU(U))if(!TU.call(J,I))y(J,I,{get:()=>U[I],enumerable:!0});return J},LU=new WeakMap,z$=(U)=>{var $=LU.get(U),H;if($)return $;if($=y({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function")KU(U).map((J)=>!TU.call($,J)&&y($,J,{get:()=>U[J],enumerable:!(H=X$(U,J))||H.enumerable}));return LU.set(U,$),$};var G$=(U,$)=>{for(var H in $)y(U,H,{get:$[H],enumerable:!0,configurable:!0,set:(J)=>$[H]=()=>J})};var v$={};G$(v$,{useWebApp:()=>v,useInitData:()=>lU,SecureStorageCard:()=>J$,PieTelegramRoot:()=>eU,CloudStorageCard:()=>$$});module.exports=z$(v$);var x=require("react"),k=require("@tanstack/react-query");var _U=Y$(require("mitt")),h=require("react");var IU=globalThis,Q=(U,$)=>{let H=Symbol.for(U);if(!(H in IU))IU[H]=$();return IU[H]};function qU(){return Q("@swarm.ing/pieui:mitt-emitter",()=>_U.default())}var B$=Q("@swarm.ing/pieui:context:mitt",()=>h.createContext(null));var p=B$;var WU=require("socket.io-client"),VU=require("react");var OU=Q("@swarm.ing/pieui:socket-cache",()=>new Map),RU=(U)=>{let $=OU.get(U);if($)return $;let H=WU.io(U,{autoConnect:!1,transports:["websocket"]});return OU.set(U,H),H},Q$=Q("@swarm.ing/pieui:context:socket",()=>VU.createContext(null)),E=Q$;var AU=require("react"),XU=require("centrifuge");var MU=Q("@swarm.ing/pieui:centrifuge-cache",()=>new Map),EU=(U,$)=>{if(!$)return null;let H=`${U}::${$}`,J=MU.get(H);if(J)return J;async function I(){let X=await fetch(U+"api/centrifuge/gen_token",{credentials:"include"});if(!X.ok){if(X.status===401||X.status===403)throw new XU.Centrifuge.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${X.status}`)}return(await X.json()).token}let Z=new XU.Centrifuge($,{getToken:I});return MU.set(H,Z),Z},D$=Q("@swarm.ing/pieui:context:centrifuge",()=>AU.createContext(null)),j=D$;var r=require("react");var d=require("react"),c=new Map,l=new Map;function u(U,$){let H=`${U}::${$}`,J=U?c.get(H):void 0,[I,Z]=d.useState(J??null);return d.useEffect(()=>{if(!U)return;if(c.has(H)){Z(c.get(H));return}let X=l.get(H);if(!X)X=fetch(U+`api/support/${$}`,{method:"GET"}).then((z)=>z.json()).then((z)=>{return c.set(H,z),l.delete(H),z}).catch((z)=>{throw l.delete(H),z}),l.set(H,X);let B=!1;return X.then((z)=>{if(!B)Z(z)}).catch(()=>{}),()=>{B=!0}},[U,$,H]),I}var o=require("react");var YU=Q("@swarm.ing/pieui:context:pieConfig",()=>o.createContext(null)),s=()=>{let U=o.useContext(YU);if(!U)throw Error("usePieConfig must be used within PieConfigProvider");return U},zU=()=>{let{apiServer:U}=s();return U},n=zU,jU=()=>{let{centrifugeServer:U}=s();return U};var M=()=>{let{enableRenderingLog:U}=s();return U},PU=M,NU=()=>{let{pageProcessor:U}=s();return U};var F$=(U)=>{let $=document.cookie?document.cookie.split(";"):[];for(let H of $){let J=H.indexOf("=");if((J===-1?H:H.slice(0,J)).trim()===U){let Z=J===-1?"":H.slice(J+1).trim();try{return decodeURIComponent(Z)}catch{return Z}}}return null},L$={isClient(){return typeof window<"u"&&typeof document<"u"},readSid(){return typeof window>"u"?void 0:window.sid},setSid(U){if(typeof window<"u")window.sid=U},readWebStorage(U,$){return(U==="local"?window.localStorage:window.sessionStorage).getItem($)},readCookie:F$,readUrlParams(U){return new URLSearchParams(window.location.search).getAll(U)},readDomInput(U){let $=document.getElementsByName(U);if(!$.length)return null;let H=$[0];if(H instanceof HTMLInputElement){if(H.type==="file"&&H.files)return Array.from(H.files);return[H.value]}if(H instanceof HTMLTextAreaElement)return[H.value];return[]},submitGlobalForm(){if(typeof document>"u")return;let U=document.getElementById("piedata_global_form");U&&U.submit()}},wU=L$;var K$={};function A(){return K$}var xU=new Map;var kU=(U)=>{return xU.has(U)?xU.get(U):null};var bU,T$={isClient(){return!0},readSid(){return bU},setSid(U){bU=U},readWebStorage(U,$){let H=A(),J=U==="local"?H.storage:H.sessionStorage;return J?J.getItem($):null},async readWebStorageAsync(U,$){let H=A(),J=U==="local"?H.asyncStorage:H.asyncSessionStorage;if(J)return J.getItem($);let I=U==="local"?H.storage:H.sessionStorage;return I?I.getItem($):null},readCookie(U){let $=A();return $.getCookie?$.getCookie(U):null},readUrlParams(U){let $=A();return $.getRouteParams?$.getRouteParams(U):[]},readDomInput(U){let $=A();return $.getInput?$.getInput(U):kU(U)},submitGlobalForm(){A().submitForm?.()}},yU=T$;var _$=typeof navigator<"u"&&navigator.product==="ReactNative",q$=_$?yU:wU,i=q$;var O$=Q("@swarm.ing/pieui:sid-state",()=>({promise:null,resolve:null}));function fU(){O$.resolve?.()}var W$=({children:U})=>{let $=r.useContext(E),H=n(),J=u(H,"socketIO"),I=(Z)=>{if(i.isClient())i.setSid(Z.sid),fU(),console.log(`SocketIO initialized: ${i.readSid()}`)};return r.useEffect(()=>{if(!$)return;let Z=()=>{console.log("SocketIO connected")},X=(B)=>{console.log(`SocketIO disconnected: ${B}`),$.connect()};if(J)$.on("pieinit",I),$.on("connect",Z),$.on("disconnect",X),$.connect();return()=>{if(J)$.off("pieinit",I),$.off("connect",Z),$.off("disconnect",X),$.disconnect()}},[$,J]),U},CU=W$;var a=require("react");var V$=({children:U})=>{let $=a.useContext(j),H=n(),J=u(H,"centrifuge");return a.useEffect(()=>{if(!$)return;let I=()=>{console.log("Centrifuge connected")},Z=(X)=>{console.log("Centrifuge disconnected:",X)};if(J)$.on("connected",I),$.on("disconnected",Z),$.connect();return()=>{if(J)$.disconnect()}},[$,J]),U},vU=V$;var SU=require("react");var t=require("react/jsx-runtime"),R$=Q("@swarm.ing/pieui:context:fallback",()=>SU.createContext(t.jsx(t.Fragment,{}))),P=R$;var gU=require("react");var M$=Q("@swarm.ing/pieui:context:lazyError",()=>gU.createContext(void 0)),N=M$;var mU=require("react"),f=new Map;function A$(U,$){return $.catch(()=>{if(f.get(U)===$)f.delete(U)}),f.set(U,$),$}function hU(U,$){return mU.lazy(()=>{if(f.has($))return f.get($);return A$($,U().then((H)=>H))})}var pU=Q("@swarm.ing/pieui:component-registry",()=>new Map),E$=(U)=>{if(!U.name)throw Error("Component registration requires a name");if(!U.component&&!U.loader)throw Error(`Component "${U.name}" requires component or loader`);let $={name:U.name,component:U.component,loader:U.loader,metadata:U.metadata,fallback:U.fallback,isLazy:!1};if(!$.component&&$.loader)$.component=hU($.loader,U.name),$.isLazy=!0;return $};function e(U){let $=E$(U);return pU.set($.name,$),$.component}var UU=(U)=>{return pU.get(U)};var C=require("react");var $U=require("react"),cU=require("react/jsx-runtime"),j$=2,P$=400;class w extends $U.Component{state={failed:!1,attempt:0};timer;static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(U){if(this.props.onError?.(U),this.state.attempt<j$){let $=P$*(this.state.attempt+1);this.timer=setTimeout(()=>{this.setState((H)=>({failed:!1,attempt:H.attempt+1}))},$)}}componentDidUpdate(U){if(U.name!==this.props.name&&this.state.attempt!==0)this.setState({failed:!1,attempt:0})}componentWillUnmount(){if(this.timer)clearTimeout(this.timer)}render(){if(this.state.failed)return this.props.fallback;return cU.jsx($U.Suspense,{fallback:this.props.fallback,children:this.props.children},`${this.props.name}:${this.state.attempt}`)}}var HU=require("react/jsx-runtime");function N$({uiConfig:U,setUiAjaxConfiguration:$}){let H=C.useContext(P),J=C.useContext(N),I=M();if(I)console.log("[UI] Rendering component:",U.card),console.log("[UI] Component data:",U.data),console.log("[UI] Component content:",U.content),console.log("[UI] Has setUiAjaxConfiguration:",!!$);let Z=UU(U.card);if(!Z?.component){if(I)console.warn(`[UI] Component not found in registry: ${U.card}`),console.log("[UI] Returning fallback component");return H}if(I)console.log("[UI] Found component in registry:",{name:Z.name,isLazy:Z.isLazy,hasMetadata:!!Z.metadata});let X=Z.component,B=HU.jsx(X,{data:U.data,content:U.content,setUiAjaxConfiguration:$});if(Z.isLazy){if(I)console.log("[UI] Rendering lazy component with Suspense:",Z.name);return HU.jsx(w,{name:Z.name,fallback:Z.fallback?HU.jsx(Z.fallback,{}):H,onError:J,children:B})}if(I)console.log("[UI] Rendering component directly:",Z.name);return B}var GU=C.memo(N$);var tU=require("axios-date-transformer");var JU=require("react");var v=({onError:U}={})=>{let[$,H]=JU.useState(null),J=NU();return JU.useEffect(()=>{if(typeof window>"u")return;let I=window.Telegram?.WebApp;if(!I)return;try{I.ready?.()}catch(Z){U?.()}if(J==="telegram_expanded"&&(I.platform==="ios"||I.platform==="android"))I.expand();H(I)},[]),$},lU=()=>{let U=v();return[U?.initDataUnsafe,U?.initData]};var dU=require("react");var w$=Q("@swarm.ing/pieui:context:navigate",()=>dU.createContext(void 0)),uU=w$;var BU=require("react");var oU=require("react");var x$=Q("@swarm.ing/pieui:context:uiRenderer",()=>oU.createContext(null)),sU=x$;var S=require("react/jsx-runtime");function nU({uiConfig:U,setUiAjaxConfiguration:$}){let H=BU.useContext(P),J=BU.useContext(N),I=M();if(I)console.log("[UILoading] Rendering fallback for:",U.card),console.log("[UILoading] Component data:",U.data),console.log("[UILoading] Component content:",U.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!$);let Z=UU(U.card);if(!Z?.component){if(I)console.warn(`[UILoading] Component not found in registry: ${U.card}`),console.log("[UILoading] Returning fallback component");return H}if(I)console.log("[UILoading] Found component in registry:",{name:Z.name,isLazy:Z.isLazy,hasMetadata:!!Z.metadata,hasFallback:!!Z.fallback});if(Z.fallback){if(I)console.log("[UILoading] Rendering fallback for:",Z.name);let z=Z.fallback;return S.jsx(z,{})}if(I)console.log("[UILoading] No fallback, rendering full component:",Z.name);let X=Z.component,B=S.jsx(sU.Provider,{value:nU,children:S.jsx(X,{data:U.data,content:U.content,setUiAjaxConfiguration:$})});if(Z.isLazy)return S.jsx(w,{name:Z.name,fallback:H,onError:J,children:B});return B}var iU=nU;var aU=require("react/jsx-runtime");function rU(U,$,H){if(!$)return H;let J=U.replace(/^\//,""),I=$[J];if(!I)return H;return aU.jsx(iU,{uiConfig:I})}var L=require("react/jsx-runtime"),k$=({location:U,fallback:$,piecache:H,onError:J,queryOptions:I,disableGlobalForm:Z})=>{let X=zU(),B=jU(),z=M(),D=x.useMemo(()=>tU.createAxiosDateTransformer({baseURL:X}),[X]),Y=x.useMemo(()=>qU(),[]),V=x.useMemo(()=>X?RU(X):null,[X]),R=x.useMemo(()=>X?EU(X,B):null,[X,B]),T=v({onError:J}),{data:q,isLoading:O,error:G}=k.useQuery({queryKey:["uiConfig",U.pathname+U.search,T?.initData],enabled:!!T?.initData,queryFn:async()=>{let K=new URLSearchParams(U.search);if(K.set("__pieroot","telegram"),T?.initData)K.set("initData",T.initData);let W="/api/content"+U.pathname+"?"+K.toString();if(z)console.log("[PieRoot] Fetching UI configuration from:",W);let FU=await D.get(W,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(z)console.log("[PieRoot] Received UI configuration:",FU.data);return FU.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(K)=>Math.min(1000*2**K,30000),...I}),F=rU(U.pathname,H,$);if(!X)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(G&&z)return console.error("[PieRoot] Error fetching UI configuration:",G),console.error("[PieRoot] Error details:",{message:G.message,status:G.response?.status,data:G.response?.data}),J?.(G),F;if(O||!q){if(z)console.log("[PieRoot] Loading state:",{isLoading:O,hasUiConfiguration:!!q});return F}if(z)console.log("[PieRoot] UI configuration loaded successfully:",q),console.log("[PieRoot] Rendering UI with configuration");return L.jsx(p.Provider,{value:Y,children:L.jsx(E.Provider,{value:V,children:L.jsx(j.Provider,{value:R,children:L.jsx(P.Provider,{value:$??L.jsx(L.Fragment,{}),children:L.jsx(CU,{children:L.jsx(vU,{children:Z?L.jsx(GU,{uiConfig:q}):L.jsx("form",{id:"piedata_global_form",action:X+"api/process"+U.pathname,method:"post",encType:"multipart/form-data",children:L.jsx(GU,{uiConfig:q})})})})})})})})},b$=(U)=>{let $=x.useMemo(()=>new k.QueryClient,[]),H=U.queryClient??$;return L.jsx(uU.Provider,{value:U.onNavigate,children:L.jsx(YU.Provider,{value:U.config,children:L.jsx(N.Provider,{value:U.onError,children:L.jsx(k.QueryClientProvider,{client:H,children:L.jsx(k$,{...U})})})})})},eU=b$;var g=require("react");var _=require("react");var b=require("react/jsx-runtime"),y$=({card:U,data:$,children:H,useSocketioSupport:J=!1,useCentrifugeSupport:I=!1,useMittSupport:Z=!1,centrifugeChannel:X=void 0,methods:B=void 0,stored:z=void 0})=>{let D=PU(),Y=_.useRef(B);if(Y.current=B,D)console.log("[PieCard] Rendering card:",U),console.log("[PieCard] Card data:",$),console.log("[PieCard] Component name:",$?.name),console.log("[PieCard] Real-time support:",{socketio:J,centrifuge:I,mitt:Z,centrifugeChannel:X}),console.log("[PieCard] Methods:",B?Object.keys(B):"none"),console.log("[PieCard] Has children:",!!H);let V=_.useContext(E),R=_.useContext(j),T=_.useContext(p);if(_.useEffect(()=>{if(!V||!J||!Y.current||!$.name){if(D&&J)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!V,useSocketioSupport:J,hasMethods:!!Y.current,hasDataName:!!$?.name});return}let O=Object.keys(Y.current??{}).map((G)=>{let F=`pie${G}_${$.name}`;if(D)console.log(`[PieCard] Socket.IO registering event: ${F}`);let K=(W)=>{Y.current?.[G]?.(W)};return V.on(F,K),[F,K]});return()=>{O.forEach(([G,F])=>{if(D)console.log(`[PieCard] Socket.IO unregistering event: ${G}`);V.off(G,F)})}},[V,$.name,J]),_.useEffect(()=>{if(!R||!I||!X||!$.name){if(D&&I)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!R,useCentrifugeSupport:I,hasCentrifugeChannel:!!X,hasMethods:!!Y.current,hasDataName:!!$?.name});return}let O=Object.keys(Y.current??{}).map((G)=>{let F=`pie${G}_${$.name}_${X}`;if(D)console.log(`[PieCard] Centrifuge subscribing to channel: ${F}`);let K=R.newSubscription(F);return K.on("publication",(W)=>{if(D)console.log(`[PieCard] Centrifuge received data on ${F}:`,W.data);Y.current?.[G]?.(W.data)}),K.subscribe(),K});return()=>{O.forEach((G)=>{if(D)console.log("[PieCard] Centrifuge unsubscribing from channel");G.unsubscribe(),R.removeSubscription(G)})}},[R,X,$.name,I]),_.useEffect(()=>{if(!T||!Z||!$.name){if(D&&Z)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!T,useMittSupport:Z,hasMethods:!!Y.current,hasDataName:!!$?.name});return}let q=Object.keys(Y.current??{}),O={};return q.forEach((G)=>{let F=`pie${G}_${$.name}`,K=(W)=>{if(D)console.log(`[PieCard] Mitt registering event: ${F}`);Y.current?.[G]?.(W)};O[F]=K,T.on(F,K)}),()=>{Object.entries(O).forEach(([G,F])=>{if(D)console.log(`[PieCard] Mitt unregistering event: ${G}`);T.off(G,F)})}},[T,$.name,Z]),D)console.log("[PieCard] Rendering complete, returning children");if(z!==void 0)return b.jsxs(b.Fragment,{children:[b.jsx("input",{type:"hidden",name:$.name,value:JSON.stringify(z)}),H]});return H},ZU=y$;var QU=require("react/jsx-runtime"),f$=({data:U})=>{let{name:$,key:H,value:J,useSocketioSupport:I,useCentrifugeSupport:Z,useMittSupport:X,centrifugeChannel:B}=U,[z,D]=g.useState(J);return g.useEffect(()=>{D(J)},[J]),g.useEffect(()=>{if(typeof window>"u")return;let Y=window.Telegram?.WebApp?.CloudStorage;if(!Y)return;Y.setItem(H,z)},[H,z]),QU.jsx(ZU,{card:"CloudStorageCard",data:U,useSocketioSupport:I,useCentrifugeSupport:Z,useMittSupport:X,centrifugeChannel:B,methods:{update:({value:Y})=>{D(Y)},remove:()=>{let Y=window.Telegram?.WebApp?.CloudStorage;if(Y)Y.removeItem(H);D("")}},children:QU.jsx("input",{type:"hidden",id:$,name:$,value:z})})},U$=f$;var $$=e({name:"CloudStorageCard",component:U$,metadata:{author:"PieData"}});var m=require("react");var DU=require("react/jsx-runtime"),C$=({data:U})=>{let{name:$,key:H,value:J,useSocketioSupport:I,useCentrifugeSupport:Z,useMittSupport:X,centrifugeChannel:B}=U,[z,D]=m.useState(J);return m.useEffect(()=>{D(J)},[J]),m.useEffect(()=>{if(typeof window>"u")return;let Y=window.Telegram?.WebApp?.SecureStorage;if(!Y)return;Y.setItem(H,z)},[H,z]),DU.jsx(ZU,{card:"SecureStorageCard",data:U,useSocketioSupport:I,useCentrifugeSupport:Z,useMittSupport:X,centrifugeChannel:B,methods:{update:({value:Y})=>{D(Y)},remove:()=>{let Y=window.Telegram?.WebApp?.SecureStorage;if(Y)Y.removeItem(H);D("")}},children:DU.jsx("input",{type:"hidden",id:$,name:$,value:z})})},H$=C$;var J$=e({name:"SecureStorageCard",component:H$,metadata:{author:"PieData"}});
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clientSources.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientSources.test.d.ts","sourceRoot":"","sources":["../../src/tests/clientSources.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Unit tests for the React Native `ClientSources` implementation
3
+ * (`platform/clientSources.native.ts`) and its host wiring
4
+ * (`platform/nativeConfig.ts`).
5
+ *
6
+ * The native implementation pulls no native modules — it reads from sources a
7
+ * host registers via `configureNativeClientSources`, with graceful empty
8
+ * defaults when unconfigured. These tests run in plain bun (no Metro / native
9
+ * runtime) by importing the `.native` module directly.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=clientSourcesNative.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientSourcesNative.test.d.ts","sourceRoot":"","sources":["../../src/tests/clientSourcesNative.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ajaxCommonUtils.d.ts","sourceRoot":"","sources":["../../src/util/ajaxCommonUtils.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,CAAA;AACjB,OAAO,EAAE,0BAA0B,EAAe,MAAM,UAAU,CAAA;AAKlE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kJAAkJ;IAClJ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GACf,KAAK,GACL,KAAK,GACL,cAAc,GACd,gBAAgB,GAChB,QAAQ,GACR,KAAK,GACL,gBAAgB,GAChB,iBAAiB,CAAA;AAmBvB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GACrB,SAAS,MAAM,KAChB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAWlC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW,GACpB,SAAS,MAAM,EACf,sBAAqB,OAAe,KACrC,KAAK,CAAC,MAAM,GAAG,IAAI,CA6ErB,CAAA;AA6ED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GACzB,SAAS,MAAM,EACf,sBAAqB,OAAe,KACrC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAM9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,aAAa,GACtB,yBAAyB,0BAA0B,EACnD,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,YAAW,KAAK,CAAC,MAAM,CAAM,EAC7B,WAAW,MAAM,EACjB,UAAU,oBAAoB,MAahB,cAAa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,iBA2KtD,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GACtB,yBAAyB,0BAA0B,EACnD,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,YAAW,KAAK,CAAC,MAAM,CAAM,EAC7B,WAAW,MAAM,EACjB,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,oBAjM9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBA6NjD,CAAA"}
1
+ {"version":3,"file":"ajaxCommonUtils.d.ts","sourceRoot":"","sources":["../../src/util/ajaxCommonUtils.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,CAAA;AACjB,OAAO,EAAE,0BAA0B,EAAe,MAAM,UAAU,CAAA;AAMlE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kJAAkJ;IAClJ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GACf,KAAK,GACL,KAAK,GACL,cAAc,GACd,gBAAgB,GAChB,QAAQ,GACR,KAAK,GACL,gBAAgB,GAChB,iBAAiB,CAAA;AAmBvB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GACrB,SAAS,MAAM,KAChB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAWlC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW,GACpB,SAAS,MAAM,EACf,sBAAqB,OAAe,KACrC,KAAK,CAAC,MAAM,GAAG,IAAI,CAkErB,CAAA;AAwDD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GACzB,SAAS,MAAM,EACf,sBAAqB,OAAe,KACrC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CA6B9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,aAAa,GACtB,yBAAyB,0BAA0B,EACnD,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,YAAW,KAAK,CAAC,MAAM,CAAM,EAC7B,WAAW,MAAM,EACjB,UAAU,oBAAoB,MAahB,cAAa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,iBA2KtD,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GACtB,yBAAyB,0BAA0B,EACnD,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,YAAW,KAAK,CAAC,MAAM,CAAM,EAC7B,WAAW,MAAM,EACjB,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,oBAjM9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBA6NjD,CAAA"}
@@ -1,10 +1,9 @@
1
1
  /**
2
2
  * Submits the hidden global PieUI form (`#piedata_global_form`) that is
3
- * rendered by every PieRoot variant. All PieUI inputs live inside this form,
4
- * so calling this function triggers a native multipart POST to the server
5
- * endpoint wired up at render time (usually `/api/process{pathname}`).
6
- *
7
- * No-ops on the server and when the form element has not been mounted yet.
3
+ * rendered by every PieRoot variant. Delegates to the active platform's
4
+ * `ClientSources` implementation, which no-ops when the form is not mounted
5
+ * (and on the server). On React Native there is no HTML form; the native
6
+ * implementation supplies its own submission strategy.
8
7
  */
9
8
  export declare const submitGlobalForm: () => void;
10
9
  //# sourceMappingURL=globalForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../src/util/globalForm.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,YAO5B,CAAA"}
1
+ {"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../src/util/globalForm.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,YAE5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"waitForSidAvailable.d.ts","sourceRoot":"","sources":["../../src/util/waitForSidAvailable.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,gBAAgB,SAE/B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D"}
1
+ {"version":3,"file":"waitForSidAvailable.d.ts","sourceRoot":"","sources":["../../src/util/waitForSidAvailable.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,gBAAgB,SAE/B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarm.ing/pieui",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "A React component library featuring PieCard component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,6 +39,12 @@
39
39
  "require": "./dist/telegram/index.js",
40
40
  "types": "./dist/telegram/index.d.ts"
41
41
  },
42
+ "./native": {
43
+ "react-native": "./dist/native/index.esm.js",
44
+ "import": "./dist/native/index.esm.js",
45
+ "require": "./dist/native/index.js",
46
+ "types": "./dist/native/index.d.ts"
47
+ },
42
48
  "./max": {
43
49
  "import": "./dist/max/index.esm.js",
44
50
  "require": "./dist/max/index.js",
@@ -61,8 +67,8 @@
61
67
  }
62
68
  },
63
69
  "scripts": {
64
- "build": "rm -rf ./dist && rm -rf pieui-*.tgz && bun run build:clean && NODE_ENV=production bun run build:esm && NODE_ENV=production bun run build:cjs && NODE_ENV=production bun run build:components:esm && NODE_ENV=production bun run build:components:cjs && NODE_ENV=production bun run build:agent:esm && NODE_ENV=production bun run build:agent:cjs && NODE_ENV=production bun run build:telegram:esm && NODE_ENV=production bun run build:telegram:cjs && NODE_ENV=production bun run build:max:esm && NODE_ENV=production bun run build:max:cjs && NODE_ENV=production bun run build:storybook:esm && NODE_ENV=production bun run build:storybook:cjs && NODE_ENV=production bun run build:storybook:addon:esm && NODE_ENV=production bun run build:storybook:addon:cjs && NODE_ENV=production bun run build:storybook:addon:manager:esm && NODE_ENV=production bun run build:storybook:addon:manager:cjs && NODE_ENV=production bun run build:storybook:addon:preset && bun run build:banner && NODE_ENV=production bun run build:types && NODE_ENV=production bun run build:cli && bun src/cli.ts postbuild --src-dir src --out-dir dist && bun pm pack",
65
- "build:banner": "node -e \"const fs=require('fs');['dist/index.esm.js','dist/index.js','dist/components/index.esm.js','dist/components/index.js','dist/agent/index.esm.js','dist/agent/index.js','dist/telegram/index.esm.js','dist/telegram/index.js','dist/max/index.esm.js','dist/max/index.js','dist/storybook/index.esm.js','dist/storybook/index.js','dist/storybook/addon/index.esm.js','dist/storybook/addon/index.js'].forEach(f=>{if(fs.existsSync(f)){fs.writeFileSync(f,'\\\"use client\\\";\\n'+fs.readFileSync(f,'utf8'))}})\"",
70
+ "build": "rm -rf ./dist && rm -rf pieui-*.tgz && bun run build:clean && NODE_ENV=production bun run build:esm && NODE_ENV=production bun run build:cjs && NODE_ENV=production bun run build:components:esm && NODE_ENV=production bun run build:components:cjs && NODE_ENV=production bun run build:agent:esm && NODE_ENV=production bun run build:agent:cjs && NODE_ENV=production bun run build:telegram:esm && NODE_ENV=production bun run build:telegram:cjs && NODE_ENV=production bun run build:native:esm && NODE_ENV=production bun run build:native:cjs && NODE_ENV=production bun run build:max:esm && NODE_ENV=production bun run build:max:cjs && NODE_ENV=production bun run build:storybook:esm && NODE_ENV=production bun run build:storybook:cjs && NODE_ENV=production bun run build:storybook:addon:esm && NODE_ENV=production bun run build:storybook:addon:cjs && NODE_ENV=production bun run build:storybook:addon:manager:esm && NODE_ENV=production bun run build:storybook:addon:manager:cjs && NODE_ENV=production bun run build:storybook:addon:preset && bun run build:banner && NODE_ENV=production bun run build:types && NODE_ENV=production bun run build:cli && bun src/cli.ts postbuild --src-dir src --out-dir dist && bun pm pack",
71
+ "build:banner": "node -e \"const fs=require('fs');['dist/index.esm.js','dist/index.js','dist/components/index.esm.js','dist/components/index.js','dist/agent/index.esm.js','dist/agent/index.js','dist/telegram/index.esm.js','dist/telegram/index.js','dist/native/index.esm.js','dist/native/index.js','dist/max/index.esm.js','dist/max/index.js','dist/storybook/index.esm.js','dist/storybook/index.js','dist/storybook/addon/index.esm.js','dist/storybook/addon/index.js'].forEach(f=>{if(fs.existsSync(f)){fs.writeFileSync(f,'\\\"use client\\\";\\n'+fs.readFileSync(f,'utf8'))}})\"",
66
72
  "build:clean": "rm -rf dist",
67
73
  "build:esm": "bun build src/index.ts --outfile dist/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
68
74
  "build:cjs": "bun build src/index.ts --outfile dist/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
@@ -72,6 +78,8 @@
72
78
  "build:agent:cjs": "bun build src/agent/index.ts --outfile dist/agent/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
73
79
  "build:telegram:esm": "bun build src/telegram/index.ts --outfile dist/telegram/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
74
80
  "build:telegram:cjs": "bun build src/telegram/index.ts --outfile dist/telegram/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
81
+ "build:native:esm": "bun build src/native/index.ts --outfile dist/native/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
82
+ "build:native:cjs": "bun build src/native/index.ts --outfile dist/native/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
75
83
  "build:max:esm": "bun build src/max/index.ts --outfile dist/max/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
76
84
  "build:max:cjs": "bun build src/max/index.ts --outfile dist/max/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
77
85
  "build:storybook:esm": "bun build src/storybook/index.tsx --outfile dist/storybook/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
@@ -124,11 +132,15 @@
124
132
  "peerDependencies": {
125
133
  "react": ">=19",
126
134
  "react-dom": ">=19",
127
- "@openai/agents": "^0.4.5"
135
+ "@openai/agents": "^0.4.5",
136
+ "react-native": ">=0.74"
128
137
  },
129
138
  "peerDependenciesMeta": {
130
139
  "@openai/agents": {
131
140
  "optional": true
141
+ },
142
+ "react-native": {
143
+ "optional": true
132
144
  }
133
145
  },
134
146
  "devDependencies": {
@@ -147,6 +159,7 @@
147
159
  "happy-dom": "^20.8.9",
148
160
  "lint-staged": "^16.2.7",
149
161
  "postcss": "8",
162
+ "react-native": "0.85.3",
150
163
  "tailwindcss": "3",
151
164
  "typescript": ">=5",
152
165
  "typescript-json-schema": "^0.67.1"