8 repositorios
Fixed vertical or horizontal coordinates where a draggable UI element automatically locks during movement.
Distinct from Non-Rendering Anchor Points: Distinct from non-rendering anchor points which are structural nodes; these are functional magnetic positions for sliding panels.
Explore 8 awesome GitHub repositories matching user interface & experience · Snap Points. Refine with filters or upvote what's useful.
AndroidSlidingUpPanel is an Android custom view component and sliding panel library used to create draggable overlays that slide up from the bottom of an application screen. It functions as a nested scrolling UI framework that coordinates touch events between a draggable panel and its internal scrollable content. The library distinguishes itself through a parallax effect implementation that shifts background content at different speeds than the foreground panel. It supports the definition of intermediate anchor points to create partial-view states and allows for transition physics customizati
Provides magnetic snap points that allow the sliding panel to lock at specific vertical coordinates during movement.
This is a bottom sheet component library for React Native that provides gesture-driven panels sliding up from the bottom of the screen. The library is built around configurable snap points, dynamic sizing, keyboard awareness, modal presentation, and synchronized scrolling, with native driver animation offloaded to the native thread for smooth performance. The library distinguishes itself through deep gesture and animation control, including custom gesture handler overrides, scroll-gesture synchronization, and dynamic snap point recalculation when content size or keyboard visibility changes. I
Moves the bottom sheet between predefined vertical positions with smooth gesture-driven snapping animations.
Vaul is a React drawer component used to create accessible, draggable bottom sheets and slide-up panels. It serves as a mobile-friendly alternative to traditional dialogs and modals by rendering content into a separate DOM node via a portal to avoid layout nesting issues. The library features configurable snap points that allow panels to lock into specific vertical heights during drag gestures. It supports hierarchical UI layering, enabling the use of nested drawers for complex navigation or multi-level menus. The component includes an accessibility layer with ARIA announcements and focus ma
Implements configurable snap points where the panel locks during drag gestures.
LibreCAD is an open-source, cross-platform 2D CAD application for creating and editing precise technical drawings. It functions as a full-featured drawing editor that reads and writes industry-standard DXF and DWG file formats, enabling cross-application compatibility. The software provides tools for creating 2D designs with support for layers, dimensions, and geometric primitives, along with precision features like snapping to endpoints, midpoints, and intersections. It also includes a command-line converter that can export DXF drawings to PDF, SVG, and PNG formats for batch processing or in
Provides precision snapping to endpoints, midpoints, and intersections for accurate drawing placement.
Zag es una librería de máquina de estados de UI headless que proporciona lógica de componentes sin estilo para asegurar un comportamiento consistente en diferentes motores de renderizado. Funciona como un kit de herramientas para modelar interacciones complejas de interfaz de usuario usando statecharts, desacoplando la lógica subyacente y los atributos de accesibilidad del estilo visual. La librería es agnóstica al framework, utilizando adaptadores especializados para conectar su lógica de máquina de estados con varias librerías de JavaScript como React, Solid, Vue y Svelte. Este enfoque permite a los desarrolladores mantener un modelo de interacción único mientras aplican cualquier solución CSS o de estilo a través de atributos de datos dirigidos por estado. Zag cubre una amplia gama de áreas funcionales, incluyendo gestión integral de accesibilidad para navegación por teclado y atributos ARIA, así como una vasta colección de primitivas interactivas. Estas incluyen controles de entrada, elementos de navegación como menús y pestañas, componentes de superposición como diálogos y popovers, y manejo complejo de medios para recorte de imágenes y captura de firmas. También proporciona utilidades para la gestión de datos jerárquicos, manejo de listas asíncronas y un sistema para construir tours guiados de productos.
Provides logic for defining specific vertical or horizontal coordinates where draggable panels lock.
Keen-slider es una librería de carrusel táctil de JavaScript y motor de slider basado en DOM. Proporciona una herramienta independiente de frameworks para crear carruseles de diapositivas responsivos y táctiles que traducen entradas de deslizamiento en transiciones animadas para galerías de contenido. La librería se centra en el diseño responsivo mediante el uso de puntos de interrupción (breakpoints) y media queries para adaptar automáticamente el diseño y el comportamiento a diferentes tamaños de pantalla. Admite gestos táctiles y de deslizamiento nativos compatibles con navegadores web modernos y dispositivos móviles. Su superficie de capacidades incluye la implementación de controles de navegación, bucle infinito de carrusel y soporte para orientaciones tanto horizontales como verticales. El motor permite el anidamiento de múltiples sliders para crear layouts de navegación complejos y utiliza un sistema basado en plugins para extender la funcionalidad a través de ganchos de eventos de ciclo de vida.
Recalculates total scrollable area and slide offsets programmatically when the window size or configuration changes.
FloatWindow es una biblioteca de Android para crear vistas superpuestas arrastrables que persisten en diferentes aplicaciones y actividades. Proporciona componentes especializados para implementar ventanas flotantes, gestionar permisos de superposición a nivel de sistema y calcular coordenadas de pantalla. El proyecto cuenta con un framework de animación de ventanas que permite comportamientos de ajuste a los bordes y animaciones de movimiento personalizadas. Incluye un gestor de permisos de superposición para solicitar y monitorear los permisos del sistema necesarios para dibujar interfaces sobre otras aplicaciones. El kit de herramientas cubre el posicionamiento de la UI utilizando píxeles absolutos o porcentajes de pantalla relativos para mantener la consistencia en diferentes resoluciones de dispositivo. También proporciona mecanismos de control de visibilidad para filtrar superposiciones basadas en actividades específicas o cambios de estado en segundo plano, junto con el monitoreo de estado para actualizaciones de posición y visibilidad en tiempo real.
Implements interpolated animations that automatically snap floating windows to the screen edges.
Scratch-blocks is a block-based visual programming library and framework used to create graphical programming interfaces. It provides a visual environment that translates interlocking blocks into executable code, serving as a foundation for educational coding interfaces and visual programming languages. The project is implemented as a customized extension of the Google Blockly ecosystem. It enables the development of domain-specific languages through a drag-and-drop interface, supporting the creation of custom block libraries and no-code tool development. The framework handles the structural
Implements constraint-based snapping to ensure programming blocks align correctly during drag-and-drop interactions.