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:

37 lines (36 loc) 1.91 kB
/** * @module ButtonGroup */ import { ClientApplication } from '../../client'; import { ActionSetWithChildren } from '../helper'; import { ActionSetProps, Component, MetaAction } from '../types'; import { Button, Payload as ButtonPayload } from '../Button'; import { ErrorAction } from '../Error'; import { Action, Options, Payload } from './types'; export interface ButtonGroupUpdateAction extends MetaAction { readonly group: string; payload: Payload; } export declare type ButtonGroupAction = ButtonGroupUpdateAction | MetaAction; export declare function update(group: string, component: Component, props: Payload): ButtonGroupUpdateAction; export declare function isGroupedButton(options: ButtonGroup | object): options is ButtonGroup; export declare function isGroupedButtonPayload(payload: Payload | object): payload is Payload; export declare function getSafeButtonGroupProps(props: Payload): Pick<Payload, "disabled" | "label" | "buttons" | "id">; export declare function validationError(action: ButtonGroupUpdateAction | MetaAction): undefined | ErrorAction; export declare function isValidButtonGroupProps(buttonGroup: Payload): boolean; export declare class ButtonGroup extends ActionSetWithChildren implements ActionSetProps<Options, Payload> { label: string; disabled: boolean; buttonsOptions: Button[]; buttons: ButtonPayload[]; constructor(app: ClientApplication<any>, options: Options); readonly options: Options; readonly payload: Payload; set(options: Partial<Options>, shouldUpdate?: boolean): this; dispatch(action: Action): this; updateButtons(newPayload: ButtonPayload): void; protected getSingleButton(button: Button): ButtonPayload; protected getButtons(buttonOptions?: Button[]): ButtonPayload[]; private validateOptions(options); } export declare function create(app: ClientApplication<any>, options: Options): ButtonGroup;