All Projects β†’ popperjs β†’ Popper Core

popperjs / Popper Core

Licence: mit
🍿 JavaScript positioning library for tooltips, popovers, dropdowns, and more

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Popper Core

floating-ui
A low-level toolkit to create floating elements. Tooltips, popovers, dropdowns, and more
Stars: ✭ 23,485 (+24.24%)
Mutual labels:  popover, position, tooltip, dropdown, popovers, positioning-engine, positioning, tooltip-position
React Layer Stack
Layering system for React. Useful for popover/modals/tooltip/dnd application
Stars: ✭ 152 (-99.2%)
Mutual labels:  dropdown, tooltip, popover
Tippyjs React
React component for Tippy.js (official)
Stars: ✭ 1,081 (-94.28%)
Mutual labels:  dropdown, tooltip, popover
toppy
Overlay library for Angular 7+
Stars: ✭ 81 (-99.57%)
Mutual labels:  popover, tooltip, dropdown
React Laag
Hooks to build things like tooltips, dropdown menu's and popovers in React
Stars: ✭ 568 (-97%)
Mutual labels:  dropdown, tooltip, popover
Ng Bootstrap
Angular powered Bootstrap
Stars: ✭ 7,872 (-58.36%)
Mutual labels:  dropdown, tooltip, popover
Tippyjs
Tooltip, popover, dropdown, and menu library
Stars: ✭ 9,433 (-50.1%)
Mutual labels:  dropdown, tooltip, popover
React Cool Portal
😎 πŸ’ React hook for Portals, which renders modals, dropdowns, tooltips etc. to <body> or else.
Stars: ✭ 458 (-97.58%)
Mutual labels:  dropdown, tooltip, popover
react-layer-stack
Layering system for React. Useful for popover/modals/tooltip/dnd application
Stars: ✭ 158 (-99.16%)
Mutual labels:  popover, tooltip, dropdown
react-popover
Customizable positioning for tooltips, menus, and any other DOM elements inside of a container
Stars: ✭ 13 (-99.93%)
Mutual labels:  popover, tooltip, positioning
Rsselectionmenu
An elegant selection list or dropdown menu for iOS with single or multiple selections.
Stars: ✭ 271 (-98.57%)
Mutual labels:  dropdown, popover
Semantic Ui
Semantic is a UI component framework based around useful principles from natural language.
Stars: ✭ 49,729 (+163.07%)
Mutual labels:  dropdown, tooltip
react-popper
πŸΏβš›Official React library to use Popper, the positioning library
Stars: ✭ 2,415 (-87.22%)
Mutual labels:  popover, tooltip
svelte-popper
πŸΏπŸ”—Official Svelte wrapper for Popper - the positioning library
Stars: ✭ 27 (-99.86%)
Mutual labels:  popovers, positioning
React Useportal
πŸŒ€ React hook for Portals
Stars: ✭ 698 (-96.31%)
Mutual labels:  dropdown, tooltip
react-native-popable
Popovers, tooltips for React Native
Stars: ✭ 298 (-98.42%)
Mutual labels:  popover, tooltip
Easy Toggle State
A tiny JavaScript library to easily toggle the state of any HTML element in any contexts, and create UI components in no time.
Stars: ✭ 261 (-98.62%)
Mutual labels:  dropdown, tooltip
SBDropDown
Simple DropDown framework ...
Stars: ✭ 21 (-99.89%)
Mutual labels:  dropdown, popovers
react-sticky-mouse-tooltip
React tooltip component that follow mouse cursor.
Stars: ✭ 17 (-99.91%)
Mutual labels:  popover, tooltip
Tooltip Sequence
A simple step by step tooltip helper for any site
Stars: ✭ 287 (-98.48%)
Mutual labels:  tooltip, popover

Floating UI

Popper is now Floating UI! For Popper v2, visit its dedicated branch.

Website

Floating UI is a low-level library for positioning "floating" elements like tooltips, popovers, dropdowns, menus and more. Since these types of elements float on top of the UI without disrupting the flow of content, challenges arise when positioning them.

Floating UI exposes primitives which enable a floating element to be positioned next to a given reference element while appearing in view for the user as best as possible. Features include overflow prevention (or collision awareness), placement flipping, and more.

  • Tiny: 600-byte core with highly modular architecture for tree-shaking
  • Low-level: Hyper-granular control over positioning behavior
  • Pure: Predictable, side-effect free behavior
  • Extensible: Powerful middleware system
  • Platform-agnostic: Runs on any JavaScript environment which provides measurement APIs, including the web and React Native

Installation

To use it on the web:

npm install @floating-ui/dom
yarn add @floating-ui/dom

Quick start

import {computePosition} from '@floating-ui/dom';

const referenceElement = document.querySelector('#button');
const floatingElement = document.querySelector('#tooltip');

function applyStyles({x = 0, y = 0, strategy = 'absolute'}) {
  Object.assign(floatingElement.style, {
    position: strategy,
    left: `${x}px`,
    top: `${y}px`,
  });
}

applyStyles();

computePosition(referenceElement, floatingElement, {
  placement: 'right',
}).then(applyStyles);

Visit the docs for detailed information.

React

Components

Right now, Floating UI focuses on positioning floating elements, but a package that exposes higher-level primitives for building these elements more easily is in development.

Contributing

This project is a monorepo written in TypeScript using npm workspaces. The website is using Next.js SSG and Tailwind CSS for styling.

  • Clone the repo
  • Install dependencies in root directory with npm install
  • npm run dev in the root will launch the @floating-ui/dom development visual tests at http://localhost:1234/spec. You can fiddle around with each test file in packages/dom/test/visual/spec/. Reload the page to see your changes.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].