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:

51 lines (50 loc) 2.95 kB
/** * @module TitleBar */ import { Button, Payload as ButtonPayload } from '../Button'; import { ButtonGroup, Payload as ButtonGroupPayload } from '../ButtonGroup'; import { ClientApplication } from '../../client'; import { ActionSetWithChildren } from '../helper'; import { ActionSetProps, ClickAction, Group, MetaAction } from '../types'; import { ErrorAction } from '../Error'; import { Action, ButtonsOptions as TitleBarButtonsOptions, ButtonsPayload as TitleBarButtonsPayload, Options, Payload } from './types'; export declare const GROUP: Group; export interface UpdateAction extends MetaAction { readonly group: typeof GROUP; payload: Payload; } export declare type TitleBarAction = UpdateAction | ClickAction | MetaAction; export declare function clickActionButton(id: string, payload?: any): ClickAction; export declare function clickBreadcrumb(id: string, payload?: any): ClickAction; export declare function update(payload: Payload): UpdateAction; export declare function isValidTitleBarPayload(payload: Payload): boolean; export declare function isValidTitleBarProps(props: Payload | Options): boolean; export declare function isValidTitleBarButtons(buttons?: TitleBarButtonsPayload): boolean; export declare function isValidTitleBarBreadcrumbs(button?: ButtonPayload): boolean; export declare function validationError(action: TitleBarAction): undefined | ErrorAction; export declare class TitleBar extends ActionSetWithChildren implements ActionSetProps<Options, Payload> { title?: string; primary?: ButtonPayload; secondary?: (ButtonPayload | ButtonGroupPayload)[]; primaryOptions?: Button; secondaryOptions?: (ButtonGroup | Button)[]; breadcrumb?: ButtonPayload; breadcrumbsOption?: Button; constructor(app: ClientApplication<any>, options: Options); readonly buttons: TitleBarButtonsPayload | undefined; readonly buttonsOptions: TitleBarButtonsOptions | undefined; readonly options: Options; readonly payload: Payload; set(options: Partial<Options>, shouldUpdate?: boolean): this; dispatch(action: Action): this; protected getButton(button: Button | ButtonGroup, subgroups: string[], updateCb: (newPayload: ButtonPayload | ButtonGroupPayload) => void): ButtonPayload | ButtonGroupPayload; protected updatePrimaryButton(newPayload: ButtonPayload): void; protected updateSecondaryButtons(newPayload: ButtonPayload | ButtonGroupPayload): void; protected updateBreadcrumbButton(newPayload: ButtonPayload): void; protected setPrimaryButton(newOptions?: Button): void; protected setSecondaryButton(newOptions?: (ButtonGroup | Button)[]): void; protected setBreadcrumbs(breadcrumb?: Button): void; protected getChildButton(newAction: undefined | Button, currentAction: undefined | Button): Button | undefined; private validateOptions(options); } export declare function create(app: ClientApplication<any>, options: Options): TitleBar;