diff --git a/superset-frontend/packages/superset-ui-core/src/components/Popover/index.tsx b/superset-frontend/packages/superset-ui-core/src/components/Popover/index.tsx
index f7e41b5be62..d0609c4387d 100644
--- a/superset-frontend/packages/superset-ui-core/src/components/Popover/index.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/components/Popover/index.tsx
@@ -16,11 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Popover as AntdPopover } from 'antd';
+import { forwardRef } from 'react';
+import { Popover as AntdPopover, type TooltipRef } from 'antd';
import { PopoverProps as AntdPopoverProps } from 'antd/es/popover';
export interface PopoverProps extends AntdPopoverProps {
forceRender?: boolean;
}
-export const Popover = (props: PopoverProps) => ;
+export const Popover = forwardRef((props, ref) => (
+
+));
diff --git a/superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverTrigger.tsx b/superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverTrigger.tsx
index f4b85dd631b..7b66f9da812 100644
--- a/superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverTrigger.tsx
+++ b/superset-frontend/src/explore/components/controls/ColorBreakpointsControl/ColorBreakpointPopoverTrigger.tsx
@@ -54,7 +54,9 @@ const ColorBreakpointsPopoverTrigger = ({
onOpenChange={setVisibility}
destroyOnHidden
>
- {props.children}
+ {/* Wrap in span so the Popover can attach a ref without relying
+ on findDOMNode (deprecated in React 18+). */}
+ {props.children}
);
};
diff --git a/superset-frontend/src/explore/components/controls/ContourControl/ContourPopoverTrigger.tsx b/superset-frontend/src/explore/components/controls/ContourControl/ContourPopoverTrigger.tsx
index 69e4b90fefe..8ab8b29da13 100644
--- a/superset-frontend/src/explore/components/controls/ContourControl/ContourPopoverTrigger.tsx
+++ b/superset-frontend/src/explore/components/controls/ContourControl/ContourPopoverTrigger.tsx
@@ -52,7 +52,9 @@ const ContourPopoverTrigger = ({
onOpenChange={setVisibility}
destroyOnHidden
>
- {props.children}
+ {/* Wrap in span so the Popover can attach a ref without relying
+ on findDOMNode (deprecated in React 18+). */}
+ {props.children}
);
};
diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx
index cf8692b7503..19cf507d256 100644
--- a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx
+++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx
@@ -201,7 +201,9 @@ const ColumnSelectPopoverTriggerInner = ({
title={popoverTitle}
destroyOnHidden
>
- {children}
+ {/* Wrap in span so the Popover can attach a ref without relying
+ on findDOMNode (deprecated in React 18+). */}
+ {children}
>
);
diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterPopoverTrigger/index.tsx b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterPopoverTrigger/index.tsx
index ead19ecd5e9..f7708ec676f 100644
--- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterPopoverTrigger/index.tsx
+++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterPopoverTrigger/index.tsx
@@ -112,7 +112,9 @@ class AdhocFilterPopoverTrigger extends PureComponent<
onOpenChange={togglePopover}
destroyOnHidden
>
- {this.props.children}
+ {/* Wrap in span so the Popover can attach a ref without relying
+ on findDOMNode (deprecated in React 18+). */}
+ {this.props.children}
);
}