@capitalos/react 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- "use client";import e,{createContext as t,forwardRef as n,useCallback as r,useContext as i,useEffect as a,useImperativeHandle as o,useMemo as s,useRef as c,useState as l}from"react";import{WindowMessenger as u,connect as d}from"penpal";import{iframeResizer as f}from"iframe-resizer";var p=class extends Error{code;constructor({message:e,code:t}){super(e),this.name=`CapitalOSError`,this.code=t}};const m={unauthorized:`unauthorized`,invalid_account_status:`invalid_account_status`,unsupported_entry_point:`unsupported_entry_point`,internal_error:`internal_error`};var h=class extends p{constructor(e){super({message:`Invalid token ${e??``}`,code:m.unauthorized}),this.name=`CapitalOSInvalidTokenError`}};function g(e){let t=c(e);return t.current=e,t}const _={enableLogging:!1},v=`[CapitalOS] `;function y(e){return(t,n=_)=>{try{let r=`${v}${t}`;n.logger?n.logger[e](r):n.enableLogging&&console[e](r)}catch{}}}const b={log:y(`log`),warn:y(`warn`),error:y(`error`)};function x(e){return e?e.length<=12?`***`:`${e.substring(0,4)}...${e.substring(e.length-4)}`:`undefined`}function S(e){try{return e.replace(/([?&#])(token|access_token)=([^&\s#]+)/gi,(e,t,n,r)=>!r||r.length<=12?`${t}${n}=***`:`${t}${n}=${x(r)}`)}catch{return`[URL redacted due to processing error]`}}let C=function(e){return e.oneTime=`oneTime`,e.longLived=`longLived`,e}({}),w=function(e){return e.search=`search`,e.hash=`hash`,e}({}),T=function(e){return e.token=`token`,e.accessToken=`access_token`,e}({});function E(e){try{let t=decodeURIComponent(e),n=atob(t);return JSON.parse(n)}catch{throw new h}}function D(e){let t=E(e),n=t.path;if(!n||typeof n!=`string`)throw new h;let r={token:e,tokenType:C.oneTime,baseUrl:n,paramKey:T.token,paramLocation:w.search};return r}var O=`1.7.0`;function k(e){let t=JSON.stringify(e),n=btoa(t),r=encodeURIComponent(n);return r}function A(e){try{return decodeURIComponent(e)}catch{return e}}function ee({tokenData:e,renderingContext:t,theme:n,onError:r}){try{let r=t?{...t,referer:window.location.href}:null,i=r?k(r):null,a=new URL(e.baseUrl),o=A(e.token);e.paramLocation===`search`?a.searchParams.set(e.paramKey,o):e.paramLocation===`hash`&&(a.hash=e.paramKey+`=`+encodeURIComponent(o)),a.searchParams.set(`sdkVersion`,O),i&&a.searchParams.set(`renderingContext`,i),n&&a.searchParams.set(`theme`,n);let s=a.toString();return s}catch{r?.(new h);return}}const j=1e4;function te(e){return(...t)=>{try{let n=t.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `);e(n)}catch{}}}function M({iframeRef:e,token:t,onError:n,methods:r,iframeLabel:i}){let[o,c]=l(null),{log:f}=q(),p=g(r),m=g(n),h=g(i),_=s(()=>te(f),[f]);return a(()=>{let t=h.current?`[${h.current}] `:``;if(!e.current){f(`${t}Iframe ref not available - iframe element may not be mounted`);return}if(!e.current.contentWindow){f(`${t}Iframe contentWindow not accessible - may be blocked by browser security policy or CSP`);return}f(`${t}Establishing Penpal connection to iframe`);let n=!0,r=new u({remoteWindow:e.current.contentWindow,allowedOrigins:[`*`]}),i=d({messenger:r,methods:p.current,timeout:j,log:_});return i.promise.then(()=>{n&&(f(`${t}Penpal connection established successfully`),c(i))}).catch(e=>{n&&(f(`${t}Penpal connection failed: ${e.message}. Timeout: ${j}ms`),m.current?.(e),c(null))}),()=>{n=!1,f(`${t}Destroying Penpal connection (cleanup triggered - likely due to token or iframeRef change, or component unmount)`),i.destroy(),c(null)}},[t,f,_]),o}function N({tokenData:e,renderingContext:t,theme:n,onError:r}){let i=c(r),a=c(t);return s(()=>{if(e)return ee({tokenData:e,renderingContext:a.current,theme:n,onError:i.current})},[e,n,i,a])}function P(e){let{oneTimeToken:t,enableLogging:n,onError:i,renderingContext:o,theme:u,methods:d}=e,{tokenData:f,error:h,invalidateToken:g}=G(),{log:_,warn:v}=q(n),[y,b]=l(!1),C=c(null);ne(h,i);let w=s(()=>t?D(t):f,[t,f]);a(()=>{w&&_(`[${o.entryPoint}] Token data available, type: ${w.tokenType}, token: ${x(w.token)}, location: ${w.paramLocation}, key: ${w.paramKey}, baseUrl: ${w.baseUrl}`)},[w,_,o.entryPoint]);let T=r(()=>{if(_(`Token expired, invalidating...`),t){i?.(new p({message:`Token expired. Cannot automatically refresh when using token prop.`,code:m.unauthorized}));return}g(),b(!1)},[_,t,g,i]);a(()=>{t&&f&&v(`token was provided both from provider and from the token prop. the prop will take precedence`)},[t,f,v]);let E=N({tokenData:w,renderingContext:o,theme:u,onError:i});a(()=>{E?_(`Iframe URL generated: ${S(E).substring(0,1024)}...`):w&&v(`Failed to generate iframe URL despite having token data`)},[E,w,_,v]);let O=M({iframeRef:C,token:w?.token,iframeLabel:o.entryPoint,onError:e=>{_(`Connection error: ${e.message}`),i?.(e),b(!0)},methods:{onLoad:()=>{_(`Iframe called onLoad()`),b(!0)},onError:e=>{let t=new p(e);_(`Iframe error: ${t.message}`),i?.(t)},onTokenExpired:T,...d}});return{isLoaded:y,url:E,tokenData:w,iframeRef:C,connection:O}}function ne(e,t){let n=c(!1);a(()=>{e&&!n.current&&(t?.(e),n.current=!0)},[e,t])}const F=n((t,n)=>{let r=t.title||`iframe`,{iframeHTMLAttributes:i,resizerOptions:s}=R(t),l=c(null);return a(()=>{let e=l.current;return f({...s},e),()=>e.iFrameResizer&&e.iFrameResizer.removeListeners()}),o(n,()=>l.current),e.createElement(`iframe`,{...i,title:r,ref:l})});F.displayName=`IframeResizer`;const I=[`autoResize`,`bodyBackground`,`bodyMargin`,`bodyPadding`,`checkOrigin`,`inPageLinks`,`heightCalculationMethod`,`interval`,`log`,`maxHeight`,`maxWidth`,`minHeight`,`minWidth`,`resizeFrom`,`scrolling`,`sizeHeight`,`sizeWidth`,`warningTimeout`,`tolerance`,`widthCalculationMethod`,`onClosed`,`onInit`,`onMessage`,`onResized`,`onScroll`],L=new Set(I);function R(e){let t=Object.keys(e).reduce((t,n)=>{let r=e[n];return L.has(n)?r!==void 0&&(t.resizerOptions[n]=e[n]):t.iframeHTMLAttributes[n]=e[n],t},{resizerOptions:{},iframeHTMLAttributes:{}});return t}function z(t){let{oneTimeToken:n,enableLogging:r,onExchangeComplete:i,onExchangeError:o}=t,l=K(r),{log:u}=q(r),d=c(null),f=s(()=>D(n),[n]),m={entryPoint:`tokenExchange`},h=N({tokenData:f,onError:o,renderingContext:m});return a(()=>{if(h){let e=S(h),t=e.substring(0,1024),n=e.length>1024;u(`Token exchange iframe URL: ${t}${n?`...`:``}`)}},[h,u]),M({iframeRef:d,token:n,iframeLabel:`token-exchange`,onError:e=>{u(`Token exchange connection error: ${e.message}`),o?.(e)},methods:{onLoad:()=>{u(`Token exchange iframe loaded`)},onError:e=>{u(`Token exchange iframe error: ${e.message}`),o?.(new p(e))},tokenExchange:{onLongLivedToken:e=>{u(`Token exchange complete: received long-lived token`),i(e)}}}}),e.createElement(F,{src:h,checkOrigin:!1,style:{display:`none`},log:l,ref:d,onLoad:()=>{u(`Token exchange iframe HTML loaded successfully`)},onError:e=>{u(`Token exchange iframe failed to load: ${e}`)}})}function B(e){let t=c(e);return t.current=e,r((...e)=>t.current(...e),[])}function re({onDone:t,onCancel:n,mfaId:r,destination:i,codeLength:a,canResendAfter:o,operationName:c,...l}){let u=`mfa`,d=s(()=>({entryPoint:u,mfaId:r,destination:i,codeLength:a,canResendAfter:o,operationName:c}),[u,r,i,a,o,c]);return e.createElement(J,{...l,renderingContext:d,methods:{mfa:{onDone:t,onCancel:n}}})}const V={backdrop:{position:`fixed`,top:0,left:0,right:0,bottom:0,backgroundColor:`rgba(0, 0, 0, 0.4)`,backdropFilter:`blur(2px)`,zIndex:1e3,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`20px`},container:{backgroundColor:`white`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05)`,maxWidth:`600px`,width:`100%`,maxHeight:`90vh`,overflow:`hidden`,position:`relative`}};function ie({onClose:t,children:n,ariaLabel:r=`Modal dialog`}){a(()=>{let e=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[t]);let i=e=>{e.target===e.currentTarget&&t()};return e.createElement(`div`,{style:V.backdrop,onClick:i,role:`dialog`,"aria-modal":`true`,"aria-label":r},e.createElement(`div`,{style:V.container},n))}function ae(){let[e,t]=l(null),{log:n}=q(),i=r(e=>(n(`MFA requested`),new Promise((n,r)=>{t({context:e,resolve:n,reject:r})})),[n]),a=r(()=>{e&&(n(`MFA completed successfully`),e.resolve({success:!0,canceled:!1,data:void 0}),t(null))},[e,n]),o=r(()=>{e&&(n(`MFA canceled`),e.resolve({success:!1,canceled:!0}),t(null))},[e,n]),s=r(r=>{e&&(n(`MFA error: `+r.message),e.resolve({success:!1,canceled:!1,error:r}),t(null))},[e,n]),c=!!e,u=e?.context??null;return{activeMfaRequest:e,isMfaActive:c,mfaContext:u,requestMfa:i,handleMfaDone:a,handleMfaCancel:o,handleMfaError:s}}const H=t(null);function oe({children:t}){let[n,i]=l(null),a=K(),{log:o}=q(),{requestMfa:c,handleMfaDone:u,handleMfaCancel:d,isMfaActive:f,mfaContext:h}=ae(),g=r(async e=>{let t=await c(e);return t.success?{success:!0}:t.canceled?{success:!1,canceled:!0}:{success:!1,error:t.error.message}},[c]),_=s(()=>n?{freezeCard:async e=>{try{let t=await n.freezeCard(e);return t.success?{success:!0,canceled:!1,data:t.data}:t.canceled?{success:!1,canceled:!0}:{success:!1,canceled:!1,error:new p({code:m.internal_error,message:t.error})}}catch(e){return{success:!1,canceled:!1,error:new p({code:m.internal_error,message:e instanceof Error?e.message:`Communication error with iframe`})}}},unfreezeCard:async e=>{try{let t=await n.unfreezeCard(e);return t.success?{success:!0,canceled:!1,data:t.data}:t.canceled?{success:!1,canceled:!0}:{success:!1,canceled:!1,error:new p({code:m.internal_error,message:t.error})}}catch(e){return{success:!1,canceled:!1,error:new p({code:m.internal_error,message:e instanceof Error?e.message:`Communication error with iframe`})}}}}:null,[n]),v=s(()=>({"system-messages":{requestMfa:g},mfa:{onDone:u,onCancel:d}}),[g,u,d]),{isLoaded:y,url:b,connection:x,iframeRef:S}=P({renderingContext:{entryPoint:`actions`},methods:v});e.useEffect(()=>{let e=!0;return x&&x.promise.then(t=>{e&&(i(t),o(`Actions iframe child functions loaded`))}),()=>{e=!1}},[x,o]);let C=!y||!n;return e.createElement(H.Provider,{value:{childFunctions:n,actions:_,isLoading:C}},t,b&&e.createElement(F,{src:b,style:{display:`none`},checkOrigin:!1,log:a,ref:S,onLoad:()=>{o(`Actions iframe HTML loaded successfully`)},onError:e=>{o(`Actions iframe failed to load: ${e}. This may indicate network issues or security policy blocking.`)}}),f&&h&&e.createElement(ie,{onClose:d,ariaLabel:`Multi-factor authentication`},e.createElement(re,{mfaId:h.mfaId,destination:h.destination,codeLength:h.codeLength,canResendAfter:h.canResendAfter,...h.operationName&&{operationName:h.operationName},onDone:u,onCancel:d})))}const U=t({isLoading:!1,invalidateToken:()=>{},enableLogging:!1,loggerRef:{current:void 0}}),W=({getToken:t,enableLogging:n,logger:i,children:o})=>{let[c,u]=l(void 0),[d,f]=l(void 0),[h,_]=l(void 0),[v,y]=l(!1),[b,x]=l(void 0),S=g(i),D=r(async()=>{y(!0);try{let e=await t();u(e),x(void 0);let n=E(e),r=new URL(n.path);r.pathname=``,f(r.toString())}catch(e){x(e)}finally{y(!1)}},[t]),O=r(()=>{_(void 0)},[]);a(()=>{h||D()},[h,D]);let k=r(e=>{_(e),u(void 0),x(void 0)},[]),A=s(()=>{if(h&&!d)throw new p({message:`baseUrl is required for long lived tokens`,code:m.unauthorized});let e=h?{token:h,tokenType:C.longLived,baseUrl:d,paramKey:T.accessToken,paramLocation:w.hash}:void 0;return{tokenData:e,isLoading:v,error:b,invalidateToken:O,enableLogging:n??!1,loggerRef:S}},[h,v,b,O,d,n]);return e.createElement(e.Fragment,null,e.createElement(U.Provider,{value:A},e.createElement(oe,null,o)),c&&!h&&e.createElement(z,{oneTimeToken:c,onExchangeComplete:k,enableLogging:n,onExchangeError:x}))},G=()=>i(U);function K(e){let{enableLogging:t}=G();return e===void 0?t:e}function q(e){let t=K(e),{loggerRef:n}=G(),r=B(e=>{b.log(e,{enableLogging:t,logger:n.current??void 0})}),i=B(e=>{b.warn(e,{enableLogging:t,logger:n.current??void 0})}),a=B(e=>{b.error(e,{enableLogging:t,logger:n.current??void 0})});return s(()=>({log:r,warn:i,error:a}),[r,i,a])}function J(t){let{token:n,className:r,enableLogging:i,onError:a,loadingComponent:o,renderingContext:s,methods:c,theme:l,sizeWidth:u}=t,d=K(i),{log:f}=q(i),{isLoaded:p,url:m,tokenData:h,iframeRef:g}=P({oneTimeToken:n,enableLogging:d,onError:a,renderingContext:s,theme:l,methods:c});if(!h||!m)return e.createElement(e.Fragment,null,o||null);let _=s.entryPoint!==`insightsWidget`;return e.createElement(e.Fragment,null,!p&&o,e.createElement(F,{src:m,allow:`clipboard-write`,checkOrigin:!1,style:{width:`1px`,height:`0px`,minWidth:`100%`},className:r,log:d,ref:g,hidden:!p,onLoad:()=>{f(`Main iframe HTML loaded successfully for entry point: ${s.entryPoint}`)},onError:e=>{f(`Main iframe failed to load: ${e}. This may indicate network issues, firewall blocking, or CSP violations.`)},onResized:e=>{if(!_)return;let t=`${parseInt(e.height)+12}px`;e.iframe.style.height=t},sizeWidth:u}))}const Y={bugButton:{position:`fixed`,left:`12px`,bottom:`12px`,margin:`12px`,padding:`4px`,display:`inline-flex`,alignItems:`center`,borderRadius:`9999px`,border:`1px solid transparent`,backgroundColor:`#2563eb`,color:`white`,opacity:.4,boxShadow:`0 1px 3px 0 rgb(0 0 0 / 0.1)`,cursor:`pointer`,zIndex:50,transition:`opacity 0.3s ease-in-out`},bugButtonHover:{backgroundColor:`#1d4ed8`,opacity:1},bugButtonFocus:{outline:`none`,boxShadow:`0 0 0 2px white, 0 0 0 4px #3b82f6`},bugIcon:{width:`20px`,height:`20px`},loadingButton:{cursor:`default`,opacity:1,animation:`pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite`}},X=()=>e.createElement(`svg`,{style:Y.bugIcon,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:`1.5`,stroke:`currentColor`},e.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 12.75c1.148 0 2.278.08 3.383.237 1.037.146 1.866.966 1.866 2.013 0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24.204 24.204 0 0 1 12 12.75Zm0 0c2.883 0 5.647.508 8.207 1.44a23.91 23.91 0 0 1-1.152 6.06M12 12.75c-2.883 0-5.647.508-8.208 1.44.125 2.104.52 4.136 1.153 6.06M12 12.75a2.25 2.25 0 0 0 2.248-2.354M12 12.75a2.25 2.25 0 0 1-2.248-2.354M12 8.25c.995 0 1.971-.08 2.922-.236.403-.066.74-.358.795-.762a3.778 3.778 0 0 0-.399-2.25M12 8.25c-.995 0-1.97-.08-2.922-.236-.402-.066-.74-.358-.795-.762a3.734 3.734 0 0 1 .4-2.253M12 8.25a2.25 2.25 0 0 0-2.248 2.146M12 8.25a2.25 2.25 0 0 1 2.248 2.146M8.683 5a6.032 6.032 0 0 1-1.155-1.002c.07-.63.27-1.222.574-1.747m.581 2.749A3.75 3.75 0 0 1 15.318 5m0 0c.427-.283.815-.62 1.155-.999a4.471 4.471 0 0 0-.575-1.752M4.921 6a24.048 24.048 0 0 0-.392 3.314c1.668.546 3.416.914 5.223 1.082M19.08 6c.205 1.08.337 2.187.392 3.314a23.882 23.882 0 0 1-5.223 1.082`}));function Z({onClick:t,isLoading:n=!1}){let[r,i]=l(!1),[a,o]=l(!1),s={...Y.bugButton,...n&&Y.loadingButton,...!n&&r&&Y.bugButtonHover,...!n&&a&&Y.bugButtonFocus};return n?e.createElement(`div`,{style:s},e.createElement(`style`,null,`
1
+ "use client";import e,{createContext as t,forwardRef as n,useCallback as r,useContext as i,useEffect as a,useImperativeHandle as o,useMemo as s,useRef as c,useState as l}from"react";import{WindowMessenger as u,connect as d}from"penpal";import{iframeResizer as f}from"iframe-resizer";var p=class extends Error{code;constructor({message:e,code:t}){super(e),this.name=`CapitalOSError`,this.code=t}};const m={unauthorized:`unauthorized`,invalid_account_status:`invalid_account_status`,unsupported_entry_point:`unsupported_entry_point`,internal_error:`internal_error`};var h=class extends p{constructor(e){super({message:`Invalid token ${e??``}`,code:m.unauthorized}),this.name=`CapitalOSInvalidTokenError`}};function g(e){let t=c(e);return t.current=e,t}const _={enableLogging:!1},v=`[CapitalOS] `;function y(e){return(t,n=_)=>{try{let r=`${v}${t}`;n.logger?n.logger[e](r):n.enableLogging&&console[e](r)}catch{}}}const b={log:y(`log`),warn:y(`warn`),error:y(`error`)};function x(e){return e?e.length<=12?`***`:`${e.substring(0,4)}...${e.substring(e.length-4)}`:`undefined`}function S(e){try{return e.replace(/([?&#])(token|access_token)=([^&\s#]+)/gi,(e,t,n,r)=>!r||r.length<=12?`${t}${n}=***`:`${t}${n}=${x(r)}`)}catch{return`[URL redacted due to processing error]`}}let C=function(e){return e.oneTime=`oneTime`,e.longLived=`longLived`,e}({}),w=function(e){return e.search=`search`,e.hash=`hash`,e}({}),T=function(e){return e.token=`token`,e.accessToken=`access_token`,e}({});function E(e){try{let t=decodeURIComponent(e),n=atob(t);return JSON.parse(n)}catch{throw new h}}function D(e){let t=E(e),n=t.path;if(!n||typeof n!=`string`)throw new h;let r={token:e,tokenType:C.oneTime,baseUrl:n,paramKey:T.token,paramLocation:w.search};return r}var O=`1.8.0`;function k(e){let t=JSON.stringify(e),n=btoa(t),r=encodeURIComponent(n);return r}function A(e){try{return decodeURIComponent(e)}catch{return e}}function ee({tokenData:e,renderingContext:t,theme:n,onError:r}){try{let r=t?{...t,referer:window.location.href}:null,i=r?k(r):null,a=new URL(e.baseUrl),o=A(e.token);e.paramLocation===`search`?a.searchParams.set(e.paramKey,o):e.paramLocation===`hash`&&(a.hash=e.paramKey+`=`+encodeURIComponent(o)),a.searchParams.set(`sdkVersion`,O),i&&a.searchParams.set(`renderingContext`,i),n&&a.searchParams.set(`theme`,n);let s=a.toString();return s}catch{r?.(new h);return}}const j=1e4;function te(e){return(...t)=>{try{let n=t.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `);e(n)}catch{}}}function M({iframeRef:e,token:t,onError:n,methods:r,iframeLabel:i}){let[o,c]=l(null),{log:f}=q(),p=g(r),m=g(n),h=g(i),_=s(()=>te(f),[f]);return a(()=>{let t=h.current?`[${h.current}] `:``;if(!e.current){f(`${t}Iframe ref not available - iframe element may not be mounted`);return}if(!e.current.contentWindow){f(`${t}Iframe contentWindow not accessible - may be blocked by browser security policy or CSP`);return}f(`${t}Establishing Penpal connection to iframe`);let n=!0,r=new u({remoteWindow:e.current.contentWindow,allowedOrigins:[`*`]}),i=d({messenger:r,methods:p.current,timeout:j,log:_});return i.promise.then(()=>{n&&(f(`${t}Penpal connection established successfully`),c(i))}).catch(e=>{n&&(f(`${t}Penpal connection failed: ${e.message}. Timeout: ${j}ms`),m.current?.(e),c(null))}),()=>{n=!1,f(`${t}Destroying Penpal connection (cleanup triggered - likely due to token or iframeRef change, or component unmount)`),i.destroy(),c(null)}},[t,f,_]),o}function N({tokenData:e,renderingContext:t,theme:n,onError:r}){let i=c(r),a=c(t);return s(()=>{if(e)return ee({tokenData:e,renderingContext:a.current,theme:n,onError:i.current})},[e,n,i,a])}function P(e){let{oneTimeToken:t,enableLogging:n,onError:i,renderingContext:o,theme:u,methods:d}=e,{tokenData:f,error:h,invalidateToken:g}=G(),{log:_,warn:v}=q(n),[y,b]=l(!1),C=c(null);ne(h,i);let w=s(()=>t?D(t):f,[t,f]);a(()=>{w&&_(`[${o.entryPoint}] Token data available, type: ${w.tokenType}, token: ${x(w.token)}, location: ${w.paramLocation}, key: ${w.paramKey}, baseUrl: ${w.baseUrl}`)},[w,_,o.entryPoint]);let T=r(()=>{if(_(`Token expired, invalidating...`),t){i?.(new p({message:`Token expired. Cannot automatically refresh when using token prop.`,code:m.unauthorized}));return}g(),b(!1)},[_,t,g,i]);a(()=>{t&&f&&v(`token was provided both from provider and from the token prop. the prop will take precedence`)},[t,f,v]);let E=N({tokenData:w,renderingContext:o,theme:u,onError:i});a(()=>{E?_(`Iframe URL generated: ${S(E).substring(0,1024)}...`):w&&v(`Failed to generate iframe URL despite having token data`)},[E,w,_,v]);let O=M({iframeRef:C,token:w?.token,iframeLabel:o.entryPoint,onError:e=>{_(`Connection error: ${e.message}`),i?.(e),b(!0)},methods:{onLoad:()=>{_(`Iframe called onLoad()`),b(!0)},onError:e=>{let t=new p(e);_(`Iframe error: ${t.message}`),i?.(t)},onTokenExpired:T,...d}});return{isLoaded:y,url:E,tokenData:w,iframeRef:C,connection:O}}function ne(e,t){let n=c(!1);a(()=>{e&&!n.current&&(t?.(e),n.current=!0)},[e,t])}const F=n((t,n)=>{let r=t.title||`iframe`,{iframeHTMLAttributes:i,resizerOptions:s}=R(t),l=c(null);return a(()=>{let e=l.current;return f({...s},e),()=>e.iFrameResizer&&e.iFrameResizer.removeListeners()}),o(n,()=>l.current),e.createElement(`iframe`,{...i,title:r,ref:l})});F.displayName=`IframeResizer`;const I=[`autoResize`,`bodyBackground`,`bodyMargin`,`bodyPadding`,`checkOrigin`,`inPageLinks`,`heightCalculationMethod`,`interval`,`log`,`maxHeight`,`maxWidth`,`minHeight`,`minWidth`,`resizeFrom`,`scrolling`,`sizeHeight`,`sizeWidth`,`warningTimeout`,`tolerance`,`widthCalculationMethod`,`onClosed`,`onInit`,`onMessage`,`onResized`,`onScroll`],L=new Set(I);function R(e){let t=Object.keys(e).reduce((t,n)=>{let r=e[n];return L.has(n)?r!==void 0&&(t.resizerOptions[n]=e[n]):t.iframeHTMLAttributes[n]=e[n],t},{resizerOptions:{},iframeHTMLAttributes:{}});return t}function z(t){let{oneTimeToken:n,enableLogging:r,onExchangeComplete:i,onExchangeError:o}=t,l=K(r),{log:u}=q(r),d=c(null),f=s(()=>D(n),[n]),m={entryPoint:`tokenExchange`},h=N({tokenData:f,onError:o,renderingContext:m});return a(()=>{if(h){let e=S(h),t=e.substring(0,1024),n=e.length>1024;u(`Token exchange iframe URL: ${t}${n?`...`:``}`)}},[h,u]),M({iframeRef:d,token:n,iframeLabel:`token-exchange`,onError:e=>{u(`Token exchange connection error: ${e.message}`),o?.(e)},methods:{onLoad:()=>{u(`Token exchange iframe loaded`)},onError:e=>{u(`Token exchange iframe error: ${e.message}`),o?.(new p(e))},tokenExchange:{onLongLivedToken:e=>{u(`Token exchange complete: received long-lived token`),i(e)}}}}),e.createElement(F,{src:h,checkOrigin:!1,style:{display:`none`},log:l,ref:d,onLoad:()=>{u(`Token exchange iframe HTML loaded successfully`)},onError:e=>{u(`Token exchange iframe failed to load: ${e}`)}})}function B(e){let t=c(e);return t.current=e,r((...e)=>t.current(...e),[])}function re({onDone:t,onCancel:n,mfaId:r,destination:i,codeLength:a,canResendAfter:o,operationName:c,...l}){let u=`mfa`,d=s(()=>({entryPoint:u,mfaId:r,destination:i,codeLength:a,canResendAfter:o,operationName:c}),[u,r,i,a,o,c]);return e.createElement(J,{...l,renderingContext:d,methods:{mfa:{onDone:t,onCancel:n}}})}const V={backdrop:{position:`fixed`,top:0,left:0,right:0,bottom:0,backgroundColor:`rgba(0, 0, 0, 0.4)`,backdropFilter:`blur(2px)`,zIndex:1e3,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`20px`},container:{backgroundColor:`white`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05)`,maxWidth:`600px`,width:`100%`,maxHeight:`90vh`,overflow:`hidden`,position:`relative`}};function ie({onClose:t,children:n,ariaLabel:r=`Modal dialog`}){a(()=>{let e=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[t]);let i=e=>{e.target===e.currentTarget&&t()};return e.createElement(`div`,{style:V.backdrop,onClick:i,role:`dialog`,"aria-modal":`true`,"aria-label":r},e.createElement(`div`,{style:V.container},n))}function ae(){let[e,t]=l(null),{log:n}=q(),i=r(e=>(n(`MFA requested`),new Promise((n,r)=>{t({context:e,resolve:n,reject:r})})),[n]),a=r(()=>{e&&(n(`MFA completed successfully`),e.resolve({success:!0,canceled:!1,data:void 0}),t(null))},[e,n]),o=r(()=>{e&&(n(`MFA canceled`),e.resolve({success:!1,canceled:!0}),t(null))},[e,n]),s=r(r=>{e&&(n(`MFA error: `+r.message),e.resolve({success:!1,canceled:!1,error:r}),t(null))},[e,n]),c=!!e,u=e?.context??null;return{activeMfaRequest:e,isMfaActive:c,mfaContext:u,requestMfa:i,handleMfaDone:a,handleMfaCancel:o,handleMfaError:s}}const H=t(null);function oe({children:t}){let[n,i]=l(null),a=K(),{log:o}=q(),{requestMfa:c,handleMfaDone:u,handleMfaCancel:d,isMfaActive:f,mfaContext:h}=ae(),g=r(async e=>{let t=await c(e);return t.success?{success:!0}:t.canceled?{success:!1,canceled:!0}:{success:!1,error:t.error.message}},[c]),_=s(()=>n?{freezeCard:async e=>{try{let t=await n.freezeCard(e);return t.success?{success:!0,canceled:!1,data:t.data}:t.canceled?{success:!1,canceled:!0}:{success:!1,canceled:!1,error:new p({code:m.internal_error,message:t.error})}}catch(e){return{success:!1,canceled:!1,error:new p({code:m.internal_error,message:e instanceof Error?e.message:`Communication error with iframe`})}}},unfreezeCard:async e=>{try{let t=await n.unfreezeCard(e);return t.success?{success:!0,canceled:!1,data:t.data}:t.canceled?{success:!1,canceled:!0}:{success:!1,canceled:!1,error:new p({code:m.internal_error,message:t.error})}}catch(e){return{success:!1,canceled:!1,error:new p({code:m.internal_error,message:e instanceof Error?e.message:`Communication error with iframe`})}}}}:null,[n]),v=s(()=>({"system-messages":{requestMfa:g},mfa:{onDone:u,onCancel:d}}),[g,u,d]),{isLoaded:y,url:b,connection:x,iframeRef:S}=P({renderingContext:{entryPoint:`actions`},methods:v});e.useEffect(()=>{let e=!0;return x&&x.promise.then(t=>{e&&(i(t),o(`Actions iframe child functions loaded`))}),()=>{e=!1}},[x,o]);let C=!y||!n;return e.createElement(H.Provider,{value:{childFunctions:n,actions:_,isLoading:C}},t,b&&e.createElement(F,{src:b,style:{display:`none`},checkOrigin:!1,log:a,ref:S,onLoad:()=>{o(`Actions iframe HTML loaded successfully`)},onError:e=>{o(`Actions iframe failed to load: ${e}. This may indicate network issues or security policy blocking.`)}}),f&&h&&e.createElement(ie,{onClose:d,ariaLabel:`Multi-factor authentication`},e.createElement(re,{mfaId:h.mfaId,destination:h.destination,codeLength:h.codeLength,canResendAfter:h.canResendAfter,...h.operationName&&{operationName:h.operationName},onDone:u,onCancel:d})))}const U=t({isLoading:!1,invalidateToken:()=>{},enableLogging:!1,loggerRef:{current:void 0}}),W=({getToken:t,enableLogging:n,logger:i,children:o})=>{let[c,u]=l(void 0),[d,f]=l(void 0),[h,_]=l(void 0),[v,y]=l(!1),[b,x]=l(void 0),S=g(i),D=r(async()=>{y(!0);try{let e=await t();u(e),x(void 0);let n=E(e),r=new URL(n.path);r.pathname=``,f(r.toString())}catch(e){x(e)}finally{y(!1)}},[t]),O=r(()=>{_(void 0)},[]);a(()=>{h||D()},[h,D]);let k=r(e=>{_(e),u(void 0),x(void 0)},[]),A=s(()=>{if(h&&!d)throw new p({message:`baseUrl is required for long lived tokens`,code:m.unauthorized});let e=h?{token:h,tokenType:C.longLived,baseUrl:d,paramKey:T.accessToken,paramLocation:w.hash}:void 0;return{tokenData:e,isLoading:v,error:b,invalidateToken:O,enableLogging:n??!1,loggerRef:S}},[h,v,b,O,d,n]);return e.createElement(e.Fragment,null,e.createElement(U.Provider,{value:A},e.createElement(oe,null,o)),c&&!h&&e.createElement(z,{oneTimeToken:c,onExchangeComplete:k,enableLogging:n,onExchangeError:x}))},G=()=>i(U);function K(e){let{enableLogging:t}=G();return e===void 0?t:e}function q(e){let t=K(e),{loggerRef:n}=G(),r=B(e=>{b.log(e,{enableLogging:t,logger:n.current??void 0})}),i=B(e=>{b.warn(e,{enableLogging:t,logger:n.current??void 0})}),a=B(e=>{b.error(e,{enableLogging:t,logger:n.current??void 0})});return s(()=>({log:r,warn:i,error:a}),[r,i,a])}function J(t){let{token:n,className:r,enableLogging:i,onError:a,loadingComponent:o,renderingContext:s,methods:c,theme:l,sizeWidth:u}=t,d=K(i),{log:f}=q(i),{isLoaded:p,url:m,tokenData:h,iframeRef:g}=P({oneTimeToken:n,enableLogging:d,onError:a,renderingContext:s,theme:l,methods:c});if(!h||!m)return e.createElement(e.Fragment,null,o||null);let _=s.entryPoint!==`insightsWidget`;return e.createElement(e.Fragment,null,!p&&o,e.createElement(F,{src:m,allow:`clipboard-write`,checkOrigin:!1,style:{width:`1px`,height:`0px`,minWidth:`100%`},className:r,log:d,ref:g,hidden:!p,onLoad:()=>{f(`Main iframe HTML loaded successfully for entry point: ${s.entryPoint}`)},onError:e=>{f(`Main iframe failed to load: ${e}. This may indicate network issues, firewall blocking, or CSP violations.`)},onResized:e=>{if(!_)return;let t=`${parseInt(e.height)+12}px`;e.iframe.style.height=t},sizeWidth:u}))}const Y={bugButton:{position:`fixed`,left:`12px`,bottom:`12px`,margin:`12px`,padding:`4px`,display:`inline-flex`,alignItems:`center`,borderRadius:`9999px`,border:`1px solid transparent`,backgroundColor:`#2563eb`,color:`white`,opacity:.4,boxShadow:`0 1px 3px 0 rgb(0 0 0 / 0.1)`,cursor:`pointer`,zIndex:50,transition:`opacity 0.3s ease-in-out`},bugButtonHover:{backgroundColor:`#1d4ed8`,opacity:1},bugButtonFocus:{outline:`none`,boxShadow:`0 0 0 2px white, 0 0 0 4px #3b82f6`},bugIcon:{width:`20px`,height:`20px`},loadingButton:{cursor:`default`,opacity:1,animation:`pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite`}},X=()=>e.createElement(`svg`,{style:Y.bugIcon,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:`1.5`,stroke:`currentColor`},e.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 12.75c1.148 0 2.278.08 3.383.237 1.037.146 1.866.966 1.866 2.013 0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24.204 24.204 0 0 1 12 12.75Zm0 0c2.883 0 5.647.508 8.207 1.44a23.91 23.91 0 0 1-1.152 6.06M12 12.75c-2.883 0-5.647.508-8.208 1.44.125 2.104.52 4.136 1.153 6.06M12 12.75a2.25 2.25 0 0 0 2.248-2.354M12 12.75a2.25 2.25 0 0 1-2.248-2.354M12 8.25c.995 0 1.971-.08 2.922-.236.403-.066.74-.358.795-.762a3.778 3.778 0 0 0-.399-2.25M12 8.25c-.995 0-1.97-.08-2.922-.236-.402-.066-.74-.358-.795-.762a3.734 3.734 0 0 1 .4-2.253M12 8.25a2.25 2.25 0 0 0-2.248 2.146M12 8.25a2.25 2.25 0 0 1 2.248 2.146M8.683 5a6.032 6.032 0 0 1-1.155-1.002c.07-.63.27-1.222.574-1.747m.581 2.749A3.75 3.75 0 0 1 15.318 5m0 0c.427-.283.815-.62 1.155-.999a4.471 4.471 0 0 0-.575-1.752M4.921 6a24.048 24.048 0 0 0-.392 3.314c1.668.546 3.416.914 5.223 1.082M19.08 6c.205 1.08.337 2.187.392 3.314a23.882 23.882 0 0 1-5.223 1.082`}));function Z({onClick:t,isLoading:n=!1}){let[r,i]=l(!1),[a,o]=l(!1),s={...Y.bugButton,...n&&Y.loadingButton,...!n&&r&&Y.bugButtonHover,...!n&&a&&Y.bugButtonFocus};return n?e.createElement(`div`,{style:s},e.createElement(`style`,null,`
2
2
  @keyframes pulse {
3
3
  0%, 100% {
4
4
  opacity: 1;
@@ -7,5 +7,5 @@
7
7
  opacity: 0.4;
8
8
  }
9
9
  }
10
- `),e.createElement(X,null)):e.createElement(`button`,{id:`dev-tools-button`,onClick:t,type:`button`,style:s,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>o(!0),onBlur:()=>o(!1)},e.createElement(X,null))}const se={panel:{position:`fixed`,bottom:`20px`,left:`20px`,zIndex:50}};function ce(t){let n=`devTools`,r=s(()=>({entryPoint:n}),[n]),[i,a]=l(!1);return e.createElement(`aside`,{"aria-label":`CapitalOS dev tools`},!i&&e.createElement(Z,{onClick:()=>a(!i)}),i&&e.createElement(`div`,{style:se.panel},e.createElement(J,{...t,renderingContext:r,methods:{devTools:{onClose:()=>a(!1)}},enableLogging:!0,sizeWidth:!0,loadingComponent:e.createElement(Z,{isLoading:!0})})))}function Q(t){let n=`cardsApp`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}const le=Q;function ue({cardholder:t,onCreate:n,onDone:r,onCancel:i,...a}){let o=`createCard`,c=s(()=>({entryPoint:o,cardholder:t}),[t]);return e.createElement(J,{...a,renderingContext:c,methods:{createCard:{...n?{onCreate:n}:{},onDone:r,onCancel:i}}})}function de({transactionId:t,onDone:n,onCancel:r,...i}){let a=`createDispute`,o=s(()=>({entryPoint:a,transactionId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{createDispute:{onDone:n,onCancel:r}}})}function fe(t){let n=`billPayApp`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function pe(t){let{onCardCanceled:n,onHideSensitiveDetails:r,...i}=t,a=`cardDetails`,o=s(()=>({entryPoint:a,cardId:t.cardId,cardOnly:t.cardOnly,backOnly:t.backOnly,hideAddress:t.hideAddress}),[a,t.cardId,t.cardOnly,t.backOnly,t.hideAddress]);return e.createElement(J,{...i,renderingContext:o,methods:{cardDetails:{onCardCanceled:n??(()=>{}),onHideSensitiveDetails:r??(()=>{})}}})}function me(t){let n=`accountDetails`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function he(t){let n=`accountActions`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function ge({onClose:t,onChange:n,...r}){let i=`manageBankConnections`,a=s(()=>({entryPoint:i}),[i]);return e.createElement(J,{...r,renderingContext:a,methods:{manageBankConnections:{onClose:t,...n&&{onChange:n}}}})}function _e({onClose:t,...n}){let r=`configureAutoPay`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{configureAutoPay:{onClose:t}}})}function ve({onClose:t,...n}){let r=`policySettings`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{policySettings:{onClose:t}}})}function ye({cardId:t,onClose:n,inlineCardOnFile:r,...i}){let a=`connectToVendors`,o=s(()=>({entryPoint:a,cardId:t,inlineCardOnFile:r}),[a,t,r]);return e.createElement(J,{...i,renderingContext:o,methods:{connectToVendors:{onClose:n}}})}function be({onClose:t,onDone:n,...r}){let i=`connectBankAccounts`,a=s(()=>({entryPoint:i}),[i]);return e.createElement(J,{...r,renderingContext:a,methods:{connectBankAccounts:{onClose:t,onDone:n}}})}function $(t){let n=`insightsDashboard`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function xe(t){let n=`insightsWidget`,{widget:r,hideTitle:i,height:a,width:o}=t,c=s(()=>({entryPoint:n,widget:r,hideTitle:i,height:a,width:o}),[n,r,i,a,o]);return e.createElement(J,{...t,renderingContext:c})}function Se({onDone:t,entryPoint:n,exitPoint:r,allowExitOnNonApproved:i,doneButtonText:a,product:o,...c}){let l=`onboarding`,u=s(()=>a?{"onboarding.doneButton":a,"onboarding.continueButton":a,"activation.successButton":a}:void 0,[a]),d=s(()=>({entryPoint:l,onboardingEntryPoint:n,onboardingExitPoint:r,allowExitOnNonApproved:i,product:o,copy:u}),[l,n,r,i,o,u]);return e.createElement(J,{...c,renderingContext:d,methods:{onboarding:{onDone:t}}})}function Ce({onDone:t,...n}){let r=`makePayment`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{makePayment:{onDone:t}}})}function we({onDone:t,onCancel:n,...r}){let i=`contactSupport`,a=s(()=>({entryPoint:i}),[i]);return e.createElement(J,{...r,renderingContext:a,methods:{contactSupport:{onDone:t,onCancel:n}}})}function Te({onDone:t,...n}){let r=`statements`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{statements:{onDone:t}}})}function Ee({onDone:t,...n}){let r=`legalDocuments`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{legalDocuments:{onDone:t}}})}function De({cardId:t,onDone:n,onClose:r,...i}){let a=`replaceCard`,o=s(()=>({entryPoint:a,cardId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{replaceCard:{onDone:n,onClose:r}}})}function Oe({cardId:t,onDone:n,onClose:r,...i}){let a=`terminateCard`,o=s(()=>({entryPoint:a,cardId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{terminateCard:{onDone:n,onClose:r}}})}function ke(t){let n=`transactions`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function Ae(){let e=i(H);if(!e)throw new p({message:`useActions must be used within a CapitalOsAuthenticationProvider`,code:m.internal_error});let{childFunctions:t,isLoading:n}=e;return{actions:t,isLoading:n}}export{he as AccountActions,me as AccountDetails,le as App,fe as BillPayApp,W as CapitalOsAuthenticationProvider,pe as CardDetails,Q as CardsApp,_e as ConfigureAutoPay,be as ConnectBankAccounts,ye as ConnectToVendors,we as ContactSupport,ce as DevTools,de as DisputeTransaction,$ as InsightsDashboard,xe as InsightsWidget,ue as IssueCard,Ee as LegalDocuments,Ce as MakePayment,ge as ManageBankConnections,Se as Onboarding,ve as PolicySettings,De as ReplaceCard,Te as Statements,Oe as TerminateCard,ke as Transactions,Ae as useActions};
10
+ `),e.createElement(X,null)):e.createElement(`button`,{id:`dev-tools-button`,onClick:t,type:`button`,style:s,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>o(!0),onBlur:()=>o(!1)},e.createElement(X,null))}const se={panel:{position:`fixed`,bottom:`20px`,left:`20px`,zIndex:50}};function ce(t){let n=`devTools`,r=s(()=>({entryPoint:n}),[n]),[i,a]=l(!1);return e.createElement(`aside`,{"aria-label":`CapitalOS dev tools`},!i&&e.createElement(Z,{onClick:()=>a(!i)}),i&&e.createElement(`div`,{style:se.panel},e.createElement(J,{...t,renderingContext:r,methods:{devTools:{onClose:()=>a(!1)}},enableLogging:!0,sizeWidth:!0,loadingComponent:e.createElement(Z,{isLoading:!0})})))}function Q(t){let n=`cardsApp`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}const le=Q;function ue({cardholder:t,onCreate:n,onDone:r,onCancel:i,...a}){let o=`createCard`,c=s(()=>({entryPoint:o,cardholder:t}),[t]);return e.createElement(J,{...a,renderingContext:c,methods:{createCard:{...n?{onCreate:n}:{},onDone:r,onCancel:i}}})}function de({transactionId:t,onDone:n,onCancel:r,...i}){let a=`createDispute`,o=s(()=>({entryPoint:a,transactionId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{createDispute:{onDone:n,onCancel:r}}})}function fe(t){let n=`billPayApp`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function pe(t){let{onCardCanceled:n,onHideSensitiveDetails:r,...i}=t,a=`cardDetails`,o=s(()=>({entryPoint:a,cardId:t.cardId,cardOnly:t.cardOnly,backOnly:t.backOnly,hideAddress:t.hideAddress}),[a,t.cardId,t.cardOnly,t.backOnly,t.hideAddress]);return e.createElement(J,{...i,renderingContext:o,methods:{cardDetails:{onCardCanceled:n??(()=>{}),onHideSensitiveDetails:r??(()=>{})}}})}function me(t){let n=`accountDetails`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function he(t){let n=`accountActions`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function ge({onClose:t,onChange:n,hideTopLevelBackButton:r,hideTopLevelHeader:i,...a}){let o=`manageBankConnections`,c=s(()=>({entryPoint:o,hideTopLevelBackButton:r,hideTopLevelHeader:i}),[o,r,i]);return e.createElement(J,{...a,renderingContext:c,methods:{manageBankConnections:{onClose:t,...n&&{onChange:n}}}})}function _e({onClose:t,...n}){let r=`configureAutoPay`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{configureAutoPay:{onClose:t}}})}function ve({onClose:t,...n}){let r=`policySettings`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{policySettings:{onClose:t}}})}function ye({cardId:t,onClose:n,inlineCardOnFile:r,...i}){let a=`connectToVendors`,o=s(()=>({entryPoint:a,cardId:t,inlineCardOnFile:r}),[a,t,r]);return e.createElement(J,{...i,renderingContext:o,methods:{connectToVendors:{onClose:n}}})}function be({onClose:t,onDone:n,...r}){let i=`connectBankAccounts`,a=s(()=>({entryPoint:i}),[i]);return e.createElement(J,{...r,renderingContext:a,methods:{connectBankAccounts:{onClose:t,onDone:n}}})}function $(t){let n=`insightsDashboard`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function xe(t){let n=`insightsWidget`,{widget:r,hideTitle:i,height:a,width:o}=t,c=s(()=>({entryPoint:n,widget:r,hideTitle:i,height:a,width:o}),[n,r,i,a,o]);return e.createElement(J,{...t,renderingContext:c})}function Se({onDone:t,entryPoint:n,exitPoint:r,allowExitOnNonApproved:i,doneButtonText:a,product:o,...c}){let l=`onboarding`,u=s(()=>a?{"onboarding.doneButton":a,"onboarding.continueButton":a,"activation.successButton":a}:void 0,[a]),d=s(()=>({entryPoint:l,onboardingEntryPoint:n,onboardingExitPoint:r,allowExitOnNonApproved:i,product:o,copy:u}),[l,n,r,i,o,u]);return e.createElement(J,{...c,renderingContext:d,methods:{onboarding:{onDone:t}}})}function Ce({onDone:t,...n}){let r=`makePayment`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{makePayment:{onDone:t}}})}function we({onDone:t,onCancel:n,...r}){let i=`contactSupport`,a=s(()=>({entryPoint:i}),[i]);return e.createElement(J,{...r,renderingContext:a,methods:{contactSupport:{onDone:t,onCancel:n}}})}function Te({onDone:t,...n}){let r=`statements`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{statements:{onDone:t}}})}function Ee({onDone:t,...n}){let r=`legalDocuments`,i=s(()=>({entryPoint:r}),[r]);return e.createElement(J,{...n,renderingContext:i,methods:{legalDocuments:{onDone:t}}})}function De({cardId:t,onDone:n,onClose:r,...i}){let a=`replaceCard`,o=s(()=>({entryPoint:a,cardId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{replaceCard:{onDone:n,onClose:r}}})}function Oe({cardId:t,onDone:n,onClose:r,...i}){let a=`terminateCard`,o=s(()=>({entryPoint:a,cardId:t}),[t]);return e.createElement(J,{...i,renderingContext:o,methods:{terminateCard:{onDone:n,onClose:r}}})}function ke(t){let n=`transactions`,r=s(()=>({entryPoint:n}),[n]);return e.createElement(J,{...t,renderingContext:r})}function Ae(){let e=i(H);if(!e)throw new p({message:`useActions must be used within a CapitalOsAuthenticationProvider`,code:m.internal_error});let{childFunctions:t,isLoading:n}=e;return{actions:t,isLoading:n}}export{he as AccountActions,me as AccountDetails,le as App,fe as BillPayApp,W as CapitalOsAuthenticationProvider,pe as CardDetails,Q as CardsApp,_e as ConfigureAutoPay,be as ConnectBankAccounts,ye as ConnectToVendors,we as ContactSupport,ce as DevTools,de as DisputeTransaction,$ as InsightsDashboard,xe as InsightsWidget,ue as IssueCard,Ee as LegalDocuments,Ce as MakePayment,ge as ManageBankConnections,Se as Onboarding,ve as PolicySettings,De as ReplaceCard,Te as Statements,Oe as TerminateCard,ke as Transactions,Ae as useActions};
11
11
  //# sourceMappingURL=index.mjs.map