+
{selectedMenus.length === 0 && (
)}
diff --git a/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx b/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx
index d4192796a1..bd3f990464 100644
--- a/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx
+++ b/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx
@@ -64,7 +64,13 @@ export const SidebarItemCategory = ({
}, [persistCategoryState])
const handleOpen = () => {
- item.onOpen?.()
+ if (!open) {
+ item.onOpen?.()
+ }
+ if (persistCategoryState) {
+ updatePersistedCategoryState(item.title, !open)
+ }
+ setOpen((prev) => !prev)
}
const isTitleOneWord = useMemo(
@@ -87,15 +93,7 @@ export const SidebarItemCategory = ({
!isTitleOneWord && "break-words"
)}
tabIndex={-1}
- onClick={() => {
- if (!open) {
- handleOpen()
- }
- if (persistCategoryState) {
- updatePersistedCategoryState(item.title, !open)
- }
- setOpen((prev) => !prev)
- }}
+ onClick={handleOpen}
>
{
- if (!elmRef.current?.contains(e.target as Node)) {
+ const node = e.target as Node
+ if (!elmRef.current?.contains(node) && node.isConnected) {
onClickOutside(e)
}
},