Changelog
Review features, fixes and compatibility changes. For existing projects, see the migration guide.
2.2.1
Patch Changes
Directional navigation now selects targets in a single pass, reducing candidate sorting and intermediate arrays. Debugging and documentation diagrams retain the full analysis, sharing the same scoring rules to preserve cross-group anchors and tie order.
Includes an independently copyable Vue 2.7 example with Vite for modern development, webpack for legacy-device development, and ES5 builds. Adds real Chromium 30 regression tests for production, development and hot updates. Improves Chinese and English integration and migration guides, practical TypeScript examples, the project homepage and SEO, and unifies demos and the complete example around a white and pink visual style.
2.2.0
Minor Changes
- #10
9142fa3Thanks @UzkiS! TV navigation, focus recovery, scrolling and legacy compatibility updates.- Added
navigate(direction): virtual input uses the same directional events and.preventhandling as keyboard input.move()remains for direct focus movement. - Saves the focus path to correct group entry/exit events after unmounting or replacement. Invalid focus recovers within the original available group, preventing escape from dialogs. A disabled current item can still serve as the movement origin.
- Dispatches group direction events outward when no internal target exists; ties across levels use the current item's position.
- Separates scrolling from navigation groups.
v-epg-scrollmarks actual scroll containers with horizontal, vertical and nested support, plusnearest,startandcenteralignment.scrollViewportexplicitly controls document scrolling. Scrolling defaults to off; fixes coordinate conversion under CSS scaling. - Fixes numeric key fallback when
KeyboardEvent.codeis absent; adds Tizen and webOS Back codes. Editable elements retain text, Backspace and horizontal arrow behavior. - Independent pause releases; debug output traces candidates at each level without constructing logs when disabled.
- Updates Vue 2.7 event examples, runtime requirements, scrolling and performance guides. Reorganizes navigation and adds interactive SVG demos using actual library behavior; fixes mobile demo layouts.
- Adds Vue 2.7 / Vue 3 scenarios, type checks and scrolling tests; documents WebView 30 compatibility requirements and device performance measurement.
- Added
2.0.0
Major Changes
- #4
8da5da2Thanks @UzkiS! Full rewrite. Read the migration guide before upgrading.- Removes vue-demi; zero runtime dependencies. Minimum Vue 2.7, ES2015 output for webpack 4 and legacy application builds.
- Native CustomEvents with the
epg-prefix, cancelled through.prevent; adds groupepg-leave. - Adds
disabled, plugin installation options, global$epg, and boolean movement results. - Fixes frozen focus after hiding or KeepAlive, stale group membership, accidental group deletion on unmount, missing focus class after re-render, visibility of fixed-position elements, conflicting nested
onBackhandlers and Escape handling. - Unified API names such as
getFocusClass,findTarget,getNodeByElementandsetKeyAction; see the migration table. - Documentation moves to GitHub Pages: https://uzkis.github.io/vuEPG/en/.
1.2.2
- Maintenance patch retaining the 1.x APIs and Vue 2 / Vue 3 usage.
- Fixes Vue 3 group
@enterreplacing@rightand item@enterreplacing@click. - Fixes accidental group deletion on unmount, unreachable dynamically added items and errors entering empty groups.
- Fixes fixed-position visibility, import overwriting
document.onkeydownand Escape handling. - Adds Vue 2.7 / Vue 3 regression tests and updates the 1.x documentation.
Install with pnpm add vuepg@^1.2.2. The npm legacy tag points to this version; latest remains on 2.x.
1.2.1
- Updates author information and build scripts.
1.2.0
- Adds
back()for programmatic Back handling.
1.1.0
- Adds
pause()/resume()for key input control.
1.0.0
- First stable release.
- Removes adapters for older vue-epg patterns.