skilld-dev/vue-ecosystem-skills

floating-ui-vue-skilld

Floating UI for Vue. ALWAYS use when writing code importing \"@floating-ui/vue\". Consult for debugging, best practices, or modifying @floating-ui/vue, floating-ui/vue, floating-ui vue, floating ui vue, floating-ui, floating ui.

First seen Feb 19, 2026

Installation

$ npx skills add skilld-dev/vue-ecosystem-skills --skill floating-ui-vue-skilld

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from skilld-dev/vue-ecosystem-skills · top by installs.

npx skills add skilld-dev/vue-ecosystem-skills

Browse all from skilld-dev/vue-ecosystem-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 178
License LICENSE
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1.11
More metadata
version
1.1.11
generated_at
2026-04-20
references_synced_at
2026-04-20

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,972 B
  • docs SUMMARY.md 258 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 111 installs

SKILL.md

floating-ui/floating-ui @floating-ui/[email protected]

Tags: latest: 1.1.11

References: [Docs](./references/docs/_INDEX.md)

API Changes

This section documents version-specific API changes for @floating-ui/vue — prioritize the v1.0.0 major release and subsequent minor updates.

  • BREAKING: x and y coordinates now default to 0 instead of null since v1.0.0. Use isPositioned to check if layout is ready [source](./references/releases/@floating-ui/[email protected])
  • NEW: floatingStyles — Returns a pre-configured style object for the floating element (position, top, left, transform) since v1.0.0 [source](./references/releases/@floating-ui/[email protected])
  • NEW: MaybeReadonlyRefOrGetteruseFloating options now support getters (e.g., () => props.placement) and refs since v1.1.0 [source](./references/releases/@floating-ui/[email protected])
  • NEW: isPositioned — Boolean ref returned by useFloating that indicates if the floating element has been positioned since v0.2.0 [source](./references/releases/@floating-ui/[email protected])
  • NEW: open option — Optional boolean ref in useFloating to synchronize isPositioned with the element's open state since v0.2.0 [source](./references/releases/@floating-ui/[email protected])
  • IMPROVED: ArrowOptions.element — Widened type to MaybeElement<Element> to improve compatibility with Vue Template Refs since v1.0.2 [source](./references/releases/@floating-ui/[email protected])
  • NEW: whileElementsMounted — Preferred option for useFloating to handle the autoUpdate lifecycle automatically since v1.0.0 [source](./references/docs/vue.mdx)
  • NEW: update() — Function returned by useFloating to manually trigger a position recalculation since v0.2.0 [source](./references/docs/vue.mdx)
  • NEW: Template Ref support for arrow() — The element option in arrow middleware now natively accepts Vue refs since v0.x/v1.0.0 [source](./references/docs/arrow.mdx)

Also changed: exports .d.mts types v1.0.3 · isPositioned false when open false fix v1.1.5 · MaybeReadonlyRefOrGetter legacy Vue support v1.1.1

Best Practices

  • Use whileElementsMounted: autoUpdate to ensure the floating element stays anchored during scroll, resize, or layout changes. This handles the full lifecycle of positioning listeners automatically [source](./references/docs/vue.mdx)
  • Always return the cleanup function when passing a custom function to whileElementsMounted (e.g., when providing custom options to autoUpdate) [source](./references/docs/vue.mdx)
useFloating(reference, floating, {
  whileElementsMounted(reference, floating, update) {
    return autoUpdate(reference, floating, update, {animationFrame: true});
  },
});
  • Prefer v-if for floating elements when using whileElementsMounted. If using v-show, avoid the whileElementsMounted prop and manage the autoUpdate lifecycle manually via watchers to prevent performance leaks when the element is hidden [source](./references/docs/autoUpdate.mdx)
  • Use the isPositioned ref to coordinate side effects that require the final position, such as focusing an input or scrolling an element into view [source](./references/docs/vue.mdx)
const {isPositioned} = useFloating(reference, floating, {open});

watch(isPositioned, (positioned) => {
  if (positioned) {
    inputRef.value?.focus();
  }
});
  • Pass getter functions or Refs to useFloating options (like placement or middleware) to enable reactivity. Since v1.1.0, these options support MaybeReadonlyRefOrGetter [source](./references/releases/@floating-ui/[email protected])
  • Utilize a wrapper element to support CSS transform animations while maintaining the performant transform: true positioning (default). The outer element handles positioning, while the inner element handles the animation [source](./references/docs/vue.mdx)
  • Synchronize positioning state by passing an open ref to useFloating. This ensures isPositioned is reset and correctly updated across multiple open/close cycles, especially if the reference element moves [source](./references/docs/vue.mdx)
  • Pass template refs directly from ref(null) to useFloating and middleware like arrow(). The library automatically unwraps these and waits for the elements to mount before computing coordinates [source](./references/docs/vue.mdx)
  • Enable animationFrame: true in autoUpdate options if the reference element is moved via CSS transforms or other non-layout-triggering animations to maintain perfect anchoring [source](./references/docs/autoUpdate.mdx)