@shopify/app-bridge
Version:
[](https://travis-ci.com/Shopify/app-bridge) [](https:
32 lines (31 loc) • 1.6 kB
TypeScript
/**
* @module Button
*/
import { ClientApplication } from '../../client';
import { ActionSet } from '../helper';
import { ActionSetProps, ClickAction, Component, MetaAction } from '../types';
import { ErrorAction } from '../Error';
import { Action, ClickPayload, Options, Payload } from './types';
export interface ButtonUpdateAction extends MetaAction {
readonly group: string;
payload: Payload;
}
export declare type ButtonAction = ButtonUpdateAction | ClickAction | MetaAction;
export declare function getSafeButtonProps(props: Payload): Pick<Payload, "disabled" | "label" | "id" | "primary">;
export declare function clickButton(group: string, component: Component, payload?: ClickPayload): ClickAction;
export declare function update(group: string, component: Component, props: Payload): ButtonUpdateAction;
export declare function validationError(action: ButtonUpdateAction | ClickAction | MetaAction): undefined | ErrorAction;
export declare function isValidButtonProps(button: Payload): boolean;
export declare class Button extends ActionSet implements ActionSetProps<Options, Payload> {
label: string;
primary: boolean;
disabled: boolean;
constructor(app: ClientApplication<any>, options: Options);
readonly options: Options;
readonly payload: Payload;
set(options: Partial<Options>, shouldUpdate?: boolean): this;
dispatch(action: Action.UPDATE): ActionSet;
dispatch(action: Action.CLICK, payload?: any): ActionSet;
private validateOptions(options);
}
export declare function create(app: ClientApplication<any>, options: Options): Button;