@stridge/kit 0.1.0-alpha.5 → 0.1.0-alpha.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -6
- package/dist/KitProvider.d.ts +29 -0
- package/dist/KitProvider.js +1 -1
- package/dist/_internal/deposit/widgets/index.d.ts +3 -1
- package/dist/_internal/deposit/widgets/index.js +1 -1
- package/dist/_internal/drivers/stridge/index.d.ts +3 -2
- package/dist/_internal/drivers/stridge/index.js +1 -1
- package/dist/_internal/withdraw/driver/index.d.ts +2 -2
- package/dist/_internal/withdraw/widgets/index.d.ts +3 -1
- package/dist/_internal/withdraw/widgets/index.js +1 -1
- package/dist/activity-history/compound/index.d.ts +9 -0
- package/dist/activity-history/compound/index.js +1 -0
- package/dist/deposit/compound/index.d.ts +4 -3
- package/dist/drivers/stridge/catalog.d.ts +54 -0
- package/dist/drivers/stridge/catalog.js +1 -0
- package/dist/drivers/stridge/createStridgeDepositDriver.d.ts +10 -1
- package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
- package/dist/drivers/stridge/createStridgeWithdrawDriver.d.ts +37 -14
- package/dist/drivers/stridge/createStridgeWithdrawDriver.js +1 -1
- package/dist/drivers/stridge/internal/ensureWalletChain.js +1 -0
- package/dist/drivers/stridge/internal/pollOnce.js +1 -1
- package/dist/drivers/stridge/internal/resolveAddEthereumChain.js +1 -0
- package/dist/drivers/stridge/internal/retry.js +1 -0
- package/dist/drivers/stridge/internal/supportedChains.js +1 -0
- package/dist/drivers/stridge/types.d.ts +20 -14
- package/dist/drivers/stridge/types.js +1 -1
- package/dist/drivers/stridge/wagmiSigner.js +1 -1
- package/dist/drivers/stridge-mock/createStridgeMockDriver.d.ts +4 -2
- package/dist/drivers/stridge-mock/createStridgeMockDriver.js +1 -1
- package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.d.ts +17 -4
- package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.js +1 -1
- package/dist/drivers/stridge-mock/fixtures.d.ts +14 -12
- package/dist/drivers/stridge-mock/fixtures.js +1 -1
- package/dist/events/bus/createBus.d.ts +7 -0
- package/dist/events/bus/createBus.js +1 -0
- package/dist/events/bus/flowIdRegistry.d.ts +17 -0
- package/dist/events/bus/flowIdRegistry.js +1 -0
- package/dist/events/bus/index.js +1 -0
- package/dist/events/bus/metadata.js +1 -0
- package/dist/events/context.js +1 -0
- package/dist/events/emit/index.js +1 -0
- package/dist/events/emit/mapFailure.js +1 -0
- package/dist/events/emit/useDepositEmissions.js +1 -0
- package/dist/events/emit/useKitEmitter.js +1 -0
- package/dist/events/emit/useWithdrawEmissions.js +1 -0
- package/dist/events/hooks/index.d.ts +6 -0
- package/dist/events/hooks/index.js +1 -0
- package/dist/events/hooks/useCurrentFlowId.d.ts +6 -0
- package/dist/events/hooks/useCurrentFlowId.js +1 -0
- package/dist/events/hooks/useStableHandler.js +1 -0
- package/dist/events/hooks/useStridgeEvent.d.ts +8 -0
- package/dist/events/hooks/useStridgeEvent.js +1 -0
- package/dist/events/hooks/useStridgeEventBus.d.ts +33 -0
- package/dist/events/hooks/useStridgeEventBus.js +1 -0
- package/dist/events/hooks/useStridgeEvents.d.ts +6 -0
- package/dist/events/hooks/useStridgeEvents.js +1 -0
- package/dist/events/hooks/useStridgeFlowEvent.d.ts +8 -0
- package/dist/events/hooks/useStridgeFlowEvent.js +1 -0
- package/dist/events/hooks/useStridgeFlowEvents.d.ts +6 -0
- package/dist/events/hooks/useStridgeFlowEvents.js +1 -0
- package/dist/events/index.d.ts +14 -0
- package/dist/events/index.js +1 -0
- package/dist/events/publish.js +1 -0
- package/dist/events/types/deposit.d.ts +235 -0
- package/dist/events/types/envelope.d.ts +145 -0
- package/dist/events/types/index.d.ts +31 -0
- package/dist/events/types/kit.d.ts +23 -0
- package/dist/events/types/withdraw.d.ts +150 -0
- package/dist/flows/deposit/dialog/DepositDialog.d.ts +20 -82
- package/dist/flows/deposit/dialog/DepositDialog.js +1 -1
- package/dist/flows/deposit/dialog/WalletRequiredState.js +1 -0
- package/dist/flows/deposit/dialog/WalletRequiredState.styles.js +1 -0
- package/dist/flows/deposit/driver/payloads.d.ts +17 -4
- package/dist/flows/deposit/driver/transformers/balanceToBalancesPayload.d.ts +2 -0
- package/dist/flows/deposit/driver/transformers/balanceToBalancesPayload.js +1 -1
- package/dist/flows/deposit/driver/transformers/index.d.ts +1 -0
- package/dist/flows/deposit/driver/transformers/quoteToPayload.d.ts +2 -0
- package/dist/flows/deposit/driver/transformers/settlementToPayload.d.ts +25 -0
- package/dist/flows/deposit/driver/transformers/startToAddressesPayload.d.ts +2 -0
- package/dist/flows/deposit/driver/transformers/startToAddressesPayload.js +1 -1
- package/dist/flows/deposit/driver/transformers/startToBrandPayload.d.ts +1 -0
- package/dist/flows/deposit/driver/transformers/startToTargetPayload.d.ts +2 -0
- package/dist/flows/deposit/driver/transformers/startToTargetPayload.js +1 -1
- package/dist/flows/deposit/driver/transformers/walletAddressToWalletPayload.d.ts +1 -0
- package/dist/flows/deposit/driver/types.d.ts +64 -3
- package/dist/flows/deposit/orchestrator/controller.js +1 -1
- package/dist/flows/deposit/orchestrator/reducer.js +1 -1
- package/dist/flows/deposit/orchestrator/types.d.ts +103 -1
- package/dist/flows/deposit/orchestrator/useDeposit.d.ts +45 -1
- package/dist/flows/deposit/orchestrator/useDeposit.js +1 -1
- package/dist/flows/deposit/widgets/activity-history/DepositHistoryDetail.d.ts +40 -0
- package/dist/flows/deposit/widgets/activity-history/DepositHistoryDetail.js +1 -0
- package/dist/flows/deposit/widgets/activity-history/DepositHistoryList.d.ts +38 -0
- package/dist/flows/deposit/widgets/activity-history/DepositHistoryList.js +1 -0
- package/dist/flows/deposit/widgets/activity-history/index.d.ts +2 -0
- package/dist/flows/deposit/widgets/activity-history/index.js +1 -0
- package/dist/flows/deposit/widgets/activity-history/useDepositActivityHistorySource.js +1 -0
- package/dist/flows/deposit/widgets/amount-entry/AmountEntry.d.ts +32 -5
- package/dist/flows/deposit/widgets/amount-entry/AmountEntry.js +1 -1
- package/dist/flows/deposit/widgets/amount-entry/footerIntent.js +1 -0
- package/dist/flows/deposit/widgets/asset-picker/AssetPicker.d.ts +22 -4
- package/dist/flows/deposit/widgets/asset-picker/AssetPicker.js +1 -1
- package/dist/flows/deposit/widgets/confirm-deposit/ConfirmDeposit.d.ts +37 -4
- package/dist/flows/deposit/widgets/confirm-deposit/ConfirmDeposit.js +1 -1
- package/dist/flows/deposit/widgets/deposit/Deposit.d.ts +33 -4
- package/dist/flows/deposit/widgets/deposit/Deposit.js +1 -1
- package/dist/flows/deposit/widgets/deposit/compound/Deposit.d.ts +32 -0
- package/dist/flows/deposit/widgets/deposit/compound/Deposit.js +1 -1
- package/dist/flows/deposit/widgets/deposit/compound/Deposit.styles.js +1 -1
- package/dist/flows/deposit/widgets/deposit/compound/components/Boundary.d.ts +29 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Boundary.js +1 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Guards.d.ts +28 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Guards.js +1 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Header.d.ts +10 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Header.js +1 -1
- package/dist/flows/deposit/widgets/deposit/compound/components/Method.d.ts +6 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Method.js +1 -1
- package/dist/flows/deposit/widgets/deposit/compound/components/Steps.d.ts +24 -0
- package/dist/flows/deposit/widgets/deposit/compound/components/Steps.js +1 -0
- package/dist/flows/deposit/widgets/deposit/compound/index.d.ts +1 -0
- package/dist/flows/deposit/widgets/deposit/compound/types.d.ts +6 -3
- package/dist/flows/deposit/widgets/deposit-status-banner/DepositStatusBanner.d.ts +41 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/DepositStatusBanner.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/compound/components/Hero.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/compound/components/PrimaryAction.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/compound/types.d.ts +5 -5
- package/dist/flows/deposit/widgets/error-state/ErrorState.d.ts +39 -4
- package/dist/flows/deposit/widgets/error-state/ErrorState.js +1 -1
- package/dist/flows/deposit/widgets/processing-state/ProcessingState.d.ts +30 -4
- package/dist/flows/deposit/widgets/processing-state/ProcessingState.js +1 -1
- package/dist/flows/deposit/widgets/success-state/SuccessState.d.ts +38 -4
- package/dist/flows/deposit/widgets/success-state/SuccessState.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/TransferCrypto.d.ts +34 -3
- package/dist/flows/deposit/widgets/transfer-crypto/TransferCrypto.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.d.ts +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.styles.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Address.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.d.ts +5 -2
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Header.d.ts +5 -0
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Header.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/QrCode.d.ts +4 -10
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/QrCode.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/types.d.ts +16 -2
- package/dist/flows/shared/transformers/computeQuoteAttrs.d.ts +1 -0
- package/dist/flows/shared/transformers/index.d.ts +1 -0
- package/dist/flows/shared/transformers/pickRelevantSettlement.d.ts +1 -0
- package/dist/flows/shared/transformers/pickRelevantSettlement.js +1 -1
- package/dist/flows/shared/transformers/testnets.js +1 -0
- package/dist/flows/withdraw/bindings/WithdrawBindings.d.ts +92 -0
- package/dist/flows/withdraw/bindings/WithdrawBindings.js +1 -0
- package/dist/flows/withdraw/bindings/index.d.ts +1 -0
- package/dist/flows/withdraw/bindings/index.js +1 -0
- package/dist/flows/withdraw/dialog/WithdrawDialog.d.ts +35 -71
- package/dist/flows/withdraw/dialog/WithdrawDialog.js +1 -1
- package/dist/flows/withdraw/driver/dto.d.ts +8 -7
- package/dist/flows/withdraw/driver/payloads.d.ts +16 -1
- package/dist/flows/withdraw/driver/transformers/settlementToWithdrawalPayload.js +1 -1
- package/dist/flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js +1 -1
- package/dist/flows/withdraw/driver/types.d.ts +111 -14
- package/dist/flows/withdraw/orchestrator/controller.js +1 -1
- package/dist/flows/withdraw/orchestrator/index.d.ts +1 -1
- package/dist/flows/withdraw/orchestrator/reducer.js +1 -1
- package/dist/flows/withdraw/orchestrator/types.d.ts +201 -32
- package/dist/flows/withdraw/orchestrator/useWithdraw.d.ts +36 -1
- package/dist/flows/withdraw/orchestrator/useWithdraw.js +1 -1
- package/dist/flows/withdraw/widgets/activity-history/WithdrawHistoryDetail.d.ts +39 -0
- package/dist/flows/withdraw/widgets/activity-history/WithdrawHistoryDetail.js +1 -0
- package/dist/flows/withdraw/widgets/activity-history/WithdrawHistoryList.d.ts +36 -0
- package/dist/flows/withdraw/widgets/activity-history/WithdrawHistoryList.js +1 -0
- package/dist/flows/withdraw/widgets/activity-history/index.d.ts +2 -0
- package/dist/flows/withdraw/widgets/activity-history/index.js +1 -0
- package/dist/flows/withdraw/widgets/activity-history/useWithdrawActivityHistorySource.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/Withdraw.d.ts +60 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/Withdraw.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/Withdraw.slots.d.ts +13 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/Withdraw.slots.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Boundary.d.ts +29 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Boundary.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Guards.d.ts +25 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Guards.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Steps.d.ts +27 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/components/Steps.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/index.d.ts +3 -0
- package/dist/flows/withdraw/widgets/withdraw/compound/index.js +1 -0
- package/dist/flows/withdraw/widgets/withdraw-error/WithdrawError.d.ts +45 -2
- package/dist/flows/withdraw/widgets/withdraw-error/WithdrawError.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/WithdrawForm.d.ts +32 -12
- package/dist/flows/withdraw/widgets/withdraw-form/WithdrawForm.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/WithdrawForm.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/Header.d.ts +6 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/Header.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.d.ts +7 -5
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/types.d.ts +15 -5
- package/dist/flows/withdraw/widgets/withdraw-form/validation.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-in-progress/WithdrawInProgress.d.ts +39 -3
- package/dist/flows/withdraw/widgets/withdraw-in-progress/WithdrawInProgress.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-success/WithdrawSuccess.d.ts +46 -2
- package/dist/flows/withdraw/widgets/withdraw-success/WithdrawSuccess.js +1 -1
- package/dist/i18n/index.d.ts +5 -4
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/locales/ar.js +1 -1
- package/dist/i18n/locales/es.js +1 -1
- package/dist/i18n/locales/source-keys.d.ts +12 -0
- package/dist/i18n/locales/source-keys.js +0 -0
- package/dist/icons/index.d.ts +3 -1
- package/dist/icons/index.js +1 -1
- package/dist/index.d.ts +22 -9
- package/dist/index.js +1 -1
- package/dist/package.js +1 -1
- package/dist/scope/KitPortalScope.js +1 -1
- package/dist/scope/KitScope.d.ts +18 -1
- package/dist/scope/KitScope.js +1 -1
- package/dist/scope/context.d.ts +17 -1
- package/dist/scope/index.d.ts +1 -1
- package/dist/shared/attribution/Attribution.js +1 -0
- package/dist/shared/attribution/Attribution.slots.js +1 -0
- package/dist/shared/attribution/Attribution.styles.js +1 -0
- package/dist/shared/attribution/index.js +1 -0
- package/dist/shared/chains/index.d.ts +48 -29
- package/dist/shared/chains/index.js +1 -1
- package/dist/shared/constants/brand-intercom.js +1 -0
- package/dist/shared/cuer/Cuer.js +1 -1
- package/dist/shared/dialog/Frame.js +1 -1
- package/dist/shared/dialog/LoadingState.js +1 -0
- package/dist/shared/dialog/LoadingState.styles.js +1 -0
- package/dist/shared/dialog/StepTransition.js +1 -1
- package/dist/shared/dialog/useDirectionalChevronTransform.js +1 -1
- package/dist/shared/driver/types.d.ts +4 -3
- package/dist/shared/i18n/KitI18nProvider.d.ts +11 -8
- package/dist/shared/i18n/KitI18nProvider.js +1 -1
- package/dist/shared/i18n/createKitI18n.d.ts +79 -16
- package/dist/shared/i18n/createKitI18n.js +1 -1
- package/dist/shared/i18n/useLingui.d.ts +11 -3
- package/dist/shared/icons/HistoryIcon.d.ts +12 -0
- package/dist/shared/icons/HistoryIcon.js +1 -0
- package/dist/shared/icons/LogoIcon.d.ts +13 -0
- package/dist/shared/icons/LogoIcon.js +1 -0
- package/dist/shared/merchant-link/MerchantLink.d.ts +1 -0
- package/dist/shared/merchant-link/MerchantLink.js +1 -0
- package/dist/shared/merchant-link/MerchantLinkButton.d.ts +1 -0
- package/dist/shared/merchant-link/MerchantLinkButton.js +1 -0
- package/dist/shared/merchant-link/index.d.ts +1 -0
- package/dist/shared/merchant-link/index.js +1 -0
- package/dist/shared/merchant-link/resolveMerchantLink.js +1 -0
- package/dist/shared/orchestrator/useSettlementWatcher.js +1 -1
- package/dist/shared/primitives/TxHashValue/TxHashValue.js +1 -1
- package/dist/shared/support/SupportConfigContext.d.ts +1 -0
- package/dist/shared/support/SupportConfigContext.js +1 -0
- package/dist/shared/support/SupportLink.d.ts +1 -0
- package/dist/shared/support/SupportLink.js +1 -0
- package/dist/shared/support/SupportSpinner.d.ts +1 -0
- package/dist/shared/support/SupportSpinner.js +1 -0
- package/dist/shared/support/index.d.ts +2 -0
- package/dist/shared/support/index.js +1 -0
- package/dist/shared/support/intercom-loader.d.ts +17 -0
- package/dist/shared/support/intercom-loader.js +1 -0
- package/dist/shared/support/types.d.ts +43 -0
- package/dist/shared/support/useIntercomMerchantContext.d.ts +27 -0
- package/dist/shared/support/useIntercomMerchantContext.js +1 -0
- package/dist/shared/support/useIntercomShutdownOnUnmount.js +1 -0
- package/dist/shared/support/useMerchantContext.d.ts +1 -0
- package/dist/shared/support/useMerchantContext.js +1 -0
- package/dist/shared/support/useSupportTrigger.js +1 -0
- package/dist/shared/terms/TermsConfigContext.d.ts +1 -0
- package/dist/shared/terms/TermsConfigContext.js +1 -0
- package/dist/shared/terms/TermsLink.d.ts +1 -0
- package/dist/shared/terms/TermsLink.js +1 -0
- package/dist/shared/terms/index.d.ts +1 -0
- package/dist/shared/terms/index.js +1 -0
- package/dist/shared/terms/types.d.ts +43 -0
- package/dist/shared/ui/Card/Card.styles.js +1 -1
- package/dist/shared/ui/Details/Details.d.ts +9 -1
- package/dist/shared/ui/Details/Details.styles.js +1 -1
- package/dist/shared/ui/Dialog/Dialog.js +1 -1
- package/dist/shared/ui/Dialog/Dialog.styles.js +1 -1
- package/dist/shared/ui/Select/Select.js +1 -1
- package/dist/shared/ui/SelectableTile/SelectableTile.d.ts +21 -8
- package/dist/shared/ui/SelectableTile/SelectableTile.js +1 -1
- package/dist/shared/ui/Steps/Steps.d.ts +52 -0
- package/dist/shared/ui/Steps/Steps.js +1 -0
- package/dist/shared/ui/Steps/Steps.slots.d.ts +7 -0
- package/dist/shared/ui/Steps/Steps.slots.js +1 -0
- package/dist/shared/ui/Steps/Steps.styles.js +1 -0
- package/dist/shared/ui/Steps/index.d.ts +2 -0
- package/dist/shared/ui/Steps/index.js +1 -0
- package/dist/shared/ui/WalletRow/WalletRow.d.ts +1 -1
- package/dist/shared/ui/WalletRow/WalletRow.js +1 -1
- package/dist/shared/utils/logos/types.d.ts +1 -1
- package/dist/shared/utils/useDeepMemo.js +1 -0
- package/dist/shared/wallet/ConnectWalletContext.d.ts +17 -0
- package/dist/shared/wallet/ConnectWalletContext.js +1 -0
- package/dist/shared/widgets/activity-history/ActivityTrigger.js +1 -0
- package/dist/shared/widgets/activity-history/ActivityTrigger.styles.js +1 -0
- package/dist/shared/widgets/activity-history/adapters/settlementToWidgetProps.js +1 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistory.d.ts +95 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistory.js +1 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistory.slots.d.ts +22 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistory.slots.js +1 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistory.styles.js +1 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistoryDetail.d.ts +75 -0
- package/dist/shared/widgets/activity-history/compound/ActivityHistoryDetail.js +1 -0
- package/dist/shared/widgets/activity-history/compound/Row.slots.d.ts +21 -0
- package/dist/shared/widgets/activity-history/compound/Row.slots.js +1 -0
- package/dist/shared/widgets/activity-history/compound/Row.styles.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/Empty.d.ts +15 -0
- package/dist/shared/widgets/activity-history/compound/components/Empty.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/ErrorView.d.ts +26 -0
- package/dist/shared/widgets/activity-history/compound/components/ErrorView.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/HistoryHeader.d.ts +39 -0
- package/dist/shared/widgets/activity-history/compound/components/HistoryHeader.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/List.d.ts +23 -0
- package/dist/shared/widgets/activity-history/compound/components/List.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/Row.d.ts +54 -0
- package/dist/shared/widgets/activity-history/compound/components/Row.js +1 -0
- package/dist/shared/widgets/activity-history/compound/components/StatusPip.js +1 -0
- package/dist/shared/widgets/activity-history/compound/context.d.ts +79 -0
- package/dist/shared/widgets/activity-history/compound/context.js +1 -0
- package/dist/shared/widgets/activity-history/index.js +1 -0
- package/dist/shared/widgets/activity-history/payloads.d.ts +81 -0
- package/dist/shared/widgets/activity-history/transformers/historyResponseToPayload.js +1 -0
- package/dist/shared/widgets/activity-history/transformers/resolveDirection.js +1 -0
- package/dist/shared/widgets/amount-entry/compound/AmountEntry.d.ts +4 -1
- package/dist/shared/widgets/amount-entry/compound/AmountEntry.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/AmountEntry.slots.d.ts +1 -0
- package/dist/shared/widgets/amount-entry/compound/AmountEntry.slots.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/AmountEntry.styles.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/components/Header.d.ts +6 -1
- package/dist/shared/widgets/amount-entry/compound/components/Header.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/components/Hero/Hero.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/components/Hero/SwapBackdrop.js +1 -1
- package/dist/shared/widgets/amount-entry/compound/components/Notice.d.ts +7 -0
- package/dist/shared/widgets/amount-entry/compound/components/Notice.js +1 -0
- package/dist/shared/widgets/amount-entry/compound/types.d.ts +26 -1
- package/dist/shared/widgets/asset-picker/compound/AssetPicker.js +1 -1
- package/dist/shared/widgets/asset-picker/compound/AssetPicker.styles.js +1 -1
- package/dist/shared/widgets/asset-picker/compound/components/Asset.d.ts +7 -1
- package/dist/shared/widgets/asset-picker/compound/components/Asset.js +1 -1
- package/dist/shared/widgets/asset-picker/compound/components/Header.d.ts +6 -1
- package/dist/shared/widgets/asset-picker/compound/components/Header.js +1 -1
- package/dist/shared/widgets/asset-picker/compound/types.d.ts +14 -0
- package/dist/shared/widgets/confirm-transfer/compound/ConfirmTransfer.styles.js +1 -1
- package/dist/shared/widgets/confirm-transfer/compound/components/Disclaimer.d.ts +4 -3
- package/dist/shared/widgets/confirm-transfer/compound/components/Disclaimer.js +1 -1
- package/dist/shared/widgets/confirm-transfer/compound/components/QuoteTimer.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/AssetValue.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/HelpInfo.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/MoreDetails.d.ts +1 -1
- package/dist/shared/widgets/error-state/compound/components/MoreDetails.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/StatusValue.js +1 -1
- package/dist/shared/widgets/processing-state/compound/ProcessingState.d.ts +1 -5
- package/dist/shared/widgets/processing-state/compound/ProcessingState.js +1 -1
- package/dist/shared/widgets/processing-state/compound/ProcessingState.slots.d.ts +0 -1
- package/dist/shared/widgets/processing-state/compound/ProcessingState.slots.js +1 -1
- package/dist/shared/widgets/processing-state/compound/ProcessingState.styles.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/Details.d.ts +6 -1
- package/dist/shared/widgets/processing-state/compound/components/Details.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/Header.d.ts +4 -3
- package/dist/shared/widgets/processing-state/compound/components/Header.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/Hero.d.ts +14 -7
- package/dist/shared/widgets/processing-state/compound/components/Hero.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/Rows.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/StatusPill.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/splitAmount.js +1 -0
- package/dist/shared/widgets/processing-state/compound/index.d.ts +1 -1
- package/dist/shared/widgets/processing-state/compound/types.d.ts +11 -29
- package/dist/shared/widgets/success-state/compound/components/Actions.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/AssetValue.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/MoreDetails.d.ts +1 -1
- package/dist/shared/widgets/success-state/compound/components/MoreDetails.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/RouteValue.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/StatusPill.js +1 -1
- package/dist/shared/widgets/success-state/compound/types.d.ts +5 -5
- package/dist/stridge/StridgeProvider.d.ts +165 -35
- package/dist/stridge/StridgeProvider.js +1 -1
- package/dist/stridge/depositOwner.js +1 -0
- package/dist/stridge/optionalWagmi.js +1 -0
- package/dist/stridge/stubs.js +1 -1
- package/dist/styles/index.css +228 -10
- package/dist/types.d.ts +5 -4
- package/dist/ui/index.d.ts +3 -1
- package/dist/ui/index.js +1 -1
- package/dist/withdraw/compound/index.d.ts +5 -2
- package/dist/withdraw/compound/index.js +1 -1
- package/dist/withdraw/dialog/index.d.ts +3 -1
- package/package.json +15 -7
- package/dist/flows/withdraw/dialog/WithdrawDialogEventsContext.d.ts +0 -36
- package/dist/flows/withdraw/dialog/WithdrawDialogEventsContext.js +0 -1
- package/dist/shared/widgets/processing-state/compound/components/Actions.d.ts +0 -17
- package/dist/shared/widgets/processing-state/compound/components/Actions.js +0 -1
- package/dist/stridge/StridgeContext.d.ts +0 -29
- package/dist/stridge/StridgeContext.js +0 -1
|
@@ -7,13 +7,20 @@ type SelectableTileShape = "card" | "pill";
|
|
|
7
7
|
* Selectable surface. Use `shape="card"` for full-width rows, `shape="pill"`
|
|
8
8
|
* for equal-width chips.
|
|
9
9
|
*
|
|
10
|
-
* The interactive form renders Base UI's `Toggle` — a button that
|
|
11
|
-
* `aria-pressed` semantics and integrates with
|
|
12
|
-
* roving-tabindex / arrow-key navigation. Pass a
|
|
13
|
-
* a group's shared selection state; the parent
|
|
14
|
-
* its `value` array (single-select with
|
|
15
|
-
* otherwise). Outside a group, drive the
|
|
16
|
-
* the click via `onClick`.
|
|
10
|
+
* The default interactive form renders Base UI's `Toggle` — a button that
|
|
11
|
+
* carries `aria-pressed` semantics and integrates with
|
|
12
|
+
* `<SelectableTileGroup>`'s roving-tabindex / arrow-key navigation. Pass a
|
|
13
|
+
* `value` to participate in a group's shared selection state; the parent
|
|
14
|
+
* group derives `pressed` from its `value` array (single-select with
|
|
15
|
+
* `multiple={false}`, multi-select otherwise). Outside a group, drive the
|
|
16
|
+
* visual state via `selected` and the click via `onClick`.
|
|
17
|
+
*
|
|
18
|
+
* Pass `interactive="navigation"` for rows that route to a new view rather
|
|
19
|
+
* than toggle a selection — e.g. activity-history rows. The navigation
|
|
20
|
+
* branch renders a plain `<button type="button">` with the same surface
|
|
21
|
+
* chrome and hover/focus treatment (different ARIA, same look), so
|
|
22
|
+
* navigation rows match toggle rows visually while staying semantically
|
|
23
|
+
* correct for screen readers.
|
|
17
24
|
*
|
|
18
25
|
* The inert form (no `onClick`) renders a `<div role="option">` with
|
|
19
26
|
* `aria-selected` so showcase / static surfaces (asset-list previews,
|
|
@@ -54,8 +61,14 @@ declare namespace SelectableTile {
|
|
|
54
61
|
shape?: SelectableTileShape;
|
|
55
62
|
/**
|
|
56
63
|
* Force interactive vs inert rendering. Defaults to `typeof onClick === "function" || typeof value === "string"`.
|
|
64
|
+
*
|
|
65
|
+
* Pass `"navigation"` for rows that route to a new view rather than toggle a
|
|
66
|
+
* selection — the kit renders a plain `<button type="button">` with the same surface
|
|
67
|
+
* chrome and hover/focus treatment, but without `aria-pressed` or
|
|
68
|
+
* `<SelectableTileGroup>` registration. `value` / `selected` are ignored at runtime in
|
|
69
|
+
* this branch.
|
|
57
70
|
*/
|
|
58
|
-
interactive?: boolean;
|
|
71
|
+
interactive?: boolean | "navigation";
|
|
59
72
|
/**
|
|
60
73
|
* Disables the underlying button when interactive; renders `aria-disabled` when inert.
|
|
61
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{joinClassNames as e}from"../../utils/joinClassNames.js";import{SELECTABLE_TILE_SLOTS as t}from"./SelectableTile.slots.js";import{shapeStyles as n,styles as r}from"./SelectableTile.styles.js";import{jsx as i}from"react/jsx-runtime";import*as a from"@stylexjs/stylex";import{Toggle as o}from"@base-ui/react/toggle";function s({selected:s=!1,shape:c=`card`,interactive:l,disabled:u=!1,onClick:d,value:f,className:p,style:m,children:h,...g}){let _=l??(typeof d==`function`||typeof f==`string`),v=a.props(r.base,n[c],_?r.
|
|
1
|
+
"use client";import{joinClassNames as e}from"../../utils/joinClassNames.js";import{SELECTABLE_TILE_SLOTS as t}from"./SelectableTile.slots.js";import{shapeStyles as n,styles as r}from"./SelectableTile.styles.js";import{jsx as i}from"react/jsx-runtime";import*as a from"@stylexjs/stylex";import{Toggle as o}from"@base-ui/react/toggle";function s({selected:s=!1,shape:c=`card`,interactive:l,disabled:u=!1,onClick:d,value:f,className:p,style:m,children:h,...g}){let _=l??(typeof d==`function`||typeof f==`string`),{"data-stridge-slot":v,...y}=g,b=a.props(r.base,n[c],_===!1?r.inert:r.interactive,s&&r.selected,u&&r.disabled),x={"data-stridge-slot":v??t.root,"data-shape":c,"data-selected":s||void 0,"data-interactive":_===!1?void 0:_,className:e(b.className,p),style:{...b.style,...m}};return _===`navigation`?i(`button`,{type:`button`,...y,...x,disabled:u,onClick:d,children:h}):_?i(o,{...y,...x,value:f,pressed:s,disabled:u,onClick:d,children:h}):i(`div`,{role:`option`,tabIndex:-1,"aria-selected":s,"aria-disabled":u||void 0,...x,...y,children:h})}export{s as SelectableTile};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/ui/Steps/Steps.d.ts
|
|
5
|
+
interface StepsProps {
|
|
6
|
+
/**
|
|
7
|
+
* The active step's name. Determines which `<Step name="..." />` child renders. Pass the
|
|
8
|
+
* current FSM state name — typically piped through the flow-level wrapper that calls
|
|
9
|
+
* `useDepositEffectiveState()` / `useWithdrawEffectiveState()` so the matched step stays
|
|
10
|
+
* mounted through the parent dialog's close animation.
|
|
11
|
+
*/
|
|
12
|
+
activeStep: string;
|
|
13
|
+
/**
|
|
14
|
+
* When true, the matched step renders without the kit's animated `StepTransition` wrapper.
|
|
15
|
+
* Use for static slot routing — for example when the consumer mounts their own animation
|
|
16
|
+
* primitive around `Steps`, or wants no transition at all.
|
|
17
|
+
*/
|
|
18
|
+
plain?: boolean;
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
interface StepProps {
|
|
22
|
+
/** Matches against the `activeStep` of the enclosing `Steps`. */
|
|
23
|
+
name: string;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Declarative slot consumed by {@link Steps}. The component itself renders nothing — its
|
|
28
|
+
* `children` are lifted by the enclosing `Steps` when `name` matches the active step.
|
|
29
|
+
* Outside a `Steps` container the component is a no-op.
|
|
30
|
+
*/
|
|
31
|
+
declare function Step(_props: StepProps): null;
|
|
32
|
+
declare namespace Step {
|
|
33
|
+
var displayName: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Slot-routing primitive for FSM-driven multi-screen composition. Renders only the `Step`
|
|
37
|
+
* child whose `name` matches `activeStep`; everything else is dropped from the tree.
|
|
38
|
+
*
|
|
39
|
+
* By default the matched child is wrapped in the kit's `StepTransition` (slide + blur on
|
|
40
|
+
* step change, animated height between commits). Pass `plain` to route without animation
|
|
41
|
+
* when the consumer wraps `Steps` in their own transition primitive.
|
|
42
|
+
*
|
|
43
|
+
* Unknown `activeStep` values render nothing (no fallback child). When two `Step` children
|
|
44
|
+
* declare the same `name`, the first one in source order wins.
|
|
45
|
+
*/
|
|
46
|
+
declare function Steps({
|
|
47
|
+
activeStep,
|
|
48
|
+
plain,
|
|
49
|
+
children
|
|
50
|
+
}: StepsProps): _$react_jsx_runtime0.JSX.Element;
|
|
51
|
+
//#endregion
|
|
52
|
+
export { Step, Steps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{StepTransition as e}from"../../dialog/StepTransition.js";import{STEPS_SLOTS as t}from"./Steps.slots.js";import{styles as n}from"./Steps.styles.js";import{Children as r,isValidElement as i,useMemo as a}from"react";import{jsx as o}from"react/jsx-runtime";import*as s from"@stylexjs/stylex";function c(e){return null}c.displayName=`Steps.Step`;function l({activeStep:r,plain:i=!1,children:c}){let l=a(()=>u(c,r),[c,r]),d=o(`div`,{"data-stridge-slot":t.root,...s.props(n.root),children:l});return i?d:o(e,{stateKey:r,children:d})}function u(e,t){let n=null;return r.forEach(e,e=>{if(n!==null||!i(e)||e.type!==c)return;let r=e.props;r.name===t&&(n=r.children)}),n}export{c as Step,l as Steps};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={root:`steps-root`};export{e as STEPS_SLOTS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={root:{"Steps__styles.root":`Steps__styles.root`,"display-k1xSpc":`xjp7ctv`,$$css:`@stridge/kit:src/shared/ui/Steps/Steps.styles.ts:7`}};export{e as styles};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Steps.slots.js";import"./Steps.js";
|
|
@@ -3,7 +3,7 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
3
3
|
//#region src/shared/ui/WalletRow/WalletRow.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Typography rhythm for the name span. `regular` renders at `sm/medium`; `compact` at
|
|
6
|
-
* `
|
|
6
|
+
* `xs/semibold` for denser layouts (error-, success-, and processing-state receipt rows).
|
|
7
7
|
*/
|
|
8
8
|
type WalletRowDensity = "regular" | "compact";
|
|
9
9
|
interface WalletRowProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
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};
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Trustwallet CDN and the gradient+letter fallback. Use when a definitive logo URL is
|
|
10
10
|
* available and no CDN probing is desired.
|
|
11
11
|
* - `logoUrl` — appended after the CDN candidates. Used when the convention URLs 404. Typical
|
|
12
|
-
* source: a backend's per-token `logo` field (e.g. Stridge's `
|
|
12
|
+
* source: a backend's per-token `logo` field (e.g. Stridge's `Gateway.assets()` payload).
|
|
13
13
|
*/
|
|
14
14
|
interface TokenLogoInput {
|
|
15
15
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useRef as e}from"react";function t(t){let r=e(null),i=n(t);return(r.current===null||r.current.serialized!==i)&&(r.current={value:t,serialized:i}),r.current.value}function n(e){return JSON.stringify(e,(e,t)=>t&&typeof t==`object`&&!Array.isArray(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}export{t as useDeepMemo};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/shared/wallet/ConnectWalletContext.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Host-supplied "Connect a wallet" affordance. When the user opens the deposit dialog without a
|
|
4
|
+
* resolvable owner (no `flows.deposit.owner`, no wagmi connection, no `dev.userAddressOverride`),
|
|
5
|
+
* the dialog renders `<WalletRequiredState>` with the `onClick` CTA labeled with `label` (or the
|
|
6
|
+
* kit's default copy when omitted). When the host doesn't supply this config, the state still
|
|
7
|
+
* renders — just without an actionable button, leaving the host to surface the connect affordance
|
|
8
|
+
* elsewhere on the page.
|
|
9
|
+
*/
|
|
10
|
+
interface ConnectWalletConfig {
|
|
11
|
+
/** Click handler invoked by the dialog's "Connect wallet" button. */
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
/** Optional override for the button label. Defaults to the kit's localized "Connect wallet" copy. */
|
|
14
|
+
label?: string;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { ConnectWalletConfig };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as e,use as t}from"react";const n=e(null);n.displayName=`ConnectWalletContext`;function r(){return t(n)}export{n as ConnectWalletContext,r as useConnectWallet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useLingui as e}from"../../i18n/useLingui.js";import"../../../i18n/index.js";import{HistoryIcon as t}from"../../icons/HistoryIcon.js";import"../../../icons/index.js";import{IconButton as n}from"../../ui/IconButton/IconButton.js";import"../../../ui/index.js";import{styles as r}from"./ActivityTrigger.styles.js";import{jsx as i}from"react/jsx-runtime";import*as a from"@stylexjs/stylex";function o({onOpen:o}){let{_:s}=e();return i(n,{"aria-label":s({id:`Vj6_6B`,message:`View activity history`}),onClick:o,children:i(t,{"aria-hidden":!0,...a.props(r.icon)})})}export{o as ActivityTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={icon:{"ActivityTrigger__styles.icon":`ActivityTrigger__styles.icon`,"width-kzqmXN":`x1xp8n7a`,"height-kZKoxP":`xmix8c7`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`x15rks2t`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/shared/widgets/activity-history/ActivityTrigger.styles.ts:3`}};export{e as styles};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{settlementToPayload as e}from"../../../../flows/deposit/driver/transformers/settlementToPayload.js";import{resolveDirection as t}from"../transformers/resolveDirection.js";function n(n,r,i){let a=i.sourceWallet.address.toLowerCase();for(let o of n)for(let n of o.settlements)if(n.id===r)return{payload:e(n,o,i),uda:o,direction:t(o,a)};return null}export{n as settlementToWidgetProps};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ActivityHistoryEmpty } from "./components/Empty.js";
|
|
2
|
+
import { ActivityHistoryErrorView } from "./components/ErrorView.js";
|
|
3
|
+
import { ActivityHistoryHeader, ActivityHistoryListHeader } from "./components/HistoryHeader.js";
|
|
4
|
+
import { ActivityHistoryList } from "./components/List.js";
|
|
5
|
+
import { ActivityHistoryRow } from "./components/Row.js";
|
|
6
|
+
import { ComponentProps, ReactNode } from "react";
|
|
7
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region src/shared/widgets/activity-history/compound/ActivityHistory.d.ts
|
|
10
|
+
interface ActivityHistoryOwnProps {
|
|
11
|
+
/**
|
|
12
|
+
* Optional custom composition. Defaults to `<Header /> + <List />`. Pass children to
|
|
13
|
+
* interleave host-supplied elements between compound parts.
|
|
14
|
+
*/
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Root of the `<ActivityHistory>` list compound. Flow-agnostic — every flow-specific concern
|
|
19
|
+
* (snapshot read, action dispatch, owner address derivation) is encapsulated in the
|
|
20
|
+
* `<ActivityHistorySourceProvider>` value the dialog mounts above. The same JSX renders from
|
|
21
|
+
* both `<DepositDialog>` and `<WithdrawDialog>` without imports across the flow boundary.
|
|
22
|
+
*
|
|
23
|
+
* Mounted by the dialog's `historyList` step. The peer compound {@link ActivityHistoryDetail}
|
|
24
|
+
* handles the per-settlement detail step; the kit's `Steps` primitive routes between them via
|
|
25
|
+
* the FSM state name, so the slide+blur step transition is supplied automatically.
|
|
26
|
+
*
|
|
27
|
+
* Compound parts:
|
|
28
|
+
* - {@link ActivityHistory.Header} — back chevron + title + close X.
|
|
29
|
+
* - {@link ActivityHistory.ListHeader} — underlying header primitive that accepts explicit
|
|
30
|
+
* `title` + `onBack` props. Public because the detail compound's per-kind parts mount it
|
|
31
|
+
* inside their delegated success / error / processing composition.
|
|
32
|
+
* - {@link ActivityHistory.List} — list body (skeleton / empty / error / rows). Pure reader
|
|
33
|
+
* of the `history` entity; recurring updates land via the controller-mounted `watchHistory`
|
|
34
|
+
* watcher with adaptive cadence.
|
|
35
|
+
* - {@link ActivityHistory.Row} — single row primitive (button-semantic).
|
|
36
|
+
* - {@link ActivityHistory.Empty} — empty-state body.
|
|
37
|
+
* - {@link ActivityHistory.ErrorView} — initial-error body with retry.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* <ActivityHistorySourceProvider value={sourceValue}>
|
|
42
|
+
* <ActivityHistory />
|
|
43
|
+
* </ActivityHistorySourceProvider>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example Custom composition — interleave between parts
|
|
47
|
+
* ```tsx
|
|
48
|
+
* <ActivityHistorySourceProvider value={sourceValue}>
|
|
49
|
+
* <ActivityHistory>
|
|
50
|
+
* <ActivityHistory.Header />
|
|
51
|
+
* <ActivityHistory.List />
|
|
52
|
+
* </ActivityHistory>
|
|
53
|
+
* </ActivityHistorySourceProvider>
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
declare function ActivityHistory({
|
|
57
|
+
children,
|
|
58
|
+
...props
|
|
59
|
+
}: ComponentProps<"div"> & ActivityHistoryOwnProps): _$react_jsx_runtime0.JSX.Element;
|
|
60
|
+
declare namespace ActivityHistory {
|
|
61
|
+
type Props = ComponentProps<"div"> & ActivityHistoryOwnProps;
|
|
62
|
+
/**
|
|
63
|
+
* Card header — back chevron + title + close X. Mounted by the default composition above
|
|
64
|
+
* the list body. The peer detail compound supplies its own header inside the
|
|
65
|
+
* SuccessState / ErrorState / ProcessingState composition.
|
|
66
|
+
*/
|
|
67
|
+
const Header: typeof ActivityHistoryHeader;
|
|
68
|
+
/**
|
|
69
|
+
* Underlying list-view header primitive — accepts explicit `title` and `onBack` props
|
|
70
|
+
* and renders unconditionally. The detail compound's per-kind parts mount this inside
|
|
71
|
+
* their delegated state composition to keep the back chevron + title affordance
|
|
72
|
+
* consistent across the surface.
|
|
73
|
+
*/
|
|
74
|
+
const ListHeader: typeof ActivityHistoryListHeader;
|
|
75
|
+
/**
|
|
76
|
+
* List body — skeleton / empty / error / rows. Pure reader; the controller-mounted
|
|
77
|
+
* `watchHistory` watcher drives recurring updates.
|
|
78
|
+
*/
|
|
79
|
+
const List: typeof ActivityHistoryList;
|
|
80
|
+
/**
|
|
81
|
+
* Single row primitive. Hosts that want a fully-headless surface can mount Row directly
|
|
82
|
+
* with their own payload assembly.
|
|
83
|
+
*/
|
|
84
|
+
const Row: typeof ActivityHistoryRow;
|
|
85
|
+
/**
|
|
86
|
+
* Empty-state body — centered icon + headline + subline.
|
|
87
|
+
*/
|
|
88
|
+
const Empty: typeof ActivityHistoryEmpty;
|
|
89
|
+
/**
|
|
90
|
+
* Initial-error body — `Alert` + retry button.
|
|
91
|
+
*/
|
|
92
|
+
const ErrorView: typeof ActivityHistoryErrorView;
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { ActivityHistory };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{Frame as e}from"../../../dialog/Frame.js";import{ACTIVITY_HISTORY_SLOTS as t}from"./ActivityHistory.slots.js";import{styles as n}from"./ActivityHistory.styles.js";import{ActivityHistoryEmpty as r}from"./components/Empty.js";import{ActivityHistoryErrorView as i}from"./components/ErrorView.js";import{ActivityHistoryHeader as a,ActivityHistoryListHeader as o}from"./components/HistoryHeader.js";import{ActivityHistoryRow as s}from"./components/Row.js";import{ActivityHistoryList as c}from"./components/List.js";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";import*as f from"@stylexjs/stylex";const p=d(l,{children:[u(a,{}),u(c,{})]});function m({children:r,...i}){return u(e,{"data-stridge-slot":t.root,...f.props(n.root),...i,children:r??p})}(function(e){e.Header=a,e.ListHeader=o,e.List=c,e.Row=s,e.Empty=r,e.ErrorView=i})(m||={});export{m as ActivityHistory};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/shared/widgets/activity-history/compound/ActivityHistory.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Slot vocabulary for `<ActivityHistory>`. Each meaningful element carries
|
|
4
|
+
* `data-stridge-slot={ACTIVITY_HISTORY_SLOTS.<part>}` so hosts can target a sub-part with
|
|
5
|
+
* `[data-stridge-slot="activity-history-row"]` without forking the kit. Slots are public API —
|
|
6
|
+
* renames are breaking changes.
|
|
7
|
+
*/
|
|
8
|
+
declare const ACTIVITY_HISTORY_SLOTS: {
|
|
9
|
+
readonly root: "activity-history";
|
|
10
|
+
readonly header: "activity-history-header";
|
|
11
|
+
readonly body: "activity-history-body";
|
|
12
|
+
readonly list: "activity-history-list";
|
|
13
|
+
readonly empty: "activity-history-empty";
|
|
14
|
+
readonly emptyIcon: "activity-history-empty-icon";
|
|
15
|
+
readonly error: "activity-history-error";
|
|
16
|
+
readonly retry: "activity-history-retry";
|
|
17
|
+
readonly skeleton: "activity-history-skeleton";
|
|
18
|
+
readonly skeletonRow: "activity-history-skeleton-row";
|
|
19
|
+
};
|
|
20
|
+
type ActivityHistorySlot = (typeof ACTIVITY_HISTORY_SLOTS)[keyof typeof ACTIVITY_HISTORY_SLOTS];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ACTIVITY_HISTORY_SLOTS, ActivityHistorySlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={root:`activity-history`,header:`activity-history-header`,body:`activity-history-body`,list:`activity-history-list`,empty:`activity-history-empty`,emptyIcon:`activity-history-empty-icon`,error:`activity-history-error`,retry:`activity-history-retry`,skeleton:`activity-history-skeleton`,skeletonRow:`activity-history-skeleton-row`};export{e as ACTIVITY_HISTORY_SLOTS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={root:{"ActivityHistory__styles.root":`ActivityHistory__styles.root`,"position-kVAEAm":`x1n2onr6`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x17fpy1y`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:21`},header:{"ActivityHistory__styles.header":`ActivityHistory__styles.header`,"justifyContent-kjj79g":`x1qughib`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:28`},headerLeft:{"ActivityHistory__styles.headerLeft":`ActivityHistory__styles.headerLeft`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1a6yh9e`,"minWidth-k7Eaqz":`xeuugli`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:31`},headerRight:{"ActivityHistory__styles.headerRight":`ActivityHistory__styles.headerRight`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1a6yh9e`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:37`},backIcon:{"ActivityHistory__styles.backIcon":`ActivityHistory__styles.backIcon`,"width-kzqmXN":`x1xp8n7a`,"height-kZKoxP":`xmix8c7`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xdksllq`,"strokeWidth-kfJifR":`x1k315e8`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:42`},body:{"ActivityHistory__styles.body":`ActivityHistory__styles.body`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"gap-kOIVth":`x1a6yh9e`,"paddingTop-kLKAdn":`x4xct4k`,"paddingBottom-kGO01o":`xpnfv0q`,"paddingInlineStart-kZCmMZ":`xmg6hw8`,"paddingInlineEnd-kwRFfy":`x1hvdk87`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:51`},skeletonRow:{"ActivityHistory__styles.skeletonRow":`ActivityHistory__styles.skeletonRow`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x2blr79`,"paddingBlock-k8WAf4":`x1yowcxs`,"paddingInline-kg3NbH":`xqsvw4s`,"backgroundColor-kWkggS":`xjbqb8w`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:62`},skeletonText:{"ActivityHistory__styles.skeletonText":`ActivityHistory__styles.skeletonText`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flexBasis-kCS8Yb":`x1r8uery`,"flexGrow-kzQI83":`x1iyjqo2`,"flexShrink-kmuXW":`xs83m0k`,"gap-kOIVth":`x1r05nms`,"minWidth-k7Eaqz":`xeuugli`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:70`},empty:{"ActivityHistory__styles.empty":`ActivityHistory__styles.empty`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x1a6yh9e`,"paddingTop-kLKAdn":`x1saie51`,"paddingBottom-kGO01o":`x1ej8hiu`,"paddingInlineStart-kZCmMZ":`xmg6hw8`,"paddingInlineEnd-kwRFfy":`x1hvdk87`,"textAlign-k9WMMc":`x2b8uid`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:81`},emptyIcon:{"ActivityHistory__styles.emptyIcon":`ActivityHistory__styles.emptyIcon`,"width-kzqmXN":`x1td3qas`,"height-kZKoxP":`x10w6t97`,"color-kMwMTN":`x137ha3m`,"strokeWidth-kfJifR":`x1k315e8`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:93`},error:{"ActivityHistory__styles.error":`ActivityHistory__styles.error`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"gap-kOIVth":`x2blr79`,"paddingTop-kLKAdn":`x2tg1xt`,"paddingBottom-kGO01o":`x1ww8orz`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:101`},retryRow:{"ActivityHistory__styles.retryRow":`ActivityHistory__styles.retryRow`,"display-k1xSpc":`x78zum5`,"justifyContent-kjj79g":`xl56j7k`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:108`},bodyEnter:{"ActivityHistory__styles.bodyEnter":`ActivityHistory__styles.bodyEnter`,"animationName-kKVMdj":`xqcmdr3`,"animationDuration-k44tkh":`x19y0sg2`,"animationTimingFunction-kyAemX":`xrkt6z0`,"animationFillMode-kWV6AL":`x1u6ievf`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/ActivityHistory.styles.ts:113`}};export{e as styles};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/widgets/activity-history/compound/ActivityHistoryDetail.d.ts
|
|
5
|
+
interface ActivityHistoryDetailOwnProps {
|
|
6
|
+
/**
|
|
7
|
+
* Optional custom composition. Defaults to mounting all three per-kind parts — each gates
|
|
8
|
+
* internally on the resolved payload's `kind`, so only the matching one renders.
|
|
9
|
+
*/
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Per-settlement detail compound — peer of {@link ActivityHistory}. Mounted by the dialog's
|
|
14
|
+
* `historyDetail` step. Resolves the selected settlement against
|
|
15
|
+
* `source.entity.raw[].settlements[]`, exposes the discriminated payload via the inner
|
|
16
|
+
* context, and lets per-kind parts (`Processing` / `Succeeded` / `Failed`) render the matching
|
|
17
|
+
* existing state compound with derived props.
|
|
18
|
+
*
|
|
19
|
+
* Returns `null` when the entity hasn't materialised raw data yet or when the settlement id
|
|
20
|
+
* misses (e.g. it aged out between row render and row tap). The lookup-miss arm silently
|
|
21
|
+
* dispatches `back()` so the next paint shows the list.
|
|
22
|
+
*/
|
|
23
|
+
declare function ActivityHistoryDetail({
|
|
24
|
+
children
|
|
25
|
+
}: ActivityHistoryDetailOwnProps): _$react_jsx_runtime0.JSX.Element | null;
|
|
26
|
+
/**
|
|
27
|
+
* Pending-payload branch. Mounts the kit's `<ProcessingStateCompound>` with the resolved
|
|
28
|
+
* settlement details and an `<ActivityHistoryListHeader>` in the header slot so the back
|
|
29
|
+
* chevron + title affordance matches the list view.
|
|
30
|
+
*/
|
|
31
|
+
declare function ActivityHistoryDetailProcessing({
|
|
32
|
+
children
|
|
33
|
+
}: {
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
}): _$react_jsx_runtime0.JSX.Element | null;
|
|
36
|
+
/**
|
|
37
|
+
* Succeeded-payload branch. Mounts `<SuccessStateCompound>` with per-direction headline copy
|
|
38
|
+
* so a withdraw row drilling into detail keeps `Withdrawal successful` (matching the row
|
|
39
|
+
* title vocabulary) instead of falling through to the deposit-only default.
|
|
40
|
+
*/
|
|
41
|
+
declare function ActivityHistoryDetailSucceeded({
|
|
42
|
+
children
|
|
43
|
+
}: {
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}): _$react_jsx_runtime0.JSX.Element | null;
|
|
46
|
+
/**
|
|
47
|
+
* Failed-payload branch. Mounts `<ErrorStateCompound>` with per-direction failure headline so
|
|
48
|
+
* a withdraw row keeps `Withdrawal failed` (the deposit branch is a no-op explicit set —
|
|
49
|
+
* matches the existing default; symmetric explicit form keeps both branches aligned).
|
|
50
|
+
*/
|
|
51
|
+
declare function ActivityHistoryDetailFailed({
|
|
52
|
+
children
|
|
53
|
+
}: {
|
|
54
|
+
children?: ReactNode;
|
|
55
|
+
}): _$react_jsx_runtime0.JSX.Element | null;
|
|
56
|
+
declare namespace ActivityHistoryDetail {
|
|
57
|
+
type Props = ActivityHistoryDetailOwnProps;
|
|
58
|
+
/**
|
|
59
|
+
* Pending-payload branch. Mounts `<ProcessingStateCompound>` with the resolved settlement
|
|
60
|
+
* details. Returns `null` when the resolved payload's kind isn't `"pending"`.
|
|
61
|
+
*/
|
|
62
|
+
const Processing: typeof ActivityHistoryDetailProcessing;
|
|
63
|
+
/**
|
|
64
|
+
* Succeeded-payload branch. Mounts `<SuccessStateCompound>` with per-direction headline
|
|
65
|
+
* copy. Returns `null` when the resolved payload's kind isn't `"succeeded"`.
|
|
66
|
+
*/
|
|
67
|
+
const Succeeded: typeof ActivityHistoryDetailSucceeded;
|
|
68
|
+
/**
|
|
69
|
+
* Failed-payload branch. Mounts `<ErrorStateCompound>` with per-direction failure headline.
|
|
70
|
+
* Returns `null` when the resolved payload's kind isn't `"failed"`.
|
|
71
|
+
*/
|
|
72
|
+
const Failed: typeof ActivityHistoryDetailFailed;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { ActivityHistoryDetail };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useLingui as e}from"../../../i18n/useLingui.js";import"../../../../i18n/index.js";import{useFailureReasonForKind as t}from"../../../orchestrator/failureReason.js";import"../../../orchestrator/index.js";import{ErrorState as n}from"../../error-state/compound/ErrorState.js";import"../../error-state/compound/index.js";import{ProcessingState as r}from"../../processing-state/compound/ProcessingState.js";import"../../processing-state/compound/index.js";import{SuccessState as i}from"../../success-state/compound/SuccessState.js";import"../../success-state/compound/index.js";import{useActivityHistorySource as a}from"./context.js";import{ActivityHistoryListHeader as o}from"./components/HistoryHeader.js";import{toAssetDescriptor as s}from"../../asset-descriptor.js";import{settlementToWidgetProps as c}from"../adapters/settlementToWidgetProps.js";import{createContext as l,use as u,useEffect as d}from"react";import{Fragment as f,jsx as p,jsxs as m}from"react/jsx-runtime";const h=l(null);h.displayName=`ActivityHistoryDetailContext`;const g=m(f,{children:[p(v,{}),p(y,{}),p(b,{})]});function _({children:t}){let n=a(`ActivityHistoryDetail`),{_:r}=e(),i=n.entity,o=i.status===`ready`||i.status===`stale`,s=o?i.raw:void 0,l=n.settlementId,u=s&&l?c(s,l,n.settlementContext):null,f=o&&l!==void 0&&!u,m=n.back;return d(()=>{f&&m()},[f,m]),u?p(h,{value:{payload:u.payload,direction:u.direction,headerTitle:r({id:`XdtTGf`,message:`Activity details`}),onBack:m},children:t??g}):null}function v({children:e}){let t=u(h);if(!t||t.payload.kind!==`pending`)return null;let{payload:n,headerTitle:i,onBack:a}=t,c=s(n.creditedAsset)??{symbol:n.creditedAsset.symbol},l={...n.sourceWallet.name===void 0?{}:{name:n.sourceWallet.name},address:n.sourceWallet.address.formatted,...n.sourceWallet.explorerUrl?{explorerUrl:n.sourceWallet.explorerUrl}:{}};return m(r,{amount:n.receiveAmount.formatted,creditedAsset:c,creditedTo:n.creditedTo,headerTitle:i,...n.txHash?{sourceTx:{hash:n.txHash.formatted,...n.txExplorerUrl?{explorerUrl:n.txExplorerUrl}:{}}}:{},...l.address?{sourceWallet:l}:{},submittedAt:n.submittedAt.formatted,...n.detectedAt?{detectedAt:n.detectedAt.formatted}:{},children:[p(o,{title:i,onBack:a}),e??m(r.Body,{children:[p(r.Hero,{}),p(r.StatusPill,{}),m(r.Details,{children:[p(r.SourceRow,{}),p(r.SourceTxRow,{}),p(r.SubmittedAtRow,{}),p(r.DetectedAtRow,{})]})]})]})}function y({children:t}){let{_:n}=e(),r=u(h);if(!r||r.payload.kind!==`succeeded`)return null;let{payload:a,direction:c,headerTitle:l,onBack:d}=r,f=s(a.creditedAsset)??{symbol:a.creditedAsset.symbol},g={...a.sourceWallet.name===void 0?{}:{name:a.sourceWallet.name},address:a.sourceWallet.address.formatted,...a.sourceWallet.explorerUrl?{explorerUrl:a.sourceWallet.explorerUrl}:{}},_=a.destination.name??a.creditedAsset.symbol,v=a.aggregatorExplorerUrl?{url:a.aggregatorExplorerUrl}:void 0,y=a.depositTx||a.completionTx||a.submittedAt||a.filledAt,b=n(c===`withdraw`?{id:`_girqu`,message:`Withdrawal successful`}:{id:`--OGth`,message:`Deposit successful`}),x=n(c===`withdraw`?{id:`_QZdX-`,message:`Your withdrawal was completed successfully.`}:{id:`oW1G8i`,message:`Your funds were successfully deposited.`});return m(i,{amount:a.receiveAmount.formatted,creditedAsset:f,creditedTo:_,headerTitle:l,headlineTitle:b,headlineDescription:x,...v?{explorer:v}:{},...a.depositTx?{depositTx:{hash:a.depositTx.hash.formatted,...a.depositTx.explorerUrl?{explorerUrl:a.depositTx.explorerUrl}:{}}}:{},...a.completionTx?{completionTx:{hash:a.completionTx.hash.formatted,...a.completionTx.explorerUrl?{explorerUrl:a.completionTx.explorerUrl}:{}}}:{},submittedAt:a.submittedAt.formatted,filledAt:a.filledAt.formatted,totalTime:a.totalTime.formatted,sourceWallet:g,children:[p(o,{title:l,onBack:d}),t??m(i.Body,{children:[p(i.Headline,{}),m(i.Details,{children:[p(i.FillStatusRow,{}),p(i.TotalTimeRow,{}),p(i.SourceRow,{}),p(i.DestinationRow,{}),p(i.YouReceiveRow,{}),y?m(i.MoreDetails,{children:[p(i.DepositTxRow,{}),p(i.CompletionTxRow,{}),p(i.SubmittedAtRow,{}),p(i.FilledAtRow,{})]}):null]})]})]})}function b({children:r}){let{_:i}=e(),a=t(),c=u(h);if(!c||c.payload.kind!==`failed`)return null;let{payload:l,direction:d,headerTitle:f,onBack:g}=c,_={...l.sourceWallet.name===void 0?{}:{name:l.sourceWallet.name},address:l.sourceWallet.address.formatted,...l.sourceWallet.explorerUrl?{explorerUrl:l.sourceWallet.explorerUrl}:{}},v={...l.destination.name===void 0?{}:{name:l.destination.name},address:l.destination.address.formatted},y=s(l.creditedAsset)??{symbol:l.creditedAsset.symbol},b={hash:l.txHash.formatted,...l.txExplorerUrl?{explorerUrl:l.txExplorerUrl}:{}},x=a(l.failureKind);return m(n,{headline:i(d===`withdraw`?{id:`KTNWsg`,message:`Withdrawal failed`}:{id:`i-4Fbp`,message:`Deposit failed`}),reason:x,headerTitle:f,sourceWallet:_,destination:v,receiveAmount:l.receiveAmount.formatted,receiveAsset:y,depositTx:b,submittedAt:l.submittedAt.formatted,failedAt:l.failedAt.formatted,children:[p(o,{title:f,onBack:g}),r??m(n.Body,{children:[p(n.Hero,{}),m(n.Details,{children:[p(n.FillStatusRow,{}),p(n.SourceRow,{}),p(n.DestinationRow,{}),p(n.YouReceiveRow,{}),m(n.MoreDetails,{children:[p(n.DepositTxRow,{}),p(n.SubmittedAtRow,{}),p(n.FailedAtRow,{})]})]}),p(n.HelpInfo,{})]})]})}(function(e){e.Processing=v,e.Succeeded=y,e.Failed=b})(_||={});export{_ as ActivityHistoryDetail};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/shared/widgets/activity-history/compound/Row.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Slot vocabulary for `<ActivityHistory.Row>`. Same `data-stridge-slot` convention as the parent
|
|
4
|
+
* compound — see {@link import("./ActivityHistory.slots").ACTIVITY_HISTORY_SLOTS}. Kept in its
|
|
5
|
+
* own file so the Row primitive stays a self-contained unit (matches the
|
|
6
|
+
* `<PrimitiveName>.slots.ts` convention used across `packages/kit/src/shared/ui/`).
|
|
7
|
+
*/
|
|
8
|
+
declare const ACTIVITY_HISTORY_ROW_SLOTS: {
|
|
9
|
+
readonly root: "activity-history-row";
|
|
10
|
+
readonly leading: "activity-history-row-leading";
|
|
11
|
+
readonly statusPip: "activity-history-row-status-pip";
|
|
12
|
+
readonly text: "activity-history-row-text";
|
|
13
|
+
readonly title: "activity-history-row-title";
|
|
14
|
+
readonly date: "activity-history-row-date";
|
|
15
|
+
readonly trailing: "activity-history-row-trailing";
|
|
16
|
+
readonly amount: "activity-history-row-amount";
|
|
17
|
+
readonly chevron: "activity-history-row-chevron";
|
|
18
|
+
};
|
|
19
|
+
type ActivityHistoryRowSlot = (typeof ACTIVITY_HISTORY_ROW_SLOTS)[keyof typeof ACTIVITY_HISTORY_ROW_SLOTS];
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ACTIVITY_HISTORY_ROW_SLOTS, ActivityHistoryRowSlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={root:`activity-history-row`,leading:`activity-history-row-leading`,statusPip:`activity-history-row-status-pip`,text:`activity-history-row-text`,title:`activity-history-row-title`,date:`activity-history-row-date`,trailing:`activity-history-row-trailing`,amount:`activity-history-row-amount`,chevron:`activity-history-row-chevron`};export{e as ACTIVITY_HISTORY_ROW_SLOTS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={rowLayout:{"Row__styles.rowLayout":`Row__styles.rowLayout`,"gap-kOIVth":`x2blr79`,"paddingBlock-k8WAf4":`x1yowcxs`,"paddingInlineStart-kZCmMZ":`xiplbrm`,"paddingInlineEnd-kwRFfy":`xvkiva6`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:35`},leading:{"Row__styles.leading":`Row__styles.leading`,"position-kVAEAm":`x1n2onr6`,"flexShrink-kmuXW":`x2lah0s`,"width-kzqmXN":`x187nhsf`,"height-kZKoxP":`xn3w4p2`,"overflow-kVQacm":`x1rea2x4`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:44`},statusPip:{"Row__styles.statusPip":`Row__styles.statusPip`,"position-kVAEAm":`x10l6tqk`,"zIndex-kY2c9j":`x1vjfegm`,"bottom-krVfgx":`x1t1qrwb`,"insetInlineEnd-kt4wiu":`x1d0qlrl`,"width-kzqmXN":`x1xp8n7a`,"height-kZKoxP":`xmix8c7`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"justifyContent-kjj79g":`xl56j7k`,"borderRadius-kaIpWk":`x1e6avla`,"borderWidth-kMzoRj":`xdh2fpr`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`xv87bwv`,"pointerEvents-kfzvcC":`x47corl`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:59`},statusPipCompleted:{"Row__styles.statusPipCompleted":`Row__styles.statusPipCompleted`,"backgroundColor-kWkggS":`xelfwhf`,"color-kMwMTN":`x1e8cn3g`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:88`},statusPipFailed:{"Row__styles.statusPipFailed":`Row__styles.statusPipFailed`,"backgroundColor-kWkggS":`x1qvyn6m`,"color-kMwMTN":`x18o46el`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:92`},statusPipPending:{"Row__styles.statusPipPending":`Row__styles.statusPipPending`,"backgroundColor-kWkggS":`x1qkydf4`,"color-kMwMTN":`xi96bwj`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:96`},statusPipIcon:{"Row__styles.statusPipIcon":`Row__styles.statusPipIcon`,"width-kzqmXN":`x1fsd2vl`,"height-kZKoxP":`x170jfvy`,"strokeWidth-kfJifR":`x1ip4yf`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:100`},statusPipSpinner:{"Row__styles.statusPipSpinner":`Row__styles.statusPipSpinner`,"width-kzqmXN":`x1fsd2vl`,"height-kZKoxP":`x170jfvy`,"animationName-kKVMdj":`x1aerksh`,"animationDuration-k44tkh":`x1q3qbx4`,"animationTimingFunction-kyAemX":`x1esw782`,"animationIterationCount-ko0y90":`xa4qsjk`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:105`},text:{"Row__styles.text":`Row__styles.text`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flexBasis-kCS8Yb":`x1r8uery`,"flexGrow-kzQI83":`x1iyjqo2`,"flexShrink-kmuXW":`xs83m0k`,"gap-kOIVth":`x1r05nms`,"minWidth-k7Eaqz":`xeuugli`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:123`},title:{"Row__styles.title":`Row__styles.title`,"overflow-kVQacm":`xb3r6kr`,"textOverflow-kg5iWk":`xlyipyv`,"whiteSpace-khDVqt":`xuxw1ft`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:132`},date:{"Row__styles.date":`Row__styles.date`,"overflow-kVQacm":`xb3r6kr`,"textOverflow-kg5iWk":`xlyipyv`,"whiteSpace-khDVqt":`xuxw1ft`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:137`},trailing:{"Row__styles.trailing":`Row__styles.trailing`,"display-k1xSpc":`x78zum5`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"gap-kOIVth":`x1a6yh9e`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:144`},chevron:{"Row__styles.chevron":`Row__styles.chevron`,"width-kzqmXN":`xsmyaan`,"height-kZKoxP":`x1kpxq89`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`x137ha3m`,"strokeWidth-kfJifR":`xvlca1e`,$$css:`@stridge/kit:src/shared/widgets/activity-history/compound/Row.styles.ts:150`}};export{e as styles};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/widgets/activity-history/compound/components/Empty.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Empty-state body for the activity surface. Reached when the gateway's poll returned an
|
|
6
|
+
* empty UDA list for the connected owner — typically a brand-new wallet that hasn't deposited
|
|
7
|
+
* or withdrawn yet. Renders centered icon + headline + subline; no CTA — the user is already
|
|
8
|
+
* inside an active dialog, so the surrounding flow (deposit method picker, withdraw form) is
|
|
9
|
+
* the implicit next step.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
declare function ActivityHistoryEmpty(): _$react_jsx_runtime0.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ActivityHistoryEmpty };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{ClockIcon as t}from"../../../../icons/ClockIcon.js";import"../../../../../icons/index.js";import{text as n}from"../../../../ui/Text/Text.js";import"../../../../ui/Text/index.js";import{ACTIVITY_HISTORY_SLOTS as r}from"../ActivityHistory.slots.js";import{styles as i}from"../ActivityHistory.styles.js";import{jsx as a,jsxs as o}from"react/jsx-runtime";import*as s from"@stylexjs/stylex";function c(){let{_:c}=e();return o(`div`,{"data-stridge-slot":r.empty,...s.props(i.empty),children:[a(t,{"aria-hidden":!0,"data-stridge-slot":r.emptyIcon,...s.props(i.emptyIcon)}),a(n.span,{size:`base`,fontWeight:`semibold`,color:`default`,children:c({id:`aXFOuf`,message:`No activity yet`})}),a(n.span,{size:`sm`,fontWeight:`medium`,color:`subdued`,children:c({id:`Xzw7uC`,message:`Your deposits and withdrawals will appear here.`})})]})}export{c as ActivityHistoryEmpty};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/widgets/activity-history/compound/components/ErrorView.d.ts
|
|
4
|
+
interface ActivityHistoryErrorViewProps {
|
|
5
|
+
/**
|
|
6
|
+
* Retry handler. Wired by the List to fire a fresh `refresh(signal)` against the source
|
|
7
|
+
* context — the entity transitions back through `loading → ready | error`.
|
|
8
|
+
*/
|
|
9
|
+
onRetry: () => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Initial-error body for the activity surface. Rendered only when the first fetch failed
|
|
13
|
+
* AND the entity has no prior payload to fall back to (status `error` from `idle | loading`).
|
|
14
|
+
* Refresh failures while a payload is already cached are silent — the entity stays `stale`
|
|
15
|
+
* and the next controller-driven `watchHistory` tick retries; that branch never reaches this
|
|
16
|
+
* component.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
* @see {@link ActivityHistoryList} for the entity-status branching that decides when this
|
|
20
|
+
* renders vs the silent stale-while-revalidate path.
|
|
21
|
+
*/
|
|
22
|
+
declare function ActivityHistoryErrorView({
|
|
23
|
+
onRetry
|
|
24
|
+
}: ActivityHistoryErrorViewProps): _$react_jsx_runtime0.JSX.Element;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { ActivityHistoryErrorView };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{AlertIcon as t}from"../../../../icons/AlertIcon.js";import"../../../../../icons/index.js";import{Button as n}from"../../../../ui/Button/Button.js";import"../../../../ui/Button/index.js";import{Alert as r}from"../../../../ui/Alert/Alert.js";import"../../../../ui/Alert/index.js";import{ACTIVITY_HISTORY_SLOTS as i}from"../ActivityHistory.slots.js";import{styles as a}from"../ActivityHistory.styles.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({onRetry:l}){let{_:u}=e();return s(`div`,{"data-stridge-slot":i.error,...c.props(a.error),children:[o(r,{variant:`danger`,icon:o(t,{}),children:u({id:`B-4zEC`,message:`Couldn't load activity. Please try again.`})}),o(`div`,{...c.props(a.retryRow),children:o(n,{type:`button`,variant:`secondary`,size:`sm`,onClick:l,"data-stridge-slot":i.retry,children:u({id:`KDw4GX`,message:`Try again`})})})]})}export{l as ActivityHistoryErrorView};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/widgets/activity-history/compound/components/HistoryHeader.d.ts
|
|
4
|
+
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* Optional override for the title. Defaults to `t\`Activity\`` for the list view; detail
|
|
7
|
+
* views pass their own (e.g. `t\`Activity details\``).
|
|
8
|
+
*/
|
|
9
|
+
title?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Back chevron handler. When set, renders the chevron on the leading edge; when omitted,
|
|
12
|
+
* the title aligns flush with the leading edge. The list view always supplies a handler;
|
|
13
|
+
* detail views always supply one.
|
|
14
|
+
*/
|
|
15
|
+
onBack?: () => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Shared `Card.Header` for the activity surface. Renders a back chevron (when `onBack` is
|
|
19
|
+
* set) on the leading edge + title + trailing `Dialog.CloseButton`. Mirrors the rhythm of
|
|
20
|
+
* `WithdrawForm.Header` (the kit's other multi-element dialog header) so the header chrome
|
|
21
|
+
* stays consistent across flows.
|
|
22
|
+
*
|
|
23
|
+
* Mounted by both the List view and the Detail view's per-payload compound — the chevron
|
|
24
|
+
* routes `actions.back()` through the source context, which the FSM disambiguates via the
|
|
25
|
+
* active state name (`historyDetail → historyList → source`).
|
|
26
|
+
*/
|
|
27
|
+
declare function ActivityHistoryListHeader({
|
|
28
|
+
title,
|
|
29
|
+
onBack
|
|
30
|
+
}: Props): _$react_jsx_runtime0.JSX.Element;
|
|
31
|
+
/**
|
|
32
|
+
* Public `<ActivityHistory.Header>` part — thin wrapper around {@link ActivityHistoryListHeader}
|
|
33
|
+
* that reads `back` from the source context so hosts get a zero-prop part to drop into list
|
|
34
|
+
* compositions. The peer detail compound mounts `<ActivityHistory.ListHeader>` itself with an
|
|
35
|
+
* explicit title and back handler.
|
|
36
|
+
*/
|
|
37
|
+
declare function ActivityHistoryHeader(): _$react_jsx_runtime0.JSX.Element;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { ActivityHistoryHeader, ActivityHistoryListHeader };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{ChevronLeftIcon as t}from"../../../../icons/ChevronLeftIcon.js";import"../../../../../icons/index.js";import{IconButton as n}from"../../../../ui/IconButton/IconButton.js";import"../../../../ui/IconButton/index.js";import{Dialog as r}from"../../../../ui/Dialog/Dialog.js";import"../../../../ui/Dialog/index.js";import{Card as i}from"../../../../ui/Card/Card.js";import"../../../../ui/Card/index.js";import{text as a}from"../../../../ui/Text/Text.js";import"../../../../ui/Text/index.js";import{ACTIVITY_HISTORY_SLOTS as o}from"../ActivityHistory.slots.js";import{styles as s}from"../ActivityHistory.styles.js";import{useActivityHistorySource as c}from"../context.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({title:c,onBack:f}){let{_:p}=e(),m=c??p({id:`XJOV1Y`,message:`Activity`});return u(i.Header,{"data-stridge-slot":o.header,...d.props(s.header),children:[u(`div`,{...d.props(s.headerLeft),children:[typeof f==`function`?l(n,{"aria-label":p({id:`iH8pgl`,message:`Back`}),onClick:f,children:l(t,{"aria-hidden":!0,...d.props(s.backIcon)})}):null,l(a.span,{size:`base`,fontWeight:`semibold`,leading:`tight`,tracking:`tight`,style:{margin:0},children:m})]}),l(`div`,{...d.props(s.headerRight),children:l(r.CloseButton,{})})]})}function p(){return l(f,{onBack:c(`ActivityHistory.Header`).back})}export{p as ActivityHistoryHeader,f as ActivityHistoryListHeader};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/widgets/activity-history/compound/components/List.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* List body for the activity surface. Reads the `history` entity from
|
|
6
|
+
* {@link useActivityHistorySource} and branches on status:
|
|
7
|
+
*
|
|
8
|
+
* - `idle | loading` (cold path, no prior payload) → skeleton × 4.
|
|
9
|
+
* - `ready | stale` → rows. `stale` keeps the prior list rendered while a refresh is in
|
|
10
|
+
* flight so the user never sees an empty pause. The refresh is silent — no spinner.
|
|
11
|
+
* - `error` (cold path) → {@link ActivityHistoryErrorView} with a retry button.
|
|
12
|
+
* - `ready` with zero rows → {@link ActivityHistoryEmpty}.
|
|
13
|
+
*
|
|
14
|
+
* Recurring updates land via the controller-mounted `watchHistory` watcher (mounted on entry
|
|
15
|
+
* to `historyList` / `historyDetail`, with adaptive cadence — short while any row is
|
|
16
|
+
* `pending`, long once all rows are terminal). The widget itself is a pure reader; the only
|
|
17
|
+
* imperative surface left here is the retry button, which fires `source.refresh(signal)` once.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
declare function ActivityHistoryList(): _$react_jsx_runtime0.JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ActivityHistoryList };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{Card as e}from"../../../../ui/Card/Card.js";import"../../../../ui/Card/index.js";import{Skeleton as t}from"../../../../ui/Skeleton/Skeleton.js";import"../../../../ui/Skeleton/index.js";import{ACTIVITY_HISTORY_SLOTS as n}from"../ActivityHistory.slots.js";import{styles as r}from"../ActivityHistory.styles.js";import{ActivityHistoryEmpty as i}from"./Empty.js";import{ActivityHistoryErrorView as a}from"./ErrorView.js";import{useActivityHistorySource as o}from"../context.js";import{ActivityHistoryRow as s}from"./Row.js";import{useRef as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";const f=[`skeleton-1`,`skeleton-2`,`skeleton-3`,`skeleton-4`];function p(){let t=o(`ActivityHistory.List`),u=c(null),f=c(t.refresh);f.current=t.refresh;let p=t.entity;if(p.status===`error`)return l(e.Body,{"data-stridge-slot":n.body,...d.props(r.body),children:l(a,{onRetry:()=>{u.current?.abort();let e=new AbortController;u.current=e,f.current(e.signal)}})});if(p.status===`idle`||p.status===`loading`)return l(e.Body,{"data-stridge-slot":n.body,...d.props(r.body),"aria-busy":`true`,"aria-live":`polite`,children:l(g,{})});let _=p.payload.rows;return _.length===0?l(e.Body,{"data-stridge-slot":n.body,...d.props(r.body),children:l(i,{})}):l(e.Body,{"data-stridge-slot":n.body,...d.props(r.body,r.bodyEnter),children:l(`ul`,{"data-stridge-slot":n.list,style:m,children:_.map(e=>l(`li`,{style:h,children:l(s,{payload:e,onSelect:t.selectSettlement})},`${e.udaId}:${e.id}`))})})}const m={display:`flex`,flexDirection:`column`,gap:`var(--stridge-kit-space-2)`,listStyle:`none`,marginBlock:0,marginInline:0,paddingBlock:0,paddingInline:0},h={listStyle:`none`};function g(){return l(`div`,{"data-stridge-slot":n.skeleton,children:f.map(e=>u(`div`,{"data-stridge-slot":n.skeletonRow,...d.props(r.skeletonRow),children:[l(t,{width:44,height:44,radius:999}),u(`div`,{...d.props(r.skeletonText),children:[l(t,{width:`60%`,height:14}),l(t,{width:`40%`,height:12})]}),l(t,{width:56,height:14})]},e))})}export{p as ActivityHistoryList};
|