thehardwarestore.ai

where AI agents shop for the right tools

── 99056 repos indexed ── | filtered by tag: #component-based
livewire/livewire ★ 23584 1758 APPLICATION

Livewire is a full-stack Laravel framework for building dynamic user interfaces without leaving PHP. It enables reactive components through Blade templates and minimal JavaScript, using Alpine.js for frontend interactivity. The architecture centers on PHP components that handle state and events, with server-side rendering and client-side DOM morphing via AJAX requests. Key features include data binding, file uploads, validation, pagination, and testing utilities. The framework integrates deeply with Laravel's ecosystem while providing its own lifecycle management, event system, and asset handling.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
yewstack/yew ★ 32821 1453 APPLICATION

Yew is a modern Rust framework for building client-side web applications with WebAssembly. It provides a component-based architecture with a virtual DOM, declarative HTML syntax via macros, hooks for state management, routing capabilities, and support for server-side rendering and hydration. The framework emphasizes performance through efficient DOM diffing algorithms and offers abstractions for web workers (agents) and client-server state synchronization. Numerous examples demonstrate real-world usage patterns including todo lists, games, portals, and integration with backend frameworks like Actix and Axum.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Relm4/Relm4 ★ 1978 100 APPLICATION

Relm4 is an idiomatic Rust GUI framework built on top of GTK4, inspired by the Elm architecture. It provides a component-based pattern where each UI piece is defined by an `init` → `update` → `view` cycle and communicates via typed messages. The framework includes a declarative macro system (`view!`, `#[component]`, `menu!`) that generates widget trees, property bindings, and signal handlers, reducing boilerplate. It supports both synchronous and asynchronous components, dynamic lists via factories (`FactoryVecDeque`, `FactoryHashMap`), typed views (`TypedListView`, `TypedGridView`, `TypedColumnView`), and shared state mechanisms (`SharedState`, `Reducer`, `MessageBroker`) for cross-component communication. The architecture is modular with separate crates for core (`relm4`), procedural macros (`relm4-macros`), reusable components (`relm4-components`), and CSS constants (`relm4-css`). External dependencies include GTK4, libadwaita, libpanel, tokio, flume, and several Rust ecosystem libraries. The project provides over 40 examples covering common patterns and advanced use cases, and has a dedicated book and website for documentation. While the codebase is well-structured and actively maintained, it carries some technical debt from supporting multiple GNOME versions and uses unsafe code in a few places for performance reasons.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
hyperdiv/hyperdiv ★ 974 33 APPLICATION

This repository is a framework for building reactive web user interfaces using pure Python. It employs a client-server architecture where a Python/Tornado backend manages application state and communicates with a frontend single-page application via WebSocket for real-time UI updates. The framework enables developers to write UI logic in Python using an immediate-mode style, with automatic synchronization of component properties to the browser. Key features include a component-based architecture with support for composition via slots, a mixin system for sharing cross-cutting concerns (layout, styling, interactivity), and a robust type system for props. The frontend leverages Shoelace Web Components and Chart.js for rich UI elements, while backend utilities provide state management, caching, and task execution. The framework also includes a CLI for running applications and generating documentation, which is itself built using Hyperdiv. The design emphasizes minimal boilerplate and automatic reactivity, allowing developers to focus on application logic rather than manual DOM manipulation. Comprehensive testing and clear separation of concerns between client and server contribute to a maintainable and extensible codebase suitable for both simple widgets and complex data-driven applications.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
videojs/video.js ★ 39901 7478 APPLICATION

Video.js is a mature, full-featured HTML5 video player library and framework for the web. It provides a component-based UI architecture where every visual element (buttons, sliders, menus, modals) extends a base `Component` class with lifecycle management, DOM creation, and event handling. The player supports a wide range of media formats including HLS and DASH via the `@videojs/http-streaming` plugin, and offers extensive accessibility features, internationalization (50+ languages), text tracks (captions, subtitles, chapters), audio/video track management, and a plugin system for extensibility. The library is distributed as a JavaScript package (CommonJS, ES modules) with a built-in CSS skin and is used by millions of websites. The architecture is layered: a `Player` class orchestrates techs (HTML5, custom techs) and UI components; a middleware system allows intercepting source selection, playback, and volume; and a robust event system (with mixins for evented and stateful behavior) enables decoupled communication. The codebase is well-tested with QUnit and Sinon, and includes a comprehensive build pipeline (Rollup, Sass, PostCSS) and CI/CD for releases. While the library is actively maintained (v8.24.1, v10 planned for 2026), it carries some legacy baggage: deprecated APIs, browser-specific workarounds, and outdated documentation files. Overall, it is a high-quality, production-grade video player framework with many reusable patterns.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
GrapesJS/grapesjs ★ 26296 4650 APPLICATION

GrapesJS is a client-side visual web page builder framework distributed as a pnpm monorepo. The core package exposes a `grapesjs.init()` entry point that creates an `Editor` backed by `EditorModel`, with pluggable modules for the component tree, iframe-based canvas, CSS rule composer, style manager with custom property types, block/asset/layer/trait managers, command registry, HTML/CSS parsers, code generators, storage adapters, internationalization, keyboard shortcuts, undo/redo, and a plugin system. The CLI package scaffolds, builds, and serves plugins. Although it contains a `DataSources` subsystem, this is an application feature for binding external records to component content, attributes, and styles, not a data-research pipeline; the repository is a software library, not research code.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
givanz/VvvebJs ★ 8702 1836 APPLICATION

VvvebJs is a WYSIWYG web page builder that enables drag-and-drop creation of responsive websites using Bootstrap components. The system provides a visual editor with canvas, property panels, component library, and file management for constructing HTML pages. Key features include inline text editing, code viewing via CodeMirror, media handling, undo/redo functionality, and export capabilities. The architecture follows a modular pattern with core builder logic in libs/builder/builder.js, extensible via plugins and component definitions. Entry points include editor.html for initialization, save.php/save.js for persistence, and upload.php/scan.php for media management. The builder manipulates an iframe as the design canvas while maintaining component state and history for undo/redo operations.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
jgayfer/bevy_light_2d ★ 306 28 APPLICATION

bevy_light_2d is a Rust library providing 2D lighting functionality for the Bevy game engine. It implements point lights, spot lights, light occlusion (shadows), and ambient lighting through a multi-pass rendering system using signed distance fields (SDF) and ray marching. The architecture follows Bevy's ECS pattern with a plugin that integrates into the render graph, separating extraction, preparation, and rendering phases. The library demonstrates solid software engineering practices with clear separation of concerns and implements non-obvious graphics techniques for efficient shadow calculation.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
InvadingOctopus/comedot ★ 542 50 APPLICATION

Comedot is a Godot Engine 4.8+ framework for 2D game development that implements an Entity-Component-System architecture. It provides over 120 reusable components for gameplay mechanics including combat, movement, control, abilities, upgrades, inventory, turn-based systems, and UI elements. The framework emphasizes composition over inheritance, allowing developers to mix and match components to create entities for any 2D game genre. It includes template scenes for quick starts, editor plugins for component management, and extensive debugging tools. While actively maintained, the codebase shows signs of ongoing development with numerous experimental features and TODO comments indicating areas for improvement.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: