25 个仓库
Utilities for making DOM elements draggable, rotatable, or scrollable with support for constraints and axis locking.
Distinct from Interactive UI Elements: Distinct from Interactive UI Elements: focuses on low-level interaction primitives like dragging and rotation rather than high-level UI components.
Explore 25 awesome GitHub repositories matching user interface & experience · Interaction Controllers. Refine with filters or upvote what's useful.
This project is a curated knowledge base and technical reference for professional web styling. It serves as a comprehensive guide to modern CSS best practices, focusing on techniques that leverage native browser capabilities to create efficient, maintainable, and scalable stylesheets. The collection emphasizes the use of declarative style logic and modern layout engines to replace brittle, imperative approaches. By prioritizing native pseudo-class state management, logical property mapping, and relative unit scaling, the guide demonstrates how to build responsive interfaces that remain consis
Provides CSS patterns to restrict pointer events on non-interactive or loading components.
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
Enables DOM elements to be draggable, rotatable, or scrollable with support for constraints and custom trigger areas.
React Grid Layout is a toolkit for building draggable, resizable, and responsive dashboard interfaces. It functions as a coordinate-based grid system that reconciles component positions and dimensions through declarative metadata, allowing developers to manage complex collections of UI elements that users can interact with directly. The library distinguishes itself through an automated packing algorithm that maintains structural integrity by shifting elements to fill gaps and resolving overlaps. It supports responsive design by monitoring container width changes against pre-defined breakpoint
Allows developers to lock specific widgets in place to prevent user-initiated movement or resizing.
This project is a cross-platform user interface framework that maps mobile-native component primitives to standard web elements. It enables developers to build consistent applications that function across both mobile and web environments by providing a unified library of components and shared logic. The framework distinguishes itself through a specialized style engine that converts JavaScript object-based declarations into optimized, scoped CSS at runtime. It also features a responsive layout engine that implements a flexbox-based system, ensuring that interfaces adapt dynamically to differen
Control exclusive pointer access between overlapping views to ensure that complex gestures and touch events propagate correctly without conflicting with other active elements on the screen.
Niri is a Wayland compositor and tiling window manager designed for Linux systems. It functions as a display server that organizes application windows into a scrollable, column-based layout, providing a structured environment for managing graphical sessions, input routing, and hardware output. The project distinguishes itself through a declarative configuration engine that enables live-reloading of settings, allowing users to modify window rules, input bindings, and visual appearance without restarting the session. It features a physics-based animation system that uses spring-based curves to
Restricts user interactions and keybindings during session locks to maintain system security.
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
Interacts directly with system hardware to query or modify the Caps Lock state.
This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti
Updates document titles, favicons, and body scroll locks to manage the visual state of the webpage.
m-cli is a suite of command line utilities designed for macOS system administration, hardware management, networking, and security permissions. It provides a terminal-based interface to configure system preferences and manage hardware components. The project allows for the direct control of physical system components, such as fan speeds, battery states, and display brightness. It also provides utilities for network administration, including the management of Wi-Fi connections, DNS settings, VPNs, and firewall rules. The tool covers a broad range of administrative capabilities, including powe
Adjusts the state of physical components like fans, batteries, and Bluetooth adapters via terminal.
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.
Implements the ability to make an element and all its descendants inert to block interaction.
This project is a QML desktop shell designed for desktop environment orchestration and interface customization. It functions as a system status dashboard and a declarative user interface for managing system hardware, window metadata, and user sessions. The shell features a dynamic theme generator that extracts dominant colors from wallpapers to automatically synchronize the global visual color palette. It utilizes an inter-process communication system to orchestrate shell functions and a hierarchical JSON configuration framework to manage global and per-monitor interface layouts. The system
Secures the current user session by blocking all input until successful authentication occurs.
Blink is a mobile terminal platform for iOS that combines an SSH and Mosh client with a local shell emulator, snippet manager, and SSH key storage. It renders terminal output using Chromium's HTerm engine for fast display and maintains persistent remote sessions across network changes through the Mosh protocol. The platform supports SSH key-based authentication, WebAuthn hardware security keys, and SOCKS5 proxy tunneling for secure remote access. The terminal environment is built around gesture-based session navigation, allowing users to switch between multiple shells with swipe and pinch ges
Blink Shell disconnects all active SSH sessions when the device is moved significantly to prevent unauthorized access.
Rambox is a desktop application that consolidates multiple web-based messaging and email services into a single window, allowing users to manage all their communications from one unified interface. It embeds each service inside an isolated web view, rendering the original web app without modification, and organizes them as draggable tabs in a persistent bar that supports reordering, disabling, and layout switching without restarting. The application distinguishes itself through several customization and security capabilities. Users can inject custom JavaScript or CSS into any service's web vi
Secures the application with a master password that auto-locks after inactivity to prevent unauthorized access.
Vue Flow is a TypeScript library for building interactive node-based editors and flowcharts. It provides the core infrastructure for creating diagrams where users can drag, select, and connect nodes with edges, supporting pan and zoom navigation of the canvas. The library offers extensive control over graph behavior and appearance, including the ability to customize connection lines, define custom edge types, and configure zoom constraints and viewport defaults. It includes built-in components like a minimap for navigation, zoom controls, and a fit-view button, along with features for node re
Toggles interactivity on and off for the entire diagram to prevent accidental edits.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Provides a method to release session locks early for improved concurrent request handling.
Vorpal 是一个 Node.js 交互式 CLI 框架和终端用户界面库,用于构建可扩展的命令行 Shell。它作为一个交互式命令行解析器,将字符串输入转换为可执行函数,管理终端会话的生命周期和命令路由。 该框架的特点是基于插件的扩展架构,允许外部模块将新命令、共享行为和完整的命令套件注册到核心环境中。它支持创建具有专门命名空间的自定义 Shell 环境,以及用于持久化用户历史记录和本地键值存储的系统。 该项目提供了全面的命令管理实用工具,包括自动补全、别名支持和可编程帮助系统。它还包括用于动态提示修改、标准输出拦截和交互式用户提示的终端 I/O 控件。错误管理通过全局异常监听器和针对不匹配用户输入的特定触发器来处理。
Provides a controller for the terminal display that manages content redrawing and the input/output loop.
这是一个 Cookie 同意管理器和 GDPR 合规工具,用于收集用户对 Cookie 类别的同意。它实现为一个原生 JavaScript 插件,无需外部框架或依赖项。 该工具提供了一个多语言同意界面,可自动检测浏览器或文档语言环境以提供翻译后的内容。它通过在获得明确用户同意之前阻止第三方 iframe 和脚本来管理隐私偏好。 该系统通过可配置的横幅和模态框涵盖了网站隐私自定义,包括布局样式和主题选项。它还包括在做出同意决定之前限制页面交互的功能。
Blocks pointer and focus events on the page content until a consent decision has been made.
React Email Editor is a drag-and-drop visual builder for creating responsive email templates, built as a React embeddable component. It also serves as an AI-powered email designer, a collaborative email design tool, and a React component library for composing emails programmatically with JSX. The editor represents designs as structured JSON and supports multi-format rendering for email clients, web pages, and PDF. What distinguishes this editor is its deep AI integration: users can generate full email templates from natural language, rewrite text with chosen intent, produce multiple text vari
Locks specific template elements to prevent end-users from modifying or deleting them.
mescroll 是一个 JavaScript 无限滚动库和移动端 Web 滚动管理器,旨在实现下拉刷新和上拉加载模式。它提供了一个用于处理触摸滚动、管理分页状态以及在 Vue 应用程序中集成这些行为的系统。 该库的特色在于对聊天界面的专门支持,能够实现反向数据加载,并能够以反向注入数据来模拟消息历史。它还包括一个状态持久化的滚动缓存,以在用户在不同视图之间导航时保留垂直偏移量和列表数据。 该项目涵盖了广泛的交互和性能功能,包括抑制原生浏览器回弹效果、视口感知图像懒加载以及程序化滚动定位。它还提供了用于管理分页状态、自定义加载和空状态 UI 以及实现返回顶部导航的实用工具。
Provides mechanisms to temporarily lock and ignore touch events to prevent accidental refresh or load triggers.
这是一个用于 React 应用程序的引导导览库和入职框架。它提供了一个系统,用于使用元素锚定的气泡提示和视觉遮罩工具创建交互式、分步式的演练,以突出显示特定的界面组件。 该库专注于可访问性,提供对屏幕阅读器和键盘导航的内置支持,以确保包容性的用户入职体验。它允许通过将默认界面元素(如徽章和按钮)替换为自定义 React 组件来实现广泛的自定义。 该框架涵盖了通过状态管理和基于选择器的元素定位进行的导览编排。它包括自动视口滚动、气泡提示过渡管理,以及在演练期间限制用户与底层界面交互的能力。
Allows blocking user input on highlighted elements during a walkthrough to control the user experience.
This project is a jQuery plugin designed to detect and handle touch gestures on touch-enabled devices. It serves as a touch input handler and mobile gesture interface for identifying interactions such as swipes and pinches within a jQuery environment. The library distinguishes intentional gestures from accidental movements through configurable distance and time thresholds. It includes mechanisms to manage input interference, allowing for the exclusion of specific interactive child elements and the locking of default browser behaviors like scrolling or zooming during an active gesture. The sy
Prevents conflicting browser behaviors like scrolling or zooming while a touch gesture is being tracked.