diff --git a/.changeset/menu-dismissal-correctness.md b/.changeset/menu-dismissal-correctness.md deleted file mode 100644 index a76f1f5..0000000 --- a/.changeset/menu-dismissal-correctness.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"@handamade/psi-react": patch ---- - -Menu no longer reports a dismissal for a menu the consumer has already closed (D58) - -Two menus sharing one `openId` — the shape of the `row-actions` pattern — -left **both** closed when you switched between them. Clicking B's trigger -light-dismisses A at the platform level before the consumer's click handler -runs, so A's popover was already closed by the time its `open` prop flipped; -the sync effect then armed no suppression and A's queued `toggle` reported -`onClose("outside")`, clearing `openId` and closing B milliseconds after it -opened. - -`onClose` now carries an invariant: a dismissal is only ever reported for a -menu that is still open according to its own `open` prop. Genuine light -dismiss, Esc and item-select are unaffected. No API change. - -Also fixed: the trigger wrapper is the anchor box for both placement paths and -was being stretched to its cell as a grid or flex-column item, so the menu -anchored to the cell edge instead of the trigger. It now sizes to its trigger. diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index 2468630..693b6ca 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,11 @@ # @handamade/psi-mcp +## 0.8.1 + +Version bump only — no change to this package. `@handamade/psi-*` are released +in lockstep at one version number, so a fix in any one of them bumps all three. +The 0.8.1 fix is in `@handamade/psi-react` (Menu dismissal correctness, D58). + ## 0.8.0 ### Minor Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 763c731..b10d3bb 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@handamade/psi-mcp", - "version": "0.8.0", + "version": "0.8.1", "license": "MIT", "description": "MCP server and agent-context generator for the Psi (Ψ) design system", "type": "module", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 94029b4..db6229e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,27 @@ # @handamade/psi-react +## 0.8.1 + +### Patch Changes + +- 93f5399: Menu no longer reports a dismissal for a menu the consumer has already closed (D58) + + Two menus sharing one `openId` — the shape of the `row-actions` pattern — + left **both** closed when you switched between them. Clicking B's trigger + light-dismisses A at the platform level before the consumer's click handler + runs, so A's popover was already closed by the time its `open` prop flipped; + the sync effect then armed no suppression and A's queued `toggle` reported + `onClose("outside")`, clearing `openId` and closing B milliseconds after it + opened. + + `onClose` now carries an invariant: a dismissal is only ever reported for a + menu that is still open according to its own `open` prop. Genuine light + dismiss, Esc and item-select are unaffected. No API change. + + Also fixed: the trigger wrapper is the anchor box for both placement paths and + was being stretched to its cell as a grid or flex-column item, so the menu + anchored to the cell edge instead of the trigger. It now sizes to its trigger. + ## 0.8.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index e983a84..23c5c1e 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@handamade/psi-react", - "version": "0.8.0", + "version": "0.8.1", "license": "MIT", "type": "module", "main": "dist/index.js", diff --git a/packages/tokens/CHANGELOG.md b/packages/tokens/CHANGELOG.md index 2c726c8..70d1a63 100644 --- a/packages/tokens/CHANGELOG.md +++ b/packages/tokens/CHANGELOG.md @@ -1,5 +1,11 @@ # @handamade/psi-tokens +## 0.8.1 + +Version bump only — no change to this package. `@handamade/psi-*` are released +in lockstep at one version number, so a fix in any one of them bumps all three. +The 0.8.1 fix is in `@handamade/psi-react` (Menu dismissal correctness, D58). + ## 0.8.0 ### Minor Changes diff --git a/packages/tokens/package.json b/packages/tokens/package.json index d025a80..8c4249f 100644 --- a/packages/tokens/package.json +++ b/packages/tokens/package.json @@ -1,6 +1,6 @@ { "name": "@handamade/psi-tokens", - "version": "0.8.0", + "version": "0.8.1", "license": "MIT", "type": "module", "exports": {