Files
logseq/src
scheinriese 5d80633068 fix: icon-picker keyboard nav, color-commit focus, per-tab search
Multiple keyboard-navigation fixes for the unified icon-picker:

- After committing a color, return DOM focus to the highlighted tile via
  Radix's onCloseAutoFocus instead of trying to focus during the swatch
  click (Radix's FocusScope traps focus while the popover is mounted, so
  any synchronous .focus() is silently undone). Routed through a new
  :after-close! kwarg on color-picker.
- focus-grid! now moves DOM focus to the active tile alongside updating
  *highlighted-index, so activeElement and .is-highlighted always
  coincide (WAI-APG roving-focus pattern, no double focus ring).
- Stable refs in icon-search and asset-picker: created once in
  :will-mount, stored in component state. rum/create-ref produces a new
  RefObject every render in defcs, which left popover-captured closures
  holding orphaned refs whose .current was nil after later renders.
- Search results now filter by tab content type while keeping the query
  active across tabs: :all shows both, :emoji only emoji matches, :icon
  only icon matches. Mirrors the gate in compute-flat-items so the
  visible grid and keyboard-nav flat-items list stay in sync.
- emojis-cp / icons-cp now forward the full opts to pane-section so
  highlight, ghost-highlight, focus-region, and wave propagate on the
  no-search :emoji / :icon tab paths.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-26 01:45:07 +02:00
..
2026-03-17 00:07:33 +08:00