# shipshapecode/tether

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shipshapecode-tether).**

8,489 stars · 724 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/shipshapecode/tether
- Homepage: https://tetherjs.dev/docs/welcome
- awesome-repositories: https://awesome-repositories.com/repository/shipshapecode-tether.md

## Topics

`hacktoberfest` `javascript` `position` `tooltips`

## Description

Tether is a DOM positioning engine designed to anchor floating user interface elements, such as tooltips and dropdowns, to target elements. It functions as a logic engine for managing the placement of overlays and synchronizing the position of secondary elements relative to primary anchors.

The system includes collision detection and overflow prevention to ensure that floating menus and overlays remain within the visible viewport. It automatically repositions elements when they encounter page boundaries to prevent visual clipping.

The tool manages dynamic element alignment and tracking during window resizing and scrolling. It utilizes coordinate-space mapping and bounding-box constraints to maintain consistent relative positioning between tethered elements regardless of document structure.

## Tags

### User Interface & Experience

- [Floating Element Positioning](https://awesome-repositories.com/f/user-interface-experience/floating-element-positioning.md) — Functions as a geometric calculation engine for positioning overlays relative to target elements.
- [Anchor Attachments](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-elements/interactive-tooltips/anchor-attachments.md) — Links floating UI elements to targets using specific attachment points and DOM references. ([source](https://cdn.jsdelivr.net/gh/shipshapecode/tether@master/README.md))
- [Viewport Overflow Prevention](https://awesome-repositories.com/f/user-interface-experience/internal-scroll-overflows/viewport-overflow-prevention.md) — Automatically repositions floating interface elements to ensure they remain fully visible and do not clip outside screen edges.
- [Responsive Position Updates](https://awesome-repositories.com/f/user-interface-experience/responsive-position-updates.md) — Triggers recalculations of coordinates in response to window resize and scroll events to maintain alignment.
- [Dynamic Geometry Tracking](https://awesome-repositories.com/f/user-interface-experience/ui-element-selectors/anchored-ui-elements/dynamic-geometry-tracking.md) — Moves a secondary element in sync with a target element during scrolls and window events. ([source](https://tetherjs.dev/docs/welcome))
- [Coordinate Space Mapping](https://awesome-repositories.com/f/user-interface-experience/view-transitions/coordinate-space-mapping.md) — Translates relative element offsets into absolute screen coordinates for precise overlay placement.
- [Dynamic Alignment Engines](https://awesome-repositories.com/f/user-interface-experience/dynamic-layout-engines/variable-size-content-layout/dynamic-alignment-engines.md) — Maintains element alignment and spacing dynamically based on container state and window resizing. ([source](https://cdn.jsdelivr.net/gh/shipshapecode/tether@master/README.md))
- [Movement Constraints](https://awesome-repositories.com/f/user-interface-experience/element-positioning/movement-constraints.md) — Limits the movement of tethered elements within a specific bounding box via boundary clamping. ([source](https://tetherjs.dev/docs/welcome))
- [Floating Menus](https://awesome-repositories.com/f/user-interface-experience/floating-menus.md) — Manages floating dropdowns and pop-up menus that track target elements.
- [Movement Boundary Constraints](https://awesome-repositories.com/f/user-interface-experience/movement-boundary-constraints.md) — Implements logic for clamping the position of UI elements within specified boundary dimensions.
- [Overlay Management](https://awesome-repositories.com/f/user-interface-experience/overlay-management.md) — Manages the placement and visibility of dynamic interface layers and popups.

### Data & Databases

- [Context Overflow Prevention](https://awesome-repositories.com/f/data-databases/high-volume-data-ingestion/context-overflow-prevention.md) — Automatically repositions elements against page boundaries to prevent visual clipping. ([source](https://tetherjs.dev/docs/welcome))

### Web Development

- [Element Anchoring](https://awesome-repositories.com/f/web-development/dom-element-selectors/element-anchoring.md) — Binds floating UI components to specific DOM elements as anchors.
- [Collision Detection](https://awesome-repositories.com/f/web-development/layout-engines/constraint-based/collision-detection.md) — Provides mechanisms to prevent UI elements from overlapping or clipping outside viewport boundaries.
