Skip to content

feat: update to upstream @floating-ui/vue@2.0.1#366

Draft
rust-for-web[bot] wants to merge 1 commit into
mainfrom
upstream/vue-2.0.1
Draft

feat: update to upstream @floating-ui/vue@2.0.1#366
rust-for-web[bot] wants to merge 1 commit into
mainfrom
upstream/vue-2.0.1

Conversation

@rust-for-web

@rust-for-web rust-for-web Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Release
@floating-ui/vue@2.0.1

Diff for packages/vue

Diff
diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md
index 93475381..0a2e8083 100644
--- a/packages/vue/CHANGELOG.md
+++ b/packages/vue/CHANGELOG.md
@@ -1,5 +1,12 @@
 # @floating-ui/vue
 
+## 2.0.1
+
+### Patch Changes
+
+- fix: support explicit `undefined` for optional properties with `exactOptionalPropertyTypes`
+- Update dependencies: `@floating-ui/dom@1.8.0`, `@floating-ui/utils@0.2.12`
+
 ## 2.0.0
 
 ### Major Changes
diff --git a/packages/vue/package.json b/packages/vue/package.json
index 82c8a58d..34e60b7d 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@floating-ui/vue",
-  "version": "2.0.0",
+  "version": "2.0.1",
   "description": "Floating UI for Vue",
   "publishConfig": {
     "access": "public"
diff --git a/packages/vue/src/types.ts b/packages/vue/src/types.ts
index a8b49393..5ab25964 100644
--- a/packages/vue/src/types.ts
+++ b/packages/vue/src/types.ts
@@ -63,37 +63,39 @@ export type UseFloatingOptions<T extends ReferenceElement = ReferenceElement> =
      * Represents the open/close state of the floating element.
      * @default true
      */
-    open?: MaybeReadonlyRefOrGetter<boolean | undefined>;
+    open?: MaybeReadonlyRefOrGetter<boolean | undefined> | undefined;
     /**
      * Where to place the floating element relative to its reference element.
      * @default 'bottom'
      */
-    placement?: MaybeReadonlyRefOrGetter<Placement | undefined>;
+    placement?: MaybeReadonlyRefOrGetter<Placement | undefined> | undefined;
     /**
      * The type of CSS position property to use.
      * @default 'absolute'
      */
-    strategy?: MaybeReadonlyRefOrGetter<Strategy | undefined>;
+    strategy?: MaybeReadonlyRefOrGetter<Strategy | undefined> | undefined;
     /**
      * These are plain objects that modify the positioning coordinates in some fashion, or provide useful data for the consumer to use.
      * @default undefined
      */
-    middleware?: MaybeReadonlyRefOrGetter<Middleware[] | undefined>;
+    middleware?: MaybeReadonlyRefOrGetter<Middleware[] | undefined> | undefined;
     /**
      * Whether to use `transform` instead of `top` and `left` styles to
      * position the floating element (`floatingStyles`).
      * @default true
      */
-    transform?: MaybeReadonlyRefOrGetter<boolean | undefined>;
+    transform?: MaybeReadonlyRefOrGetter<boolean | undefined> | undefined;
     /**
      * Callback to handle mounting/unmounting of the elements.
      * @default undefined
      */
-    whileElementsMounted?: (
-      reference: T,
-      floating: FloatingElement,
-      update: () => void,
-    ) => () => void;
+    whileElementsMounted?:
+      | ((
+          reference: T,
+          floating: FloatingElement,
+          update: () => void,
+        ) => () => void)
+      | undefined;
   };
 
 export type UseFloatingReturn = {
@@ -129,8 +131,8 @@ export type UseFloatingReturn = {
       position: Strategy;
       top: string;
       left: string;
-      transform?: string;
-      willChange?: string;
+      transform?: string | undefined;
+      willChange?: string | undefined;
     }>
   >;
   /**
@@ -149,5 +151,5 @@ export type ArrowOptions = {
    * The padding between the arrow element and the floating element edges. Useful when the floating element has rounded corners.
    * @default 0
    */
-  padding?: Padding;
+  padding?: Padding | undefined;
 };
diff --git a/packages/vue/test/setupTests.ts b/packages/vue/test/setupTests.ts
index 8ae484a7..e506b428 100644
--- a/packages/vue/test/setupTests.ts
+++ b/packages/vue/test/setupTests.ts
@@ -1,5 +1,3 @@
-import '@testing-library/jest-dom';
-
 import * as matchers from '@testing-library/jest-dom/matchers';
 import {expect, vi} from 'vitest';
 
diff --git a/packages/vue/tsconfig.lib.json b/packages/vue/tsconfig.lib.json
index 8ccdccf2..41f7d674 100644
--- a/packages/vue/tsconfig.lib.json
+++ b/packages/vue/tsconfig.lib.json
@@ -1,7 +1,9 @@
 {
   "extends": "config/tsconfig.base.json",
   "compilerOptions": {
-    "outDir": "out-tsc"
+    "outDir": "out-tsc",
+    // TODO: move to config/tsconfig.base.json after https://github.com/vitejs/vite/issues/21715 is resolved.
+    "exactOptionalPropertyTypes": true
   },
   "include": ["src"],
   "references": [{"path": "../dom/tsconfig.lib.json"}]

Full diff
2.0.0...2.0.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants