/** * Keyboard Shortcuts Module * * Comprehensive keyboard shortcut management system * * Features: * - Cross-platform key combination support * - Dynamic shortcut registration * - Shortcut help dialog support * - Input field detection * - Platform-specific key formatting * * @example * ```tsx * import { useKeyboardShortcuts, useHotkeys, formatKeyCombo } from '@burdenoff/fe-libs/shared/keyboard'; * * // Method 1: Static shortcuts * const shortcuts = [ * { id: 'search', keys: ['ctrl+k', 'cmd+k'], description: 'Search', action: () => openSearch() }, * { id: 'help', keys: ['?'], description: 'Help', action: () => showHelp() }, * ]; * useKeyboardShortcuts(shortcuts); * * // Method 2: Dynamic hotkeys * const { register, unregister } = useHotkeys(); * register('ctrl+s', () => save()); * * // Method 3: Single shortcut * useKeyboardShortcut('esc', () => closeDialog()); * ``` */ export type { KeyboardShortcut, ShortcutConfig, ShortcutContext, ModifierKey, KeyCombination, UseKeyboardShortcutsReturn, UseHotkeysReturn, UseShortcutHelpReturn, PlatformType, ParsedKeyCombo, PlatformKeys, } from './types'; export { MODIFIER_KEYS, PLATFORM_TYPES } from './types'; export { useKeyboardShortcuts, useKeyboardShortcut, shouldEnableKeyboardShortcuts, } from './useKeyboardShortcuts'; export { useHotkeys } from './useHotkeys'; export { useShortcutHelp } from './useShortcutHelp'; export { detectPlatform, isMac, normalizeKey, parseKeyCombo, matchesKeyCombo, formatKeyCombo, normalizePlatformCombo, shouldIgnoreShortcut, getShortcutLabel, getDisplayKeysForPlatform, isMobileDevice, isTabletDevice, } from './utils'; export { createGlobalShortcuts, getGlobalShortcutsByCategory, mergeShortcuts, GLOBAL_SHORTCUT_CATEGORIES, } from './globalShortcuts'; export type { GlobalShortcutsConfig, GlobalShortcutHandlers } from './globalShortcuts'; //# sourceMappingURL=index.d.ts.map