UNPKG

@communityox/ox_lib

Version:

JS/TS wrapper for ox_lib exports

41 lines (40 loc) 1.56 kB
import type { IconName, IconPrefix } from '@fortawesome/fontawesome-common-types'; type MenuPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'; type ChangeFunction = (selected: number, scrollIndex?: number, args?: any, checked?: boolean) => void; type IconAnimation = 'spin' | 'spinPulse' | 'spinReverse' | 'pulse' | 'beat' | 'fade' | 'beatFade' | 'bounce' | 'shake'; interface MenuOptions { label: string; icon?: IconName | [IconPrefix, IconName] | string; iconColor?: string; iconAnimation?: IconAnimation; checked?: boolean; values?: Array<string | { label: string; description: string; }>; description?: string; defaultIndex?: number; args?: Record<any, any>; close?: boolean; } interface MenuProps { id: string; title: string; options: MenuOptions[]; position?: MenuPosition; disableInput?: boolean; canClose?: boolean; onClose?: (keyPressed?: 'Escape' | 'Backspace') => void; onSelected?: ChangeFunction; onSideScroll?: ChangeFunction; onCheck?: ChangeFunction; cb?: ChangeFunction; } type registerMenu = (data: MenuProps, cb: ChangeFunction) => void; export declare const registerMenu: registerMenu; export declare const showMenu: (id: string) => string; export declare const hideMenu: (onExit: boolean) => void; export declare const getOpenMenu: () => string | null; type setMenuOptions = (id: string, options: MenuOptions | MenuOptions[], index?: number) => void; export declare const setMenuOptions: setMenuOptions; export {};