feat(useListenFocusTriggers): remove from public API#3304
Conversation
- Remove useListenFocusTriggers from @vibe/core public exports (hooks/index.ts) - Keep the hook as an internal utility in hooks/useListenFocusTriggers/ for internal use - Remove docs pages (stories and mdx) for the hook - Update exports snapshot - Add migration guide entry with before/after examples BREAKING CHANGE: useListenFocusTriggers is no longer exported from @vibe/core. Inline the focus detection using useEventListener with mousedown/mouseup/focus events. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Code Review by Qodo
1. Docs use Dropdown.sizes.MEDIUM
|
| size={Dropdown.sizes.MEDIUM} | ||
| searchable | ||
| /> | ||
| <Dropdown placeholder="Select..." options={options} size={Dropdown.sizes.MEDIUM} searchable />; |
There was a problem hiding this comment.
1. Docs use dropdown.sizes.medium 📘 Rule violation ✓ Correctness
The migration guide example uses the static property Dropdown.sizes.MEDIUM as a prop value, which the checklist disallows in favor of string literals. This can encourage consumers to depend on brittle static property APIs.
Agent Prompt
## Issue description
The migration guide includes an example using a static property (`Dropdown.sizes.MEDIUM`) for a prop value, which is disallowed by the compliance checklist.
## Issue Context
This is documentation, but it still sets the recommended consumer usage pattern. Prefer a string literal (or the documented non-static type/value) for `size`.
## Fix Focus Areas
- VIBE4_MIGRATION_GUIDE.md[774-774]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
User description
Summary
useListenFocusTriggersfrom@vibe/corepublic exportsAvatarGroupanduseActiveDescendantListFocus)Breaking Changes
useListenFocusTriggersis no longer exported from@vibe/core. Users who relied on this hook should inline the logic usinguseEventListener:Task Link
Monday.com Task
Test Plan
🤖 Generated with Claude Code
PR Type
Breaking change, Documentation
Description
Remove
useListenFocusTriggersfrom public API exportsKeep hook as internal utility for
AvatarGroupanduseActiveDescendantListFocusDelete Storybook stories and MDX documentation pages
Add comprehensive migration guide with before/after code examples
Diagram Walkthrough
File Walkthrough
index.ts
Remove useListenFocusTriggers from public exportspackages/core/src/hooks/index.ts
useListenFocusTriggersexport from public hooks APIVIBE4_MIGRATION_GUIDE.md
Add useListenFocusTriggers migration guide and formatting fixesVIBE4_MIGRATION_GUIDE.md
useEventListenerisMouseDownrefpattern
improve table alignment
useListenFocusTriggers.mdx
Remove useListenFocusTriggers MDX documentationpackages/docs/src/pages/hooks/useListenFocusTriggers/useListenFocusTriggers.mdx
useListenFocusTriggersuseListenFocusTriggers.stories.tsx
Remove useListenFocusTriggers Storybook storiespackages/docs/src/pages/hooks/useListenFocusTriggers/useListenFocusTriggers.stories.tsx
useListenFocusTriggers