diff --git a/packages/react-aria-components/src/Tree.tsx b/packages/react-aria-components/src/Tree.tsx
index f743c06c70b..c05ce61afa2 100644
--- a/packages/react-aria-components/src/Tree.tsx
+++ b/packages/react-aria-components/src/Tree.tsx
@@ -1004,6 +1004,7 @@ export const TreeItem = /*#__PURE__*/ createBranchComponent(
CheckboxContext,
{
slots: {
+ [DEFAULT_SLOT]: {},
selection: checkboxProps
}
}
@@ -1012,6 +1013,7 @@ export const TreeItem = /*#__PURE__*/ createBranchComponent(
CheckboxFieldContext,
{
slots: {
+ [DEFAULT_SLOT]: {},
selection: checkboxProps
}
}
diff --git a/packages/react-aria-components/test/Tree.test.tsx b/packages/react-aria-components/test/Tree.test.tsx
index 2e0f634ad75..ee5a6d7f891 100644
--- a/packages/react-aria-components/test/Tree.test.tsx
+++ b/packages/react-aria-components/test/Tree.test.tsx
@@ -664,6 +664,21 @@ describe('Tree', () => {
}
);
+ it('should allow unslotted checkboxes in item content', () => {
+ let {getByRole} = render(
+
+
+
+ Item
+ Flag item
+
+
+
+ );
+
+ expect(getByRole('checkbox', {name: 'Flag item'})).toBeInTheDocument();
+ });
+
it('should not render checkboxes for selection with selectionBehavior=replace ', async () => {
let {getByRole, getAllByRole} = render(