@kmenu/react
Version:
React adapter for kmenu
1 lines • 85 kB
Source Map (JSON)
{"version":3,"sources":["../../core/src/state-machine.ts","../../core/src/core.ts","../../core/src/filters.ts","../src/components.tsx","../src/context.tsx"],"names":["StateMachine","initialState","name","transition","previousState","state","callback","generateIdFromLabel","label","CommandCore","config","e","options","query","normalizedQuery","option","labelMatch","keywordMatch","k","value","processedOptions","usedIds","processOption","id","baseId","children","child","counter","uniqueId","reordered","ungroupedItems","opt","groupOrder","group","groupItems","parentId","flattened","childOptions","index","direction","activeElement","listRect","activeRect","now","scrollBehavior","extraMargin","topThreshold","itemHeight","targetScroll","elementTop","elementHeight","containerHeight","newIndex","event","handler","optionsToFilter","filtered","firstEnabled","parentMenuId","parentOption","el","target","isActive","i","activeOption","result","simpleFilter","startsWithFilter","fuzzyFilter","queryChars","text","score","lastIndex","consecutiveMatches","char","item","a","b","createRegexFilter","pattern","flags","regex","exports","m","u","y","v","g","import_dist","CommandContext","createContext","useCommand","context","useContext","Command","forwardRef","onValueChange","open","onOpenChange","filter","onSelect","shouldFilter","props","ref","commandRef","useRef","dialogRef","setState","useState","useEffect","prev","input","command","unsubNavigate","unsubSubmenu","commandState","unsubBack","updateState","cmdState","unsubChange","unsubSubmenuState","unsubBackState","unsubOpen","dialog","focusableElements","firstElement","handleKeyDown","useImperativeHandle","comboboxProps","jsx","CommandInput","controlledValue","inputRef","inputProps","restInputProps","handleInput","useCallback","CommandList","indicatorOffsetY","listRef","indicatorStyle","setIndicatorStyle","listProps","restListProps","updateIndicatorPosition","relativeTop","rafId1","rafId2","jsxs","CommandOption","disabled","optionRef","isFiltered","optionProps","restOptionProps","CommandGroup","heading","CommandEmpty","CommandBreadcrumbs","handleBreadcrumbClick","targetLevel","currentLevel","crumb","CommandLoading","CommandSeparator"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * All states for the internal state machine.\n */\nexport type State = \"idle\" | \"open\" | \"navigating\" | \"filtering\" | \"selected\";\n\n/**\n * A named transition describing allowed `from` state(s) and the resulting `to` state.\n */\nexport interface StateTransition {\n from: State | State[];\n to: State;\n guard?: () => boolean;\n}\n\nexport class StateMachine {\n private currentState: State;\n private transitions = new Map<string, StateTransition>();\n private listeners = new Map<State, Set<() => void>>();\n\n constructor(initialState: State = \"idle\") {\n this.currentState = initialState;\n }\n\n /** Register a named transition. */\n defineTransition(name: string, transition: StateTransition): void {\n this.transitions.set(name, transition);\n }\n\n /** Attempt a transition by name. Returns `true` if applied. */\n transition(name: string): boolean {\n const transition = this.transitions.get(name);\n if (!transition) return false;\n\n const fromStates = Array.isArray(transition.from)\n ? transition.from\n : [transition.from];\n\n if (!fromStates.includes(this.currentState)) return false;\n\n if (transition.guard && !transition.guard()) return false;\n\n const previousState = this.currentState;\n this.currentState = transition.to;\n\n this.notifyListeners(previousState);\n this.notifyListeners(this.currentState);\n\n return true;\n }\n\n /** Get the current state. */\n getState(): State {\n return this.currentState;\n }\n\n /** Subscribe to callbacks when a state is entered. */\n onStateEnter(state: State, callback: () => void): () => void {\n if (!this.listeners.has(state)) {\n this.listeners.set(state, new Set());\n }\n this.listeners.get(state)!.add(callback);\n\n return () => {\n this.listeners.get(state)?.delete(callback);\n };\n }\n\n private notifyListeners(state: State): void {\n this.listeners.get(state)?.forEach((callback) => callback());\n }\n}\n","import { StateMachine } from \"./state-machine\";\n\nfunction generateIdFromLabel(label: string): string {\n return label\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\")\n .replace(/^-+|-+$/g, \"\")\n .substring(0, 50);\n}\n\n/**\n * Describes an actionable or navigable option in the command menu.\n */\nexport interface CommandOption<T = any> {\n id?: string;\n label: string;\n keywords?: string[];\n disabled?: boolean;\n group?: string;\n data?: T;\n children?: CommandOption<T>[];\n parent?: string;\n action?: () => void | Promise<void> | CommandOption<T>[];\n}\n\n/**\n * Breadcrumb segment representing the current submenu path.\n */\nexport interface Breadcrumb {\n id: string;\n label: string;\n}\n\n/**\n * Complete immutable snapshot of the command system state.\n */\nexport interface CommandState<T = any> {\n open: boolean;\n input: string;\n activeId?: string;\n activeIndex: number;\n filtered: CommandOption<T>[];\n options: CommandOption<T>[];\n groups: Map<string, CommandOption<T>[]>;\n menuStack: string[];\n currentLevel: number;\n breadcrumbs: Breadcrumb[];\n allOptions: CommandOption<T>[];\n currentOptions: CommandOption<T>[];\n}\n\n/**\n * Discriminated union of events emitted by the command core.\n */\nexport type CommandEvent<T = any> =\n | { type: \"open\" }\n | { type: \"close\" }\n | { type: \"change\"; input: string }\n | { type: \"select\"; option: CommandOption<T> }\n | { type: \"navigate\"; activeId: string | undefined; activeIndex: number }\n | { type: \"submenu\"; option: CommandOption<T>; level: number }\n | { type: \"back\"; level: number };\n\n/** Handler for a specific command event type. */\nexport type EventHandler<T = any> = (event: CommandEvent<T>) => void;\n/** Function that filters `options` using a text `query`. */\nexport type FilterFunction<T = any> = (\n options: CommandOption<T>[],\n query: string\n) => CommandOption<T>[];\n/** Callback to unsubscribe an event handler. */\nexport type Unsubscribe = () => void;\n\n/**\n * Configuration for the `CommandCore` behavior and callbacks.\n */\nexport interface CommandCoreConfig<T = any> {\n filter?: FilterFunction<T>;\n onOpen?: () => void;\n onClose?: () => void;\n onChange?: (input: string) => void;\n onSelect?: (option: CommandOption<T>) => void;\n}\n\n/**\n * Headless command menu engine with filtering, navigation, and submenu support.\n * Provides ARIA props and emits events for UI integration.\n */\nexport class CommandCore<T = any> {\n private stateMachine: StateMachine;\n private state: CommandState<T>;\n private listeners = new Map<CommandEvent<T>[\"type\"], Set<EventHandler<T>>>();\n private filter: FilterFunction<T>;\n private keydownHandler?: (e: KeyboardEvent) => void;\n private globalKeyHandler?: (e: KeyboardEvent) => void;\n private inputElement?: HTMLInputElement;\n private listElement?: HTMLElement;\n private optionElements = new Map<string, HTMLElement>();\n private destroyed = false;\n private lastScrollTime = 0;\n\n constructor(config: CommandCoreConfig<T> = {}) {\n this.stateMachine = new StateMachine(\"idle\");\n\n this.state = {\n open: false,\n input: \"\",\n activeId: undefined,\n activeIndex: -1,\n filtered: [],\n options: [],\n groups: new Map(),\n menuStack: [],\n currentLevel: 0,\n breadcrumbs: [],\n allOptions: [],\n currentOptions: [],\n };\n\n this.filter = config.filter || this.defaultFilter;\n\n this.setupStateMachine();\n this.setupGlobalKeyboardShortcut();\n\n if (config.onOpen) this.on(\"open\", config.onOpen);\n if (config.onClose) this.on(\"close\", config.onClose);\n if (config.onChange)\n this.on(\n \"change\",\n (e) => e.type === \"change\" && config.onChange!(e.input)\n );\n if (config.onSelect)\n this.on(\n \"select\",\n (e) => e.type === \"select\" && config.onSelect!(e.option)\n );\n }\n\n private setupStateMachine(): void {\n this.stateMachine.defineTransition(\"open\", { from: \"idle\", to: \"open\" });\n this.stateMachine.defineTransition(\"startNavigating\", {\n from: [\"open\", \"filtering\"],\n to: \"navigating\",\n });\n this.stateMachine.defineTransition(\"startFiltering\", {\n from: [\"open\", \"navigating\"],\n to: \"filtering\",\n });\n this.stateMachine.defineTransition(\"select\", {\n from: [\"navigating\", \"filtering\"],\n to: \"selected\",\n });\n this.stateMachine.defineTransition(\"close\", {\n from: [\"open\", \"navigating\", \"filtering\", \"selected\"],\n to: \"idle\",\n });\n\n this.stateMachine.onStateEnter(\"open\", () => {\n this.state.open = true;\n this.emit({ type: \"open\" });\n this.updateFiltered();\n this.selectFirstAvailableOption();\n requestAnimationFrame(() => this.inputElement?.focus());\n });\n\n this.stateMachine.onStateEnter(\"idle\", () => {\n this.state.open = false;\n this.state.input = \"\";\n this.state.activeId = undefined;\n this.state.activeIndex = -1;\n this.emit({ type: \"close\" });\n });\n\n this.stateMachine.onStateEnter(\"selected\", () => {\n this.stateMachine.transition(\"close\");\n });\n }\n\n private setupGlobalKeyboardShortcut(): void {\n this.globalKeyHandler = (e: KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"k\") {\n e.preventDefault();\n this.toggle();\n }\n };\n\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"keydown\", this.globalKeyHandler);\n }\n }\n\n private defaultFilter: FilterFunction<T> = (options, query) => {\n if (!query) return options;\n\n const normalizedQuery = query.toLowerCase();\n\n return options.filter((option) => {\n if (option.disabled) return false;\n\n const labelMatch = option.label.toLowerCase().includes(normalizedQuery);\n const keywordMatch = option.keywords?.some((k) =>\n k.toLowerCase().includes(normalizedQuery)\n );\n\n return labelMatch || keywordMatch;\n });\n };\n\n /** Open the command menu if not destroyed. */\n open(): void {\n if (this.destroyed) return;\n this.stateMachine.transition(\"open\");\n }\n\n /** Close the command menu if not destroyed. */\n close(): void {\n if (this.destroyed) return;\n this.stateMachine.transition(\"close\");\n }\n\n /** Toggle the command menu open/closed state. */\n toggle(): void {\n if (this.destroyed) return;\n this.state.open ? this.close() : this.open();\n }\n\n /**\n * Set the input query and update the filtered options.\n * Emits a `change` event with the latest input.\n */\n setInput(value: string): void {\n if (this.destroyed) return;\n\n this.state.input = value;\n this.stateMachine.transition(\"startFiltering\");\n this.updateFiltered();\n this.emit({ type: \"change\", input: value });\n }\n\n /**\n * Replace the registered options and rebuild all derived state.\n */\n registerOptions(options: CommandOption<T>[]): void {\n if (this.destroyed) return;\n\n const processedOptions = this.processOptionsWithIds(options);\n\n this.state.options = [...processedOptions];\n this.state.groups.clear();\n\n this.state.allOptions = this.flattenOptions(processedOptions);\n\n this.state.currentOptions = [...processedOptions];\n\n this.state.menuStack = [];\n this.state.currentLevel = 0;\n this.state.breadcrumbs = [];\n\n this.rebuildGroups();\n\n this.updateFiltered();\n }\n\n private processOptionsWithIds(\n options: CommandOption<T>[]\n ): CommandOption<T>[] {\n const usedIds = new Set<string>();\n\n const processOption = (option: CommandOption<T>): CommandOption<T> => {\n let id = option.id;\n if (!id) {\n const baseId = generateIdFromLabel(option.label);\n id = this.ensureUniqueId(baseId, usedIds);\n }\n\n usedIds.add(id);\n\n const children = option.children\n ? option.children.map((child) => processOption(child))\n : undefined;\n\n return {\n ...option,\n id,\n children,\n };\n };\n\n return options.map((option) => processOption(option));\n }\n\n private ensureUniqueId(baseId: string, usedIds: Set<string>): string {\n if (!usedIds.has(baseId)) {\n return baseId;\n }\n\n let counter = 1;\n let uniqueId = `${baseId}-${counter}`;\n\n while (usedIds.has(uniqueId)) {\n counter++;\n uniqueId = `${baseId}-${counter}`;\n }\n\n return uniqueId;\n }\n\n private rebuildGroups(): void {\n this.state.groups.clear();\n\n this.state.currentOptions.forEach((option) => {\n if (option.group) {\n if (!this.state.groups.has(option.group)) {\n this.state.groups.set(option.group, []);\n }\n this.state.groups.get(option.group)!.push(option);\n }\n });\n }\n\n private reorderByGroups(options: CommandOption<T>[]): CommandOption<T>[] {\n if (this.state.groups.size === 0) {\n return options;\n }\n\n const reordered: CommandOption<T>[] = [];\n const ungroupedItems = options.filter((opt) => !opt.group);\n\n reordered.push(...ungroupedItems);\n\n const groupOrder: string[] = [];\n for (const option of this.state.currentOptions) {\n if (option.group && !groupOrder.includes(option.group)) {\n groupOrder.push(option.group);\n }\n }\n\n for (const group of groupOrder) {\n const groupItems = options.filter((opt) => opt.group === group);\n reordered.push(...groupItems);\n }\n\n return reordered;\n }\n\n private flattenOptions(\n options: CommandOption<T>[],\n parentId?: string\n ): CommandOption<T>[] {\n const flattened: CommandOption<T>[] = [];\n\n options.forEach((option) => {\n if (parentId) {\n option.parent = parentId;\n }\n\n flattened.push(option);\n\n if (option.children && option.children.length > 0) {\n const childOptions = this.flattenOptions(option.children, option.id);\n flattened.push(...childOptions);\n }\n });\n\n return flattened;\n }\n\n /**\n * Set the active option by filtered index. Optionally provide the\n * navigation direction to optimize scroll behavior.\n */\n setActiveByIndex(index: number, direction?: \"up\" | \"down\"): void {\n if (this.destroyed) return;\n\n const option = this.state.filtered[index];\n if (!option || option.disabled) return;\n\n this.state.activeIndex = inde