Skip to content

Conversation

@ghengeveld
Copy link
Member

@ghengeveld ghengeveld commented Jan 16, 2026

What I did

Added zoom level 8 and dropped the max zoom to 800% so that limits are consistent between the preset levels (keyboard shortcuts) and the manual input. 800 was chosen because it's twice the current max zoom level (4).

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

Press Opt + to zoom in all the way to 800%. Open the zoom menu and confirm when you focus the input and press the up arrow, you can't go any higher.

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook publish.yml --field pr=<PR_NUMBER>

Summary by CodeRabbit

  • New Features
    • Added an additional preset zoom level (8×) for finer preview magnification.
    • Reduced the maximum zoom percentage from 1000% to 800% for the preview tool.

✏️ Tip: You can customize this high-level summary in your review settings.

@nx-cloud
Copy link

nx-cloud bot commented Jan 16, 2026

View your CI Pipeline Execution ↗ for commit 89836c7

Command Status Duration Result
nx run-many -t compile,check,knip,test,pretty-d... ✅ Succeeded 6m 2s View ↗

☁️ Nx Cloud last updated this comment at 2026-01-16 14:11:36 UTC

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

📝 Walkthrough

Walkthrough

Added an 8× zoom level and lowered the Zoom percentage input max from 1000 to 800; updated the MaxZoom story to initialize with value 8. No changes to runtime API signatures in production code. (33 words)

Changes

Cohort / File(s) Summary
Zoom tool
code/core/src/manager/components/preview/tools/zoom.tsx
Added 8 to ZOOM_LEVELS; changed Zoom percentage input maxValue from 1000 to 800. No exported/public function signatures modified.
Story update
code/core/src/manager/components/preview/tools/zoom.stories.tsx
Updated MaxZoom story args: value changed from 4 to 8 (story initialization only).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

✨ Finishing touches
  • 📝 Generate docstrings


📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2eba86d and 89836c7.

📒 Files selected for processing (1)
  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{js,jsx,ts,tsx,json,md,html,css,scss}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Format code using Prettier with yarn prettier --write <file>

Files:

  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
**/*.{js,jsx,json,html,ts,tsx,mjs}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Run ESLint checks using yarn lint:js:cmd <file> or the full command cross-env NODE_ENV=production eslint --cache --cache-location=../.cache/eslint --ext .js,.jsx,.json,.html,.ts,.tsx,.mjs --report-unused-disable-directives to fix linting errors before committing

Files:

  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Enable TypeScript strict mode across all packages

Files:

  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{ts,tsx,js,jsx}: Export functions from modules if they need to be tested
Do not use console.log, console.warn, or console.error directly unless in isolated files where importing loggers would significantly increase bundle size

Files:

  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
code/{core,lib,addons,builders,frameworks,presets}/**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Use logger from storybook/internal/node-logger for server-side logging in Node.js code

Files:

  • code/core/src/manager/components/preview/tools/zoom.stories.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: normal-generated
  • GitHub Check: nx
🔇 Additional comments (1)
code/core/src/manager/components/preview/tools/zoom.stories.tsx (1)

72-75: Aligned MaxZoom story value with new preset.

Looks good.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@storybook-app-bot
Copy link

storybook-app-bot bot commented Jan 16, 2026

Package Benchmarks

Commit: 89836c7, ran on 16 January 2026 at 14:13:09 UTC

The following packages have significant changes to their size or dependencies:

@storybook/cli

Before After Difference
Dependency count 183 183 0
Self size 775 KB 775 KB 🚨 +55 B 🚨
Dependency size 67.38 MB 67.45 MB 🚨 +67 KB 🚨
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 176 176 0
Self size 30 KB 30 KB 🎉 -4 B 🎉
Dependency size 65.95 MB 66.02 MB 🚨 +67 KB 🚨
Bundle Size Analyzer Link Link
@ghengeveld ghengeveld changed the title Core: Add zoom levels up to the max of 1000% Jan 16, 2026
@ndelangen
Copy link
Member

@ghengeveld can you explain how this is capping the textfield input to 800%?

It's not clear to me, from the git diff, that that's being changed.

@ghengeveld
Copy link
Member Author

ghengeveld commented Jan 16, 2026

Sorry, looks like I forgot to push 🤦

@ghengeveld ghengeveld merged commit 05f9c3b into next Jan 16, 2026
123 checks passed
@ghengeveld ghengeveld deleted the zoom-max-level branch January 16, 2026 19:44
@github-actions github-actions bot mentioned this pull request Jan 16, 2026
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants