diff --git a/change/@fluentui-react-conformance-1cbc92ae-0635-4f53-9901-2a974d890611.json b/change/@fluentui-react-conformance-1cbc92ae-0635-4f53-9901-2a974d890611.json
new file mode 100644
index 0000000000000..4725c41f8cfd1
--- /dev/null
+++ b/change/@fluentui-react-conformance-1cbc92ae-0635-4f53-9901-2a974d890611.json
@@ -0,0 +1,7 @@
+{
+ "type": "minor",
+ "comment": "feat: Adding getPortalElement option to static classnames object test.",
+ "packageName": "@fluentui/react-conformance",
+ "email": "esteban.230@hotmail.com",
+ "dependentChangeType": "patch"
+}
diff --git a/packages/react-conformance/src/defaultTests.tsx b/packages/react-conformance/src/defaultTests.tsx
index e260634e92d8a..01637ec2a08ec 100644
--- a/packages/react-conformance/src/defaultTests.tsx
+++ b/packages/react-conformance/src/defaultTests.tsx
@@ -366,15 +366,22 @@ export const defaultTests: TestObject = {
};
const result = render(, renderOptions);
const rootEl = getTargetElement(testInfo, result, 'className');
+ const portalEl = staticClassNames.getPortalElement && staticClassNames.getPortalElement(result);
const indexFile = require(indexPath);
const classNamesFromFile = indexFile[exportName];
const expectedClassNames: { [key: string]: string } = staticClassNames.expectedClassNames ?? classNamesFromFile;
- const missingClassNames = Object.values(expectedClassNames).filter(
+ let missingClassNames = Object.values(expectedClassNames).filter(
className => !rootEl.classList.contains(className) && !rootEl.querySelector(`.${className}`),
);
+ if (missingClassNames.length && portalEl) {
+ missingClassNames = missingClassNames.filter(
+ className => !portalEl.classList.contains(className) && !portalEl.querySelector(`.${className}`),
+ );
+ }
+
try {
expect(missingClassNames).toHaveLength(0);
} catch (e) {
diff --git a/packages/react-conformance/src/types.ts b/packages/react-conformance/src/types.ts
index f505ea3350f17..0abb94ea054c5 100644
--- a/packages/react-conformance/src/types.ts
+++ b/packages/react-conformance/src/types.ts
@@ -21,6 +21,7 @@ export interface TestOptions {
expectedClassNames?: {
[key: string]: string;
};
+ getPortalElement?: (renderResult: ReturnType) => HTMLElement;
}[];
'component-has-static-classname'?: {
/** Prefix for the classname, if not `fui-` */