@stridge/kit 0.1.0-alpha.35 → 0.1.0-alpha.37

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 (27) hide show
  1. package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
  2. package/dist/drivers/stridge/createStridgeWithdrawDriver.js +1 -1
  3. package/dist/drivers/stridge/internal/supportedChains.js +1 -0
  4. package/dist/flows/deposit/driver/transformers/startToAddressesPayload.js +1 -1
  5. package/dist/flows/shared/transformers/testnets.js +1 -0
  6. package/dist/package.js +1 -1
  7. package/dist/shared/merchant-link/MerchantLink.d.ts +1 -0
  8. package/dist/shared/merchant-link/MerchantLink.js +1 -0
  9. package/dist/shared/merchant-link/MerchantLinkButton.js +1 -0
  10. package/dist/shared/merchant-link/index.js +1 -0
  11. package/dist/shared/{terms/resolveTerms.js → merchant-link/resolveMerchantLink.js} +1 -1
  12. package/dist/shared/support/SupportLink.d.ts +1 -1
  13. package/dist/shared/support/SupportLink.js +1 -1
  14. package/dist/shared/support/index.js +1 -1
  15. package/dist/shared/terms/TermsLink.d.ts +1 -1
  16. package/dist/shared/terms/TermsLink.js +1 -1
  17. package/dist/shared/terms/index.js +1 -1
  18. package/dist/shared/ui/ExternalLink/ExternalLink.js +1 -1
  19. package/dist/stridge/StridgeProvider.js +1 -1
  20. package/package.json +1 -1
  21. package/dist/shared/support/SupportButton.js +0 -1
  22. package/dist/shared/support/resolveSupport.js +0 -1
  23. package/dist/shared/terms/TermsButton.d.ts +0 -1
  24. package/dist/shared/terms/TermsButton.js +0 -1
  25. package/dist/shared/terms/resolveTerms.d.ts +0 -1
  26. /package/dist/shared/{support/SupportButton.d.ts → merchant-link/MerchantLinkButton.d.ts} +0 -0
  27. /package/dist/shared/{support/resolveSupport.d.ts → merchant-link/index.d.ts} +0 -0
@@ -1 +1 @@
1
- import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{formatUsd as n}from"../../shared/format/formatUsd.js";import{balanceToBalancesPayload as r,buildRoutableAllowlist as i}from"../../flows/deposit/driver/transformers/balanceToBalancesPayload.js";import{quoteToPayload as a}from"../../flows/deposit/driver/transformers/quoteToPayload.js";import{settlementToPayload as o}from"../../flows/deposit/driver/transformers/settlementToPayload.js";import{startToAddressesPayload as s}from"../../flows/deposit/driver/transformers/startToAddressesPayload.js";import{startToBrandPayload as c}from"../../flows/deposit/driver/transformers/startToBrandPayload.js";import{startToTargetPayload as l}from"../../flows/deposit/driver/transformers/startToTargetPayload.js";import{walletAddressToWalletPayload as u}from"../../flows/deposit/driver/transformers/walletAddressToWalletPayload.js";import{defaultBlockExplorers as d}from"../../shared/utils/explorers.js";import{createEntityStore as f}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as p,isStablecoinSymbol as m,toBaseUnits as h}from"./internal/encoding.js";import{resolveSdkEnv as g}from"./internal/env.js";import{buildKitMetadata as _}from"./internal/metadata.js";import{pollOnce as v}from"./internal/pollOnce.js";import{buildErc20OrNativeStep as y,signAndConfirm as ee}from"./internal/signAndConfirm.js";import{startPoll as b}from"./poll.js";import{createStridgeRpc as x}from"./rpc.js";import{createWagmiSigner as te}from"./wagmiSigner.js";import{createApiClient as S}from"@stridge/sdk";function C(C){let O=S({projectKey:C.projectKey,env:g(C.environment)}),k=C.pollIntervals??{},A=k.detectionMs??2e3,j=k.processingMs??2e3,M=k.terminalMs??1e4,N=k.balancesMs??6e4,P=C.minAmountUsd,F=C.maxAmountUsd,I=C.getI18n??(()=>e),L={...d(),...C.explorers??{}},R=C.destination.network_id,z=C.destination.asset_symbol,B=C.destination.to_address??C.userAddress,V=C.wagmiConfig?te({wagmiConfig:C.wagmiConfig}):void 0,H=C.rpc??x(),U={address:C.userAddress},W=f({brand:{status:`loading`},target:{status:`loading`},addresses:{status:`loading`},balances:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:u(U),raw:U,response:U}}),G,K,q,J;function Y(){if(K)return q??=i(K),q}let X=(async()=>{try{let[e,t]=await Promise.all([O.gateway.start({owner:C.userAddress,destination:{network_id:R,to_address:B,asset_symbol:z},metadata:_({flow:`deposit`,...C.metadata?{hostMetadata:C.metadata}:{},extras:{destination:{networkId:R,assetSymbol:z}}})}),O.uda.supportedAssets().catch(()=>null)]);G=e;let n=e.metadata?.brand_name;typeof n==`string`&&n.trim().length>0&&(J=n.trim());let r=I();if(t&&(K=t,q=void 0),W.update({brand:{status:`ready`,payload:c(e.metadata),raw:e.metadata,response:e},addresses:{status:`ready`,payload:s(e.deposit_addresses,{i18n:r,explorers:L,...t?{chainLogos:T(t)}:{},...t?{minAmountUsdByEip155Id:D(t,P),nativeAssetByEip155Id:E(t)}:{}}),raw:e.deposit_addresses,response:e}}),t){let e=l(t,{i18n:r,networkId:R,assetSymbol:z,minAmountUsd:P,...F===void 0?{}:{maxAmountUsd:F}}),n=t.assets.find(e=>String(e.network_id)===R);e&&n?W.update({target:{status:`ready`,payload:e,raw:n,response:t}}):W.update({target:{status:`error`,error:Error(`Destination not found in supportedAssets catalog.`)}})}else W.update({target:{status:`error`,error:Error(`supportedAssets fetch failed.`)}})}catch(e){let t=e instanceof Error?e:Error(String(e));W.update({brand:{status:`error`,error:t},target:{status:`error`,error:t},addresses:{status:`error`,error:t}})}})(),Z=!1,ne=(async()=>{try{let e=await O.balance.onchain(C.userAddress,{includeSpam:!1,includeZero:!1});await X;let t=Y();if(!t)return null;let n=r(e,{i18n:I(),routable:t,minAmountUsd:P,...C.resolveTokenIcon?{resolveTokenIcon:C.resolveTokenIcon}:{}});return W.update({balances:{status:`ready`,payload:n,raw:e,response:e},wallet:Q(n,I())}),e}catch(e){let t=e instanceof Error?e:Error(String(e));return W.update({balances:{status:`error`,error:t}}),null}})();function Q(e,t){let r=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{status:`ready`,payload:{...u(U),balanceTotalUsd:{value:r,formatted:n(r,t)}},raw:U,response:U}}return{getSnapshot(){return W.getSnapshot()},subscribe(e){return W.subscribe(e)},async requestQuote(e,t){W.update({quote:{status:`loading`}});let n=G;if(!n){W.update({quote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let r=e.sourceChainId,i=e.sourceIsNative?p:e.sourceTokenAddress,o=h(e.amount,e.sourceTokenDecimals),s=await O.uda.quote({fromNetworkId:r,fromAsset:i,toNetworkId:Number(n.destination.eip155_id),toAsset:n.destination.asset_address||`0x0000000000000000000000000000000000000000`,amount:o,fromAddress:C.userAddress,toAddress:B},{signal:t});if(t.aborted)return;let c=I(),l={chainId:r,networkName:w(r),eip155Id:String(r),symbol:e.sourceTokenSymbol,decimals:e.sourceTokenDecimals,address:e.sourceTokenAddress,isNative:e.sourceIsNative},u={chainId:Number(n.destination.eip155_id),networkName:n.destination.network_name,eip155Id:n.destination.eip155_id,symbol:n.destination.asset_symbol,decimals:n.destination.asset_decimals,address:n.destination.asset_address,isNative:!n.destination.asset_address},d=m(n.destination.asset_symbol)?1:void 0,f=a(s,{i18n:c,sendSide:l,receiveSide:u,sourceAmount:e.amount,now:Date.now(),...e.sourcePriceUsd===void 0?{}:{sendPriceUsd:e.sourcePriceUsd},...d===void 0?{}:{receivePriceUsd:d}});W.update({quote:{status:`ready`,payload:f,raw:s,response:s}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));W.update({quote:{status:`error`,error:n}})}},async submitDeposit(e,t){if(!V)throw Error(`Connect a wallet to sign and submit the deposit.`);let n=G;if(!n)throw Error(`gateway/start not yet resolved.`);let r=n.deposit_addresses.find(t=>Number(t.eip155_id)===Number(e.sourceChainId));if(!r)throw Error(`No Stridge deposit address provisioned on chain ${e.sourceChainId}. Pick a supported source chain.`);return ee({signer:V,rpc:H,step:y({chainId:e.sourceChainId,from:C.userAddress,udaDepositAddress:r.address,amount:e.amount,decimals:e.sourceTokenDecimals,isNative:e.sourceIsNative,...e.sourceIsNative?{}:{sourceTokenAddress:e.sourceTokenAddress}}),signal:t,explorers:L,...C.receiptConfirmations===void 0?{}:{receiptConfirmations:C.receiptConfirmations},...C.receiptPollingIntervalMs===void 0?{}:{receiptPollingIntervalMs:C.receiptPollingIntervalMs}})},watchBalances(e,t,n){b({signal:n,fetch:async e=>{if(!Z)return Z=!0,ne;try{let t=await O.balance.onchain(C.userAddress,{signal:e,includeSpam:!1,includeZero:!1});await X;let n=Y();if(!n)return null;let i=r(t,{i18n:I(),routable:n,minAmountUsd:P,...C.resolveTokenIcon?{resolveTokenIcon:C.resolveTokenIcon}:{}});return W.update({balances:{status:`ready`,payload:i,raw:t,response:t},wallet:Q(i,I())}),t}catch{return null}},listener:()=>{t(W.getSnapshot().balances)},nextIntervalMs:()=>N})},watchSourceTx(e,t,n){let r=new Set,i={current:!1},a=!1;b({signal:n,fetch:e=>v(O,C.userAddress,$(),e),listener:e=>{if(a||!e)return;let n=e.settlements??[];if(!i.current){for(let e of n)r.add(e.id);i.current=!0;return}let o=n.find(e=>!r.has(e.id));if(!o)return;a=!0;let s=Number(o.from?.eip155_id??`0`);t({hash:o.from?.tx_id??``,...L[s]&&o.from?.tx_id?{explorerUrl:`${L[s].replace(/\/+$/,``)}/tx/${o.from.tx_id}`}:{}})},nextIntervalMs:()=>a?0:A})},watchSettlement(e,n,r){let i=e=>v(O,C.userAddress,$(),e),a=!1;b({signal:r,fetch:i,listener:r=>{if(!r)return;let i=t(r,{txHash:e.tx.hash});if(!i)return;let s=o(i,r,{i18n:I(),sourceWallet:{name:`Wallet`,address:C.userAddress},explorers:L,...J?{brandName:J}:{}});s.kind!==`pending`&&(a=!0);let c={status:`ready`,payload:s,raw:i,response:r};W.update({settlement:c}),n(c)},nextIntervalMs:()=>a?M:j})},async fetchActiveSettlement(e,n){let r=await v(O,C.userAddress,$(),n);if(!r)return null;let i=t(r);if(!i)return null;let a=o(i,r,{i18n:I(),sourceWallet:{name:`Wallet`,address:C.userAddress},explorers:L,...J?{brandName:J}:{}});return a.kind===`pending`?{payload:a,raw:i,response:r}:null}};function $(){return{network_id:R,asset_symbol:z,to_address:B}}}function w(e){switch(e){case 1:return`Ethereum`;case 56:return`BSC`;case 137:return`Polygon`;case 42161:return`Arbitrum`;case 10:return`Optimism`;case 8453:return`Base`;default:return`Chain ${e}`}}function T(e){let t={};for(let n of e.assets){let e=String(n.eip155_id),r=n.native_currency?.logo;r&&(t[e]=r)}return t}function E(e){let t={};for(let n of e.assets){let e=n.native_currency;if(!e?.symbol)continue;let r=String(n.eip155_id);t[r]={symbol:e.symbol,address:``,decimals:typeof e.decimals==`number`?e.decimals:18,isNative:!0,...e.logo?{assetLogoUrl:e.logo}:{}}}return t}function D(e,t){let n={};for(let r of e.assets){let e=String(r.eip155_id),i=r.native_currency?.min_deposit_usd,a=typeof i==`string`&&i.trim().length>0?Number.parseFloat(i):NaN;n[e]=Number.isFinite(a)?a:t}return n}export{C as createStridgeDepositDriver};
1
+ import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{formatUsd as n}from"../../shared/format/formatUsd.js";import{balanceToBalancesPayload as r,buildRoutableAllowlist as i}from"../../flows/deposit/driver/transformers/balanceToBalancesPayload.js";import{quoteToPayload as a}from"../../flows/deposit/driver/transformers/quoteToPayload.js";import{settlementToPayload as o}from"../../flows/deposit/driver/transformers/settlementToPayload.js";import{startToAddressesPayload as s}from"../../flows/deposit/driver/transformers/startToAddressesPayload.js";import{startToBrandPayload as c}from"../../flows/deposit/driver/transformers/startToBrandPayload.js";import{startToTargetPayload as l}from"../../flows/deposit/driver/transformers/startToTargetPayload.js";import{walletAddressToWalletPayload as u}from"../../flows/deposit/driver/transformers/walletAddressToWalletPayload.js";import{defaultBlockExplorers as d}from"../../shared/utils/explorers.js";import{createEntityStore as f}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as p,isStablecoinSymbol as m,toBaseUnits as h}from"./internal/encoding.js";import{resolveSdkEnv as g}from"./internal/env.js";import{buildKitMetadata as _}from"./internal/metadata.js";import{pollOnce as v}from"./internal/pollOnce.js";import{buildErc20OrNativeStep as y,signAndConfirm as b}from"./internal/signAndConfirm.js";import{buildEvmChainsParam as x}from"./internal/supportedChains.js";import{startPoll as S}from"./poll.js";import{createStridgeRpc as ee}from"./rpc.js";import{createWagmiSigner as te}from"./wagmiSigner.js";import{createApiClient as ne}from"@stridge/sdk";function C(C){let O=ne({projectKey:C.projectKey,env:g(C.environment)}),k=C.pollIntervals??{},A=k.detectionMs??2e3,j=k.processingMs??2e3,M=k.terminalMs??1e4,N=k.balancesMs??6e4,P=C.minAmountUsd,F=C.maxAmountUsd,I=C.getI18n??(()=>e),L={...d(),...C.explorers??{}},R=C.destination.network_id,z=C.destination.asset_symbol,B=C.destination.to_address??C.userAddress,V=C.wagmiConfig?te({wagmiConfig:C.wagmiConfig}):void 0,H=C.rpc??ee(),U={address:C.userAddress},W=f({brand:{status:`loading`},target:{status:`loading`},addresses:{status:`loading`},balances:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:u(U),raw:U,response:U}}),G,K,q,J;function Y(){if(K)return q??=i(K),q}let X=(async()=>{try{let[e,t]=await Promise.all([O.gateway.start({owner:C.userAddress,destination:{network_id:R,to_address:B,asset_symbol:z},metadata:_({flow:`deposit`,...C.metadata?{hostMetadata:C.metadata}:{},extras:{destination:{networkId:R,assetSymbol:z}}})}),O.uda.supportedAssets().catch(()=>null)]);G=e;let n=e.metadata?.brand_name;typeof n==`string`&&n.trim().length>0&&(J=n.trim());let r=I();if(t&&(K=t,q=void 0),W.update({brand:{status:`ready`,payload:c(e.metadata),raw:e.metadata,response:e},addresses:{status:`ready`,payload:s(e.deposit_addresses,{i18n:r,explorers:L,...t?{chainLogos:T(t)}:{},...t?{minAmountUsdByEip155Id:D(t,P),nativeAssetByEip155Id:E(t)}:{}}),raw:e.deposit_addresses,response:e}}),t){let e=l(t,{i18n:r,networkId:R,assetSymbol:z,minAmountUsd:P,...F===void 0?{}:{maxAmountUsd:F}}),n=t.assets.find(e=>String(e.network_id)===R);e&&n?W.update({target:{status:`ready`,payload:e,raw:n,response:t}}):W.update({target:{status:`error`,error:Error(`Destination not found in supportedAssets catalog.`)}})}else W.update({target:{status:`error`,error:Error(`supportedAssets fetch failed.`)}})}catch(e){let t=e instanceof Error?e:Error(String(e));W.update({brand:{status:`error`,error:t},target:{status:`error`,error:t},addresses:{status:`error`,error:t}})}})(),Z=!1,re=(async()=>{try{await X;let e=x(K),t=await O.balance.onchain(C.userAddress,{includeSpam:!1,includeZero:!1,...e?{chains:e}:{}}),n=Y();if(!n)return null;let i=r(t,{i18n:I(),routable:n,minAmountUsd:P,...C.resolveTokenIcon?{resolveTokenIcon:C.resolveTokenIcon}:{}});return W.update({balances:{status:`ready`,payload:i,raw:t,response:t},wallet:Q(i,I())}),t}catch(e){let t=e instanceof Error?e:Error(String(e));return W.update({balances:{status:`error`,error:t}}),null}})();function Q(e,t){let r=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{status:`ready`,payload:{...u(U),balanceTotalUsd:{value:r,formatted:n(r,t)}},raw:U,response:U}}return{getSnapshot(){return W.getSnapshot()},subscribe(e){return W.subscribe(e)},async requestQuote(e,t){W.update({quote:{status:`loading`}});let n=G;if(!n){W.update({quote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let r=e.sourceChainId,i=e.sourceIsNative?p:e.sourceTokenAddress,o=h(e.amount,e.sourceTokenDecimals),s=await O.uda.quote({fromNetworkId:r,fromAsset:i,toNetworkId:Number(n.destination.eip155_id),toAsset:n.destination.asset_address||`0x0000000000000000000000000000000000000000`,amount:o,fromAddress:C.userAddress,toAddress:B},{signal:t});if(t.aborted)return;let c=I(),l={chainId:r,networkName:w(r),eip155Id:String(r),symbol:e.sourceTokenSymbol,decimals:e.sourceTokenDecimals,address:e.sourceTokenAddress,isNative:e.sourceIsNative},u={chainId:Number(n.destination.eip155_id),networkName:n.destination.network_name,eip155Id:n.destination.eip155_id,symbol:n.destination.asset_symbol,decimals:n.destination.asset_decimals,address:n.destination.asset_address,isNative:!n.destination.asset_address},d=m(n.destination.asset_symbol)?1:void 0,f=a(s,{i18n:c,sendSide:l,receiveSide:u,sourceAmount:e.amount,now:Date.now(),...e.sourcePriceUsd===void 0?{}:{sendPriceUsd:e.sourcePriceUsd},...d===void 0?{}:{receivePriceUsd:d}});W.update({quote:{status:`ready`,payload:f,raw:s,response:s}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));W.update({quote:{status:`error`,error:n}})}},async submitDeposit(e,t){if(!V)throw Error(`Connect a wallet to sign and submit the deposit.`);let n=G;if(!n)throw Error(`gateway/start not yet resolved.`);let r=n.deposit_addresses.find(t=>Number(t.eip155_id)===Number(e.sourceChainId));if(!r)throw Error(`No Stridge deposit address provisioned on chain ${e.sourceChainId}. Pick a supported source chain.`);return b({signer:V,rpc:H,step:y({chainId:e.sourceChainId,from:C.userAddress,udaDepositAddress:r.address,amount:e.amount,decimals:e.sourceTokenDecimals,isNative:e.sourceIsNative,...e.sourceIsNative?{}:{sourceTokenAddress:e.sourceTokenAddress}}),signal:t,explorers:L,...C.receiptConfirmations===void 0?{}:{receiptConfirmations:C.receiptConfirmations},...C.receiptPollingIntervalMs===void 0?{}:{receiptPollingIntervalMs:C.receiptPollingIntervalMs}})},watchBalances(e,t,n){S({signal:n,fetch:async e=>{if(!Z)return Z=!0,re;try{await X;let t=x(K),n=await O.balance.onchain(C.userAddress,{signal:e,includeSpam:!1,includeZero:!1,...t?{chains:t}:{}}),i=Y();if(!i)return null;let a=r(n,{i18n:I(),routable:i,minAmountUsd:P,...C.resolveTokenIcon?{resolveTokenIcon:C.resolveTokenIcon}:{}});return W.update({balances:{status:`ready`,payload:a,raw:n,response:n},wallet:Q(a,I())}),n}catch{return null}},listener:()=>{t(W.getSnapshot().balances)},nextIntervalMs:()=>N})},watchSourceTx(e,t,n){let r=new Set,i={current:!1},a=!1;S({signal:n,fetch:e=>v(O,C.userAddress,$(),e),listener:e=>{if(a||!e)return;let n=e.settlements??[];if(!i.current){for(let e of n)r.add(e.id);i.current=!0;return}let o=n.find(e=>!r.has(e.id));if(!o)return;a=!0;let s=Number(o.from?.eip155_id??`0`);t({hash:o.from?.tx_id??``,...L[s]&&o.from?.tx_id?{explorerUrl:`${L[s].replace(/\/+$/,``)}/tx/${o.from.tx_id}`}:{}})},nextIntervalMs:()=>a?0:A})},watchSettlement(e,n,r){let i=e=>v(O,C.userAddress,$(),e),a=!1;S({signal:r,fetch:i,listener:r=>{if(!r)return;let i=t(r,{txHash:e.tx.hash});if(!i)return;let s=o(i,r,{i18n:I(),sourceWallet:{name:`Wallet`,address:C.userAddress},explorers:L,...J?{brandName:J}:{}});s.kind!==`pending`&&(a=!0);let c={status:`ready`,payload:s,raw:i,response:r};W.update({settlement:c}),n(c)},nextIntervalMs:()=>a?M:j})},async fetchActiveSettlement(e,n){let r=await v(O,C.userAddress,$(),n);if(!r)return null;let i=t(r);if(!i)return null;let a=o(i,r,{i18n:I(),sourceWallet:{name:`Wallet`,address:C.userAddress},explorers:L,...J?{brandName:J}:{}});return a.kind===`pending`?{payload:a,raw:i,response:r}:null}};function $(){return{network_id:R,asset_symbol:z,to_address:B}}}function w(e){switch(e){case 1:return`Ethereum`;case 56:return`BSC`;case 137:return`Polygon`;case 42161:return`Arbitrum`;case 10:return`Optimism`;case 8453:return`Base`;default:return`Chain ${e}`}}function T(e){let t={};for(let n of e.assets){let e=String(n.eip155_id),r=n.native_currency?.logo;r&&(t[e]=r)}return t}function E(e){let t={};for(let n of e.assets){let e=n.native_currency;if(!e?.symbol)continue;let r=String(n.eip155_id);t[r]={symbol:e.symbol,address:``,decimals:typeof e.decimals==`number`?e.decimals:18,isNative:!0,...e.logo?{assetLogoUrl:e.logo}:{}}}return t}function D(e,t){let n={};for(let r of e.assets){let e=String(r.eip155_id),i=r.native_currency?.min_deposit_usd,a=typeof i==`string`&&i.trim().length>0?Number.parseFloat(i):NaN;n[e]=Number.isFinite(a)?a:t}return n}export{C as createStridgeDepositDriver};
@@ -1 +1 @@
1
- "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{formatUsd as n}from"../../shared/format/formatUsd.js";import{defaultBlockExplorers as r}from"../../shared/utils/explorers.js";import{createEntityStore as i}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as a,isStablecoinSymbol as o,toBaseUnits as s}from"./internal/encoding.js";import{resolveSdkEnv as c}from"./internal/env.js";import{buildKitMetadata as l}from"./internal/metadata.js";import{pollOnce as u}from"./internal/pollOnce.js";import{startPoll as d}from"./poll.js";import{balanceToWithdrawableBalancesPayload as f}from"../../flows/withdraw/driver/transformers/balanceToWithdrawableBalancesPayload.js";import{quoteToWithdrawalPayload as p}from"../../flows/withdraw/driver/transformers/quoteToWithdrawalPayload.js";import{settlementToWithdrawalPayload as m}from"../../flows/withdraw/driver/transformers/settlementToWithdrawalPayload.js";import{supportedAssetsToReceiveOptionsPayload as h}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{createApiClient as g}from"@stridge/sdk";function _(_){let v=g({projectKey:_.projectKey,env:c(_.environment)}),y=_.pollIntervals??{},b=y.processingMs??2e3,x=y.terminalMs??1e4,S=y.balancesMs??6e4,C=_.getI18n??(()=>e),w={...r(),..._.explorers??{}},T=C(),E=i({withdrawableBalances:{status:`loading`},receiveOptions:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`},..._.minAmountUsd===void 0?{}:{minAmountUsd:{value:_.minAmountUsd,formatted:n(_.minAmountUsd,T)}},..._.maxAmountUsd===void 0?{}:{maxAmountUsd:{value:_.maxAmountUsd,formatted:n(_.maxAmountUsd,T)}}}),D,O,k;function A(e){let t=e.assets.find(e=>e.network_id===_.currency.networkId);if(!t)return;let n=_.currency.assetSymbol.toUpperCase(),r=t.native_currency?.symbol?.toUpperCase()===n?t.native_currency:void 0,i=t.assets.find(e=>e.symbol?.toUpperCase()===n),a={networkId:t.network_id,eip155Id:t.eip155_id,networkName:t.network_name,...t.native_currency?.logo?{chainLogoUrl:t.native_currency.logo}:{},decimals:i?.decimals??r?.decimals??18,address:i?.address??``,isNative:!i&&!!r,...i?.logo?{assetLogoUrl:i.logo}:r?.logo?{assetLogoUrl:r.logo}:{}};return i||r?a:void 0}function j(e){let t=C(),n=O,r=f(e,{i18n:t,networkId:_.currency.networkId,assetSymbol:_.currency.assetSymbol,...n?{fallbackMeta:{decimals:n.decimals,address:n.address,isNative:n.isNative,eip155Id:String(n.eip155Id),networkName:n.networkName,...n.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{},...n.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{}}}:{}});E.update({withdrawableBalances:{status:`ready`,payload:r,raw:e,response:e}})}let M=(async()=>{try{let[e,t]=await Promise.all([v.uda.supportedAssets(),v.balance.onchain(_.userAddress,{includeSpam:!1,includeZero:!1}).catch(()=>null)]);D=e,O=A(e);let n=h(e);E.update({receiveOptions:{status:`ready`,payload:n,raw:e.assets,response:e}}),t?j(t):O&&j({wallet_address:_.userAddress,fetched_at:new Date().toISOString(),total_usd:`0`,chains:[]})}catch(e){let t=e instanceof Error?e:Error(String(e));E.update({receiveOptions:{status:`error`,error:t}})}})();function N(){return l({flow:`withdraw`,..._.metadata?{hostMetadata:_.metadata}:{},extras:{source:{networkId:_.currency.networkId,assetSymbol:_.currency.assetSymbol}}})}function P(e,t){if(!D)return;let n=D.assets.find(t=>t.eip155_id===e);if(!n)return;let r=t.toUpperCase(),i=n.native_currency?.symbol?.toUpperCase()===r?n.native_currency:void 0,a=n.assets.find(e=>e.symbol?.toUpperCase()===r);if(!(!i&&!a))return{chainId:n.eip155_id,symbol:a?.symbol??i?.symbol??t,decimals:a?.decimals??i?.decimals??18,address:a?.address??``,isNative:!a&&!!i,...a?.logo?{assetLogoUrl:a.logo}:i?.logo?{assetLogoUrl:i.logo}:{},networkId:n.network_id,networkName:n.network_name,...i?.logo?{chainLogoUrl:i.logo}:{}}}function F(e){let t=E.getSnapshot().receiveOptions;if(!(t.status!==`ready`&&t.status!==`stale`))return t.payload.find(t=>t.eip155Id===e)}return{getSnapshot(){return E.getSnapshot()},subscribe(e){return E.subscribe(e)},async requestQuote(e,t){E.update({quote:{status:`loading`}});try{if(await M,t.aborted)return;let n=O;if(!n)throw Error(`Stridge withdraw driver: source currency ${_.currency.assetSymbol} not found on network ${_.currency.networkId} in supportedAssets.`);let r=P(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=s(e.amount,n.decimals),c=await v.uda.quote({fromNetworkId:n.eip155Id,fromAsset:n.isNative?a:n.address,toNetworkId:r.chainId,toAsset:r.isNative?a:r.address,amount:i,fromAddress:_.userAddress,toAddress:e.recipientAddress},{signal:t});if(t.aborted)return;let l=o(_.currency.assetSymbol)?1:void 0,u=o(r.symbol)?1:void 0,d=p(c,{i18n:C(),receiveSide:r,sourceAmount:e.amount,sendDecimals:n.decimals,sendSymbol:_.currency.assetSymbol,now:Date.now(),...l===void 0?{}:{sendPriceUsd:l},...u===void 0?{}:{receivePriceUsd:u}});E.update({quote:{status:`ready`,payload:d,raw:c,response:c}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));E.update({quote:{status:`error`,error:n}})}},async prepareWithdrawal(e,t){if(await M,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=O;if(!n)throw Error(`Stridge withdraw driver: source currency ${_.currency.assetSymbol} not found on network ${_.currency.networkId} in supportedAssets.`);let r=P(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=await v.gateway.start({owner:_.userAddress,destination:{network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},metadata:N()},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let a=i.deposit_addresses.find(e=>Number(e.eip155_id)===n.eip155Id);if(!a)throw Error(`Stridge withdraw driver: no UDA deposit address provisioned on chain ${n.eip155Id} for the brand currency. Check that supportedAssets advertises this chain.`);return k={network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},{depositTarget:{address:a.address,chainId:n.eip155Id,tokenSymbol:_.currency.assetSymbol,tokenAddress:n.isNative?``:n.address,tokenDecimals:n.decimals,isNative:n.isNative,amount:e.amount},correlation:{owner:_.userAddress}}},watchSettlement(e,n,r){let i=e=>u(v,_.userAddress,k,e),a=!1;d({signal:r,fetch:i,listener:r=>{if(!r)return;let i=O?s(e.form.amount,O.decimals).toString():void 0,o=e.tx?.hash?t(r,{txHash:e.tx.hash}):t(r,{bestMatch:{destination:{chainId:e.form.receiveChainId,tokenSymbol:e.form.receiveTokenSymbol,recipientAddress:e.form.recipientAddress},submittedAt:e.submittedAt,...i?{sourceAmountBaseUnits:i}:{}}});if(!o)return;let c=C(),l=F(Number(r.destination.eip155_id)),u=l?.tokens.find(e=>e.symbol===r.destination.asset_symbol),d={...l?.chainLogoUrl?{chainLogoUrl:l.chainLogoUrl}:{},...u?.assetLogoUrl?{assetLogoUrl:u.assetLogoUrl}:{},...l?.networkName?{networkName:l.networkName}:{}},f=m(o,r,{i18n:c,explorers:w,...Object.keys(d).length>0?{receiveAssetEnrichment:d}:{},...u?.decimals===void 0?{}:{receiveAssetDecimals:u.decimals}});f.kind!==`pending`&&(a=!0);let p={status:`ready`,payload:f,raw:o,response:r};E.update({settlement:p}),n(p)},nextIntervalMs:()=>a?x:b})},watchWithdrawableBalances(e,t,n){d({signal:n,fetch:async e=>{try{return await M,e.aborted?null:await v.balance.onchain(_.userAddress,{signal:e,includeSpam:!1,includeZero:!1})}catch{return null}},listener:e=>{e&&j(e),t(E.getSnapshot().withdrawableBalances)},nextIntervalMs:()=>S})}}}export{_ as createStridgeWithdrawDriver};
1
+ "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{formatUsd as n}from"../../shared/format/formatUsd.js";import{defaultBlockExplorers as r}from"../../shared/utils/explorers.js";import{createEntityStore as i}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as a,isStablecoinSymbol as o,toBaseUnits as s}from"./internal/encoding.js";import{resolveSdkEnv as c}from"./internal/env.js";import{buildKitMetadata as l}from"./internal/metadata.js";import{pollOnce as u}from"./internal/pollOnce.js";import{buildEvmChainsParam as d}from"./internal/supportedChains.js";import{startPoll as f}from"./poll.js";import{balanceToWithdrawableBalancesPayload as p}from"../../flows/withdraw/driver/transformers/balanceToWithdrawableBalancesPayload.js";import{quoteToWithdrawalPayload as m}from"../../flows/withdraw/driver/transformers/quoteToWithdrawalPayload.js";import{settlementToWithdrawalPayload as h}from"../../flows/withdraw/driver/transformers/settlementToWithdrawalPayload.js";import{supportedAssetsToReceiveOptionsPayload as g}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{createApiClient as _}from"@stridge/sdk";function v(v){let y=_({projectKey:v.projectKey,env:c(v.environment)}),b=v.pollIntervals??{},x=b.processingMs??2e3,S=b.terminalMs??1e4,C=b.balancesMs??6e4,w=v.getI18n??(()=>e),T={...r(),...v.explorers??{}},E=w(),D=i({withdrawableBalances:{status:`loading`},receiveOptions:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`},...v.minAmountUsd===void 0?{}:{minAmountUsd:{value:v.minAmountUsd,formatted:n(v.minAmountUsd,E)}},...v.maxAmountUsd===void 0?{}:{maxAmountUsd:{value:v.maxAmountUsd,formatted:n(v.maxAmountUsd,E)}}}),O,k,A;function j(e){let t=e.assets.find(e=>e.network_id===v.currency.networkId);if(!t)return;let n=v.currency.assetSymbol.toUpperCase(),r=t.native_currency?.symbol?.toUpperCase()===n?t.native_currency:void 0,i=t.assets.find(e=>e.symbol?.toUpperCase()===n),a={networkId:t.network_id,eip155Id:t.eip155_id,networkName:t.network_name,...t.native_currency?.logo?{chainLogoUrl:t.native_currency.logo}:{},decimals:i?.decimals??r?.decimals??18,address:i?.address??``,isNative:!i&&!!r,...i?.logo?{assetLogoUrl:i.logo}:r?.logo?{assetLogoUrl:r.logo}:{}};return i||r?a:void 0}function M(e){let t=w(),n=k,r=p(e,{i18n:t,networkId:v.currency.networkId,assetSymbol:v.currency.assetSymbol,...n?{fallbackMeta:{decimals:n.decimals,address:n.address,isNative:n.isNative,eip155Id:String(n.eip155Id),networkName:n.networkName,...n.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{},...n.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{}}}:{}});D.update({withdrawableBalances:{status:`ready`,payload:r,raw:e,response:e}})}let N=(async()=>{let e=await y.uda.supportedAssets().catch(()=>null);if(e){O=e,k=j(e);let t=g(e);D.update({receiveOptions:{status:`ready`,payload:t,raw:e.assets,response:e}})}else D.update({receiveOptions:{status:`error`,error:Error(`supportedAssets fetch failed.`)}});let t=d(e??void 0),n=await y.balance.onchain(v.userAddress,{includeSpam:!1,includeZero:!1,...t?{chains:t}:{}}).catch(()=>null);n?M(n):k&&M({wallet_address:v.userAddress,fetched_at:new Date().toISOString(),total_usd:`0`,chains:[]})})();function P(){return l({flow:`withdraw`,...v.metadata?{hostMetadata:v.metadata}:{},extras:{source:{networkId:v.currency.networkId,assetSymbol:v.currency.assetSymbol}}})}function F(e,t){if(!O)return;let n=O.assets.find(t=>t.eip155_id===e);if(!n)return;let r=t.toUpperCase(),i=n.native_currency?.symbol?.toUpperCase()===r?n.native_currency:void 0,a=n.assets.find(e=>e.symbol?.toUpperCase()===r);if(!(!i&&!a))return{chainId:n.eip155_id,symbol:a?.symbol??i?.symbol??t,decimals:a?.decimals??i?.decimals??18,address:a?.address??``,isNative:!a&&!!i,...a?.logo?{assetLogoUrl:a.logo}:i?.logo?{assetLogoUrl:i.logo}:{},networkId:n.network_id,networkName:n.network_name,...i?.logo?{chainLogoUrl:i.logo}:{}}}function I(e){let t=D.getSnapshot().receiveOptions;if(!(t.status!==`ready`&&t.status!==`stale`))return t.payload.find(t=>t.eip155Id===e)}return{getSnapshot(){return D.getSnapshot()},subscribe(e){return D.subscribe(e)},async requestQuote(e,t){D.update({quote:{status:`loading`}});try{if(await N,t.aborted)return;let n=k;if(!n)throw Error(`Stridge withdraw driver: source currency ${v.currency.assetSymbol} not found on network ${v.currency.networkId} in supportedAssets.`);let r=F(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=s(e.amount,n.decimals),c=await y.uda.quote({fromNetworkId:n.eip155Id,fromAsset:n.isNative?a:n.address,toNetworkId:r.chainId,toAsset:r.isNative?a:r.address,amount:i,fromAddress:v.userAddress,toAddress:e.recipientAddress},{signal:t});if(t.aborted)return;let l=o(v.currency.assetSymbol)?1:void 0,u=o(r.symbol)?1:void 0,d=m(c,{i18n:w(),receiveSide:r,sourceAmount:e.amount,sendDecimals:n.decimals,sendSymbol:v.currency.assetSymbol,now:Date.now(),...l===void 0?{}:{sendPriceUsd:l},...u===void 0?{}:{receivePriceUsd:u}});D.update({quote:{status:`ready`,payload:d,raw:c,response:c}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));D.update({quote:{status:`error`,error:n}})}},async prepareWithdrawal(e,t){if(await N,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=k;if(!n)throw Error(`Stridge withdraw driver: source currency ${v.currency.assetSymbol} not found on network ${v.currency.networkId} in supportedAssets.`);let r=F(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=await y.gateway.start({owner:v.userAddress,destination:{network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},metadata:P()},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let a=i.deposit_addresses.find(e=>Number(e.eip155_id)===n.eip155Id);if(!a)throw Error(`Stridge withdraw driver: no UDA deposit address provisioned on chain ${n.eip155Id} for the brand currency. Check that supportedAssets advertises this chain.`);return A={network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},{depositTarget:{address:a.address,chainId:n.eip155Id,tokenSymbol:v.currency.assetSymbol,tokenAddress:n.isNative?``:n.address,tokenDecimals:n.decimals,isNative:n.isNative,amount:e.amount},correlation:{owner:v.userAddress}}},watchSettlement(e,n,r){let i=e=>u(y,v.userAddress,A,e),a=!1;f({signal:r,fetch:i,listener:r=>{if(!r)return;let i=k?s(e.form.amount,k.decimals).toString():void 0,o=e.tx?.hash?t(r,{txHash:e.tx.hash}):t(r,{bestMatch:{destination:{chainId:e.form.receiveChainId,tokenSymbol:e.form.receiveTokenSymbol,recipientAddress:e.form.recipientAddress},submittedAt:e.submittedAt,...i?{sourceAmountBaseUnits:i}:{}}});if(!o)return;let c=w(),l=I(Number(r.destination.eip155_id)),u=l?.tokens.find(e=>e.symbol===r.destination.asset_symbol),d={...l?.chainLogoUrl?{chainLogoUrl:l.chainLogoUrl}:{},...u?.assetLogoUrl?{assetLogoUrl:u.assetLogoUrl}:{},...l?.networkName?{networkName:l.networkName}:{}},f=h(o,r,{i18n:c,explorers:T,...Object.keys(d).length>0?{receiveAssetEnrichment:d}:{},...u?.decimals===void 0?{}:{receiveAssetDecimals:u.decimals}});f.kind!==`pending`&&(a=!0);let p={status:`ready`,payload:f,raw:o,response:r};D.update({settlement:p}),n(p)},nextIntervalMs:()=>a?S:x})},watchWithdrawableBalances(e,t,n){f({signal:n,fetch:async e=>{try{if(await N,e.aborted)return null;let t=d(O);return await y.balance.onchain(v.userAddress,{signal:e,includeSpam:!1,includeZero:!1,...t?{chains:t}:{}})}catch{return null}},listener:e=>{e&&M(e),t(D.getSnapshot().withdrawableBalances)},nextIntervalMs:()=>C})}}}export{v as createStridgeWithdrawDriver};
@@ -0,0 +1 @@
1
+ import{KNOWN_TESTNET_EIP155_IDS as e}from"../../../flows/shared/transformers/testnets.js";function t(t){if(!t)return;let n=new Set;for(let r of t.assets)r.chain_type===`EVM`&&(typeof r.eip155_id!=`number`||!Number.isFinite(r.eip155_id)||r.eip155_id<=0||e.has(r.eip155_id)||n.add(r.eip155_id));if(n.size!==0)return Array.from(n).join(`,`)}export{t as buildEvmChainsParam};
@@ -1 +1 @@
1
- import{formatNetworkName as e}from"../../../../shared/format/formatNetworkName.js";import{formatUsd as t}from"../../../../shared/format/formatUsd.js";import{shortenAddress as n}from"../../../../shared/format/shortenAddress.js";const r=new Set([11155111,5,80001,80002,84532,421614,11155420,97]);function i(i,o={}){let s=o.includeTestnets??!1;return i.flatMap(i=>{let c=String(i.eip155_id??``),l=Number(c);if(!s&&Number.isFinite(l)&&r.has(l))return[];let u=o.explorers?.[l],d=o.i18n&&c?o.minAmountUsdByEip155Id?.[c]:void 0,f=a(i.accepted_assets,c?o.nativeAssetByEip155Id?.[c]:void 0);return[{networkName:e(i.network_name??``),...c?{eip155Id:c}:{},...o.chainLogos?.[c]?{chainLogoUrl:o.chainLogos[c]}:{},address:{value:i.address,formatted:n(i.address)},...u?{explorerUrl:`${u.replace(/\/+$/,``)}/address/${i.address}`}:{},...d!==void 0&&o.i18n?{minAmountUsd:{value:d,formatted:t(d,o.i18n)}}:{},...f.length>0?{acceptedAssets:f}:{}}]})}function a(e,t){let n=Array.isArray(e)?e.map(o):[];return!t||new Set(n.map(e=>e.symbol.toUpperCase())).has(t.symbol.toUpperCase())?n:[t,...n]}function o(e){let t=e.logo,n=!e.address;return{symbol:e.symbol,address:e.address,decimals:e.decimals,...typeof t==`string`&&t.length>0?{assetLogoUrl:t}:{},isNative:n}}export{i as startToAddressesPayload};
1
+ import{KNOWN_TESTNET_EIP155_IDS as e}from"../../../shared/transformers/testnets.js";import{formatNetworkName as t}from"../../../../shared/format/formatNetworkName.js";import{formatUsd as n}from"../../../../shared/format/formatUsd.js";import{shortenAddress as r}from"../../../../shared/format/shortenAddress.js";function i(i,o={}){let s=o.includeTestnets??!1;return i.flatMap(i=>{let c=String(i.eip155_id??``),l=Number(c);if(!s&&Number.isFinite(l)&&e.has(l))return[];let u=o.explorers?.[l],d=o.i18n&&c?o.minAmountUsdByEip155Id?.[c]:void 0,f=a(i.accepted_assets,c?o.nativeAssetByEip155Id?.[c]:void 0);return[{networkName:t(i.network_name??``),...c?{eip155Id:c}:{},...o.chainLogos?.[c]?{chainLogoUrl:o.chainLogos[c]}:{},address:{value:i.address,formatted:r(i.address)},...u?{explorerUrl:`${u.replace(/\/+$/,``)}/address/${i.address}`}:{},...d!==void 0&&o.i18n?{minAmountUsd:{value:d,formatted:n(d,o.i18n)}}:{},...f.length>0?{acceptedAssets:f}:{}}]})}function a(e,t){let n=Array.isArray(e)?e.map(o):[];return!t||new Set(n.map(e=>e.symbol.toUpperCase())).has(t.symbol.toUpperCase())?n:[t,...n]}function o(e){let t=e.logo,n=!e.address;return{symbol:e.symbol,address:e.address,decimals:e.decimals,...typeof t==`string`&&t.length>0?{assetLogoUrl:t}:{},isNative:n}}export{i as startToAddressesPayload};
@@ -0,0 +1 @@
1
+ const e=new Set([11155111,5,80001,80002,84532,421614,11155420,97]);export{e as KNOWN_TESTNET_EIP155_IDS};
package/dist/package.js CHANGED
@@ -1 +1 @@
1
- var e=`0.1.0-alpha.35`;export{e as version};
1
+ var e=`0.1.0-alpha.37`;export{e as version};
@@ -0,0 +1 @@
1
+ import { CSSProperties, MouseEvent, MouseEventHandler, ReactNode } from "react";
@@ -0,0 +1 @@
1
+ "use client";import{ExternalLink as e}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{MerchantLinkButton as t}from"./MerchantLinkButton.js";import{resolveMerchantLink as n}from"./resolveMerchantLink.js";import{useCallback as r}from"react";import{jsx as i}from"react/jsx-runtime";function a({config:e,defaultRenderer:t,buildContext:r,emit:a,buttonSlotName:c,...l}){let u=n(e);return u.kind===`default`?t({...l,buildContext:r,emit:a}):u.kind===`url`?i(o,{...l,url:u.url,buildContext:r,emit:a}):i(s,{...l,url:u.url,onSelect:u.onSelect,buildContext:r,emit:a,buttonSlotName:c})}function o({url:t,buildContext:n,emit:a,suffix:o,children:s,onClick:c,...l}){let u=r(e=>{a(n(e)),c?.(e)},[n,a,c]);return i(e,{...l,href:t,suffix:o,onClick:u,children:s})}function s({url:n,onSelect:a,buildContext:o,emit:s,buttonSlotName:c,suffix:l,children:u,onClick:d,...f}){let p=r(e=>{if(d?.(e),e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();let t=o(e);s(t),a(t)},[o,s,d,a]),m=r(e=>{if(d?.(e),e.defaultPrevented)return;let t=o(e);s(t),a(t)},[o,s,d,a]);return n?i(e,{...f,href:n,suffix:l,onClick:p,children:u}):i(t,{...f,suffix:l,slotName:c,onClick:m,children:u})}export{a as MerchantLink};
@@ -0,0 +1 @@
1
+ "use client";import{joinClassNames as e}from"../utils/joinClassNames.js";import{styles as t}from"../ui/ExternalLink/ExternalLink.styles.js";import{cloneElement as n,isValidElement as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";import*as o from"@stylexjs/stylex";function s({slotName:n,children:r,suffix:s,className:u,style:d,...f}){let p=s!=null&&s!==!1,m=o.props(t.root,l.button),h=e(m.className,u),g=o.props(t.iconSlot,t.suffixSpacing);return a(`button`,{"data-stridge-slot":n,type:`button`,...f,className:h,style:{...m.style,...d},children:[r,p?i(`span`,{"data-icon":`inline-end`,...g,children:c(s)}):null]})}function c(e){if(!r(e))return e;let i=o.props(t.iconSvg);return n(e,{className:[e.props.className,i.className].filter(Boolean).join(` `),style:{...e.props.style,...i.style}})}const l={button:{"MerchantLinkButton__styles.button":`MerchantLinkButton__styles.button`,"appearance-kysU6D":`xjyslct`,"padding-kmVPX3":`x1717udv`,"font-kVVagm":`xln7xf2`,"color-kMwMTN":`x1heor9g`,"cursor-kkrTdU":`x1ypdohk`,"textAlign-k9WMMc":`x16tdsg8`,$$css:`@stridge/kit:src/shared/merchant-link/MerchantLinkButton.tsx:56`}};export{s as MerchantLinkButton};
@@ -0,0 +1 @@
1
+ import"./MerchantLinkButton.js";import"./resolveMerchantLink.js";import"./MerchantLink.js";
@@ -1 +1 @@
1
- function e(e){return e?.onSelect?e.url?{kind:`custom`,onSelect:e.onSelect,url:e.url}:{kind:`custom`,onSelect:e.onSelect}:e?.url?{kind:`url`,url:e.url}:{kind:`stridge`}}export{e as resolveTerms};
1
+ function e(e){return e?.onSelect?e.url?{kind:`custom`,onSelect:e.onSelect,url:e.url}:{kind:`custom`,onSelect:e.onSelect}:e?.url?{kind:`url`,url:e.url}:{kind:`default`}}export{e as resolveMerchantLink};
@@ -1 +1 @@
1
- import { CSSProperties, MouseEventHandler, ReactNode } from "react";
1
+ export { };
@@ -1 +1 @@
1
- "use client";import{useSupportConfig as e}from"./SupportConfigContext.js";import{resolveSupport as t}from"./resolveSupport.js";import{SupportButton as n}from"./SupportButton.js";import{useKitEmitter as r}from"../../events/emit/useKitEmitter.js";import"../../events/emit/index.js";import{BRAND_LINKS as i}from"../constants/brand-links.js";import{ExternalLink as a}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{SupportSpinner as o}from"./SupportSpinner.js";import{useSupportTrigger as s}from"./useSupportTrigger.js";import{useCallback as c}from"react";import{jsx as l}from"react/jsx-runtime";const u={cursor:`not-allowed`,opacity:.6,pointerEvents:`none`};function d(n){let{config:r,merchantContext:i}=e(),a=t(r);return a.kind===`stridge`?l(f,{...n}):a.kind===`url`?l(p,{...n,url:a.url}):l(m,{...n,url:a.url,onOpen:a.onOpen,merchantContext:i})}function f({children:e,suffix:t,onClick:n,style:d,...f}){let p=s(),m=p.status===`loading`,h=r(),g=c(e=>{n?.(e),!e.defaultPrevented&&e.button===0&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),h({type:`kit.support.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:e}}}),p.open()))},[h,p,n]),_=m?{...d,...u}:d;return l(a,{...f,href:i.support,suffix:m?l(o,{}):t,onClick:g,"aria-busy":m||void 0,"aria-disabled":m||void 0,style:_,children:e})}function p({url:e,children:t,onClick:n,...i}){let o=r(),s=c(e=>{o({type:`kit.support.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:e}}}),n?.(e)},[o,n]);return l(a,{...i,href:e,onClick:s,children:t})}function m({url:e,onOpen:t,merchantContext:i,children:o,suffix:s,onClick:u,...d}){let f=r(),p=c(e=>{if(u?.(e),e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();let n={event:e,...h(i)};f({type:`kit.support.clicked`,flow:`kit`,tier:`ui`,payload:{context:n}}),t(n)},[f,u,t,i]),m=c(e=>{if(u?.(e),e.defaultPrevented)return;let n={event:e,...h(i)};f({type:`kit.support.clicked`,flow:`kit`,tier:`ui`,payload:{context:n}}),t(n)},[f,u,t,i]);return e?l(a,{...d,href:e,suffix:s,onClick:p,children:o}):l(n,{...d,suffix:s,onClick:m,children:o})}function h(e){return e??{gatewayKey:``,environment:``,assetChain:``,assetSymbol:``}}export{d as SupportLink};
1
+ "use client";import{useSupportConfig as e}from"./SupportConfigContext.js";import{ExternalLink as t}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{MerchantLink as n}from"../merchant-link/MerchantLink.js";import"../merchant-link/index.js";import{useKitEmitter as r}from"../../events/emit/useKitEmitter.js";import"../../events/emit/index.js";import{BRAND_LINKS as i}from"../constants/brand-links.js";import{SupportSpinner as a}from"./SupportSpinner.js";import{useSupportTrigger as o}from"./useSupportTrigger.js";import{useCallback as s}from"react";import{jsx as c}from"react/jsx-runtime";const l={cursor:`not-allowed`,opacity:.6,pointerEvents:`none`};function u(t){let{config:i,merchantContext:a}=e(),o=r(),l=i?{url:i.url,onSelect:i.onOpen}:void 0,u=s(e=>({event:e,...p(a)}),[a]),f=s(e=>{o({type:`kit.support.clicked`,flow:`kit`,tier:`ui`,payload:{context:e}})},[o]);return c(n,{...t,config:l,buildContext:u,emit:f,buttonSlotName:`support-button`,defaultRenderer:d})}function d(e){return c(f,{...e})}function f({buildContext:e,emit:n,onClick:r,suffix:u,children:d,style:f,...p}){let m=o(),h=m.status===`loading`,g=s(t=>{r?.(t),!t.defaultPrevented&&t.button===0&&(t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),n(e(t)),m.open()))},[e,n,m,r]),_=h?{...f,...l}:f;return c(t,{...p,href:i.support,suffix:h?c(a,{}):u,onClick:g,"aria-busy":h||void 0,"aria-disabled":h||void 0,style:_,children:d})}function p(e){return e??{gatewayKey:``,environment:``,assetChain:``,assetSymbol:``}}export{u as SupportLink};
@@ -1 +1 @@
1
- import"./SupportConfigContext.js";import"./intercom-loader.js";import"./resolveSupport.js";import"./SupportButton.js";import"./SupportSpinner.js";import"./useSupportTrigger.js";import"./SupportLink.js";import"./useIntercomMerchantContext.js";import"./useIntercomShutdownOnUnmount.js";import"./useMerchantContext.js";
1
+ import"./SupportConfigContext.js";import"./intercom-loader.js";import"./SupportSpinner.js";import"./useSupportTrigger.js";import"./SupportLink.js";import"./useIntercomMerchantContext.js";import"./useIntercomShutdownOnUnmount.js";import"./useMerchantContext.js";
@@ -1 +1 @@
1
- import { CSSProperties, MouseEventHandler, ReactNode } from "react";
1
+ export { };
@@ -1 +1 @@
1
- "use client";import{useTermsConfig as e}from"./TermsConfigContext.js";import{useKitEmitter as t}from"../../events/emit/useKitEmitter.js";import"../../events/emit/index.js";import{BRAND_LINKS as n}from"../constants/brand-links.js";import{ExternalLink as r}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{resolveTerms as i}from"./resolveTerms.js";import{TermsButton as a}from"./TermsButton.js";import{useCallback as o}from"react";import{jsx as s}from"react/jsx-runtime";function c(t){let{config:n}=e(),r=i(n);return r.kind===`stridge`?s(l,{...t}):r.kind===`url`?s(u,{...t,url:r.url}):s(d,{...t,url:r.url,onSelect:r.onSelect})}function l({onClick:e,...i}){let a=t(),c=o(t=>{a({type:`kit.terms.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:t}}}),e?.(t)},[a,e]);return s(r,{...i,href:n.terms,onClick:c})}function u({url:e,onClick:n,...i}){let a=t(),c=o(e=>{a({type:`kit.terms.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:e}}}),n?.(e)},[a,n]);return s(r,{...i,href:e,onClick:c})}function d({url:e,onSelect:n,children:i,onClick:c,...l}){let u=t(),d=o(e=>{c?.(e),!e.defaultPrevented&&e.button===0&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),u({type:`kit.terms.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:e}}}),n({event:e})))},[u,c,n]),f=o(e=>{c?.(e),!e.defaultPrevented&&(u({type:`kit.terms.clicked`,flow:`kit`,tier:`ui`,payload:{context:{event:e}}}),n({event:e}))},[u,c,n]);return e?s(r,{...l,href:e,onClick:d,children:i}):s(a,{...l,onClick:f,children:i})}export{c as TermsLink};
1
+ "use client";import{useTermsConfig as e}from"./TermsConfigContext.js";import{ExternalLink as t}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{MerchantLink as n}from"../merchant-link/MerchantLink.js";import"../merchant-link/index.js";import{useKitEmitter as r}from"../../events/emit/useKitEmitter.js";import"../../events/emit/index.js";import{BRAND_LINKS as i}from"../constants/brand-links.js";import{useCallback as a}from"react";import{jsx as o}from"react/jsx-runtime";function s(t){let{config:i}=e(),s=r(),l=a(e=>({event:e}),[]),u=a(e=>{s({type:`kit.terms.clicked`,flow:`kit`,tier:`ui`,payload:{context:e}})},[s]);return o(n,{...t,config:i,buildContext:l,emit:u,buttonSlotName:`terms-button`,defaultRenderer:c})}function c(e){return o(l,{...e})}function l({buildContext:e,emit:n,onClick:r,suffix:s,children:c,...l}){let u=a(t=>{n(e(t)),r?.(t)},[e,n,r]);return o(t,{...l,href:i.terms,suffix:s,onClick:u,children:c})}export{s as TermsLink};
@@ -1 +1 @@
1
- import"./TermsConfigContext.js";import"./resolveTerms.js";import"./TermsButton.js";import"./TermsLink.js";
1
+ import"./TermsConfigContext.js";import"./TermsLink.js";
@@ -1 +1 @@
1
- "use client";import{styles as e}from"./ExternalLink.styles.js";import{joinClassNames as t}from"../../utils/joinClassNames.js";import{EXTERNAL_LINK_SLOTS as n}from"./ExternalLink.slots.js";import{toSafeHref as r}from"./toSafeHref.js";import{cloneElement as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({href:i,suffix:a,className:l,style:d,children:f,...p}){let m=r(i)??`#`,h=a!=null&&a!==!1,g=c.props(e.root),_=t(g.className,l),v=c.props(e.iconSlot,e.suffixSpacing);return s(`a`,{"data-stridge-slot":n.root,...p,href:m,target:`_blank`,rel:`noreferrer noopener`,className:_,style:{...g.style,...d},children:[f,h?o(`span`,{"data-icon":`inline-end`,...v,children:u(a)}):null]})}function u(t){if(!a(t))return t;let n=c.props(e.iconSvg);return i(t,{className:[t.props.className,n.className].filter(Boolean).join(` `),style:{...t.props.style,...n.style}})}export{l as ExternalLink};
1
+ "use client";import{joinClassNames as e}from"../../utils/joinClassNames.js";import{EXTERNAL_LINK_SLOTS as t}from"./ExternalLink.slots.js";import{styles as n}from"./ExternalLink.styles.js";import{toSafeHref as r}from"./toSafeHref.js";import{cloneElement as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({href:i,suffix:a,className:l,style:d,children:f,...p}){let m=r(i)??`#`,h=a!=null&&a!==!1,g=c.props(n.root),_=e(g.className,l),v=c.props(n.iconSlot,n.suffixSpacing);return s(`a`,{"data-stridge-slot":t.root,...p,href:m,target:`_blank`,rel:`noreferrer noopener`,className:_,style:{...g.style,...d},children:[f,h?o(`span`,{"data-icon":`inline-end`,...v,children:u(a)}):null]})}function u(e){if(!a(e))return e;let t=c.props(n.iconSvg);return i(e,{className:[e.props.className,t.className].filter(Boolean).join(` `),style:{...e.props.style,...t.style}})}export{l as ExternalLink};
@@ -1 +1 @@
1
- "use client";import{StridgeEventsContext as e}from"../events/context.js";import{createKitI18n as t}from"../shared/i18n/createKitI18n.js";import"../i18n/index.js";import{StridgeContext as n}from"./StridgeContext.js";import{createStridgeDepositDriver as r}from"../drivers/stridge/createStridgeDepositDriver.js";import{createStridgeWithdrawDriver as i}from"../drivers/stridge/createStridgeWithdrawDriver.js";import"../_internal/drivers/stridge/index.js";import{createBus as a}from"../events/bus/createBus.js";import{createFlowIdRegistry as o}from"../events/bus/flowIdRegistry.js";import{createMetadataStore as s}from"../events/bus/metadata.js";import"../events/bus/index.js";import{KitProvider as c}from"../KitProvider.js";import{resolveSupport as l}from"../shared/support/resolveSupport.js";import{useIntercomMerchantContext as u}from"../shared/support/useIntercomMerchantContext.js";import{useMerchantContext as d}from"../shared/support/useMerchantContext.js";import"../shared/support/index.js";import{useOptionalWagmi as f}from"./optionalWagmi.js";import{createStubDepositDriver as p,createStubWithdrawDriver as m}from"./stubs.js";import{useMemo as h,useRef as g,useSyncExternalStore as _}from"react";import{jsx as v}from"react/jsx-runtime";function y({gatewayKey:y,environment:b,asset:x,flows:S,appearance:C,i18n:w,storage:T,dev:E,support:D,terms:O,className:k,children:A}){if(!S.deposit&&!S.withdraw)throw Error("<StridgeProvider /> requires at least one of `flows.deposit` or `flows.withdraw`.");if(!x)throw Error("<StridgeProvider /> requires `asset: { networkId, symbol }`.");let{config:j,address:M}=f(),N=h(()=>t(w??{}),[w?.locale,w?.messages]),P=g(N);P.current=N;let F=x.networkId,I=x.symbol,L=S.deposit,R=S.withdraw,z=L?.owner?.address??M??E?.userAddressOverride,B=R?.owner.address,V=h(()=>{if(!(!L||!z))return r({userAddress:z,projectKey:y,destination:{network_id:F,asset_symbol:I,to_address:L.destination.address},wagmiConfig:j,getI18n:()=>P.current,...b?{environment:b}:{},...L.minAmountUsd===void 0?{}:{minAmountUsd:L.minAmountUsd},...L.maxAmountUsd===void 0?{}:{maxAmountUsd:L.maxAmountUsd},...L.metadata?{metadata:L.metadata}:{}})},[L,z,y,b,F,I,j]),H=h(()=>p(),[]),U=L?V??H:void 0,W=h(()=>{if(!(!R||!B))return i({userAddress:B,projectKey:y,currency:{networkId:F,assetSymbol:I},wagmiConfig:j,getI18n:()=>P.current,...b?{environment:b}:{},...R.minAmountUsd===void 0?{}:{minAmountUsd:R.minAmountUsd},...R.maxAmountUsd===void 0?{}:{maxAmountUsd:R.maxAmountUsd},...R.metadata?{metadata:R.metadata}:{}})},[R,B,y,b,F,I,j]),G=h(()=>m(),[]),K=R?W??G:void 0,q=V??W,J=_(e=>q?.subscribe(e)??(()=>{}),()=>{if(V){let e=V.getSnapshot();return e.brand.status===`ready`&&e.target.status===`ready`}return W?W.getSnapshot().receiveOptions.status===`ready`:!1},()=>!1),Y=z??B,X=d({gatewayKey:y,environment:b??`production`,assetChain:F,assetSymbol:I,...Y?{userAddress:Y}:{},...V?{depositDriver:V}:{}});u(l(D).kind===`stridge`?X:null);let Z=h(()=>({isReady:J,driver:V}),[J,V]);return v(e,{value:h(()=>({bus:a(),flowIds:o(),metadata:s()}),[]),children:v(n,{value:Z,children:v(c,{theme:C?.theme,accent:C?.accent,radius:C?.radius,direction:C?.direction,attribution:C?.attribution,i18n:w,storage:T?.driver,storageNamespace:T?.namespace,className:k,support:D,merchantContext:X,terms:O,...U?{deposit:U}:{},...L?.methods?{depositMethods:L.methods}:{},...K?{withdraw:K}:{},children:A})})})}export{y as StridgeProvider};
1
+ "use client";import{StridgeEventsContext as e}from"../events/context.js";import{createKitI18n as t}from"../shared/i18n/createKitI18n.js";import"../i18n/index.js";import{StridgeContext as n}from"./StridgeContext.js";import{createStridgeDepositDriver as r}from"../drivers/stridge/createStridgeDepositDriver.js";import{createStridgeWithdrawDriver as i}from"../drivers/stridge/createStridgeWithdrawDriver.js";import"../_internal/drivers/stridge/index.js";import{createBus as a}from"../events/bus/createBus.js";import{createFlowIdRegistry as o}from"../events/bus/flowIdRegistry.js";import{createMetadataStore as s}from"../events/bus/metadata.js";import"../events/bus/index.js";import{KitProvider as c}from"../KitProvider.js";import{resolveMerchantLink as l}from"../shared/merchant-link/resolveMerchantLink.js";import"../shared/merchant-link/index.js";import{useIntercomMerchantContext as u}from"../shared/support/useIntercomMerchantContext.js";import{useMerchantContext as d}from"../shared/support/useMerchantContext.js";import"../shared/support/index.js";import{useOptionalWagmi as f}from"./optionalWagmi.js";import{createStubDepositDriver as p,createStubWithdrawDriver as m}from"./stubs.js";import{useMemo as h,useRef as g,useSyncExternalStore as _}from"react";import{jsx as v}from"react/jsx-runtime";function y({gatewayKey:y,environment:b,asset:x,flows:S,appearance:C,i18n:w,storage:T,dev:E,support:D,terms:O,className:k,children:A}){if(!S.deposit&&!S.withdraw)throw Error("<StridgeProvider /> requires at least one of `flows.deposit` or `flows.withdraw`.");if(!x)throw Error("<StridgeProvider /> requires `asset: { networkId, symbol }`.");let{config:j,address:M}=f(),N=h(()=>t(w??{}),[w?.locale,w?.messages]),P=g(N);P.current=N;let F=x.networkId,I=x.symbol,L=S.deposit,R=S.withdraw,z=L?.owner?.address??M??E?.userAddressOverride,B=R?.owner.address,V=h(()=>{if(!(!L||!z))return r({userAddress:z,projectKey:y,destination:{network_id:F,asset_symbol:I,to_address:L.destination.address},wagmiConfig:j,getI18n:()=>P.current,...b?{environment:b}:{},...L.minAmountUsd===void 0?{}:{minAmountUsd:L.minAmountUsd},...L.maxAmountUsd===void 0?{}:{maxAmountUsd:L.maxAmountUsd},...L.metadata?{metadata:L.metadata}:{}})},[L,z,y,b,F,I,j]),H=h(()=>p(),[]),U=L?V??H:void 0,W=h(()=>{if(!(!R||!B))return i({userAddress:B,projectKey:y,currency:{networkId:F,assetSymbol:I},wagmiConfig:j,getI18n:()=>P.current,...b?{environment:b}:{},...R.minAmountUsd===void 0?{}:{minAmountUsd:R.minAmountUsd},...R.maxAmountUsd===void 0?{}:{maxAmountUsd:R.maxAmountUsd},...R.metadata?{metadata:R.metadata}:{}})},[R,B,y,b,F,I,j]),G=h(()=>m(),[]),K=R?W??G:void 0,q=V??W,J=_(e=>q?.subscribe(e)??(()=>{}),()=>{if(V){let e=V.getSnapshot();return e.brand.status===`ready`&&e.target.status===`ready`}return W?W.getSnapshot().receiveOptions.status===`ready`:!1},()=>!1),Y=z??B,X=d({gatewayKey:y,environment:b??`production`,assetChain:F,assetSymbol:I,...Y?{userAddress:Y}:{},...V?{depositDriver:V}:{}});u(l(D?{url:D.url,onSelect:D.onOpen}:void 0).kind===`default`?X:null);let Z=h(()=>({isReady:J,driver:V}),[J,V]);return v(e,{value:h(()=>({bus:a(),flowIds:o(),metadata:s()}),[]),children:v(n,{value:Z,children:v(c,{theme:C?.theme,accent:C?.accent,radius:C?.radius,direction:C?.direction,attribution:C?.attribution,i18n:w,storage:T?.driver,storageNamespace:T?.namespace,className:k,support:D,merchantContext:X,terms:O,...U?{deposit:U}:{},...L?.methods?{depositMethods:L.methods}:{},...K?{withdraw:K}:{},children:A})})})}export{y as StridgeProvider};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stridge/kit",
3
- "version": "0.1.0-alpha.35",
3
+ "version": "0.1.0-alpha.37",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -1 +0,0 @@
1
- "use client";import{styles as e}from"../ui/ExternalLink/ExternalLink.styles.js";import{joinClassNames as t}from"../utils/joinClassNames.js";import{cloneElement as n,isValidElement as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";import*as o from"@stylexjs/stylex";function s({children:n,suffix:r,className:s,style:d,...f}){let p=r!=null&&r!==!1,m=o.props(e.root,l.button),h=t(m.className,s),g=o.props(e.iconSlot,e.suffixSpacing);return a(`button`,{"data-stridge-slot":u.root,type:`button`,...f,className:h,style:{...m.style,...d},children:[n,p?i(`span`,{"data-icon":`inline-end`,...g,children:c(r)}):null]})}function c(t){if(!r(t))return t;let i=o.props(e.iconSvg);return n(t,{className:[t.props.className,i.className].filter(Boolean).join(` `),style:{...t.props.style,...i.style}})}const l={button:{"SupportButton__supportButtonStyles.button":`SupportButton__supportButtonStyles.button`,"appearance-kysU6D":`xjyslct`,"padding-kmVPX3":`x1717udv`,"font-kVVagm":`xln7xf2`,"color-kMwMTN":`x1heor9g`,"cursor-kkrTdU":`x1ypdohk`,"textAlign-k9WMMc":`x16tdsg8`,$$css:`@stridge/kit:src/shared/support/SupportButton.tsx:52`}},u={root:`support-button`};export{s as SupportButton};
@@ -1 +0,0 @@
1
- function e(e){return e?.onOpen?e.url?{kind:`custom`,onOpen:e.onOpen,url:e.url}:{kind:`custom`,onOpen:e.onOpen}:e?.url?{kind:`url`,url:e.url}:{kind:`stridge`}}export{e as resolveSupport};
@@ -1 +0,0 @@
1
- import { ComponentProps, ReactNode } from "react";
@@ -1 +0,0 @@
1
- "use client";import{styles as e}from"../ui/ExternalLink/ExternalLink.styles.js";import{joinClassNames as t}from"../utils/joinClassNames.js";import{jsx as n}from"react/jsx-runtime";import*as r from"@stylexjs/stylex";function i({children:i,className:s,style:c,...l}){let u=r.props(e.root,a.button),d=t(u.className,s);return n(`button`,{"data-stridge-slot":o.root,type:`button`,...l,className:d,style:{...u.style,...c},children:i})}const a={button:{"TermsButton__termsButtonStyles.button":`TermsButton__termsButtonStyles.button`,"appearance-kysU6D":`xjyslct`,"padding-kmVPX3":`x1717udv`,"font-kVVagm":`xln7xf2`,"color-kMwMTN":`x1heor9g`,"cursor-kkrTdU":`x1ypdohk`,"textAlign-k9WMMc":`x16tdsg8`,$$css:`@stridge/kit:src/shared/terms/TermsButton.tsx:28`}},o={root:`terms-button`};export{i as TermsButton};
@@ -1 +0,0 @@
1
- export { };