diff --git a/addons/a11y/package.json b/addons/a11y/package.json
index 3dc3b7a0866e..b8f98b64fcb5 100644
--- a/addons/a11y/package.json
+++ b/addons/a11y/package.json
@@ -51,7 +51,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/theming": "6.5.0-alpha.49",
"axe-core": "^4.2.0",
"core-js": "^3.8.2",
diff --git a/addons/actions/package.json b/addons/actions/package.json
index 6730a483519a..f7a6c9942599 100644
--- a/addons/actions/package.json
+++ b/addons/actions/package.json
@@ -45,7 +45,7 @@
"@storybook/api": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/theming": "6.5.0-alpha.49",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
diff --git a/addons/backgrounds/package.json b/addons/backgrounds/package.json
index 6cc8b8e5f455..7a3bf214ddcb 100644
--- a/addons/backgrounds/package.json
+++ b/addons/backgrounds/package.json
@@ -50,7 +50,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/theming": "6.5.0-alpha.49",
"core-js": "^3.8.2",
"global": "^4.4.0",
diff --git a/addons/controls/package.json b/addons/controls/package.json
index df0bac754587..33f63baf5f81 100644
--- a/addons/controls/package.json
+++ b/addons/controls/package.json
@@ -50,7 +50,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/node-logger": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
"@storybook/theming": "6.5.0-alpha.49",
diff --git a/addons/docs/docs/multiframework.md b/addons/docs/docs/multiframework.md
index e6b8a6f400f8..967d14c90130 100644
--- a/addons/docs/docs/multiframework.md
+++ b/addons/docs/docs/multiframework.md
@@ -53,6 +53,8 @@ export interface ArgType {
name?: string;
description?: string;
defaultValue?: any;
+ addIf?: string;
+ removeIf?: string;
[key: string]: any;
}
@@ -106,7 +108,7 @@ The input is the story function and the story context (id, parameters, args, etc
## Dynamic source rendering
-With the release of Storybook 6.0, we've improved how stories are rendered in the [Source doc block](https://storybook.js.org/docs/react/writing-docs/doc-blocks#source). One of such improvements is the `dynamic` source type, which renders a snippet based on the output the story function.
+With the release of Storybook 6.0, we've improved how stories are rendered in the [Source doc block](https://storybook.js.org/docs/react/writing-docs/doc-blocks#source). One of such improvements is the `dynamic` source type, which renders a snippet based on the output the story function.
This dynamic rendering is framework-specific, meaning it needs a custom implementation for each framework.
@@ -151,7 +153,7 @@ import { jsxDecorator } from './jsxDecorator';
export const decorators = [jsxDecorator];
```
-This configures the `jsxDecorator` to be run on every story.
+This configures the `jsxDecorator` to be run on every story.
To learn more and see how it's implemented in context, check out
the code .
diff --git a/addons/docs/package.json b/addons/docs/package.json
index 70aeafe78341..db290dc77225 100644
--- a/addons/docs/package.json
+++ b/addons/docs/package.json
@@ -64,7 +64,7 @@
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/mdx1-csf": "canary",
"@storybook/node-logger": "6.5.0-alpha.49",
diff --git a/addons/interactions/package.json b/addons/interactions/package.json
index 7aa41cc8a891..6861b63fb107 100644
--- a/addons/interactions/package.json
+++ b/addons/interactions/package.json
@@ -46,7 +46,7 @@
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/instrumenter": "6.5.0-alpha.49",
"@storybook/theming": "6.5.0-alpha.49",
"core-js": "^3.8.2",
diff --git a/addons/links/package.json b/addons/links/package.json
index f240f1394741..4149745c3eb5 100644
--- a/addons/links/package.json
+++ b/addons/links/package.json
@@ -44,7 +44,7 @@
"@storybook/addons": "6.5.0-alpha.49",
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/router": "6.5.0-alpha.49",
"@types/qs": "^6.9.5",
"core-js": "^3.8.2",
diff --git a/addons/measure/package.json b/addons/measure/package.json
index 02669913a243..1856e07c4c59 100644
--- a/addons/measure/package.json
+++ b/addons/measure/package.json
@@ -49,7 +49,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"core-js": "^3.8.2",
"global": "^4.4.0"
},
diff --git a/addons/outline/package.json b/addons/outline/package.json
index 3d9d281fd1a0..250b7bf64d0f 100644
--- a/addons/outline/package.json
+++ b/addons/outline/package.json
@@ -52,7 +52,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/components": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
"regenerator-runtime": "^0.13.7",
diff --git a/addons/storyshots/storyshots-core/package.json b/addons/storyshots/storyshots-core/package.json
index 779d60e381f0..bcfaf40d946a 100644
--- a/addons/storyshots/storyshots-core/package.json
+++ b/addons/storyshots/storyshots-core/package.json
@@ -51,7 +51,7 @@
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-client": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@types/glob": "^7.1.3",
"@types/jest": "^26.0.16",
"@types/jest-specific-snapshot": "^0.5.3",
diff --git a/addons/storyshots/storyshots-puppeteer/package.json b/addons/storyshots/storyshots-puppeteer/package.json
index 48d338e146a3..8e5b3a7ff84a 100644
--- a/addons/storyshots/storyshots-puppeteer/package.json
+++ b/addons/storyshots/storyshots-puppeteer/package.json
@@ -41,7 +41,7 @@
},
"dependencies": {
"@axe-core/puppeteer": "^4.2.0",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/node-logger": "6.5.0-alpha.49",
"@types/jest-image-snapshot": "^4.1.3",
"core-js": "^3.8.2",
@@ -49,7 +49,7 @@
"regenerator-runtime": "^0.13.7"
},
"devDependencies": {
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@types/puppeteer": "^5.4.0"
},
"peerDependencies": {
diff --git a/app/angular/package.json b/app/angular/package.json
index 8e0d0756d2eb..ac228ddb40b4 100644
--- a/app/angular/package.json
+++ b/app/angular/package.json
@@ -51,7 +51,7 @@
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
"@storybook/core-events": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/node-logger": "6.5.0-alpha.49",
"@storybook/semver": "^7.3.2",
diff --git a/app/html/package.json b/app/html/package.json
index 67697ad31b64..829f0cc5e980 100644
--- a/app/html/package.json
+++ b/app/html/package.json
@@ -48,7 +48,7 @@
"@storybook/addons": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/preview-web": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
diff --git a/app/preact/package.json b/app/preact/package.json
index f69f1e0f8d2e..7320a3d6aef2 100644
--- a/app/preact/package.json
+++ b/app/preact/package.json
@@ -49,7 +49,7 @@
"@storybook/addons": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/store": "6.5.0-alpha.49",
"@types/node": "^14.14.20 || ^16.0.0",
"@types/webpack-env": "^1.16.0",
diff --git a/app/react/package.json b/app/react/package.json
index bd832b6d1d73..d3c831927f43 100644
--- a/app/react/package.json
+++ b/app/react/package.json
@@ -53,7 +53,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/node-logger": "6.5.0-alpha.49",
"@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0",
diff --git a/app/server/package.json b/app/server/package.json
index 736881a402f3..301212cb6604 100644
--- a/app/server/package.json
+++ b/app/server/package.json
@@ -50,7 +50,7 @@
"@storybook/client-api": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/node-logger": "6.5.0-alpha.49",
"@storybook/preview-web": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
diff --git a/app/svelte/package.json b/app/svelte/package.json
index 4dca934cafb6..1bf0c7dbfedc 100644
--- a/app/svelte/package.json
+++ b/app/svelte/package.json
@@ -50,7 +50,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/node-logger": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
diff --git a/app/vue/package.json b/app/vue/package.json
index 06453e24041c..dcaca1db813a 100644
--- a/app/vue/package.json
+++ b/app/vue/package.json
@@ -49,7 +49,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
"@types/node": "^14.14.20 || ^16.0.0",
diff --git a/app/vue3/package.json b/app/vue3/package.json
index c3dc252cf22b..21c1f350e8e2 100644
--- a/app/vue3/package.json
+++ b/app/vue3/package.json
@@ -48,7 +48,7 @@
"@storybook/addons": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
"@types/node": "^14.14.20 || ^16.0.0",
diff --git a/app/web-components/package.json b/app/web-components/package.json
index cfd47f9b125d..9ec5867795d3 100644
--- a/app/web-components/package.json
+++ b/app/web-components/package.json
@@ -55,7 +55,7 @@
"@storybook/client-logger": "6.5.0-alpha.49",
"@storybook/core": "6.5.0-alpha.49",
"@storybook/core-common": "6.5.0-alpha.49",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf": "0.0.2--canary.507502b.0",
"@storybook/docs-tools": "6.5.0-alpha.49",
"@storybook/preview-web": "6.5.0-alpha.49",
"@storybook/store": "6.5.0-alpha.49",
diff --git a/docs/essentials/controls.md b/docs/essentials/controls.md
index dda42e4c3185..305653acedfd 100644
--- a/docs/essentials/controls.md
+++ b/docs/essentials/controls.md
@@ -300,6 +300,34 @@ paths={[
+### Conditional controls
+
+In some cases, it's useful to be able to conditionally exclude a control based on the value of another control. Controls supports basic versions of these use cases with the `addIf` and `removeIf` options, which can take a boolean value, or a string which can refer to the value of another arg.
+
+Consider a collection of "advanced" settings that are only visible when the user toggles an "advanced" toggle.
+
+
+
+