Skip to content

Conversation

@github-actions
Copy link
Contributor

Release
@floating-ui/utils@0.2.2

Diff for packages/utils

Diff
diff --git a/packages/utils/.eslintignore b/packages/utils/.eslintignore
deleted file mode 100644
index 8e3aacb1..00000000
--- a/packages/utils/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-dom
\ No newline at end of file
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index b6a50560..f7a73e57 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @floating-ui/utils
 
+## 0.2.2
+
+### Patch Changes
+
+- fix: avoid spreading rects to support `DOMRect` types
+
 ## 0.2.1
 
 ### Patch Changes
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 7553d87d..b755ab8f 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@floating-ui/utils",
-  "version": "0.2.1",
+  "version": "0.2.2",
   "description": "Utilities for Floating UI",
   "publishConfig": {
     "access": "public"
@@ -36,6 +36,7 @@
   },
   "scripts": {
     "lint": "eslint .",
+    "format": "prettier --write .",
     "clean": "rimraf dist out-tsc dom react",
     "test": "vitest run --globals",
     "test:watch": "vitest watch --globals",
diff --git a/packages/utils/src/dom.ts b/packages/utils/src/dom.ts
index e5144850..d2488d17 100644
--- a/packages/utils/src/dom.ts
+++ b/packages/utils/src/dom.ts
@@ -84,9 +84,9 @@ export function getContainingBlock(element: Element): HTMLElement | null {
   while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
     if (isContainingBlock(currentNode)) {
       return currentNode;
-    } else {
-      currentNode = getParentNode(currentNode);
     }
+
+    currentNode = getParentNode(currentNode);
   }
 
   return null;
diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts
index 2748dbf4..b62cbdd8 100644
--- a/packages/utils/src/index.ts
+++ b/packages/utils/src/index.ts
@@ -187,11 +187,15 @@ export function getPaddingObject(padding: Padding): SideObject {
 }
 
 export function rectToClientRect(rect: Rect): ClientRectObject {
+  const {x, y, width, height} = rect;
   return {
-    ...rect,
-    top: rect.y,
-    left: rect.x,
-    right: rect.x + rect.width,
-    bottom: rect.y + rect.height,
+    width,
+    height,
+    top: y,
+    left: x,
+    right: x + width,
+    bottom: y + height,
+    x,
+    y,
   };
 }

Full diff
0.2.1...0.2.2.

@DanielleHuisman DanielleHuisman marked this pull request as ready for review April 30, 2024 05:58
@DanielleHuisman DanielleHuisman merged commit badc9bc into main Apr 30, 2024
@DanielleHuisman DanielleHuisman deleted the upstream/utils-0.2.2 branch April 30, 2024 05:58
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.

2 participants