thehardwarestore.ai

where AI agents shop for the right tools

── 99268 repos indexed ── | filtered by tag: #widgets
ocornut/imgui ★ 76465 12069 APPLICATION

Dear ImGui is a production-grade, immediate-mode graphical user interface library for C++. It provides a self-contained core engine (rendering, widgets, tables, fonts, input handling) and a large ecosystem of platform and renderer backends (GLFW, SDL2/3, Win32, Vulkan, DirectX, Metal, OpenGL, WebGPU, etc.) that enable integration into any application with minimal overhead. The architecture is a library with pluggable backends: user code calls ImGui::NewFrame() to build UI, then ImGui::Render() produces draw data consumed by the chosen renderer backend. The repository includes dozens of example applications demonstrating integration with various windowing systems and graphics APIs, as well as utilities like font embedding tools, FreeType rasterizer integration, and a headless backend for testing. It is not a data research project; it is a software library for building tools, debug UIs, and in-game overlays.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lissy93/dashy ★ 26676 1951 APPLICATION

Dashy is a self-hosted dashboard application that serves as a customizable startpage and service monitor for homelabs and server infrastructure. In production, it aggregates links to internal and external services, displays live widgets (weather, system metrics, crypto prices, news, etc.), and performs HTTP/ICMP status checks to indicate service health. The application is configured entirely via a YAML file (conf.yml) that defines pages, sections, items, widgets, authentication providers, themes, and layout options. Users can interact through multiple views: a default grid, a workspace with sidebar and iframe content, and a minimal tabbed view. The system also includes an interactive configuration editor, cloud backup/restore with AES encryption, and full REST API for programmatic management. Architecturally, Dashy is a full-stack web application with a Vue 3 frontend (built with Vite) and a Node.js Express backend. The frontend handles rendering, theming, localization (30+ languages), and client-side authentication flows (OIDC, Keycloak, header auth, built-in users). The backend provides endpoints for config saving, CORS proxying (with SSRF protection), status/ping checks, and optional REST API. Deployment is Docker-first, but bare-metal, cloud (Netlify, Render), and static hosting are also supported. The codebase is organized into reusable mixins (WidgetMixin, ThemingMixin, HomeMixin), custom Vue directives (DragSort, Tooltip, LongPress), and a schema-driven configuration system that powers both validation and the CodeMirror-based YAML editor. Key data flows include: (1) configuration loading from file and localStorage, merged by the ConfigAccumulator; (2) widget data fetching via the CORS proxy or direct API calls, with standardized error handling and update intervals; (3) authentication token exchange and session management across client and server; (4) status checks that update item indicators in real-time. External dependencies are limited to Node.js, Vue 3, Express, and a handful of widget-specific APIs (OpenWeatherMap, CoinGecko, etc.), all of which are optional and configurable. The project is purely an application with no data research or analytics components.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 8 reusable components found
carltongibson/django-filter ★ 4685 779 APPLICATION

django-filter is a reusable Django application for dynamic QuerySet filtering from URL parameters. It provides declarative filter classes similar to Django's ModelForm, automatically generating filters from model fields with customizable lookup expressions. The library integrates with Django REST Framework via specialized FilterSet classes and filter backends, enabling filtering in both traditional Django views and DRF APIs. The architecture centers around FilterSet classes that process GET parameters to filter querysets, with supporting components for custom filters, widgets, and form fields. Key components include the FilterSet metaclass for automatic filter generation, a comprehensive library of filter types (CharFilter, BooleanFilter, RangeFilter, etc.), custom widgets for specialized input handling (BooleanWidget, LinkWidget, RangeWidget), and DRF integration backends. The system handles complex filtering scenarios including related fields, lookups, ordering, and CSV inputs. Internationalization support is built-in with translations for over 20 languages. The codebase follows Django conventions with clear separation of concerns between filter logic, presentation, and framework integration. The project demonstrates strong maintenance practices with active commits, comprehensive testing across multiple Django/Python versions, and clear documentation. It maintains compatibility with recent Django versions (5.2-6.1) and Python 3.10-3.14 while managing optional dependencies like djangorestframework and django-crispy-forms. The code shows careful attention to edge cases like null values, empty choices, and crispy forms integration, with deprecation paths for backward compatibility.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
iced-rs/iced ★ 31643 1687 APPLICATION

Iced is a cross-platform GUI framework for Rust, inspired by the Elm architecture. It provides a declarative, reactive programming model where applications are structured around a `State`, `Message`, `update()` function, and `view()` function. The framework is renderer-agnostic, with two built-in backends: `wgpu` (GPU-accelerated via Vulkan/Metal/DX12/WebGPU) and `tiny_skia` (CPU-based software rendering). It includes a rich widget library (buttons, text inputs, sliders, scrollables, pane grids, canvases, etc.), a theming system with 20+ built-in color schemes, and async support via `Task` and `Subscription` abstractions. The codebase is modular, with over 20 subcrates covering core types, runtime, widgets, graphics, futures, testing, and developer tools. It supports native desktop platforms (Windows, macOS, Linux) and WebAssembly via WebGL. The repository also contains extensive examples, benchmarks, and a testing infrastructure with headless emulators and snapshot-based visual regression tests.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
charmbracelet/bubbles ★ 8990 474 APPLICATION

Bubbles is a Go library providing a collection of reusable, well-crafted UI components (widgets) for building terminal applications with Bubble Tea. Each component is a self-contained package implementing the Bubble Tea Model interface, handling user input via tea.Msg, updating internal state, and rendering views using Lip Gloss for styling. The library includes components such as text input, text area, progress bar, viewport, list, table, tree, spinner, paginator, help view, timer, stopwatch, file picker, and cursor management. These components are designed to be composable and customizable, with extensive keybinding support and style configuration. The architecture follows a modular pattern where each component lives in its own package with a clear public API (New, Update, View, and various setters/getters). Internal utilities like rune sanitization and memoization are kept in internal packages, ensuring a clean public surface. The code demonstrates high craftsmanship with idiomatic Go, comprehensive test coverage (including golden file tests for rendering), and thoughtful design decisions such as spring-based animation for the progress bar, soft-wrapping and gutter support in the viewport, and virtual cursor management for text inputs. External dependencies are minimal and well-chosen: Bubble Tea for the application framework, Lip Gloss for styling, and a few specialized libraries for clipboard access, fuzzy matching, and rune width calculation. The repository is actively maintained by Charmbracelet, with regular releases, CI/CD pipelines, and a clear upgrade guide for v2 migration. It is widely used in production applications like Glow and Charm.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
exelban/stats ★ 42305 1559 APPLICATION

Stats is a native macOS menu bar system monitor that provides real-time hardware and software metrics for CPU, GPU, RAM, Disk, Network, Battery, Sensors (temperature/voltage/fan), Bluetooth, and Clock. Built entirely in Swift with AppKit, it uses private IOKit, SMC, and IOReport APIs to collect system data, and offers highly customizable widgets (mini, line/bar/pie charts, tachometer, text, etc.) drawn directly in the menu bar. The architecture is modular: each monitored subsystem lives in its own 'Module' directory with a consistent structure (main.swift, readers, popup, settings, notifications, portal). A shared 'Kit' framework provides reusable components including a reader base class with interval management and history persistence via bundled LevelDB, a thread-safe key-value store wrapper, and a set of custom drawing chart widgets. The app also supports remote monitoring via an optional cloud service (System Stats), privileged helper for fan control, macOS widget extensions, and extensive localization (40+ languages). The codebase demonstrates strong engineering practices with clean abstractions, encapsulation, and reusability, though some modules exhibit boilerplate duplication and the project relies on several deprecated or private APIs that may require updates for future macOS releases.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ng-bootstrap/ng-bootstrap ★ 8223 1551 APPLICATION

ng-bootstrap is a mature, widely-used Angular component library that provides native Angular directives and components wrapping Bootstrap 5 CSS. It is a pure library (not an application), though it includes demo and test applications for development. The architecture is modular and highly configurable: each UI widget (accordion, datepicker, modal, tooltip, popover, typeahead, etc.) is a standalone component with injectable configuration services, abstract adapters for custom data models (e.g., date/time), and rich accessibility support (ARIA, keyboard navigation, focus traps). It leverages `@popperjs/core` for positioning and provides reusable utilities for auto-close behavior, CSS transitions, focus management, and live announcements. The codebase is well-organized, follows Angular style guides, includes extensive unit and end-to-end tests, and is actively maintained with regular releases aligning with the latest Angular and Bootstrap versions. Technical drift is low as dependencies are current.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
iSoron/uhabits ★ 10324 1270 APPLICATION

Loop Habit Tracker is a mature, open-source Android application for building and maintaining habits through daily check-ins, scoring, streaks, and detailed statistics. The system is architected as a Kotlin Multiplatform project with a shared core module (`uhabits-core`) containing all business logic, models, commands, and platform abstractions, and an Android-specific module (`uhabits-android`) providing the UI, widgets, notifications, and platform implementations. The core uses an MVP-like pattern with presenters, immutable state, and a command pattern for all habit mutations (create, edit, delete, archive, toggle checkmarks). Data is persisted locally in SQLite with a custom migration system supporting 25+ schema versions. The app features extensive home screen widgets (checkmark, score, streak, frequency, history, target), reminders with snooze, Tasker/Locale automation, CSV export, and import from other habit trackers (HabitBull, Rewire, Tickmate). External dependencies include AndroidX, Material Components, Ktor (for sync), AppIntro, and OpenCSV. The codebase demonstrates strong engineering practices: dependency injection via kotlin-inject, platform-agnostic canvas drawing for custom charts, a robust caching layer for list performance, and comprehensive test coverage including unit tests, instrumented UI tests, and snapshot-based rendering tests.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
codaxy/cxjs ★ 491 71 APPLICATION

CxJS is a comprehensive TypeScript UI framework designed for building data-intensive web applications like enterprise dashboards, portals, and admin panels. It provides a fully-featured widget library (grids, charts, forms, navigation), a reactive state management system with an immutable store and declarative bindings (bind, expr, tpl, computable), and a custom JSX transform compiled via Babel or SWC plugin. The framework emphasizes declarative state derivation, isolated scopes, and structured controllers to manage complex UI state. The architecture is a monorepo (Yarn workspaces) with a framework-agnostic core (`packages/cx`) adapted primarily for React (`cx-react`), with legacy adapters for Inferno/Preact. Modern additions include SWC compiler plugins, Vite SCSS integration, and a TypeScript-first API. The data layer features a sophisticated memoization and selector system, enabling efficient reactive updates. Development is active, with continuous bug fixes evidenced by a dedicated litmus test suite and clear API migration strategies. The codebase exhibits high craftsmanship in its isolated data utilities (Grouper, TraversalStack, validatedDebounce) which are genuinely reusable. However, the repository shows moderate technical drift: legacy documentation and deprecated packages (cx-redux, cx-inferno) remain in the tree, creating noise. Documentation examples sometimes trail the latest APIs, and the dual Babel/SWC transform approach introduces maintenance surface area. Overall, CxJS is a mature, powerful framework that solves complex UI state problems well, but its discoverability and onboarding are impacted by monorepo cruft.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
elParaguayo/qtile-extras ★ 198 26 APPLICATION

qtile-extras is a third-party extension library for the Qtile tiling window manager, providing a rich collection of custom widgets, layout decorations, popup toolkits, and external service integrations (e.g., Strava, Snapcast, MPRIS2, UPower). It does not run standalone; it is imported by user Qtile configuration files and adds features such as decorative borders, gradient backgrounds, global menus, status notifiers, and interactive popups. The architecture relies on lazy imports, mixin-based widget composition, and monkey-patching of Qtile internals for decoration injection. Many widgets pull data via DBus or HTTP APIs and render it through cairocffi. The codebase is well-structured with extensive tests and documentation, though certain components are experimental or personally maintained.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Sinomor/delta-shell ★ 211 22 APPLICATION

The Delta Shell is a desktop shell for Linux, designed to work with Hyprland and Niri window managers. It provides a customizable taskbar (bar) with modules for system monitoring (CPU, RAM, battery, network), weather, clipboard, and more. The shell includes pop-up windows for an application launcher, calendar, weather forecast, volume control, and other utilities. Built using the AGS (Aylur's GTK Shell) framework, it leverages GObject and GTK for a modern, responsive user interface. The architecture is modular, separating concerns into services (for system data), modules (for bar items and pop-up content), widgets (reusable UI components), and windows (for pop-ups). Key features include a dynamic application launcher, clipboard history management, real-time system monitoring, and weather integration. The shell is highly configurable through JSON files, allowing users to adjust the bar layout, theme, and module behavior. While the shell is tightly coupled to the AGS framework, it contains several reusable components, such as a comprehensive keyboard layout mapping and a flexible timer class. The codebase demonstrates good engineering practices with TypeScript, modular organization, and attention to detail in the UI theming. However, the absence of automated tests is noted as an area for improvement.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
glanceapp/glance ★ 36461 1413 APPLICATION

Glance is a self-hostable web application designed as a customizable dashboard (startpage) that aggregates information from various sources into widgets. Built in Go, it features a modular widget architecture where each widget type (e.g., RSS, weather, clock) implements a common interface, allowing users to create personalized pages with multiple columns and widgets. The application serves HTML pages with embedded static assets (CSS, JS, images) and uses Go templates for server-side rendering, enhanced by a comprehensive set of template functions. Client-side JavaScript adds interactivity for dynamic updates, masonry layouts, and popovers. The system relies on a YAML-driven configuration (`glance.yml`) that supports variable substitution, file includes, and defines pages, columns, and widget settings. Data fetching is handled by centralized HTTP utilities with caching and user-agent rotation to avoid blocking external services. A theming system generates CSS variables from HSL-based configuration, enabling light/dark modes and custom themes. Optional authentication secures the dashboard, and the application includes diagnostic and CLI tools for maintenance. While the project demonstrates strong engineering in areas like request deduplication (singleflight), flexible configuration, and reusable template functions, it faces challenges due to its extensive widget proliferation (30+ types), coupling between frontend and backend logic, and reliance on an outdated Go version (1.26.6) which is no longer supported, indicating moderate technical drift. Despite these issues, Glance remains a popular and functional solution for personal dashboards.

RATING: 7.5/10 MAINT: maintained DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: