@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
60 lines (59 loc) • 1.6 kB
TypeScript
import { BladeSizes } from ".";
export interface Blade {
id: string;
content: () => JSX.Element;
size?: BladeSizes;
disabled?: boolean;
isSubJourney?: boolean;
}
export interface JourneyInstance {
/**
* @param blade the blade to add or update to the existing journey
*/
addOrUpdateBlade(blade: Blade): any;
/**
* @param bladeId the blade id to remove from the existing journey
*/
removeBlade(bladeId: string): any;
/**
* @param bladeId the id of the blade to check if it exists in the journey
*/
hasBlade(bladeId: string): boolean;
/**
* @param bladeIds the id of the blades to travel to
*/
travelTo(bladeIds: Array<string>): any;
/**
* @param bladeId the id of the next blade to travel to
*/
travelToNext(bladeId: string): any;
/**
* @param bladeId the id of the blade to travel back to
*/
travelBackTo(bladeId: string): any;
/**
* travels back to last blade
*/
travelBack(): any;
/**
* travels back to first blade
*/
travelBackToFirstBlade(): any;
/**
* @param bladeId the id of a visible blade to scroll to
*/
scrollToVisibleBlade(bladeId: string): any;
/**
* @param visibleBlades the currently visible blades
*/
visibleBlades: Array<Blade>;
/**
* Trigger to close journey - only works if onInstanceClosed is defined in the parent component
*/
closeJourney: () => void;
/**
* Return blade width in px
* @param size blade size
*/
getBladeWidth(size: BladeSizes): string;
}