diff --git a/.changeset/giant-crabs-swim.md b/.changeset/giant-crabs-swim.md new file mode 100644 index 0000000000..421de5320b --- /dev/null +++ b/.changeset/giant-crabs-swim.md @@ -0,0 +1,5 @@ +--- +"@digdir/designsystemet-react": patch +--- + +**Popover**: Fix controlled open state going out of sync diff --git a/packages/react/src/components/popover/popover.tsx b/packages/react/src/components/popover/popover.tsx index cf06549141..c662b23a9e 100644 --- a/packages/react/src/components/popover/popover.tsx +++ b/packages/react/src/components/popover/popover.tsx @@ -135,7 +135,7 @@ export const Popover = forwardRef( if (controlledOpen && (isTrigger || isOutside)) { setInternalOpen(false); onClose?.(); - } else if (isTrigger) { + } else if (!controlledOpen && isTrigger) { setInternalOpen(true); onOpen?.(); }