@urun-sh/react 0.1.21 → 0.1.22

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.
@@ -0,0 +1 @@
1
+ import{createContext as t,useContext as u,useMemo as s}from"react";import{jsx as i}from"react/jsx-runtime";var r=t(null);function c({getAccessToken:e,children:n}){let o=s(()=>({getAccessToken:e}),[e]);return i(r.Provider,{value:o,children:n})}var U=c;function p(){return u(r)}export{c as a,U as b,p as c};
package/dist/index.d.mts CHANGED
@@ -43,7 +43,11 @@ declare class UrunErrorBoundary extends Component<UrunErrorBoundaryProps, UrunEr
43
43
  }
44
44
 
45
45
  type UrunAccessToken = string | null | undefined;
46
- type UrunAccessTokenProvider = () => UrunAccessToken | Promise<UrunAccessToken>;
46
+ interface UrunAccessTokenOptions {
47
+ forceRefresh?: boolean;
48
+ reason?: 'initial' | 'unauthorized' | 'background';
49
+ }
50
+ type UrunAccessTokenProvider = (options?: UrunAccessTokenOptions) => UrunAccessToken | Promise<UrunAccessToken>;
47
51
  interface UrunAuthContextValue {
48
52
  getAccessToken: UrunAccessTokenProvider;
49
53
  }
package/dist/index.d.ts CHANGED
@@ -43,7 +43,11 @@ declare class UrunErrorBoundary extends Component<UrunErrorBoundaryProps, UrunEr
43
43
  }
44
44
 
45
45
  type UrunAccessToken = string | null | undefined;
46
- type UrunAccessTokenProvider = () => UrunAccessToken | Promise<UrunAccessToken>;
46
+ interface UrunAccessTokenOptions {
47
+ forceRefresh?: boolean;
48
+ reason?: 'initial' | 'unauthorized' | 'background';
49
+ }
50
+ type UrunAccessTokenProvider = (options?: UrunAccessTokenOptions) => UrunAccessToken | Promise<UrunAccessToken>;
47
51
  interface UrunAuthContextValue {
48
52
  getAccessToken: UrunAccessTokenProvider;
49
53
  }
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var L=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var Ee=(r,e)=>{for(var t in e)L(r,t,{get:e[t],enumerable:!0})},ke=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ue(e))!Re.call(r,o)&&o!==t&&L(r,o,{get:()=>e[o],enumerable:!(n=Te(e,o))||n.enumerable});return r};var Ae=r=>ke(L({},"__esModule",{value:!0}),r);var Ne={};Ee(Ne,{ComponentRenderer:()=>ae,ImageFrame:()=>ge,ImageFrameSchema:()=>le,MetricsPanel:()=>he,MetricsPanelSchema:()=>ve,ProgressCard:()=>ue,ProgressCardSchema:()=>ce,StatusBadge:()=>de,StatusBadgeSchema:()=>pe,TextStream:()=>fe,TextStreamSchema:()=>me,UrunAuthProvider:()=>D,UrunErrorBoundary:()=>l,UrunJwtProvider:()=>Y,UrunProvider:()=>re,authMode:()=>_,registerComponent:()=>se,urunPublicEnv:()=>i,useApp:()=>ne,useImageFrame:()=>$,useMetricsPanel:()=>H,useProgressCard:()=>F,useStatusBadge:()=>j,useTextStream:()=>z,useUrunAuth:()=>w,usesWorkOSAuth:()=>G});module.exports=Ae(Ne);var v=require("react");var Z=require("react"),y=require("react/jsx-runtime"),l=class extends Z.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("[urun] Error caught by UrunErrorBoundary:",e,t)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||(0,y.jsxs)("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[(0,y.jsx)("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),(0,y.jsx)("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};var q=require("react"),A=(0,q.createContext)(null);function p(r){return r&&r.trim()?r.trim():void 0}function i(r){switch(r){case"NEXT_PUBLIC_AUTH_MODE":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return p(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return p(typeof process<"u"?process.env?.[r]:void 0)}}function _(){let r=i("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return r==="jwt"||r==="customer-jwt"||r==="test-jwt"?"jwt":r==="workos"||i("VERCEL_ENV")==="production"?"workos":i("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function G(){return _()==="workos"}var g=require("react"),ee=require("react/jsx-runtime"),Q=(0,g.createContext)(null);function D({getAccessToken:r,children:e}){let t=(0,g.useMemo)(()=>({getAccessToken:r}),[r]);return(0,ee.jsx)(Q.Provider,{value:t,children:e})}var Y=D;function w(){return(0,g.useContext)(Q)}var b=require("react/jsx-runtime");function re({baseUrl:r,orgId:e,appId:t,jwt:n,authProvider:o,fallback:s,children:f}){let[k,S]=(0,v.useState)(),u=w(),Pe=i("NEXT_PUBLIC_SESSION_TOKEN")??i("NEXT_PUBLIC_URUN_JWT"),J=_(),x=J==="workos"&&!n,M=n??(J==="jwt"?Pe:void 0)??k,W=o??i("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),Se=x&&!M,xe=(0,v.useMemo)(()=>({appId:t,baseUrl:r,orgId:e,jwt:M,getAccessToken:x?u?.getAccessToken:void 0,authProvider:W}),[t,u,r,W,M,e,x]);return(0,v.useEffect)(()=>{if(!x||!u)return;let B=!1,ye=u;async function K(){try{let Ce=await ye.getAccessToken();B||S(Ce??void 0)}catch{B||S(void 0)}}K();let _e=window.setInterval(()=>{K()},6e4);return()=>{B=!0,window.clearInterval(_e)}},[u,x]),(0,b.jsx)(l,{fallback:s,children:Se?(0,b.jsx)("div",{role:"status","aria-live":"polite",children:"Signing in..."}):(0,b.jsx)(A.Provider,{value:xe,children:f})})}var a=require("react"),te=require("@urun-sh/core");function we(r,e){return`${r}:${JSON.stringify(e??{})}`}var O=class{constructor(e,t){this._doc=e;this._notify=t;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,t){return this._doc.get(e,t)}set(e){this._doc.set(e),this._notify()}on(e,t){return this._doc.on(e,n=>t(n))}dispose(){this._unsubscribeChange()}},V=class{constructor(e,t){this._stream=e;this._notify=t;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,t){return this._stream.on(e,t)}dispose(){this._unsubscribeTrack()}},X=class{constructor(e,t){this._session=e;this._notify=t}_session;_notify;_docs=new Map;_streams=new Map;get id(){return this._session.id}doc(e){let t=this._docs.get(e);return t||(t=new O(this._session.doc(e),this._notify),this._docs.set(e,t)),t}stream(e){let t=this._streams.get(e);return t||(t=new V(this._session.stream(e),this._notify),this._streams.set(e,t)),t}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._session.disconnect(),this._notify()}};function ne(){let r=(0,a.useContext)(A);if(!r)throw new Error("useApp must be used within <UrunProvider>");if(!r.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=(0,a.useReducer)(o=>o+1,0),t=(0,a.useRef)(new Map),n=(0,a.useMemo)(()=>(0,te.App)(r.appId,{baseUrl:r.baseUrl,orgId:r.orgId,jwt:r.jwt,getAccessToken:r.getAccessToken,authProvider:r.authProvider}),[r.appId,r.baseUrl,r.orgId,r.jwt,r.getAccessToken,r.authProvider]);return(0,a.useMemo)(()=>new Proxy({},{get(o,s){if(typeof s=="string")return f=>{let k=we(s,f),S=t.current.get(k);if(S)return S;let u=new X(n[s](f),e);return t.current.set(k,u),u}}}),[n])}var oe=new Map;function se(r,e,t){if(!t||typeof t.safeParse!="function")throw new Error(`registerComponent("${r}"): schema must be a valid Zod schema`);oe.set(r,{component:e,schema:t})}function ie(r,e){let t=oe.get(r);if(!t)return{error:`Unknown component: "${r}"`};let n=t.schema.safeParse(e);return n.success?{Component:t.component,validatedProps:n.data}:{error:`Validation failed for "${r}": ${n.error.message}`}}var d=require("react/jsx-runtime");function ae({name:r,props:e,fallback:t}){let n=ie(r,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),t?(0,d.jsx)(d.Fragment,{children:t}):(0,d.jsx)("div",{className:"urun-component-error",role:"alert",children:(0,d.jsx)("span",{className:"urun-component-error-text",children:n.error})});let o=n.Component;return(0,d.jsx)(o,{...n.validatedProps})}var h=require("zod"),m=require("react/jsx-runtime"),ce=h.z.object({step:h.z.number().min(0),total:h.z.number().min(1),label:h.z.string().optional(),variant:h.z.enum(["default","success","error"]).default("default")});function F(r){let{step:e,total:t,label:n,variant:o="default"}=r,s=Math.min(e/t*100,100),f=e>=t;return{step:e,total:t,label:n,variant:o,percentage:s,isComplete:f}}function ue(r){let{step:e,total:t,label:n,variant:o,percentage:s}=F(r);return(0,m.jsxs)("div",{className:"urun-progress-card","data-variant":o,children:[n&&(0,m.jsx)("div",{className:"urun-progress-label",children:n}),(0,m.jsx)("div",{className:"urun-progress-bar",children:(0,m.jsx)("div",{className:"urun-progress-fill",style:{width:`${s}%`}})}),(0,m.jsxs)("div",{className:"urun-progress-text",children:[e,"/",t]})]})}var N=require("zod"),C=require("react/jsx-runtime"),pe=N.z.object({state:N.z.enum(["thinking","generating","idle","error"]),message:N.z.string().optional()}),be={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function j(r){let{state:e,message:t}=r,n=e==="thinking"||e==="generating",o=t??be[e]??e;return{state:e,message:o,isActive:n}}function de(r){let{state:e,message:t,isActive:n}=j(r);return(0,C.jsxs)("span",{className:"urun-status-badge","data-state":e,children:[(0,C.jsx)("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),(0,C.jsx)("span",{className:"urun-status-message",children:t})]})}var T=require("react"),I=require("zod"),U=require("react/jsx-runtime"),me=I.z.object({text:I.z.string(),streaming:I.z.boolean().default(!1)});function z(r){let{text:e,streaming:t=!1}=r,n=e.length===0;return{text:e,streaming:t,isEmpty:n}}function fe(r){let{text:e,streaming:t}=z(r),n=(0,T.useRef)(null),o=(0,T.useRef)(0);return(0,T.useEffect)(()=>{let s=n.current;s&&e.length!==o.current&&(s.textContent=e,o.current=e.length)},[e]),(0,U.jsxs)("div",{className:"urun-text-stream",children:[(0,U.jsx)("span",{ref:n,className:"urun-text-content"}),t&&(0,U.jsx)("span",{className:"urun-text-cursor"})]})}var R=require("zod"),E=require("react/jsx-runtime"),le=R.z.object({src:R.z.string().url(),alt:R.z.string().optional(),caption:R.z.string().optional()});function $(r){let{src:e,alt:t,caption:n}=r;return{src:e,alt:t??"",caption:n}}function ge(r){let{src:e,alt:t,caption:n}=$(r);return(0,E.jsxs)("figure",{className:"urun-image-frame",children:[(0,E.jsx)("img",{className:"urun-image",src:e,alt:t}),n&&(0,E.jsx)("figcaption",{className:"urun-image-caption",children:n})]})}var c=require("zod"),P=require("react/jsx-runtime"),ve=c.z.object({metrics:c.z.array(c.z.object({label:c.z.string(),value:c.z.union([c.z.string(),c.z.number()]),unit:c.z.string().optional()}))});function H(r){return{metrics:r.metrics.map(t=>({...t,displayValue:t.unit?`${t.value} ${t.unit}`:String(t.value)}))}}function he(r){let{metrics:e}=H(r);return(0,P.jsx)("div",{className:"urun-metrics-panel",children:e.map((t,n)=>(0,P.jsxs)("div",{className:"urun-metric-card",children:[(0,P.jsx)("div",{className:"urun-metric-label",children:t.label}),(0,P.jsx)("div",{className:"urun-metric-value",children:t.displayValue})]},n))})}0&&(module.exports={ComponentRenderer,ImageFrame,ImageFrameSchema,MetricsPanel,MetricsPanelSchema,ProgressCard,ProgressCardSchema,StatusBadge,StatusBadgeSchema,TextStream,TextStreamSchema,UrunAuthProvider,UrunErrorBoundary,UrunJwtProvider,UrunProvider,authMode,registerComponent,urunPublicEnv,useApp,useImageFrame,useMetricsPanel,useProgressCard,useStatusBadge,useTextStream,useUrunAuth,usesWorkOSAuth});
1
+ "use strict";var L=Object.defineProperty;var Ce=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var ke=(r,e)=>{for(var t in e)L(r,t,{get:e[t],enumerable:!0})},Ee=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ue(e))!Re.call(r,o)&&o!==t&&L(r,o,{get:()=>e[o],enumerable:!(n=Ce(e,o))||n.enumerable});return r};var Ae=r=>Ee(L({},"__esModule",{value:!0}),r);var Ne={};ke(Ne,{ComponentRenderer:()=>ae,ImageFrame:()=>ge,ImageFrameSchema:()=>le,MetricsPanel:()=>ve,MetricsPanelSchema:()=>he,ProgressCard:()=>ue,ProgressCardSchema:()=>ce,StatusBadge:()=>de,StatusBadgeSchema:()=>pe,TextStream:()=>fe,TextStreamSchema:()=>me,UrunAuthProvider:()=>O,UrunErrorBoundary:()=>l,UrunJwtProvider:()=>Y,UrunProvider:()=>re,authMode:()=>T,registerComponent:()=>se,urunPublicEnv:()=>i,useApp:()=>ne,useImageFrame:()=>$,useMetricsPanel:()=>H,useProgressCard:()=>F,useStatusBadge:()=>j,useTextStream:()=>z,useUrunAuth:()=>b,usesWorkOSAuth:()=>G});module.exports=Ae(Ne);var h=require("react");var Z=require("react"),y=require("react/jsx-runtime"),l=class extends Z.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("[urun] Error caught by UrunErrorBoundary:",e,t)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||(0,y.jsxs)("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[(0,y.jsx)("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),(0,y.jsx)("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};var q=require("react"),A=(0,q.createContext)(null);function p(r){return r&&r.trim()?r.trim():void 0}function i(r){switch(r){case"NEXT_PUBLIC_AUTH_MODE":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return p(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return p(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return p(typeof process<"u"?process.env?.[r]:void 0)}}function T(){let r=i("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return r==="jwt"||r==="customer-jwt"||r==="test-jwt"?"jwt":r==="workos"||i("VERCEL_ENV")==="production"?"workos":i("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function G(){return T()==="workos"}var g=require("react"),ee=require("react/jsx-runtime"),Q=(0,g.createContext)(null);function O({getAccessToken:r,children:e}){let t=(0,g.useMemo)(()=>({getAccessToken:r}),[r]);return(0,ee.jsx)(Q.Provider,{value:t,children:e})}var Y=O;function b(){return(0,g.useContext)(Q)}var w=require("react/jsx-runtime");function re({baseUrl:r,orgId:e,appId:t,jwt:n,authProvider:o,fallback:s,children:f}){let[E,S]=(0,h.useState)(),u=b(),Pe=i("NEXT_PUBLIC_SESSION_TOKEN")??i("NEXT_PUBLIC_URUN_JWT"),J=T(),x=J==="workos"&&!n,M=n??(J==="jwt"?Pe:void 0)??E,W=o??i("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),Se=x&&!M,xe=(0,h.useMemo)(()=>({appId:t,baseUrl:r,orgId:e,jwt:M,getAccessToken:x?u?.getAccessToken:void 0,authProvider:W}),[t,u,r,W,M,e,x]);return(0,h.useEffect)(()=>{if(!x||!u)return;let B=!1,ye=u;async function K(){try{let _e=await ye.getAccessToken();B||S(_e??void 0)}catch{B||S(void 0)}}K();let Te=window.setInterval(()=>{K()},6e4);return()=>{B=!0,window.clearInterval(Te)}},[u,x]),(0,w.jsx)(l,{fallback:s,children:Se?(0,w.jsx)("div",{role:"status","aria-live":"polite",children:"Signing in..."}):(0,w.jsx)(A.Provider,{value:xe,children:f})})}var a=require("react"),te=require("@urun-sh/core");function be(r,e){return`${r}:${JSON.stringify(e??{})}`}var D=class{constructor(e,t){this._doc=e;this._notify=t;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,t){return this._doc.get(e,t)}set(e){this._doc.set(e),this._notify()}on(e,t){return this._doc.on(e,n=>t(n))}dispose(){this._unsubscribeChange()}},V=class{constructor(e,t){this._stream=e;this._notify=t;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,t){return this._stream.on(e,t)}dispose(){this._unsubscribeTrack()}},X=class{constructor(e,t){this._session=e;this._notify=t}_session;_notify;_docs=new Map;_streams=new Map;get id(){return this._session.id}doc(e){let t=this._docs.get(e);return t||(t=new D(this._session.doc(e),this._notify),this._docs.set(e,t)),t}stream(e){let t=this._streams.get(e);return t||(t=new V(this._session.stream(e),this._notify),this._streams.set(e,t)),t}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._session.disconnect(),this._notify()}};function ne(){let r=(0,a.useContext)(A);if(!r)throw new Error("useApp must be used within <UrunProvider>");if(!r.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=(0,a.useReducer)(o=>o+1,0),t=(0,a.useRef)(new Map),n=(0,a.useMemo)(()=>(0,te.App)(r.appId,{baseUrl:r.baseUrl,orgId:r.orgId,jwt:r.jwt,getAccessToken:r.getAccessToken,authProvider:r.authProvider}),[r.appId,r.baseUrl,r.orgId,r.jwt,r.getAccessToken,r.authProvider]);return(0,a.useMemo)(()=>new Proxy({},{get(o,s){if(typeof s=="string")return f=>{let E=be(s,f),S=t.current.get(E);if(S)return S;let u=new X(n[s](f),e);return t.current.set(E,u),u}}}),[n])}var oe=new Map;function se(r,e,t){if(!t||typeof t.safeParse!="function")throw new Error(`registerComponent("${r}"): schema must be a valid Zod schema`);oe.set(r,{component:e,schema:t})}function ie(r,e){let t=oe.get(r);if(!t)return{error:`Unknown component: "${r}"`};let n=t.schema.safeParse(e);return n.success?{Component:t.component,validatedProps:n.data}:{error:`Validation failed for "${r}": ${n.error.message}`}}var d=require("react/jsx-runtime");function ae({name:r,props:e,fallback:t}){let n=ie(r,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),t?(0,d.jsx)(d.Fragment,{children:t}):(0,d.jsx)("div",{className:"urun-component-error",role:"alert",children:(0,d.jsx)("span",{className:"urun-component-error-text",children:n.error})});let o=n.Component;return(0,d.jsx)(o,{...n.validatedProps})}var v=require("zod"),m=require("react/jsx-runtime"),ce=v.z.object({step:v.z.number().min(0),total:v.z.number().min(1),label:v.z.string().optional(),variant:v.z.enum(["default","success","error"]).default("default")});function F(r){let{step:e,total:t,label:n,variant:o="default"}=r,s=Math.min(e/t*100,100),f=e>=t;return{step:e,total:t,label:n,variant:o,percentage:s,isComplete:f}}function ue(r){let{step:e,total:t,label:n,variant:o,percentage:s}=F(r);return(0,m.jsxs)("div",{className:"urun-progress-card","data-variant":o,children:[n&&(0,m.jsx)("div",{className:"urun-progress-label",children:n}),(0,m.jsx)("div",{className:"urun-progress-bar",children:(0,m.jsx)("div",{className:"urun-progress-fill",style:{width:`${s}%`}})}),(0,m.jsxs)("div",{className:"urun-progress-text",children:[e,"/",t]})]})}var N=require("zod"),_=require("react/jsx-runtime"),pe=N.z.object({state:N.z.enum(["thinking","generating","idle","error"]),message:N.z.string().optional()}),we={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function j(r){let{state:e,message:t}=r,n=e==="thinking"||e==="generating",o=t??we[e]??e;return{state:e,message:o,isActive:n}}function de(r){let{state:e,message:t,isActive:n}=j(r);return(0,_.jsxs)("span",{className:"urun-status-badge","data-state":e,children:[(0,_.jsx)("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),(0,_.jsx)("span",{className:"urun-status-message",children:t})]})}var C=require("react"),I=require("zod"),U=require("react/jsx-runtime"),me=I.z.object({text:I.z.string(),streaming:I.z.boolean().default(!1)});function z(r){let{text:e,streaming:t=!1}=r,n=e.length===0;return{text:e,streaming:t,isEmpty:n}}function fe(r){let{text:e,streaming:t}=z(r),n=(0,C.useRef)(null),o=(0,C.useRef)(0);return(0,C.useEffect)(()=>{let s=n.current;s&&e.length!==o.current&&(s.textContent=e,o.current=e.length)},[e]),(0,U.jsxs)("div",{className:"urun-text-stream",children:[(0,U.jsx)("span",{ref:n,className:"urun-text-content"}),t&&(0,U.jsx)("span",{className:"urun-text-cursor"})]})}var R=require("zod"),k=require("react/jsx-runtime"),le=R.z.object({src:R.z.string().url(),alt:R.z.string().optional(),caption:R.z.string().optional()});function $(r){let{src:e,alt:t,caption:n}=r;return{src:e,alt:t??"",caption:n}}function ge(r){let{src:e,alt:t,caption:n}=$(r);return(0,k.jsxs)("figure",{className:"urun-image-frame",children:[(0,k.jsx)("img",{className:"urun-image",src:e,alt:t}),n&&(0,k.jsx)("figcaption",{className:"urun-image-caption",children:n})]})}var c=require("zod"),P=require("react/jsx-runtime"),he=c.z.object({metrics:c.z.array(c.z.object({label:c.z.string(),value:c.z.union([c.z.string(),c.z.number()]),unit:c.z.string().optional()}))});function H(r){return{metrics:r.metrics.map(t=>({...t,displayValue:t.unit?`${t.value} ${t.unit}`:String(t.value)}))}}function ve(r){let{metrics:e}=H(r);return(0,P.jsx)("div",{className:"urun-metrics-panel",children:e.map((t,n)=>(0,P.jsxs)("div",{className:"urun-metric-card",children:[(0,P.jsx)("div",{className:"urun-metric-label",children:t.label}),(0,P.jsx)("div",{className:"urun-metric-value",children:t.displayValue})]},n))})}0&&(module.exports={ComponentRenderer,ImageFrame,ImageFrameSchema,MetricsPanel,MetricsPanelSchema,ProgressCard,ProgressCardSchema,StatusBadge,StatusBadgeSchema,TextStream,TextStreamSchema,UrunAuthProvider,UrunErrorBoundary,UrunJwtProvider,UrunProvider,authMode,registerComponent,urunPublicEnv,useApp,useImageFrame,useMetricsPanel,useProgressCard,useStatusBadge,useTextStream,useUrunAuth,usesWorkOSAuth});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as ee,b as re,c as x}from"./chunk-OAFPMVUO.mjs";import{useEffect as ie,useMemo as ae,useState as ce}from"react";import{Component as te}from"react";import{jsx as B,jsxs as ne}from"react/jsx-runtime";var f=class extends te{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("[urun] Error caught by UrunErrorBoundary:",e,t)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||ne("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[B("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),B("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};import{createContext as oe}from"react";var v=oe(null);function u(r){return r&&r.trim()?r.trim():void 0}function a(r){switch(r){case"NEXT_PUBLIC_AUTH_MODE":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return u(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return u(typeof process<"u"?process.env?.[r]:void 0)}}function h(){let r=a("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return r==="jwt"||r==="customer-jwt"||r==="test-jwt"?"jwt":r==="workos"||a("VERCEL_ENV")==="production"?"workos":a("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function se(){return h()==="workos"}import{jsx as C}from"react/jsx-runtime";function ue({baseUrl:r,orgId:e,appId:t,jwt:n,authProvider:o,fallback:s,children:p}){let[l,d]=ce(),i=x(),K=a("NEXT_PUBLIC_SESSION_TOKEN")??a("NEXT_PUBLIC_URUN_JWT"),A=h(),m=A==="workos"&&!n,y=n??(A==="jwt"?K:void 0)??l,N=o??a("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),Z=m&&!y,q=ae(()=>({appId:t,baseUrl:r,orgId:e,jwt:y,getAccessToken:m?i?.getAccessToken:void 0,authProvider:N}),[t,i,r,N,y,e,m]);return ie(()=>{if(!m||!i)return;let _=!1,G=i;async function I(){try{let Y=await G.getAccessToken();_||d(Y??void 0)}catch{_||d(void 0)}}I();let Q=window.setInterval(()=>{I()},6e4);return()=>{_=!0,window.clearInterval(Q)}},[i,m]),C(f,{fallback:s,children:Z?C("div",{role:"status","aria-live":"polite",children:"Signing in..."}):C(v.Provider,{value:q,children:p})})}import{useContext as pe,useMemo as M,useReducer as de,useRef as me}from"react";import{App as fe}from"@urun-sh/core";function ge(r,e){return`${r}:${JSON.stringify(e??{})}`}var T=class{constructor(e,t){this._doc=e;this._notify=t;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,t){return this._doc.get(e,t)}set(e){this._doc.set(e),this._notify()}on(e,t){return this._doc.on(e,n=>t(n))}dispose(){this._unsubscribeChange()}},E=class{constructor(e,t){this._stream=e;this._notify=t;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,t){return this._stream.on(e,t)}dispose(){this._unsubscribeTrack()}},R=class{constructor(e,t){this._session=e;this._notify=t}_session;_notify;_docs=new Map;_streams=new Map;get id(){return this._session.id}doc(e){let t=this._docs.get(e);return t||(t=new T(this._session.doc(e),this._notify),this._docs.set(e,t)),t}stream(e){let t=this._streams.get(e);return t||(t=new E(this._session.stream(e),this._notify),this._streams.set(e,t)),t}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._session.disconnect(),this._notify()}};function le(){let r=pe(v);if(!r)throw new Error("useApp must be used within <UrunProvider>");if(!r.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=de(o=>o+1,0),t=me(new Map),n=M(()=>fe(r.appId,{baseUrl:r.baseUrl,orgId:r.orgId,jwt:r.jwt,getAccessToken:r.getAccessToken,authProvider:r.authProvider}),[r.appId,r.baseUrl,r.orgId,r.jwt,r.getAccessToken,r.authProvider]);return M(()=>new Proxy({},{get(o,s){if(typeof s=="string")return p=>{let l=ge(s,p),d=t.current.get(l);if(d)return d;let i=new R(n[s](p),e);return t.current.set(l,i),i}}}),[n])}var L=new Map;function ve(r,e,t){if(!t||typeof t.safeParse!="function")throw new Error(`registerComponent("${r}"): schema must be a valid Zod schema`);L.set(r,{component:e,schema:t})}function D(r,e){let t=L.get(r);if(!t)return{error:`Unknown component: "${r}"`};let n=t.schema.safeParse(e);return n.success?{Component:t.component,validatedProps:n.data}:{error:`Validation failed for "${r}": ${n.error.message}`}}import{Fragment as Se,jsx as S}from"react/jsx-runtime";function he({name:r,props:e,fallback:t}){let n=D(r,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),t?S(Se,{children:t}):S("div",{className:"urun-component-error",role:"alert",children:S("span",{className:"urun-component-error-text",children:n.error})});let o=n.Component;return S(o,{...n.validatedProps})}import{z as g}from"zod";import{jsx as U,jsxs as O}from"react/jsx-runtime";var Pe=g.object({step:g.number().min(0),total:g.number().min(1),label:g.string().optional(),variant:g.enum(["default","success","error"]).default("default")});function V(r){let{step:e,total:t,label:n,variant:o="default"}=r,s=Math.min(e/t*100,100),p=e>=t;return{step:e,total:t,label:n,variant:o,percentage:s,isComplete:p}}function ye(r){let{step:e,total:t,label:n,variant:o,percentage:s}=V(r);return O("div",{className:"urun-progress-card","data-variant":o,children:[n&&U("div",{className:"urun-progress-label",children:n}),U("div",{className:"urun-progress-bar",children:U("div",{className:"urun-progress-fill",style:{width:`${s}%`}})}),O("div",{className:"urun-progress-text",children:[e,"/",t]})]})}import{z as k}from"zod";import{jsx as X,jsxs as Te}from"react/jsx-runtime";var _e=k.object({state:k.enum(["thinking","generating","idle","error"]),message:k.string().optional()}),xe={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function F(r){let{state:e,message:t}=r,n=e==="thinking"||e==="generating",o=t??xe[e]??e;return{state:e,message:o,isActive:n}}function Ce(r){let{state:e,message:t,isActive:n}=F(r);return Te("span",{className:"urun-status-badge","data-state":e,children:[X("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),X("span",{className:"urun-status-message",children:t})]})}import{useRef as j,useEffect as Ee}from"react";import{z as b}from"zod";import{jsx as z,jsxs as ke}from"react/jsx-runtime";var Re=b.object({text:b.string(),streaming:b.boolean().default(!1)});function $(r){let{text:e,streaming:t=!1}=r,n=e.length===0;return{text:e,streaming:t,isEmpty:n}}function Ue(r){let{text:e,streaming:t}=$(r),n=j(null),o=j(0);return Ee(()=>{let s=n.current;s&&e.length!==o.current&&(s.textContent=e,o.current=e.length)},[e]),ke("div",{className:"urun-text-stream",children:[z("span",{ref:n,className:"urun-text-content"}),t&&z("span",{className:"urun-text-cursor"})]})}import{z as P}from"zod";import{jsx as H,jsxs as Ae}from"react/jsx-runtime";var be=P.object({src:P.string().url(),alt:P.string().optional(),caption:P.string().optional()});function J(r){let{src:e,alt:t,caption:n}=r;return{src:e,alt:t??"",caption:n}}function we(r){let{src:e,alt:t,caption:n}=J(r);return Ae("figure",{className:"urun-image-frame",children:[H("img",{className:"urun-image",src:e,alt:t}),n&&H("figcaption",{className:"urun-image-caption",children:n})]})}import{z as c}from"zod";import{jsx as w,jsxs as Be}from"react/jsx-runtime";var Ne=c.object({metrics:c.array(c.object({label:c.string(),value:c.union([c.string(),c.number()]),unit:c.string().optional()}))});function W(r){return{metrics:r.metrics.map(t=>({...t,displayValue:t.unit?`${t.value} ${t.unit}`:String(t.value)}))}}function Ie(r){let{metrics:e}=W(r);return w("div",{className:"urun-metrics-panel",children:e.map((t,n)=>Be("div",{className:"urun-metric-card",children:[w("div",{className:"urun-metric-label",children:t.label}),w("div",{className:"urun-metric-value",children:t.displayValue})]},n))})}export{he as ComponentRenderer,we as ImageFrame,be as ImageFrameSchema,Ie as MetricsPanel,Ne as MetricsPanelSchema,ye as ProgressCard,Pe as ProgressCardSchema,Ce as StatusBadge,_e as StatusBadgeSchema,Ue as TextStream,Re as TextStreamSchema,ee as UrunAuthProvider,f as UrunErrorBoundary,re as UrunJwtProvider,ue as UrunProvider,h as authMode,ve as registerComponent,a as urunPublicEnv,le as useApp,J as useImageFrame,W as useMetricsPanel,V as useProgressCard,F as useStatusBadge,$ as useTextStream,x as useUrunAuth,se as usesWorkOSAuth};
1
+ import{a as ee,b as re,c as x}from"./chunk-QAEWAWV4.mjs";import{useEffect as ie,useMemo as ae,useState as ce}from"react";import{Component as te}from"react";import{jsx as B,jsxs as ne}from"react/jsx-runtime";var f=class extends te{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("[urun] Error caught by UrunErrorBoundary:",e,t)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||ne("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[B("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),B("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};import{createContext as oe}from"react";var v=oe(null);function u(r){return r&&r.trim()?r.trim():void 0}function a(r){switch(r){case"NEXT_PUBLIC_AUTH_MODE":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return u(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return u(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return u(typeof process<"u"?process.env?.[r]:void 0)}}function h(){let r=a("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return r==="jwt"||r==="customer-jwt"||r==="test-jwt"?"jwt":r==="workos"||a("VERCEL_ENV")==="production"?"workos":a("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function se(){return h()==="workos"}import{jsx as C}from"react/jsx-runtime";function ue({baseUrl:r,orgId:e,appId:t,jwt:n,authProvider:o,fallback:s,children:p}){let[l,d]=ce(),i=x(),K=a("NEXT_PUBLIC_SESSION_TOKEN")??a("NEXT_PUBLIC_URUN_JWT"),A=h(),m=A==="workos"&&!n,y=n??(A==="jwt"?K:void 0)??l,N=o??a("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),Z=m&&!y,q=ae(()=>({appId:t,baseUrl:r,orgId:e,jwt:y,getAccessToken:m?i?.getAccessToken:void 0,authProvider:N}),[t,i,r,N,y,e,m]);return ie(()=>{if(!m||!i)return;let _=!1,G=i;async function I(){try{let Y=await G.getAccessToken();_||d(Y??void 0)}catch{_||d(void 0)}}I();let Q=window.setInterval(()=>{I()},6e4);return()=>{_=!0,window.clearInterval(Q)}},[i,m]),C(f,{fallback:s,children:Z?C("div",{role:"status","aria-live":"polite",children:"Signing in..."}):C(v.Provider,{value:q,children:p})})}import{useContext as pe,useMemo as M,useReducer as de,useRef as me}from"react";import{App as fe}from"@urun-sh/core";function ge(r,e){return`${r}:${JSON.stringify(e??{})}`}var T=class{constructor(e,t){this._doc=e;this._notify=t;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,t){return this._doc.get(e,t)}set(e){this._doc.set(e),this._notify()}on(e,t){return this._doc.on(e,n=>t(n))}dispose(){this._unsubscribeChange()}},E=class{constructor(e,t){this._stream=e;this._notify=t;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,t){return this._stream.on(e,t)}dispose(){this._unsubscribeTrack()}},R=class{constructor(e,t){this._session=e;this._notify=t}_session;_notify;_docs=new Map;_streams=new Map;get id(){return this._session.id}doc(e){let t=this._docs.get(e);return t||(t=new T(this._session.doc(e),this._notify),this._docs.set(e,t)),t}stream(e){let t=this._streams.get(e);return t||(t=new E(this._session.stream(e),this._notify),this._streams.set(e,t)),t}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._session.disconnect(),this._notify()}};function le(){let r=pe(v);if(!r)throw new Error("useApp must be used within <UrunProvider>");if(!r.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=de(o=>o+1,0),t=me(new Map),n=M(()=>fe(r.appId,{baseUrl:r.baseUrl,orgId:r.orgId,jwt:r.jwt,getAccessToken:r.getAccessToken,authProvider:r.authProvider}),[r.appId,r.baseUrl,r.orgId,r.jwt,r.getAccessToken,r.authProvider]);return M(()=>new Proxy({},{get(o,s){if(typeof s=="string")return p=>{let l=ge(s,p),d=t.current.get(l);if(d)return d;let i=new R(n[s](p),e);return t.current.set(l,i),i}}}),[n])}var L=new Map;function ve(r,e,t){if(!t||typeof t.safeParse!="function")throw new Error(`registerComponent("${r}"): schema must be a valid Zod schema`);L.set(r,{component:e,schema:t})}function D(r,e){let t=L.get(r);if(!t)return{error:`Unknown component: "${r}"`};let n=t.schema.safeParse(e);return n.success?{Component:t.component,validatedProps:n.data}:{error:`Validation failed for "${r}": ${n.error.message}`}}import{Fragment as Se,jsx as S}from"react/jsx-runtime";function he({name:r,props:e,fallback:t}){let n=D(r,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),t?S(Se,{children:t}):S("div",{className:"urun-component-error",role:"alert",children:S("span",{className:"urun-component-error-text",children:n.error})});let o=n.Component;return S(o,{...n.validatedProps})}import{z as g}from"zod";import{jsx as U,jsxs as O}from"react/jsx-runtime";var Pe=g.object({step:g.number().min(0),total:g.number().min(1),label:g.string().optional(),variant:g.enum(["default","success","error"]).default("default")});function V(r){let{step:e,total:t,label:n,variant:o="default"}=r,s=Math.min(e/t*100,100),p=e>=t;return{step:e,total:t,label:n,variant:o,percentage:s,isComplete:p}}function ye(r){let{step:e,total:t,label:n,variant:o,percentage:s}=V(r);return O("div",{className:"urun-progress-card","data-variant":o,children:[n&&U("div",{className:"urun-progress-label",children:n}),U("div",{className:"urun-progress-bar",children:U("div",{className:"urun-progress-fill",style:{width:`${s}%`}})}),O("div",{className:"urun-progress-text",children:[e,"/",t]})]})}import{z as k}from"zod";import{jsx as X,jsxs as Te}from"react/jsx-runtime";var _e=k.object({state:k.enum(["thinking","generating","idle","error"]),message:k.string().optional()}),xe={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function F(r){let{state:e,message:t}=r,n=e==="thinking"||e==="generating",o=t??xe[e]??e;return{state:e,message:o,isActive:n}}function Ce(r){let{state:e,message:t,isActive:n}=F(r);return Te("span",{className:"urun-status-badge","data-state":e,children:[X("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),X("span",{className:"urun-status-message",children:t})]})}import{useRef as j,useEffect as Ee}from"react";import{z as b}from"zod";import{jsx as z,jsxs as ke}from"react/jsx-runtime";var Re=b.object({text:b.string(),streaming:b.boolean().default(!1)});function $(r){let{text:e,streaming:t=!1}=r,n=e.length===0;return{text:e,streaming:t,isEmpty:n}}function Ue(r){let{text:e,streaming:t}=$(r),n=j(null),o=j(0);return Ee(()=>{let s=n.current;s&&e.length!==o.current&&(s.textContent=e,o.current=e.length)},[e]),ke("div",{className:"urun-text-stream",children:[z("span",{ref:n,className:"urun-text-content"}),t&&z("span",{className:"urun-text-cursor"})]})}import{z as P}from"zod";import{jsx as H,jsxs as Ae}from"react/jsx-runtime";var be=P.object({src:P.string().url(),alt:P.string().optional(),caption:P.string().optional()});function J(r){let{src:e,alt:t,caption:n}=r;return{src:e,alt:t??"",caption:n}}function we(r){let{src:e,alt:t,caption:n}=J(r);return Ae("figure",{className:"urun-image-frame",children:[H("img",{className:"urun-image",src:e,alt:t}),n&&H("figcaption",{className:"urun-image-caption",children:n})]})}import{z as c}from"zod";import{jsx as w,jsxs as Be}from"react/jsx-runtime";var Ne=c.object({metrics:c.array(c.object({label:c.string(),value:c.union([c.string(),c.number()]),unit:c.string().optional()}))});function W(r){return{metrics:r.metrics.map(t=>({...t,displayValue:t.unit?`${t.value} ${t.unit}`:String(t.value)}))}}function Ie(r){let{metrics:e}=W(r);return w("div",{className:"urun-metrics-panel",children:e.map((t,n)=>Be("div",{className:"urun-metric-card",children:[w("div",{className:"urun-metric-label",children:t.label}),w("div",{className:"urun-metric-value",children:t.displayValue})]},n))})}export{he as ComponentRenderer,we as ImageFrame,be as ImageFrameSchema,Ie as MetricsPanel,Ne as MetricsPanelSchema,ye as ProgressCard,Pe as ProgressCardSchema,Ce as StatusBadge,_e as StatusBadgeSchema,Ue as TextStream,Re as TextStreamSchema,ee as UrunAuthProvider,f as UrunErrorBoundary,re as UrunJwtProvider,ue as UrunProvider,h as authMode,ve as registerComponent,a as urunPublicEnv,le as useApp,J as useImageFrame,W as useMetricsPanel,V as useProgressCard,F as useStatusBadge,$ as useTextStream,x as useUrunAuth,se as usesWorkOSAuth};
@@ -1 +1 @@
1
- "use strict";var s=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var k=(r,e)=>{for(var o in e)s(r,o,{get:e[o],enumerable:!0})},U=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of v(e))!h.call(r,t)&&t!==o&&s(r,t,{get:()=>e[t],enumerable:!(i=P(e,t))||i.enumerable});return r};var l=r=>U(s({},"__esModule",{value:!0}),r);var f={};k(f,{UrunWorkOSProvider:()=>T});module.exports=l(f);var p=require("react"),c=require("@workos-inc/authkit-nextjs/components");var n=require("react"),d=require("react/jsx-runtime"),a=(0,n.createContext)(null);function A({getAccessToken:r,children:e}){let o=(0,n.useMemo)(()=>({getAccessToken:r}),[r]);return(0,d.jsx)(a.Provider,{value:o,children:e})}var u=require("react/jsx-runtime");function x({children:r}){let e=(0,c.useAccessToken)(),o=(0,p.useCallback)(()=>e.getAccessToken(),[e]);return(0,u.jsx)(A,{getAccessToken:o,children:r})}function T({children:r,...e}){return(0,u.jsx)(c.AuthKitProvider,{...e,children:(0,u.jsx)(x,{children:r})})}0&&(module.exports={UrunWorkOSProvider});
1
+ "use strict";var i=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var o in e)i(r,o,{get:e[o],enumerable:!0})},v=(r,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of h(e))!k.call(r,t)&&t!==o&&i(r,t,{get:()=>e[t],enumerable:!(u=P(e,t))||u.enumerable});return r};var U=r=>v(i({},"__esModule",{value:!0}),r);var x={};f(x,{UrunWorkOSProvider:()=>T});module.exports=U(x);var d=require("react"),c=require("@workos-inc/authkit-nextjs/components");var n=require("react"),A=require("react/jsx-runtime"),a=(0,n.createContext)(null);function p({getAccessToken:r,children:e}){let o=(0,n.useMemo)(()=>({getAccessToken:r}),[r]);return(0,A.jsx)(a.Provider,{value:o,children:e})}var s=require("react/jsx-runtime");function l({children:r}){let e=(0,c.useAccessToken)(),o=(0,d.useCallback)(u=>u?.forceRefresh&&e.refresh?e.refresh():e.getAccessToken(),[e]);return(0,s.jsx)(p,{getAccessToken:o,children:r})}function T({children:r,...e}){return(0,s.jsx)(c.AuthKitProvider,{...e,children:(0,s.jsx)(l,{children:r})})}0&&(module.exports={UrunWorkOSProvider});
@@ -1 +1 @@
1
- import{a as t}from"./chunk-OAFPMVUO.mjs";import{useCallback as i}from"react";import{AuthKitProvider as c,useAccessToken as s}from"@workos-inc/authkit-nextjs/components";import{jsx as e}from"react/jsx-runtime";function u({children:r}){let o=s(),n=i(()=>o.getAccessToken(),[o]);return e(t,{getAccessToken:n,children:r})}function A({children:r,...o}){return e(c,{...o,children:e(u,{children:r})})}export{A as UrunWorkOSProvider};
1
+ import{a as t}from"./chunk-QAEWAWV4.mjs";import{useCallback as c}from"react";import{AuthKitProvider as i,useAccessToken as u}from"@workos-inc/authkit-nextjs/components";import{jsx as o}from"react/jsx-runtime";function p({children:r}){let e=u(),s=c(n=>n?.forceRefresh&&e.refresh?e.refresh():e.getAccessToken(),[e]);return o(t,{getAccessToken:s,children:r})}function A({children:r,...e}){return o(i,{...e,children:o(p,{children:r})})}export{A as UrunWorkOSProvider};
package/dist/workos.js CHANGED
@@ -1 +1 @@
1
- "use strict";var s=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var U=(r,e)=>{for(var o in e)s(r,o,{get:e[o],enumerable:!0})},k=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of v(e))!h.call(r,t)&&t!==o&&s(r,t,{get:()=>e[t],enumerable:!(i=P(e,t))||i.enumerable});return r};var l=r=>k(s({},"__esModule",{value:!0}),r);var T={};U(T,{UrunWorkOSProvider:()=>f});module.exports=l(T);var p=require("react"),c=require("@workos-inc/authkit-react");var n=require("react"),d=require("react/jsx-runtime"),a=(0,n.createContext)(null);function A({getAccessToken:r,children:e}){let o=(0,n.useMemo)(()=>({getAccessToken:r}),[r]);return(0,d.jsx)(a.Provider,{value:o,children:e})}var u=require("react/jsx-runtime");function x({children:r}){let e=(0,c.useAuth)(),o=(0,p.useCallback)(()=>e.getAccessToken(),[e]);return(0,u.jsx)(A,{getAccessToken:o,children:r})}function f({children:r,...e}){return(0,u.jsx)(c.AuthKitProvider,{...e,children:(0,u.jsx)(x,{children:r})})}0&&(module.exports={UrunWorkOSProvider});
1
+ "use strict";var c=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var o in e)c(r,o,{get:e[o],enumerable:!0})},U=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of h(e))!k.call(r,t)&&t!==o&&c(r,t,{get:()=>e[t],enumerable:!(i=P(e,t))||i.enumerable});return r};var a=r=>U(c({},"__esModule",{value:!0}),r);var T={};v(T,{UrunWorkOSProvider:()=>x});module.exports=a(T);var d=require("react"),s=require("@workos-inc/authkit-react");var n=require("react"),A=require("react/jsx-runtime"),l=(0,n.createContext)(null);function p({getAccessToken:r,children:e}){let o=(0,n.useMemo)(()=>({getAccessToken:r}),[r]);return(0,A.jsx)(l.Provider,{value:o,children:e})}var u=require("react/jsx-runtime");function f({children:r}){let e=(0,s.useAuth)(),o=(0,d.useCallback)(()=>e.getAccessToken(),[e]);return(0,u.jsx)(p,{getAccessToken:o,children:r})}function x({children:r,...e}){return(0,u.jsx)(s.AuthKitProvider,{...e,children:(0,u.jsx)(f,{children:r})})}0&&(module.exports={UrunWorkOSProvider});
package/dist/workos.mjs CHANGED
@@ -1 +1 @@
1
- import{a as t}from"./chunk-OAFPMVUO.mjs";import{useCallback as n}from"react";import{AuthKitProvider as c,useAuth as s}from"@workos-inc/authkit-react";import{jsx as e}from"react/jsx-runtime";function u({children:r}){let o=s(),i=n(()=>o.getAccessToken(),[o]);return e(t,{getAccessToken:i,children:r})}function A({children:r,...o}){return e(c,{...o,children:e(u,{children:r})})}export{A as UrunWorkOSProvider};
1
+ import{a as t}from"./chunk-QAEWAWV4.mjs";import{useCallback as n}from"react";import{AuthKitProvider as c,useAuth as s}from"@workos-inc/authkit-react";import{jsx as e}from"react/jsx-runtime";function u({children:r}){let o=s(),i=n(()=>o.getAccessToken(),[o]);return e(t,{getAccessToken:i,children:r})}function A({children:r,...o}){return e(c,{...o,children:e(u,{children:r})})}export{A as UrunWorkOSProvider};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urun-sh/react",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "description": "React bindings for the urun TypeScript SDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "peerDependencies": {
48
48
  "react": "^18.2.0 || ^19.0.0",
49
- "@urun-sh/core": "^0.1.21",
49
+ "@urun-sh/core": "^0.1.22",
50
50
  "@workos-inc/authkit-react": "^0.15.0 || ^0.16.0",
51
51
  "@workos-inc/authkit-nextjs": "^3.0.0",
52
52
  "next": "^15.0.0 || ^16.0.0"
@@ -1 +0,0 @@
1
- import{createContext as o,useContext as u,useMemo as c}from"react";import{jsx as i}from"react/jsx-runtime";var r=o(null);function s({getAccessToken:e,children:n}){let t=c(()=>({getAccessToken:e}),[e]);return i(r.Provider,{value:t,children:n})}var U=s;function d(){return u(r)}export{s as a,U as b,d as c};