thehardwarestore.ai

where AI agents shop for the right tools

── 99265 repos indexed ── | filtered by tag: lit-element
google/model-viewer ★ 8274 950 APPLICATION

This is a monorepo centered on `@google/model-viewer`, a production web component that renders glTF/GLB 3D models in the browser using Three.js and Lit. The core package provides a `<model-viewer>` custom element with a rich feature surface: WebXR/Scene Viewer/Quick Look AR, animation controls, camera orbit/perspective controls, environment lighting, hotspots/annotations, a mutable scene-graph API, lazy loading, and post-processing via a companion `model-viewer-effects` package. In addition to the library itself, the repo contains `space-opera`, a Redux + Lit-based interactive editor for configuring model-viewer snippets and editing glTF materials, plus a full documentation/examples site and render-fidelity tooling that performs golden-image screenshot comparisons across renderers. Although the dominant character is an application/library monorepo, it also includes research-grade visual fidelity workflows and color science work around tone mapping.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
amantus-ai/vibetunnel ★ 4688 336 APPLICATION

VibeTunnel is a production-grade, cross-platform remote terminal access platform. It allows users to connect to terminal sessions from a browser, macOS native app, or iOS app. The Node.js/TypeScript server manages PTY sessions via a custom forked node-pty, supports session recording in asciinema format, and integrates with multiple tunneling services (Tailscale, ngrok, Cloudflare, Pinggy, Pangolin) for remote access. A Rust forwarder handles terminal title sanitisation, and the CLI wrapper (`vt`) enables transparent session creation. Authentication supports PAM, SSH keys, JWT, Tailscale identity, and local bypass. The macOS app (SwiftUI) provides menu bar control, system permission management, Git worktree follow-mode, and Sparkle-based updates. The web frontend (Lit + Tailwind CSS) offers a full terminal UI with quick keys, file browser, and push notifications. The project demonstrates strong engineering with extensive test coverage (unit, integration, Playwright e2e) across all platforms, though multi-platform duplication and vendored native dependencies introduce some maintenance overhead.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
vaadin/hilla ★ 983 78 APPLICATION

Vaadin Hilla (formerly Vaadin Fusion) is a full-stack framework that bridges Java Spring Boot backends with TypeScript/React frontends. Its core function is automatic, type-safe code generation: Java classes annotated with @Endpoint or @BrowserCallable are parsed into OpenAPI specifications, which are then used to generate TypeScript client stubs, form models (with validation constraints mapped from JSR-380 annotations), and reactive signal bindings. This eliminates the need for manual API contracts and provides end-to-end type safety between server and client. The framework also includes a file-based router, a CRUD layer (ListService, FormService) integrated with JPA repositories, and reactive full-stack signals for real-time data synchronization via WebSocket push. Architecturally, Hilla is a monorepo organized into Java backend packages (endpoint, engine-core, typescript-generator) and TypeScript frontend packages (generator-core, react-crud, react-form, file-router, react-signals). Build integration is provided through Maven and Gradle plugins that trigger code generation during the build lifecycle. The code generator follows a plugin-based pipeline where each plugin (backbone, model, signals, push, subtypes, transfertypes) processes the OpenAPI schema to produce specific TypeScript output. The frontend runtime includes a middleware-enhanced ConnectClient for HTTP calls, declarative authorization via @AnonymousAllowed/@RolesAllowed, and a full i18n system. Security is a first-class concern with CSRF protection, JWT support, and Spring Security integration demonstrated across multiple test applications. The system does not include data pipeline or research code; it is a production-ready application framework. Notable reusable artifacts include a clean validator pattern in lit-form, a generic CommandRunner interface for external process execution, tree-merging utilities in the file router, and the full-stack signal implementation that demonstrates a command-based reactive state pattern. The codebase is actively maintained with extensive integration tests, though some areas (snapshot tests, dual Lit/React support, Atmosphere push dependency) introduce maintenance complexity and potential drift risks.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
ing-bank/lion ★ 1961 348 APPLICATION

Lion is a monorepo maintained by ING Bank that provides a comprehensive, white-label web component library built on LitElement. It focuses on accessible, performant, and extensible form controls (inputs, checkboxes, radio groups, selects, datepickers, IBAN, phone, file, etc.), overlays (dialog, tooltip, popover, drawer), navigation components (accordion, tabs, pagination, steps), and localization/internationalization utilities. The library is architected around a rich mixin system (e.g., FormControlMixin, ValidateMixin, OverlayMixin, LocalizeMixin) that allows deep customization without sacrificing encapsulation. It also includes Node.js tooling: an AST-based dependency analyzer (providence-analytics), a documentation publishing tool, and a Babel plugin for extending docs. The codebase demonstrates strong software engineering practices: extensive test suites, accessibility-first design, scoped custom element registries, and a modular export map. However, there are signs of technical drift (outdated dependencies like ESLint 8, TypeScript 4.9, Chai 4) and some duplicated code (e.g., localizeNamespaceLoader switch statements repeated across packages, translation drift). The monorepo uses changesets for versioning and has active CI/CD.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
capricorn86/happy-dom ★ 4631 317 APPLICATION

Happy DOM is a JavaScript implementation of a web browser without a graphical user interface, designed to run in Node.js. It provides a comprehensive simulation of browser APIs including the DOM, HTML/SVG elements, CSSOM, Fetch, WebSocket, Canvas, Custom Elements, Shadow DOM, and more. The library is primarily used as a test environment for JavaScript frameworks (React, Vue, Angular, Lit, etc.) and supports server-side rendering via an optional server-renderer package. The codebase is a monorepo containing the core happy-dom package along with companion packages for global registration, Jest environment, server rendering, and a pluggable canvas adapter. It is actively maintained with thousands of tests and a large community. However, it exhibits moderate technical drift: some APIs are incomplete, there is significant boilerplate duplication across SVG/HTML element implementations, and a few deprecated settings linger. Overall, it is a solid, well-structured library but not exceptional in craftsmanship due to the repetitive patterns and some incomplete implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found

This repository implements a custom Lovelace card for Home Assistant that displays an interactive map of a robot vacuum's environment. It allows users to select zones, rooms, points, or paths for cleaning and sends corresponding service calls to the vacuum. The card supports multiple vacuum platforms (Xiaomi Miio, Roborock, Valetudo, Neato, Dreame, Roomba, etc.) via platform-specific templates that define map modes, tiles, and icons. It includes a visual editor, localization in 28 languages, pinch-zoom functionality, and a configurable tile/icon system. The architecture is a single-page web component built with LitElement, with modular internal components for map objects, map modes, generators, and UI elements. It relies on Home Assistant frontend internals and custom-card-helpers. The codebase is well-structured with reusable patterns like dependency injection (Context), coordinate transformation (CoordinatesConverter), and template-based service call generation (ServiceCallSchema). However, it has some technical drift due to deprecated rollup plugins, polyfills for legacy browsers, and tight coupling to HA APIs that may break with updates.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found

This repository is a web component library focused on accessibility, providing custom HTML elements for building inclusive web applications. It implements alternative input methods including standard mouse/keyboard/touch and pose/body tracking using TensorFlow's PoseNet model. The architecture follows web component principles using LitElement and Polymer, with a clear hierarchy of base classes (AbstractInputElement, AbstractUIElement) and specialized components for various UI patterns. The library emphasizes accessibility features like ARIA support, keyboard navigation, and screen reader compatibility. The codebase demonstrates strong craftsmanship in its utility implementations, particularly in coordinate transformation handling (mouse-position.ts), vector mathematics (vec2.ts), and general-purpose helper functions (utils.ts). The webcam integration (webcam.ts) shows proper resource management and lifecycle handling. However, the library suffers from significant technical drift due to outdated dependencies (lit-element 0.5.2, tfjs 0.13.0, typescript 3.1.6), which would require substantial updates for modern use. While the core architectural patterns are sound, the dependency versions limit practical reusability without migration work.

RATING: 6.0/10 MAINT: maintained DRIFT: high
▸ 4 reusable components found
DBuit/sidebar-card ★ 502 54 APPLICATION

This repository provides a custom Lovelace card for Home Assistant that replaces the default sidebar with a fully customizable sidebar. The card is implemented as a single TypeScript file (src/sidebar-card.ts) using LitElement and integrates with Home Assistant via card-tools and custom-card-helpers. It supports analog/digital clocks, date display, a configurable menu with navigation, toggle, call-service, and other actions, template-based messages, and a bottom card slot. The initialization code modifies the DOM to wrap the main view and insert the sidebar, and can hide the default HA header, footer, and sidebar. The codebase is functional but shows signs of technical drift (outdated dependencies like LitElement 2.x, Moment.js, old TypeScript) and tight coupling to the Home Assistant DOM structure. It is actively used (498 stars) but has 49 open issues.

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