@stridge/kit 0.1.0-alpha.61 → 0.1.0-alpha.63

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 (170) hide show
  1. package/dist/_internal/deposit/driver/index.d.ts +2 -2
  2. package/dist/deposit/compound/index.d.ts +10 -2
  3. package/dist/deposit/compound/index.js +1 -1
  4. package/dist/deposit/widgets/index.d.ts +3 -1
  5. package/dist/deposit/widgets/index.js +1 -1
  6. package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
  7. package/dist/drivers/stridge-mock/createStridgeMockDriver.js +1 -1
  8. package/dist/drivers/stridge-mock/fixtures.d.ts +1 -1
  9. package/dist/drivers/stridge-mock/fixtures.js +1 -1
  10. package/dist/flows/deposit/dialog/DepositDialog.js +1 -1
  11. package/dist/flows/deposit/driver/payloads.d.ts +136 -7
  12. package/dist/flows/deposit/driver/types.d.ts +44 -2
  13. package/dist/flows/deposit/orchestrator/controller.js +1 -1
  14. package/dist/flows/deposit/orchestrator/reducer.js +1 -1
  15. package/dist/flows/deposit/orchestrator/types.d.ts +105 -12
  16. package/dist/flows/deposit/shared/onramp.js +1 -1
  17. package/dist/flows/deposit/shared/onrampError.js +1 -0
  18. package/dist/flows/deposit/widgets/deposit/Deposit.js +1 -1
  19. package/dist/flows/deposit/widgets/error-state/ErrorState.js +1 -1
  20. package/dist/flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.d.ts +12 -8
  21. package/dist/flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.js +1 -1
  22. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.d.ts +4 -0
  23. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.js +1 -1
  24. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.d.ts +7 -0
  25. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.js +1 -1
  26. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.styles.js +1 -1
  27. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/CurrencyChip.d.ts +12 -0
  28. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/CurrencyChip.js +1 -0
  29. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ProviderCard.d.ts +12 -0
  30. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ProviderCard.js +1 -0
  31. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ReceiveChip.js +1 -1
  32. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/context.d.ts +14 -0
  33. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/index.d.ts +1 -0
  34. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/types.d.ts +12 -1
  35. package/dist/flows/deposit/widgets/onramp-confirm/OnrampConfirm.d.ts +2 -0
  36. package/dist/flows/deposit/widgets/onramp-confirm/OnrampConfirm.js +1 -1
  37. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.d.ts +2 -0
  38. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.js +1 -1
  39. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.d.ts +7 -0
  40. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.js +1 -1
  41. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.styles.js +1 -1
  42. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Body.js +1 -1
  43. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Disclaimer.d.ts +21 -0
  44. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Disclaimer.js +1 -0
  45. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Summary.d.ts +2 -2
  46. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Summary.js +1 -1
  47. package/dist/flows/deposit/widgets/onramp-confirm/compound/context.d.ts +28 -7
  48. package/dist/flows/deposit/widgets/onramp-confirm/compound/index.d.ts +1 -1
  49. package/dist/flows/deposit/widgets/onramp-confirm/compound/types.d.ts +7 -2
  50. package/dist/flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.d.ts +39 -0
  51. package/dist/flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.js +1 -0
  52. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.d.ts +37 -0
  53. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.js +1 -0
  54. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.d.ts +17 -0
  55. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.js +1 -0
  56. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.styles.js +1 -0
  57. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Body.d.ts +6 -0
  58. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Body.js +1 -0
  59. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/CurrencyRow.d.ts +12 -0
  60. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/CurrencyRow.js +1 -0
  61. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Empty.js +1 -0
  62. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Header.d.ts +10 -0
  63. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Header.js +1 -0
  64. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Search.d.ts +6 -0
  65. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Search.js +1 -0
  66. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/context.js +1 -0
  67. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/index.d.ts +3 -0
  68. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/index.js +1 -0
  69. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/types.d.ts +48 -0
  70. package/dist/flows/deposit/widgets/onramp-currency-picker/index.d.ts +1 -0
  71. package/dist/flows/deposit/widgets/onramp-currency-picker/index.js +1 -0
  72. package/dist/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.d.ts +2 -0
  73. package/dist/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.js +1 -1
  74. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.d.ts +6 -1
  75. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.js +1 -1
  76. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.d.ts +3 -0
  77. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.js +1 -1
  78. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.d.ts +13 -0
  79. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.js +1 -0
  80. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.js +1 -0
  81. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/context.d.ts +32 -0
  82. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/index.d.ts +1 -0
  83. package/dist/flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.d.ts +38 -0
  84. package/dist/flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.js +1 -0
  85. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.d.ts +35 -0
  86. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.js +1 -0
  87. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.d.ts +19 -0
  88. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.js +1 -0
  89. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.js +1 -0
  90. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Body.d.ts +6 -0
  91. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Body.js +1 -0
  92. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Header.d.ts +10 -0
  93. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Header.js +1 -0
  94. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/ProviderRow.d.ts +15 -0
  95. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/ProviderRow.js +1 -0
  96. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/context.js +1 -0
  97. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/index.d.ts +3 -0
  98. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/index.js +1 -0
  99. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/types.d.ts +50 -0
  100. package/dist/flows/deposit/widgets/onramp-provider-picker/index.d.ts +1 -0
  101. package/dist/flows/deposit/widgets/onramp-provider-picker/index.js +1 -0
  102. package/dist/flows/deposit/widgets/success-state/SuccessState.js +1 -1
  103. package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.js +1 -1
  104. package/dist/format/index.d.ts +2 -1
  105. package/dist/format/index.js +1 -1
  106. package/dist/i18n/locales/ar.js +1 -1
  107. package/dist/i18n/locales/es.js +1 -1
  108. package/dist/i18n/locales/source-keys.d.ts +1 -1
  109. package/dist/icons/index.d.ts +4 -1
  110. package/dist/icons/index.js +1 -1
  111. package/dist/package.js +1 -1
  112. package/dist/shared/attribution/Attribution.js +1 -1
  113. package/dist/shared/attribution/Attribution.styles.js +1 -1
  114. package/dist/shared/dialog/Frame.js +1 -1
  115. package/dist/shared/format/formatFiat.d.ts +31 -0
  116. package/dist/shared/format/formatFiat.js +1 -0
  117. package/dist/shared/icons/BellIcon.d.ts +7 -0
  118. package/dist/shared/icons/BellIcon.js +1 -0
  119. package/dist/shared/icons/DirhamSignIcon.d.ts +16 -0
  120. package/dist/shared/icons/DirhamSignIcon.js +1 -0
  121. package/dist/shared/icons/SearchIcon.d.ts +7 -0
  122. package/dist/shared/icons/SearchIcon.js +1 -0
  123. package/dist/shared/ui/AmountInput/useAutoShrinkFontSize.js +1 -1
  124. package/dist/shared/ui/Checkbox/Checkbox.d.ts +47 -0
  125. package/dist/shared/ui/Checkbox/Checkbox.js +1 -0
  126. package/dist/shared/ui/Checkbox/Checkbox.slots.d.ts +12 -0
  127. package/dist/shared/ui/Checkbox/Checkbox.slots.js +1 -0
  128. package/dist/shared/ui/Checkbox/Checkbox.styles.js +1 -0
  129. package/dist/shared/ui/Checkbox/index.d.ts +2 -0
  130. package/dist/shared/ui/Checkbox/index.js +1 -0
  131. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.d.ts +36 -0
  132. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.js +1 -0
  133. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.slots.d.ts +12 -0
  134. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.slots.js +1 -0
  135. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.styles.js +1 -0
  136. package/dist/shared/ui/CurrencyGlyph/flags.js +1 -0
  137. package/dist/shared/ui/CurrencyGlyph/index.d.ts +2 -0
  138. package/dist/shared/ui/CurrencyGlyph/index.js +1 -0
  139. package/dist/shared/ui/DisclosureRow/DisclosureRow.d.ts +56 -0
  140. package/dist/shared/ui/DisclosureRow/DisclosureRow.js +1 -0
  141. package/dist/shared/ui/DisclosureRow/DisclosureRow.slots.d.ts +8 -0
  142. package/dist/shared/ui/DisclosureRow/DisclosureRow.slots.js +1 -0
  143. package/dist/shared/ui/DisclosureRow/DisclosureRow.styles.js +1 -0
  144. package/dist/shared/ui/DisclosureRow/index.d.ts +2 -0
  145. package/dist/shared/ui/DisclosureRow/index.js +1 -0
  146. package/dist/shared/ui/FiatSymbol/FiatAmount.d.ts +32 -0
  147. package/dist/shared/ui/FiatSymbol/FiatAmount.js +1 -0
  148. package/dist/shared/ui/FiatSymbol/FiatSymbol.d.ts +30 -0
  149. package/dist/shared/ui/FiatSymbol/FiatSymbol.js +1 -0
  150. package/dist/shared/ui/FiatSymbol/index.d.ts +2 -0
  151. package/dist/shared/ui/FiatSymbol/index.js +1 -0
  152. package/dist/shared/utils/logos/resolveLogoSrc.js +1 -1
  153. package/dist/shared/widgets/amount-entry/compound/AmountEntry.js +1 -1
  154. package/dist/shared/widgets/amount-entry/compound/AmountEntry.styles.js +1 -1
  155. package/dist/shared/widgets/amount-entry/compound/components/Hero/Hero.d.ts +2 -1
  156. package/dist/shared/widgets/amount-entry/compound/components/Hero/Hero.js +1 -1
  157. package/dist/shared/widgets/amount-entry/compound/components/Hero/StaticBand.js +1 -1
  158. package/dist/shared/widgets/amount-entry/compound/types.d.ts +10 -0
  159. package/dist/shared/widgets/confirm-transfer/compound/components/Breakdown.js +1 -1
  160. package/dist/shared/widgets/error-state/compound/ErrorState.styles.js +1 -1
  161. package/dist/shared/widgets/error-state/compound/components/MoreDetails.d.ts +3 -3
  162. package/dist/shared/widgets/error-state/compound/components/MoreDetails.js +1 -1
  163. package/dist/shared/widgets/success-state/compound/SuccessState.styles.js +1 -1
  164. package/dist/shared/widgets/success-state/compound/components/MoreDetails.d.ts +2 -3
  165. package/dist/shared/widgets/success-state/compound/components/MoreDetails.js +1 -1
  166. package/dist/styles/index.css +118 -0
  167. package/dist/ui/index.d.ts +9 -1
  168. package/dist/ui/index.js +1 -1
  169. package/dist/version.js +1 -1
  170. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ import { OnrampCurrencyPickerRowProps } from "../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/flows/deposit/widgets/onramp-currency-picker/compound/components/CurrencyRow.d.ts
5
+ declare function OnrampCurrencyPickerRow({
6
+ code,
7
+ name,
8
+ symbol,
9
+ iconUrl
10
+ }: OnrampCurrencyPickerRowProps): _$react_jsx_runtime0.JSX.Element;
11
+ //#endregion
12
+ export { OnrampCurrencyPickerRow };
@@ -0,0 +1 @@
1
+ "use client";import{CheckIcon as e}from"../../../../../../shared/icons/CheckIcon.js";import"../../../../../../icons/index.js";import{CurrencyGlyph as t}from"../../../../../../shared/ui/CurrencyGlyph/CurrencyGlyph.js";import"../../../../../../shared/ui/CurrencyGlyph/index.js";import{SelectableTile as n}from"../../../../../../shared/ui/SelectableTile/SelectableTile.js";import"../../../../../../shared/ui/SelectableTile/index.js";import{text as r}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{useOnrampCurrencyPickerContext as i}from"../context.js";import{ONRAMP_CURRENCY_PICKER_SLOTS as a}from"../OnrampCurrencyPicker.slots.js";import{styles as o}from"../OnrampCurrencyPicker.styles.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";import*as l from"@stylexjs/stylex";function u({code:u,name:d,symbol:f,iconUrl:p}){let m=i(`OnrampCurrencyPicker.Row`).selectedCode===u;return c(n,{shape:`card`,value:u,selected:m,"aria-label":`${d} (${u})`,"data-currency-code":u,"data-stridge-slot":a.row,...l.props(o.row),children:[s(t,{code:u,symbol:f,size:36,...p===void 0?{}:{iconUrl:p},"data-stridge-slot":a.rowGlyph}),c(`span`,{...l.props(o.rowText),children:[s(r.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,truncate:!0,"data-stridge-slot":a.rowLabel,children:d}),s(r.span,{size:`xs`,fontWeight:`medium`,leading:`tight`,color:`subdued`,truncate:!0,"data-stridge-slot":a.rowCode,children:u})]}),m?s(e,{"aria-hidden":!0,"data-stridge-slot":a.rowCheck,...l.props(o.rowCheck)}):null]})}export{u as OnrampCurrencyPickerRow};
@@ -0,0 +1 @@
1
+ "use client";import{Trans as e}from"../../../../../../shared/i18n/Trans.js";import"../../../../../../i18n/index.js";import{SearchIcon as t}from"../../../../../../shared/icons/SearchIcon.js";import"../../../../../../icons/index.js";import{text as n}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{useOnrampCurrencyPickerContext as r}from"../context.js";import{ONRAMP_CURRENCY_PICKER_SLOTS as i}from"../OnrampCurrencyPicker.slots.js";import{styles as a}from"../OnrampCurrencyPicker.styles.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l(){let l=r(`OnrampCurrencyPicker.Empty`);return s(`div`,{"data-stridge-slot":i.empty,...c.props(a.empty),children:[o(t,{"aria-hidden":!0,...c.props(a.searchIcon)}),o(n.span,{size:`sm`,fontWeight:`medium`,color:`subdued`,children:o(e,{id:`RO6we5`,message:`No currencies match “{0}”`,values:{0:l.query}})})]})}export{l as OnrampCurrencyPickerEmpty};
@@ -0,0 +1,10 @@
1
+ import { OnrampCurrencyPickerHeaderProps } from "../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/flows/deposit/widgets/onramp-currency-picker/compound/components/Header.d.ts
5
+ declare function OnrampCurrencyPickerHeader({
6
+ title,
7
+ onBack
8
+ }?: OnrampCurrencyPickerHeaderProps): _$react_jsx_runtime0.JSX.Element;
9
+ //#endregion
10
+ export { OnrampCurrencyPickerHeader };
@@ -0,0 +1 @@
1
+ "use client";import{useLingui as e}from"../../../../../../shared/i18n/useLingui.js";import"../../../../../../i18n/index.js";import{ChevronLeftIcon as t}from"../../../../../../shared/icons/ChevronLeftIcon.js";import"../../../../../../icons/index.js";import{IconButton as n}from"../../../../../../shared/ui/IconButton/IconButton.js";import{Dialog as r}from"../../../../../../shared/ui/Dialog/Dialog.js";import"../../../../../../shared/ui/Dialog/index.js";import{Card as i}from"../../../../../../shared/ui/Card/Card.js";import{text as a}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{useOnrampCurrencyPickerContext as o}from"../context.js";import{ONRAMP_CURRENCY_PICKER_SLOTS as s}from"../OnrampCurrencyPicker.slots.js";import{styles as c}from"../OnrampCurrencyPicker.styles.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({title:f,onBack:p}={}){let m=o(`OnrampCurrencyPicker.Header`),{_:h}=e(),g=f??m.headerTitle??h({id:`Q2lUR2`,message:`Currency`}),_=p===null?void 0:p??m.onBack;return u(i.Header,{"data-stridge-slot":s.header,...d.props(c.header),children:[typeof _==`function`?l(n,{"aria-label":h({id:`iH8pgl`,message:`Back`}),onClick:_,children:l(t,{"aria-hidden":!0,...d.props(c.backIcon)})}):null,l(a.span,{size:`base`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,truncate:!0,...d.props(c.headerTitle),children:g}),l(`div`,{...d.props(c.headerTrailing),children:l(r.CloseButton,{})})]})}export{f as OnrampCurrencyPickerHeader};
@@ -0,0 +1,6 @@
1
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/flows/deposit/widgets/onramp-currency-picker/compound/components/Search.d.ts
4
+ declare function OnrampCurrencyPickerSearch(): _$react_jsx_runtime0.JSX.Element;
5
+ //#endregion
6
+ export { OnrampCurrencyPickerSearch };
@@ -0,0 +1 @@
1
+ "use client";import{useLingui as e}from"../../../../../../shared/i18n/useLingui.js";import"../../../../../../i18n/index.js";import{SearchIcon as t}from"../../../../../../shared/icons/SearchIcon.js";import{XIcon as n}from"../../../../../../shared/icons/XIcon.js";import"../../../../../../icons/index.js";import{InputGroup as r}from"../../../../../../shared/ui/InputGroup/InputGroup.js";import"../../../../../../shared/ui/InputGroup/index.js";import{useOnrampCurrencyPickerContext as i}from"../context.js";import{ONRAMP_CURRENCY_PICKER_SLOTS as a}from"../OnrampCurrencyPicker.slots.js";import{styles as o}from"../OnrampCurrencyPicker.styles.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";import*as l from"@stylexjs/stylex";function u(){let u=i(`OnrampCurrencyPicker.Search`),{_:d}=e();return s(`div`,{"data-stridge-slot":a.search,...l.props(o.search),children:c(r,{children:[s(r.Addon,{align:`inline-start`,children:s(t,{"aria-hidden":!0,...l.props(o.searchIcon)})}),s(r.Input,{type:`search`,inputMode:`search`,autoComplete:`off`,"aria-label":d({id:`L3PYgw`,message:`Search currencies`}),placeholder:d({id:`L3PYgw`,message:`Search currencies`}),value:u.query,onChange:e=>u.setQuery(e.currentTarget.value),...l.props(o.searchInput)}),u.query?s(r.Addon,{align:`inline-end`,children:s(r.Button,{size:`icon-sm`,"aria-label":d({id:`V8yTm6`,message:`Clear search`}),onClick:()=>u.setQuery(``),children:s(n,{"aria-hidden":!0,...l.props(o.clearIcon)})})}):null]})})}export{u as OnrampCurrencyPickerSearch};
@@ -0,0 +1 @@
1
+ import{createContext as e,use as t}from"react";const n=e(null);function r(e){let r=t(n);if(!r)throw Error(`${e} must be rendered inside <OnrampCurrencyPicker>.`);return r}function i(e,t){let n=t.trim().toLowerCase();return n?e.code.toLowerCase().includes(n)||e.name.toLowerCase().includes(n)||e.symbol.toLowerCase().includes(n):!0}export{n as OnrampCurrencyPickerContext,i as currencyMatchesQuery,r as useOnrampCurrencyPickerContext};
@@ -0,0 +1,3 @@
1
+ import { CurrencyOption, OnrampCurrencyPickerBodyProps, OnrampCurrencyPickerDialogProps, OnrampCurrencyPickerHeaderProps, OnrampCurrencyPickerProps, OnrampCurrencyPickerRowProps } from "./types.js";
2
+ import { OnrampCurrencyPicker } from "./OnrampCurrencyPicker.js";
3
+ import { ONRAMP_CURRENCY_PICKER_SLOTS, OnrampCurrencyPickerSlot } from "./OnrampCurrencyPicker.slots.js";
@@ -0,0 +1 @@
1
+ import"./OnrampCurrencyPicker.slots.js";import"./OnrampCurrencyPicker.js";
@@ -0,0 +1,48 @@
1
+ import { DialogShellControls } from "../../../../../shared/dialog/DialogShell.js";
2
+ import { ComponentProps, ReactNode } from "react";
3
+
4
+ //#region src/flows/deposit/widgets/onramp-currency-picker/compound/types.d.ts
5
+ /**
6
+ * One selectable currency row. Mirrors `OnrampCurrencyPayload` plus a UI-only `popular` flag the
7
+ * picker uses to split the Popular / All sections.
8
+ */
9
+ interface CurrencyOption {
10
+ /** ISO-4217 code (e.g. `"USD"`) — the stable row id + selection value. */
11
+ code: string;
12
+ /** Display name (e.g. `"US Dollar"`) — the primary row label + a search target. */
13
+ name: string;
14
+ /** Narrow currency symbol (e.g. `"$"`) — drives the row glyph. */
15
+ symbol: string;
16
+ /** When true, the row sorts to the top of the list ahead of the alphabetical rest. */
17
+ popular?: boolean;
18
+ /** Optional driver-supplied emblem URL — rendered through the glyph's `Image` fallback. */
19
+ iconUrl?: string;
20
+ }
21
+ /**
22
+ * Root props for the `OnrampCurrencyPicker` compound. Each per-part prop is an optional override of
23
+ * the corresponding context value.
24
+ */
25
+ interface OnrampCurrencyPickerProps {
26
+ /** Full selectable currency list (popular-first split is derived from each option's `popular`). */
27
+ currencies?: readonly CurrencyOption[];
28
+ /** Currently-selected currency code — drives the selected row's check + ring. */
29
+ selectedCode?: string;
30
+ /** Selection handler — fires with the chosen code. */
31
+ onSelect?: (code: string) => void;
32
+ /** Back-chevron handler. Omit to hide the chevron. */
33
+ onBack?: () => void;
34
+ /** Header title override (defaults to the translated "Currency"). */
35
+ headerTitle?: string;
36
+ /** When true, the body renders skeleton rows instead of the list. */
37
+ loading?: boolean;
38
+ children?: ReactNode;
39
+ }
40
+ type OnrampCurrencyPickerDialogProps = OnrampCurrencyPickerProps & DialogShellControls;
41
+ type OnrampCurrencyPickerBodyProps = ComponentProps<"div">;
42
+ interface OnrampCurrencyPickerHeaderProps {
43
+ title?: string;
44
+ onBack?: (() => void) | null;
45
+ }
46
+ type OnrampCurrencyPickerRowProps = CurrencyOption;
47
+ //#endregion
48
+ export { CurrencyOption, OnrampCurrencyPickerBodyProps, OnrampCurrencyPickerDialogProps, OnrampCurrencyPickerHeaderProps, OnrampCurrencyPickerProps, OnrampCurrencyPickerRowProps };
@@ -0,0 +1 @@
1
+ import { OnrampCurrencyPicker } from "./OnrampCurrencyPicker.js";
@@ -0,0 +1 @@
1
+ import"./OnrampCurrencyPicker.js";
@@ -5,6 +5,7 @@ import { ProcessingStateDetails } from "../../../../shared/widgets/processing-st
5
5
  import { ProcessingStateHeader } from "../../../../shared/widgets/processing-state/compound/components/Header.js";
6
6
  import { ProcessingStateHero } from "../../../../shared/widgets/processing-state/compound/components/Hero.js";
7
7
  import { ProcessingStateStatusPill } from "../../../../shared/widgets/processing-state/compound/components/StatusPill.js";
8
+ import { OnrampPaymentPendingFlow } from "./compound/components/Flow.js";
8
9
  import { OnrampPaymentPendingReopenButton } from "./compound/components/ReopenButton.js";
9
10
  import { ComponentProps, ReactNode } from "react";
10
11
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -37,6 +38,7 @@ declare namespace OnrampPaymentPending {
37
38
  type DialogProps = ComponentProps<"div"> & DialogShellControls & OnrampPaymentPendingOwnProps;
38
39
  const Dialog: typeof OnrampPaymentPendingDialog;
39
40
  const ReopenButton: typeof OnrampPaymentPendingReopenButton;
41
+ const Flow: typeof OnrampPaymentPendingFlow;
40
42
  const Header: typeof ProcessingStateHeader;
41
43
  const Body: (props: ProcessingStateBodyProps) => _$react_jsx_runtime0.JSX.Element;
42
44
  const Hero: typeof ProcessingStateHero;
@@ -1 +1 @@
1
- "use client";import{Trans as e}from"../../../../shared/i18n/Trans.js";import{useLingui as t}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useDepositSnapshot as n}from"../../driver/context.js";import{openCheckoutPopup as r}from"../../shared/checkoutPopup.js";import{useDepositActions as i,useDepositEffectiveState as a}from"../../orchestrator/controller.js";import{DialogShell as o}from"../../../../shared/dialog/DialogShell.js";import{text as s}from"../../../../shared/ui/Text/Text.js";import"../../../../ui/index.js";import{ONRAMP_PAYMENT_PENDING_SLOTS as c}from"./compound/OnrampPaymentPending.slots.js";import{OnrampPaymentPending as l}from"./compound/OnrampPaymentPending.js";import"./compound/index.js";import{jsx as u,jsxs as d}from"react/jsx-runtime";function f({children:o,...f}){let p=n(),m=a(),{back:h}=i(),{_:g}=t();if(m.name!==`onrampPaymentPending`)return null;let{checkoutUrl:_}=m.ctx,v=p.onrampSession,y=v?.status===`ready`||v?.status===`stale`?v.payload:void 0,b=p.onrampQuote,x=b?.status===`ready`||b?.status===`stale`?b.payload:void 0,S=y?.receiveAmount?.formatted??x?.receiveAmount.formatted??``,C=x?.receiveAsset.symbol??``,w=()=>{r(_)};return u(l,{...f,amount:S,creditedAsset:{symbol:C},headerTitle:g({id:`y3dWqX`,message:`Finish your payment`}),statusPillLabel:g({id:`quR8Qp`,message:`Waiting for payment`}),onBack:h,onReopen:w,children:o??u(l.Body,{children:d(`div`,{"data-stridge-slot":c.body,className:`OnrampPaymentPending__styles.body x78zum5 xdt5ytf x1qjc9v5 x157g05j x4xct4k xpnfv0q x1hvdk87 xmg6hw8`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:14`,children:[u(`div`,{className:`OnrampPaymentPending__styles.statusRow x78zum5 xl56j7k`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:38`,children:u(l.StatusPill,{})}),d(`div`,{className:`OnrampPaymentPending__styles.copy x78zum5 xdt5ytf x6s0dn4 x1a6yh9e x2b8uid`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:24`,children:[u(s.span,{size:`lg`,leading:`tight`,className:`OnrampPaymentPending__styles.headline x1ghz6dp x1qvi77d`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:31`,children:u(e,{id:`y3dWqX`,message:`Finish your payment`})}),u(s.span,{size:`sm`,leading:`normal`,color:`subdued`,className:`OnrampPaymentPending__styles.bodyText x1ghz6dp`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:35`,children:u(e,{id:`sMaRBz`,message:`Complete your purchase in the window we just opened. This screen updates automatically.`})})]}),S?u(l.Details,{children:u(l.Detail,{label:g({id:`88cUW-`,message:`You receive`}),value:`${S} ${C}`.trim()})}):null,u(l.ReopenButton,{})]})})})}function p({open:e,defaultOpen:t,onOpenChange:n,trigger:r,...i}){return u(o,{open:e,defaultOpen:t,onOpenChange:n,trigger:r,children:u(f,{...i})})}(function(e){e.Dialog=p,e.ReopenButton=l.ReopenButton,e.Header=l.Header,e.Body=l.Body,e.Hero=l.Hero,e.StatusPill=l.StatusPill,e.Details=l.Details,e.Detail=l.Detail})(f||={});export{f as OnrampPaymentPending};
1
+ "use client";import{Trans as e}from"../../../../shared/i18n/Trans.js";import{useLingui as t}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useDepositSnapshot as n}from"../../driver/context.js";import{openCheckoutPopup as r}from"../../shared/checkoutPopup.js";import{useDepositActions as i,useDepositEffectiveState as a}from"../../orchestrator/controller.js";import{DialogShell as o}from"../../../../shared/dialog/DialogShell.js";import{FiatAmount as s}from"../../../../shared/ui/FiatSymbol/FiatAmount.js";import"../../../../shared/ui/FiatSymbol/index.js";import{text as c}from"../../../../shared/ui/Text/Text.js";import"../../../../ui/index.js";import{ONRAMP_PAYMENT_PENDING_SLOTS as l}from"./compound/OnrampPaymentPending.slots.js";import{OnrampPaymentPending as u}from"./compound/OnrampPaymentPending.js";import"./compound/index.js";import{jsx as d,jsxs as f}from"react/jsx-runtime";function p({children:o,...p}){let m=n(),h=a(),{back:g}=i(),{_,i18n:v}=t();if(h.name!==`onrampPaymentPending`)return null;let{checkoutUrl:y}=h.ctx,b=m.onrampSession,x=b?.status===`ready`||b?.status===`stale`?b.payload:void 0,S=m.onrampQuote,C=S?.status===`ready`||S?.status===`stale`?S.payload:void 0,w=x?.receiveAmount?.formatted??C?.receiveAmount.formatted??``,T=x?.destinationAsset??C?.receiveAsset.symbol??``,E=x?.fiatCurrency??C?.fiatCurrency,D=x?.fiatAmount?.value??C?.amountFiat.value,O=x?.fiatAmount?.formatted??C?.amountFiat.formatted,k=E&&D!==void 0?d(s,{value:D,currency:E,locale:v.locale}):O,A=x?.depositAsset,j=C&&C.receiveAsset.symbol===T?{symbol:C.receiveAsset.symbol,chainId:C.receiveAsset.chainId,address:C.receiveAsset.address,isNative:C.receiveAsset.isNative,...C.receiveAsset.assetLogoUrl?{logoUrl:C.receiveAsset.assetLogoUrl}:{}}:{symbol:T},M=[];E&&M.push({label:_({id:`VAxOSg`,message:`You pay`}),value:E,fiatCode:E,...k?{amount:k}:{}}),A&&M.push({label:_({id:`8T4Ha9`,message:`You buy`}),value:A,token:{symbol:A}}),T&&M.push({label:_({id:`88cUW-`,message:`You receive`}),value:T,token:j,...w?{amount:w}:{}});let N=M.length>=2?{legs:M}:void 0,P=()=>{r(y)};return d(u,{...p,amount:w,creditedAsset:{symbol:T},headerTitle:_({id:`y3dWqX`,message:`Finish your payment`}),statusPillLabel:_({id:`quR8Qp`,message:`Waiting for payment`}),onBack:g,onReopen:P,...N?{flow:N}:{},children:o??d(u.Body,{children:f(`div`,{"data-stridge-slot":l.body,className:`OnrampPaymentPending__styles.body x78zum5 xdt5ytf x1qjc9v5 x157g05j x4xct4k xpnfv0q x1hvdk87 xmg6hw8`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:15`,children:[d(`div`,{className:`OnrampPaymentPending__styles.statusRow x78zum5 xl56j7k`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:39`,children:d(u.StatusPill,{})}),f(`div`,{className:`OnrampPaymentPending__styles.copy x78zum5 xdt5ytf x6s0dn4 x1a6yh9e x2b8uid`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:25`,children:[d(c.span,{size:`lg`,leading:`tight`,className:`OnrampPaymentPending__styles.headline x1ghz6dp x1qvi77d`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:32`,children:d(e,{id:`y3dWqX`,message:`Finish your payment`})}),d(c.span,{size:`sm`,leading:`normal`,color:`subdued`,className:`OnrampPaymentPending__styles.bodyText x1ghz6dp`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:36`,children:d(e,{id:`sMaRBz`,message:`Complete your purchase in the window we just opened. This screen updates automatically.`})})]}),d(u.Flow,{}),N?d(c.span,{size:`xs`,leading:`normal`,color:`subdued`,"data-stridge-slot":l.note,className:`OnrampPaymentPending__styles.note x1ghz6dp x2b8uid x1va8c73 xamitd3`,"data-style-src":`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.tsx:44`,children:d(e,{id:`3rWvwk`,message:`The address shown in the payment window is a temporary deposit address — your funds are automatically converted and credited to your account.`})}):null,d(u.ReopenButton,{})]})})})}function m({open:e,defaultOpen:t,onOpenChange:n,trigger:r,...i}){return d(o,{open:e,defaultOpen:t,onOpenChange:n,trigger:r,children:d(p,{...i})})}(function(e){e.Dialog=m,e.ReopenButton=u.ReopenButton,e.Flow=u.Flow,e.Header=u.Header,e.Body=u.Body,e.Hero=u.Hero,e.StatusPill=u.StatusPill,e.Details=u.Details,e.Detail=u.Detail})(p||={});export{p as OnrampPaymentPending};
@@ -6,7 +6,9 @@ import { ProcessingStateHeader } from "../../../../../shared/widgets/processing-
6
6
  import { ProcessingStateHero } from "../../../../../shared/widgets/processing-state/compound/components/Hero.js";
7
7
  import { ProcessingStateStatusPill } from "../../../../../shared/widgets/processing-state/compound/components/StatusPill.js";
8
8
  import { ProcessingState } from "../../../../../shared/widgets/processing-state/compound/ProcessingState.js";
9
+ import { OnrampPaymentPendingFlow } from "./components/Flow.js";
9
10
  import { OnrampPaymentPendingReopenButton } from "./components/ReopenButton.js";
11
+ import { OnrampFlowSummary } from "./context.js";
10
12
  import { ComponentProps, ReactNode } from "react";
11
13
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
12
14
 
@@ -19,6 +21,8 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
19
21
  interface OnrampPaymentPendingProps extends Omit<ProcessingState.Props, "children"> {
20
22
  /** Re-opens the hosted-checkout window. Wired through to {@link OnrampPaymentPending.ReopenButton}. */
21
23
  onReopen?: () => void;
24
+ /** Flow legs (pay → buy → receive) driving the {@link OnrampPaymentPending.Flow} strip. */
25
+ flow?: OnrampFlowSummary;
22
26
  /**
23
27
  * Optional custom composition. When omitted, the canonical default renders the processing
24
28
  * chrome (Header / Hero / StatusPill) + the order summary rows + the Reopen affordance.
@@ -48,8 +52,9 @@ declare function OnrampPaymentPendingDialog({
48
52
  declare namespace OnrampPaymentPending {
49
53
  type Props = OnrampPaymentPendingProps;
50
54
  type DialogProps = OnrampPaymentPendingProps & DialogShellControls & ComponentProps<"div">;
51
- /** Onramp-pending-specific sub-part. */
55
+ /** Onramp-pending-specific sub-parts. */
52
56
  const ReopenButton: typeof OnrampPaymentPendingReopenButton;
57
+ const Flow: typeof OnrampPaymentPendingFlow;
53
58
  /** Processing-state compound parts re-exposed for one-stop composition. */
54
59
  const Header: typeof ProcessingStateHeader;
55
60
  const Body: (props: ProcessingStateBodyProps) => _$react_jsx_runtime0.JSX.Element;
@@ -1 +1 @@
1
- "use client";import{DialogShell as e}from"../../../../../shared/dialog/DialogShell.js";import{ProcessingState as t}from"../../../../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../../../../shared/widgets/processing-state/compound/index.js";import{OnrampPaymentPendingContext as n}from"./context.js";import{OnrampPaymentPendingReopenButton as r}from"./components/ReopenButton.js";import{useMemo as i}from"react";import{jsx as a}from"react/jsx-runtime";function o(e){let{onReopen:r,children:o,...s}=e;return a(n,{value:i(()=>({...r?{onReopen:r}:{}}),[r]),children:a(t,{...s,children:o})})}function s({open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:s,...c}){return a(e,{open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:a(o,{...c,children:s})})}(function(e){e.ReopenButton=r,e.Header=t.Header,e.Body=t.Body,e.Hero=t.Hero,e.StatusPill=t.StatusPill,e.Details=t.Details,e.Detail=t.Detail,e.Dialog=s})(o||={});export{o as OnrampPaymentPending};
1
+ "use client";import{DialogShell as e}from"../../../../../shared/dialog/DialogShell.js";import{ProcessingState as t}from"../../../../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../../../../shared/widgets/processing-state/compound/index.js";import{OnrampPaymentPendingContext as n}from"./context.js";import{OnrampPaymentPendingFlow as r}from"./components/Flow.js";import{OnrampPaymentPendingReopenButton as i}from"./components/ReopenButton.js";import{useMemo as a}from"react";import{jsx as o}from"react/jsx-runtime";function s(e){let{onReopen:r,flow:i,children:s,...c}=e;return o(n,{value:a(()=>({...r?{onReopen:r}:{},...i?{flow:i}:{}}),[r,i]),children:o(t,{...c,children:s})})}function c({open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:a,...c}){return o(e,{open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:o(s,{...c,children:a})})}(function(e){e.ReopenButton=i,e.Flow=r,e.Header=t.Header,e.Body=t.Body,e.Hero=t.Hero,e.StatusPill=t.StatusPill,e.Details=t.Details,e.Detail=t.Detail,e.Dialog=c})(s||={});export{s as OnrampPaymentPending};
@@ -8,6 +8,9 @@ declare const ONRAMP_PAYMENT_PENDING_SLOTS: {
8
8
  readonly root: "onramp-payment-pending";
9
9
  readonly reopen: "onramp-payment-pending-reopen";
10
10
  readonly body: "onramp-payment-pending-body";
11
+ readonly flow: "onramp-payment-pending-flow";
12
+ readonly flowLeg: "onramp-payment-pending-flow-leg";
13
+ readonly note: "onramp-payment-pending-note";
11
14
  };
12
15
  type OnrampPaymentPendingSlot = (typeof ONRAMP_PAYMENT_PENDING_SLOTS)[keyof typeof ONRAMP_PAYMENT_PENDING_SLOTS];
13
16
  //#endregion
@@ -1 +1 @@
1
- const e={root:`onramp-payment-pending`,reopen:`onramp-payment-pending-reopen`,body:`onramp-payment-pending-body`};export{e as ONRAMP_PAYMENT_PENDING_SLOTS};
1
+ const e={root:`onramp-payment-pending`,reopen:`onramp-payment-pending-reopen`,body:`onramp-payment-pending-body`,flow:`onramp-payment-pending-flow`,flowLeg:`onramp-payment-pending-flow-leg`,note:`onramp-payment-pending-note`};export{e as ONRAMP_PAYMENT_PENDING_SLOTS};
@@ -0,0 +1,13 @@
1
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.d.ts
4
+ /**
5
+ * Flow strip for the payment-pending screen — a left-to-right `pay → buy → receive` summary of the
6
+ * three legs of the onramp session (fiat in, the asset the provider buys at the deposit address, the
7
+ * asset the user ultimately receives). Reads the legs from the {@link OnrampPaymentPending} root
8
+ * context; renders nothing when none are wired. The chevrons auto-mirror in RTL via
9
+ * `ChevronRightIcon`'s built-in flip.
10
+ */
11
+ declare function OnrampPaymentPendingFlow(): _$react_jsx_runtime0.JSX.Element | null;
12
+ //#endregion
13
+ export { OnrampPaymentPendingFlow };
@@ -0,0 +1 @@
1
+ "use client";import{ChevronRightIcon as e}from"../../../../../../shared/icons/ChevronRightIcon.js";import"../../../../../../icons/index.js";import{CurrencyGlyph as t}from"../../../../../../shared/ui/CurrencyGlyph/CurrencyGlyph.js";import"../../../../../../shared/ui/CurrencyGlyph/index.js";import{text as n}from"../../../../../../shared/ui/Text/Text.js";import{TokenLogo as r}from"../../../../../../shared/ui/TokenLogo/TokenLogo.js";import"../../../../../../shared/ui/TokenLogo/index.js";import"../../../../../../ui/index.js";import{useOnrampPaymentPendingContext as i}from"../context.js";import{ONRAMP_PAYMENT_PENDING_SLOTS as a}from"../OnrampPaymentPending.slots.js";import{styles as o}from"./Flow.styles.js";import{Fragment as s}from"react";import{jsx as c,jsxs as l}from"react/jsx-runtime";import*as u from"@stylexjs/stylex";function d(){let t=i(`OnrampPaymentPending.Flow`).flow?.legs;return!t||t.length===0?null:c(`div`,{"data-stridge-slot":a.flow,...u.props(o.root),children:t.map((t,n)=>l(s,{children:[n>0?c(e,{"aria-hidden":!0,...u.props(o.separator)}):null,c(f,{leg:t})]},`${t.fiatCode?`fiat`:`token`}:${t.value}`))})}function f({leg:e}){return l(`div`,{"data-stridge-slot":a.flowLeg,...u.props(o.leg),children:[e.fiatCode?c(t,{code:e.fiatCode,size:40}):e.token?c(r,{size:40,symbol:e.token.symbol,...e.token.chainId===void 0?{}:{chainId:e.token.chainId},...e.token.address?{address:e.token.address}:{},...e.token.isNative===void 0?{}:{isNative:e.token.isNative},...e.token.logoUrl?{logoUrl:e.token.logoUrl}:{}}):null,l(`span`,{...u.props(o.legText),children:[c(n.span,{size:`caption`,fontWeight:`medium`,leading:`tight`,tracking:`wide`,color:`subdued`,...u.props(o.caption),children:e.label}),c(n.span,{size:`sm`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,truncate:!0,...u.props(o.value),children:e.value}),e.amount?c(n.span,{size:`xs`,leading:`tight`,color:`subdued`,truncate:!0,...u.props(o.amount),children:e.amount}):null]})]})}export{d as OnrampPaymentPendingFlow};
@@ -0,0 +1 @@
1
+ const e={root:{"Flow__styles.root":`Flow__styles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x1cy8zhl`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x1a6yh9e`,"paddingBlock-k8WAf4":`x1yhm569`,"paddingInline-kg3NbH":`xqsvw4s`,"borderRadius-kaIpWk":`x5bw3pk`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`x12c9lpl`,"backgroundColor-kWkggS":`x407w7c`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:6`},leg:{"Flow__styles.leg":`Flow__styles.leg`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1a6yh9e`,"flexBasis-kCS8Yb":`x1r8uery`,"flexGrow-kzQI83":`x1iyjqo2`,"minWidth-k7Eaqz":`xeuugli`,"textAlign-k9WMMc":`x2b8uid`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:21`},legText:{"Flow__styles.legText":`Flow__styles.legText`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x195vfkc`,"minWidth-k7Eaqz":`xeuugli`,"maxWidth-ks0D6T":`x193iq5w`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:31`},caption:{"Flow__styles.caption":`Flow__styles.caption`,"margin-kogj98":`x1ghz6dp`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:39`},value:{"Flow__styles.value":`Flow__styles.value`,"margin-kogj98":`x1ghz6dp`,"maxWidth-ks0D6T":`x193iq5w`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:42`},amount:{"Flow__styles.amount":`Flow__styles.amount`,"margin-kogj98":`x1ghz6dp`,"maxWidth-ks0D6T":`x193iq5w`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:46`},separator:{"Flow__styles.separator":`Flow__styles.separator`,"flexShrink-kmuXW":`x2lah0s`,"width-kzqmXN":`x1kky2od`,"height-kZKoxP":`xlup9mm`,"marginTop-keoZOQ":`x14vqqas`,"color-kMwMTN":`x137ha3m`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.ts:51`}};export{e as styles};
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from "react";
2
+
3
+ //#region src/flows/deposit/widgets/onramp-payment-pending/compound/context.d.ts
4
+ /**
5
+ * One node of the onramp flow strip — what the user pays, what the provider buys, and what the user
6
+ * ultimately receives. A `fiatCode` renders a {@link import("#/shared/ui/CurrencyGlyph").CurrencyGlyph}
7
+ * (flag); otherwise `token` renders a {@link import("#/shared/ui/TokenLogo").TokenLogo}.
8
+ */
9
+ interface OnrampFlowLeg {
10
+ /** Caption above the value (e.g. "You pay"). */
11
+ label: ReactNode;
12
+ /** Primary value — fiat currency code or crypto symbol (e.g. "EUR", "USDC"). */
13
+ value: string;
14
+ /** Optional amount line shown under the value (the paid / received ends). A `ReactNode` so a leg can carry a rendered amount, not just a string. */
15
+ amount?: ReactNode;
16
+ /** Fiat currency code — when set, the node renders a flag glyph instead of a token logo. */
17
+ fiatCode?: string;
18
+ /** Crypto identity for the token logo when `fiatCode` is absent. */
19
+ token?: {
20
+ symbol: string;
21
+ chainId?: number;
22
+ address?: string;
23
+ isNative?: boolean;
24
+ logoUrl?: string;
25
+ };
26
+ }
27
+ /** The ordered legs of the onramp flow strip (pay → buy → receive). */
28
+ interface OnrampFlowSummary {
29
+ legs: OnrampFlowLeg[];
30
+ }
31
+ //#endregion
32
+ export { OnrampFlowLeg, OnrampFlowSummary };
@@ -1,2 +1,3 @@
1
+ import { OnrampFlowLeg, OnrampFlowSummary } from "./context.js";
1
2
  import { OnrampPaymentPending, OnrampPaymentPendingProps } from "./OnrampPaymentPending.js";
2
3
  import { ONRAMP_PAYMENT_PENDING_SLOTS, OnrampPaymentPendingSlot } from "./OnrampPaymentPending.slots.js";
@@ -0,0 +1,38 @@
1
+ import { DialogShellControls } from "../../../../shared/dialog/DialogShell.js";
2
+ import { OnrampProviderPickerBody } from "./compound/components/Body.js";
3
+ import { OnrampProviderPickerHeader } from "./compound/components/Header.js";
4
+ import { OnrampProviderPickerRow } from "./compound/components/ProviderRow.js";
5
+ import { ComponentProps, ReactNode } from "react";
6
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
7
+
8
+ //#region src/flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.d.ts
9
+ interface OnrampProviderPickerOwnProps {
10
+ children?: ReactNode;
11
+ }
12
+ type OnrampProviderPickerProps = ComponentProps<"div"> & OnrampProviderPickerOwnProps;
13
+ /**
14
+ * Orchestrated provider picker — wires the `onrampProviders` + `onrampQuote` entities and the
15
+ * deposit FSM into the `OnrampProviderPicker` compound. Renders only on the `onrampProviderPicker`
16
+ * state. The active provider's receive amount is threaded live from the `onrampQuote` entity (the
17
+ * one real quote); coming-soon rows carry no amounts. Selecting a provider dispatches
18
+ * `selectOnrampProvider` and returns to amount entry.
19
+ */
20
+ declare function OnrampProviderPicker(props: OnrampProviderPickerProps): _$react_jsx_runtime0.JSX.Element | null;
21
+ declare function OnrampProviderPickerDialog({
22
+ open,
23
+ defaultOpen,
24
+ onOpenChange,
25
+ trigger,
26
+ children,
27
+ ...rest
28
+ }: OnrampProviderPickerProps & DialogShellControls): _$react_jsx_runtime0.JSX.Element;
29
+ declare namespace OnrampProviderPicker {
30
+ type Props = OnrampProviderPickerProps;
31
+ type DialogProps = OnrampProviderPickerProps & DialogShellControls;
32
+ const Dialog: typeof OnrampProviderPickerDialog;
33
+ const Header: typeof OnrampProviderPickerHeader;
34
+ const Body: typeof OnrampProviderPickerBody;
35
+ const Row: typeof OnrampProviderPickerRow;
36
+ }
37
+ //#endregion
38
+ export { OnrampProviderPicker };
@@ -0,0 +1 @@
1
+ "use client";import{useDepositSnapshot as e}from"../../driver/context.js";import{useDepositActions as t,useDepositEffectiveState as n}from"../../orchestrator/controller.js";import{DialogShell as r}from"../../../../shared/dialog/DialogShell.js";import{OnrampProviderPicker as i}from"./compound/OnrampProviderPicker.js";import"./compound/index.js";import{useMemo as a}from"react";import{jsx as o}from"react/jsx-runtime";const s=[];function c(r){let{children:c,...l}=r,u=e(),d=n(),{back:f,selectOnrampProvider:p}=t(),m=u.onrampProviders,h=m?.status===`ready`||m?.status===`stale`,g=!m||m.status===`idle`||m.status===`loading`,_=u.onrampQuote,v=_?.status===`ready`||_?.status===`stale`?_.payload:void 0,y=h?m.payload.activeId:void 0,b=a(()=>h?m.payload.providers.map(e=>{let t=e.status===`active`,n=t?v?.receiveAmount.formatted??e.receive?.formatted:void 0,r=t?v?.receiveAsset.symbol??e.receiveAsset?.symbol:void 0;return{id:e.id,name:e.name,status:e.status,...e.logoUrl===void 0?{}:{logoUrl:e.logoUrl},...e.note===void 0?{}:{note:e.note},...n===void 0?{}:{receiveFormatted:n},...r===void 0?{}:{receiveSymbol:r}}}):s,[h,m,v]);if(d.name!==`onrampProviderPicker`)return null;let x=d.ctx.providerId??y;return o(i,{...l,providers:b,...x===void 0?{}:{selectedId:x},onSelect:p,onBack:f,loading:g,children:c})}function l({open:e,defaultOpen:t,onOpenChange:n,trigger:i,children:a,...s}){return o(r,{...e===void 0?{}:{open:e},...t===void 0?{}:{defaultOpen:t},...n?{onOpenChange:n}:{},...i===void 0?{}:{trigger:i},children:o(c,{...s,children:a})})}(function(e){e.Dialog=l,e.Header=i.Header,e.Body=i.Body,e.Row=i.Row})(c||={});export{c as OnrampProviderPicker};
@@ -0,0 +1,35 @@
1
+ import { OnrampProviderPickerBody } from "./components/Body.js";
2
+ import { OnrampProviderPickerBodyProps, OnrampProviderPickerDialogProps, OnrampProviderPickerHeaderProps, OnrampProviderPickerProps, OnrampProviderPickerRowProps } from "./types.js";
3
+ import { OnrampProviderPickerHeader } from "./components/Header.js";
4
+ import { OnrampProviderPickerRow } from "./components/ProviderRow.js";
5
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
6
+
7
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.d.ts
8
+ /**
9
+ * Provider picker — the buy-with-card provider sub-screen. Built as a real selectable list (single
10
+ * live provider today, multi-ready): the active provider is selectable with its live receive amount;
11
+ * coming-soon rows are dimmed, badged, and inert. No fabricated competing amounts. Mirrors the
12
+ * asset-picker compound shape.
13
+ */
14
+ declare function OnrampProviderPicker(props: OnrampProviderPickerProps): _$react_jsx_runtime0.JSX.Element;
15
+ declare function OnrampProviderPickerDialog({
16
+ open,
17
+ defaultOpen,
18
+ onOpenChange,
19
+ trigger,
20
+ children,
21
+ ...rootProps
22
+ }: OnrampProviderPickerDialogProps): _$react_jsx_runtime0.JSX.Element;
23
+ declare namespace OnrampProviderPicker {
24
+ type Props = OnrampProviderPickerProps;
25
+ type HeaderProps = OnrampProviderPickerHeaderProps;
26
+ type BodyProps = OnrampProviderPickerBodyProps;
27
+ type RowProps = OnrampProviderPickerRowProps;
28
+ type DialogProps = OnrampProviderPickerDialogProps;
29
+ const Header: typeof OnrampProviderPickerHeader;
30
+ const Body: typeof OnrampProviderPickerBody;
31
+ const Row: typeof OnrampProviderPickerRow;
32
+ const Dialog: typeof OnrampProviderPickerDialog;
33
+ }
34
+ //#endregion
35
+ export { OnrampProviderPicker };
@@ -0,0 +1 @@
1
+ "use client";import{DialogShell as e}from"../../../../../shared/dialog/DialogShell.js";import{Tooltip as t}from"../../../../../shared/ui/Tooltip/Tooltip.js";import"../../../../../shared/ui/Tooltip/index.js";import{Frame as n}from"../../../../../shared/dialog/Frame.js";import{OnrampProviderPickerContext as r}from"./context.js";import{ONRAMP_PROVIDER_PICKER_SLOTS as i}from"./OnrampProviderPicker.slots.js";import{styles as a}from"./OnrampProviderPicker.styles.js";import{OnrampProviderPickerRow as o}from"./components/ProviderRow.js";import{OnrampProviderPickerBody as s}from"./components/Body.js";import{OnrampProviderPickerHeader as c}from"./components/Header.js";import{useMemo as l}from"react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import*as p from"@stylexjs/stylex";const m=[],h=f(u,{children:[d(c,{}),d(s,{})]});function g(e){let{providers:o=m,selectedId:s,onSelect:c,onBack:u,headerTitle:f,loading:g=!1,children:_}=e;return d(r,{value:l(()=>({providers:o,loading:g,...s===void 0?{}:{selectedId:s},...c?{onSelect:c}:{},...u?{onBack:u}:{},...f===void 0?{}:{headerTitle:f}}),[o,g,s,c,u,f]),children:d(t.Provider,{children:d(n,{"data-stridge-slot":i.root,...p.props(a.root),children:_??h})})})}function _({open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:a,...o}){return d(e,{...t===void 0?{}:{open:t},...n===void 0?{}:{defaultOpen:n},...r?{onOpenChange:r}:{},...i===void 0?{}:{trigger:i},children:d(g,{...o,children:a})})}(function(e){e.Header=c,e.Body=s,e.Row=o,e.Dialog=_})(g||={});export{g as OnrampProviderPicker};
@@ -0,0 +1,19 @@
1
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.d.ts
2
+ declare const ONRAMP_PROVIDER_PICKER_SLOTS: {
3
+ readonly root: "onramp-provider-picker";
4
+ readonly header: "onramp-provider-picker-header";
5
+ readonly body: "onramp-provider-picker-body";
6
+ readonly list: "onramp-provider-picker-list";
7
+ readonly row: "onramp-provider-picker-row";
8
+ readonly rowLogo: "onramp-provider-picker-row-logo";
9
+ readonly rowName: "onramp-provider-picker-row-name";
10
+ readonly rowNote: "onramp-provider-picker-row-note";
11
+ readonly rowReceive: "onramp-provider-picker-row-receive";
12
+ readonly rowBadge: "onramp-provider-picker-row-badge";
13
+ readonly rowCheck: "onramp-provider-picker-row-check";
14
+ readonly comingSoonNote: "onramp-provider-picker-coming-soon-note";
15
+ readonly empty: "onramp-provider-picker-empty";
16
+ };
17
+ type OnrampProviderPickerSlot = (typeof ONRAMP_PROVIDER_PICKER_SLOTS)[keyof typeof ONRAMP_PROVIDER_PICKER_SLOTS];
18
+ //#endregion
19
+ export { ONRAMP_PROVIDER_PICKER_SLOTS, OnrampProviderPickerSlot };
@@ -0,0 +1 @@
1
+ const e={root:`onramp-provider-picker`,header:`onramp-provider-picker-header`,body:`onramp-provider-picker-body`,list:`onramp-provider-picker-list`,row:`onramp-provider-picker-row`,rowLogo:`onramp-provider-picker-row-logo`,rowName:`onramp-provider-picker-row-name`,rowNote:`onramp-provider-picker-row-note`,rowReceive:`onramp-provider-picker-row-receive`,rowBadge:`onramp-provider-picker-row-badge`,rowCheck:`onramp-provider-picker-row-check`,comingSoonNote:`onramp-provider-picker-coming-soon-note`,empty:`onramp-provider-picker-empty`};export{e as ONRAMP_PROVIDER_PICKER_SLOTS};
@@ -0,0 +1 @@
1
+ const e={root:{"OnrampProviderPicker__styles.root":`OnrampProviderPicker__styles.root`,"position-kVAEAm":`x1n2onr6`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x17fpy1y`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:4`},header:{"OnrampProviderPicker__styles.header":`OnrampProviderPicker__styles.header`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`xyamay9`,"paddingInlineEnd-kwRFfy":`x1x5flf6`,"paddingBottom-kGO01o":`x1l90r2v`,"paddingInlineStart-kZCmMZ":`xf7dkkf`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:9`},headerTitle:{"OnrampProviderPicker__styles.headerTitle":`OnrampProviderPicker__styles.headerTitle`,"flexGrow-kzQI83":`x1iyjqo2`,"margin-kogj98":`x1ghz6dp`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:16`},headerTrailing:{"OnrampProviderPicker__styles.headerTrailing":`OnrampProviderPicker__styles.headerTrailing`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1a6yh9e`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:20`},backIcon:{"OnrampProviderPicker__styles.backIcon":`OnrampProviderPicker__styles.backIcon`,"width-kzqmXN":`x6jxa94`,"height-kZKoxP":`x1v9usgg`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xzn0pkc`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:25`},body:{"OnrampProviderPicker__styles.body":`OnrampProviderPicker__styles.body`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`xyinxu5`,"paddingInlineEnd-kwRFfy":`x1x5flf6`,"paddingBottom-kGO01o":`x1hhzuzn`,"paddingInlineStart-kZCmMZ":`xwn43p0`,"maxHeight-kskxy":`x2z3yb8`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:32`},stack:{"OnrampProviderPicker__styles.stack":`OnrampProviderPicker__styles.stack`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"gap-kOIVth":`x883omv`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:43`},list:{"OnrampProviderPicker__styles.list":`OnrampProviderPicker__styles.list`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"gap-kOIVth":`x167g77z`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:48`},row:{"OnrampProviderPicker__styles.row":`OnrampProviderPicker__styles.row`,"gap-kOIVth":`x1v2ro7d`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:53`},rowDimmed:{"OnrampProviderPicker__styles.rowDimmed":`OnrampProviderPicker__styles.rowDimmed`,"opacity-kSiTet":`x197sbye`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:56`},rowText:{"OnrampProviderPicker__styles.rowText":`OnrampProviderPicker__styles.rowText`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flexBasis-kCS8Yb":`x1r8uery`,"flexGrow-kzQI83":`x1iyjqo2`,"flexShrink-kmuXW":`xs83m0k`,"minWidth-k7Eaqz":`xeuugli`,"gap-kOIVth":`x195vfkc`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:59`},rowReceive:{"OnrampProviderPicker__styles.rowReceive":`OnrampProviderPicker__styles.rowReceive`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`xuk3077`,"flexShrink-kmuXW":`x2lah0s`,"gap-kOIVth":`x195vfkc`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:68`},rowCheck:{"OnrampProviderPicker__styles.rowCheck":`OnrampProviderPicker__styles.rowCheck`,"width-kzqmXN":`x1xp8n7a`,"height-kZKoxP":`xmix8c7`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`x1me39qh`,"strokeWidth-kfJifR":`xvlca1e`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:75`},badge:{"OnrampProviderPicker__styles.badge":`OnrampProviderPicker__styles.badge`,"flexShrink-kmuXW":`x2lah0s`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:82`},empty:{"OnrampProviderPicker__styles.empty":`OnrampProviderPicker__styles.empty`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x1a6yh9e`,"paddingTop-kLKAdn":`x5gat22`,"paddingBottom-kGO01o":`x1vc98yp`,"paddingInlineStart-kZCmMZ":`xmg6hw8`,"paddingInlineEnd-kwRFfy":`x1hvdk87`,"textAlign-k9WMMc":`x2b8uid`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:85`},skeletonRow:{"OnrampProviderPicker__styles.skeletonRow":`OnrampProviderPicker__styles.skeletonRow`,"height-kZKoxP":`xng8ra`,"borderRadius-kaIpWk":`x4pepcl`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:97`},comingSoonNote:{"OnrampProviderPicker__styles.comingSoonNote":`OnrampProviderPicker__styles.comingSoonNote`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x1a6yh9e`,"minHeight-kAzted":`xbktkl8`,"paddingInline-kg3NbH":`xqsvw4s`,"borderRadius-kaIpWk":`x13pkpm2`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`xbsl7fq`,"borderColor-kVAM5u":`x12c9lpl`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:102`},comingSoonNoteIcon:{"OnrampProviderPicker__styles.comingSoonNoteIcon":`OnrampProviderPicker__styles.comingSoonNoteIcon`,"width-kzqmXN":`x1kky2od`,"height-kZKoxP":`xlup9mm`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xi96bwj`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.ts:114`}};export{e as styles};
@@ -0,0 +1,6 @@
1
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/components/Body.d.ts
4
+ declare function OnrampProviderPickerBody(): _$react_jsx_runtime0.JSX.Element;
5
+ //#endregion
6
+ export { OnrampProviderPickerBody };
@@ -0,0 +1 @@
1
+ "use client";import{useLingui as e}from"../../../../../../shared/i18n/useLingui.js";import"../../../../../../i18n/index.js";import{BellIcon as t}from"../../../../../../shared/icons/BellIcon.js";import"../../../../../../icons/index.js";import{Card as n}from"../../../../../../shared/ui/Card/Card.js";import{SelectableTileGroup as r}from"../../../../../../shared/ui/SelectableTile/SelectableTileGroup.js";import"../../../../../../shared/ui/SelectableTile/index.js";import{Skeleton as i}from"../../../../../../shared/ui/Skeleton/Skeleton.js";import"../../../../../../shared/ui/Skeleton/index.js";import{text as a}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{isSelectableProvider as o,useOnrampProviderPickerContext as s}from"../context.js";import{ONRAMP_PROVIDER_PICKER_SLOTS as c}from"../OnrampProviderPicker.slots.js";import{styles as l}from"../OnrampProviderPicker.styles.js";import{OnrampProviderPickerRow as u}from"./ProviderRow.js";import{useMemo as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";const h=[0,1,2];function g(){let g=s(`OnrampProviderPicker.Body`),{_}=e(),{selectable:v,comingSoon:y}=d(()=>({selectable:g.providers.filter(o),comingSoon:g.providers.filter(e=>!o(e))}),[g.providers]);return g.loading?f(n.Body,{"data-stridge-slot":c.body,...m.props(l.body),children:h.map(e=>f(i,{...m.props(l.skeletonRow)},e))}):g.providers.length===0?f(n.Body,{"data-stridge-slot":c.body,...m.props(l.body),children:f(`div`,{"data-stridge-slot":c.empty,...m.props(l.empty),children:f(a.span,{size:`sm`,fontWeight:`medium`,color:`subdued`,children:_({id:`mwUBEu`,message:`No providers available`})})})}):f(n.Body,{"data-stridge-slot":c.body,...m.props(l.body),children:p(`div`,{...m.props(l.stack),children:[f(r,{"aria-label":_({id:`jerYcl`,message:`Providers`}),value:g.selectedId?[g.selectedId]:[],onValueChange:e=>{let t=e[0]??g.selectedId;t&&g.onSelect&&g.onSelect(t)},"data-stridge-slot":c.list,...m.props(l.list),children:v.map(e=>f(u,{...e},e.id))}),y.map(e=>f(u,{...e},e.id)),y.length===0?p(`div`,{"data-stridge-slot":c.comingSoonNote,...m.props(l.comingSoonNote),children:[f(t,{"aria-hidden":!0,...m.props(l.comingSoonNoteIcon)}),f(a.span,{size:`sm`,fontWeight:`medium`,leading:`tight`,color:`subdued`,children:_({id:`Mgz4Bq`,message:`More providers coming soon`})})]}):null]})})}export{g as OnrampProviderPickerBody};
@@ -0,0 +1,10 @@
1
+ import { OnrampProviderPickerHeaderProps } from "../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/components/Header.d.ts
5
+ declare function OnrampProviderPickerHeader({
6
+ title,
7
+ onBack
8
+ }?: OnrampProviderPickerHeaderProps): _$react_jsx_runtime0.JSX.Element;
9
+ //#endregion
10
+ export { OnrampProviderPickerHeader };
@@ -0,0 +1 @@
1
+ "use client";import{useLingui as e}from"../../../../../../shared/i18n/useLingui.js";import"../../../../../../i18n/index.js";import{ChevronLeftIcon as t}from"../../../../../../shared/icons/ChevronLeftIcon.js";import"../../../../../../icons/index.js";import{IconButton as n}from"../../../../../../shared/ui/IconButton/IconButton.js";import{Dialog as r}from"../../../../../../shared/ui/Dialog/Dialog.js";import"../../../../../../shared/ui/Dialog/index.js";import{Card as i}from"../../../../../../shared/ui/Card/Card.js";import{text as a}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{useOnrampProviderPickerContext as o}from"../context.js";import{ONRAMP_PROVIDER_PICKER_SLOTS as s}from"../OnrampProviderPicker.slots.js";import{styles as c}from"../OnrampProviderPicker.styles.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({title:f,onBack:p}={}){let m=o(`OnrampProviderPicker.Header`),{_:h}=e(),g=f??m.headerTitle??h({id:`jerYcl`,message:`Providers`}),_=p===null?void 0:p??m.onBack;return u(i.Header,{"data-stridge-slot":s.header,...d.props(c.header),children:[typeof _==`function`?l(n,{"aria-label":h({id:`iH8pgl`,message:`Back`}),onClick:_,children:l(t,{"aria-hidden":!0,...d.props(c.backIcon)})}):null,l(a.span,{size:`base`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,truncate:!0,...d.props(c.headerTitle),children:g}),l(`div`,{...d.props(c.headerTrailing),children:l(r.CloseButton,{})})]})}export{f as OnrampProviderPickerHeader};
@@ -0,0 +1,15 @@
1
+ import { OnrampProviderPickerRowProps } from "../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/components/ProviderRow.d.ts
5
+ declare function OnrampProviderPickerRow({
6
+ id,
7
+ name,
8
+ status,
9
+ logoUrl,
10
+ note,
11
+ receiveFormatted,
12
+ receiveSymbol
13
+ }: OnrampProviderPickerRowProps): _$react_jsx_runtime0.JSX.Element;
14
+ //#endregion
15
+ export { OnrampProviderPickerRow };
@@ -0,0 +1 @@
1
+ "use client";import{useLingui as e}from"../../../../../../shared/i18n/useLingui.js";import"../../../../../../i18n/index.js";import{CheckIcon as t}from"../../../../../../shared/icons/CheckIcon.js";import"../../../../../../icons/index.js";import{Badge as n}from"../../../../../../shared/ui/Badge/Badge.js";import"../../../../../../shared/ui/Badge/index.js";import{Image as r}from"../../../../../../shared/ui/Image/Image.js";import"../../../../../../shared/ui/Image/index.js";import{SelectableTile as i}from"../../../../../../shared/ui/SelectableTile/SelectableTile.js";import"../../../../../../shared/ui/SelectableTile/index.js";import{text as a}from"../../../../../../shared/ui/Text/Text.js";import"../../../../../../ui/index.js";import{isSelectableProvider as o,useOnrampProviderPickerContext as s}from"../context.js";import{ONRAMP_PROVIDER_PICKER_SLOTS as c}from"../OnrampProviderPicker.slots.js";import{styles as l}from"../OnrampProviderPicker.styles.js";import{jsx as u,jsxs as d}from"react/jsx-runtime";import*as f from"@stylexjs/stylex";function p({id:p,name:m,status:h,logoUrl:g,note:_,receiveFormatted:v,receiveSymbol:y}){let b=s(`OnrampProviderPicker.Row`),{_:x}=e(),S=o({id:p,name:m,status:h}),C=b.selectedId===p;return d(i,{shape:`card`,...S?{value:p,selected:C}:{interactive:!1,disabled:!0},"aria-label":S?m:`${m} — ${x({id:`AUYALh`,message:`Coming soon`})}`,"data-provider-id":p,"data-stridge-slot":c.row,...f.props(l.row,!S&&l.rowDimmed),children:[u(r,{...g?{src:g}:{},alt:m,size:36,shape:`rounded`,"data-stridge-slot":c.rowLogo}),d(`span`,{...f.props(l.rowText),children:[u(a.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,truncate:!0,"data-stridge-slot":c.rowName,children:m}),S?u(a.span,{size:`xs`,fontWeight:`medium`,leading:`tight`,color:`subdued`,truncate:!0,"data-stridge-slot":c.rowNote,children:_??x({id:`iKuXva`,message:`Auto-picked for you`})}):null]}),S?v?u(`span`,{...f.props(l.rowReceive),"data-stridge-slot":c.rowReceive,children:u(a.span,{size:`callout`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,children:y?`${v} ${y}`:v})}):null:u(n,{color:`secondary`,variant:`outline`,size:`sm`,roundness:`lg`,"data-stridge-slot":c.rowBadge,...f.props(l.badge),children:x({id:`AUYALh`,message:`Coming soon`})}),S&&C?u(t,{"aria-hidden":!0,"data-stridge-slot":c.rowCheck,...f.props(l.rowCheck)}):null]})}export{p as OnrampProviderPickerRow};
@@ -0,0 +1 @@
1
+ import{createContext as e,use as t}from"react";const n=e(null);function r(e){let r=t(n);if(!r)throw Error(`${e} must be rendered inside <OnrampProviderPicker>.`);return r}function i(e){return e.status===`active`||e.status===`available`}export{n as OnrampProviderPickerContext,i as isSelectableProvider,r as useOnrampProviderPickerContext};
@@ -0,0 +1,3 @@
1
+ import { OnrampProviderPickerBodyProps, OnrampProviderPickerDialogProps, OnrampProviderPickerHeaderProps, OnrampProviderPickerProps, OnrampProviderPickerRowProps, ProviderOption } from "./types.js";
2
+ import { OnrampProviderPicker } from "./OnrampProviderPicker.js";
3
+ import { ONRAMP_PROVIDER_PICKER_SLOTS, OnrampProviderPickerSlot } from "./OnrampProviderPicker.slots.js";
@@ -0,0 +1 @@
1
+ import"./OnrampProviderPicker.slots.js";import"./OnrampProviderPicker.js";
@@ -0,0 +1,50 @@
1
+ import { OnrampProviderStatus } from "../../../driver/payloads.js";
2
+ import { DialogShellControls } from "../../../../../shared/dialog/DialogShell.js";
3
+ import { ComponentProps, ReactNode } from "react";
4
+
5
+ //#region src/flows/deposit/widgets/onramp-provider-picker/compound/types.d.ts
6
+ /**
7
+ * One provider row. `receiveFormatted` / `receiveSymbol` are populated ONLY for the active provider
8
+ * (the one real quote, threaded live from the `onrampQuote` entity); coming-soon rows carry no
9
+ * amounts.
10
+ */
11
+ interface ProviderOption {
12
+ /** Stable internal id (e.g. `"primary"`) — selection value, never the BSP brand id. */
13
+ id: string;
14
+ /** Neutral, driver-supplied display name. */
15
+ name: string;
16
+ /** Lifecycle status — `active` rows are selectable; `coming-soon` rows are inert + badged. */
17
+ status: OnrampProviderStatus;
18
+ /** Optional driver-supplied logo URL — rendered through `Image`; else a neutral monogram. */
19
+ logoUrl?: string;
20
+ /** Optional sub-line; the active row falls back to "Auto-picked for you". */
21
+ note?: string;
22
+ /** Live receive amount (formatted) — active provider only. */
23
+ receiveFormatted?: string;
24
+ /** Receive crypto symbol paired with {@link receiveFormatted}. */
25
+ receiveSymbol?: string;
26
+ }
27
+ interface OnrampProviderPickerProps {
28
+ /** All provider rows — active first, then coming-soon teasers. */
29
+ providers?: readonly ProviderOption[];
30
+ /** Currently-selected provider id — drives the selected row's check + ring. */
31
+ selectedId?: string;
32
+ /** Selection handler — fires with the chosen id (active rows only). */
33
+ onSelect?: (id: string) => void;
34
+ /** Back-chevron handler. Omit to hide the chevron. */
35
+ onBack?: () => void;
36
+ /** Header title override (defaults to the translated "Providers"). */
37
+ headerTitle?: string;
38
+ /** When true, the body renders skeleton rows instead of the list. */
39
+ loading?: boolean;
40
+ children?: ReactNode;
41
+ }
42
+ type OnrampProviderPickerDialogProps = OnrampProviderPickerProps & DialogShellControls;
43
+ type OnrampProviderPickerBodyProps = ComponentProps<"div">;
44
+ interface OnrampProviderPickerHeaderProps {
45
+ title?: string;
46
+ onBack?: (() => void) | null;
47
+ }
48
+ type OnrampProviderPickerRowProps = ProviderOption;
49
+ //#endregion
50
+ export { OnrampProviderPickerBodyProps, OnrampProviderPickerDialogProps, OnrampProviderPickerHeaderProps, OnrampProviderPickerProps, OnrampProviderPickerRowProps, ProviderOption };
@@ -0,0 +1 @@
1
+ import { OnrampProviderPicker } from "./OnrampProviderPicker.js";
@@ -0,0 +1 @@
1
+ import"./OnrampProviderPicker.js";
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useDepositSnapshot as t}from"../../driver/context.js";import{useDepositActions as n,useDepositEffectiveState as r}from"../../orchestrator/controller.js";import{DialogShell as i}from"../../../../shared/dialog/DialogShell.js";import{SuccessState as a}from"../../../../shared/widgets/success-state/compound/SuccessState.js";import"../../../../shared/widgets/success-state/compound/index.js";import{toAssetDescriptor as o}from"../../../../shared/widgets/asset-descriptor.js";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";function u({children:i,...u}){let d=t(),f=r(),p=f.name,{successDone:m}=n(),{_:h}=e();if(p!==`success`)return null;if(f.ctx.method===`onramp`){let e=d.onrampSession,t=e?.status===`ready`||e?.status===`stale`?e.payload:void 0,n=d.onrampQuote,r=n?.status===`ready`||n?.status===`stale`?n.payload:void 0,f=d.brand,p=f.status===`ready`||f.status===`stale`?f.payload.name:void 0,g=r?.receiveAsset.symbol??``,_=t?.receiveAmount?.formatted??r?.receiveAmount.formatted??``,v=r?o({symbol:r.receiveAsset.symbol,chainId:r.receiveAsset.chainId,address:r.receiveAsset.address,isNative:r.receiveAsset.isNative,...r.receiveAsset.assetLogoUrl?{assetLogoUrl:r.receiveAsset.assetLogoUrl}:{}})??{symbol:g}:{symbol:g},y=t?.providerOrderId;return c(a,{...u,amount:_,creditedAsset:v,...p?{creditedTo:p}:{},headlineTitle:h({id:`AGFPtu`,message:`Purchase complete`}),onDone:m,children:i??l(s,{children:[c(a.Header,{}),l(a.Body,{children:[c(a.Headline,{}),l(a.Details,{children:[c(a.YouReceiveRow,{}),y?c(a.Detail,{label:h({id:`oI_hGR`,message:`Order ID`}),value:y}):null]})]}),c(a.Actions,{})]})})}let g=d.settlement;if(g.status!==`ready`||g.payload.kind!==`succeeded`)return null;let _=g.payload,v=d.brand,y=v.status===`ready`||v.status===`stale`?v.payload.name:void 0,b=_.destination.name??y??_.creditedAsset.symbol,x=_.aggregatorExplorerUrl?{url:_.aggregatorExplorerUrl}:void 0,S=_.depositTx||_.completionTx||_.submittedAt||_.filledAt,C=o(_.creditedAsset)??{symbol:_.creditedAsset.symbol},w={..._.sourceWallet.name===void 0?{}:{name:_.sourceWallet.name},address:_.sourceWallet.address.formatted,..._.sourceWallet.explorerUrl?{explorerUrl:_.sourceWallet.explorerUrl}:{}};return c(a,{...u,amount:_.receiveAmount.formatted,creditedAsset:C,creditedTo:b,...x?{explorer:x}:{},..._.depositTx?{depositTx:{hash:_.depositTx.hash.formatted,..._.depositTx.explorerUrl?{explorerUrl:_.depositTx.explorerUrl}:{}}}:{},..._.completionTx?{completionTx:{hash:_.completionTx.hash.formatted,..._.completionTx.explorerUrl?{explorerUrl:_.completionTx.explorerUrl}:{}}}:{},submittedAt:_.submittedAt.formatted,filledAt:_.filledAt.formatted,totalTime:_.totalTime.formatted,sourceWallet:w,onDone:m,children:i??l(s,{children:[c(a.Header,{}),l(a.Body,{children:[c(a.Headline,{}),l(a.Details,{children:[c(a.FillStatusRow,{}),c(a.TotalTimeRow,{}),c(a.SourceRow,{}),c(a.DestinationRow,{}),c(a.YouReceiveRow,{}),S?l(a.MoreDetails,{children:[c(a.DepositTxRow,{}),c(a.CompletionTxRow,{}),c(a.SubmittedAtRow,{}),c(a.FilledAtRow,{})]}):null]})]}),c(a.Actions,{})]})})}function d({open:e,defaultOpen:t,onOpenChange:n,trigger:r,...a}){return c(i,{open:e,defaultOpen:t,onOpenChange:n,trigger:r,children:c(u,{...a})})}(function(e){e.Dialog=d,e.Header=a.Header,e.Body=a.Body,e.Headline=a.Headline,e.Details=a.Details,e.FillStatusRow=a.FillStatusRow,e.TotalTimeRow=a.TotalTimeRow,e.SourceRow=a.SourceRow,e.DestinationRow=a.DestinationRow,e.YouReceiveRow=a.YouReceiveRow,e.MoreDetails=a.MoreDetails,e.DepositTxRow=a.DepositTxRow,e.CompletionTxRow=a.CompletionTxRow,e.SubmittedAtRow=a.SubmittedAtRow,e.FilledAtRow=a.FilledAtRow,e.Actions=a.Actions})(u||={});export{u as SuccessState};
1
+ "use client";import{useLingui as e}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useDepositSnapshot as t}from"../../driver/context.js";import{useDepositActions as n,useDepositEffectiveState as r}from"../../orchestrator/controller.js";import{DialogShell as i}from"../../../../shared/dialog/DialogShell.js";import{FiatAmount as a}from"../../../../shared/ui/FiatSymbol/FiatAmount.js";import"../../../../shared/ui/FiatSymbol/index.js";import{SuccessState as o}from"../../../../shared/widgets/success-state/compound/SuccessState.js";import"../../../../shared/widgets/success-state/compound/index.js";import{toAssetDescriptor as s}from"../../../../shared/widgets/asset-descriptor.js";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";function d({children:i,...d}){let f=t(),p=r(),m=p.name,{successDone:h}=n(),{_:g,i18n:_}=e();if(m!==`success`)return null;if(p.ctx.method===`onramp`){let e=f.onrampSession,t=e?.status===`ready`||e?.status===`stale`?e.payload:void 0,n=f.onrampQuote,r=n?.status===`ready`||n?.status===`stale`?n.payload:void 0,p=f.brand,m=p.status===`ready`||p.status===`stale`?p.payload.name:void 0,v=r?.receiveAsset.symbol??``,y=t?.receiveAmount?.formatted??r?.receiveAmount.formatted??``,b=r?s({symbol:r.receiveAsset.symbol,chainId:r.receiveAsset.chainId,address:r.receiveAsset.address,isNative:r.receiveAsset.isNative,...r.receiveAsset.assetLogoUrl?{assetLogoUrl:r.receiveAsset.assetLogoUrl}:{}})??{symbol:v}:{symbol:v},x=t?.providerOrderId,S=t?.fiatAmount?.formatted??r?.amountFiat.formatted,C=t?.fiatAmount?.value??r?.amountFiat.value,w=t?.fiatCurrency??r?.fiatCurrency,T=C!==void 0&&w?l(a,{value:C,currency:w,locale:_.locale}):S,E=t?.destinationAddress?.formatted;return l(o,{...d,amount:y,creditedAsset:b,...m?{creditedTo:m}:{},headlineTitle:g({id:`AGFPtu`,message:`Purchase complete`}),onDone:h,children:i??u(c,{children:[l(o.Header,{}),u(o.Body,{children:[l(o.Headline,{}),u(o.Details,{children:[S?l(o.Detail,{label:g({id:`VAxOSg`,message:`You pay`}),value:T}):null,l(o.YouReceiveRow,{}),E?l(o.Detail,{label:g({id:`Enslfm`,message:`Destination`}),value:E}):null,x?l(o.Detail,{label:g({id:`oI_hGR`,message:`Order ID`}),value:x}):null]})]}),l(o.Actions,{})]})})}let v=f.settlement;if(v.status!==`ready`||v.payload.kind!==`succeeded`)return null;let y=v.payload,b=f.brand,x=b.status===`ready`||b.status===`stale`?b.payload.name:void 0,S=y.destination.name??x??y.creditedAsset.symbol,C=y.aggregatorExplorerUrl?{url:y.aggregatorExplorerUrl}:void 0,w=y.depositTx||y.completionTx||y.submittedAt||y.filledAt,T=s(y.creditedAsset)??{symbol:y.creditedAsset.symbol},E={...y.sourceWallet.name===void 0?{}:{name:y.sourceWallet.name},address:y.sourceWallet.address.formatted,...y.sourceWallet.explorerUrl?{explorerUrl:y.sourceWallet.explorerUrl}:{}};return l(o,{...d,amount:y.receiveAmount.formatted,creditedAsset:T,creditedTo:S,...C?{explorer:C}:{},...y.depositTx?{depositTx:{hash:y.depositTx.hash.formatted,...y.depositTx.explorerUrl?{explorerUrl:y.depositTx.explorerUrl}:{}}}:{},...y.completionTx?{completionTx:{hash:y.completionTx.hash.formatted,...y.completionTx.explorerUrl?{explorerUrl:y.completionTx.explorerUrl}:{}}}:{},submittedAt:y.submittedAt.formatted,filledAt:y.filledAt.formatted,totalTime:y.totalTime.formatted,sourceWallet:E,onDone:h,children:i??u(c,{children:[l(o.Header,{}),u(o.Body,{children:[l(o.Headline,{}),u(o.Details,{children:[l(o.FillStatusRow,{}),l(o.TotalTimeRow,{}),l(o.SourceRow,{}),l(o.DestinationRow,{}),l(o.YouReceiveRow,{}),w?u(o.MoreDetails,{children:[l(o.DepositTxRow,{}),l(o.CompletionTxRow,{}),l(o.SubmittedAtRow,{}),l(o.FilledAtRow,{})]}):null]})]}),l(o.Actions,{})]})})}function f({open:e,defaultOpen:t,onOpenChange:n,trigger:r,...a}){return l(i,{open:e,defaultOpen:t,onOpenChange:n,trigger:r,children:l(d,{...a})})}(function(e){e.Dialog=f,e.Header=o.Header,e.Body=o.Body,e.Headline=o.Headline,e.Details=o.Details,e.FillStatusRow=o.FillStatusRow,e.TotalTimeRow=o.TotalTimeRow,e.SourceRow=o.SourceRow,e.DestinationRow=o.DestinationRow,e.YouReceiveRow=o.YouReceiveRow,e.MoreDetails=o.MoreDetails,e.DepositTxRow=o.DepositTxRow,e.CompletionTxRow=o.CompletionTxRow,e.SubmittedAtRow=o.SubmittedAtRow,e.FilledAtRow=o.FilledAtRow,e.Actions=o.Actions})(d||={});export{d as SuccessState};