UNPKG

@zextras/carbonio-shell-ui

Version:

The Zextras Carbonio web client

41 lines (40 loc) 2.02 kB
import type { ComponentType } from 'react'; import type { AppRoute, AppRouteDescriptor, AppView, BadgeInfo, BoardView, CarbonioModule, PrimaryAccessoryView, PrimaryBarView, SecondaryAccessoryView, SecondaryBarView, SettingsView, UtilityView } from '../../types/apps'; export type AppState = { focusMode: false | string; apps: Record<string, CarbonioModule>; appContexts: Record<string, unknown>; entryPoints: Record<string, ComponentType>; routes: Record<string, AppRoute>; views: { primaryBar: Array<PrimaryBarView>; secondaryBar: Array<SecondaryBarView>; appView: Array<AppView>; board: Array<BoardView>; utilityBar: Array<UtilityView>; settings: Array<SettingsView>; primaryBarAccessories: Array<PrimaryAccessoryView>; secondaryBarAccessories: Array<SecondaryAccessoryView>; }; shell: CarbonioModule; }; export type AppActions = { setApps: (apps: Array<Partial<CarbonioModule>>) => void; upsertApp: (app: Pick<CarbonioModule, 'name' | 'display'>) => void; addRoute: (routeData: AppRouteDescriptor) => string; setRouteVisibility: (id: string, visible: boolean) => void; removeRoute: (id: string) => void; updatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void; addBoardView: (data: BoardView) => string; removeBoardView: (id: string) => void; addSettingsView: (data: SettingsView) => string; removeSettingsView: (id: string) => void; addUtilityView: (data: UtilityView) => string; removeUtilityView: (id: string) => void; addPrimaryAccessoryView: (data: PrimaryAccessoryView) => string; removePrimaryAccessoryView: (id: string) => void; addSecondaryAccessoryView: (data: SecondaryAccessoryView) => string; removeSecondaryAccessoryView: (id: string) => void; setAppContext: (app: string) => <T = unknown>(context: T) => void; }; export declare const useAppStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AppState & AppActions>>;