UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

150 lines • 5.29 kB
export type FunnelType = 'single-page' | 'multi-page' | 'modal'; export type FlowType = 'create' | 'edit' | 'delete' | 'home' | 'dashboard' | 'view-resource'; export interface AnalyticsMetadata { instanceIdentifier?: string; flowType?: FlowType; errorContext?: string; resourceType?: string; } interface BaseFunnelProps { funnelIdentifier?: string; funnelInteractionId: string; currentDocument?: Document; } interface FunnelErrorProps extends BaseFunnelProps { funnelErrorContext?: string; } export interface FunnelStartProps extends Omit<BaseFunnelProps, 'funnelInteractionId'> { flowType?: FlowType; resourceType?: string; funnelName: string; funnelNameSelector: string; totalFunnelSteps: number; optionalStepNumbers: number[]; stepConfiguration?: StepConfiguration[]; funnelType: FunnelType; funnelVersion: string; componentVersion: string; componentTheme: string; funnelInteractionId?: string; } type FunnelMethod<T extends BaseFunnelProps> = (props: T) => void; export interface TableInteractionProps { interactionTime: number; userAction: string; instanceIdentifier?: string; componentIdentifier?: string; noOfResourcesInTable?: number; interactionMetadata?: string; } type TableInteractionMethod = (props: TableInteractionProps) => void; type FunnelStartMethod = (props: FunnelStartProps) => string; export interface FunnelStepProps extends BaseFunnelProps { stepIdentifier?: string; stepNumber: number; stepName?: string | undefined; stepNameSelector?: string; subStepAllSelector: string; totalSubSteps?: number; subStepConfiguration?: SubStepConfiguration[]; } interface FunnelStepNavigationProps extends FunnelStepProps { destinationStepNumber: number; navigationType: string; totalSubSteps?: number; } interface FunnelStepErrorProps extends FunnelStepProps { stepErrorContext?: string; stepErrorSelector: string; } interface FunnelSubStepProps extends FunnelStepProps { subStepIdentifier?: string; subStepSelector: string; subStepName?: string | undefined; subStepNameSelector: string; subStepNumber?: number; } interface OptionalFunnelSubStepErrorProps extends FunnelSubStepProps { subStepErrorContext?: string; fieldIdentifier?: string; fieldErrorContext?: string; fieldLabelSelector?: string; fieldErrorSelector?: string; } interface FunnelLinkInteractionProps extends FunnelSubStepProps { elementSelector: string; } interface FunnelChangeProps extends BaseFunnelProps { stepConfiguration: StepConfiguration[]; } export interface StepConfiguration { number: number; name: string; isOptional: boolean; stepIdentifier?: string; } export interface SubStepConfiguration { number: number; name: string; subStepIdentifier?: string; } export interface IFunnelMetrics { funnelStart: FunnelStartMethod; funnelError: FunnelMethod<FunnelErrorProps>; funnelComplete: FunnelMethod<BaseFunnelProps>; funnelSuccessful: FunnelMethod<BaseFunnelProps>; funnelCancelled: FunnelMethod<BaseFunnelProps>; funnelChange: FunnelMethod<FunnelChangeProps>; funnelStepStart: FunnelMethod<FunnelStepProps>; funnelStepComplete: FunnelMethod<FunnelStepProps>; funnelStepNavigation: FunnelMethod<FunnelStepNavigationProps>; funnelStepError: FunnelMethod<FunnelStepErrorProps>; funnelStepChange: FunnelMethod<FunnelStepProps>; funnelSubStepStart: FunnelMethod<FunnelSubStepProps>; funnelSubStepComplete: FunnelMethod<FunnelSubStepProps>; funnelSubStepError: FunnelMethod<OptionalFunnelSubStepErrorProps>; helpPanelInteracted: FunnelMethod<FunnelLinkInteractionProps>; externalLinkInteracted: FunnelMethod<FunnelLinkInteractionProps>; } export interface TaskCompletionDataProps { timeToRespondAfterFormSubmit: number; taskInteractionId: string; taskIdentifier?: string; taskFlowType?: string; taskType?: FunnelType; completionMetadata?: string; } type TaskCompletionDataMethod = (props: TaskCompletionDataProps) => void; export interface IPerformanceMetrics { tableInteraction: TableInteractionMethod; taskCompletionData: TaskCompletionDataMethod; modalPerformanceData: ModalPerformanceDataMethod; } type JSONValue = string | number | boolean | null | undefined; export interface JSONObject { [key: string]: JSONObject | JSONValue; } interface ComponentMountedProps { componentName: string; taskInteractionId?: string; componentConfiguration: JSONObject; } interface ComponentUpdatedProps extends ComponentMountedProps { taskInteractionId: string; actionType: string; } type ComponentMountedMethod = (props: ComponentMountedProps) => string; type ComponentUpdatedMethod = (props: ComponentUpdatedProps) => void; export interface IComponentMetrics { componentMounted: ComponentMountedMethod; componentUpdated: ComponentUpdatedMethod; } export interface ModalPerformanceDataProps { timeToContentReadyInModal: number; instanceIdentifier?: string; componentIdentifier?: string; modalMetadata?: string; } type ModalPerformanceDataMethod = (props: ModalPerformanceDataProps) => void; export {}; //# sourceMappingURL=interfaces.d.ts.map