34 Repos
Management layers for tracking and styling UI elements based on state.
Distinguishing note: Focuses on the controller layer for visibility-based styling.
Explore 34 awesome GitHub repositories matching user interface & experience · State-Driven UI Controllers. Refine with filters or upvote what's useful.
Impress.js is a browser-based presentation engine that transforms standard document elements into interactive, three-dimensional slide decks. It functions as a declarative layout framework, allowing users to define spatial relationships and visual perspectives for content within a coordinate-based canvas. By leveraging the browser's native rendering capabilities, it enables the creation of non-linear slide decks that utilize hardware-accelerated transformations for movement and perspective shifts. The framework distinguishes itself through a state-driven controller that manages active content
Tracks active content segments and applies dynamic styling hooks to elements based on their visibility.
Slate is a customizable rich text editor framework that treats documents as a recursive tree of nodes. It functions as a schema-based, state-driven system designed to enforce structural constraints and manage nested components within a structured document model. The framework utilizes a plugin-based architecture to extend editor functionality, allowing for the injection of custom logic into the rendering and transformation pipeline. It supports real-time collaborative editing by synchronizing document operations across multiple users. The system covers a broad range of capabilities, includin
Manages editor state to drive the visual rendering and behavior of the user interface.
Uppy is a modular web file upload framework designed for building browser-based uploaders. It functions as a resumable upload client and a system for integrating file uploads from a browser to backend servers or cloud storage. The project provides a headless UI upload component, offering logic hooks and headless elements that allow for the development of custom upload interfaces. It also serves as a cloud storage file importer, utilizing OAuth flows to authenticate and import files directly from remote providers, and as a browser-based media capture tool for uploading images or video clips fr
Maintains a centralized store of file metadata and status that automatically updates connected interface components.
Headless UI is a headless component library and accessible UI component kit that provides logic-only interface elements. It functions as a state-driven UI framework designed to provide functionality without prescribing any specific visual styles. The library is specifically designed for integration with Tailwind CSS, enabling the implementation of custom design systems. It allows users to apply visual styles to components based on whether they are active, selected, or open. The project covers the development of accessible UI components that meet ARIA standards and include built-in keyboard n
Functions as a system for tracking and styling UI elements based on their active or open states.
MobX is a reactive state management library and fine-grained reactivity engine. It provides an observable data store that automatically triggers updates in the user interface when data structures change, functioning as a transparent functional reactive store to maintain a consistent source of truth. The system utilizes a dependency-graph mapping and proxy-based object observation to track data dependencies. This ensures that only the specific components dependent on changed data are updated, which reduces unnecessary re-renders and optimizes frontend performance. The library supports decoupl
Automatically synchronizes a centralized state store with UI components through reactive tracking.
Backbone is a JavaScript MVC framework and client-side data orchestrator used to structure web applications. It functions as an event-driven UI library and RESTful state manager that synchronizes data models with remote JSON interfaces to maintain consistent application state. The framework coordinates communication between application components through a decoupled event system. It binds data updates directly to the document object model, ensuring that the user interface remains synchronized with the underlying state. It provides tools for frontend data organization, allowing developers to
Automatically synchronizes a centralized state store with UI components via a REST interface.
This project is a web-based Markdown profile builder designed to create professional landing pages for GitHub accounts. It functions as a profile README generator that collects user details and professional statistics to produce formatted Markdown code for showcasing technical skills and achievements. The tool distinguishes itself by integrating live data cards, such as contribution metrics and visitor counters, and providing an RSS feed embedder for automated blog syndication. It also automates the setup process by importing public user information and suggesting relevant skills based on a G
Synchronizes user input fields to a central state object to enable real-time previewing of the profile.
SweetAlert is a JavaScript modal dialog library and web UI component library used to replace native browser alert and prompt windows with stylized, customizable popup dialogs. It provides a set of visual components for displaying messages, warnings, and prompts through a polished user interface. The library allows for the creation of custom modal designs and branded popup dialogs that match a specific website aesthetic. It supports the embedding of external rendering elements directly into popups to customize visual content and layout. The toolkit covers a range of interaction patterns, incl
Maps configuration objects to specific HTML templates to dynamically render popup content.
This project is a JavaScript full-stack tutorial providing a step-by-step guide to building a complete web application from scratch. It focuses on the manual implementation of a custom JavaScript toolchain, encompassing the development of a server-side rendering workflow and a client-side state manager. The project distinguishes itself by implementing core development utilities without high-level frameworks, including custom solutions for bundling, transpilation, linting, and hot module replacement. It also features a real-time communication system based on WebSockets for bidirectional messag
Connects the centralized data store to UI components for automatic updates when state changes.
UIkit is a CSS front-end framework and accessible UI component library designed for building responsive web interfaces. It provides a comprehensive set of styling classes and modular components alongside a JavaScript interaction toolkit for managing behavioral elements. The framework includes native support for internationalized web interfaces, featuring multi-locale text translation and right-to-left layout directions. It employs a responsive layout engine that uses flexible grids, adaptive breakpoints, and container widths to align content across different screen sizes. The toolkit covers
Controls element display and accessibility roles based on user interactions like hovering and focusing.
This is a mobile object database and NoSQL local data store that replaces relational tables with a schema-based model. It functions as a reactive data store, using live object observations and change notifications to trigger automatic user interface refreshes. The system provides built-in mobile cloud data synchronization to keep local datasets consistent with a remote server across multiple devices. It also includes security features for encrypted local storage, protecting sensitive on-disk data using at-rest encryption keys and fine-grained access control. Broad capabilities include object
Automatically synchronizes object instances when underlying data changes to keep the application state consistent.
Realm-Cocoa is a NoSQL mobile database engine and reactive object database designed for local data storage on mobile devices. It serves as a non-relational alternative to Core Data and SQLite, storing data as objects rather than tables. The system functions as an encrypted local store that protects sensitive application data using encryption. It provides reactive data synchronization, allowing application objects and user interfaces to update automatically when the underlying database changes.
Automatically synchronizes the user interface with the centralized database state to keep views current.
Pace is a browser-based utility that automatically monitors the loading state of web applications to provide visual feedback during page transitions and asynchronous operations. It functions as a frontend performance monitoring tool that tracks document readiness, network requests, and browser event loop activity to visualize progress without requiring manual markup changes. The library distinguishes itself by using automated tracking mechanisms that hook into native browser objects and document lifecycle events. By employing a state-machine-driven controller, it manages the visibility of pro
Coordinates progress indicator visibility through a central controller that transitions between loading and idle states.
TW-Elements is a Tailwind CSS component library and responsive UI kit providing a collection of pre-styled elements and templates. It functions as an interactive web element set and a customizable theme system for building website interfaces and landing pages. The project enables rapid frontend prototyping through a library of functional interface pieces, including modals, navigation bars, and forms. It provides a set of design blocks and sections specifically for creating mobile-first layouts. The library covers responsive web design and Tailwind CSS UI development. This includes the implem
Manages the visibility and interaction states of UI components through client-side DOM attribute manipulation.
uCrop is an Android library designed for cropping, rotating, and scaling images within mobile applications. It provides a reusable interface component that allows users to manipulate photos through touch gestures, enabling precise control over visual composition and aspect ratios. The library distinguishes itself by offering extensive customization of the editing interface, allowing developers to adjust colors, frame shapes, and widget visibility to align with specific application design languages. It handles image processing tasks by managing quality, compression formats, and output dimensio
Uses a centralized configuration object to dynamically inject styling properties and constraints into the cropping interface at runtime.
mdx-deck is a markdown presentation generator and React-based framework used to create interactive slide decks. It functions as a static site presentation engine that converts Markdown and MDX files into structured, stylable browser-based slides. The framework distinguishes itself by combining structured markdown with interactive React components and a synchronized presenter mode. This presenter mode provides a dedicated second window featuring a timer, slide previews, and hidden speaker notes for live events. The system covers a broad range of presentation capabilities, including custom CSS
Tracks current slide and element progression using a centralized state hook to control visibility.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Uses custom callbacks to override the appearance, bounds, and color of visual layout elements.
react-big-calendar is a React calendar component used for rendering schedules and time-based events within web applications. It functions as a customizable event scheduler and JavaScript date visualization library that maps scheduled activities to a time-grid layout. The project is a date-agnostic scheduling interface, utilizing a pluggable adapter to support various third-party JavaScript date libraries. It allows for the replacement of internal calendar elements with custom React components and employs SASS variables for visual styling. The library covers interactive event scheduling and t
Provides synchronization between the calendar's internal view state and a parent state for a single source of truth.
Easings.net is a web animation timing tool used for designing, comparing, and exporting cubic-bezier coordinates and timing values. It provides a visual interface for creating easing functions to ensure consistent motion across browsers. The project functions as both an animation motion visualizer and a code generator. It allows for the identification of natural motion profiles through an interactive interface and exports the resulting easing functions as CSS or TypeScript code. The tool covers motion design prototyping and frontend UI animation, focusing on the acceleration and deceleration
Synchronizes the visual graph and generated code blocks automatically when easing parameters are updated.
react-native-mmkv is a synchronous mobile persistence system that provides an encrypted key-value store for mobile applications. It serves as a high-performance wrapper for the MMKV storage engine, eliminating asynchronous overhead by reading and writing values directly to disk. The project distinguishes itself through shared app group storage, which allows data access across multiple application extensions via a shared filesystem directory. It also provides state-synced storage hooks that automatically trigger component updates when stored key-value pairs change. The system covers a broad r
Implements a callback mechanism that notifies JavaScript subscribers of native data changes to trigger reactive UI updates.