Skip to content

fix: align search field focus across five bindings - #350

Merged
ChristopherVR merged 1 commit into
ChristopherVR:mainfrom
yunfeizhu:fix/search-field-parity-346
Sep 23, 2026
Merged

ChristopherVR merged 1 commit into
ChristopherVR:mainfrom
yunfeizhu:fix/search-field-parity-346

Conversation

@yunfeizhu

Copy link
Copy Markdown
Contributor

Closes #346.

Changes

  • Align the title-bar and File > Open/Recent search fields across React, Vue, Angular, Svelte, and Vanilla with a single restrained focus border, consistent icon alignment, and a shared style contract where possible.
  • Keep keyboard focus visible in forced-colors mode without drawing a second outline on the inner input.
  • Preserve focus in the Vanilla recent-files search while filtering and loading results.

Verification

  • Full workspace build passed.
  • Search-field browser tests passed across all five demos (15 tests), covering focus, forced colors, and an 800px viewport.
  • Pre-commit formatting and lint checks passed.

Use shared search field styling for React, Vue, and Angular and match it in Svelte and Vanilla. Keep the visual focus treatment on the outer control, including forced-colors mode, and preserve Vanilla recent-search focus while filtering.

Closes ChristopherVR#346
@github-actions github-actions Bot added react React binding (pptx-react-viewer) vue Vue binding (pptx-vue-viewer) angular Angular binding (pptx-angular-viewer) svelte Svelte binding (pptx-svelte-viewer) vanilla Vanilla binding (pptx-vanilla-viewer) shared Framework-agnostic viewer logic (pptx-viewer-shared) e2e Playwright end-to-end suite labels Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Cross-binding parity check

This is advisory only and does not block the PR. It looks at changed file paths, so it cannot tell a genuinely framework-specific change from a parity gap. If it is wrong here, just say so in a comment.

Binding This PR
React changed
Vue changed
Angular changed
Svelte changed
Vanilla changed

Some changed bindings have no test changes

No test files changed under: React, Vue, Angular, Svelte, Vanilla.


See the parity rule for what is expected. Missing: none.

@yunfeizhu

Copy link
Copy Markdown
Contributor Author

@ChristopherVR Could you please rerun the failed jobs for this PR?

The React E2E shard 3/8 was cancelled at the 25-minute job limit after the GIF Default Resolution parity test hit its 240-second test timeout twice. ci-success failed because that shard was cancelled. The same test also hit the 240-second timeout on its first attempt in a main CI run, then passed on retry in 2.8 minutes. This looks like existing timing variability rather than a search-field regression. I tried rerunning the failed jobs, but GitHub requires repository admin permission for that action.

@ChristopherVR
ChristopherVR merged commit fdb941f into ChristopherVR:main Sep 23, 2026
109 of 111 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

angular Angular binding (pptx-angular-viewer) e2e Playwright end-to-end suite react React binding (pptx-react-viewer) shared Framework-agnostic viewer logic (pptx-viewer-shared) svelte Svelte binding (pptx-svelte-viewer) vanilla Vanilla binding (pptx-vanilla-viewer) vue Vue binding (pptx-vue-viewer)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align search-field borders and focus across the five bindings

2 participants