@hypernetlabs/web-ui
Version:
Web ui react components for hypernet protocol
109 lines • 5.21 kB
TypeScript
import { EPaymentType, GatewayUrl, PublicIdentifier, EthereumAddress, RenderError, RegistryTokenId } from "@hypernetlabs/objects";
import { Result } from "neverthrow";
import React from "react";
export interface IRenderParams {
selector?: string;
showInModal?: boolean;
noHeader?: boolean;
noLabel?: boolean;
excludeCardWrapper?: boolean;
bodyStyle?: React.CSSProperties;
closeCallback?: () => void;
hideLoadingSpinner?: boolean;
}
export interface IConnectorAuthorizationFlowParams extends IRenderParams {
connectorUrl: GatewayUrl;
connectorName?: string;
connectorLogoUrl?: string;
}
export interface IOnboardingSuccessButtonProps {
label: string;
action: () => void;
}
export interface IOnboardingFlowParams extends IRenderParams {
gatewayUrl: GatewayUrl;
gatewayName?: string;
gatewayLogoUrl?: string;
renderGatewayApprovalContent?: () => React.ReactNode;
launchpadUrl?: string;
successButtonProps?: IOnboardingSuccessButtonProps;
}
export interface IRenderPaymentWidgetParams extends IRenderParams {
selector: string;
counterPartyAccount: PublicIdentifier;
amount: string;
expirationDate: number;
requiredStake: string;
paymentTokenAddress: EthereumAddress;
gatewayUrl: GatewayUrl;
paymentType: EPaymentType;
}
export interface IProposalsWidgetParams extends IRenderParams {
onProposalCreationNavigate?: () => void;
onProposalDetailsNavigate?: (proposalId: string) => void;
}
export interface IProposalDetailWidgetParams extends IRenderParams {
onProposalListNavigate?: () => void;
proposalId: string;
}
export interface IProposalCreateWidgetParams extends IRenderParams {
onProposalListNavigate?: () => void;
}
export interface IRegistryListWidgetParams extends IRenderParams {
onRegistryEntryListNavigate?: (registryName: string) => void;
onRegistryDetailNavigate?: (registryName: string) => void;
onLazyMintRequestsNavigate?: () => void;
}
export interface IRegistryEntryListWidgetParams extends IRenderParams {
onRegistryEntryDetailsNavigate?: (registryName: string, entryTokenId: RegistryTokenId) => void;
onRegistryListNavigate?: () => void;
registryName: string;
}
export interface IRegistryEntryDetailWidgetParams extends IRenderParams {
onRegistryEntryListNavigate?: (registryName: string) => void;
registryName: string;
entryTokenId: RegistryTokenId;
}
export interface IRegistryDetailWidgetParams extends IRenderParams {
onRegistryListNavigate?: () => void;
registryName: string;
}
export interface IHypernetWebUI {
renderPrivateKeysModal(): Result<void, RenderError>;
renderWarningAlertModal(errorMessage?: string): Result<void, RenderError>;
renderMetamaskWarningModal(): Result<void, RenderError>;
renderConnectedAccountWidget(params?: IRenderParams): Result<void, RenderError>;
renderWalletConnectWidget(config: IRenderParams): Result<void, RenderError>;
renderChainSelectorWidget(params?: IRenderParams): Result<void, RenderError>;
payments: IHypernetPaymentsWebUI;
governance: IHypernetGovernanceWebUI;
registries: IHypernetRegistriesWebUI;
}
export interface IHypernetPaymentsWebUI {
renderBalancesWidget(params?: IRenderParams): Result<void, RenderError>;
renderGatewaysWidget(params?: IRenderParams): Result<void, RenderError>;
renderFundWidget(params?: IRenderParams): Result<void, RenderError>;
renderWithdrawWidget(params?: IRenderParams): Result<void, RenderError>;
renderLinksWidget(params?: IRenderParams): Result<void, RenderError>;
renderPublicIdentifierWidget(params?: IRenderParams): Result<void, RenderError>;
renderStateChannelsWidget(params?: IRenderParams): Result<void, RenderError>;
renderBalancesSummaryWidget(params?: IRenderParams): Result<void, RenderError>;
renderPaymentWidget(params?: IRenderPaymentWidgetParams): Result<void, RenderError>;
renderConnectorAuthorizationFlow(params: IConnectorAuthorizationFlowParams): Result<void, RenderError>;
startOnboardingFlow(params: IOnboardingFlowParams): Result<void, RenderError>;
}
export interface IHypernetGovernanceWebUI {
renderProposalsWidget(config?: IProposalsWidgetParams): Result<void, RenderError>;
renderProposalDetailWidget(config?: IProposalDetailWidgetParams): Result<void, RenderError>;
renderProposalCreateWidget(config?: IProposalCreateWidgetParams): Result<void, RenderError>;
renderHypertokenBalanceWidget(params?: IRenderParams): Result<void, RenderError>;
renderVotingPowerWidget(params?: IRenderParams): Result<void, RenderError>;
}
export interface IHypernetRegistriesWebUI {
renderRegistryListWidget(config?: IRegistryListWidgetParams): Result<void, RenderError>;
renderRegistryDetailWidget(config?: IRegistryDetailWidgetParams): Result<void, RenderError>;
renderRegistryEntryListWidget(config?: IRegistryEntryListWidgetParams): Result<void, RenderError>;
renderRegistryEntryDetailWidget(config?: IRegistryEntryDetailWidgetParams): Result<void, RenderError>;
renderRegistryLazyMintingRequestsWidget(config?: IRenderParams): Result<void, RenderError>;
}
//# sourceMappingURL=IHypernetWebUI.d.ts.map