UNPKG

@shopify/app-bridge

Version:

[![Build Status](https://travis-ci.com/Shopify/app-bridge.svg?token=RBRyvqQyN525bnfz7J8p&branch=master)](https://travis-ci.com/Shopify/app-bridge) [![codecov](https://codecov.io/gh/Shopify/app-bridge/branch/master/graph/badge.svg?token=nZ21m39Dr6)](https:

106 lines (105 loc) 2.78 kB
/** * @module Types */ import { ClientApplication } from '../client'; import { ActionSet } from './helper'; import { ErrorAction } from './Error/actions'; export declare enum Group { Button = "Button", ButtonGroup = "ButtonGroup", Cart = "Cart", Error = "Error", Flash = "Flash", Loading = "Loading", Modal = "Modal", Navigation = "Navigation", Print = "Print", TitleBar = "TitleBar", ResourcePicker = "Resource_Picker", } export declare enum ComponentType { Button = "Button", ButtonGroup = "ButtonGroup", } export interface AnyAction { type: any; [extraProps: string]: any; } export interface MetaAction extends AnyAction { readonly version: string; readonly group: string; readonly type: string; payload?: any; } export interface ClickAction extends MetaAction { payload: { id: string; payload?: any; }; } export interface ActionCallback { (data: any): void; } export interface ErrorCallback { (data: ErrorAction): void; } export interface UpdateSubscribe { (group: string, subgroups: string[]): void; } export interface Unsubscribe { (): void; } export interface ErrorSubscriber { (callback: ErrorCallback): Unsubscribe; } export interface ActionSubscription { component: Component; eventType: string; callback: ActionCallback; unsubscribe: Unsubscribe; updateSubscribe: UpdateSubscribe; } export interface UpdateSubscription { (subscriptionToRemove: ActionSubscription, group: string, subgroups: string[]): void; } export interface Component { readonly id: string; readonly type: string; subgroups?: string[]; } export interface ActionSetInterface extends Component { readonly app: ClientApplication<any>; readonly defaultGroup: string; group: string; component: Component; subscriptions: ActionSubscription[]; updateSubscription: UpdateSubscription; error: ErrorSubscriber; subscribe(eventName: string, callback: ActionCallback, component?: Component, currentIndex?: number): Unsubscribe; unsubscribe(resetOnly: boolean): ActionSetInterface; } export interface DispatchAction { type: string; payload: any; } export interface SimpleDispatch { dispatch(action: string): ActionSet; } export interface ComplexDispatch<P> { dispatch(action: string, payload: P): ActionSet; } export interface ActionSetProps<T, P> extends SimpleDispatch { options: T; payload: P; set(options: Partial<T>): ActionSet; } export interface ActionSetPayload<P> extends SimpleDispatch { payload: P; } export interface ActionSetOptions<T> { options: T; set(options: Partial<T>): ActionSet; } export interface Dispatch<S> { <A extends AnyAction>(action: A): A; }