@stridge/kit 0.1.0-alpha.12 → 0.1.0-alpha.14

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 (58) hide show
  1. package/dist/KitProvider.js +1 -1
  2. package/dist/_internal/withdraw/driver/index.d.ts +2 -2
  3. package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
  4. package/dist/drivers/stridge/createStridgeWithdrawDriver.d.ts +10 -12
  5. package/dist/drivers/stridge/createStridgeWithdrawDriver.js +1 -1
  6. package/dist/drivers/stridge/types.d.ts +7 -4
  7. package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.d.ts +2 -2
  8. package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.js +1 -1
  9. package/dist/flows/deposit/dialog/DepositDialog.js +1 -1
  10. package/dist/flows/deposit/orchestrator/controller.js +1 -1
  11. package/dist/flows/deposit/widgets/deposit/Deposit.js +1 -1
  12. package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Address.js +1 -1
  13. package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.d.ts +2 -1
  14. package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.js +1 -1
  15. package/dist/flows/shared/transformers/pickRelevantSettlement.js +1 -1
  16. package/dist/flows/withdraw/dialog/WithdrawDialog.d.ts +57 -11
  17. package/dist/flows/withdraw/dialog/WithdrawDialog.js +1 -1
  18. package/dist/flows/withdraw/dialog/WithdrawDialogBindingsContext.d.ts +44 -0
  19. package/dist/flows/withdraw/dialog/WithdrawDialogBindingsContext.js +1 -0
  20. package/dist/flows/withdraw/driver/types.d.ts +53 -11
  21. package/dist/flows/withdraw/orchestrator/controller.js +1 -1
  22. package/dist/flows/withdraw/orchestrator/reducer.js +1 -1
  23. package/dist/flows/withdraw/orchestrator/types.d.ts +106 -31
  24. package/dist/flows/withdraw/widgets/withdraw-form/WithdrawForm.js +1 -1
  25. package/dist/flows/withdraw/widgets/withdraw-form/compound/WithdrawForm.js +1 -1
  26. package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.d.ts +7 -5
  27. package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.js +1 -1
  28. package/dist/flows/withdraw/widgets/withdraw-form/compound/types.d.ts +8 -5
  29. package/dist/i18n/locales/ar.js +1 -1
  30. package/dist/i18n/locales/es.js +1 -1
  31. package/dist/i18n/locales/source-keys.d.ts +1 -1
  32. package/dist/index.d.ts +2 -2
  33. package/dist/package.js +1 -1
  34. package/dist/shared/constants/brand-intercom.js +1 -0
  35. package/dist/shared/driver/types.d.ts +4 -3
  36. package/dist/shared/orchestrator/useSettlementWatcher.js +1 -1
  37. package/dist/shared/primitives/TxHashValue/TxHashValue.js +1 -1
  38. package/dist/shared/support/SupportLink.js +1 -0
  39. package/dist/shared/support/SupportSpinner.js +1 -0
  40. package/dist/shared/support/index.js +1 -0
  41. package/dist/shared/support/intercom-loader.js +1 -0
  42. package/dist/shared/support/useIntercomMerchantContext.js +1 -0
  43. package/dist/shared/support/useIntercomShutdownOnUnmount.js +1 -0
  44. package/dist/shared/support/useSupportTrigger.js +1 -0
  45. package/dist/shared/ui/Dialog/Dialog.js +1 -1
  46. package/dist/shared/ui/Select/Select.js +1 -1
  47. package/dist/shared/ui/WalletRow/WalletRow.js +1 -1
  48. package/dist/shared/widgets/confirm-transfer/compound/components/Disclaimer.js +1 -1
  49. package/dist/shared/widgets/error-state/compound/components/HelpInfo.js +1 -1
  50. package/dist/shared/widgets/success-state/compound/components/Actions.js +1 -1
  51. package/dist/stridge/StridgeProvider.d.ts +44 -3
  52. package/dist/stridge/StridgeProvider.js +1 -1
  53. package/dist/stridge/optionalWagmi.js +1 -0
  54. package/dist/stridge/stubs.js +1 -1
  55. package/dist/styles/index.css +4 -0
  56. package/dist/ui/index.js +1 -1
  57. package/dist/withdraw/dialog/index.d.ts +3 -1
  58. package/package.json +1 -1
@@ -7,6 +7,6 @@
7
7
  * as the typed contract for {@link defineMessages}: callers get autocomplete on every key the
8
8
  * kit translates, and unknown keys fail at compile time via excess-property checks.
9
9
  */
10
- type KitTranslatableKey = "0x…" | "< 1 min" | "Account" | "Amount" | "Assets" | "Auto · {value}" | "Back" | "Balance: {0} {1}" | "By clicking Confirm Deposit, you agree to our <0>terms</0>." | "Chains" | "Close" | "Close this dialog and try again in a moment. If the problem persists, double-check the gateway key on your integration." | "Close — we'll notify you" | "Completion tx" | "Confirm Deposit" | "Confirm transaction in your wallet" | "Continue" | "Copied!" | "Copy" | "Copy deposit address" | "Couldn't load deposit options" | "Credited to {captionSuffix}" | "Crediting" | "Deposit" | "Deposit completed" | "Deposit didn't complete" | "Deposit failed" | "Deposit max balance" | "Deposit received" | "Deposit received and processing…" | "Deposit successful" | "Deposit to {0}" | "Deposit tx" | "Deposit {0}" | "Deposit {0} to {1}" | "Deposit {symbol}" | "Destination" | "Detected" | "Difference between the route's expected output and the underlying market mid-price." | "Dismiss pending deposit notice" | "Done" | "Enter Amount" | "Enter Recipient Address" | "Enter Valid Recipient Address" | "Error" | "Estimated time" | "Estimating gas…" | "Estimating quote" | "Experiencing problems?" | "Failed" | "Failed to submit deposit." | "Failed to submit withdrawal." | "Fill status" | "Funds are safe on the source chain — contact support to recover." | "Get help" | "Have questions?" | "Hide technical details" | "In transit" | "Instant" | "Insufficient Balance" | "Insufficient balance" | "Low Balance" | "Max" | "Max slippage" | "Message" | "Min {0}" | "Min {minDeposit}" | "More about {0}" | "More details" | "More information" | "Network cost" | "No limit" | "Order failed" | "Order filled" | "Order submitted" | "Payment Method" | "Please try again or contact us if the issue persists." | "Price impact" | "Processing" | "Processing time: {resolvedProcessingTime}" | "Receive chain" | "Receive token" | "Recipient address" | "Regenerating quote…" | "Route" | "See less" | "See more" | "Send the selected token on the selected chain to this address. Funds appear in your account once the network confirms the transfer." | "Settlement tx" | "Show technical details" | "Signature declined. Please try again." | "Something went wrong" | "Something went wrong. Please try again." | "Source" | "Source tx" | "Stack" | "Successful" | "Swap displayed amount" | "Technical details" | "Terms apply" | "The bridge could not fund the destination transaction (gas budget exhausted)." | "The deposit driver failed to load gateway configuration." | "The destination-leg transaction reverted on-chain." | "The estimated cost to broadcast this transaction on the destination chain." | "The kit hit an unexpected error and could not finish rendering. Try again, or close this dialog and retry from the host." | "The minimum amount required for this chain to cover network fees and routing." | "The route's expected output drifted while your transaction was pending." | "The selected liquidity route used to settle this withdrawal." | "Toggle technical details" | "Tokens" | "Total time" | "Transaction breakdown" | "Transfer Crypto" | "Try again" | "Update order" | "Use connected wallet address" | "View details" | "View on Explorer" | "View progress" | "View receipt" | "Wallet" | "We can't reach the gateway right now" | "Withdraw" | "Withdrawal complete" | "Withdrawal failed" | "Withdrawal failed." | "Withdrawal in progress…" | "Withdrawal successful" | "Withdrawal tx" | "You receive" | "You send" | "You will receive" | "Your deposit address" | "Your deposit has been credited to your account." | "Your deposit has been credited to {brand}." | "Your deposit will be credited to your account." | "Your deposit will be credited to {brand}." | "Your funds were successfully deposited." | "Your funds were successfully withdrawn." | "{0, plural, one {# second} other {# seconds}} left on quote" | "{formattedMin} minimum deposit" | "{hours} hr" | "{minutes} min" | "{n}h" | "{n}m" | "{n}s" | "~ 2 min";
10
+ type KitTranslatableKey = "0x…" | "< 1 min" | "Account" | "Amount" | "Assets" | "Auto · {value}" | "Back" | "Balance: {0} {1}" | "By clicking Confirm Deposit, you agree to our <0>terms</0>." | "Chains" | "Close" | "Close this dialog and try again in a moment. If the problem persists, double-check the gateway key on your integration." | "Close — we'll notify you" | "Completion tx" | "Confirm Deposit" | "Confirm transaction in your wallet" | "Connect a wallet to continue" | "Continue" | "Copied!" | "Copy" | "Copy deposit address" | "Couldn't load deposit options" | "Credited to {captionSuffix}" | "Crediting" | "Deposit" | "Deposit completed" | "Deposit didn't complete" | "Deposit failed" | "Deposit max balance" | "Deposit received" | "Deposit received and processing…" | "Deposit successful" | "Deposit to {0}" | "Deposit tx" | "Deposit {0}" | "Deposit {0} to {1}" | "Deposit {symbol}" | "Destination" | "Detected" | "Difference between the route's expected output and the underlying market mid-price." | "Dismiss pending deposit notice" | "Done" | "Enter Amount" | "Enter Recipient Address" | "Enter Valid Recipient Address" | "Error" | "Estimated time" | "Estimating gas…" | "Estimating quote" | "Experiencing problems?" | "Failed" | "Failed to submit deposit." | "Failed to submit withdrawal." | "Fill status" | "Funds are safe on the source chain — contact support to recover." | "Get help" | "Have questions?" | "Hide technical details" | "In transit" | "Instant" | "Insufficient Balance" | "Insufficient balance" | "Low Balance" | "Max" | "Max slippage" | "Message" | "Min {0}" | "Min {minDeposit}" | "More about {0}" | "More details" | "More information" | "Network cost" | "No limit" | "Order failed" | "Order filled" | "Order submitted" | "Payment Method" | "Please try again or contact us if the issue persists." | "Price impact" | "Processing" | "Processing time: {resolvedProcessingTime}" | "Receive chain" | "Receive token" | "Recipient address" | "Regenerating quote…" | "Route" | "See less" | "See more" | "Send the selected token on the selected chain to this address. Funds appear in your account once the network confirms the transfer." | "Settlement tx" | "Show technical details" | "Signature declined. Please try again." | "Something went wrong" | "Something went wrong. Please try again." | "Source" | "Source tx" | "Stack" | "Successful" | "Swap displayed amount" | "Technical details" | "Terms apply" | "The bridge could not fund the destination transaction (gas budget exhausted)." | "The deposit driver failed to load gateway configuration." | "The destination-leg transaction reverted on-chain." | "The estimated cost to broadcast this transaction on the destination chain." | "The kit hit an unexpected error and could not finish rendering. Try again, or close this dialog and retry from the host." | "The minimum amount required for this chain to cover network fees and routing." | "The route's expected output drifted while your transaction was pending." | "The selected liquidity route used to settle this withdrawal." | "Toggle technical details" | "Tokens" | "Total time" | "Transaction breakdown" | "Transfer Crypto" | "Try again" | "Update order" | "Use suggested recipient address" | "View details" | "View on Explorer" | "View progress" | "View receipt" | "Wallet" | "We can't reach the gateway right now" | "Withdraw" | "Withdrawal complete" | "Withdrawal failed" | "Withdrawal failed." | "Withdrawal in progress…" | "Withdrawal successful" | "Withdrawal tx" | "You receive" | "You send" | "You will receive" | "Your deposit address" | "Your deposit has been credited to your account." | "Your deposit has been credited to {brand}." | "Your deposit will be credited to your account." | "Your deposit will be credited to {brand}." | "Your funds were successfully deposited." | "Your funds were successfully withdrawn." | "{0, plural, one {# second} other {# seconds}} left on quote" | "{formattedMin} minimum deposit" | "{hours} hr" | "{minutes} min" | "{n}h" | "{n}m" | "{n}s" | "~ 2 min";
11
11
  //#endregion
12
12
  export { KitTranslatableKey };
package/dist/index.d.ts CHANGED
@@ -22,5 +22,5 @@ import { useDeposit } from "./flows/deposit/orchestrator/useDeposit.js";
22
22
  import { useWithdrawState } from "./flows/withdraw/orchestrator/controller.js";
23
23
  import { useWithdraw } from "./flows/withdraw/orchestrator/useWithdraw.js";
24
24
  import { useOptionalStridge, useStridge } from "./stridge/StridgeContext.js";
25
- import { StridgeAppearance, StridgeAsset, StridgeDepositFlowConfig, StridgeProvider, StridgeStorageConfig, StridgeWithdrawFlowConfig } from "./stridge/StridgeProvider.js";
26
- export { type BannerAckBucket, type ChainInput, type ChainLogoInput, type ChainLogoMeta, type ChainSlug, DEFAULT_KIT_STORAGE_NAMESPACE, type DepositActions, type DepositController, type DepositMethod, type OpenInput as DepositOpenInput, type DepositSnapshot, type DepositState, type DepositStateName, type FailureInfo, KitPortalScope, KitStorageProvider, type LogosNamespace, type StridgeAppearance, type StridgeAsset, type StridgeDepositFlowConfig, type StridgeEnvironment, StridgeProvider, type StridgeStorageConfig, type StridgeWithdrawFlowConfig, type TokenLogoInput, type TxRef, type WithdrawActions, type WithdrawController, type WithdrawSnapshot, type WithdrawState, type WithdrawStateName, type WithdrawalFormSnapshot, bannerAckStorageKey, bucketFromSettlement, chains, createKitStorage, createLocalStorageAdapter, createMemoryStorageAdapter, createSessionStorageAdapter, logos, resolveStorageAdapter, useBannerAck, useBannerAckForSettlement, useDeposit, useDepositSnapshot, useDepositState, useKitConfig, useKitStorage, useKitStorageValue, useOptionalStridge, useStridge, useWithdraw, useWithdrawSnapshot, useWithdrawState };
25
+ import { StridgeAppearance, StridgeAsset, StridgeDepositDestination, StridgeDepositFlowConfig, StridgeFlowOwner, StridgeProvider, StridgeStorageConfig, StridgeWithdrawFlowConfig } from "./stridge/StridgeProvider.js";
26
+ export { type BannerAckBucket, type ChainInput, type ChainLogoInput, type ChainLogoMeta, type ChainSlug, DEFAULT_KIT_STORAGE_NAMESPACE, type DepositActions, type DepositController, type DepositMethod, type OpenInput as DepositOpenInput, type DepositSnapshot, type DepositState, type DepositStateName, type FailureInfo, KitPortalScope, KitStorageProvider, type LogosNamespace, type StridgeAppearance, type StridgeAsset, type StridgeDepositDestination, type StridgeDepositFlowConfig, type StridgeEnvironment, type StridgeFlowOwner, StridgeProvider, type StridgeStorageConfig, type StridgeWithdrawFlowConfig, type TokenLogoInput, type TxRef, type WithdrawActions, type WithdrawController, type WithdrawSnapshot, type WithdrawState, type WithdrawStateName, type WithdrawalFormSnapshot, bannerAckStorageKey, bucketFromSettlement, chains, createKitStorage, createLocalStorageAdapter, createMemoryStorageAdapter, createSessionStorageAdapter, logos, resolveStorageAdapter, useBannerAck, useBannerAckForSettlement, useDeposit, useDepositSnapshot, useDepositState, useKitConfig, useKitStorage, useKitStorageValue, useOptionalStridge, useStridge, useWithdraw, useWithdrawSnapshot, useWithdrawState };
package/dist/package.js CHANGED
@@ -1 +1 @@
1
- var e=`0.1.0-alpha.12`;export{e as version};
1
+ var e=`0.1.0-alpha.14`;export{e as version};
@@ -0,0 +1 @@
1
+ const e={appId:`ii7w0vsj`};export{e as BRAND_INTERCOM};
@@ -6,9 +6,10 @@
6
6
  * public `@stridge/kit/<flow>/driver` surface.
7
7
  */
8
8
  /**
9
- * On-chain transaction reference. Drivers return one of these from any imperative wallet action
10
- * (`submitDeposit`, `submitWithdrawal`); the orchestrator stamps it on the FSM's `tx` slot until
11
- * the matching settlement entity catches up and exposes a richer `txHash` / `txExplorerUrl` pair.
9
+ * On-chain transaction reference. The deposit driver returns one from `submitDeposit`; the
10
+ * withdraw flow's host-supplied `onSubmit` surfaces one via `actions.beginProcessing({ hash })`
11
+ * or `actions.setTxHash`. The orchestrator stamps it on the FSM's `tx` slot until the matching
12
+ * settlement entity catches up and exposes a richer `txHash` / `txExplorerUrl` pair.
12
13
  */
13
14
  interface TxRef {
14
15
  hash: string;
@@ -1 +1 @@
1
- import{useEffect as e}from"react";function t(t,n){let r=n?.hash;e(()=>{if(!n)return;let e=new AbortController;return t.watchSettlement({tx:n},()=>void 0,e.signal),()=>e.abort()},[r,t])}export{t as useSettlementWatcher};
1
+ import{useEffect as e,useRef as t}from"react";function n(n,r,i){let a=t(r);a.current=r,e(()=>{let e=a.current;if(e==null)return;let t=new AbortController;return n.watchSettlement(e,()=>void 0,t.signal),()=>t.abort()},[n,i])}export{n as useSettlementWatcher};
@@ -1 +1 @@
1
- "use client";import{ExternalLinkIcon as e}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{toSafeHref as t}from"../../ui/ExternalLink/toSafeHref.js";import{ExternalLink as n}from"../../ui/ExternalLink/ExternalLink.js";import"../../ui/ExternalLink/index.js";import{LtrAtom as r}from"../../ui/LtrAtom/LtrAtom.js";import"../../ui/LtrAtom/index.js";import{text as i}from"../../ui/Text/Text.js";import"../../ui/Text/index.js";import{TX_HASH_VALUE_SLOTS as a}from"./TxHashValue.slots.js";import{styles as o}from"./TxHashValue.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({hash:l,explorerUrl:u,linkColor:d=`var(--stridge-kit-primary)`}){let f=t(u),p=c.props(o.root),m=s(i.span,{size:`xs`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`inherit`,children:s(r,{children:l})});return f?s(n,{dir:`ltr`,href:f,suffix:s(e,{"aria-hidden":!0}),"data-stridge-slot":a.root,className:p.className,style:{...p.style,color:d},children:m}):s(`span`,{dir:`ltr`,"data-stridge-slot":a.root,className:p.className,style:p.style,children:m})}export{l as TxHashValue};
1
+ "use client";import{toSafeHref as e}from"../../ui/ExternalLink/toSafeHref.js";import{ExternalLink as t}from"../../ui/ExternalLink/ExternalLink.js";import"../../ui/ExternalLink/index.js";import{ExternalLinkIcon as n}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{LtrAtom as r}from"../../ui/LtrAtom/LtrAtom.js";import"../../ui/LtrAtom/index.js";import{text as i}from"../../ui/Text/Text.js";import"../../ui/Text/index.js";import{TX_HASH_VALUE_SLOTS as a}from"./TxHashValue.slots.js";import{styles as o}from"./TxHashValue.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({hash:l,explorerUrl:u,linkColor:d=`var(--stridge-kit-primary)`}){let f=e(u),p=c.props(o.root),m=s(i.span,{size:`xs`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`inherit`,children:s(r,{children:l})});return f?s(t,{dir:`ltr`,href:f,suffix:s(n,{"aria-hidden":!0}),"data-stridge-slot":a.root,className:p.className,style:{...p.style,color:d},children:m}):s(`span`,{dir:`ltr`,"data-stridge-slot":a.root,className:p.className,style:p.style,children:m})}export{l as TxHashValue};
@@ -0,0 +1 @@
1
+ "use client";import{BRAND_LINKS as e}from"../constants/brand-links.js";import{ExternalLink as t}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{SupportSpinner as n}from"./SupportSpinner.js";import{useSupportTrigger as r}from"./useSupportTrigger.js";import{useCallback as i}from"react";import{jsx as a}from"react/jsx-runtime";const o={cursor:`not-allowed`,opacity:.6,pointerEvents:`none`};function s({children:s,suffix:c,onClick:l,style:u,...d}){let f=r(),p=f.status===`loading`,m=i(e=>{l?.(e),!e.defaultPrevented&&e.button===0&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),f.open()))},[f,l]),h=p?{...u,...o}:u;return a(t,{...d,href:e.support,suffix:p?a(n,{}):c,onClick:m,"aria-busy":p||void 0,"aria-disabled":p||void 0,style:h,children:s})}export{s as SupportLink};
@@ -0,0 +1 @@
1
+ import{LoaderIcon as e}from"../icons/LoaderIcon.js";import"../../icons/index.js";import{jsx as t}from"react/jsx-runtime";function n(){return t(e,{"aria-hidden":!0,role:`img`,"aria-label":`Loading`,className:`SupportSpinner__styles.spinning x1aerksh xof6966 x1esw782 xa4qsjk x1g0ag68 x1764fhq`,"data-style-src":`@stridge/kit:src/shared/support/SupportSpinner.tsx:12`})}export{n as SupportSpinner};
@@ -0,0 +1 @@
1
+ import"./intercom-loader.js";import"./SupportSpinner.js";import"./useSupportTrigger.js";import"./SupportLink.js";import"./useIntercomMerchantContext.js";import"./useIntercomShutdownOnUnmount.js";
@@ -0,0 +1 @@
1
+ import{BRAND_INTERCOM as e}from"../constants/brand-intercom.js";const t=`__stridgeKitShim__`;let n=null;function r(e){return e[t]===!0}function i(){if(typeof window>`u`)return!1;let t=window.intercomSettings?.app_id;if(typeof t==`string`&&t!==e.appId)return!0;let n=window.Intercom;return typeof n!=`function`||r(n)?!1:t===void 0}function a(){let e=window;if(typeof e.Intercom==`function`)return e.Intercom;let n=[],r=Object.assign((...e)=>{n.push(e)},{q:n,c:e=>{n.push(e)},[t]:!0});return e.Intercom=r,r}function o(){return n||(typeof document>`u`?Promise.reject(Error(`Intercom can only load in a browser`)):(n=new Promise((t,i)=>{let a=document.createElement(`script`);a.type=`text/javascript`,a.async=!0,a.src=`https://widget.intercom.io/widget/${e.appId}`,a.dataset.stridgeIntercom=`true`,a.addEventListener(`load`,()=>t()),a.addEventListener(`error`,()=>{n=null,a.remove(),typeof window<`u`&&window.Intercom&&r(window.Intercom)&&delete window.Intercom,i(Error(`Failed to load Intercom widget script`))}),document.head.appendChild(a)}),n))}function s(){if(typeof window>`u`)return!1;let e=window.Intercom;return typeof e==`function`&&!r(e)}function c(){return typeof window>`u`?Promise.reject(Error(`Intercom can only load in a browser`)):i()?Promise.reject(Error(`Another Intercom workspace is already mounted; falling back to web link`)):new Promise((t,n)=>{let r=window;r.intercomSettings={...r.intercomSettings,app_id:e.appId,hide_default_launcher:!0};let i=a(),s=!1,c,u=e=>{s||(s=!0,c!==void 0&&clearTimeout(c),e())};i(`boot`,{...r.intercomSettings,app_id:e.appId,hide_default_launcher:!0}),i(`onShow`,()=>{u(()=>t())}),i(`onHide`,()=>{l()}),i(`show`),c=setTimeout(()=>{u(()=>n(Error(`Intercom messenger did not display within timeout`)))},1e4),o().catch(e=>{u(()=>n(e))})})}function l(){if(typeof window>`u`)return;let e=window.Intercom;if(typeof e==`function`&&!r(e))try{e(`shutdown`)}catch{}}export{s as isIntercomReady,c as openIntercom,l as shutdownIntercom};
@@ -0,0 +1 @@
1
+ "use client";import{BRAND_INTERCOM as e}from"../constants/brand-intercom.js";import{useEffect as t}from"react";function n({gatewayKey:n,environment:r,assetChain:i,assetSymbol:a,userAddress:o,brandName:s,checkoutItemTitle:c}){t(()=>{if(typeof window>`u`)return;let t=window.intercomSettings?.app_id;if(typeof t==`string`&&t!==e.appId)return;let l={company_id:n,environment:r,asset_chain:i,asset_symbol:a};s&&(l.name=s),c&&(l.checkout_item_title=c);let u={...window.intercomSettings,app_id:e.appId,hide_default_launcher:!0,company:l};if(o&&(u.user_id=o,u.wallet_address=o),window.intercomSettings=u,typeof window.Intercom==`function`)try{window.Intercom(`update`,u)}catch{}},[n,r,i,a,o,s,c])}export{n as useIntercomMerchantContext};
@@ -0,0 +1 @@
1
+ "use client";import{shutdownIntercom as e}from"./intercom-loader.js";import{useEffect as t}from"react";function n(){t(()=>()=>{e()},[])}export{n as useIntercomShutdownOnUnmount};
@@ -0,0 +1 @@
1
+ "use client";import{isIntercomReady as e,openIntercom as t}from"./intercom-loader.js";import{BRAND_LINKS as n}from"../constants/brand-links.js";import{useCallback as r,useRef as i,useState as a}from"react";function o(){let[n,o]=a(()=>e()?`ready`:`idle`),c=i(!1);return{status:n,open:r(()=>{c.current||(c.current=!0,o(`loading`),t().then(()=>{c.current=!1,o(`ready`)},()=>{c.current=!1,s(),o(`error`)}))},[])}}function s(){typeof window>`u`||window.open(n.support,`_blank`,`noopener,noreferrer`)}export{o as useSupportTrigger};
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../i18n/useLingui.js";import"../../../i18n/index.js";import{KitPortalScope as t}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{XIcon as n}from"../../icons/XIcon.js";import"../../../icons/index.js";import{joinClassNames as r}from"../../utils/joinClassNames.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{IconButton as o}from"../IconButton/IconButton.js";import"../IconButton/index.js";import{ScrollArea as s}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DIALOG_SLOTS as c}from"./Dialog.slots.js";import{styles as l}from"./Dialog.styles.js";import{createContext as u,use as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Dialog as h}from"@base-ui/react/dialog";const g=u(!1);function _(){return d(g)}function v(e){return f(h.Root,{"data-stridge-slot":c.root,...e})}function y(e){return f(h.Trigger,{"data-stridge-slot":c.trigger,...e})}function b(e){return f(h.Portal,{"data-stridge-slot":c.portal,...e})}function x(e){return f(h.Close,{"data-stridge-slot":c.close,...e})}function S({className:e,style:t,...n}){let r=m.props(l.overlay);return f(h.Backdrop,{"data-stridge-slot":c.overlay,...n,className:i(r.className,e),style:a(r.style,t)})}function C({children:e,className:n,style:r,container:o,...s}){let u=m.props(l.content);return f(b,{container:o??void 0,children:p(t,{children:[f(S,{}),f(h.Popup,{"data-stridge-slot":c.content,...s,className:i(u.className,n),style:a(u.style,r),children:f(g.Provider,{value:!0,children:e})})]})})}function w(){let t=_(),{_:r}=e();return t?f(h.Close,{"data-stridge-slot":c.close,render:f(o,{"aria-label":r({id:`yz7wBu`,message:`Close`}),...m.props(l.closeButton),children:f(n,{"aria-hidden":!0})})}):null}function T({className:e,style:t,...n}){let i=m.props(l.header);return f(`div`,{"data-stridge-slot":c.header,...n,className:r(i.className,e),style:{...i.style,...t}})}function E({className:e,style:t,children:n,...i}){let a=m.props(l.body),o=m.props(l.bodyScrollArea),u=m.props(l.bodyScrollViewport),d=m.props(l.bodyInner);return f(`div`,{"data-stridge-slot":c.body,className:a.className,style:a.style,children:p(s,{className:o.className,style:o.style,children:[f(s.Viewport,{...i,className:r(u.className,e),style:{...u.style,...t},children:f(`div`,{className:d.className,style:d.style,children:n})}),f(s.Scrollbar,{orientation:`vertical`,children:f(s.Thumb,{})})]})})}function D({className:e,style:t,...n}){let i=m.props(l.footer);return f(`div`,{"data-stridge-slot":c.footer,...n,className:r(i.className,e),style:{...i.style,...t}})}function O({className:e,style:t,...n}){let r=m.props(l.title);return f(h.Title,{"data-stridge-slot":c.title,...n,className:i(r.className,e),style:a(r.style,t)})}function k({className:e,style:t,...n}){let r=m.props(l.description);return f(h.Description,{"data-stridge-slot":c.description,...n,className:i(r.className,e),style:a(r.style,t)})}(function(e){e.Trigger=y,e.Close=x,e.CloseButton=w,e.Portal=b,e.Overlay=S,e.Content=C,e.Header=T,e.Body=E,e.Footer=D,e.Title=O,e.Description=k})(v||={});export{v as Dialog,_ as useIsInsideDialogContent};
1
+ "use client";import{useLingui as e}from"../../i18n/useLingui.js";import"../../../i18n/index.js";import{KitPortalScope as t}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{joinClassNames as n}from"../../utils/joinClassNames.js";import{XIcon as r}from"../../icons/XIcon.js";import"../../../icons/index.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{IconButton as o}from"../IconButton/IconButton.js";import"../IconButton/index.js";import{ScrollArea as s}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DIALOG_SLOTS as c}from"./Dialog.slots.js";import{styles as l}from"./Dialog.styles.js";import{createContext as u,use as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Dialog as h}from"@base-ui/react/dialog";const g=u(!1);function _(){return d(g)}function v(e){return f(h.Root,{"data-stridge-slot":c.root,...e})}function y(e){return f(h.Trigger,{"data-stridge-slot":c.trigger,...e})}function b(e){return f(h.Portal,{"data-stridge-slot":c.portal,...e})}function x(e){return f(h.Close,{"data-stridge-slot":c.close,...e})}function S({className:e,style:t,...n}){let r=m.props(l.overlay);return f(h.Backdrop,{"data-stridge-slot":c.overlay,...n,className:i(r.className,e),style:a(r.style,t)})}function C({children:e,className:n,style:r,container:o,...s}){let u=m.props(l.content);return f(b,{container:o??void 0,children:p(t,{children:[f(S,{}),f(h.Popup,{"data-stridge-slot":c.content,...s,className:i(u.className,n),style:a(u.style,r),children:f(g.Provider,{value:!0,children:e})})]})})}function w(){let t=_(),{_:n}=e();return t?f(h.Close,{"data-stridge-slot":c.close,render:f(o,{"aria-label":n({id:`yz7wBu`,message:`Close`}),...m.props(l.closeButton),children:f(r,{"aria-hidden":!0})})}):null}function T({className:e,style:t,...r}){let i=m.props(l.header);return f(`div`,{"data-stridge-slot":c.header,...r,className:n(i.className,e),style:{...i.style,...t}})}function E({className:e,style:t,children:r,...i}){let a=m.props(l.body),o=m.props(l.bodyScrollArea),u=m.props(l.bodyScrollViewport),d=m.props(l.bodyInner);return f(`div`,{"data-stridge-slot":c.body,className:a.className,style:a.style,children:p(s,{className:o.className,style:o.style,children:[f(s.Viewport,{...i,className:n(u.className,e),style:{...u.style,...t},children:f(`div`,{className:d.className,style:d.style,children:r})}),f(s.Scrollbar,{orientation:`vertical`,children:f(s.Thumb,{})})]})})}function D({className:e,style:t,...r}){let i=m.props(l.footer);return f(`div`,{"data-stridge-slot":c.footer,...r,className:n(i.className,e),style:{...i.style,...t}})}function O({className:e,style:t,...n}){let r=m.props(l.title);return f(h.Title,{"data-stridge-slot":c.title,...n,className:i(r.className,e),style:a(r.style,t)})}function k({className:e,style:t,...n}){let r=m.props(l.description);return f(h.Description,{"data-stridge-slot":c.description,...n,className:i(r.className,e),style:a(r.style,t)})}(function(e){e.Trigger=y,e.Close=x,e.CloseButton=w,e.Portal=b,e.Overlay=S,e.Content=C,e.Header=T,e.Body=E,e.Footer=D,e.Title=O,e.Description=k})(v||={});export{v as Dialog,_ as useIsInsideDialogContent};
@@ -1 +1 @@
1
- "use client";import{KitPortalScope as e}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{ChevronDownIcon as t}from"../../icons/ChevronDownIcon.js";import{ChevronUpIcon as n}from"../../icons/ChevronUpIcon.js";import"../../../icons/index.js";import{joinClassNames as r}from"../../utils/joinClassNames.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{ScrollArea as o}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DEFAULT_SELECT_CONTEXT as s,SelectContext as c,useSelectContext as l}from"./Select.context.js";import{SELECT_SLOTS as u}from"./Select.slots.js";import{styles as d}from"./Select.styles.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Select as h}from"@base-ui/react/select";function g({variant:e=s.variant,...t}){return f(c.Provider,{value:{variant:e},children:f(h.Root,{"data-stridge-slot":u.root,...t})})}function _(e){return f(h.Group,{"data-stridge-slot":u.group,...e})}function v({placeholder:e,className:t,style:n,...r}){let o=m.props(d.value),s=m.props(d.value,d.placeholder);return e?f(h.Value,{render:(c,{value:l})=>(Array.isArray(l)?l.length>0:l!=null)?f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)}):f(`span`,{"data-stridge-slot":u.value,...s,children:e}),...r}):f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)})}function y({children:e,className:n,style:r,...o}){let{variant:s}=l(),c=m.props(d.triggerBase,s===`tile`?d.triggerTile:d.triggerOutline),g=m.props(d.triggerContent),_=m.props(d.iconBase,s===`tile`?d.iconTile:d.iconOutline);return p(h.Trigger,{"data-stridge-slot":u.trigger,...o,className:i(c.className,n),style:a(c.style,r),children:[f(`span`,{...g,children:e}),f(h.Icon,{children:f(t,{"data-stridge-slot":u.icon,..._})})]})}function b({variant:e=s.variant,children:n,className:i,style:a,...o}){let c=m.props(d.triggerBase,e===`tile`?d.triggerTile:d.triggerOutline,d.triggerStatic),l=m.props(d.triggerContent),h=m.props(d.iconBase,e===`tile`?d.iconTile:d.iconOutline);return p(`div`,{"data-stridge-slot":u.staticTrigger,...o,className:r(c.className,i),style:{...c.style,...a},children:[f(`span`,{...l,children:n}),f(t,{"data-stridge-slot":u.icon,"aria-hidden":!0,...h})]})}function x(e){return f(h.Portal,{"data-stridge-slot":u.portal,...e})}function S(e){return f(h.Positioner,{"data-stridge-slot":u.positioner,...e,...m.props(d.positioner)})}function C({position:t=`popper`,side:n=`bottom`,align:s=`center`,sideOffset:c=4,scrollArrows:g=!0,className:_,style:v,children:y,...b}){let{variant:C}=l(),w=m.props(d.popupBase,C===`tile`?d.popupTile:d.popupOutline),T=m.props(d.popupScrollArea),E=m.props(d.popupViewport);return f(x,{children:f(e,{children:p(S,{align:s,alignItemWithTrigger:t===`item-aligned`,side:n,sideOffset:c,children:[g?f(O,{}):null,f(h.Popup,{"data-stridge-slot":u.content,...b,render:e=>{let{children:t,className:n,style:i,...a}=e;return p(o,{className:T.className,style:T.style,children:[f(o.Viewport,{...a,className:r(E.className,n),style:{...E.style,...i},children:t}),f(o.Scrollbar,{orientation:`vertical`,children:f(o.Thumb,{})})]})},className:i(w.className,_),style:a(w.style,v),children:y}),g?f(k,{}):null]})})})}function w({className:e,style:t,...n}){let r=m.props(d.label);return f(h.GroupLabel,{"data-stridge-slot":u.label,...n,className:i(r.className,e),style:a(r.style,t)})}function T({children:e,className:t,style:n,...r}){let{variant:o}=l(),s=m.props(d.itemBase,o===`tile`?d.itemTile:d.itemOutline),c=m.props(d.itemText);return f(h.Item,{"data-stridge-slot":u.item,...r,className:i(s.className,t),style:a(s.style,n),children:f(h.ItemText,{...c,children:e})})}function E({children:e,className:t,style:n,...i}){let{variant:a}=l(),o=m.props(d.itemBase,a===`tile`?d.itemTile:d.itemOutline,d.itemDisabled),s=m.props(d.itemText);return f(`div`,{role:`option`,"aria-disabled":`true`,"aria-selected":`false`,tabIndex:-1,"data-stridge-slot":u.item,"data-disabled":``,...i,className:r(o.className,t),style:{...o.style,...n},children:f(`span`,{...s,children:e})})}function D({className:e,style:t,...n}){let r=m.props(d.separator);return f(h.Separator,{"data-stridge-slot":u.separator,...n,className:i(r.className,e),style:a(r.style,t)})}function O({className:e,style:t,...r}){let o=m.props(d.scrollButton,d.scrollUpButton),s=m.props(d.scrollIcon);return f(h.ScrollUpArrow,{"data-stridge-slot":u.scrollUpButton,...r,className:i(o.className,e),style:a(o.style,t),children:f(n,{...s})})}function k({className:e,style:n,...r}){let o=m.props(d.scrollButton,d.scrollDownButton),s=m.props(d.scrollIcon);return f(h.ScrollDownArrow,{"data-stridge-slot":u.scrollDownButton,...r,className:i(o.className,e),style:a(o.style,n),children:f(t,{...s})})}(function(e){e.Group=_,e.Value=v,e.Trigger=y,e.StaticTrigger=b,e.Portal=x,e.Positioner=S,e.Content=C,e.Label=w,e.Item=T,e.DisabledItem=E,e.Separator=D,e.ScrollUpButton=O,e.ScrollDownButton=k})(g||={});export{g as Select};
1
+ "use client";import{KitPortalScope as e}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{joinClassNames as t}from"../../utils/joinClassNames.js";import{ChevronDownIcon as n}from"../../icons/ChevronDownIcon.js";import{ChevronUpIcon as r}from"../../icons/ChevronUpIcon.js";import"../../../icons/index.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{ScrollArea as o}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DEFAULT_SELECT_CONTEXT as s,SelectContext as c,useSelectContext as l}from"./Select.context.js";import{SELECT_SLOTS as u}from"./Select.slots.js";import{styles as d}from"./Select.styles.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Select as h}from"@base-ui/react/select";function g({variant:e=s.variant,...t}){return f(c.Provider,{value:{variant:e},children:f(h.Root,{"data-stridge-slot":u.root,...t})})}function _(e){return f(h.Group,{"data-stridge-slot":u.group,...e})}function v({placeholder:e,className:t,style:n,...r}){let o=m.props(d.value),s=m.props(d.value,d.placeholder);return e?f(h.Value,{render:(c,{value:l})=>(Array.isArray(l)?l.length>0:l!=null)?f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)}):f(`span`,{"data-stridge-slot":u.value,...s,children:e}),...r}):f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)})}function y({children:e,className:t,style:r,...o}){let{variant:s}=l(),c=m.props(d.triggerBase,s===`tile`?d.triggerTile:d.triggerOutline),g=m.props(d.triggerContent),_=m.props(d.iconBase,s===`tile`?d.iconTile:d.iconOutline);return p(h.Trigger,{"data-stridge-slot":u.trigger,...o,className:i(c.className,t),style:a(c.style,r),children:[f(`span`,{...g,children:e}),f(h.Icon,{children:f(n,{"data-stridge-slot":u.icon,..._})})]})}function b({variant:e=s.variant,children:r,className:i,style:a,...o}){let c=m.props(d.triggerBase,e===`tile`?d.triggerTile:d.triggerOutline,d.triggerStatic),l=m.props(d.triggerContent),h=m.props(d.iconBase,e===`tile`?d.iconTile:d.iconOutline);return p(`div`,{"data-stridge-slot":u.staticTrigger,...o,className:t(c.className,i),style:{...c.style,...a},children:[f(`span`,{...l,children:r}),f(n,{"data-stridge-slot":u.icon,"aria-hidden":!0,...h})]})}function x(e){return f(h.Portal,{"data-stridge-slot":u.portal,...e})}function S(e){return f(h.Positioner,{"data-stridge-slot":u.positioner,...e,...m.props(d.positioner)})}function C({position:n=`popper`,side:r=`bottom`,align:s=`center`,sideOffset:c=4,scrollArrows:g=!0,className:_,style:v,children:y,...b}){let{variant:C}=l(),w=m.props(d.popupBase,C===`tile`?d.popupTile:d.popupOutline),T=m.props(d.popupScrollArea),E=m.props(d.popupViewport);return f(x,{children:f(e,{children:p(S,{align:s,alignItemWithTrigger:n===`item-aligned`,side:r,sideOffset:c,children:[g?f(O,{}):null,f(h.Popup,{"data-stridge-slot":u.content,...b,render:e=>{let{children:n,className:r,style:i,...a}=e;return p(o,{className:T.className,style:T.style,children:[f(o.Viewport,{...a,className:t(E.className,r),style:{...E.style,...i},children:n}),f(o.Scrollbar,{orientation:`vertical`,children:f(o.Thumb,{})})]})},className:i(w.className,_),style:a(w.style,v),children:y}),g?f(k,{}):null]})})})}function w({className:e,style:t,...n}){let r=m.props(d.label);return f(h.GroupLabel,{"data-stridge-slot":u.label,...n,className:i(r.className,e),style:a(r.style,t)})}function T({children:e,className:t,style:n,...r}){let{variant:o}=l(),s=m.props(d.itemBase,o===`tile`?d.itemTile:d.itemOutline),c=m.props(d.itemText);return f(h.Item,{"data-stridge-slot":u.item,...r,className:i(s.className,t),style:a(s.style,n),children:f(h.ItemText,{...c,children:e})})}function E({children:e,className:n,style:r,...i}){let{variant:a}=l(),o=m.props(d.itemBase,a===`tile`?d.itemTile:d.itemOutline,d.itemDisabled),s=m.props(d.itemText);return f(`div`,{role:`option`,"aria-disabled":`true`,"aria-selected":`false`,tabIndex:-1,"data-stridge-slot":u.item,"data-disabled":``,...i,className:t(o.className,n),style:{...o.style,...r},children:f(`span`,{...s,children:e})})}function D({className:e,style:t,...n}){let r=m.props(d.separator);return f(h.Separator,{"data-stridge-slot":u.separator,...n,className:i(r.className,e),style:a(r.style,t)})}function O({className:e,style:t,...n}){let o=m.props(d.scrollButton,d.scrollUpButton),s=m.props(d.scrollIcon);return f(h.ScrollUpArrow,{"data-stridge-slot":u.scrollUpButton,...n,className:i(o.className,e),style:a(o.style,t),children:f(r,{...s})})}function k({className:e,style:t,...r}){let o=m.props(d.scrollButton,d.scrollDownButton),s=m.props(d.scrollIcon);return f(h.ScrollDownArrow,{"data-stridge-slot":u.scrollDownButton,...r,className:i(o.className,e),style:a(o.style,t),children:f(n,{...s})})}(function(e){e.Group=_,e.Value=v,e.Trigger=y,e.StaticTrigger=b,e.Portal=x,e.Positioner=S,e.Content=C,e.Label=w,e.Item=T,e.DisabledItem=E,e.Separator=D,e.ScrollUpButton=O,e.ScrollDownButton=k})(g||={});export{g as Select};
@@ -1 +1 @@
1
- "use client";import{ExternalLinkIcon as e}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{toSafeHref as t}from"../ExternalLink/toSafeHref.js";import{ExternalLink as n}from"../ExternalLink/ExternalLink.js";import"../ExternalLink/index.js";import{Image as r}from"../Image/Image.js";import"../Image/index.js";import{LtrAtom as i}from"../LtrAtom/LtrAtom.js";import"../LtrAtom/index.js";import{text as a}from"../Text/Text.js";import"../Text/index.js";import{WALLET_ROW_SLOTS as o}from"./WalletRow.slots.js";import{styles as s}from"./WalletRow.styles.js";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({iconUrl:f,name:p,formattedAddress:m,explorerUrl:h,density:g=`regular`,hideIcon:_=!1}){let v=t(h),y=d.props(s.root),b=u(c,{children:[_?null:l(r,{size:`md`,src:f,alt:p??``}),p?g===`compact`?l(a.span,{size:`xs`,fontWeight:`semibold`,leading:`tight`,children:p}):l(a.span,{size:`sm`,fontWeight:`medium`,leading:`tight`,children:p}):null,l(a.span,{size:g===`compact`?`xs`:`meta`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`subdued`,children:l(i,{children:p?`(${m})`:m})})]});return v?l(n,{dir:`ltr`,href:v,suffix:l(e,{"aria-hidden":!0}),"data-stridge-slot":o.root,className:y.className,style:y.style,children:b}):l(`span`,{dir:`ltr`,"data-stridge-slot":o.root,className:y.className,style:y.style,children:b})}export{f as WalletRow};
1
+ "use client";import{toSafeHref as e}from"../ExternalLink/toSafeHref.js";import{ExternalLink as t}from"../ExternalLink/ExternalLink.js";import"../ExternalLink/index.js";import{ExternalLinkIcon as n}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{Image as r}from"../Image/Image.js";import"../Image/index.js";import{LtrAtom as i}from"../LtrAtom/LtrAtom.js";import"../LtrAtom/index.js";import{text as a}from"../Text/Text.js";import"../Text/index.js";import{WALLET_ROW_SLOTS as o}from"./WalletRow.slots.js";import{styles as s}from"./WalletRow.styles.js";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({iconUrl:f,name:p,formattedAddress:m,explorerUrl:h,density:g=`regular`,hideIcon:_=!1}){let v=e(h),y=d.props(s.root),b=u(c,{children:[_?null:l(r,{size:`md`,src:f,alt:p??``}),p?g===`compact`?l(a.span,{size:`xs`,fontWeight:`semibold`,leading:`tight`,children:p}):l(a.span,{size:`sm`,fontWeight:`medium`,leading:`tight`,children:p}):null,l(a.span,{size:g===`compact`?`xs`:`meta`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`subdued`,children:l(i,{children:p?`(${m})`:m})})]});return v?l(t,{dir:`ltr`,href:v,suffix:l(n,{"aria-hidden":!0}),"data-stridge-slot":o.root,className:y.className,style:y.style,children:b}):l(`span`,{dir:`ltr`,"data-stridge-slot":o.root,className:y.className,style:y.style,children:b})}export{f as WalletRow};
@@ -1 +1 @@
1
- "use client";import{Trans as e}from"../../../../i18n/Trans.js";import"../../../../../i18n/index.js";import{InfoIcon as t}from"../../../../icons/InfoIcon.js";import"../../../../../icons/index.js";import{Alert as n}from"../../../../ui/Alert/Alert.js";import{ExternalLink as r}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import"../../../../../ui/index.js";import{BRAND_LINKS as i}from"../../../../constants/brand-links.js";import{CONFIRM_TRANSFER_SLOTS as a}from"../ConfirmTransfer.slots.js";import{styles as o}from"../ConfirmTransfer.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";const l=s(e,{id:`kR8ayx`,message:`By clicking Confirm Deposit, you agree to our <0>terms</0>.`,components:{0:s(r,{href:i.terms,...c.props(o.disclaimerTermsLink)})}});function u({children:e=l}){return s(n,{"data-stridge-slot":a.disclaimer,variant:`default`,icon:s(t,{}),...c.props(o.section),children:e})}export{u as ConfirmTransferDisclaimer};
1
+ "use client";import{Trans as e}from"../../../../i18n/Trans.js";import"../../../../../i18n/index.js";import{BRAND_LINKS as t}from"../../../../constants/brand-links.js";import{ExternalLink as n}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{InfoIcon as r}from"../../../../icons/InfoIcon.js";import"../../../../../icons/index.js";import{Alert as i}from"../../../../ui/Alert/Alert.js";import"../../../../../ui/index.js";import{CONFIRM_TRANSFER_SLOTS as a}from"../ConfirmTransfer.slots.js";import{styles as o}from"../ConfirmTransfer.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";const l=s(e,{id:`kR8ayx`,message:`By clicking Confirm Deposit, you agree to our <0>terms</0>.`,components:{0:s(n,{href:t.terms,...c.props(o.disclaimerTermsLink)})}});function u({children:e=l}){return s(i,{"data-stridge-slot":a.disclaimer,variant:`default`,icon:s(r,{}),...c.props(o.section),children:e})}export{u as ConfirmTransferDisclaimer};
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{ExternalLinkIcon as t}from"../../../../icons/ExternalLinkIcon.js";import{InfoIcon as n}from"../../../../icons/InfoIcon.js";import"../../../../../icons/index.js";import{Alert as r}from"../../../../ui/Alert/Alert.js";import"../../../../ui/Alert/index.js";import{toSafeHref as i}from"../../../../ui/ExternalLink/toSafeHref.js";import{ExternalLink as a}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{useErrorStateContext as o}from"../context.js";import{ERROR_STATE_SLOTS as s}from"../ErrorState.slots.js";import{styles as c}from"../ErrorState.styles.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f(){let f=o(`ErrorState.HelpInfo`),{_:p}=e(),m=f.help;if(!m)return null;let h=i(m.url);return h?u(r,{"data-stridge-slot":s.helpInfo,variant:`primary`,icon:l(n,{}),...d.props(c.helpInfo),children:[m.message??p({id:`Dd7jP5`,message:`Experiencing problems?`}),` `,l(a,{href:h,suffix:l(t,{"aria-hidden":!0}),...d.props(c.helpInfoLink),children:m.ctaLabel??p({id:`AWtGgd`,message:`Get help`})})]}):null}export{f as ErrorStateHelpInfo};
1
+ "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{toSafeHref as t}from"../../../../ui/ExternalLink/toSafeHref.js";import{ExternalLink as n}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{ExternalLinkIcon as r}from"../../../../icons/ExternalLinkIcon.js";import{InfoIcon as i}from"../../../../icons/InfoIcon.js";import"../../../../../icons/index.js";import{Alert as a}from"../../../../ui/Alert/Alert.js";import"../../../../ui/Alert/index.js";import{useErrorStateContext as o}from"../context.js";import{ERROR_STATE_SLOTS as s}from"../ErrorState.slots.js";import{styles as c}from"../ErrorState.styles.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f(){let f=o(`ErrorState.HelpInfo`),{_:p}=e(),m=f.help;if(!m)return null;let h=t(m.url);return h?u(a,{"data-stridge-slot":s.helpInfo,variant:`primary`,icon:l(i,{}),...d.props(c.helpInfo),children:[m.message??p({id:`Dd7jP5`,message:`Experiencing problems?`}),` `,l(n,{href:h,suffix:l(r,{"aria-hidden":!0}),...d.props(c.helpInfoLink),children:m.ctaLabel??p({id:`AWtGgd`,message:`Get help`})})]}):null}export{f as ErrorStateHelpInfo};
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{ExternalLinkIcon as t}from"../../../../icons/ExternalLinkIcon.js";import"../../../../../icons/index.js";import{Button as n}from"../../../../ui/Button/Button.js";import"../../../../ui/Button/index.js";import{ExternalLink as r}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{text as i}from"../../../../ui/Text/Text.js";import"../../../../../ui/index.js";import{useSuccessStateContext as a}from"../context.js";import{SUCCESS_STATE_SLOTS as o}from"../SuccessState.slots.js";import{styles as s}from"../SuccessState.styles.js";import{jsx as c,jsxs as l}from"react/jsx-runtime";import*as u from"@stylexjs/stylex";function d({onDone:d,onClose:f,doneLabel:p,closeLabel:m}={}){let h=a(`SuccessState.Actions`),{_:g}=e(),_=d??h.onDone,v=f??h.onClose,y=typeof _==`function`,b=typeof v==`function`,x=p??h.doneLabel??g({id:`DPfwMq`,message:`Done`}),S=m??h.closeLabel??g({id:`yz7wBu`,message:`Close`});return l(`div`,{"data-stridge-slot":o.actions,...u.props(s.actions),children:[l(`div`,{...u.props(s.actionRow,b&&s.actionRowPair),children:[b?c(n,{size:`cta`,variant:`secondary`,onClick:v,...u.props(s.closeButton,s.doneButtonInteractive),children:c(i.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,color:`inherit`,children:S})}):null,c(n,{size:`cta`,onClick:y?_:void 0,...u.props(s.doneButton,y?s.doneButtonInteractive:s.doneButtonInert),children:c(i.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,color:`inherit`,children:x})})]}),h.explorer?c(r,{href:h.explorer.url,suffix:c(t,{"aria-hidden":!0}),...u.props(s.explorerLink),children:c(i.span,{size:`meta`,fontWeight:`medium`,leading:`tight`,color:`inherit`,children:h.explorer.label??g({id:`Sjplg3`,message:`View on Explorer`})})}):null]})}export{d as SuccessStateActions};
1
+ "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{ExternalLink as t}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{ExternalLinkIcon as n}from"../../../../icons/ExternalLinkIcon.js";import"../../../../../icons/index.js";import{Button as r}from"../../../../ui/Button/Button.js";import"../../../../ui/Button/index.js";import{text as i}from"../../../../ui/Text/Text.js";import"../../../../../ui/index.js";import{useSuccessStateContext as a}from"../context.js";import{SUCCESS_STATE_SLOTS as o}from"../SuccessState.slots.js";import{styles as s}from"../SuccessState.styles.js";import{jsx as c,jsxs as l}from"react/jsx-runtime";import*as u from"@stylexjs/stylex";function d({onDone:d,onClose:f,doneLabel:p,closeLabel:m}={}){let h=a(`SuccessState.Actions`),{_:g}=e(),_=d??h.onDone,v=f??h.onClose,y=typeof _==`function`,b=typeof v==`function`,x=p??h.doneLabel??g({id:`DPfwMq`,message:`Done`}),S=m??h.closeLabel??g({id:`yz7wBu`,message:`Close`});return l(`div`,{"data-stridge-slot":o.actions,...u.props(s.actions),children:[l(`div`,{...u.props(s.actionRow,b&&s.actionRowPair),children:[b?c(r,{size:`cta`,variant:`secondary`,onClick:v,...u.props(s.closeButton,s.doneButtonInteractive),children:c(i.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,color:`inherit`,children:S})}):null,c(r,{size:`cta`,onClick:y?_:void 0,...u.props(s.doneButton,y?s.doneButtonInteractive:s.doneButtonInert),children:c(i.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,color:`inherit`,children:x})})]}),h.explorer?c(t,{href:h.explorer.url,suffix:c(n,{"aria-hidden":!0}),...u.props(s.explorerLink),children:c(i.span,{size:`meta`,fontWeight:`medium`,leading:`tight`,color:`inherit`,children:h.explorer.label??g({id:`Sjplg3`,message:`View on Explorer`})})}):null]})}export{d as SuccessStateActions};
@@ -22,9 +22,44 @@ interface StridgeAsset {
22
22
  symbol: string;
23
23
  }
24
24
  /**
25
- * Per-flow deposit tuning. Pass `deposit: {}` to enable the deposit flow with defaults.
25
+ * Settlement destination for the deposit flow. The kit does not infer a destination from any
26
+ * connected wagmi wallet — businesses pass the treasury / settlement address where deposited
27
+ * funds should land.
28
+ *
29
+ * @remarks
30
+ * If the gateway-kit admin config has "Same-owner only" enabled (default), `address` must
31
+ * equal {@link StridgeDepositFlowConfig.owner | the deposit owner}. Turn the toggle off — and
32
+ * optionally pair it with a destination whitelist — to route funds to an address that differs
33
+ * from the owner.
34
+ */
35
+ interface StridgeDepositDestination {
36
+ address: Address;
37
+ }
38
+ /**
39
+ * Stridge `gateway/start.owner` identifier for a single flow. Scopes UDA provisioning and the
40
+ * proactive `gateway/{owner}` settlement poll. The kit treats the address as opaque — businesses
41
+ * pick whatever per-customer (real EOA, derived per-user EOA) or shared (treasury) granularity
42
+ * fits their model.
43
+ */
44
+ interface StridgeFlowOwner {
45
+ address: Address;
46
+ }
47
+ /**
48
+ * Per-flow deposit tuning.
26
49
  */
27
50
  interface StridgeDepositFlowConfig {
51
+ /**
52
+ * Settlement destination address — where settled brand-currency funds land at completion.
53
+ * Required when the deposit flow is enabled.
54
+ */
55
+ destination: StridgeDepositDestination;
56
+ /**
57
+ * Owner used as `gateway/start.owner` for deposit UDAs. Optional — falls back to the
58
+ * connected wagmi wallet address, then to `dev.userAddressOverride`. Set explicitly when
59
+ * the customer is identified by something other than their wagmi address (e.g. a derived
60
+ * per-user identifier, or a shared business owner that is not the wagmi-connected EOA).
61
+ */
62
+ owner?: StridgeFlowOwner;
28
63
  /**
29
64
  * Low-balance / amount-entry USD floor. Defaults to the kit's internal default
30
65
  * (`STRIDGE_DEFAULT_MIN_DEPOSIT_USD`) when omitted.
@@ -37,9 +72,15 @@ interface StridgeDepositFlowConfig {
37
72
  metadata?: Record<string, unknown>;
38
73
  }
39
74
  /**
40
- * Per-flow withdraw tuning. Pass `withdraw: {}` to enable the withdraw flow with defaults.
75
+ * Per-flow withdraw tuning.
41
76
  */
42
77
  interface StridgeWithdrawFlowConfig {
78
+ /**
79
+ * Owner used as `gateway/start.owner` for every withdraw UDA the flow provisions. Required —
80
+ * the withdraw flow has no wagmi fallback because the business (not the end-user) is the
81
+ * party broadcasting the source-chain tx to the UDA.
82
+ */
83
+ owner: StridgeFlowOwner;
43
84
  /**
44
85
  * Metadata persisted on every UDA the withdraw flow provisions. Merged under the kit-set
45
86
  * `kit_flow` / `kit_version` / `source` keys (kit keys win).
@@ -183,4 +224,4 @@ declare function StridgeProvider({
183
224
  children
184
225
  }: StridgeProvider.Props): _$react_jsx_runtime0.JSX.Element;
185
226
  //#endregion
186
- export { StridgeAppearance, StridgeAsset, StridgeDepositFlowConfig, StridgeProvider, StridgeStorageConfig, StridgeWithdrawFlowConfig };
227
+ export { StridgeAppearance, StridgeAsset, StridgeDepositDestination, StridgeDepositFlowConfig, StridgeFlowOwner, StridgeProvider, StridgeStorageConfig, StridgeWithdrawFlowConfig };
@@ -1 +1 @@
1
- "use client";import{normalizeChainToNetworkId as e}from"../shared/chains/index.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{KitProvider as a}from"../KitProvider.js";import{createStubDepositDriver as o,createStubWithdrawDriver as s}from"./stubs.js";import{useMemo as c,useRef as l,useSyncExternalStore as u}from"react";import{jsx as d}from"react/jsx-runtime";import{useAccount as f,useConfig as p}from"wagmi";function m({gatewayKey:m,environment:h,asset:g,flows:_,appearance:v,i18n:y,storage:b,dev:x,className:S,children:C}){if(!_.deposit&&!_.withdraw)throw Error("<StridgeProvider /> requires at least one of `flows.deposit` or `flows.withdraw`.");if(!g)throw Error("<StridgeProvider /> requires `asset: { chain, symbol }`.");let w=p(),{address:T}=f(),E=T??x?.userAddressOverride,D=c(()=>t(y??{}),[y?.locale,y?.messages]),O=l(D);O.current=D;let k=c(()=>e(g.chain),[g.chain]),A=g.symbol,j=_.deposit,M=_.withdraw,N=c(()=>{if(!(!j||!E))return r({userAddress:E,projectKey:m,destination:{network_id:k,asset_symbol:A},wagmiConfig:w,getI18n:()=>O.current,...h?{environment:h}:{},...j.minDepositUsd===void 0?{}:{minDepositUsd:j.minDepositUsd},...j.metadata?{metadata:j.metadata}:{}})},[j,E,m,h,k,A,w]),P=c(()=>o(),[]),F=j?N??P:void 0,I=c(()=>{if(!(!M||!E))return i({userAddress:E,projectKey:m,currency:{networkId:k,assetSymbol:A},wagmiConfig:w,getI18n:()=>O.current,...h?{environment:h}:{},...M.metadata?{metadata:M.metadata}:{}})},[M,E,m,h,k,A,w]),L=c(()=>s(),[]),R=M?I??L:void 0,z=N??I,B=u(e=>z?.subscribe(e)??(()=>{}),()=>{if(N){let e=N.getSnapshot();return e.brand.status===`ready`&&e.target.status===`ready`}return I?I.getSnapshot().receiveOptions.status===`ready`:!1},()=>!1);return d(n,{value:c(()=>({isReady:B,driver:N}),[B,N]),children:d(a,{theme:v?.theme,accent:v?.accent,radius:v?.radius,direction:v?.direction,i18n:y,storage:b?.driver,storageNamespace:b?.namespace,className:S,...F?{deposit:F}:{},...R?{withdraw:R}:{},children:C})})}export{m as StridgeProvider};
1
+ "use client";import{normalizeChainToNetworkId as e}from"../shared/chains/index.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{KitProvider as a}from"../KitProvider.js";import{useIntercomMerchantContext as o}from"../shared/support/useIntercomMerchantContext.js";import"../shared/support/index.js";import{useOptionalWagmi as s}from"./optionalWagmi.js";import{createStubDepositDriver as c,createStubWithdrawDriver as l}from"./stubs.js";import{useMemo as u,useRef as d,useSyncExternalStore as f}from"react";import{jsx as p}from"react/jsx-runtime";function m({gatewayKey:m,environment:h,asset:g,flows:_,appearance:v,i18n:y,storage:b,dev:x,className:S,children:C}){if(!_.deposit&&!_.withdraw)throw Error("<StridgeProvider /> requires at least one of `flows.deposit` or `flows.withdraw`.");if(!g)throw Error("<StridgeProvider /> requires `asset: { chain, symbol }`.");let{config:w,address:T}=s(),E=u(()=>t(y??{}),[y?.locale,y?.messages]),D=d(E);D.current=E;let O=u(()=>e(g.chain),[g.chain]),k=g.symbol,A=_.deposit,j=_.withdraw,M=A?.owner?.address??T??x?.userAddressOverride,N=j?.owner.address,P=u(()=>{if(!(!A||!M))return r({userAddress:M,projectKey:m,destination:{network_id:O,asset_symbol:k,to_address:A.destination.address},wagmiConfig:w,getI18n:()=>D.current,...h?{environment:h}:{},...A.minDepositUsd===void 0?{}:{minDepositUsd:A.minDepositUsd},...A.metadata?{metadata:A.metadata}:{}})},[A,M,m,h,O,k,w]),F=u(()=>c(),[]),I=A?P??F:void 0,L=u(()=>{if(!(!j||!N))return i({userAddress:N,projectKey:m,currency:{networkId:O,assetSymbol:k},wagmiConfig:w,getI18n:()=>D.current,...h?{environment:h}:{},...j.metadata?{metadata:j.metadata}:{}})},[j,N,m,h,O,k,w]),R=u(()=>l(),[]),z=j?L??R:void 0,B=P??L,V=f(e=>B?.subscribe(e)??(()=>{}),()=>{if(P){let e=P.getSnapshot();return e.brand.status===`ready`&&e.target.status===`ready`}return L?L.getSnapshot().receiveOptions.status===`ready`:!1},()=>!1),H=f(e=>P?.subscribe(e)??(()=>{}),()=>{let e=P;if(!e)return;let t=e.getSnapshot();if(t.brand.status===`ready`||t.brand.status===`stale`)return t.brand.payload.name},()=>void 0),U=f(e=>P?.subscribe(e)??(()=>{}),()=>{let e=P;if(!e)return;let t=e.getSnapshot();if(t.brand.status===`ready`||t.brand.status===`stale`)return t.brand.payload.checkoutItemTitle},()=>void 0),W=M??N;return o({gatewayKey:m,environment:h??`production`,assetChain:O,assetSymbol:k,...W?{userAddress:W}:{},...H?{brandName:H}:{},...U?{checkoutItemTitle:U}:{}}),p(n,{value:u(()=>({isReady:V,driver:P}),[V,P]),children:p(a,{theme:v?.theme,accent:v?.accent,radius:v?.radius,direction:v?.direction,i18n:y,storage:b?.driver,storageNamespace:b?.namespace,className:S,...I?{deposit:I}:{},...z?{withdraw:z}:{},children:C})})}export{m as StridgeProvider};
@@ -0,0 +1 @@
1
+ "use client";import{use as e,useCallback as t,useSyncExternalStore as n}from"react";import{getAccount as r,watchAccount as i}from"wagmi/actions";import{WagmiContext as a}from"wagmi";function o(){let o=e(a);return{config:o,address:n(t(e=>o?i(o,{onChange:()=>e()}):()=>{},[o]),t(()=>{if(o)return r(o).address},[o]),()=>void 0)}}export{o as useOptionalWagmi};
@@ -1 +1 @@
1
- const e=Object.freeze({status:`idle`}),t=Object.freeze({brand:e,target:e,addresses:e,balances:e,quote:e,settlement:e,wallet:e}),n=Object.freeze({withdrawableBalances:e,receiveOptions:e,quote:e,settlement:e}),r=()=>{};function i(){if(typeof DOMException==`function`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}function a(e){return new Promise((t,n)=>{if(e.aborted){n(i());return}e.addEventListener(`abort`,()=>n(i()),{once:!0})})}function o(){return{getSnapshot:()=>t,subscribe:()=>r,requestQuote:(e,t)=>a(t),submitDeposit:(e,t)=>a(t),watchSettlement:()=>{},fetchActiveSettlement:async()=>null}}function s(){return{getSnapshot:()=>n,subscribe:()=>r,requestQuote:(e,t)=>a(t),submitWithdrawal:(e,t)=>a(t),watchSettlement:()=>{}}}export{o as createStubDepositDriver,s as createStubWithdrawDriver};
1
+ const e=Object.freeze({status:`idle`}),t=Object.freeze({brand:e,target:e,addresses:e,balances:e,quote:e,settlement:e,wallet:e}),n=Object.freeze({withdrawableBalances:e,receiveOptions:e,quote:e,settlement:e}),r=()=>{};function i(){if(typeof DOMException==`function`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}function a(e){return new Promise((t,n)=>{if(e.aborted){n(i());return}e.addEventListener(`abort`,()=>n(i()),{once:!0})})}function o(){return{getSnapshot:()=>t,subscribe:()=>r,requestQuote:(e,t)=>a(t),submitDeposit:(e,t)=>a(t),watchSettlement:()=>{},fetchActiveSettlement:async()=>null}}function s(){return{getSnapshot:()=>n,subscribe:()=>r,requestQuote:(e,t)=>a(t),prepareWithdrawal:(e,t)=>a(t),watchSettlement:()=>{}}}export{o as createStubDepositDriver,s as createStubWithdrawDriver};
@@ -1966,6 +1966,10 @@
1966
1966
  touch-action: none;
1967
1967
  }
1968
1968
 
1969
+ .x1764fhq {
1970
+ transform-box: fill-box;
1971
+ }
1972
+
1969
1973
  .x1g0ag68 {
1970
1974
  transform-origin: center;
1971
1975
  }
package/dist/ui/index.js CHANGED
@@ -1 +1 @@
1
- import{BUTTON_SLOTS as e}from"../shared/ui/Button/Button.slots.js";import{Button as t}from"../shared/ui/Button/Button.js";import"../shared/ui/Button/index.js";import{ICON_BUTTON_SLOTS as n}from"../shared/ui/IconButton/IconButton.slots.js";import{IconButton as r}from"../shared/ui/IconButton/IconButton.js";import"../shared/ui/IconButton/index.js";import{SCROLL_AREA_SLOTS as i}from"../shared/ui/ScrollArea/ScrollArea.slots.js";import{ScrollArea as a}from"../shared/ui/ScrollArea/ScrollArea.js";import"../shared/ui/ScrollArea/index.js";import{DIALOG_SLOTS as o}from"../shared/ui/Dialog/Dialog.slots.js";import{Dialog as s,useIsInsideDialogContent as c}from"../shared/ui/Dialog/Dialog.js";import"../shared/ui/Dialog/index.js";import{ALERT_SLOTS as l}from"../shared/ui/Alert/Alert.slots.js";import{Alert as u}from"../shared/ui/Alert/Alert.js";import"../shared/ui/Alert/index.js";import{AMOUNT_INPUT_SLOTS as d}from"../shared/ui/AmountInput/AmountInput.slots.js";import{formatAmountForInput as f,parseAmountInputValue as p}from"../shared/ui/AmountInput/utils.js";import{AmountInput as m}from"../shared/ui/AmountInput/AmountInput.js";import"../shared/ui/AmountInput/index.js";import{BADGE_SLOTS as h}from"../shared/ui/Badge/Badge.slots.js";import{Badge as g}from"../shared/ui/Badge/Badge.js";import"../shared/ui/Badge/index.js";import{CARD_SLOTS as _}from"../shared/ui/Card/Card.slots.js";import{Card as v}from"../shared/ui/Card/Card.js";import"../shared/ui/Card/index.js";import{COLLAPSIBLE_SLOTS as y}from"../shared/ui/Collapsible/Collapsible.slots.js";import{Collapsible as b}from"../shared/ui/Collapsible/Collapsible.js";import"../shared/ui/Collapsible/index.js";import{DETAILS_SLOTS as x}from"../shared/ui/Details/Details.slots.js";import{Details as S}from"../shared/ui/Details/Details.js";import"../shared/ui/Details/index.js";import{EXTERNAL_LINK_SLOTS as C}from"../shared/ui/ExternalLink/ExternalLink.slots.js";import{ExternalLink as w}from"../shared/ui/ExternalLink/ExternalLink.js";import"../shared/ui/ExternalLink/index.js";import{FIELD_SLOTS as T}from"../shared/ui/Field/Field.slots.js";import{Field as E}from"../shared/ui/Field/Field.js";import"../shared/ui/Field/index.js";import{IMAGE_SLOTS as D}from"../shared/ui/Image/Image.slots.js";import{Image as O}from"../shared/ui/Image/Image.js";import"../shared/ui/Image/index.js";import{INPUT_GROUP_SLOTS as k}from"../shared/ui/InputGroup/InputGroup.slots.js";import{InputGroup as A}from"../shared/ui/InputGroup/InputGroup.js";import"../shared/ui/InputGroup/index.js";import{LtrAtom as j}from"../shared/ui/LtrAtom/LtrAtom.js";import"../shared/ui/LtrAtom/index.js";import{SELECT_SLOTS as M}from"../shared/ui/Select/Select.slots.js";import{Select as N}from"../shared/ui/Select/Select.js";import"../shared/ui/Select/index.js";import{SELECTABLE_TILE_SLOTS as P}from"../shared/ui/SelectableTile/SelectableTile.slots.js";import{SelectableTile as F}from"../shared/ui/SelectableTile/SelectableTile.js";import{SelectableTileGroup as I}from"../shared/ui/SelectableTile/SelectableTileGroup.js";import"../shared/ui/SelectableTile/index.js";import{SKELETON_SLOTS as L}from"../shared/ui/Skeleton/Skeleton.slots.js";import{Skeleton as R}from"../shared/ui/Skeleton/Skeleton.js";import"../shared/ui/Skeleton/index.js";import{TEXT_SLOTS as z}from"../shared/ui/Text/Text.slots.js";import{text as B}from"../shared/ui/Text/Text.js";import"../shared/ui/Text/index.js";import{TokenLogo as V}from"../shared/ui/TokenLogo/TokenLogo.js";import"../shared/ui/TokenLogo/index.js";import{TOOLTIP_SLOTS as H}from"../shared/ui/Tooltip/Tooltip.slots.js";import{Tooltip as U}from"../shared/ui/Tooltip/Tooltip.js";import"../shared/ui/Tooltip/index.js";import{WALLET_ROW_SLOTS as W}from"../shared/ui/WalletRow/WalletRow.slots.js";import{WalletRow as G}from"../shared/ui/WalletRow/WalletRow.js";import"../shared/ui/WalletRow/index.js";export{l as ALERT_SLOTS,d as AMOUNT_INPUT_SLOTS,u as Alert,m as AmountInput,h as BADGE_SLOTS,e as BUTTON_SLOTS,g as Badge,t as Button,_ as CARD_SLOTS,y as COLLAPSIBLE_SLOTS,v as Card,b as Collapsible,x as DETAILS_SLOTS,o as DIALOG_SLOTS,S as Details,s as Dialog,C as EXTERNAL_LINK_SLOTS,w as ExternalLink,T as FIELD_SLOTS,E as Field,n as ICON_BUTTON_SLOTS,D as IMAGE_SLOTS,k as INPUT_GROUP_SLOTS,r as IconButton,O as Image,A as InputGroup,j as LtrAtom,i as SCROLL_AREA_SLOTS,P as SELECTABLE_TILE_SLOTS,M as SELECT_SLOTS,L as SKELETON_SLOTS,a as ScrollArea,N as Select,F as SelectableTile,I as SelectableTileGroup,R as Skeleton,z as TEXT_SLOTS,H as TOOLTIP_SLOTS,V as TokenLogo,U as Tooltip,W as WALLET_ROW_SLOTS,G as WalletRow,f as formatAmountForInput,p as parseAmountInputValue,B as text,c as useIsInsideDialogContent};
1
+ import{EXTERNAL_LINK_SLOTS as e}from"../shared/ui/ExternalLink/ExternalLink.slots.js";import{ExternalLink as t}from"../shared/ui/ExternalLink/ExternalLink.js";import"../shared/ui/ExternalLink/index.js";import{BUTTON_SLOTS as n}from"../shared/ui/Button/Button.slots.js";import{Button as r}from"../shared/ui/Button/Button.js";import"../shared/ui/Button/index.js";import{ICON_BUTTON_SLOTS as i}from"../shared/ui/IconButton/IconButton.slots.js";import{IconButton as a}from"../shared/ui/IconButton/IconButton.js";import"../shared/ui/IconButton/index.js";import{SCROLL_AREA_SLOTS as o}from"../shared/ui/ScrollArea/ScrollArea.slots.js";import{ScrollArea as s}from"../shared/ui/ScrollArea/ScrollArea.js";import"../shared/ui/ScrollArea/index.js";import{DIALOG_SLOTS as c}from"../shared/ui/Dialog/Dialog.slots.js";import{Dialog as l,useIsInsideDialogContent as u}from"../shared/ui/Dialog/Dialog.js";import"../shared/ui/Dialog/index.js";import{ALERT_SLOTS as d}from"../shared/ui/Alert/Alert.slots.js";import{Alert as f}from"../shared/ui/Alert/Alert.js";import"../shared/ui/Alert/index.js";import{AMOUNT_INPUT_SLOTS as p}from"../shared/ui/AmountInput/AmountInput.slots.js";import{formatAmountForInput as m,parseAmountInputValue as h}from"../shared/ui/AmountInput/utils.js";import{AmountInput as g}from"../shared/ui/AmountInput/AmountInput.js";import"../shared/ui/AmountInput/index.js";import{BADGE_SLOTS as _}from"../shared/ui/Badge/Badge.slots.js";import{Badge as v}from"../shared/ui/Badge/Badge.js";import"../shared/ui/Badge/index.js";import{CARD_SLOTS as y}from"../shared/ui/Card/Card.slots.js";import{Card as b}from"../shared/ui/Card/Card.js";import"../shared/ui/Card/index.js";import{COLLAPSIBLE_SLOTS as x}from"../shared/ui/Collapsible/Collapsible.slots.js";import{Collapsible as S}from"../shared/ui/Collapsible/Collapsible.js";import"../shared/ui/Collapsible/index.js";import{DETAILS_SLOTS as C}from"../shared/ui/Details/Details.slots.js";import{Details as w}from"../shared/ui/Details/Details.js";import"../shared/ui/Details/index.js";import{FIELD_SLOTS as T}from"../shared/ui/Field/Field.slots.js";import{Field as E}from"../shared/ui/Field/Field.js";import"../shared/ui/Field/index.js";import{IMAGE_SLOTS as D}from"../shared/ui/Image/Image.slots.js";import{Image as O}from"../shared/ui/Image/Image.js";import"../shared/ui/Image/index.js";import{INPUT_GROUP_SLOTS as k}from"../shared/ui/InputGroup/InputGroup.slots.js";import{InputGroup as A}from"../shared/ui/InputGroup/InputGroup.js";import"../shared/ui/InputGroup/index.js";import{LtrAtom as j}from"../shared/ui/LtrAtom/LtrAtom.js";import"../shared/ui/LtrAtom/index.js";import{SELECT_SLOTS as M}from"../shared/ui/Select/Select.slots.js";import{Select as N}from"../shared/ui/Select/Select.js";import"../shared/ui/Select/index.js";import{SELECTABLE_TILE_SLOTS as P}from"../shared/ui/SelectableTile/SelectableTile.slots.js";import{SelectableTile as F}from"../shared/ui/SelectableTile/SelectableTile.js";import{SelectableTileGroup as I}from"../shared/ui/SelectableTile/SelectableTileGroup.js";import"../shared/ui/SelectableTile/index.js";import{SKELETON_SLOTS as L}from"../shared/ui/Skeleton/Skeleton.slots.js";import{Skeleton as R}from"../shared/ui/Skeleton/Skeleton.js";import"../shared/ui/Skeleton/index.js";import{TEXT_SLOTS as z}from"../shared/ui/Text/Text.slots.js";import{text as B}from"../shared/ui/Text/Text.js";import"../shared/ui/Text/index.js";import{TokenLogo as V}from"../shared/ui/TokenLogo/TokenLogo.js";import"../shared/ui/TokenLogo/index.js";import{TOOLTIP_SLOTS as H}from"../shared/ui/Tooltip/Tooltip.slots.js";import{Tooltip as U}from"../shared/ui/Tooltip/Tooltip.js";import"../shared/ui/Tooltip/index.js";import{WALLET_ROW_SLOTS as W}from"../shared/ui/WalletRow/WalletRow.slots.js";import{WalletRow as G}from"../shared/ui/WalletRow/WalletRow.js";import"../shared/ui/WalletRow/index.js";export{d as ALERT_SLOTS,p as AMOUNT_INPUT_SLOTS,f as Alert,g as AmountInput,_ as BADGE_SLOTS,n as BUTTON_SLOTS,v as Badge,r as Button,y as CARD_SLOTS,x as COLLAPSIBLE_SLOTS,b as Card,S as Collapsible,C as DETAILS_SLOTS,c as DIALOG_SLOTS,w as Details,l as Dialog,e as EXTERNAL_LINK_SLOTS,t as ExternalLink,T as FIELD_SLOTS,E as Field,i as ICON_BUTTON_SLOTS,D as IMAGE_SLOTS,k as INPUT_GROUP_SLOTS,a as IconButton,O as Image,A as InputGroup,j as LtrAtom,o as SCROLL_AREA_SLOTS,P as SELECTABLE_TILE_SLOTS,M as SELECT_SLOTS,L as SKELETON_SLOTS,s as ScrollArea,N as Select,F as SelectableTile,I as SelectableTileGroup,R as Skeleton,z as TEXT_SLOTS,H as TOOLTIP_SLOTS,V as TokenLogo,U as Tooltip,W as WALLET_ROW_SLOTS,G as WalletRow,m as formatAmountForInput,h as parseAmountInputValue,B as text,u as useIsInsideDialogContent};
@@ -1,2 +1,4 @@
1
+ import { WithdrawSubmitActions, WithdrawSubmitCallback, WithdrawSubmitInput } from "../../flows/withdraw/orchestrator/types.js";
2
+ import { WithdrawBalanceInput, WithdrawSuggestedRecipient } from "../../flows/withdraw/dialog/WithdrawDialogBindingsContext.js";
1
3
  import { WithdrawDialog } from "../../flows/withdraw/dialog/WithdrawDialog.js";
2
- export { WithdrawDialog };
4
+ export { type WithdrawBalanceInput, WithdrawDialog, type WithdrawSubmitActions, type WithdrawSubmitCallback, type WithdrawSubmitInput, type WithdrawSuggestedRecipient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stridge/kit",
3
- "version": "0.1.0-alpha.12",
3
+ "version": "0.1.0-alpha.14",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [