18 repository-uri
Systems for managing keyboard focus and navigation flow between individual interactive UI elements.
Distinct from Focus Navigation Controllers: Focuses on element-level focus within a view rather than window-level navigation between screens.
Explore 18 awesome GitHub repositories matching development tools & productivity · Element Focus Controllers. Refine with filters or upvote what's useful.
Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a component-based architecture, a terminal rendering engine, and a declarative layout system to create console applications that run consistently across Windows, macOS, and Linux. The framework distinguishes itself with a comprehensive set of interactive console widgets, including data grids, hex editors, and hierarchical tree components. It supports advanced visual capabilities such as 24-bit True Color, Sixel image support, and a relative-coordinate layout system that adapts to ter
TUI system for controlling the navigation flow and focus movement between interactive elements.
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Defines how keyboard focus and navigation flow are managed between interactive UI elements.
react-native-video is a cross-platform video player component for React Native that enables the playback of local and remote video files using native platform decoders. It functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming formats with automatic bitrate selection and quality adaptation. The project is distinguished by its support for industry-standard digital rights management, including Widevine, FairPlay, and PlayReady, and a plugin-based architecture that allows for the injection of custom analytics or playback logic without modifying the core library. It a
Implements directional focus management and remote control input handling for television platforms.
This project is an accessible modal component for React applications. It provides a dialog window that overlays main content and manages keyboard focus to ensure compatibility with assistive technologies. The component integrates a portal wrapper to render modal content into a separate DOM node, avoiding layout nesting issues. It uses a focus-trapping system to restrict keyboard navigation to the dialog window and prevent users from tabbing into background page content. The library covers visibility control, custom portal mounting, and visual styling for dialog windows and overlays. It also
Stores a reference to the previously active element and returns focus to it after the modal closes.
Golden Layout is a framework-agnostic UI container and web window layout manager designed to organize application interfaces into a flexible grid of draggable and resizable multi-pane windows. It functions as a hierarchical grid system that arranges page elements into a tree of nested rows and columns to create complex professional interfaces. The system acts as a multi-window workspace orchestrator, allowing components to be detached from the main layout into independent native browser windows. It also serves as a serializable layout engine that captures the arrangement of user interface com
Implements logic to assign or remove focus from specific components to trigger focus and blur events.
Reach UI is an open-source library of accessible, low-level React components designed to serve as a foundation for building design systems and interactive user interfaces. It is an accessibility-first toolkit that handles core concerns like ARIA attributes, focus management, and screen reader support automatically, without requiring developer configuration. The library is built as a collection of standalone packages, each managing its own lifecycle and dependencies, enabling granular adoption and tree-shaking. Components use a polymorphic rendering pattern, accepting an as prop to render as
Controls and tracks keyboard focus within interactive elements like modals, menus, and complex widgets.
re-frame este un framework funcțional pentru construirea de aplicații single-page în ClojureScript. Acesta oferă o bază de date centralizată și imutabilă care servește drept unică sursă de adevăr pentru întreaga stare a aplicației, impunând un flux de date unidirecțional strict, unde evenimentele declanșează tranziții de stare și actualizări ulterioare ale vizualizărilor. Framework-ul se distinge printr-un graf de semnale reactive și un pipeline de middleware bazat pe interceptoare. Tratând logica aplicației ca pe o secvență de evenimente bazate pe date și efecte secundare declarative, acesta decuplează logica de business de stratul de vizualizare. Această arhitectură permite dezvoltatorilor să gestioneze tranziții complexe de stare și operațiuni externe prin funcții pure, asigurându-se că efectele secundare sunt executate de un interpretor separat, nu prin apeluri imperative. Sistemul include o suită cuprinzătoare de capabilități pentru gestionarea arhitecturii aplicației, inclusiv derivarea reactivă a datelor, reconcilierea vizualizărilor bazată pe abonamente și gestionarea stării bazată pe evenimente. Suportă fluxuri de lucru avansate, cum ar fi trasarea evenimentelor, checkpoint-uri de stare și capacitatea de a simula (stub) efecte secundare pentru testare izolată. Proiectul este conceput pentru integrarea cu React, utilizând reconcilierea virtual DOM pentru a actualiza eficient interfețele utilizator. Oferă un set robust de utilitare pentru gestionarea problemelor transversale, gestionarea grafurilor complexe de flux de date și coordonarea operațiunilor asincrone într-un pipeline de evenimente secvențial și predictibil.
Sets focus to a specific HTML element after rendering to ensure the element exists before the imperative operation.
Acest proiect este o pânză vizuală (canvas) bazată pe AI și un framework de whiteboard colaborativ. Acesta funcționează ca un motor de desen vectorial personalizabil și un instrument pentru convertirea schițelor de interfață desenate de mână și a wireframe-urilor în cod funcțional folosind inteligența artificială. Sistemul se distinge prin integrarea agenților AI care pot citi, modifica și genera diagrame vizuale direct pe canvas. Oferă, de asemenea, un editor de flux de lucru bazat pe noduri pentru construirea de pipeline-uri de automatizare și fluxuri de procesare a datelor prin conectarea componentelor multimodale. Platforma acoperă o gamă largă de capabilități, inclusiv colaborare multiplayer în timp real cu urmărirea prezenței utilizatorilor, un canvas infinit cu randare accelerată GPU și o suită cuprinzătoare de instrumente de manipulare și aliniere a obiectelor. De asemenea, implementează standarde de accesibilitate web și oferă o interfață scriptabilă pentru definirea formelor personalizate și a controalelor programatice pentru canvas.
Tracks and restores keyboard focus to active elements after modal interactions are dismissed.
OrionTV este un framework de aplicații de televiziune cross-platform și un client video cu API extern. Acesta funcționează ca o aplicație de redare video concepută pentru ecranele televizoarelor, utilizând un sistem care localizează și transmite conținut prin interogarea interfețelor API externe, în loc să găzduiască fișiere media local. Proiectul folosește Expo pentru a genera binare de aplicații compatibile pentru mai multe sisteme de operare TV dintr-un singur codebase. Interfața sa este optimizată specific pentru ecrane mari și este navigată folosind gestionarea focusului prin telecomandă. Framework-ul acoperă capabilități pentru căutarea video de la terți, integrarea media externă și deployment-ul cross-platform. Utilizează React Native pentru a randa o interfață utilizator care își adaptează layout-ul și comportamentul pe diferite platforme TV.
Implements a focus management system optimized for D-pad and remote control navigation on TV screens.
Open-UI este un set de specificații standard pentru UI web și o bibliotecă de componente UI standardizate. Oferă definiții tehnice pentru componente UI universale, comportamente și cerințe de accesibilitate, concepute pentru a asigura compatibilitatea cross-browser printr-o serie de propuneri pentru limbajele web. Proiectul include un polyfill pentru accesibilitate web și polyfill-uri extensibile pentru controale, care oferă funcționalitate modernă de control UI în medii care nu au suport nativ în browser. Include o suită de compatibilitate pentru browsere pentru a verifica dacă componentele îndeplinesc cerințele definite de comportament și accesibilitate. Biblioteca acoperă o gamă largă de elemente de interfață, inclusiv combobox-uri căutabile, sisteme de meniuri interactive, input-uri de tip range cu mai multe mânere și meniuri de selecție personalizabile. Include, de asemenea, componente de layout și navigare precum acordeoane, modale, breadcrumbs și caruseluri. Sistemul utilizează asocierea declarativă a comportamentului și dispatching-ul de acțiuni bazat pe evenimente pentru a executa logica componentelor, expunând în același timp stările interne prin pseudo-elemente CSS pentru stilizarea vizuală.
Controls whether an element and its subtree are keyboard-focusable while retaining other forms of interactivity like mouse clicks.
SmartTubeLegacy este un client YouTube open-source pentru Android TV și set-top box-uri. Funcționează ca un player media optimizat pentru ecrane mari, oferind o interfață specializată pentru streaming-ul de conținut video. Aplicația permite consumul media fără reclame prin ocolirea publicității și a segmentelor sponsorizate. Suportă streaming la rezoluție înaltă de până la 4K, utilizând decodarea video accelerată hardware pentru a optimiza performanța pe hardware-ul de televiziune. Sistemul include o interfață „leanback” concepută pentru navigarea prin telecomenzi standard de televiziune. Dispune, de asemenea, de gestionarea internă a conturilor pentru sincronizarea profilurilor de utilizator și un mecanism de actualizare automată pentru instalarea noilor versiuni ale aplicației.
Implements a focus management system optimized for D-pad and television remote control navigation.
RmlUi este un renderer UI cross-platform și o bibliotecă middleware care permite crearea de interfețe utilizator folosind un subset de HTML și CSS. Funcționează ca un strat agnostic de randare conceput pentru a integra layout-ul și stilizarea standard web în motoare de jocuri personalizate și aplicații embedded. Framework-ul se distinge prin integrarea Lua pentru logică și control dinamic, precum și printr-un set de instrumente specializat pentru randarea imaginilor SVG și a animațiilor Lottie. Utilizează un backend de randare pluggable care decuplează generarea geometriei de afișarea finală, permițându-i să genereze geometrie texturată pentru diverse pipeline-uri grafice. Sistemul acoperă o gamă largă de capabilități, inclusiv un motor de layout box-model, un motor de stilizare în cascadă și data-binding pentru sincronizarea modelelor cu view-urile. Oferă gestionare completă a input-ului pentru mouse, tastatură și touch, alături de servicii de internaționalizare pentru traducerea textului bazată pe localitate. Caracteristicile suplimentare includ scalare high-DPI, compoziție alfa bazată pe straturi și un set de componente interactive precum range sliders și meniuri drop-down. Sursa poate fi compilată în binare WebAssembly pentru execuție în browserele web.
Provides controls to determine if an element can receive focus or accept user-initiated click events.
toolong este un vizualizator de log-uri în terminal și un manager de log-uri TUI conceput pentru monitorizarea fluxurilor de log-uri live și navigarea prin fișiere mari de log-uri. Acesta funcționează ca un agregator de log-uri și formator JSONL, capabil să îmbine mai multe fișiere de log într-o singură vizualizare cronologică prin detectarea automată a timestamp-urilor. Aplicația suportă vizualizarea datelor structurate prin pretty printing-ul fișierelor JSONL și aplicarea evidențierii sintaxei pentru modelele comune de log-uri de server web. Gestionează datele la scară largă eficient prin vizualizări scrollabile de dimensiune virtuală, permițând utilizatorilor să deschidă log-uri comprimate sau fișiere de orice dimensiune fără a încărca întregul document în memorie. Sistemul include capabilități pentru tailing-ul fluxurilor de log-uri, efectuarea de potriviri fuzzy de text și gestionarea navigării printr-un model de ecran bazat pe stivă. De asemenea, oferă o paletă de comenzi pentru descoperirea funcțiilor aplicației și suportă elemente interactive precum link-uri clicabile și tooltip-uri.
Programmatically shifts input focus between individual interactive UI elements.
Acest proiect este un plugin jQuery care oferă emularea placeholder-ului HTML5 pentru câmpurile de input și textarea. Funcționează ca o bibliotecă de compatibilitate pentru a asigura un comportament consistent al placeholder-ului în diferite browsere web, în special cele care nu suportă nativ atributul placeholder HTML5. Utilitarul extinde funcționalitatea câmpurilor de input DOM prin modificarea modului în care elementele de formular afișează textul de sugestie înainte ca un utilizator să furnizeze input. Se integrează ca un strat de compatibilitate a browserului pentru a oferi suport pentru browserele legacy pentru funcționalitățile moderne de formulare HTML5. Implementarea acoperă detectarea funcționalităților browserului, comutarea stării bazată pe evenimente pentru evenimentele de focus și blur, și restaurarea valorilor originale de input. Utilizează jQuery pentru selecția elementelor și manipularea DOM pentru a injecta text temporar prin atribute personalizate.
Toggles between showing placeholder hints and allowing user input by listening for focus and blur events.
This project is a native Android TV Bilibili client and third-party video player designed for streaming and browsing video content on large screens. It functions as a television-centric media application that enables users to access Bilibili content through an interface optimized for distance and remote control navigation. The application implements remote-optimized navigation to map hardware input to UI focus patterns and utilizes adaptive bitrate switching to adjust video quality based on network conditions. It employs a reactive state management architecture and a type-safe network layer t
Implements a focus management system optimized for D-pad and remote control navigation on television screens.
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Demonstrates how to detect when a user enters or leaves a form field using focus and blur events.
This project is an Apple TV video application and API client for Bilibili, designed to stream video content with support for HDR and subtitles. It serves as a specialized media player that integrates with Bilibili services to provide video discovery and user account management. The application features a real-time danmaku renderer that overlays scrolling user comments on top of video playback. It includes a plugin-based player system for adding custom overlays and behavioral modifications, as well as tools for adjusting playback speed and skipping sponsored segments. The system covers adapti
Manages user interaction through a structured tree of focusable elements designed for remote-control navigation.
This library provides a flexible dropdown menu component for building single and multi-select inputs within web applications. It is designed to support accessible data entry through keyboard navigation and screen reader compatibility, while maintaining interface responsiveness when handling large datasets. The component distinguishes itself through a high degree of configurability, allowing developers to replace default templates, icons, and labels with custom visual elements. It utilizes virtual scrolling to render only visible items, ensuring performance remains consistent even when managin
Exposes internal input elements to the parent scope to enable programmatic management of keyboard focus and navigation states.