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:

32 lines (31 loc) 1.6 kB
/** * @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;