Akryum / floating-vue

💬 Easy tooltips, popovers, dropdown, menus... for Vue
https://floating-vue.starpad.dev/
MIT License
3.26k stars 333 forks source link

`resize-observer` div doesn't have the data attribute #1041

Open badalsaibo opened 1 month ago

badalsaibo commented 1 month ago
<template>
  <Dropdown v-bind="$attrs">
    <slot></slot>
    <template #popper="slotProps">
      <slot name="content" v-bind="slotProps"></slot>
    </template>
  </Dropdown>
</template>

<script lang="ts" setup>
import { Dropdown } from 'floating-vue';
import 'floating-vue/dist/style.css';
</script>

For this component using in two different pages. For first page, the resize-observer class has the id generated on it.

Screenshot 2024-06-14 at 4 10 15 PM

But on a second page i.e a new route. The id isn't attached on the resize-observer

Screenshot 2024-06-14 at 4 11 36 PM

Why is the id important?

Because the base styles import 'floating-vue/dist/style.css' apply some styles to the resize-observor based on the data attribute, which is crucial for positioning of the dropdown.

.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}

https://unpkg.com/floating-vue@2.0.0/dist/style.css