@floating-ui/devtools
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

Floating UI Devtools

This is the platform-agnostic devtools package of Floating UI, exposing mechanisms to be used together with Chrome devtools extension to help debugging Floating UI

How to use

This package exposes a middleware to be added at the end of the middleware chain, which will inject the data to be consumed by the devtools extension.

⚠️ Do not forget to remove the middleware before shipping to production

Install

npm install @floating-ui/devtools

Usage

// example with @floating-ui/react
import {devtools} from '@floating-ui/devtools';

export const Default = () => {
  const [isOpen, setIsOpen] = useState(false);

  const {refs, floatingStyles, context} = useFloating({
    open: isOpen,
    onOpenChange: setIsOpen,
    // add the middleware to the end of the middleware chain if in dev mode
    middleware: [import.meta.env.DEV && devtools(document)],
  });

  const click = useClick(context);

  const {getReferenceProps, getFloatingProps} = useInteractions([click]);

  return (
    <>
      <button ref={refs.setReference} {...getReferenceProps()}>
        Reference element
      </button>
      {isOpen && (
        <div
          ref={refs.setFloating}
          style={floatingStyles}
          {...getFloatingProps()}
        >
          Floating element
        </div>
      )}
    </>
  );
};

Contribution

  • run pnpm --filter @floating-ui/devtools run build from root folder

Readme

Keywords

none

Package Sidebar

Install

npm i @floating-ui/devtools

Weekly Downloads

47,964

Version

0.2.2

License

MIT

Unpacked Size

29.6 kB

Total Files

15

Last publish

Collaborators

  • fezvrasta
  • atomiks