Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
2d729ed
Merge pull request #32228 from storybookjs/docs-addon-vitest-config-typo
kylegach Aug 18, 2025
a0151ef
Merge pull request #32306 from storybookjs/valentin/fix-nextjs-webpac…
ndelangen Aug 20, 2025
eca1ace
fix unit tests
yannbf Aug 21, 2025
ee34e40
fix chromatic failures
yannbf Aug 21, 2025
6ab99d4
Fix override in portable stories
kasperpeulen Aug 21, 2025
024cde6
Merge remote-tracking branch 'origin/kasper/refactor-test-prototype' …
kasperpeulen Aug 21, 2025
7def7d9
add fixes for portable stories and prepareStory
yannbf Aug 21, 2025
1dba824
Next.js: Avoid multiple webpack versions at runtime
valentinpalkovic Aug 21, 2025
2c99471
Merge pull request #32241 from storybookjs/version-patch-from-9.1.2
ndelangen Aug 21, 2025
ce39157
Bump version from "9.1.2" to "9.1.3" [skip ci]
storybook-bot Aug 21, 2025
3ab5db3
Improved doTest type
kasperpeulen Aug 21, 2025
8e74582
Improve test execution in StoryRender
kasperpeulen Aug 21, 2025
df6dce7
Merge pull request #32314 from storybookjs/kasper/refactor-test-proto…
yannbf Aug 21, 2025
ad68ec3
Next.js: Fix version mismatch error in Webpack
yannbf Aug 21, 2025
91f0fc4
bring back all tests
yannbf Aug 21, 2025
864ed55
update tests
yannbf Aug 21, 2025
d14ea0e
support story tests in single test run
yannbf Aug 21, 2025
32f7796
update comments
yannbf Aug 21, 2025
50fc0b7
fix vitest regex
yannbf Aug 21, 2025
9241ba8
Export viewport constants as const
hpohlmeyer Aug 23, 2025
53d4dca
Fix viewport constant list in docs
hpohlmeyer Aug 23, 2025
44019ef
Fix ipad10p viewport dimension in docs
hpohlmeyer Aug 23, 2025
512c1e6
Refactor to see stories as tests
kasperpeulen Aug 26, 2025
0358dcc
Remove some todos
kasperpeulen Aug 26, 2025
620663c
Rename
kasperpeulen Aug 26, 2025
91a0149
Fix
kasperpeulen Aug 26, 2025
68603a9
fix
yannbf Aug 26, 2025
a444184
fix tests and revamp test filtering
yannbf Aug 26, 2025
c47c4fa
Merge pull request #32328 from storybookjs/kasper/see-tests-as-stories
yannbf Aug 26, 2025
7b564ea
Add TestNode for sidebar
ghengeveld Aug 21, 2025
52a3cf3
implement test metrics
yannbf Aug 27, 2025
5c6ef7f
Some cleanup
ghengeveld Aug 27, 2025
d509fc3
Fix types, avoid any
ghengeveld Aug 27, 2025
05e57e6
Add missing deps
ghengeveld Aug 27, 2025
9c78432
Render test entries in sidebar and add-in wrapper entries for stories…
ghengeveld Aug 27, 2025
700ec5b
Add story with play function
ghengeveld Aug 27, 2025
cbbd7be
Ensure wrapper gets proper children and tags
ghengeveld Aug 27, 2025
5fe23d4
Fix filtering by test-fn tag
ghengeveld Aug 27, 2025
dfe2b36
Refactor sandbox generation script: streamline local registry handlin…
ndelangen Aug 28, 2025
5aa436a
Update Storybook CLI path in sandbox generation script to use CommonJ…
ndelangen Aug 28, 2025
6b8ea8f
Update SOLID generator options to disable component addition
ndelangen Aug 28, 2025
05a264c
fix search item icon for story tests
yannbf Aug 28, 2025
f6c090e
add more stories
yannbf Aug 28, 2025
ebe497a
Merge pull request #32335 from storybookjs/yann/test-metrics
yannbf Aug 28, 2025
7f70c34
fix: allow primitive URL arg value for ReactNode argType
alexey-kozlenkov Jul 2, 2025
e546bff
(chore) Modify case to avoid fallthrough and always return
alexey-kozlenkov Jul 2, 2025
320d25c
Update args.ts
alexey-kozlenkov Aug 28, 2025
f00370a
(test) Add test case with non-primitive arg value
alexey-kozlenkov Aug 28, 2025
2e7d8f4
(chore) Better test description
alexey-kozlenkov Aug 28, 2025
e335dc4
Add subtype property to distinguish tests from stories
ghengeveld Aug 28, 2025
6fa8664
Add autodocs to test-fn stories for dev/test/debug
ghengeveld Aug 28, 2025
fa75e0b
UI: Allow showing or hiding the addon panel
Sidnioulz Aug 21, 2025
138cef4
Docs: Add showPanel to features & UI and fix typo in showSidebar options
Sidnioulz Aug 29, 2025
b771bee
UI: Fix typo in layout API
Sidnioulz Aug 29, 2025
8866976
Docs: Fix typo
Sidnioulz Aug 29, 2025
8dee332
Refactor story index transformation logic for improved filtering and …
ghengeveld Aug 29, 2025
d9bf94a
Fix sortStory
ghengeveld Aug 29, 2025
b6c82bc
fix tests
yannbf Aug 29, 2025
8e06a46
fix build/type issues
yannbf Aug 29, 2025
f70fbda
fix unit tests, write E2E
yannbf Aug 29, 2025
eefc73e
fix indexing of tests
yannbf Aug 28, 2025
5640b6e
Merge pull request #32337 from storybookjs/sidebar-test-type
yannbf Aug 29, 2025
5344b3f
fix snapshot
yannbf Aug 29, 2025
c166dc4
fix check
yannbf Aug 29, 2025
c0bad22
Merge pull request #32217 from storybookjs/docs-svelte-csf-improvements
kylegach Aug 21, 2025
55ac169
Merge pull request #32320 from storybookjs/jeppe/fix-vps-dependency-r…
JReinhold Aug 27, 2025
470f1fd
Merge pull request #32319 from storybookjs/copilot/fix-32318
JReinhold Aug 27, 2025
58752c6
Merge pull request #32350 from storybookjs/norbert/deduplicate-babel
ndelangen Aug 29, 2025
6b36e49
Merge pull request #32272 from storybookjs/kroeder/angular-config-mer…
valentinpalkovic Aug 29, 2025
035243a
Write changelog for 9.1.4 [skip ci]
storybook-bot Sep 1, 2025
07d688d
Update tags filter UI
ghengeveld Sep 1, 2025
37a5853
Update ./docs/versions/next.json for v10.0.0-beta.1
storybook-bot Sep 2, 2025
e1fcd14
Update sandbox generation script to include resolutions for react and…
ndelangen Sep 2, 2025
c1dd869
Update sandbox generation script to include resolutions for @types/re…
ndelangen Sep 2, 2025
2aca744
Merge pull request #32317 from storybookjs/version-patch-from-9.1.3
ndelangen Sep 2, 2025
9f02684
Bump version from "9.1.3" to "9.1.4" [skip ci]
storybook-bot Sep 2, 2025
6813ee2
Merge branch 'latest-release'
storybook-bot Sep 2, 2025
8335943
Merge branch 'next' into viewport-constant-types
ndelangen Sep 2, 2025
cf297c8
Enhance sidebar to support test entries and improve story handling
ghengeveld Sep 2, 2025
a95c291
Add default selection for tags in sidebar and update TagsFilter compo…
yannbf Sep 2, 2025
b6fbeda
add jsdocs
yannbf Sep 2, 2025
a632036
Remove console.log
ghengeveld Sep 2, 2025
0b3d490
Enhance Button story rendering and improve sidebar node expansion logic
ghengeveld Sep 2, 2025
9f16a26
Update VitestManager to use correct RegExp
ghengeveld Sep 2, 2025
5705bb5
update to use defaultSelection instead
yannbf Sep 2, 2025
24253d8
small rename
yannbf Sep 2, 2025
8d18419
cleanup
yannbf Sep 2, 2025
15e965e
Merge pull request #32373 from storybookjs/yann/add-tags-preset-to-main
yannbf Sep 2, 2025
4831e99
fix build
yannbf Sep 2, 2025
3e8c306
Implement indeterminate state for unrepresentable combination of defa…
ghengeveld Sep 3, 2025
1a4ee93
disable save from controls in story tests
yannbf Sep 3, 2025
cd66148
fix build
yannbf Sep 3, 2025
bab3780
Add story for non-initial state
ghengeveld Sep 3, 2025
f570532
Fix filtering out stories which have tests
ghengeveld Sep 3, 2025
7a03431
Fix default invert toggle setting
ghengeveld Sep 3, 2025
07e99ae
Refactor CsfFile to support test tags and update related methods for …
yannbf Sep 3, 2025
9a3cc98
Merge branch 'next' into next
alexey-kozlenkov Sep 3, 2025
b6c6e94
Make it possible to distinguish tests from stories in StoryStore.extr…
ghengeveld Sep 3, 2025
85cf726
Update ./docs/versions/next.json for v10.0.0-beta.2
storybook-bot Sep 3, 2025
639042c
small refactor
yannbf Sep 3, 2025
3fa6097
Merge pull request #32385 from storybookjs/yann/fix-test-tags-extraction
yannbf Sep 3, 2025
9b7fa17
fix tests
yannbf Sep 3, 2025
d61fba2
Merge branch 'yann/test-fn-prototype' into update-storystore-extract
yannbf Sep 3, 2025
319ace2
Merge pull request #32388 from storybookjs/update-storystore-extract
yannbf Sep 3, 2025
48cb2d9
Merge branch 'latest-release' into feature/test-syntax-in-csf
yannbf Sep 3, 2025
478e4f1
undo some merge changes
yannbf Sep 3, 2025
7aa48c2
Fix regression and failing E2E tests
yannbf Sep 3, 2025
f5e829d
fix test-runner tests
yannbf Sep 3, 2025
0b21aff
fix unit tests
yannbf Sep 3, 2025
f793686
Fix focused test run in Storybook sidebar
yannbf Sep 4, 2025
2d64830
Revert "Fix focused test run in Storybook sidebar"
yannbf Sep 4, 2025
86db945
Fix focused test run in Storybook sidebar
yannbf Sep 4, 2025
07beaea
remove log
yannbf Sep 4, 2025
c22aa61
use double spaces instead
yannbf Sep 4, 2025
f0cfe33
only use double space in parent stories
yannbf Sep 4, 2025
3113762
fix tests
yannbf Sep 4, 2025
c2aedef
Merge pull request #32403 from storybookjs/yann/fix-focused-test-runs
yannbf Sep 4, 2025
d98408f
Implement include/exclude toggle for each tag to replace global inver…
ghengeveld Sep 4, 2025
54ecd3a
Enhance codemod tests and support for non-conventional story formats …
yannbf Sep 4, 2025
41c83af
Merge pull request #32414 from storybookjs/yann/fix-csf-factories-cod…
yannbf Sep 4, 2025
c652477
Update tags filter UI and fix filter function logic
ghengeveld Sep 4, 2025
6941da2
Merge pull request #32329 from storybookjs/norbert/proceed-if-playwri…
ndelangen Sep 2, 2025
4aaaeba
Merge pull request #32341 from storybookjs/docs-csf-next
kylegach Sep 3, 2025
246e3ef
Merge pull request #32169 from diagramatics/satisfies-as
shilman Sep 5, 2025
7a47f95
Write changelog for 9.1.5 [skip ci]
storybook-bot Sep 5, 2025
b52b74a
Merge branch 'feature/test-syntax-in-csf' into tags-filter-exclude
yannbf Sep 5, 2025
4c348d3
Copy the default included/excluded sets to avoid accidental mutation
ghengeveld Sep 5, 2025
d28127c
Rename defaultSelection to defaultFilterSelection for clarity
ghengeveld Sep 5, 2025
8a65895
Remove some built-in tags that will no longer exist
ghengeveld Sep 5, 2025
7985f43
Revert check icon when not hovering
ghengeveld Sep 5, 2025
67dfbfb
Delay tooltips
ghengeveld Sep 5, 2025
00e53ca
Merge pull request #32417 from storybookjs/tags-filter-exclude
yannbf Sep 5, 2025
8b9cc24
fix children calculation
yannbf Sep 5, 2025
87ddc71
fix children calculation pt. 2
yannbf Sep 5, 2025
469bc63
Merge branch 'next' into sidnioulz/issue-14442-showAddonPanel
Sidnioulz Sep 5, 2025
3b12d84
Merge pull request #32390 from storybookjs/version-patch-from-9.1.4
shilman Sep 6, 2025
56c04b0
Bump version from "9.1.4" to "9.1.5" [skip ci]
storybook-bot Sep 6, 2025
26554cf
Merge branch 'next' into next
alexey-kozlenkov Sep 12, 2025
9c1c6d9
Merge pull request #32356 from storybookjs/vy/sentry-release
vanessayuenn Sep 5, 2025
a9d51fd
Merge pull request #32438 from storybookjs/dannyhw/fix/react-native-w…
shilman Sep 11, 2025
4e32f28
Merge pull request #32439 from storybookjs/norbert/fix-type-event-slo…
ndelangen Sep 12, 2025
11b3884
Write changelog for 9.1.6 [skip ci]
storybook-bot Sep 15, 2025
c69e759
Merge pull request #32344 from storybookjs/shilman/init-version-speci…
ndelangen Sep 11, 2025
aac8a9d
Merge pull request #32448 from storybookjs/shilman/cli-integratino-te…
ndelangen Sep 15, 2025
ce2cc67
Merge pull request #32436 from storybookjs/version-patch-from-9.1.5
ndelangen Sep 15, 2025
2b1bbd2
Update GitHub Actions workflow: change node-version-file quotes and u…
ndelangen Sep 15, 2025
304edc3
Bump version from "9.1.5" to "9.1.6" [skip ci]
storybook-bot Sep 15, 2025
05a4d33
Merge branch 'latest-release' into feature/test-syntax-in-csf
ndelangen Sep 15, 2025
09c03f9
Merge branch 'next' into feature/test-syntax-in-csf
ndelangen Sep 15, 2025
de396c4
fix merge conflict
yannbf Sep 15, 2025
b5d65ed
fix e2e tests
yannbf Sep 15, 2025
9f1fa3f
Merge branch 'next' into feature/test-syntax-in-csf-sb10
yannbf Sep 15, 2025
ef07e3a
Ensure .tsx files emit .d.ts type files
mrginglymus Sep 15, 2025
5c7fab6
Merge branch 'next' into next
alexey-kozlenkov Sep 16, 2025
b868eb1
Special handling for built-in tags
ghengeveld Sep 16, 2025
f3a4f4a
replace tags filter play icon
yannbf Sep 16, 2025
ed673f0
Merge pull request #32481 from storybookjs/built-in-tags-icons
yannbf Sep 16, 2025
25f0f92
Add missing subtype properties
ghengeveld Sep 17, 2025
7ad81bd
Merge branch 'next' into next
alexey-kozlenkov Sep 17, 2025
9183a9b
Change property order
ghengeveld Sep 17, 2025
7913c9d
Remove subtype prop
ghengeveld Sep 17, 2025
ba4758a
Merge pull request #32490 from storybookjs/add-missing-subtype-props
ghengeveld Sep 17, 2025
0bac997
Merge branch 'next' into feature/test-syntax-in-csf-sb10
yannbf Sep 18, 2025
a163b78
Make csf-factories codemod bail on transformation when story is not f…
yannbf Sep 5, 2025
6c7eb65
fix tests
yannbf Sep 18, 2025
8df5a47
Merge pull request #32498 from storybookjs/yann/improve-csf-factories…
yannbf Sep 18, 2025
6aceace
Merge branch 'next' into feature/test-syntax-in-csf-sb10
yannbf Sep 18, 2025
362df43
Merge branch 'next' into sidnioulz/issue-14442-showAddonPanel
Sidnioulz Sep 18, 2025
fa3371d
fix types and import path handling
yannbf Sep 19, 2025
9c8103e
Fix focused tests for stories with tests
ghengeveld Sep 19, 2025
287e6bc
Remove 'Arc' from the list of supported browsers in the opener utility
ndelangen Sep 19, 2025
3942b0b
Remove tests from children of component, as they are attached to the …
ghengeveld Sep 19, 2025
999aa03
Ensure we show the correct status icon for stories with tests
ghengeveld Sep 19, 2025
9884d89
Merge pull request #32509 from storybookjs/fix-focused-tests
ghengeveld Sep 19, 2025
6b427b6
sveltekit: add context provider component for mocking sveltekit contexts
Jakeii Sep 20, 2025
f31a74c
Merge branch 'next' into feature/test-syntax-in-csf-sb10
yannbf Sep 22, 2025
669680c
fix tests
yannbf Sep 22, 2025
ed68f59
update eslint-depend-plugin
beeequeue Sep 15, 2025
f0bdb40
Merge pull request #32282 from storybookjs/valentin/fix-storybook-err…
valentinpalkovic Sep 22, 2025
8fdeb1a
Merge pull request #32508 from storybookjs/norbert/remove-arc-special…
ndelangen Sep 22, 2025
1ba5f24
Merge branch 'next' into preview-tsx
ndelangen Sep 22, 2025
488d8bc
Merge pull request #32461 from mrginglymus/preview-tsx
ndelangen Sep 22, 2025
2828dec
improve csf factories codemod
yannbf Sep 22, 2025
f0ce3fe
Fix built-in tags filtering
ghengeveld Sep 22, 2025
a1da280
add E2E tests for filter types
yannbf Sep 23, 2025
0a995fa
add addons field even when there are no addons installed
yannbf Sep 23, 2025
fefa45e
Merge branch 'next' into feature/test-syntax-in-csf-sb10
yannbf Sep 23, 2025
3b7f654
Merge branch 'next' into depend-plugin
ndelangen Sep 23, 2025
8a83592
only run e2e test in react
yannbf Sep 23, 2025
407a388
Docs: Remove autodocs configuration reference from the documentation
jonniebigodes Sep 23, 2025
a25c124
fix keyboard shortcuts on e2e helper
yannbf Sep 23, 2025
5c42937
Merge branch 'next' into docs_remove_oudated_autodocs_property
jonniebigodes Sep 23, 2025
2f19c9d
Merge pull request #32526 from storybookjs/fix-built-in-tags-filtering
yannbf Sep 23, 2025
68fc759
Merge pull request #32535 from storybookjs/docs_remove_oudated_autodo…
jonniebigodes Sep 23, 2025
0ef2a79
Merge pull request #32521 from beeequeue/depend-plugin
ndelangen Sep 23, 2025
cd1be14
(lint) Wrap case into a block
alexey-kozlenkov Sep 23, 2025
5c2e33f
(chore) Fix indentation
alexey-kozlenkov Sep 23, 2025
c9d17d7
Merge branch 'next' into next
ndelangen Sep 23, 2025
f863ac3
(chore) Fix linter
alexey-kozlenkov Sep 23, 2025
8f5911d
Update CHANGELOG.md for v9.1.8 [skip ci]
storybook-bot Sep 23, 2025
2416086
Merge branch 'next' into viewport-constant-types
jonniebigodes Sep 23, 2025
6a41bf0
enable experimental async and remote functions in all Svelte sandboxes
JReinhold Sep 23, 2025
f0b7aad
rely on automatic decorator children
JReinhold Sep 23, 2025
b5a1813
Merge branch 'next' into jlk/async-svelte
JReinhold Sep 23, 2025
dea672e
Add feature flag
yannbf Sep 23, 2025
ff83d3d
Merge pull request #31931 from alexey-kozlenkov/next
ndelangen Sep 23, 2025
a5edb79
Merge branch 'next' into viewport-constant-types
ndelangen Sep 23, 2025
bc54bb1
Improve error message
yannbf Sep 23, 2025
3f1f0b0
fix sandboxes
yannbf Sep 23, 2025
badcfc9
Merge branch 'next' into jlk/async-svelte
JReinhold Sep 23, 2025
25c6d70
Merge branch 'next' of github.com:storybookjs/storybook into feat/sup…
JReinhold Sep 23, 2025
41b0ff0
change imports from src to entrypoint imports
JReinhold Sep 23, 2025
d7d1909
Merge pull request #32513 from Jakeii/jlk/async-svelte
JReinhold Sep 23, 2025
9d316ee
Merge branch 'next' of github.com:storybookjs/storybook into feat/sup…
JReinhold Sep 23, 2025
210036e
fix store mock imports
JReinhold Sep 23, 2025
e043fa8
cleanup
JReinhold Sep 24, 2025
99f33b2
Merge branch 'next' of github.com:storybookjs/storybook into jeppe/sv…
JReinhold Sep 24, 2025
d4787ca
Merge branch 'next' into viewport-constant-types
ndelangen Sep 24, 2025
003012e
Refactor viewport handling in Vitest plugin and Tool component to use…
ndelangen Sep 24, 2025
c17e0ce
Update Tool component type definitions for viewportName and isRotated…
ndelangen Sep 24, 2025
6d28374
Fix types
yannbf Sep 24, 2025
2e03469
fix lint
yannbf Sep 24, 2025
5e1c061
enable test syntax in storybook:ui
yannbf Sep 24, 2025
6615e45
update svelte related packages
JReinhold Sep 24, 2025
c0914ec
Update Tool component to allow isRotated to be undefined, enhancing t…
ndelangen Sep 24, 2025
7f7d51f
enable async stories
JReinhold Sep 24, 2025
0dd561e
cleanup
JReinhold Sep 24, 2025
02995a7
provide features via the vitest integration
yannbf Sep 24, 2025
95e41e2
Merge pull request #32178 from storybookjs/clear-a11y-highlights-on-c…
ghengeveld Sep 24, 2025
f8ce0f4
Merge pull request #32172 from storybookjs/reset-on-change-story
ghengeveld Sep 24, 2025
1c283ed
Merge pull request #32324 from hpohlmeyer/viewport-constant-types
ndelangen Sep 24, 2025
34a2c99
Merge pull request #32455 from storybookjs/feature/test-syntax-in-csf…
yannbf Sep 24, 2025
91017dc
make url mock static in stories
JReinhold Sep 24, 2025
5ef0ff8
update updated docs
JReinhold Sep 24, 2025
e71e871
Merge branch 'next' into jeppe/svelte-async-component-support
JReinhold Sep 24, 2025
f71856f
Merge branch 'next' into sidnioulz/issue-14442-showAddonPanel
ndelangen Sep 24, 2025
4d14ff3
clear yarn.lock content
JReinhold Sep 24, 2025
0c7723f
Merge branch 'jeppe/svelte-async-component-support' of github.com:sto…
JReinhold Sep 24, 2025
68140f7
Merge pull request #31476 from storybookjs/jeppe/svelte-async-compone…
JReinhold Sep 24, 2025
e873a2f
optimizeDeps app state mock to ensure vitest doesn't reload
JReinhold Sep 24, 2025
6b9ff97
Merge pull request #31369 from xeho91/feat/support-mocking-sveltekit-…
JReinhold Sep 24, 2025
d14afff
fix failing react sandboxes
yannbf Sep 24, 2025
9dcda7b
Update yarn utility to remove existing .yarnrc.yml file during instal…
ndelangen Sep 24, 2025
08e87d5
Merge branch 'next' into norbert/improve-sandboxes-yarn-script
ndelangen Sep 24, 2025
fd7b39e
Update yarn utility to handle errors when removing .yarnrc.yml file d…
ndelangen Sep 24, 2025
90f8bd8
Merge branch 'norbert/improve-sandboxes-yarn-script' of https://githu…
ndelangen Sep 24, 2025
b6e340a
Merge pull request #32551 from storybookjs/norbert/improve-sandboxes-…
ndelangen Sep 24, 2025
b92c3d2
Merge pull request #32348 from storybookjs/sidnioulz/issue-14442-show…
ndelangen Sep 24, 2025
2250b59
Merge pull request #32549 from storybookjs/yann/fix-react-sandboxes
yannbf Sep 24, 2025
8967a51
Write changelog for 10.0.0-beta.7 [skip ci]
storybook-bot Sep 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ code/bench-results/
/packs
code/.nx/cache
code/.nx/workspace-data
code/.vite-inspect
.vite-inspect
.nx/cache
.nx/workspace-data
!**/fixtures/**/yarn.lock
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 9.1.8

- PreactVite: Add `node` entry point - [#32534](https://github.com/storybookjs/storybook/pull/32534), thanks @ndelangen!

## 9.1.7

- Dependencies: Update `vite-plugin-storybook-nextjs` to 2.0.7 - [#32331](https://github.com/storybookjs/storybook/pull/32331), thanks @k35o!
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.prerelease.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 10.0.0-beta.7

- Addon A11y: Prevent setting highlights for old results - [#32178](https://github.com/storybookjs/storybook/pull/32178), thanks @ghengeveld!
- AddonViewport: Stricter types - [#32324](https://github.com/storybookjs/storybook/pull/32324), thanks @hpohlmeyer!
- CSF: Add Storybook test syntax (Storybook v10) - [#32455](https://github.com/storybookjs/storybook/pull/32455), thanks @yannbf!
- Controls: Allow primitive values of ReactNode argType - [#31931](https://github.com/storybookjs/storybook/pull/31931), thanks @alexey-kozlenkov!
- Core: Prevent `BAIL` state from showing in interactions panel when switching stories - [#32172](https://github.com/storybookjs/storybook/pull/32172), thanks @ghengeveld!
- CoreServer: Fix `Arc can't get every window` - [#32508](https://github.com/storybookjs/storybook/pull/32508), thanks @ndelangen!
- Dts: Ensure `.tsx` files emit `.d.ts` type files - [#32461](https://github.com/storybookjs/storybook/pull/32461), thanks @mrginglymus!
- Svelte: Improve support for async components - [#31476](https://github.com/storybookjs/storybook/pull/31476), thanks @JReinhold!
- SvelteKit: Add support for mocking `$app/state` - [#31369](https://github.com/storybookjs/storybook/pull/31369), thanks @xeho91!
- SvelteKit: Fix `set_context_after_init` error when experimental async is enabled - [#32513](https://github.com/storybookjs/storybook/pull/32513), thanks @Jakeii!
- UI: Allow showing or hiding the addon panel - [#32348](https://github.com/storybookjs/storybook/pull/32348), thanks @Sidnioulz!

## 10.0.0-beta.6

- Core: Add "open in editor" feature - [#32452](https://github.com/storybookjs/storybook/pull/32452), thanks @yannbf!
Expand Down
1 change: 1 addition & 0 deletions code/.storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ const config = defineMain({
},
features: {
developmentModeForBuild: true,
experimentalTestSyntax: true,
},
staticDirs: [{ from: './bench/bundle-analyzer', to: '/bundle-analyzer' }],
viteFinal: async (viteConfig, { configType }) => {
Expand Down
13 changes: 8 additions & 5 deletions code/.storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -216,18 +216,21 @@ const decorators = [
* This decorator renders the stories side-by-side, stacked or default based on the theme switcher
* in the toolbar
*/
(StoryFn, { globals, playFunction, args, storyGlobals, parameters }) => {
(StoryFn, { globals, playFunction, testFunction, args, storyGlobals, parameters }) => {
let theme = globals.sb_theme;
let showPlayFnNotice = false;

// this makes the decorator be out of 'phase' with the actually selected theme in the toolbar
// but this is acceptable, I guess
// we need to ensure only a single rendering in chromatic
// a more 'correct' approach would be to set a specific theme global on every story that has a playFunction
if (playFunction && args.autoplay !== false && !(theme === 'light' || theme === 'dark')) {
if (
(testFunction || (playFunction && args.autoplay !== false)) &&
!(theme === 'light' || theme === 'dark')
) {
theme = 'light';
showPlayFnNotice = true;
} else if (isChromatic() && !storyGlobals.sb_theme && !playFunction) {
} else if (isChromatic() && !storyGlobals.sb_theme && !playFunction && !testFunction) {
theme = 'stacked';
}

Expand Down Expand Up @@ -282,8 +285,8 @@ const decorators = [
<>
<PlayFnNotice>
<span>
Detected play function in Chromatic. Rendering only light theme to avoid
multiple play functions in the same story.
Detected play/test function in Chromatic. Rendering only light theme to avoid
multiple play/test functions in the same story.
</span>
</PlayFnNotice>
<div style={{ marginBottom: 20 }} />
Expand Down
156 changes: 81 additions & 75 deletions code/addons/a11y/src/components/A11yContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -295,11 +295,13 @@ export const A11yContextProvider: FC<PropsWithChildren> = (props) => {
setStatus(getInitialStatus(manual));
}, [getInitialStatus, manual]);

const isInitial = status === 'initial';

useEffect(() => {
emit(REMOVE_HIGHLIGHT, `${ADDON_ID}/selected`);
emit(REMOVE_HIGHLIGHT, `${ADDON_ID}/others`);

if (!highlighted) {
if (!highlighted || isInitial) {
return;
}

Expand All @@ -312,84 +314,88 @@ export const A11yContextProvider: FC<PropsWithChildren> = (props) => {
const target = result?.nodes[Number(number) - 1]?.target;
return target ? [String(target)] : [];
});
emit(HIGHLIGHT, {
id: `${ADDON_ID}/selected`,
priority: 1,
selectors: selected,
styles: {
outline: `1px solid color-mix(in srgb, ${colorsByType[tab]}, transparent 30%)`,
backgroundColor: 'transparent',
},
hoverStyles: {
outlineWidth: '2px',
},
focusStyles: {
backgroundColor: 'transparent',
},
menu: results?.[tab as RuleType].map<HighlightMenuItem[]>((result) => {
const selectors = result.nodes
.flatMap((n) => n.target)
.map(String)
.filter((e) => selected.includes(e));
return [
{
id: `${tab}.${result.id}:info`,
title: getTitleForAxeResult(result),
description: getFriendlySummaryForAxeResult(result),
selectors,
},
{
id: `${tab}.${result.id}`,
iconLeft: 'info',
iconRight: 'shareAlt',
title: 'Learn how to resolve this violation',
clickEvent: EVENTS.SELECT,
selectors,
},
];
}),
});
if (selected.length) {
emit(HIGHLIGHT, {
id: `${ADDON_ID}/selected`,
priority: 1,
selectors: selected,
styles: {
outline: `1px solid color-mix(in srgb, ${colorsByType[tab]}, transparent 30%)`,
backgroundColor: 'transparent',
},
hoverStyles: {
outlineWidth: '2px',
},
focusStyles: {
backgroundColor: 'transparent',
},
menu: results?.[tab as RuleType].map<HighlightMenuItem[]>((result) => {
const selectors = result.nodes
.flatMap((n) => n.target)
.map(String)
.filter((e) => selected.includes(e));
return [
{
id: `${tab}.${result.id}:info`,
title: getTitleForAxeResult(result),
description: getFriendlySummaryForAxeResult(result),
selectors,
},
{
id: `${tab}.${result.id}`,
iconLeft: 'info',
iconRight: 'shareAlt',
title: 'Learn how to resolve this violation',
clickEvent: EVENTS.SELECT,
selectors,
},
];
}),
});
}

const others = results?.[tab as RuleType]
.flatMap((r) => r.nodes.flatMap((n) => n.target).map(String))
.filter((e) => ![...unhighlightedSelectors, ...selected].includes(e));
emit(HIGHLIGHT, {
id: `${ADDON_ID}/others`,
selectors: others,
styles: {
outline: `1px solid color-mix(in srgb, ${colorsByType[tab]}, transparent 30%)`,
backgroundColor: `color-mix(in srgb, ${colorsByType[tab]}, transparent 60%)`,
},
hoverStyles: {
outlineWidth: '2px',
},
focusStyles: {
backgroundColor: 'transparent',
},
menu: results?.[tab as RuleType].map<HighlightMenuItem[]>((result) => {
const selectors = result.nodes
.flatMap((n) => n.target)
.map(String)
.filter((e) => !selected.includes(e));
return [
{
id: `${tab}.${result.id}:info`,
title: getTitleForAxeResult(result),
description: getFriendlySummaryForAxeResult(result),
selectors,
},
{
id: `${tab}.${result.id}`,
iconLeft: 'info',
iconRight: 'shareAlt',
title: 'Learn how to resolve this violation',
clickEvent: EVENTS.SELECT,
selectors,
},
];
}),
});
}, [emit, highlighted, results, tab, selectedItems]);
if (others?.length) {
emit(HIGHLIGHT, {
id: `${ADDON_ID}/others`,
selectors: others,
styles: {
outline: `1px solid color-mix(in srgb, ${colorsByType[tab]}, transparent 30%)`,
backgroundColor: `color-mix(in srgb, ${colorsByType[tab]}, transparent 60%)`,
},
hoverStyles: {
outlineWidth: '2px',
},
focusStyles: {
backgroundColor: 'transparent',
},
menu: results?.[tab as RuleType].map<HighlightMenuItem[]>((result) => {
const selectors = result.nodes
.flatMap((n) => n.target)
.map(String)
.filter((e) => !selected.includes(e));
return [
{
id: `${tab}.${result.id}:info`,
title: getTitleForAxeResult(result),
description: getFriendlySummaryForAxeResult(result),
selectors,
},
{
id: `${tab}.${result.id}`,
iconLeft: 'info',
iconRight: 'shareAlt',
title: 'Learn how to resolve this violation',
clickEvent: EVENTS.SELECT,
selectors,
},
];
}),
});
}
}, [isInitial, emit, highlighted, results, tab, selectedItems]);

const discrepancy: TestDiscrepancy = useMemo(() => {
if (!currentStoryA11yStatusValue) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,11 @@ export class ExternalPreview<TRenderer extends Renderer = Renderer> extends Prev
title,
name,
type: 'story',
subtype: 'story',
};
});

// TODO: We probably need to do something here about story tests
this.onStoriesChanged({ storyIndex: this.storyIndex });

return csfFile;
Expand Down
7 changes: 0 additions & 7 deletions code/addons/docs/src/preview.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
import type { PreparedStory } from 'storybook/internal/types';

import * as tocbot from 'tocbot';

if (!globalThis.__STORYBOOK_UNSAFE_TOCBOT__) {
// Users that load dynamic content need to have a way to refresh the TOC, so we expose the tocbot instance
globalThis.__STORYBOOK_UNSAFE_TOCBOT__ = tocbot.default ?? tocbot;
}

const excludeTags = Object.entries(globalThis.TAGS_OPTIONS ?? {}).reduce(
(acc, entry) => {
const [tag, option] = entry;
Expand Down
1 change: 0 additions & 1 deletion code/addons/docs/src/typings.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ declare var __DOCS_CONTEXT__: any;
declare var PREVIEW_URL: any;
declare var LOGLEVEL: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | undefined;
declare var TAGS_OPTIONS: import('storybook/internal/types').TagsOptions;
declare var __STORYBOOK_UNSAFE_TOCBOT__: typeof import('tocbot').default;

declare module '*.md';
declare module '*.md?raw';
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ export const InSidebarContextMenu: Story = {
entry: {
id: 'story-id-1',
type: 'story',
subtype: 'story',
name: 'Example Story',
tags: [],
title: 'Example Story',
Expand Down
18 changes: 11 additions & 7 deletions code/addons/vitest/src/components/TestProviderRender.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -242,15 +242,19 @@ export const TestProviderRender: FC<TestProviderRenderProps> = ({
<IconButton
aria-label="Start test run"
size="medium"
onClick={() =>
onClick={() => {
let storyIds;
if (entry) {
// Don't send underlying child test ids when running on a story
// Vitest Manager already handles running the underlying tests
storyIds =
entry.type === 'story' ? [entry.id] : api.findAllLeafStoryIds(entry.id);
}
store.send({
type: 'TRIGGER_RUN',
payload: {
storyIds: entry ? api.findAllLeafStoryIds(entry.id) : undefined,
triggeredBy: entry ? entry.type : 'global',
},
})
}
payload: { storyIds, triggeredBy: entry?.type ?? 'global' },
});
}}
>
<PlayHollowIcon />
</IconButton>
Expand Down
Loading