mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-22 16:06:43 +02:00
refactor(shared-ui): extract search-core for highlight + debounce
Both QuickInputBar (InputBar.svelte), CommandBar.svelte, and GlobalSpotlight were duplicating syntax highlighting and the 150ms search debounce. Pull these into a new `packages/shared-ui/src/search-core/` module so the two input surfaces stay in sync on feel and matching rules. - search-core/highlight.ts — HighlightPattern type, locale-aware getHighlightPatterns(), and the shared highlightText() (HTML-escape + span wrap). Patterns were previously in quick-input/highlightPatterns.ts + inline in CommandBar.svelte. - search-core/config.ts — SEARCH_DEBOUNCE_MS = 150. Used from InputBar, CommandBar, GlobalSpotlight, and apps/mana web SearchEngine. - quick-input/highlightPatterns.ts + types.ts become thin back-compat re-exports. - Public surface: @mana/shared-ui now exports getHighlightPatterns, highlightText, SEARCH_DEBOUNCE_MS, and the HighlightPattern type. No UX change. UIs still live in their own files (per earlier split recommendation: shared backend, separate surfaces). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ad1659f036
commit
24eb8b3b7f
10 changed files with 161 additions and 204 deletions
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
import { SearchRegistry } from './registry';
|
||||
import type { GroupedSearchResults } from './types';
|
||||
|
||||
const DEBOUNCE_MS = 150;
|
||||
import { SEARCH_DEBOUNCE_MS as DEBOUNCE_MS } from '@mana/shared-ui';
|
||||
|
||||
export function createSearchEngine() {
|
||||
const registry = new SearchRegistry();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue