memos/web/src/components/ui
Steven dfc0d376d1 refactor: extract submenu hover delay logic into reusable hook
- Create useDropdownMenuSubHoverDelay hook in dropdown-menu component
- Encapsulates hover delay behavior for preventing accidental submenu closure
- Eliminates code duplication at component usage sites
- Simplifies InsertMenu by removing 45 lines of timeout/state management code
- Hook provides handleTriggerEnter/Leave and handleContentEnter/Leave handlers
- Configurable closeDelay parameter (default 150ms)

This makes the hover behavior pattern reusable across any dropdown menu submenus.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-22 21:04:00 +08:00
..
badge.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
button.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
checkbox.tsx fix: implement tag suggestions functionality 2025-11-08 09:15:38 +08:00
dialog.tsx chore: tweak comments 2025-11-30 13:16:02 +08:00
dropdown-menu.tsx refactor: extract submenu hover delay logic into reusable hook 2025-12-22 21:04:00 +08:00
input.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
label.tsx refactor: unify components 2025-07-01 19:29:48 +08:00
popover.tsx feat: themes (#4824) 2025-07-07 20:13:22 +08:00
radio-group.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
select.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
separator.tsx refactor: unify components 2025-07-01 19:29:48 +08:00
sheet.tsx fix: prevent default focus behavior on open and close events in sheet (#4998) 2025-08-13 07:13:45 +08:00
switch.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
textarea.tsx refactor: unify theme and apperance 2025-08-17 11:27:59 +08:00
tooltip.tsx feat: themes (#4824) 2025-07-07 20:13:22 +08:00
visually-hidden.tsx feat: add VisuallyHidden component and enhance LocationDialog accessibility 2025-11-02 23:02:08 +08:00